Index: src/makemake.tcl ================================================================== --- src/makemake.tcl +++ src/makemake.tcl @@ -327,20 +327,21 @@ # # This file is automatically generated. Instead of editing this # file, edit "makemake.tcl" then run "tclsh makemake.tcl" # to regenerate this file. # -# This is a makefile for use on Windows/Linux/Darwin/Cygwin using MinGW/Mingw-w64. -# - -#### -# -# Select one of mingw, mingw-64 (32-bit) or mingw-w64 (64-bit) -# -PREFIX=i686-pc-mingw32- -#PREFIX=i686-w64-mingw32- -#PREFIX=x86_64-w64-mingw32- +# This is a makefile for use on Windows/Linux/Darwin/Cygwin using MinGW or +# MinGW-w64. +# + +#### Select one of MinGW, MinGW-64 (32-bit) or MinGW-w64 (64-bit) compilers. +# By default, this is an empty string (i.e. use the native compiler). +# +PREFIX = +# PREFIX = i686-pc-mingw32- +# PREFIX = i686-w64-mingw32- +# PREFIX = x86_64-w64-mingw32- #### The toplevel directory of the source tree. Fossil can be built # in a directory that is separate from the source tree. Just change # the following to point from the build directory to the src/ folder. # @@ -425,47 +426,54 @@ # the finished binary for fossil. The BCC compiler above is used # for building intermediate code-generator tools. # TCC = $(PREFIX)gcc -Os -Wall -L$(ZLIBDIR) -I$(ZINCDIR) +#### Compile resources for use in building executables that will run +# on the target platform. +# +RCC = $(PREFIX)windres -I$(SRCDIR) -I$(ZINCDIR) + # With HTTPS support ifdef FOSSIL_ENABLE_SSL TCC += -L$(OPENSSLLIBDIR) -I$(OPENSSLINCDIR) +RCC += -I$(OPENSSLINCDIR) endif # With Tcl support ifdef FOSSIL_ENABLE_TCL ifdef FOSSIL_TCL_SOURCE TCC += -L$(TCLSRCDIR)/win -I$(TCLSRCDIR)/generic -I$(TCLSRCDIR)/win +RCC += -I$(TCLSRCDIR)/generic -I$(TCLSRCDIR)/win else TCC += -L$(TCLLIBDIR) -I$(TCLINCDIR) +RCC += -I$(TCLINCDIR) endif endif # With HTTPS support ifdef FOSSIL_ENABLE_SSL TCC += -DFOSSIL_ENABLE_SSL=1 +RCC += -DFOSSIL_ENABLE_SSL=1 endif # With Tcl support (statically linked) ifdef FOSSIL_ENABLE_TCL TCC += -DFOSSIL_ENABLE_TCL=1 -DSTATIC_BUILD +RCC += -DFOSSIL_ENABLE_TCL=1 endif # With JSON support ifdef FOSSIL_ENABLE_JSON TCC += -DFOSSIL_ENABLE_JSON=1 +RCC += -DFOSSIL_ENABLE_JSON=1 endif -#### Extra arguments for linking the finished binary. Fossil needs -# to link against the Z-Lib compression library. There are no -# other mandatory dependencies. We add the -static option here -# so that we can build a static executable that will run in a -# chroot jail. +#### We add the -static option here so that we can build a static +# executable that will run in a chroot jail. # LIB = -static -LIB += -lmingwex -lz # OpenSSL: Add the necessary libraries required, if enabled. ifdef FOSSIL_ENABLE_SSL LIB += -lssl -lcrypto -lgdi32 endif @@ -472,10 +480,16 @@ # Tcl: Add the necessary libraries required, if enabled. ifdef FOSSIL_ENABLE_TCL LIB += $(LIBTCL) endif + +#### Extra arguments for linking the finished binary. Fossil needs +# to link against the Z-Lib compression library. There are no +# other mandatory dependencies. +# +LIB += -lmingwex -lz #### These libraries MUST appear in the same order as they do for Tcl # or linking with it will not work (exact reason unknown). # ifdef FOSSIL_ENABLE_TCL @@ -526,12 +540,13 @@ writeln { all: $(OBJDIR) $(APPNAME) $(OBJDIR)/fossil.o: $(SRCDIR)/../win/fossil.rc + cp $(SRCDIR)/../win/fossil.rc $(OBJDIR) cp $(SRCDIR)/../win/fossil.ico $(OBJDIR) - $(PREFIX)windres -I$(SRCDIR) $(OBJDIR)/fossil.rc -o $(OBJDIR)/fossil.o + $(RCC) $(OBJDIR)/fossil.rc -o $(OBJDIR)/fossil.o install: $(APPNAME) mkdir -p $(INSTALLDIR) mv $(APPNAME) $(INSTALLDIR) Index: win/Makefile.mingw ================================================================== --- win/Makefile.mingw +++ win/Makefile.mingw @@ -6,20 +6,21 @@ # # This file is automatically generated. Instead of editing this # file, edit "makemake.tcl" then run "tclsh makemake.tcl" # to regenerate this file. # -# This is a makefile for use on Windows/Linux/Darwin/Cygwin using MinGW/Mingw-w64. -# - -#### -# -# Select one of mingw, mingw-64 (32-bit) or mingw-w64 (64-bit) -# -PREFIX=i686-pc-mingw32- -#PREFIX=i686-w64-mingw32- -#PREFIX=x86_64-w64-mingw32- +# This is a makefile for use on Windows/Linux/Darwin/Cygwin using MinGW or +# MinGW-w64. +# + +#### Select one of MinGW, MinGW-64 (32-bit) or MinGW-w64 (64-bit) compilers. +# By default, this is an empty string (i.e. use the native compiler). +# +PREFIX = +# PREFIX = i686-pc-mingw32- +# PREFIX = i686-w64-mingw32- +# PREFIX = x86_64-w64-mingw32- #### The toplevel directory of the source tree. Fossil can be built # in a directory that is separate from the source tree. Just change # the following to point from the build directory to the src/ folder. # @@ -104,47 +105,54 @@ # the finished binary for fossil. The BCC compiler above is used # for building intermediate code-generator tools. # TCC = $(PREFIX)gcc -Os -Wall -L$(ZLIBDIR) -I$(ZINCDIR) +#### Compile resources for use in building executables that will run +# on the target platform. +# +RCC = $(PREFIX)windres -I$(SRCDIR) -I$(ZINCDIR) + # With HTTPS support ifdef FOSSIL_ENABLE_SSL TCC += -L$(OPENSSLLIBDIR) -I$(OPENSSLINCDIR) +RCC += -I$(OPENSSLINCDIR) endif # With Tcl support ifdef FOSSIL_ENABLE_TCL ifdef FOSSIL_TCL_SOURCE TCC += -L$(TCLSRCDIR)/win -I$(TCLSRCDIR)/generic -I$(TCLSRCDIR)/win +RCC += -I$(TCLSRCDIR)/generic -I$(TCLSRCDIR)/win else TCC += -L$(TCLLIBDIR) -I$(TCLINCDIR) +RCC += -I$(TCLINCDIR) endif endif # With HTTPS support ifdef FOSSIL_ENABLE_SSL TCC += -DFOSSIL_ENABLE_SSL=1 +RCC += -DFOSSIL_ENABLE_SSL=1 endif # With Tcl support (statically linked) ifdef FOSSIL_ENABLE_TCL TCC += -DFOSSIL_ENABLE_TCL=1 -DSTATIC_BUILD +RCC += -DFOSSIL_ENABLE_TCL=1 endif # With JSON support ifdef FOSSIL_ENABLE_JSON TCC += -DFOSSIL_ENABLE_JSON=1 +RCC += -DFOSSIL_ENABLE_JSON=1 endif -#### Extra arguments for linking the finished binary. Fossil needs -# to link against the Z-Lib compression library. There are no -# other mandatory dependencies. We add the -static option here -# so that we can build a static executable that will run in a -# chroot jail. +#### We add the -static option here so that we can build a static +# executable that will run in a chroot jail. # LIB = -static -LIB += -lmingwex -lz # OpenSSL: Add the necessary libraries required, if enabled. ifdef FOSSIL_ENABLE_SSL LIB += -lssl -lcrypto -lgdi32 endif @@ -151,10 +159,16 @@ # Tcl: Add the necessary libraries required, if enabled. ifdef FOSSIL_ENABLE_TCL LIB += $(LIBTCL) endif + +#### Extra arguments for linking the finished binary. Fossil needs +# to link against the Z-Lib compression library. There are no +# other mandatory dependencies. +# +LIB += -lmingwex -lz #### These libraries MUST appear in the same order as they do for Tcl # or linking with it will not work (exact reason unknown). # ifdef FOSSIL_ENABLE_TCL @@ -491,11 +505,11 @@ all: $(OBJDIR) $(APPNAME) $(OBJDIR)/fossil.o: $(SRCDIR)/../win/fossil.rc cp $(SRCDIR)/../win/fossil.rc $(OBJDIR) cp $(SRCDIR)/../win/fossil.ico $(OBJDIR) - $(PREFIX)windres -I$(SRCDIR) $(OBJDIR)/fossil.rc -o $(OBJDIR)/fossil.o + $(RCC) $(OBJDIR)/fossil.rc -o $(OBJDIR)/fossil.o install: $(APPNAME) mkdir -p $(INSTALLDIR) mv $(APPNAME) $(INSTALLDIR) Index: win/Makefile.mingw.mistachkin ================================================================== --- win/Makefile.mingw.mistachkin +++ win/Makefile.mingw.mistachkin @@ -6,20 +6,21 @@ # # This file is automatically generated. Instead of editing this # file, edit "makemake.tcl" then run "tclsh makemake.tcl" # to regenerate this file. # -# This is a makefile for use on Windows/Linux/Darwin/Cygwin using MinGW/Mingw-w64. -# - -#### -# -# Select one of mingw, mingw-64 (32-bit) or mingw-w64 (64-bit) -# -PREFIX=i686-pc-mingw32- -#PREFIX=i686-w64-mingw32- -#PREFIX=x86_64-w64-mingw32- +# This is a makefile for use on Windows/Linux/Darwin/Cygwin using MinGW or +# MinGW-w64. +# + +#### Select one of MinGW, MinGW-64 (32-bit) or MinGW-w64 (64-bit) compilers. +# By default, this is an empty string (i.e. use the native compiler). +# +PREFIX = +# PREFIX = i686-pc-mingw32- +# PREFIX = i686-w64-mingw32- +# PREFIX = x86_64-w64-mingw32- #### The toplevel directory of the source tree. Fossil can be built # in a directory that is separate from the source tree. Just change # the following to point from the build directory to the src/ folder. # @@ -104,47 +105,54 @@ # the finished binary for fossil. The BCC compiler above is used # for building intermediate code-generator tools. # TCC = $(PREFIX)gcc -Os -Wall -L$(ZLIBDIR) -I$(ZINCDIR) +#### Compile resources for use in building executables that will run +# on the target platform. +# +RCC = $(PREFIX)windres -I$(SRCDIR) -I$(ZINCDIR) + # With HTTPS support ifdef FOSSIL_ENABLE_SSL TCC += -L$(OPENSSLLIBDIR) -I$(OPENSSLINCDIR) +RCC += -I$(OPENSSLINCDIR) endif # With Tcl support ifdef FOSSIL_ENABLE_TCL ifdef FOSSIL_TCL_SOURCE TCC += -L$(TCLSRCDIR)/win -I$(TCLSRCDIR)/generic -I$(TCLSRCDIR)/win +RCC += -I$(TCLSRCDIR)/generic -I$(TCLSRCDIR)/win else TCC += -L$(TCLLIBDIR) -I$(TCLINCDIR) +RCC += -I$(TCLINCDIR) endif endif # With HTTPS support ifdef FOSSIL_ENABLE_SSL TCC += -DFOSSIL_ENABLE_SSL=1 +RCC += -DFOSSIL_ENABLE_SSL=1 endif # With Tcl support (statically linked) ifdef FOSSIL_ENABLE_TCL TCC += -DFOSSIL_ENABLE_TCL=1 -DSTATIC_BUILD +RCC += -DFOSSIL_ENABLE_TCL=1 endif # With JSON support ifdef FOSSIL_ENABLE_JSON TCC += -DFOSSIL_ENABLE_JSON=1 +RCC += -DFOSSIL_ENABLE_JSON=1 endif -#### Extra arguments for linking the finished binary. Fossil needs -# to link against the Z-Lib compression library. There are no -# other mandatory dependencies. We add the -static option here -# so that we can build a static executable that will run in a -# chroot jail. +#### We add the -static option here so that we can build a static +# executable that will run in a chroot jail. # LIB = -static -LIB += -lmingwex -lz # OpenSSL: Add the necessary libraries required, if enabled. ifdef FOSSIL_ENABLE_SSL LIB += -lssl -lcrypto -lgdi32 endif @@ -151,10 +159,16 @@ # Tcl: Add the necessary libraries required, if enabled. ifdef FOSSIL_ENABLE_TCL LIB += $(LIBTCL) endif + +#### Extra arguments for linking the finished binary. Fossil needs +# to link against the Z-Lib compression library. There are no +# other mandatory dependencies. +# +LIB += -lmingwex -lz #### These libraries MUST appear in the same order as they do for Tcl # or linking with it will not work (exact reason unknown). # ifdef FOSSIL_ENABLE_TCL @@ -489,12 +503,13 @@ all: $(OBJDIR) $(APPNAME) $(OBJDIR)/fossil.o: $(SRCDIR)/../win/fossil.rc + cp $(SRCDIR)/../win/fossil.rc $(OBJDIR) cp $(SRCDIR)/../win/fossil.ico $(OBJDIR) - $(PREFIX)windres -I$(SRCDIR) $(OBJDIR)/fossil.rc -o $(OBJDIR)/fossil.o + $(RCC) $(OBJDIR)/fossil.rc -o $(OBJDIR)/fossil.o install: $(APPNAME) mkdir -p $(INSTALLDIR) mv $(APPNAME) $(INSTALLDIR) Index: win/fossil.rc ================================================================== --- win/fossil.rc +++ win/fossil.rc @@ -1,38 +1,105 @@ -#include -#include "VERSION.h" -#define _RC_COMPILE_ -#include "config.h" - -LANGUAGE LANG_ENGLISH,SUBLANG_ENGLISH_US - -VS_VERSION_INFO VERSIONINFO -FILEVERSION 1,0,0,0 -PRODUCTVERSION 1,0,0,0 -FILEFLAGSMASK 0x3F -FILEFLAGS 0x0 -FILEOS VOS__WINDOWS32 -FILETYPE VFT_APP -FILESUBTYPE VFT2_UNKNOWN -BEGIN - BLOCK "StringFileInfo" - BEGIN - BLOCK "040904B0" - BEGIN - VALUE "FileDescription", "distributed source code control system with integrated wiki and ticket-system\0" - VALUE "Comments", "compiler: "COMPILER_NAME"\0" - VALUE "FileVersion", MANIFEST_UUID"("COMPILER_NAME"\0" - VALUE "InternalName", "fossil\0" - VALUE "LegalCopyright", "Copyright (c) "MANIFEST_YEAR" D. Richard Hipp\0" - VALUE "OriginalFilename", "fossil.exe\0" - VALUE "ProductName", "fossil\0" - VALUE "ProductVersion", MANIFEST_VERSION" "MANIFEST_DATE" UTC\0" - END - END - BLOCK "VarFileInfo" - BEGIN - VALUE "Translation", 0x409, 0x4B0 - END -END - -8001 ICON "fossil.ico" - +/* +** Copyright (c) 2012 D. Richard Hipp +** +** This program is free software; you can redistribute it and/or +** modify it under the terms of the Simplified BSD License (also +** known as the "2-Clause License" or "FreeBSD License".) + +** This program is distributed in the hope that it will be useful, +** but without any warranty; without even the implied warranty of +** merchantability or fitness for a particular purpose. +** +** Author contact information: +** drh@hwaci.com +** http://www.hwaci.com/drh/ +** +******************************************************************************* +** +** This file contains resource information for the executable on Windows. +*/ + +#if !defined(_WIN32_WCE) +#include "winresrc.h" +#else +#include "windows.h" +#endif + +#include "VERSION.h" +#define _RC_COMPILE_ +#include "config.h" +#include "sqlite3.h" +#include "zlib.h" + +#ifdef FOSSIL_ENABLE_SSL +#include "openssl/opensslv.h" +#endif + +#ifdef FOSSIL_ENABLE_TCL +#include "tcl.h" +#endif + +/* + * English (U.S.) resources + */ + +#ifdef _WIN32 +LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US +#pragma code_page(1252) +#endif /* _WIN32 */ + +/* + * Icon + */ + +#define IDI_FOSSIL 8001 + +IDI_FOSSIL ICON "fossil.ico" + +/* + * Version + */ + +VS_VERSION_INFO VERSIONINFO + FILEVERSION 1,0,0,0 + PRODUCTVERSION 1,0,0,0 + FILEFLAGSMASK 0x3F +#if defined(_DEBUG) + FILEFLAGS 0x1L +#else + FILEFLAGS 0x0L +#endif + FILEOS VOS__WINDOWS32 + FILETYPE VFT_APP + FILESUBTYPE VFT2_UNKNOWN +BEGIN + BLOCK "StringFileInfo" + BEGIN + BLOCK "040904B0" + BEGIN + VALUE "CompanyName", "Fossil Development Team\0" + VALUE "FileDescription", "Simple, high-reliability, distributed software configuration management system.\0" + VALUE "ProductName", "Fossil\0" + VALUE "ProductVersion", "Fossil " RELEASE_VERSION " " MANIFEST_VERSION " " MANIFEST_DATE " UTC\0" + VALUE "FileVersion", "Fossil " RELEASE_VERSION " " MANIFEST_VERSION " " MANIFEST_DATE " UTC\0" + VALUE "InternalName", "fossil\0" + VALUE "LegalCopyright", "Copyright © " MANIFEST_YEAR " by D. Richard Hipp. All rights reserved.\0" + VALUE "OriginalFilename", "fossil.exe\0" + VALUE "Compiler", COMPILER_NAME "\0" + VALUE "SQLiteVersion", "SQLite " SQLITE_VERSION " " SQLITE_SOURCE_ID "\0" + VALUE "ZlibVersion", "zlib " ZLIB_VERSION "\0" +#ifdef FOSSIL_ENABLE_SSL + VALUE "SslEnabled", "Yes, " OPENSSL_VERSION_TEXT "\0" +#endif +#ifdef FOSSIL_ENABLE_TCL + VALUE "TclEnabled", "Yes, Tcl " TCL_PATCH_LEVEL "\0" +#endif +#ifdef FOSSIL_ENABLE_JSON + VALUE "JsonEnabled", "Yes, cson\0" +#endif + END + END + BLOCK "VarFileInfo" + BEGIN + VALUE "Translation", 0x409, 0x4B0 + END +END