summaryrefslogtreecommitdiffstats
path: root/win/configure
diff options
context:
space:
mode:
Diffstat (limited to 'win/configure')
-rwxr-xr-xwin/configure40
1 files changed, 40 insertions, 0 deletions
diff --git a/win/configure b/win/configure
index 56e4200..90704a6 100755
--- a/win/configure
+++ b/win/configure
@@ -2774,6 +2774,25 @@ echo "$as_me: WARNING: \"could not find 64-bit SDK to enable 64bit mode\"" >&2;}
CFLAGS_OPTIMIZE="-nologo -Oti -Gs -GD ${runtime}"
STLIB_LD="lib -nologo"
LINKBIN="link -link50compat"
+
+ # TIP #59
+ # A check borrowed from 'rules.vc' to determine if the
+ # compiler actually supports optimization. If not we do
+ # not try to use this feature.
+
+ lines=`$(CC) -nologo -Ox -c -Zs -TC -Fdtemp nul 2>&1 | grep "D4002" | wc -l`
+
+ for f in temp.idb temp.pdb ; do
+ if -f $f ; then
+ rm -f $f
+ fi
+ done
+ if $lines -gt 0 ; then
+ OPTIMIZING=1
+ else
+ OPTIMIZING=0
+ CFLAGS_OPTIMIZE="-nologo -Oti -Gs -GD ${runtime}"
+ fi
fi
SHLIB_LD="${LINKBIN} -dll -nologo -incremental:no"
@@ -2804,6 +2823,13 @@ echo "$as_me: WARNING: \"could not find 64-bit SDK to enable 64bit mode\"" >&2;}
LDFLAGS_WINDOW="-link -subsystem:windows ${lflags}"
fi
+ if test "$do64bit" = "yes" ; then
+ cat >>confdefs.h <<\_ACEOF
+#define TCL_CFG_DO64BIT 1
+_ACEOF
+
+ fi
+
# DL_LIBS is empty, but then we match the Unix version
@@ -3449,6 +3475,16 @@ fi;
DBGX=""
echo "$as_me:$LINENO: result: no" >&5
echo "${ECHO_T}no" >&6
+
+ # Use result from SC_CONFIG_CFLAGS to determine if
+ # optimization is truly active.
+
+ if test "$OPTIMIZING" = "1" ; then
+ cat >>confdefs.h <<\_ACEOF
+#define TCL_CFG_OPTIMIZED 1
+_ACEOF
+
+ fi
else
CFLAGS_DEFAULT='$(CFLAGS_DEBUG)'
LDFLAGS_DEFAULT='$(LDFLAGS_DEBUG)'
@@ -3460,6 +3496,10 @@ echo "${ECHO_T}yes (standard debugging)" >&6
fi
+ cat >>confdefs.h <<\_ACEOF
+#define TCL_CFG_DEBUG 1
+_ACEOF
+
if test "$tcl_ok" = "mem" -o "$tcl_ok" = "all"; then
cat >>confdefs.h <<\_ACEOF