Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

compiling TCL 8.5 / 8.6 for Windows 64-bit

37 views
Skip to first unread message

Ralf Fassel

unread,
Apr 25, 2018, 12:20:51 PM4/25/18
to
tcl8.5.19 and/or tcl 8.6.8

When compiling TCL for Windows 64-bit using win/configure under MSYS and
the MS Visual Studio compilers, the 'configure' script assumes a fixed
path and/or directory layout for the MSSDK which is plain wrong for
newer releases of Visual Studio compilers.

% configure --enable-64bit
...

The corresponding section of 'configure' reads:

# This is a 2-stage check to make sure we have the 64-bit SDK
# We have to know where the SDK is installed.
# This magic is based on MS Platform SDK for Win2003 SP1 - hobbs
...
MSSDK="C:/Progra~1/Microsoft Platform SDK"
...
PATH64="${MSSDK}/Bin/Win64/x86/AMD64"
...
LINKBIN="\"${PATH64}/link.exe\""

Neither MSSDK (which could be overridden via environment) nor the
assumed location of the binaries and libraries are correct.

The generated Makefile contains:

RC = "C:/Progra~1/Microsoft Platform SDK/bin/rc.exe"
...
LDFLAGS_CONSOLE = -link ... -LIBPATH:"C:/Progra~1/Microsoft Platform SDK/Lib/AMD64"
LDFLAGS_WINDOW = -link ... -LIBPATH:"C:/Progra~1/Microsoft Platform SDK/Lib/AMD64"
...
STLIB_LD = "C:/Progra~1/Microsoft Platform SDK/Bin/Win64/x86/AMD64/link.exe" ...
SHLIB_LD = "C:/Progra~1/Microsoft Platform SDK/Bin/Win64/x86/AMD64/link.exe" ...

This is plain wrong and unneccessary, since the environment for x64
should be set up properly to have PATH include rc.exe and link.exe (and
it does if one uses the appropriate startup batch for the compilation
environment).

I know I can simply override these via
make RC=rc STLIB_LD=link SHLIB_LD=link ...

and the -libpath are just ignored, but shouldn't configure not use that
default path or at least let me specify where the stuff is?
It does not do this for the 32-bit branch...

The makefile.vc for MS nmake does not contain such wrong assumptions,
but I need the generated tclconfig.sh for compiling other packages.

=> does anyone use configure/make for 64-bit compilation on Windows?
=> how do you handle these errors?

Thanks
R'
0 new messages