diff --git a/pkgs/itcl4.3.5/win/rules-ext.vc b/pkgs/itcl4.3.5/win/rules-ext.vc index 479720a..05133f5 100644 --- a/pkgs/itcl4.3.5/win/rules-ext.vc +++ b/pkgs/itcl4.3.5/win/rules-ext.vc @@ -31,7 +31,8 @@ macro to the name of the project makefile. # We extract version numbers using the nmakehlp program. For now use # the local copy of nmakehlp. Once we locate Tcl, we will use that # one if it is newer. -!if "$(MACHINE)" == "IX86" || "$(MACHINE)" == "$(NATIVE_ARCH)" +!if 1 +!elseif 0 !if [$(CC) -nologo -DNDEBUG "nmakehlp.c" -link -subsystem:console > nul] !endif !else diff --git a/pkgs/itcl4.3.5/win/rules.vc b/pkgs/itcl4.3.5/win/rules.vc index b95e8c8..058d694 100644 --- a/pkgs/itcl4.3.5/win/rules.vc +++ b/pkgs/itcl4.3.5/win/rules.vc @@ -551,7 +551,8 @@ NMAKEHLPC = $(_TCLDIR)\win\nmakehlp.c # We always build nmakehlp even if it exists since we do not know # what source it was built from. -!if "$(MACHINE)" == "IX86" || "$(MACHINE)" == "$(NATIVE_ARCH)" +!if 1 +!elseif 0 !if [$(cc32) -nologo "$(NMAKEHLPC)" -link -subsystem:console > nul] !endif !else diff --git a/pkgs/sqlite3.51.0/win/rules-ext.vc b/pkgs/sqlite3.51.0/win/rules-ext.vc index 479720a..05133f5 100644 --- a/pkgs/sqlite3.51.0/win/rules-ext.vc +++ b/pkgs/sqlite3.51.0/win/rules-ext.vc @@ -31,7 +31,8 @@ macro to the name of the project makefile. # We extract version numbers using the nmakehlp program. For now use # the local copy of nmakehlp. Once we locate Tcl, we will use that # one if it is newer. -!if "$(MACHINE)" == "IX86" || "$(MACHINE)" == "$(NATIVE_ARCH)" +!if 1 +!elseif 0 !if [$(CC) -nologo -DNDEBUG "nmakehlp.c" -link -subsystem:console > nul] !endif !else diff --git a/pkgs/sqlite3.51.0/win/rules.vc b/pkgs/sqlite3.51.0/win/rules.vc index b95e8c8..058d694 100644 --- a/pkgs/sqlite3.51.0/win/rules.vc +++ b/pkgs/sqlite3.51.0/win/rules.vc @@ -551,7 +551,8 @@ NMAKEHLPC = $(_TCLDIR)\win\nmakehlp.c # We always build nmakehlp even if it exists since we do not know # what source it was built from. -!if "$(MACHINE)" == "IX86" || "$(MACHINE)" == "$(NATIVE_ARCH)" +!if 1 +!elseif 0 !if [$(cc32) -nologo "$(NMAKEHLPC)" -link -subsystem:console > nul] !endif !else diff --git a/pkgs/tdbc1.1.13/win/rules-ext.vc b/pkgs/tdbc1.1.13/win/rules-ext.vc index 479720a..05133f5 100644 --- a/pkgs/tdbc1.1.13/win/rules-ext.vc +++ b/pkgs/tdbc1.1.13/win/rules-ext.vc @@ -31,7 +31,8 @@ macro to the name of the project makefile. # We extract version numbers using the nmakehlp program. For now use # the local copy of nmakehlp. Once we locate Tcl, we will use that # one if it is newer. -!if "$(MACHINE)" == "IX86" || "$(MACHINE)" == "$(NATIVE_ARCH)" +!if 1 +!elseif 0 !if [$(CC) -nologo -DNDEBUG "nmakehlp.c" -link -subsystem:console > nul] !endif !else diff --git a/pkgs/tdbc1.1.13/win/rules.vc b/pkgs/tdbc1.1.13/win/rules.vc index b95e8c8..058d694 100644 --- a/pkgs/tdbc1.1.13/win/rules.vc +++ b/pkgs/tdbc1.1.13/win/rules.vc @@ -551,7 +551,8 @@ NMAKEHLPC = $(_TCLDIR)\win\nmakehlp.c # We always build nmakehlp even if it exists since we do not know # what source it was built from. -!if "$(MACHINE)" == "IX86" || "$(MACHINE)" == "$(NATIVE_ARCH)" +!if 1 +!elseif 0 !if [$(cc32) -nologo "$(NMAKEHLPC)" -link -subsystem:console > nul] !endif !else diff --git a/pkgs/tdbcmysql1.1.13/win/rules-ext.vc b/pkgs/tdbcmysql1.1.13/win/rules-ext.vc index 479720a..05133f5 100644 --- a/pkgs/tdbcmysql1.1.13/win/rules-ext.vc +++ b/pkgs/tdbcmysql1.1.13/win/rules-ext.vc @@ -31,7 +31,8 @@ macro to the name of the project makefile. # We extract version numbers using the nmakehlp program. For now use # the local copy of nmakehlp. Once we locate Tcl, we will use that # one if it is newer. -!if "$(MACHINE)" == "IX86" || "$(MACHINE)" == "$(NATIVE_ARCH)" +!if 1 +!elseif 0 !if [$(CC) -nologo -DNDEBUG "nmakehlp.c" -link -subsystem:console > nul] !endif !else diff --git a/pkgs/tdbcmysql1.1.13/win/rules.vc b/pkgs/tdbcmysql1.1.13/win/rules.vc index 8ecce0e..3d4146c 100644 --- a/pkgs/tdbcmysql1.1.13/win/rules.vc +++ b/pkgs/tdbcmysql1.1.13/win/rules.vc @@ -551,7 +551,8 @@ NMAKEHLPC = $(_TCLDIR)\win\nmakehlp.c # We always build nmakehlp even if it exists since we do not know # what source it was built from. -!if "$(MACHINE)" == "IX86" || "$(MACHINE)" == "$(NATIVE_ARCH)" +!if 1 +!elseif 0 !if [$(cc32) -nologo "$(NMAKEHLPC)" -link -subsystem:console > nul] !endif !else diff --git a/pkgs/tdbcodbc1.1.13/win/rules-ext.vc b/pkgs/tdbcodbc1.1.13/win/rules-ext.vc index 479720a..05133f5 100644 --- a/pkgs/tdbcodbc1.1.13/win/rules-ext.vc +++ b/pkgs/tdbcodbc1.1.13/win/rules-ext.vc @@ -31,7 +31,8 @@ macro to the name of the project makefile. # We extract version numbers using the nmakehlp program. For now use # the local copy of nmakehlp. Once we locate Tcl, we will use that # one if it is newer. -!if "$(MACHINE)" == "IX86" || "$(MACHINE)" == "$(NATIVE_ARCH)" +!if 1 +!elseif 0 !if [$(CC) -nologo -DNDEBUG "nmakehlp.c" -link -subsystem:console > nul] !endif !else diff --git a/pkgs/tdbcodbc1.1.13/win/rules.vc b/pkgs/tdbcodbc1.1.13/win/rules.vc index 8ecce0e..3d4146c 100644 --- a/pkgs/tdbcodbc1.1.13/win/rules.vc +++ b/pkgs/tdbcodbc1.1.13/win/rules.vc @@ -551,7 +551,8 @@ NMAKEHLPC = $(_TCLDIR)\win\nmakehlp.c # We always build nmakehlp even if it exists since we do not know # what source it was built from. -!if "$(MACHINE)" == "IX86" || "$(MACHINE)" == "$(NATIVE_ARCH)" +!if 1 +!elseif 0 !if [$(cc32) -nologo "$(NMAKEHLPC)" -link -subsystem:console > nul] !endif !else diff --git a/pkgs/tdbcpostgres1.1.13/win/rules-ext.vc b/pkgs/tdbcpostgres1.1.13/win/rules-ext.vc index 479720a..05133f5 100644 --- a/pkgs/tdbcpostgres1.1.13/win/rules-ext.vc +++ b/pkgs/tdbcpostgres1.1.13/win/rules-ext.vc @@ -31,7 +31,8 @@ macro to the name of the project makefile. # We extract version numbers using the nmakehlp program. For now use # the local copy of nmakehlp. Once we locate Tcl, we will use that # one if it is newer. -!if "$(MACHINE)" == "IX86" || "$(MACHINE)" == "$(NATIVE_ARCH)" +!if 1 +!elseif 0 !if [$(CC) -nologo -DNDEBUG "nmakehlp.c" -link -subsystem:console > nul] !endif !else diff --git a/pkgs/tdbcpostgres1.1.13/win/rules.vc b/pkgs/tdbcpostgres1.1.13/win/rules.vc index 8ecce0e..3d4146c 100644 --- a/pkgs/tdbcpostgres1.1.13/win/rules.vc +++ b/pkgs/tdbcpostgres1.1.13/win/rules.vc @@ -551,7 +551,8 @@ NMAKEHLPC = $(_TCLDIR)\win\nmakehlp.c # We always build nmakehlp even if it exists since we do not know # what source it was built from. -!if "$(MACHINE)" == "IX86" || "$(MACHINE)" == "$(NATIVE_ARCH)" +!if 1 +!elseif 0 !if [$(cc32) -nologo "$(NMAKEHLPC)" -link -subsystem:console > nul] !endif !else diff --git a/pkgs/tdbcsqlite3-1.1.13/win/rules-ext.vc b/pkgs/tdbcsqlite3-1.1.13/win/rules-ext.vc index 479720a..05133f5 100644 --- a/pkgs/tdbcsqlite3-1.1.13/win/rules-ext.vc +++ b/pkgs/tdbcsqlite3-1.1.13/win/rules-ext.vc @@ -31,7 +31,8 @@ macro to the name of the project makefile. # We extract version numbers using the nmakehlp program. For now use # the local copy of nmakehlp. Once we locate Tcl, we will use that # one if it is newer. -!if "$(MACHINE)" == "IX86" || "$(MACHINE)" == "$(NATIVE_ARCH)" +!if 1 +!elseif 0 !if [$(CC) -nologo -DNDEBUG "nmakehlp.c" -link -subsystem:console > nul] !endif !else diff --git a/pkgs/tdbcsqlite3-1.1.13/win/rules.vc b/pkgs/tdbcsqlite3-1.1.13/win/rules.vc index 8ecce0e..3d4146c 100644 --- a/pkgs/tdbcsqlite3-1.1.13/win/rules.vc +++ b/pkgs/tdbcsqlite3-1.1.13/win/rules.vc @@ -551,7 +551,8 @@ NMAKEHLPC = $(_TCLDIR)\win\nmakehlp.c # We always build nmakehlp even if it exists since we do not know # what source it was built from. -!if "$(MACHINE)" == "IX86" || "$(MACHINE)" == "$(NATIVE_ARCH)" +!if 1 +!elseif 0 !if [$(cc32) -nologo "$(NMAKEHLPC)" -link -subsystem:console > nul] !endif !else diff --git a/pkgs/thread3.0.4/win/rules-ext.vc b/pkgs/thread3.0.4/win/rules-ext.vc index 479720a..05133f5 100644 --- a/pkgs/thread3.0.4/win/rules-ext.vc +++ b/pkgs/thread3.0.4/win/rules-ext.vc @@ -31,7 +31,8 @@ macro to the name of the project makefile. # We extract version numbers using the nmakehlp program. For now use # the local copy of nmakehlp. Once we locate Tcl, we will use that # one if it is newer. -!if "$(MACHINE)" == "IX86" || "$(MACHINE)" == "$(NATIVE_ARCH)" +!if 1 +!elseif 0 !if [$(CC) -nologo -DNDEBUG "nmakehlp.c" -link -subsystem:console > nul] !endif !else diff --git a/pkgs/thread3.0.4/win/rules.vc b/pkgs/thread3.0.4/win/rules.vc index b95e8c8..058d694 100644 --- a/pkgs/thread3.0.4/win/rules.vc +++ b/pkgs/thread3.0.4/win/rules.vc @@ -551,7 +551,8 @@ NMAKEHLPC = $(_TCLDIR)\win\nmakehlp.c # We always build nmakehlp even if it exists since we do not know # what source it was built from. -!if "$(MACHINE)" == "IX86" || "$(MACHINE)" == "$(NATIVE_ARCH)" +!if 1 +!elseif 0 !if [$(cc32) -nologo "$(NMAKEHLPC)" -link -subsystem:console > nul] !endif !else diff --git a/win/makefile.vc b/win/makefile.vc index 491eff8..5ddaa22 100644 --- a/win/makefile.vc +++ b/win/makefile.vc @@ -1,3 +1,4 @@ +PATH=$(PATH);$(HOST_DLL_DIR);$(MAKEDIR) #------------------------------------------------------------- -*- makefile -*- # # Microsoft Visual C++ makefile for building Tcl with nmake @@ -476,7 +477,7 @@ PRJ_INCLUDES = -I"$(TOMMATHDIR)" PRJ_DEFINES = /DMP_PREC=4 /Dinline=__inline /D_CRT_SECURE_NO_DEPRECATE /D_CRT_NONSTDC_NO_DEPRECATE /DMP_FIXED_CUTOFFS !if $(STATIC_BUILD) -PRJ_DEFINES = $(PRJ_DEFINES) /DTCL_WITH_INTERNAL_ZLIB +PRJ_DEFINES = $(PRJ_DEFINES) /DTCL_WITH_EXTERNAL_TOMMATH !endif # Additional Link libraries needed beyond those in rules.vc @@ -535,7 +536,7 @@ shell: libtclzip @$(COPY) /b "$(TCLSHRAW)"+"$(TCLSCRIPTZIP)" "$(TCLSH)" !endif -dlls: setup $(TCLREGLIB) $(TCLDDELIB) $(OUT_DIR)\zlib1.dll $(OUT_DIR)\libtommath.dll +dlls: setup $(TCLREGLIB) $(TCLDDELIB) libtclzip: $(TCLSCRIPTZIP) tcltest: setup core $(TCLTEST) dlls @@ -544,9 +545,11 @@ tcltest: libtclzip @$(COPY) /b "$(TCLTESTRAW)"+"$(TCLSCRIPTZIP)" "$(TCLTEST)" !endif -install: install-binaries install-libraries install-docs install-pkgs +# Run in submake in order to delay expansion of "!if exist()" +install: + $(MAKE) -$(MAKEFLAGS) NMAKEHLPC=$(ROOT)\nmakehlp.exe -f makefile.vc install-binaries install-libraries install-docs install-pkgs !if $(SYMBOLS) -install: install-pdbs + $(MAKE) -$(MAKEFLAGS) NMAKEHLPC=$(ROOT)\nmakehlp.exe -f makefile.vc install-pdbs !endif setup: default-setup @@ -676,7 +679,7 @@ pkgs: @for /d %d in ($(PKGSDIR)\*) do \ @if exist "%~fd\win\makefile.vc" ( \ pushd "%~fd\win" & \ - $(MAKE) -$(MAKEFLAGS) -f makefile.vc TCLDIR=$(ROOT) &\ + $(MAKE) -$(MAKEFLAGS) -f makefile.vc TCLDIR=$(ROOT) NMAKEHLPC=$(ROOT)\nmakehlp.exe &\ popd \ ) @@ -692,7 +695,7 @@ install-pkgs: @for /d %d in ($(PKGSDIR)\*) do \ @if exist "%~fd\win\makefile.vc" ( \ pushd "%~fd\win" & \ - $(MAKE) -$(MAKEFLAGS) -f makefile.vc TCLDIR=$(ROOT) install &\ + $(MAKE) -$(MAKEFLAGS) -f makefile.vc TCLDIR=$(ROOT) NMAKEHLPC=$(ROOT)\nmakehlp.exe install &\ popd \ ) @@ -1049,11 +1052,7 @@ install-binaries: @$(CPY) "$(TCLLIB)" "$(BIN_INSTALL_DIR)\" !endif @$(CPY) "$(TCLIMPLIB)" "$(LIB_INSTALL_DIR)\" - @$(CPY) "$(OUT_DIR)\zlib1.dll" "$(BIN_INSTALL_DIR)\" - @$(CPY) "$(OUT_DIR)\libtommath.dll" "$(BIN_INSTALL_DIR)\" !if !$(STATIC_BUILD) - @$(CPY) "$(OUT_DIR)\zdll.lib" "$(LIB_INSTALL_DIR)\" - @$(CPY) "$(OUT_DIR)\tommath.lib" "$(LIB_INSTALL_DIR)\" !endif !if exist($(TCLSH)) @echo Installing $(TCLSHNAME) @@ -1073,7 +1072,6 @@ install-libraries: tclConfig tcl-nmake install-msgs install-tzdata @$(CPY) "$(GENERICDIR)\tclPlatDecls.h" "$(INCLUDE_INSTALL_DIR)\" @$(CPY) "$(GENERICDIR)\tclTomMath.h" "$(INCLUDE_INSTALL_DIR)\" @$(CPY) "$(GENERICDIR)\tclTomMathDecls.h" "$(INCLUDE_INSTALL_DIR)\" - @$(CPY) "$(TOMMATHDIR)\tommath.h" "$(INCLUDE_INSTALL_DIR)\" !if !$(TCL_EMBED_SCRIPTS) @echo Installing library files to $(SCRIPT_INSTALL_DIR) @if not exist "$(SCRIPT_INSTALL_DIR)" \ @@ -1087,7 +1085,6 @@ install-libraries: tclConfig tcl-nmake install-msgs install-tzdata @$(CPY) "$(WIN_DIR)\rules.vc" "$(LIB_INSTALL_DIR)\nmake\" @$(CPY) "$(WIN_DIR)\targets.vc" "$(LIB_INSTALL_DIR)\nmake\" @$(CPY) "$(WIN_DIR)\nmakehlp.c" "$(LIB_INSTALL_DIR)\nmake\" - @$(CPY) "$(WIN_DIR)\x86_64-w64-mingw32-nmakehlp.exe" "$(LIB_INSTALL_DIR)\nmake\" @$(CPY) "$(OUT_DIR)\tcl.nmake" "$(LIB_INSTALL_DIR)\nmake\" !if !$(TCL_EMBED_SCRIPTS) @echo Installing package cookiejar $(PKG_COOKIEJAR_VER) diff --git a/win/rules.vc b/win/rules.vc index f709fd8..49482d0 100644 --- a/win/rules.vc +++ b/win/rules.vc @@ -551,11 +551,15 @@ NMAKEHLPC = $(_TCLDIR)\win\nmakehlp.c # We always build nmakehlp even if it exists since we do not know # what source it was built from. -!if "$(MACHINE)" == "IX86" || "$(MACHINE)" == "$(NATIVE_ARCH)" +!if exist("$(MAKEDIR)\nmakehlp.exe") +!message Reusing $(MAKEDIR)\nmakehlp.exe +!elseif "$(NMAKEHLPC)" == "nmakehlp.c" +!message Building nmakehlp.exe !if [$(cc32) -nologo "$(NMAKEHLPC)" -link -subsystem:console > nul] !endif !else -!if [copy $(NMAKEHLPC:nmakehlp.c=x86_64-w64-mingw32-nmakehlp.exe) nmakehlp.exe >NUL] +!message Copying $(NMAKEHLPC) to $(MAKEDIR) +!if [copy $(NMAKEHLPC) $(MAKEDIR)\nmakehlp.exe >NUL] !endif !endif