Index: src/makemake.tcl ================================================================== --- src/makemake.tcl +++ src/makemake.tcl @@ -1312,50 +1312,74 @@ # be built from source code. The PERLDIR variable should point to # the directory containing the main Perl binary (i.e. "perl.exe"). PERLDIR = C:\Perl\bin PERL = perl.exe -# Uncomment to enable debug symbols -# DEBUG = 1 - -# Uncomment to link everything except SQLite dynamically -# FOSSIL_DYNAMIC_BUILD = 1 - -# Uncomment to support Windows XP with Visual Studio 201x -# FOSSIL_ENABLE_WINXP = 1 - -# Uncomment to enable JSON API -# FOSSIL_ENABLE_JSON = 1 - -# Uncomment to enable miniz usage -# FOSSIL_ENABLE_MINIZ = 1 - -# Uncomment to enable SSL support -# FOSSIL_ENABLE_SSL = 1 - -# Uncomment to build zlib library -FOSSIL_BUILD_ZLIB = 1 - -# Uncomment to build SSL libraries -# FOSSIL_BUILD_SSL = 1 - -# Uncomment to enable legacy treatment of mv/rm -# FOSSIL_ENABLE_LEGACY_MV_RM = 1 - -# Uncomment to enable TH1 scripts in embedded documentation files -# FOSSIL_ENABLE_TH1_DOCS = 1 - -# Uncomment to enable TH1 hooks -# FOSSIL_ENABLE_TH1_HOOKS = 1 - -# Uncomment to enable Tcl support -# FOSSIL_ENABLE_TCL = 1 - -!ifdef FOSSIL_ENABLE_SSL +# Enable debugging symbols? +!ifndef DEBUG +DEBUG = 0 +!endif + +# Build the OpenSSL libraries? +!ifndef FOSSIL_BUILD_SSL +FOSSIL_BUILD_SSL = 0 +!endif + +# Build the included zlib library? +!ifndef FOSSIL_BUILD_ZLIB +FOSSIL_BUILD_ZLIB = 0 +!endif + +# Link everything except SQLite dynamically? +!ifndef FOSSIL_DYNAMIC_BUILD +FOSSIL_DYNAMIC_BUILD = 0 +!endif + +# Enable the JSON API? +!ifndef FOSSIL_ENABLE_JSON +FOSSIL_ENABLE_JSON = 0 +!endif + +# Enable legacy treatment of the mv/rm commands? +!ifndef FOSSIL_ENABLE_LEGACY_MV_RM +FOSSIL_ENABLE_LEGACY_MV_RM = 0 +!endif + +# Enable use of miniz instead of zlib? +!ifndef FOSSIL_ENABLE_MINIZ +FOSSIL_ENABLE_MINIZ = 0 +!endif + +# Enable OpenSSL support? +!ifndef FOSSIL_ENABLE_SSL +FOSSIL_ENABLE_SSL = 0 +!endif + +# Enable the Tcl integration subsystem? +!ifndef FOSSIL_ENABLE_TCL +FOSSIL_ENABLE_TCL = 0 +!endif + +# Enable TH1 scripts in embedded documentation files? +!ifndef FOSSIL_ENABLE_TH1_DOCS +FOSSIL_ENABLE_TH1_DOCS = 0 +!endif + +# Enable TH1 hooks for commands and web pages? +!ifndef FOSSIL_ENABLE_TH1_HOOKS +FOSSIL_ENABLE_TH1_HOOKS = 0 +!endif + +# Enable support for Windows XP with Visual Studio 201x? +!ifndef FOSSIL_ENABLE_WINXP +FOSSIL_ENABLE_WINXP = 0 +!endif + +!if $(FOSSIL_ENABLE_SSL)!=0 SSLDIR = $(B)\compat\openssl-1.0.2c SSLINCDIR = $(SSLDIR)\inc32 -!ifdef FOSSIL_DYNAMIC_BUILD +!if $(FOSSIL_DYNAMIC_BUILD)!=0 SSLLIBDIR = $(SSLDIR)\out32dll !else SSLLIBDIR = $(SSLDIR)\out32 !endif SSLLFLAGS = /nologo /opt:ref /debug @@ -1363,108 +1387,108 @@ !if "$(PLATFORM)"=="amd64" || "$(PLATFORM)"=="x64" !message Using 'x64' platform for OpenSSL... # BUGBUG (OpenSSL): Using "no-ssl*" here breaks the build. # SSLCONFIG = VC-WIN64A no-asm no-ssl2 no-ssl3 SSLCONFIG = VC-WIN64A no-asm -!ifdef FOSSIL_DYNAMIC_BUILD +!if $(FOSSIL_DYNAMIC_BUILD)!=0 SSLCONFIG = $(SSLCONFIG) shared !else SSLCONFIG = $(SSLCONFIG) no-shared !endif SSLSETUP = ms\do_win64a.bat -!ifdef FOSSIL_DYNAMIC_BUILD +!if $(FOSSIL_DYNAMIC_BUILD)!=0 SSLNMAKE = ms\ntdll.mak all !else SSLNMAKE = ms\nt.mak all !endif # BUGBUG (OpenSSL): Using "OPENSSL_NO_SSL*" here breaks dynamic builds. -!ifndef FOSSIL_DYNAMIC_BUILD +!if $(FOSSIL_DYNAMIC_BUILD)==0 SSLCFLAGS = -DOPENSSL_NO_SSL2 -DOPENSSL_NO_SSL3 !endif !elseif "$(PLATFORM)"=="ia64" !message Using 'ia64' platform for OpenSSL... # BUGBUG (OpenSSL): Using "no-ssl*" here breaks the build. # SSLCONFIG = VC-WIN64I no-asm no-ssl2 no-ssl3 SSLCONFIG = VC-WIN64I no-asm -!ifdef FOSSIL_DYNAMIC_BUILD +!if $(FOSSIL_DYNAMIC_BUILD)!=0 SSLCONFIG = $(SSLCONFIG) shared !else SSLCONFIG = $(SSLCONFIG) no-shared !endif SSLSETUP = ms\do_win64i.bat -!ifdef FOSSIL_DYNAMIC_BUILD +!if $(FOSSIL_DYNAMIC_BUILD)!=0 SSLNMAKE = ms\ntdll.mak all !else SSLNMAKE = ms\nt.mak all !endif # BUGBUG (OpenSSL): Using "OPENSSL_NO_SSL*" here breaks dynamic builds. -!ifndef FOSSIL_DYNAMIC_BUILD +!if $(FOSSIL_DYNAMIC_BUILD)==0 SSLCFLAGS = -DOPENSSL_NO_SSL2 -DOPENSSL_NO_SSL3 !endif !else !message Assuming 'x86' platform for OpenSSL... # BUGBUG (OpenSSL): Using "no-ssl*" here breaks the build. # SSLCONFIG = VC-WIN32 no-asm no-ssl2 no-ssl3 SSLCONFIG = VC-WIN32 no-asm -!ifdef FOSSIL_DYNAMIC_BUILD +!if $(FOSSIL_DYNAMIC_BUILD)!=0 SSLCONFIG = $(SSLCONFIG) shared !else SSLCONFIG = $(SSLCONFIG) no-shared !endif SSLSETUP = ms\do_ms.bat -!ifdef FOSSIL_DYNAMIC_BUILD +!if $(FOSSIL_DYNAMIC_BUILD)!=0 SSLNMAKE = ms\ntdll.mak all !else SSLNMAKE = ms\nt.mak all !endif # BUGBUG (OpenSSL): Using "OPENSSL_NO_SSL*" here breaks dynamic builds. -!ifndef FOSSIL_DYNAMIC_BUILD +!if $(FOSSIL_DYNAMIC_BUILD)==0 SSLCFLAGS = -DOPENSSL_NO_SSL2 -DOPENSSL_NO_SSL3 !endif !endif !endif -!ifdef FOSSIL_ENABLE_TCL +!if $(FOSSIL_ENABLE_TCL)!=0 TCLDIR = $(B)\compat\tcl-8.6 TCLSRCDIR = $(TCLDIR) TCLINCDIR = $(TCLSRCDIR)\generic !endif # zlib options ZINCDIR = $(B)\compat\zlib ZLIBDIR = $(B)\compat\zlib -!ifdef FOSSIL_DYNAMIC_BUILD +!if $(FOSSIL_DYNAMIC_BUILD)!=0 ZLIB = zdll.lib !else ZLIB = zlib.lib !endif INCL = /I. /I$(SRCDIR) /I$B\win\include -!ifndef FOSSIL_ENABLE_MINIZ +!if $(FOSSIL_ENABLE_MINIZ)==0 INCL = $(INCL) /I$(ZINCDIR) !endif -!ifdef FOSSIL_ENABLE_SSL +!if $(FOSSIL_ENABLE_SSL)!=0 INCL = $(INCL) /I$(SSLINCDIR) !endif -!ifdef FOSSIL_ENABLE_TCL +!if $(FOSSIL_ENABLE_TCL)!=0 INCL = $(INCL) /I$(TCLINCDIR) !endif CFLAGS = /nologo LDFLAGS = -!ifdef FOSSIL_DYNAMIC_BUILD +!if $(FOSSIL_DYNAMIC_BUILD)!=0 LDFLAGS = $(LDFLAGS) /MANIFEST !else LDFLAGS = $(LDFLAGS) /NODEFAULTLIB:msvcrt /MANIFEST:NO !endif -!ifdef FOSSIL_ENABLE_WINXP +!if $(FOSSIL_ENABLE_WINXP)!=0 XPCFLAGS = $(XPCFLAGS) /D_USING_V110_SDK71_=1 CFLAGS = $(CFLAGS) $(XPCFLAGS) !if "$(PLATFORM)"=="amd64" || "$(PLATFORM)"=="x64" XPLDFLAGS = $(XPLDFLAGS) /SUBSYSTEM:CONSOLE,5.02 !else @@ -1471,25 +1495,25 @@ XPLDFLAGS = $(XPLDFLAGS) /SUBSYSTEM:CONSOLE,5.01 !endif LDFLAGS = $(LDFLAGS) $(XPLDFLAGS) !endif -!ifdef FOSSIL_DYNAMIC_BUILD -!ifdef DEBUG +!if $(FOSSIL_DYNAMIC_BUILD)!=0 +!if $(DEBUG)!=0 CRTFLAGS = /MDd !else CRTFLAGS = /MD !endif !else -!ifdef DEBUG +!if $(DEBUG)!=0 CRTFLAGS = /MTd !else CRTFLAGS = /MT !endif !endif -!ifdef DEBUG +!if $(DEBUG)!=0 CFLAGS = $(CFLAGS) /Zi $(CRTFLAGS) /Od LDFLAGS = $(LDFLAGS) /DEBUG !else CFLAGS = $(CFLAGS) $(CRTFLAGS) /O2 !endif @@ -1499,53 +1523,53 @@ RCC = $(RC) /D_WIN32 /D_MSC_VER $(MSCDEF) $(INCL) MTC = mt LIBS = ws2_32.lib advapi32.lib LIBDIR = -!ifdef FOSSIL_DYNAMIC_BUILD +!if $(FOSSIL_DYNAMIC_BUILD)!=0 TCC = $(TCC) /DFOSSIL_DYNAMIC_BUILD=1 RCC = $(RCC) /DFOSSIL_DYNAMIC_BUILD=1 !endif -!ifndef FOSSIL_ENABLE_MINIZ +!if $(FOSSIL_ENABLE_MINIZ)==0 LIBS = $(LIBS) $(ZLIB) LIBDIR = $(LIBDIR) /LIBPATH:$(ZLIBDIR) !endif -!ifdef FOSSIL_ENABLE_MINIZ +!if $(FOSSIL_ENABLE_MINIZ)!=0 TCC = $(TCC) /DFOSSIL_ENABLE_MINIZ=1 RCC = $(RCC) /DFOSSIL_ENABLE_MINIZ=1 !endif -!ifdef FOSSIL_ENABLE_JSON +!if $(FOSSIL_ENABLE_JSON)!=0 TCC = $(TCC) /DFOSSIL_ENABLE_JSON=1 RCC = $(RCC) /DFOSSIL_ENABLE_JSON=1 !endif -!ifdef FOSSIL_ENABLE_SSL +!if $(FOSSIL_ENABLE_SSL)!=0 TCC = $(TCC) /DFOSSIL_ENABLE_SSL=1 RCC = $(RCC) /DFOSSIL_ENABLE_SSL=1 LIBS = $(LIBS) $(SSLLIB) LIBDIR = $(LIBDIR) /LIBPATH:$(SSLLIBDIR) !endif -!ifdef FOSSIL_ENABLE_LEGACY_MV_RM +!if $(FOSSIL_ENABLE_LEGACY_MV_RM)!=0 TCC = $(TCC) /DFOSSIL_ENABLE_LEGACY_MV_RM=1 RCC = $(RCC) /DFOSSIL_ENABLE_LEGACY_MV_RM=1 !endif -!ifdef FOSSIL_ENABLE_TH1_DOCS +!if $(FOSSIL_ENABLE_TH1_DOCS)!=0 TCC = $(TCC) /DFOSSIL_ENABLE_TH1_DOCS=1 RCC = $(RCC) /DFOSSIL_ENABLE_TH1_DOCS=1 !endif -!ifdef FOSSIL_ENABLE_TH1_HOOKS +!if $(FOSSIL_ENABLE_TH1_HOOKS)!=0 TCC = $(TCC) /DFOSSIL_ENABLE_TH1_HOOKS=1 RCC = $(RCC) /DFOSSIL_ENABLE_TH1_HOOKS=1 !endif -!ifdef FOSSIL_ENABLE_TCL +!if $(FOSSIL_ENABLE_TCL)!=0 TCC = $(TCC) /DFOSSIL_ENABLE_TCL=1 RCC = $(RCC) /DFOSSIL_ENABLE_TCL=1 TCC = $(TCC) /DFOSSIL_ENABLE_TCL_STUBS=1 RCC = $(RCC) /DFOSSIL_ENABLE_TCL_STUBS=1 TCC = $(TCC) /DFOSSIL_ENABLE_TCL_PRIVATE_STUBS=1 @@ -1597,11 +1621,11 @@ writeln -nonewline "\$(OX)\\$s\$O"; incr i } if {$i > 0} { writeln " \\" } -writeln "!ifdef FOSSIL_ENABLE_MINIZ" +writeln "!if \$(FOSSIL_ENABLE_MINIZ)!=0" writeln -nonewline " " writeln "\$(OX)\\miniz\$O \\"; incr i writeln "!endif" writeln -nonewline " \$(OX)\\fossil.res\n\n" writeln [string map [list <<>> \\] { @@ -1611,39 +1635,39 @@ all: $(OX) $(APPNAME) zlib: @echo Building zlib from "$(ZLIBDIR)"... -!ifdef FOSSIL_ENABLE_WINXP +!if $(FOSSIL_ENABLE_WINXP)!=0 @pushd "$(ZLIBDIR)" && $(MAKE) /f win32\Makefile.msc $(ZLIB) "CC=cl $(XPCFLAGS)" "LD=link $(XPLDFLAGS)" && popd !else @pushd "$(ZLIBDIR)" && $(MAKE) /f win32\Makefile.msc $(ZLIB) && popd !endif -!ifdef FOSSIL_ENABLE_SSL +!if $(FOSSIL_ENABLE_SSL)!=0 openssl: @echo Building OpenSSL from "$(SSLDIR)"... !if "$(PERLDIR)" != "" @set PATH=$(PERLDIR);$(PATH) !endif @pushd "$(SSLDIR)" && $(PERL) Configure $(SSLCONFIG) && popd @pushd "$(SSLDIR)" && call $(SSLSETUP) && popd -!ifdef FOSSIL_ENABLE_WINXP +!if $(FOSSIL_ENABLE_WINXP)!=0 @pushd "$(SSLDIR)" && $(MAKE) /f $(SSLNMAKE) "CC=cl $(SSLCFLAGS) $(XPCFLAGS)" "LFLAGS=$(SSLLFLAGS) $(XPLDFLAGS)" && popd !else @pushd "$(SSLDIR)" && $(MAKE) /f $(SSLNMAKE) "CC=cl $(SSLCFLAGS)" && popd !endif !endif -!ifndef FOSSIL_ENABLE_MINIZ -!ifdef FOSSIL_BUILD_ZLIB +!if $(FOSSIL_ENABLE_MINIZ)==0 +!if $(FOSSIL_BUILD_ZLIB)!=0 APPTARGETS = $(APPTARGETS) zlib !endif !endif -!ifdef FOSSIL_ENABLE_SSL -!ifdef FOSSIL_BUILD_SSL +!if $(FOSSIL_ENABLE_SSL)!=0 +!if $(FOSSIL_BUILD_SSL)!=0 APPTARGETS = $(APPTARGETS) openssl !endif !endif $(APPNAME) : $(APPTARGETS) translate$E mkindex$E codecheck1$E headers $(OBJ) $(OX)\linkopts @@ -1658,11 +1682,11 @@ foreach s [lsort [concat $src $AdditionalObj]] { writeln "\techo \$(OX)\\$s.obj $redir \$@" set redir {>>} } set redir {>>} -writeln "!ifdef FOSSIL_ENABLE_MINIZ" +writeln "!if \$(FOSSIL_ENABLE_MINIZ)!=0" writeln "\techo \$(OX)\\miniz.obj $redir \$@" writeln "!endif" writeln "\techo \$(LIBS) $redir \$@" writeln { $(OX): Index: win/Makefile.msc ================================================================== --- win/Makefile.msc +++ win/Makefile.msc @@ -27,50 +27,74 @@ # be built from source code. The PERLDIR variable should point to # the directory containing the main Perl binary (i.e. "perl.exe"). PERLDIR = C:\Perl\bin PERL = perl.exe -# Uncomment to enable debug symbols -# DEBUG = 1 - -# Uncomment to link everything except SQLite dynamically -# FOSSIL_DYNAMIC_BUILD = 1 - -# Uncomment to support Windows XP with Visual Studio 201x -# FOSSIL_ENABLE_WINXP = 1 - -# Uncomment to enable JSON API -# FOSSIL_ENABLE_JSON = 1 - -# Uncomment to enable miniz usage -# FOSSIL_ENABLE_MINIZ = 1 - -# Uncomment to enable SSL support -# FOSSIL_ENABLE_SSL = 1 - -# Uncomment to build zlib library -FOSSIL_BUILD_ZLIB = 1 - -# Uncomment to build SSL libraries -# FOSSIL_BUILD_SSL = 1 - -# Uncomment to enable legacy treatment of mv/rm -# FOSSIL_ENABLE_LEGACY_MV_RM = 1 - -# Uncomment to enable TH1 scripts in embedded documentation files -# FOSSIL_ENABLE_TH1_DOCS = 1 - -# Uncomment to enable TH1 hooks -# FOSSIL_ENABLE_TH1_HOOKS = 1 - -# Uncomment to enable Tcl support -# FOSSIL_ENABLE_TCL = 1 - -!ifdef FOSSIL_ENABLE_SSL +# Enable debugging symbols? +!ifndef DEBUG +DEBUG = 0 +!endif + +# Build the OpenSSL libraries? +!ifndef FOSSIL_BUILD_SSL +FOSSIL_BUILD_SSL = 0 +!endif + +# Build the included zlib library? +!ifndef FOSSIL_BUILD_ZLIB +FOSSIL_BUILD_ZLIB = 0 +!endif + +# Link everything except SQLite dynamically? +!ifndef FOSSIL_DYNAMIC_BUILD +FOSSIL_DYNAMIC_BUILD = 0 +!endif + +# Enable the JSON API? +!ifndef FOSSIL_ENABLE_JSON +FOSSIL_ENABLE_JSON = 0 +!endif + +# Enable legacy treatment of the mv/rm commands? +!ifndef FOSSIL_ENABLE_LEGACY_MV_RM +FOSSIL_ENABLE_LEGACY_MV_RM = 0 +!endif + +# Enable use of miniz instead of zlib? +!ifndef FOSSIL_ENABLE_MINIZ +FOSSIL_ENABLE_MINIZ = 0 +!endif + +# Enable OpenSSL support? +!ifndef FOSSIL_ENABLE_SSL +FOSSIL_ENABLE_SSL = 0 +!endif + +# Enable the Tcl integration subsystem? +!ifndef FOSSIL_ENABLE_TCL +FOSSIL_ENABLE_TCL = 0 +!endif + +# Enable TH1 scripts in embedded documentation files? +!ifndef FOSSIL_ENABLE_TH1_DOCS +FOSSIL_ENABLE_TH1_DOCS = 0 +!endif + +# Enable TH1 hooks for commands and web pages? +!ifndef FOSSIL_ENABLE_TH1_HOOKS +FOSSIL_ENABLE_TH1_HOOKS = 0 +!endif + +# Enable support for Windows XP with Visual Studio 201x? +!ifndef FOSSIL_ENABLE_WINXP +FOSSIL_ENABLE_WINXP = 0 +!endif + +!if $(FOSSIL_ENABLE_SSL)!=0 SSLDIR = $(B)\compat\openssl-1.0.2c SSLINCDIR = $(SSLDIR)\inc32 -!ifdef FOSSIL_DYNAMIC_BUILD +!if $(FOSSIL_DYNAMIC_BUILD)!=0 SSLLIBDIR = $(SSLDIR)\out32dll !else SSLLIBDIR = $(SSLDIR)\out32 !endif SSLLFLAGS = /nologo /opt:ref /debug @@ -78,108 +102,108 @@ !if "$(PLATFORM)"=="amd64" || "$(PLATFORM)"=="x64" !message Using 'x64' platform for OpenSSL... # BUGBUG (OpenSSL): Using "no-ssl*" here breaks the build. # SSLCONFIG = VC-WIN64A no-asm no-ssl2 no-ssl3 SSLCONFIG = VC-WIN64A no-asm -!ifdef FOSSIL_DYNAMIC_BUILD +!if $(FOSSIL_DYNAMIC_BUILD)!=0 SSLCONFIG = $(SSLCONFIG) shared !else SSLCONFIG = $(SSLCONFIG) no-shared !endif SSLSETUP = ms\do_win64a.bat -!ifdef FOSSIL_DYNAMIC_BUILD +!if $(FOSSIL_DYNAMIC_BUILD)!=0 SSLNMAKE = ms\ntdll.mak all !else SSLNMAKE = ms\nt.mak all !endif # BUGBUG (OpenSSL): Using "OPENSSL_NO_SSL*" here breaks dynamic builds. -!ifndef FOSSIL_DYNAMIC_BUILD +!if $(FOSSIL_DYNAMIC_BUILD)==0 SSLCFLAGS = -DOPENSSL_NO_SSL2 -DOPENSSL_NO_SSL3 !endif !elseif "$(PLATFORM)"=="ia64" !message Using 'ia64' platform for OpenSSL... # BUGBUG (OpenSSL): Using "no-ssl*" here breaks the build. # SSLCONFIG = VC-WIN64I no-asm no-ssl2 no-ssl3 SSLCONFIG = VC-WIN64I no-asm -!ifdef FOSSIL_DYNAMIC_BUILD +!if $(FOSSIL_DYNAMIC_BUILD)!=0 SSLCONFIG = $(SSLCONFIG) shared !else SSLCONFIG = $(SSLCONFIG) no-shared !endif SSLSETUP = ms\do_win64i.bat -!ifdef FOSSIL_DYNAMIC_BUILD +!if $(FOSSIL_DYNAMIC_BUILD)!=0 SSLNMAKE = ms\ntdll.mak all !else SSLNMAKE = ms\nt.mak all !endif # BUGBUG (OpenSSL): Using "OPENSSL_NO_SSL*" here breaks dynamic builds. -!ifndef FOSSIL_DYNAMIC_BUILD +!if $(FOSSIL_DYNAMIC_BUILD)==0 SSLCFLAGS = -DOPENSSL_NO_SSL2 -DOPENSSL_NO_SSL3 !endif !else !message Assuming 'x86' platform for OpenSSL... # BUGBUG (OpenSSL): Using "no-ssl*" here breaks the build. # SSLCONFIG = VC-WIN32 no-asm no-ssl2 no-ssl3 SSLCONFIG = VC-WIN32 no-asm -!ifdef FOSSIL_DYNAMIC_BUILD +!if $(FOSSIL_DYNAMIC_BUILD)!=0 SSLCONFIG = $(SSLCONFIG) shared !else SSLCONFIG = $(SSLCONFIG) no-shared !endif SSLSETUP = ms\do_ms.bat -!ifdef FOSSIL_DYNAMIC_BUILD +!if $(FOSSIL_DYNAMIC_BUILD)!=0 SSLNMAKE = ms\ntdll.mak all !else SSLNMAKE = ms\nt.mak all !endif # BUGBUG (OpenSSL): Using "OPENSSL_NO_SSL*" here breaks dynamic builds. -!ifndef FOSSIL_DYNAMIC_BUILD +!if $(FOSSIL_DYNAMIC_BUILD)==0 SSLCFLAGS = -DOPENSSL_NO_SSL2 -DOPENSSL_NO_SSL3 !endif !endif !endif -!ifdef FOSSIL_ENABLE_TCL +!if $(FOSSIL_ENABLE_TCL)!=0 TCLDIR = $(B)\compat\tcl-8.6 TCLSRCDIR = $(TCLDIR) TCLINCDIR = $(TCLSRCDIR)\generic !endif # zlib options ZINCDIR = $(B)\compat\zlib ZLIBDIR = $(B)\compat\zlib -!ifdef FOSSIL_DYNAMIC_BUILD +!if $(FOSSIL_DYNAMIC_BUILD)!=0 ZLIB = zdll.lib !else ZLIB = zlib.lib !endif INCL = /I. /I$(SRCDIR) /I$B\win\include -!ifndef FOSSIL_ENABLE_MINIZ +!if $(FOSSIL_ENABLE_MINIZ)==0 INCL = $(INCL) /I$(ZINCDIR) !endif -!ifdef FOSSIL_ENABLE_SSL +!if $(FOSSIL_ENABLE_SSL)!=0 INCL = $(INCL) /I$(SSLINCDIR) !endif -!ifdef FOSSIL_ENABLE_TCL +!if $(FOSSIL_ENABLE_TCL)!=0 INCL = $(INCL) /I$(TCLINCDIR) !endif CFLAGS = /nologo LDFLAGS = -!ifdef FOSSIL_DYNAMIC_BUILD +!if $(FOSSIL_DYNAMIC_BUILD)!=0 LDFLAGS = $(LDFLAGS) /MANIFEST !else LDFLAGS = $(LDFLAGS) /NODEFAULTLIB:msvcrt /MANIFEST:NO !endif -!ifdef FOSSIL_ENABLE_WINXP +!if $(FOSSIL_ENABLE_WINXP)!=0 XPCFLAGS = $(XPCFLAGS) /D_USING_V110_SDK71_=1 CFLAGS = $(CFLAGS) $(XPCFLAGS) !if "$(PLATFORM)"=="amd64" || "$(PLATFORM)"=="x64" XPLDFLAGS = $(XPLDFLAGS) /SUBSYSTEM:CONSOLE,5.02 !else @@ -186,25 +210,25 @@ XPLDFLAGS = $(XPLDFLAGS) /SUBSYSTEM:CONSOLE,5.01 !endif LDFLAGS = $(LDFLAGS) $(XPLDFLAGS) !endif -!ifdef FOSSIL_DYNAMIC_BUILD -!ifdef DEBUG +!if $(FOSSIL_DYNAMIC_BUILD)!=0 +!if $(DEBUG)!=0 CRTFLAGS = /MDd !else CRTFLAGS = /MD !endif !else -!ifdef DEBUG +!if $(DEBUG)!=0 CRTFLAGS = /MTd !else CRTFLAGS = /MT !endif !endif -!ifdef DEBUG +!if $(DEBUG)!=0 CFLAGS = $(CFLAGS) /Zi $(CRTFLAGS) /Od LDFLAGS = $(LDFLAGS) /DEBUG !else CFLAGS = $(CFLAGS) $(CRTFLAGS) /O2 !endif @@ -214,53 +238,53 @@ RCC = $(RC) /D_WIN32 /D_MSC_VER $(MSCDEF) $(INCL) MTC = mt LIBS = ws2_32.lib advapi32.lib LIBDIR = -!ifdef FOSSIL_DYNAMIC_BUILD +!if $(FOSSIL_DYNAMIC_BUILD)!=0 TCC = $(TCC) /DFOSSIL_DYNAMIC_BUILD=1 RCC = $(RCC) /DFOSSIL_DYNAMIC_BUILD=1 !endif -!ifndef FOSSIL_ENABLE_MINIZ +!if $(FOSSIL_ENABLE_MINIZ)==0 LIBS = $(LIBS) $(ZLIB) LIBDIR = $(LIBDIR) /LIBPATH:$(ZLIBDIR) !endif -!ifdef FOSSIL_ENABLE_MINIZ +!if $(FOSSIL_ENABLE_MINIZ)!=0 TCC = $(TCC) /DFOSSIL_ENABLE_MINIZ=1 RCC = $(RCC) /DFOSSIL_ENABLE_MINIZ=1 !endif -!ifdef FOSSIL_ENABLE_JSON +!if $(FOSSIL_ENABLE_JSON)!=0 TCC = $(TCC) /DFOSSIL_ENABLE_JSON=1 RCC = $(RCC) /DFOSSIL_ENABLE_JSON=1 !endif -!ifdef FOSSIL_ENABLE_SSL +!if $(FOSSIL_ENABLE_SSL)!=0 TCC = $(TCC) /DFOSSIL_ENABLE_SSL=1 RCC = $(RCC) /DFOSSIL_ENABLE_SSL=1 LIBS = $(LIBS) $(SSLLIB) LIBDIR = $(LIBDIR) /LIBPATH:$(SSLLIBDIR) !endif -!ifdef FOSSIL_ENABLE_LEGACY_MV_RM +!if $(FOSSIL_ENABLE_LEGACY_MV_RM)!=0 TCC = $(TCC) /DFOSSIL_ENABLE_LEGACY_MV_RM=1 RCC = $(RCC) /DFOSSIL_ENABLE_LEGACY_MV_RM=1 !endif -!ifdef FOSSIL_ENABLE_TH1_DOCS +!if $(FOSSIL_ENABLE_TH1_DOCS)!=0 TCC = $(TCC) /DFOSSIL_ENABLE_TH1_DOCS=1 RCC = $(RCC) /DFOSSIL_ENABLE_TH1_DOCS=1 !endif -!ifdef FOSSIL_ENABLE_TH1_HOOKS +!if $(FOSSIL_ENABLE_TH1_HOOKS)!=0 TCC = $(TCC) /DFOSSIL_ENABLE_TH1_HOOKS=1 RCC = $(RCC) /DFOSSIL_ENABLE_TH1_HOOKS=1 !endif -!ifdef FOSSIL_ENABLE_TCL +!if $(FOSSIL_ENABLE_TCL)!=0 TCC = $(TCC) /DFOSSIL_ENABLE_TCL=1 RCC = $(RCC) /DFOSSIL_ENABLE_TCL=1 TCC = $(TCC) /DFOSSIL_ENABLE_TCL_STUBS=1 RCC = $(RCC) /DFOSSIL_ENABLE_TCL_STUBS=1 TCC = $(TCC) /DFOSSIL_ENABLE_TCL_PRIVATE_STUBS=1 @@ -587,11 +611,11 @@ $(OX)\winhttp$O \ $(OX)\wysiwyg$O \ $(OX)\xfer$O \ $(OX)\xfersetup$O \ $(OX)\zip$O \ -!ifdef FOSSIL_ENABLE_MINIZ +!if $(FOSSIL_ENABLE_MINIZ)!=0 $(OX)\miniz$O \ !endif $(OX)\fossil.res @@ -601,39 +625,39 @@ all: $(OX) $(APPNAME) zlib: @echo Building zlib from "$(ZLIBDIR)"... -!ifdef FOSSIL_ENABLE_WINXP +!if $(FOSSIL_ENABLE_WINXP)!=0 @pushd "$(ZLIBDIR)" && $(MAKE) /f win32\Makefile.msc $(ZLIB) "CC=cl $(XPCFLAGS)" "LD=link $(XPLDFLAGS)" && popd !else @pushd "$(ZLIBDIR)" && $(MAKE) /f win32\Makefile.msc $(ZLIB) && popd !endif -!ifdef FOSSIL_ENABLE_SSL +!if $(FOSSIL_ENABLE_SSL)!=0 openssl: @echo Building OpenSSL from "$(SSLDIR)"... !if "$(PERLDIR)" != "" @set PATH=$(PERLDIR);$(PATH) !endif @pushd "$(SSLDIR)" && $(PERL) Configure $(SSLCONFIG) && popd @pushd "$(SSLDIR)" && call $(SSLSETUP) && popd -!ifdef FOSSIL_ENABLE_WINXP +!if $(FOSSIL_ENABLE_WINXP)!=0 @pushd "$(SSLDIR)" && $(MAKE) /f $(SSLNMAKE) "CC=cl $(SSLCFLAGS) $(XPCFLAGS)" "LFLAGS=$(SSLLFLAGS) $(XPLDFLAGS)" && popd !else @pushd "$(SSLDIR)" && $(MAKE) /f $(SSLNMAKE) "CC=cl $(SSLCFLAGS)" && popd !endif !endif -!ifndef FOSSIL_ENABLE_MINIZ -!ifdef FOSSIL_BUILD_ZLIB +!if $(FOSSIL_ENABLE_MINIZ)==0 +!if $(FOSSIL_BUILD_ZLIB)!=0 APPTARGETS = $(APPTARGETS) zlib !endif !endif -!ifdef FOSSIL_ENABLE_SSL -!ifdef FOSSIL_BUILD_SSL +!if $(FOSSIL_ENABLE_SSL)!=0 +!if $(FOSSIL_BUILD_SSL)!=0 APPTARGETS = $(APPTARGETS) openssl !endif !endif $(APPNAME) : $(APPTARGETS) translate$E mkindex$E codecheck1$E headers $(OBJ) $(OX)\linkopts @@ -767,11 +791,11 @@ echo $(OX)\winhttp.obj >> $@ echo $(OX)\wysiwyg.obj >> $@ echo $(OX)\xfer.obj >> $@ echo $(OX)\xfersetup.obj >> $@ echo $(OX)\zip.obj >> $@ -!ifdef FOSSIL_ENABLE_MINIZ +!if $(FOSSIL_ENABLE_MINIZ)!=0 echo $(OX)\miniz.obj >> $@ !endif echo $(LIBS) >> $@ $(OX): Index: win/buildmsvc.bat ================================================================== --- win/buildmsvc.bat +++ win/buildmsvc.bat @@ -45,10 +45,21 @@ IF DEFINED VSVARS32 IF EXIST "%VSVARS32%" ( %_AECHO% Build environment batch file manually overridden to "%VSVARS32%"... GOTO skip_detectVisualStudio ) +REM +REM Visual Studio 2015 +REM +IF NOT DEFINED VS140COMNTOOLS GOTO skip_detectVisualStudio2015 +SET VSVARS32=%VS140COMNTOOLS%\vsvars32.bat +IF EXIST "%VSVARS32%" ( + %_AECHO% Using Visual Studio 2015... + GOTO skip_detectVisualStudio +) +:skip_detectVisualStudio2015 + REM REM Visual Studio 2013 REM IF NOT DEFINED VS120COMNTOOLS GOTO skip_detectVisualStudio2013 SET VSVARS32=%VS120COMNTOOLS%\vsvars32.bat