@@ -1,211 +1,23 @@ -#!/bin/bash -norc -dnl This file is an input file used by the GNU "autoconf" program to -dnl generate the file "configure", which is run during Tcl installation -dnl to configure the system for the local environment. -dnl -dnl This file contains code to generate "tls" using either the -dnl OpenSSL libraries or libraries from the commercial BSAFE SSL-C -dnl product from RSA Security. In the United States, it is necessary -dnl to use the RSA BSAFE libraries for any product developed for -dnl commercial use. Licensing information for BSAFE SSL-C may be -dnl obtained from RSA Data Scurity Inc., San Mateo, California, USA. -dnl Their home page on the web is "www.rsasecurity.com". -# -# RCS: @(#) $Id: configure.in,v 1.31 2015/07/07 17:16:02 andreas_kupries Exp $ - - -#-------------------------------------------------------------------- -# macro used to verify that the configure script can find the sources -#-------------------------------------------------------------------- - -AC_INIT([tls], [1.6.7]) - -TEA_INIT([3.8]) - -AC_CONFIG_AUX_DIR(tclconfig) - -#-------------------------------------------------------------------- -# Load the tclConfig.sh file -#-------------------------------------------------------------------- - -TEA_PATH_TCLCONFIG -TEA_LOAD_TCLCONFIG - -#----------------------------------------------------------------------- -# Handle the --prefix=... option by defaulting to what Tcl gave. -# Must be called after TEA_LOAD_TCLCONFIG and before TEA_SETUP_COMPILER. -#----------------------------------------------------------------------- - -TEA_PREFIX - -#----------------------------------------------------------------------- -# Standard compiler checks. -# This sets up CC by using the CC env var, or looks for gcc otherwise. -# This also calls AC_PROG_CC, AC_PROG_INSTALL and a few others to create -# the basic setup necessary to compile executables. -#----------------------------------------------------------------------- - -TEA_SETUP_COMPILER - -#----------------------------------------------------------------------- -# __CHANGE__ -# Specify the C source files to compile in TEA_ADD_SOURCES, -# public headers that need to be installed in TEA_ADD_HEADERS, -# stub library C source files to compile in TEA_ADD_STUB_SOURCES, -# and runtime Tcl library files in TEA_ADD_TCL_SOURCES. -# This defines PKG(_STUB)_SOURCES, PKG(_STUB)_OBJECTS, PKG_HEADERS -# and PKG_TCL_SOURCES. -#----------------------------------------------------------------------- - -TEA_ADD_SOURCES([]) -TEA_ADD_HEADERS([]) -TEA_ADD_INCLUDES([]) -TEA_ADD_LIBS([]) -TEA_ADD_CFLAGS([]) -TEA_ADD_STUB_SOURCES([]) -TEA_ADD_TCL_SOURCES([]) - -#-------------------------------------------------------------------- -# A few miscellaneous platform-specific items: -# -# Define a special symbol for Windows (BUILD_sample in this case) so -# that we create the export library with the dll. See sha1.h on how -# to use this. -# -# Windows creates a few extra files that need to be cleaned up. -# You can add more files to clean if your extension creates any extra -# files. -# -# Define any extra compiler flags in the PACKAGE_CFLAGS variable. -# These will be appended to the current set of compiler flags for -# your system. -#-------------------------------------------------------------------- - -if test "${TEA_PLATFORM}" = "windows" ; then - AC_DEFINE(BUILD_tls) - AC_DEFINE(WINDOWS) - CLEANFILES="pkgIndex.tcl *.lib *.dll *.exp *.ilk *.pdb vc*.pch" -else - CLEANFILES="pkgIndex.tcl" -fi -AC_SUBST(CLEANFILES) - -#-------------------------------------------------------------------- -# Choose which headers you need. Extension authors should try very -# hard to only rely on the Tcl public header files. Internal headers -# contain private data structures and are subject to change without -# notice. -# This MUST be called after TEA_LOAD_TCLCONFIG / TEA_LOAD_TKCONFIG -#-------------------------------------------------------------------- - -TEA_PUBLIC_TCL_HEADERS - -#-------------------------------------------------------------------- -# Check whether --enable-threads or --disable-threads was given. -#-------------------------------------------------------------------- - -TEA_ENABLE_THREADS - -#-------------------------------------------------------------------- -# The statement below defines a collection of symbols related to -# building as a shared library instead of a static library. -#-------------------------------------------------------------------- - -TEA_ENABLE_SHARED - -#-------------------------------------------------------------------- -# This macro figures out what flags to use with the compiler/linker -# when building shared/static debug/optimized objects. This information -# can be taken from the tclConfig.sh file, but this figures it all out. -#-------------------------------------------------------------------- - -TEA_CONFIG_CFLAGS - -#-------------------------------------------------------------------- -# Set the default compiler switches based on the --enable-symbols option. -#-------------------------------------------------------------------- - -TEA_ENABLE_SYMBOLS - -#-------------------------------------------------------------------- -# Everyone should be linking against the Tcl stub library. If you -# can't for some reason, remove this definition. If you aren't using -# stubs, you also need to modify the SHLIB_LD_LIBS setting below to -# link against the non-stubbed Tcl library. Add Tk too if necessary. -#-------------------------------------------------------------------- - -AC_DEFINE(USE_TCL_STUBS) - -#-------------------------------------------------------------------- -# If the variable OPENSSL is set, we will build with the OpenSSL -# libraries. If it is not set, then we will use RSA BSAFE SSL-C -# libraries instead of the default OpenSSL libaries. -#-------------------------------------------------------------------- - -OPENSSL="1" - -TLS_CHECK_SSL - -#-------------------------------------------------------------------- -# Determine if we should use the patented encryption code -#-------------------------------------------------------------------- - -AC_ARG_ENABLE(patents, [ --enable-patents Use patented code. Default is enabled], PATENTS=${enableval}, PATENTS=yes) - -if test ${PATENTS} = no; then - AC_DEFINE([NO_PATENTS]) -fi - -#-------------------------------------------------------------------- -# This macro generates a line to use when building a library. It -# depends on values set by the TEA_ENABLE_SHARED, TEA_ENABLE_SYMBOLS, -# and TEA_LOAD_TCLCONFIG macros above. -#-------------------------------------------------------------------- - -TEA_MAKE_LIB - -#-------------------------------------------------------------------- -# Shared libraries and static libraries have different names. -# Also, windows libraries and unix libraries have different names. -# For the OpenSSL version, I chose to use the same library names that -# OpenSSL uses as its default names. -#-------------------------------------------------------------------- - -if test "${TEA_PLATFORM}" = "windows" ; then - if test "$GCC" = "yes"; then - TEA_ADD_LIBS([-L${SSL_LIB_DIR_NATIVE}]) - else - TEA_ADD_LIBS([-libpath:${SSL_LIB_DIR_NATIVE}]) - fi - if test -n "${OPENSSL}"; then - TEA_ADD_LIBS([ssleay32.lib libeay32.lib]) - else - TEA_ADD_LIBS([sslc32.lib]) - fi -else - # Subst runtime dir here, use -R and -L where necessary. [Bug 1742859] - LIB_RUNTIME_DIR=${SSL_LIB_DIR} - eval "LD_SEARCH_FLAGS=\"${LD_SEARCH_FLAGS}\"" - if test -n "${OPENSSL}"; then - TEA_ADD_LIBS([${LD_SEARCH_FLAGS} -L${SSL_LIB_DIR} -lssl -lcrypto ${GCCPATH} ${GCCLIB}]) - else - TEA_ADD_LIBS([${LD_SEARCH_FLAGS} -L${SSL_LIB_DIR} -lsslc]) - fi -fi - -#-------------------------------------------------------------------- -# Find tclsh so that we can run pkg_mkIndex to generate the pkgIndex.tcl -# file during the install process. Don't run the TCLSH_PROG through -# ${CYGPATH} because it's being used directly by make. -# Require that we use a tclsh shell version 8.2 or later since earlier -# versions have bugs in the pkg_mkIndex routine. -# Add WISH as well if this is a Tk extension. -#-------------------------------------------------------------------- - -TEA_PROG_TCLSH - -#-------------------------------------------------------------------- -# Finally, substitute all of the various values into the Makefile. -#-------------------------------------------------------------------- - -AC_OUTPUT([Makefile]) +dnl Define ourselves +AC_INIT(tcltls, @@VERS@@) + +dnl Checks for programs. +AC_PROG_CC +AC_PROG_MAKE_SET +AC_PROG_INSTALL +AC_GNU_SOURCE + +dnl Determine system information +DC_CHK_OS_INFO + +dnl Determine how to make shared objects +DC_GET_SHOBJFLAGS + +dnl Look for appropriate headers +AC_CHECK_HEADERS(unistd.h stdlib.h string.h strings.h) + +dnl Perform Tcl Extension required stuff +TCLEXT_INIT + +dnl Produce output +AC_OUTPUT(Makefile pkgIndex.tcl)