📄 configure
字号:
if test "$CYGPATH" = "echo" || test "$ac_cv_cygwin" = "yes"; then DEPARG='"$<"' else DEPARG='"$(shell $(CYGPATH) $<)"' fi # set various compiler flags depending on whether we are using gcc or cl echo $ac_n "checking compiler flags""... $ac_c" 1>&6echo "configure:1335: checking compiler flags" >&5 if test "${GCC}" = "yes" ; then if test "$do64bit" = "yes" ; then echo "configure: warning: "64bit mode not supported with GCC on Windows"" 1>&2 fi SHLIB_LD="" SHLIB_LD_LIBS="" LIBS="" LIBS_GUI="-lgdi32 -lcomdlg32 -limm32 -lcomctl32" STLIB_LD='${AR} cr' RC_OUT=-o RC_TYPE= RC_INCLUDE=--include RC_DEFINE=--define RES=res.o MAKE_LIB="\${STLIB_LD} \$@" POST_MAKE_LIB="\${RANLIB} \$@" MAKE_EXE="\${CC} -o \$@" LIBPREFIX="lib" #if test "$ac_cv_cygwin" = "yes"; then # extra_cflags="-mno-cygwin" # extra_ldflags="-mno-cygwin" #else # extra_cflags="" # extra_ldflags="" #fi if test "$ac_cv_cygwin" = "yes"; then touch ac$$.c if ${CC} -c -mwin32 ac$$.c >/dev/null 2>&1; then case "$extra_cflags" in *-mwin32*) ;; *) extra_cflags="-mwin32 $extra_cflags" ;; esac case "$extra_ldflags" in *-mwin32*) ;; *) extra_ldflags="-mwin32 $extra_ldflags" ;; esac fi rm -f ac$$.o ac$$.c else extra_cflags='' extra_ldflags='' fi if test "${SHARED_BUILD}" = "0" ; then # static echo "$ac_t""using static flags" 1>&6 runtime= MAKE_DLL="echo " LIBSUFFIX="s\${DBGX}.a" LIBRARIES="\${STATIC_LIBRARIES}" EXESUFFIX="s\${DBGX}.exe" else # dynamic echo "$ac_t""using shared flags" 1>&6 # ad-hoc check to see if CC supports -shared. if "${CC}" -shared 2>&1 | egrep ': -shared not supported' >/dev/null; then { echo "configure: error: ${CC} does not support the -shared option. You will need to upgrade to a newer version of the toolchain." 1>&2; exit 1; } fi runtime= # Link with gcc since ld does not link to default libs like # -luser32 and -lmsvcrt by default. Make sure CFLAGS is # included so -mno-cygwin passed the correct libs to the linker. SHLIB_LD='${CC} -shared ${CFLAGS}' # Add SHLIB_LD_LIBS to the Make rule, not here. MAKE_DLL="\${SHLIB_LD} \$(LDFLAGS) -o \$@ ${extra_ldflags} \ -Wl,--out-implib,\$(patsubst %.dll,lib%.a,\$@)" LIBSUFFIX="\${DBGX}.a" EXESUFFIX="\${DBGX}.exe" LIBRARIES="\${SHARED_LIBRARIES}" fi # DLLSUFFIX is separate because it is the building block for # users of tclConfig.sh that may build shared or static. DLLSUFFIX="\${DBGX}.dll" EXTRA_CFLAGS="${extra_cflags}" CFLAGS_DEBUG=-g CFLAGS_OPTIMIZE= CFLAGS_WARNING="-Wall -Wconversion" LDFLAGS_DEBUG= LDFLAGS_OPTIMIZE= # Specify the CC output file names based on the target name CC_OBJNAME="-o \$@" CC_EXENAME="-o \$@" # Specify linker flags depending on the type of app being # built -- Console vs. Window. # # ORIGINAL COMMENT: # We need to pass -e _WinMain@16 so that ld will use # WinMain() instead of main() as the entry point. We can't # use autoconf to check for this case since it would need # to run an executable and that does not work when # cross compiling. Remove this -e workaround once we # require a gcc that does not have this bug. # # MK NOTE: Tk should use a different mechanism. This causes # interesting problems, such as wish dying at startup. #LDFLAGS_WINDOW="-mwindows -e _WinMain@16 ${extra_ldflags}" LDFLAGS_CONSOLE="-mconsole ${extra_ldflags}" LDFLAGS_WINDOW="-mwindows ${extra_ldflags}" else if test "${SHARED_BUILD}" = "0" ; then # static echo "$ac_t""using static flags" 1>&6 runtime=-MT MAKE_DLL="echo " LIBSUFFIX="s\${DBGX}.lib" LIBRARIES="\${STATIC_LIBRARIES}" EXESUFFIX="s\${DBGX}.exe" else # dynamic echo "$ac_t""using shared flags" 1>&6 runtime=-MD # Add SHLIB_LD_LIBS to the Make rule, not here. MAKE_DLL="\${SHLIB_LD} \$(LDFLAGS) -out:\$@" LIBSUFFIX="\${DBGX}.lib" EXESUFFIX="\${DBGX}.exe" LIBRARIES="\${SHARED_LIBRARIES}" fi # DLLSUFFIX is separate because it is the building block for # users of tclConfig.sh that may build shared or static. DLLSUFFIX="\${DBGX}.dll" # This is a 2-stage check to make sure we have the 64-bit SDK # We have to know where the SDK is installed. if test "$do64bit" = "yes" ; then if test "x${MSSDK}x" = "xx" ; then MSSDK="C:/Progra~1/Microsoft SDK" fi # In order to work in the tortured autoconf environment, # we need to ensure that this path has no spaces MSSDK=$(cygpath -w -s "$MSSDK" | sed -e 's!\\!/!g') if test ! -d "${MSSDK}/bin/win64" ; then echo "configure: warning: "could not find 64-bit SDK to enable 64bit mode"" 1>&2 do64bit="no" fi fi if test "$do64bit" = "yes" ; then # All this magic is necessary for the Win64 SDK RC1 - hobbs CC="${MSSDK}/Bin/Win64/cl.exe \ -I${MSSDK}/Include/prerelease \ -I${MSSDK}/Include/Win64/crt \ -I${MSSDK}/Include/Win64/crt/sys \ -I${MSSDK}/Include" RC="${MSSDK}/bin/rc.exe" CFLAGS_DEBUG="-nologo -Zi -Od ${runtime}d" CFLAGS_OPTIMIZE="-nologo -O2 -Gs ${runtime}" lflags="-MACHINE:IA64 -LIBPATH:${MSSDK}/Lib/IA64 \ -LIBPATH:${MSSDK}/Lib/Prerelease/IA64" STLIB_LD="${MSSDK}/bin/win64/lib.exe -nologo ${lflags}" LINKBIN="${MSSDK}/bin/win64/link.exe ${lflags}" else RC="rc" CFLAGS_DEBUG="-nologo -Z7 -Od -WX ${runtime}d" CFLAGS_OPTIMIZE="-nologo -Oti -Gs -GD ${runtime}" STLIB_LD="lib -nologo" LINKBIN="link -link50compat" fi SHLIB_LD="${LINKBIN} -dll -nologo -incremental:no" SHLIB_LD_LIBS="user32.lib advapi32.lib" LIBS="user32.lib advapi32.lib" LIBS_GUI="gdi32.lib comdlg32.lib imm32.lib comctl32.lib" RC_OUT=-fo RC_TYPE=-r RC_INCLUDE=-i RC_DEFINE=-d RES=res MAKE_LIB="\${STLIB_LD} -out:\$@" POST_MAKE_LIB= MAKE_EXE="\${CC} -Fe\$@" LIBPREFIX="" EXTRA_CFLAGS="-YX" CFLAGS_WARNING="-W3" LDFLAGS_DEBUG="-debug:full -debugtype:both" LDFLAGS_OPTIMIZE="-release" # Specify the CC output file names based on the target name CC_OBJNAME="-Fo\$@" CC_EXENAME="-Fe\"\$(shell \$(CYGPATH) '\$@')\"" # Specify linker flags depending on the type of app being # built -- Console vs. Window. LDFLAGS_CONSOLE="-link -subsystem:console ${lflags}" LDFLAGS_WINDOW="-link -subsystem:windows ${lflags}" fi # DL_LIBS is empty, but then we match the Unix version #--------------------------------------------------------------------# Set the default compiler switches based on the --enable-symbols # option. This macro depends on C flags, and should be called# after SC_CONFIG_CFLAGS macro is called.#-------------------------------------------------------------------- echo $ac_n "checking for build with symbols""... $ac_c" 1>&6echo "configure:1548: checking for build with symbols" >&5 # Check whether --enable-symbols or --disable-symbols was given.if test "${enable_symbols+set}" = set; then enableval="$enable_symbols" tcl_ok=$enablevalelse tcl_ok=nofi# FIXME: Currently, LDFLAGS_DEFAULT is not used, it should work like CFLAGS_DEFAULT. if test "$tcl_ok" = "no"; then CFLAGS_DEFAULT='$(CFLAGS_OPTIMIZE)' LDFLAGS_DEFAULT='$(LDFLAGS_OPTIMIZE)' DBGX="" echo "$ac_t""no" 1>&6 else CFLAGS_DEFAULT='$(CFLAGS_DEBUG)' LDFLAGS_DEFAULT='$(LDFLAGS_DEBUG)' DBGX=g if test "$tcl_ok" = "yes"; then echo "$ac_t""yes (standard debugging)" 1>&6 fi fi if test "$tcl_ok" = "mem" -o "$tcl_ok" = "all"; then cat >> confdefs.h <<\EOF#define TCL_MEM_DEBUG 1EOF fi if test "$tcl_ok" = "compile" -o "$tcl_ok" = "all"; then cat >> confdefs.h <<\EOF#define TCL_COMPILE_DEBUG 1EOF cat >> confdefs.h <<\EOF#define TCL_COMPILE_STATS 1EOF fi if test "$tcl_ok" != "yes" -a "$tcl_ok" != "no"; then if test "$tcl_ok" = "all"; then echo "$ac_t""enabled symbols mem compile debugging" 1>&6 else echo "$ac_t""enabled $tcl_ok debugging" 1>&6 fi fiTCL_DBGX=${DBGX}#--------------------------------------------------------------------# man2tcl needs this so that it can use errno.h#--------------------------------------------------------------------echo $ac_n "checking how to run the C preprocessor""... $ac_c" 1>&6echo "configure:1608: checking how to run the C preprocessor" >&5# On Suns, sometimes $CPP names a directory.if test -n "$CPP" && test -d "$CPP"; then CPP=fiif test -z "$CPP"; thenif eval "test \"`echo '$''{'ac_cv_prog_CPP'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6else # This must be in double quotes, not single quotes, because CPP may get # substituted into the Makefile and "${CC-cc}" will confuse make. CPP="${CC-cc} -E" # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. cat > conftest.$ac_ext <<EOF#line 1623 "configure"#include "confdefs.h"#include <assert.h>Syntax ErrorEOFac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"{ (eval echo configure:1629: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`if test -z "$ac_err"; then :else echo "$ac_err" >&5 echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 rm -rf conftest* CPP="${CC-cc} -E -traditional-cpp" cat > conftest.$ac_ext <<EOF#line 1640 "configure"#include "confdefs.h"#include <assert.h>Syntax ErrorEOFac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"{ (eval echo configure:1646: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`if test -z "$ac_err"; then :else echo "$ac_err" >&5 echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 rm -rf conftest* CPP="${CC-cc} -nologo -E" cat > conftest.$ac_ext <<EOF#line 1657 "configure"#include "confdefs.h"#include <assert.h>Syntax ErrorEOFac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"{ (eval echo configure:1663: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`if test -z "$ac_err"; then :else echo "$ac_err" >&5 echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 rm -rf conftest* CPP=/lib/cppfirm -f conftest*firm -f conftest*firm -f conftest* ac_cv_prog_CPP="$CPP"fi CPP="$ac_cv_prog_CPP"else ac_cv_prog_CPP="$CPP"fiecho "$ac_t""$CPP" 1>&6ac_safe=`echo "errno.h" | sed 'y%./+-%__p_%'`echo $ac_n "checking for errno.h""... $ac_c" 1>&6echo "configure:1689: checking for errno.h" >&5if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6else cat > conftest.$ac_ext <<EOF#line 1694 "configure"#include "confdefs.h"#include <errno.h>EOFac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"{ (eval echo configure:1699: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`if test -z "$ac_err"; then rm -rf conftest* eval "ac_cv_header_$ac_safe=yes"else echo "$ac_err" >&5 echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 rm -rf conftest* eval "ac_cv_header_$ac_safe=no"firm -f conftest*fiif eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then echo "$ac_t""yes" 1>&6 :else echo "$ac_t""no" 1>&6MAN2TCLFLAGS="-DNO_ERRNO_H"fi#------------------------------------------------------------------------# tclConfig.sh refers to this by a different name#------------------------------------------------------------------------TCL_SHARED_BUILD=${SHARED_BUILD}#--------------------------------------------------------------------# Perform final evaluations of variables with possible substitutions.#--------------------------------------------------------------------TCL_SHARED_LIB_SUFFIX="\${NODOT_VERSION}${DLLSUFFIX}"TCL_UNSHARED_LIB_SUFFIX="\${NODOT_VERSION}${LIBSUFFIX}"TCL_EXPORT_FILE_SUFFIX="\${NODOT_VERSION}${LIBSUFFIX}"eval "TCL_SRC_DIR=\"`cd $srcdir/..; pwd`\""eval "TCL_DLL_FILE=tcl${VER}${DLLSUFFIX}"eval "TCL_LIB_FILE=${LIBPREFIX}tcl$VER${LIBSUFFIX}"# FIMXE: These variables decls are missing#TCL_LIB_FLAGTCL_BUILD_LIB_SPEC="-L`pwd` -ltcl${VER}${TCL_DBGX}"#TCL_LIB_SPECeval "TCL_STUB_LIB_FILE=\"${LIBPREFIX}tclstub${VER}${LIBSUFFIX}\""eval "TCL_STUB_LIB_FLAG=\"-ltclstub${VER}${TCL_DBGX}\""eval "TCL_BUILD_STUB_LIB_SPEC=\"-L`pwd` ${TCL_STUB_LIB_FLAG}\""eval "TCL_STUB_LIB_SPEC=\"-L${libdir} ${TCL_STUB_LIB_FLAG}\""eval "TCL_BUILD_STUB_LIB_PATH=\"`pwd`/${TCL_STUB_LIB_FILE}\""eval "TCL_STUB_LIB_PATH=\"${libdir}/${TCL_STUB_LIB_FILE}\""# Install time header dir can be set via --includedireval "TCL_INCLUDE_SPEC=\"-I${includedir}\""eval "DLLSUFFIX=${DLLSUFFIX}"eval "LIBPREFIX=${LIBPREFIX}"eval "LIBSUFFIX=${LIBSUFFIX}"eval "EXESUFFIX=${EXESUFFIX}"CFG_TCL_SHARED_LIB_SUFFIX=${TCL_SHARED_LIB_SUFFIX}CFG_TCL_UNSHARED_LIB_SUFFIX=${TCL_UNSHARED_LIB_SUFFIX}CFG_TCL_EXPORT_FILE_SUFFIX=${TCL_EXPORT_FILE_SUFFIX}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -