Changes On Branch auto-mingw-makefile
Not logged in

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Changes In Branch auto-mingw-makefile Excluding Merge-Ins

This is equivalent to a diff from 24e298edd0 to f382b9a559

2011-11-14
03:02
Update the built-in SQLite to version 3.7.9 plus the 8-byte alignment fix in branch-3.7.9. check-in: 0c8d1ca9cd user: drh tags: trunk
00:13
fossil import --incremental should set the appropriate ancestor for the first commit in each branch being added Leaf check-in: c95d7a9c3d user: steveb tags: steveb-fixes
2011-11-13
09:11
Merge with trunk check-in: c30eaa8862 user: ashish tags: ashish-ipv6
2011-11-05
23:12
Slight syntax tweak for 'ifeq' statement, this may work on more make variants. Closed-Leaf check-in: f382b9a559 user: mistachkin tags: auto-mingw-makefile
23:04
Add comments about leading './' in front of source and build directory names. check-in: f3096fe00e user: mistachkin tags: auto-mingw-makefile
22:50
Add fixes to classic makefile to support MinGW mostly automatically. check-in: 590cee0ec9 user: mistachkin tags: auto-mingw-makefile
03:45
Fix some more compiler warnings seen with MSVC. check-in: 24e298edd0 user: mistachkin tags: trunk
03:22
Be sure to escape any backslashes when emitting #line preprocessor directives in the translate.c tool, cherrypick from [e36ad719cf]. check-in: c2bed5b3db user: mistachkin tags: trunk

Changes to Makefile.classic.

     3      3   # This is the top-level makefile for Fossil when the build is occurring
     4      4   # on a unix platform.  This works out-of-the-box on most unix platforms.
     5      5   # But you are free to vary some of the definitions if desired.
     6      6   #
     7      7   #### The toplevel directory of the source tree.  Fossil can be built
     8      8   #    in a directory that is separate from the source tree.  Just change
     9      9   #    the following to point from the build directory to the src/ folder.
           10  +#    Having a "./" prefix in the value of this variable breaks our use of the
           11  +#    "makeheaders" tool when running make on the MinGW platform, apparently
           12  +#    due to some command line argument manipulation performed automatically
           13  +#    by the shell.
    10     14   #
    11         -SRCDIR = ./src
           15  +SRCDIR = src
    12     16   
    13     17   #### The directory into which object code files should be written.
           18  +#    Having a "./" prefix in the value of this variable breaks our use of the
           19  +#    "makeheaders" tool when running make on the MinGW platform, apparently
           20  +#    due to some command line argument manipulation performed automatically
           21  +#    by the shell.
    14     22   #
    15     23   #
    16         -OBJDIR = ./bld
           24  +OBJDIR = bld
    17     25   
    18     26   #### C Compiler and options for use in building executables that
    19     27   #    will run on the platform that is doing the build.  This is used
    20     28   #    to compile code-generator programs as part of the build process.
    21     29   #    See TCC below for the C compiler for building the finished binary.
    22     30   #
    23     31   BCC = gcc
................................................................................
    34     42   #    for building intermediate code-generator tools.
    35     43   #
    36     44   #TCC = gcc -O6
    37     45   #TCC = gcc -g -O0 -Wall -fprofile-arcs -ftest-coverage
    38     46   TCC = gcc -g -Os -Wall
    39     47   
    40     48   # To add support for HTTPS
    41         -TCC += -DFOSSIL_ENABLE_SSL
           49  +TCC += -DFOSSIL_ENABLE_SSL=1
    42     50   
    43     51   #### Extra arguments for linking the finished binary.  Fossil needs
    44     52   #    to link against the Z-Lib compression library.  There are no
    45     53   #    other dependencies.  We sometimes add the -static option here
    46     54   #    so that we can build a static executable that will run in a
    47     55   #    chroot jail.
    48     56   #
    49     57   LIB = -lz $(LDFLAGS)
    50     58   
    51     59   # If using HTTPS:
    52         -LIB += -lcrypto -lssl
           60  +#
           61  +# NOTE: These must appear in exactly this order or MinGW will complain about
           62  +#       missing symbols.
           63  +#
           64  +LIB += -lssl -lcrypto
           65  +
           66  +#------------------------------------------------------------------------------
           67  +# Begin MinGW Section (the following lines may all be commented out unless
           68  +# building on Windows via MinGW).
           69  +#------------------------------------------------------------------------------
           70  +
           71  +# Where is zlib (needed for MinGW builds only)?
           72  +ZLIBDIR = $(SRCDIR)/../zlib-1.2.5
           73  +
           74  +# Where is OpenSSL (needed for MinGW builds only)?
           75  +OPENSSLDIR = $(SRCDIR)/../openssl-1.0.0e
           76  +
           77  +# Include directory for zlib (needed for MinGW builds only)
           78  +TCC.MINGW32_NT-6.1 = -I$(ZLIBDIR)
           79  +
           80  +# Include directory for OpenSSL (needed for MinGW builds only)
           81  +TCC.MINGW32_NT-6.1 += -I$(OPENSSLDIR)/include
           82  +
           83  +# Library directory for zlib (needed for MinGW builds only).
           84  +LIB.MINGW32_NT-6.1 = -L$(ZLIBDIR)
           85  +
           86  +# Library directory for OpenSSL (needed for MinGW builds only).
           87  +LIB.MINGW32_NT-6.1 += -L$(OPENSSLDIR)
           88  +
           89  +# Add the necessary Windows libraries (needed for Windows builds only).
           90  +LIB.MINGW32_NT-6.1 += -lgdi32 -lws2_32
           91  +
           92  +#------------------------------------------------------------------------------
           93  +# End MinGW Section (the preceeding lines may all be commented out unless
           94  +# building on Windows via MinGW)
           95  +#------------------------------------------------------------------------------
    53     96   
    54     97   #### Tcl shell for use in running the fossil testsuite.  If you do not
    55     98   #    care about testing the end result, this can be blank.
    56     99   #
    57    100   TCLSH = tclsh
    58    101   
    59    102   # You should not need to change anything below this line
    60    103   ###############################################################################
    61    104   #
    62    105   # Automatic platform-specific options.
    63    106   HOST_OS_CMD = uname -s
    64    107   HOST_OS = $(HOST_OS_CMD:sh)
          108  +
          109  +# On MinGW, slightly different detection magic is required.
          110  +ifeq ($(HOST_OS),)
          111  +HOST_OS = $(shell $(HOST_OS_CMD))
          112  +endif
    65    113   
    66    114   LIB.SunOS= -lsocket -lnsl
    67    115   LIB += $(LIB.$(HOST_OS))
    68    116   
    69    117   TCC.DragonFly += -DUSE_PREAD
    70    118   TCC.FreeBSD += -DUSE_PREAD
    71    119   TCC.NetBSD += -DUSE_PREAD
    72    120   TCC.OpenBSD += -DUSE_PREAD
    73    121   TCC += $(TCC.$(HOST_OS))
    74    122   
    75    123   include $(SRCDIR)/main.mk