diff options
author | hobbs <hobbs> | 2002-09-27 00:50:10 (GMT) |
---|---|---|
committer | hobbs <hobbs> | 2002-09-27 00:50:10 (GMT) |
commit | b96b459a4907a164acb205a2b024c2c8419ea496 (patch) | |
tree | 7ecd449f330b92357eb4737a43574667df864290 /win/configure | |
parent | 4985043c6ed39477bf0abc04fe017cccfd090f62 (diff) | |
download | tcl-b96b459a4907a164acb205a2b024c2c8419ea496.zip tcl-b96b459a4907a164acb205a2b024c2c8419ea496.tar.gz tcl-b96b459a4907a164acb205a2b024c2c8419ea496.tar.bz2 |
2002-09-18 Mumit Khan <khan@nanotech.wisc.edu>
Added basic Cygwin support.
* win/tcl.m4 (SC_PATH_TCLCONFIG): Support one-tree build.
(SC_PATH_TKCONFIG): Likewise.
(SC_PROG_TCLSH): Likewise.
(SC_CONFIG_CFLAGS): Assume real Cygwin port and remove -mno-cygwin
flags. Add -mwin32 to extra_cflags and extra_ldflags.
Remove ``-e _WinMain@16'' from LDFLAGS_WINDOW.
* win/configure.in: Allow Cygwin build.
(SEH test): Define to be 1 instead of empty value.
(EXCEPTION_DISPOSITION): Add test.
* win/configure: Regenerate.
* generic/tcl.h: Don't explicitly define __WIN32__ for Cygwin, let
the user decide whether to use Windows or POSIX personality.
(TCL_WIDE_INT_TYPE, TCL_LL_MODIFIER, struct Tcl_StatBuf): Define
for Cygwin.
* generic/tclEnv.c (Tcl_CygwinPutenv): putenv replacement for
Cygwin.
* generic/tclFileName.c (Tcl_TranslateFileName): Convert POSIX
to native format.
(TclDoGlob): Likewise.
* generic/tclPlatDecls.h (TCHAR): Define for Cygwin.
* win/tclWinPort.h (putenv, TclpSysAlloc, TclpSysFree,
TclpSysRealloc): Define for Cygwin.
Diffstat (limited to 'win/configure')
-rwxr-xr-x | win/configure | 137 |
1 files changed, 103 insertions, 34 deletions
diff --git a/win/configure b/win/configure index e1d7735..99c5018 100755 --- a/win/configure +++ b/win/configure @@ -964,10 +964,10 @@ echo "$ac_t""$ac_cv_cygwin" 1>&6 CYGWIN= test "$ac_cv_cygwin" = yes && CYGWIN=yes -if test "$ac_cv_cygwin" = "yes" ; then - { echo "configure: error: Compiling with the Cygwin version of gcc is not supported. - Use the Mingw version of gcc from www.mingw.org instead." 1>&2; exit 1; } -fi +#if test "$ac_cv_cygwin" = "yes" ; then +# AC_MSG_ERROR([Compiling with the Cygwin version of gcc is not supported. +# Use the Mingw version of gcc from www.mingw.org instead.]) +#fi echo $ac_n "checking for SEH support in compiler""... $ac_c" 1>&6 @@ -1016,7 +1016,53 @@ fi echo "$ac_t""$tcl_cv_seh" 1>&6 if test "$tcl_cv_seh" = "no" ; then cat >> confdefs.h <<\EOF -#define HAVE_NO_SEH +#define HAVE_NO_SEH 1 +EOF + +fi + +# +# Check to see if the excpt.h include file provided contains the +# definition for EXCEPTION_DISPOSITION; if not, which is the case +# with Cygwin's version as of 2002-04-10, define it to be int, +# sufficient for getting the current code to work. +# +echo $ac_n "checking for EXCEPTION_DISPOSITION support in include files""... $ac_c" 1>&6 +echo "configure:1032: checking for EXCEPTION_DISPOSITION support in include files" >&5 +if eval "test \"`echo '$''{'tcl_cv_eh_disposition'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + cat > conftest.$ac_ext <<EOF +#line 1037 "configure" +#include "confdefs.h" + +#define WIN32_LEAN_AND_MEAN +#include <windows.h> +#undef WIN32_LEAN_AND_MEAN + +int main() { + + EXCEPTION_DISPOSITION x; + +; return 0; } +EOF +if { (eval echo configure:1050: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* + tcl_cv_eh_disposition=yes +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + tcl_cv_eh_disposition=no +fi +rm -f conftest* + +fi + +echo "$ac_t""$tcl_cv_eh_disposition" 1>&6 +if test "$tcl_cv_eh_disposition" = "no" ; then + cat >> confdefs.h <<\EOF +#define EXCEPTION_DISPOSITION int EOF fi @@ -1026,13 +1072,13 @@ fi #-------------------------------------------------------------------- echo $ac_n "checking for object suffix""... $ac_c" 1>&6 -echo "configure:1030: checking for object suffix" >&5 +echo "configure:1076: checking for object suffix" >&5 if eval "test \"`echo '$''{'ac_cv_objext'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else rm -f conftest* echo 'int i = 1;' > conftest.$ac_ext -if { (eval echo configure:1036: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:1082: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then for ac_file in conftest.*; do case $ac_file in *.c) ;; @@ -1050,19 +1096,19 @@ OBJEXT=$ac_cv_objext ac_objext=$ac_cv_objext echo $ac_n "checking for mingw32 environment""... $ac_c" 1>&6 -echo "configure:1054: checking for mingw32 environment" >&5 +echo "configure:1100: checking for mingw32 environment" >&5 if eval "test \"`echo '$''{'ac_cv_mingw32'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 1059 "configure" +#line 1105 "configure" #include "confdefs.h" int main() { return __MINGW32__; ; return 0; } EOF -if { (eval echo configure:1066: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:1112: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_mingw32=yes else @@ -1081,7 +1127,7 @@ test "$ac_cv_mingw32" = yes && MINGW32=yes echo $ac_n "checking for executable suffix""... $ac_c" 1>&6 -echo "configure:1085: checking for executable suffix" >&5 +echo "configure:1131: checking for executable suffix" >&5 if eval "test \"`echo '$''{'ac_cv_exeext'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1091,7 +1137,7 @@ else rm -f conftest* echo 'int main () { return 0; }' > conftest.$ac_ext ac_cv_exeext= - if { (eval echo configure:1095: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then + if { (eval echo configure:1141: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then for file in conftest.*; do case $file in *.c | *.o | *.obj) ;; @@ -1118,7 +1164,7 @@ ac_exeext=$EXEEXT echo $ac_n "checking for building with threads""... $ac_c" 1>&6 -echo "configure:1122: checking for building with threads" >&5 +echo "configure:1168: checking for building with threads" >&5 # Check whether --enable-threads or --disable-threads was given. if test "${enable_threads+set}" = set; then enableval="$enable_threads" @@ -1149,7 +1195,7 @@ EOF echo $ac_n "checking how to build libraries""... $ac_c" 1>&6 -echo "configure:1153: checking how to build libraries" >&5 +echo "configure:1199: checking how to build libraries" >&5 # Check whether --enable-shared or --disable-shared was given. if test "${enable_shared+set}" = set; then enableval="$enable_shared" @@ -1190,7 +1236,7 @@ EOF # Step 0: Enable 64 bit support? echo $ac_n "checking if 64bit support is requested""... $ac_c" 1>&6 -echo "configure:1194: checking if 64bit support is requested" >&5 +echo "configure:1240: checking if 64bit support is requested" >&5 # Check whether --enable-64bit or --disable-64bit was given. if test "${enable_64bit+set}" = set; then enableval="$enable_64bit" @@ -1207,7 +1253,7 @@ fi # Extract the first word of "cygpath", so it can be a program name with args. set dummy cygpath; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:1211: checking for $ac_word" >&5 +echo "configure:1257: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_CYGPATH'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1244,7 +1290,7 @@ fi # set various compiler flags depending on whether we are using gcc or cl echo $ac_n "checking compiler flags""... $ac_c" 1>&6 -echo "configure:1248: checking compiler flags" >&5 +echo "configure:1294: 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 @@ -1264,12 +1310,30 @@ echo "configure:1248: checking compiler flags" >&5 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 - extra_cflags="-mno-cygwin" - extra_ldflags="-mno-cygwin" + 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="" + extra_cflags='' + extra_ldflags='' fi if test "${SHARED_BUILD}" = "0" ; then @@ -1322,14 +1386,19 @@ echo "configure:1248: checking compiler flags" >&5 # 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 -e _WinMain@16 ${extra_ldflags}" + LDFLAGS_WINDOW="-mwindows ${extra_ldflags}" else if test "${SHARED_BUILD}" = "0" ; then # static @@ -1434,7 +1503,7 @@ echo "configure:1248: checking compiler flags" >&5 echo $ac_n "checking for build with symbols""... $ac_c" 1>&6 -echo "configure:1438: checking for build with symbols" >&5 +echo "configure:1507: 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" @@ -1458,7 +1527,7 @@ fi echo $ac_n "checking for build with memory debugging""... $ac_c" 1>&6 -echo "configure:1462: checking for build with memory debugging" >&5 +echo "configure:1531: checking for build with memory debugging" >&5 # Check whether --enable-memdebug or --disable-memdebug was given. if test "${enable_memdebug+set}" = set; then enableval="$enable_memdebug" @@ -1484,7 +1553,7 @@ TCL_DBGX=${DBGX} #-------------------------------------------------------------------- echo $ac_n "checking how to run the C preprocessor""... $ac_c" 1>&6 -echo "configure:1488: checking how to run the C preprocessor" >&5 +echo "configure:1557: checking how to run the C preprocessor" >&5 # On Suns, sometimes $CPP names a directory. if test -n "$CPP" && test -d "$CPP"; then CPP= @@ -1499,13 +1568,13 @@ else # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. cat > conftest.$ac_ext <<EOF -#line 1503 "configure" +#line 1572 "configure" #include "confdefs.h" #include <assert.h> Syntax Error EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:1509: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:1578: \"$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 : @@ -1516,13 +1585,13 @@ else rm -rf conftest* CPP="${CC-cc} -E -traditional-cpp" cat > conftest.$ac_ext <<EOF -#line 1520 "configure" +#line 1589 "configure" #include "confdefs.h" #include <assert.h> Syntax Error EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:1526: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:1595: \"$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 : @@ -1533,13 +1602,13 @@ else rm -rf conftest* CPP="${CC-cc} -nologo -E" cat > conftest.$ac_ext <<EOF -#line 1537 "configure" +#line 1606 "configure" #include "confdefs.h" #include <assert.h> Syntax Error EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:1543: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:1612: \"$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 : @@ -1565,17 +1634,17 @@ echo "$ac_t""$CPP" 1>&6 ac_safe=`echo "errno.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for errno.h""... $ac_c" 1>&6 -echo "configure:1569: checking for errno.h" >&5 +echo "configure:1638: checking for errno.h" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 1574 "configure" +#line 1643 "configure" #include "confdefs.h" #include <errno.h> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:1579: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:1648: \"$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* |