Ticket UUID: | 786d01dc532813d0a635ec7c203f8503c2383609 | ||
Title: | Fix some build issues on Windows | ||
Status: | Open | Type: | Build_Problem |
Severity: | Important | Priority: | |
Subsystem: | Resolution: | Open | |
Last Modified: | 2010-04-05 20:07:16 | ||
Version Found In: | 1f607de1db | ||
Description & Comments: | |||
The attached patch against version [1f607de1db] fixes the following build issues on Windows:
Remember to execute makemake.tcl after applying this patch. --tsbg anonymous claiming to be tsbg added on 2010-04-05 20:07:16: diff -Naur -x _FOSSIL_ -x build fossil-org/Makefile.w32 fossil-src/Makefile.w32 --- fossil-org/Makefile.w32 2010-04-04 15:15:42 +0000 +++ fossil-src/Makefile.w32 2010-04-05 10:19:38 +0000 @@ -19,9 +19,13 @@ # E = .exe -#### Enable HTTPS support via OpenSSL (links to libssl and libcrypto) +#### Make a binary with all libraries statically linked. # -# FOSSIL_ENABLE_SSL=1 +# FOSSIL_BUILD_STATIC = 1 + +#### Enable HTTPS support via OpenSSL. +# +# FOSSIL_ENABLE_SSL = 1 #### C Compile and options for use in building executables that # will run on the target platform. This is usually the same @@ -41,18 +45,25 @@ endif #### Extra arguments for linking the finished binary. Fossil needs -# to link against the Z-Lib compression library. There are no -# other dependencies. We sometimes add the -static option here -# so that we can build a static executable that will run in a -# chroot jail. -# -#LIB = -lz -#LIB = -lz -lws2_32 -LIB = -lmingwex -lz -lws2_32 +# to link against the Z-Lib compression library and to the OpenSSL crypto +# libraries when FOSSIL_ENABLE_SSL is defined. There are no other +# dependencies. +# +ifdef FOSSIL_BUILD_STATIC + LIB += -static + SSLLIBS = -lssl -lcrypto -lgdi32 +else +# SSLLIBS = -lssl32 -leay32 # OpenSSL Versions < 1.0.0 + SSLLIBS = -lssl -lcrypto # OpenSSL Versions >= 1.0.0 +endif +# # OpenSSL: ifdef FOSSIL_ENABLE_SSL -LIB += -lcrypto -lssl + LIB += $(SSLLIBS) endif +# +# Normal required libraries: +LIB += -lmingwex -lz -lws2_32 #### Tcl shell for use in running the fossil testsuite. # diff -Naur -x _FOSSIL_ -x build fossil-org/src/makemake.tcl fossil-src/src/makemake.tcl --- fossil-org/src/makemake.tcl 2010-04-04 15:18:11 +0000 +++ fossil-src/src/makemake.tcl 2010-04-05 10:42:39 +0000 @@ -114,7 +114,10 @@ puts -nonewline " \\\n \$(OBJDIR)/$s.o" } puts "\n" -puts "APPNAME = $name\$(E)" +puts "APPNAME = $name\$(E)" +puts "TRANSLATE = translate\$(E)" +puts "MAKEHEADERS = makeheaders\$(E)" +puts "MKINDEX = mkindex\$(E)" puts "\n" puts { @@ -126,13 +129,13 @@ $(OBJDIR): -mkdir $(OBJDIR) -translate: $(SRCDIR)/translate.c +$(TRANSLATE): $(SRCDIR)/translate.c $(BCC) -o translate $(SRCDIR)/translate.c -makeheaders: $(SRCDIR)/makeheaders.c +$(MAKEHEADERS): $(SRCDIR)/makeheaders.c $(BCC) -o makeheaders $(SRCDIR)/makeheaders.c -mkindex: $(SRCDIR)/mkindex.c +$(MKINDEX): $(SRCDIR)/mkindex.c $(BCC) -o mkindex $(SRCDIR)/mkindex.c # WARNING. DANGER. Running the testsuite modifies the repository the @@ -161,7 +164,7 @@ clean: rm -f $(OBJDIR)/*.o *_.c $(APPNAME) VERSION.h - rm -f translate makeheaders mkindex page_index.h headers} + rm -f $(TRANSLATE) $(MAKEHEADERS) $(MKINDEX) page_index.h headers} set hfiles {} foreach s [lsort $src] {lappend hfiles $s.h} @@ -175,23 +178,23 @@ append mhargs " \$(SRCDIR)/sqlite3.h" append mhargs " \$(SRCDIR)/th.h" append mhargs " VERSION.h" -puts "page_index.h: \$(TRANS_SRC) mkindex" -puts "\t./mkindex \$(TRANS_SRC) >$@" -puts "headers:\tpage_index.h makeheaders VERSION.h" -puts "\t./makeheaders $mhargs" +puts "page_index.h: \$(TRANS_SRC) \$(MKINDEX)" +puts "\t./\$(MKINDEX) \$(TRANS_SRC) >$@" +puts "headers:\tpage_index.h \$(MAKEHEADERS) VERSION.h" +puts "\t./\$(MAKEHEADERS) $mhargs" puts "\ttouch headers" puts "headers: Makefile" puts "Makefile:" set extra_h(main) page_index.h foreach s [lsort $src] { - puts "${s}_.c:\t\$(SRCDIR)/$s.c translate" - puts "\t./translate \$(SRCDIR)/$s.c >${s}_.c\n" + puts "${s}_.c:\t\$(SRCDIR)/$s.c \$(TRANSLATE)" + puts "\t./\$(TRANSLATE) \$(SRCDIR)/$s.c >${s}_.c" puts "\$(OBJDIR)/$s.o:\t${s}_.c $s.h $extra_h($s) \$(SRCDIR)/config.h" - puts "\t\$(XTCC) -o \$(OBJDIR)/$s.o -c ${s}_.c\n" - puts "$s.h:\theaders" -# puts "\t./makeheaders $mhargs\n\ttouch headers\n" -# puts "\t./makeheaders ${s}_.c:${s}.h\n" + puts "\t\$(XTCC) -o \$(OBJDIR)/$s.o -c ${s}_.c" + puts "$s.h:\theaders\n" +# puts "\t./$(MAKEHEADERS) $mhargs\n\ttouch headers\n" +# puts "\t./$(MAKEHEADERS) ${s}_.c:${s}.h\n" } |