Fossil

Check-in [fad57367]
Login

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

Overview
Comment:Modified into a saner scheme than using fragments and oddball defaults.
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | ttmrichter
Files: files | file ages | folders
SHA1:fad57367c9bfe1b0dae6bd29179e7528f46d2bec
User & Date: michael 2010-07-13 15:53:57
Context
2010-07-25
08:27
Merge trunk into branch. check-in: 1bfe076a user: michael tags: ttmrichter
2010-07-14
05:21
Create new branch named "ticket-92d3a03459" Closed-Leaf check-in: 0fadfd26 user: michael tags: ticket-92d3a03459
2010-07-13
15:53
Modified into a saner scheme than using fragments and oddball defaults. check-in: fad57367 user: michael tags: ttmrichter
2010-07-11
03:29
Since there's no difference between Solaris and OpenSolaris in builds (they both require libnsl it turns out), the files are now merged as PLATFORM=solaris. check-in: 0ec2c22d user: michael tags: newbuild, ttmrichter
Changes
Hide Diffs Unified Diffs Ignore Whitespace Patch

Changes to Makefile.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40

41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58




59
60
61
62
63
64
65
66
67
#!/usr/bin/make
#
#### The directory in which Makefile fragments are stored.
#
MAKEDIR = ./make

#### Any site-specific pre-defined settings go here.  Settings in this file are
#    intended to direct the compilation below.
#
-include pre-config.mk

#### Set up our compiler if it hasn't already been defined.

ifndef COMPILER
  COMPILER = gcc
endif

#### Set up our platform if it hasn't already been defined.
#
ifndef PLATFORM
  # We default to Linux.
  # TODO: Figure out how to reliably identify the platform from Make.  Sadly the
  #       OSTYPE environment variable isn't carried through into GNU Make, so we
  #       can't do this the obvious way.
  PLATFORM = linux
endif

#### 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.
#
SRCDIR = ./src

#### Include the fragments we need from our specific environment.
#
include $(MAKEDIR)/$(PLATFORM)-fragment.mk
include $(MAKEDIR)/$(COMPILER)-fragment.mk

#### Any site-specific post-defined settings go here.  Settings in this file are
#    intended to override the settings already established.

#
-include post-config.mk

#### The following section beginning after #+++ and ending before #--- is used
#    inside the $(PLATFORM)-fragment.mk files to turn on the features required
#    or desired by builds on that platform.  They are replicated here for
#    documentation purposes only and should not be set in this file.
#+++
#### The following variable definitions decide which features are turned on or
#    of when building Fossil.  Comment out the features which are not needed by
#    this platform.
#
#ENABLE_STATIC = 1	# we want a static build
#ENABLE_SSL = 1		# we are using SSL
#ENABLE_SOCKET = 1	# we are using libsocket (OpenSolaris and Solaris)
#ENABLE_NSL = 1		# we are using libnsl library (Solaris)
#ENABLE_I18N = 1	# we are using i18n settings
#---





#### The Tcl shell to run for test suites.
#
TCLSH = tclsh

# You should not need to change anything below this line
###############################################################################
include $(SRCDIR)/main.mk







<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<






<
<
<
<
<
|
<
>

<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
>
>
>
>









1
2
3
4
5
6





















7
8
9
10
11
12





13

14
15

















16
17
18
19
20
21
22
23
24
25
26
27
28
#!/usr/bin/make
#
#### The directory in which Makefile fragments are stored.
#
MAKEDIR = ./make






















#### 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.
#
SRCDIR = ./src






#### Any site-specific pre-defined settings go here.  Settings in this file are

#    intended to direct the compilation below.
#

















-include config.mk				# Configure if present.
ifndef CONFIG_MK_COMPLETE
  include $(MAKEDIR)/linux-gcc-config.mk	# Default to linux-gcc.
endif

#### The Tcl shell to run for test suites.
#
TCLSH = tclsh

# You should not need to change anything below this line
###############################################################################
include $(SRCDIR)/main.mk

Changes to make/README.wiki.

1
2

3
4
5
6
7
8
9
10
11
12
13
14
15
16



17
18
19
20
21
22
23

24
The makefile fragments in this "new build" directory are of three kinds:


  *  Platform fragments for OS-specific settings. (e.g.
     <code>linux-fragment.mk</code>);
  *  Compiler fragments for compiler-specific settings (e.g.
     <code>clang-fragment.mk</code>);
  *  Sample <code>pre-config.mk</code> fragments to use as a baseline for
     site-specific customization of the build process (e.g.
     <code>linuxgcc-pre-config.mk</code>.

Platform and compiler fragments should not be edited at site except to correct
errors in implementation or to add desirable new features so that clashes with
the <cite>Fossil</cite> repository don't interfere with operations. Where
possible all site customization should be done in pre- and post-config makefile
fragments. (Where this is not possible is probably indicative of modifications
required to the new build process.




To use the sample pre-config fragments, simply copy them into the
<cite>Fossil</cite> distribution's root directory as <code>pre-config.mk</code>
and edit to taste.

Note: new platform and compiler files are always welcome additions to the
community. In particular MacOSX build files would be nice to have.


|
<
>
|
|
<
<
<
<
|

<
<
<
<
<
<
>
>
>

<
<
<
<

|
>

1

2
3
4




5
6






7
8
9
10




11
12
13
14
The makefile fragments in this "new build" directory are used to provide

platform-specific builds out-of-the-box with minimal user intervention. They are
named as <code>PLATFORM-COMPILER-config.mk</code> and are used by copying them
into the <cite>Fossil</cite> distribution root directory as




<code>config.mk</code>.







The file <code>linux-gcc-config.mk</code> is the default make file fragment
brought in by the main <code>Makefile</code> if no <code>config.mk</code> file
has been copied.





Note: new platform and compiler files are always welcome additions to the
community. In particular MacOSX build files would be nice to have as well as
alternative compilers.

Deleted make/clang-fragment.mk.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
#### Compiler-specific configuration for users of the CLANG compiler suite.
#

#### C Compiler and options for use in building executables that
#    will run on the platform that is doing the build.  This is used
#    to compile code-generator programs as part of the build process.
#    See TCC below for the C compiler for building the finished binary.
#
BCC = clang -g -O2

#### C Compile and options for use in building executables that
#    will run on the target platform.  This is usually the same
#    as BCC, unless you are cross-compiling.  This C compiler builds
#    the finished binary for fossil.  The BCC compiler above is used
#    for building intermediate code-generator tools.
#
TCC = clang -g -Os -Wall

#### Compiler options.
#    The variables tested are defined in the make/PLATFORM-fragment.mk files.
#
ifdef ENABLE_SSL
  TCC += -DFOSSIL_ENABLE_SSL=1
endif
ifndef ENABLE_I18N
  TCC += -DFOSSIL_I18N=0
endif
ifdef PLATFORM_SPECIFIC_CLANG
  TCC += $(PLATFORM_SPECIFIC_CLANG)
endif

#### Linker dependencies.  Fossil only requires libz as an external dependency.
#    All other library settings are optional and toggled in platform-specific
#    make fragments.
#
LIB = -lz $(LDFLAGS)

#### Linker options.
#    The variables tested are defined in the make/PLATFORM-fragment.mk files.
#
ifdef ENABLE_STATIC
  LIB += -static
endif
ifdef ENABLE_SSL
  LIB += -lcrypto -lssl
endif
ifdef ENABLE_SOCKET
  LIB += -lsocket
endif
ifdef ENABLE_NSL
  LIB += -lnsl
endif
ifdef PLATFORM_SPECIFIC_LIB
  LIB += $(PLATFORM_SPECIFIC_LIB)
endif

<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
















































































































Deleted make/freebsd-fragment.mk.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#### OS-specific configuration for building Fossil on FreeBSD systems.
#    NOTE: You will need to have GNU Make installed to use this.
#

#### The suffix to add to executable files.  ".exe" for windows.
#    Nothing for unix.
#
E =

#### The directory into which object code files should be written.
#
OBJDIR = ./obj

#### The following variable definitions decide which features are turned on or
#    of when building Fossil.  Comment out the features which are not needed by
#    this platform.
#
#ENABLE_STATIC = 1	# we want a static build
ENABLE_SSL = 1		# we are using SSL
#ENABLE_SOCKET = 1	# we are using libsocket (OpenSolaris and Solaris)
#ENABLE_NSL = 1		# we are using libnsl library (Solaris)
ENABLE_I18N = 1		# we are using i18n settings

<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<














































Name change from make/freebsdgcc-pre-config.mk to make/freebsd-gcc-config.mk.

1
2
3
4
5

6

7










































































#### Sample pre-config.mk file for FreeBSD with GCC.
#    Copy this file as pre-config.mk in the Fossil root directory to use.
#    NOTE: You will need to have GNU Make installed to use this.
#
PLATFORM=freebsd

COMPILER=gcc












































































|
|


<
>
|
>
|
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4

5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
#### config.mk file for FreeBSD with GCC.
#    Copy this file as config.mk in the Fossil root directory to use.
#    NOTE: You will need to have GNU Make installed to use this.
#


#### OS-specific configuration for building Fossil on FreeBSD systems.
#    NOTE: You will need to have GNU Make installed to use this.
#

#### The suffix to add to executable files.  ".exe" for windows.
#    Nothing for unix.
#
E =

#### The directory into which object code files should be written.
#
OBJDIR = ./obj

#### The following variable definitions decide which features are turned on or
#    of when building Fossil.  Comment out the features which are not needed by
#    this platform.
#
#ENABLE_STATIC = 1	# we want a static build
ENABLE_SSL = 1		# we are using SSL
#ENABLE_SOCKET = 1	# we are using libsocket (OpenSolaris and Solaris)
#ENABLE_NSL = 1		# we are using libnsl library (Solaris)
ENABLE_I18N = 1		# we are using i18n settings

#### Compiler-specific configuration for users of the GCC compiler suite.
#

#### C Compiler and options for use in building executables that
#    will run on the platform that is doing the build.  This is used
#    to compile code-generator programs as part of the build process.
#    See TCC below for the C compiler for building the finished binary.
#
BCC = gcc -g -O2

#### C Compile and options for use in building executables that
#    will run on the target platform.  This is usually the same
#    as BCC, unless you are cross-compiling.  This C compiler builds
#    the finished binary for fossil.  The BCC compiler above is used
#    for building intermediate code-generator tools.
#
TCC = gcc -g -Os -Wall

#### Compiler options.
#    The variables tested are defined in the make/PLATFORM-fragment.mk files.
#
ifdef ENABLE_SSL
  TCC += -DFOSSIL_ENABLE_SSL=1
endif
ifndef ENABLE_I18N
  TCC += -DFOSSIL_I18N=0
endif

#### Linker dependencies.  Fossil only requires libz as an external dependency.
#    All other library settings are optional and toggled in platform-specific
#    make fragments.
#
LIB = -lz $(LDFLAGS)

#### Linker options.
#    The variables tested are defined in the make/PLATFORM-fragment.mk files.
#
ifdef ENABLE_STATIC
  LIB += -static
endif
ifdef ENABLE_SSL
  LIB += -lcrypto -lssl
endif
ifdef ENABLE_SOCKET
  LIB += -lsocket
endif
ifdef ENABLE_NSL
  LIB += -lnsl
endif

#### Signal that we've used a config.mk file.
#
CONFIG_MK_COMPLETE=1

Deleted make/gcc-fragment.mk.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
#### Compiler-specific configuration for users of the GCC compiler suite.
#

#### C Compiler and options for use in building executables that
#    will run on the platform that is doing the build.  This is used
#    to compile code-generator programs as part of the build process.
#    See TCC below for the C compiler for building the finished binary.
#
BCC = gcc -g -O2

#### C Compile and options for use in building executables that
#    will run on the target platform.  This is usually the same
#    as BCC, unless you are cross-compiling.  This C compiler builds
#    the finished binary for fossil.  The BCC compiler above is used
#    for building intermediate code-generator tools.
#
TCC = gcc -g -Os -Wall

#### Compiler options.
#    The variables tested are defined in the make/PLATFORM-fragment.mk files.
#
ifdef ENABLE_SSL
  TCC += -DFOSSIL_ENABLE_SSL=1
endif
ifndef ENABLE_I18N
  TCC += -DFOSSIL_I18N=0
endif
ifdef PLATFORM_SPECIFIC_GCC
  TCC += $(PLATFORM_SPECIFIC_GCC)
endif

#### Linker dependencies.  Fossil only requires libz as an external dependency.
#    All other library settings are optional and toggled in platform-specific
#    make fragments.
#
LIB = -lz $(LDFLAGS)

#### Linker options.
#    The variables tested are defined in the make/PLATFORM-fragment.mk files.
#
ifdef ENABLE_STATIC
  LIB += -static
endif
ifdef ENABLE_SSL
  LIB += -lcrypto -lssl
endif
ifdef ENABLE_SOCKET
  LIB += -lsocket
endif
ifdef ENABLE_NSL
  LIB += -lnsl
endif
ifdef PLATFORM_SPECIFIC_LIB
  LIB += $(PLATFORM_SPECIFIC_LIB)
endif

<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
















































































































Name change from make/linuxclang-pre-config.mk to make/linux-clang-config.mk.

1
2
3
4

5
6










































































#### Sample pre-config.mk file for Linux with CLANG.
#    Copy this file as pre-config.mk in the Fossil root directory to use.
#
PLATFORM=linux

COMPILER=clang











































































|
|

<
>
|
|
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3

4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
#### config.mk file for Linux with CLANG.
#    Copy this file as config.mk in the Fossil root directory to use.
#


#### OS-specific configuration for building Fossil on Linux systems.
#

#### The suffix to add to executable files.  ".exe" for windows.
#    Nothing for unix.
#
E =

#### The directory into which object code files should be written.
#
OBJDIR = ./obj

#### The following variable definitions decide which features are turned on or
#    of when building Fossil.  Comment out the features which are not needed by
#    this platform.
#
#ENABLE_STATIC = 1	# we want a static build
ENABLE_SSL = 1		# we are using SSL
#ENABLE_SOCKET = 1	# we are using libsocket (OpenSolaris and Solaris)
#ENABLE_NSL = 1		# we are using libnsl library (Solaris)
ENABLE_I18N = 1		# we are using i18n settings

#### Compiler-specific configuration for users of the CLANG compiler suite.
#

#### C Compiler and options for use in building executables that
#    will run on the platform that is doing the build.  This is used
#    to compile code-generator programs as part of the build process.
#    See TCC below for the C compiler for building the finished binary.
#
BCC = clang -g -O2

#### C Compile and options for use in building executables that
#    will run on the target platform.  This is usually the same
#    as BCC, unless you are cross-compiling.  This C compiler builds
#    the finished binary for fossil.  The BCC compiler above is used
#    for building intermediate code-generator tools.
#
TCC = clang -g -Os -Wall

#### Compiler options.
#    The variables tested are defined in the make/PLATFORM-fragment.mk files.
#
ifdef ENABLE_SSL
  TCC += -DFOSSIL_ENABLE_SSL=1
endif
ifndef ENABLE_I18N
  TCC += -DFOSSIL_I18N=0
endif

#### Linker dependencies.  Fossil only requires libz as an external dependency.
#    All other library settings are optional and toggled in platform-specific
#    make fragments.
#
LIB = -lz $(LDFLAGS)

#### Linker options.
#    The variables tested are defined in the make/PLATFORM-fragment.mk files.
#
ifdef ENABLE_STATIC
  LIB += -static
endif
ifdef ENABLE_SSL
  LIB += -lcrypto -lssl
endif
ifdef ENABLE_SOCKET
  LIB += -lsocket
endif
ifdef ENABLE_NSL
  LIB += -lnsl
endif

#### Signal that we've used a config.mk file.
#
CONFIG_MK_COMPLETE=1

Deleted make/linux-fragment.mk.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#### OS-specific configuration for building Fossil on Linux systems.
#

#### The suffix to add to executable files.  ".exe" for windows.
#    Nothing for unix.
#
E =

#### The directory into which object code files should be written.
#
OBJDIR = ./obj

#### The following variable definitions decide which features are turned on or
#    of when building Fossil.  Comment out the features which are not needed by
#    this platform.
#
#ENABLE_STATIC = 1	# we want a static build
ENABLE_SSL = 1		# we are using SSL
#ENABLE_SOCKET = 1	# we are using libsocket (OpenSolaris and Solaris)
#ENABLE_NSL = 1		# we are using libnsl library (Solaris)
ENABLE_I18N = 1		# we are using i18n settings

<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<












































Name change from make/linuxgcc-pre-config.mk to make/linux-gcc-config.mk.

1
2

3
4
5
6












































































#### Sample pre-config.mk file for Linux with GCC.
#    Copy this file as pre-config.mk in the Fossil root directory to use.

#
PLATFORM=linux
COMPILER=gcc













































































|
|
>

<
<

>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4


5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
#### config.mk file for Linux with GCC.
#    Copy this file as config.mk in the Fossil root directory to use.
#    Note that this is the default configuration for the build system.
#



#### OS-specific configuration for building Fossil on Linux systems.
#

#### The suffix to add to executable files.  ".exe" for windows.
#    Nothing for unix.
#
E =

#### The directory into which object code files should be written.
#
OBJDIR = ./obj

#### The following variable definitions decide which features are turned on or
#    of when building Fossil.  Comment out the features which are not needed by
#    this platform.
#
#ENABLE_STATIC = 1	# we want a static build
ENABLE_SSL = 1		# we are using SSL
#ENABLE_SOCKET = 1	# we are using libsocket (OpenSolaris and Solaris)
#ENABLE_NSL = 1		# we are using libnsl library (Solaris)
ENABLE_I18N = 1		# we are using i18n settings

#### Compiler-specific configuration for users of the GCC compiler suite.
#

#### C Compiler and options for use in building executables that
#    will run on the platform that is doing the build.  This is used
#    to compile code-generator programs as part of the build process.
#    See TCC below for the C compiler for building the finished binary.
#
BCC = gcc -g -O2

#### C Compile and options for use in building executables that
#    will run on the target platform.  This is usually the same
#    as BCC, unless you are cross-compiling.  This C compiler builds
#    the finished binary for fossil.  The BCC compiler above is used
#    for building intermediate code-generator tools.
#
TCC = gcc -g -Os -Wall

#### Compiler options.
#    The variables tested are defined in the make/PLATFORM-fragment.mk files.
#
ifdef ENABLE_SSL
  TCC += -DFOSSIL_ENABLE_SSL=1
endif
ifndef ENABLE_I18N
  TCC += -DFOSSIL_I18N=0
endif

#### Linker dependencies.  Fossil only requires libz as an external dependency.
#    All other library settings are optional and toggled in platform-specific
#    make fragments.
#
LIB = -lz $(LDFLAGS)

#### Linker options.
#    The variables tested are defined in the make/PLATFORM-fragment.mk files.
#
ifdef ENABLE_STATIC
  LIB += -static
endif
ifdef ENABLE_SSL
  LIB += -lcrypto -lssl
endif
ifdef ENABLE_SOCKET
  LIB += -lsocket
endif
ifdef ENABLE_NSL
  LIB += -lnsl
endif

#### Signal that we've used a config.mk file.
#
CONFIG_MK_COMPLETE=1

Deleted make/mingw32-fragment.mk.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
#### OS-specific configuration for building Fossil on MingGW32 systems.
#

#### The suffix to add to executable files.
#
E = .exe

#### The directory into which object code files should be written.
#
OBJDIR = ./wobj

#### MinGW32 can only support the GCC compiler.  Force this.
#
COMPILER = gcc

#### The following variable definitions decide which features are turned on or
#    of when building Fossil.  Comment out the features which are not needed by
#    this platform.
#
ENABLE_STATIC = 1	# we want a static build
#ENABLE_SSL = 1		# we are using SSL
#ENABLE_SOCKET = 1	# we are using libsocket (OpenSolaris and Solaris)
#ENABLE_NSL = 1		# we are using libnsl library (Solaris)
#ENABLE_I18N = 1	# we are using i18n settings

#### The following features must be added to the GCC and LD builds respectively.
#
ifndef MINGW32_GCC
PLATFORM_SPECIFIC_GCC = -L/mingw/lib -I/mingw/include
else
PLATFORM_SPECIFIC_GCC = $(MINGW32_GCC)
endif

ifndef MINGW32_LIB
PLATFORM_SPECIFIC_LIB = -lmingwex -lws2_32
else
PLATFORM_SPECIFIC_LIB = $(MINGW32_LIB)
endif

<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<














































































Name change from make/mingw32-pre-config.mk to make/mingw32-gcc-config.mk.

1
2
3
4














5
6















































































#### Sample pre-config.mk file for MinGW32.
#    Copy this file as pre-config.mk in the Fossil root directory to use.
#
PLATFORM=mingw32














COMPILER=gcc
















































































|
|

<
>
>
>
>
>
>
>
>
>
>
>
>
>
>
|

>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3

4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
#### config.mk file for MinGW32.
#    Copy this file as config.mk in the Fossil root directory to use.
#


#### OS-specific configuration for building Fossil on MingGW32 systems.
#

#### The suffix to add to executable files.
#
E = .exe

#### The directory into which object code files should be written.
#
OBJDIR = ./wobj

#### MinGW32 can only support the GCC compiler.  Force this.
#
COMPILER = gcc

#### The following variable definitions decide which features are turned on or
#    of when building Fossil.  Comment out the features which are not needed by
#    this platform.
#
ENABLE_STATIC = 1	# we want a static build
#ENABLE_SSL = 1		# we are using SSL
#ENABLE_SOCKET = 1	# we are using libsocket (OpenSolaris and Solaris)
#ENABLE_NSL = 1		# we are using libnsl library (Solaris)
#ENABLE_I18N = 1	# we are using i18n settings

#### Compiler-specific configuration for users of the GCC compiler suite.
#

#### C Compiler and options for use in building executables that
#    will run on the platform that is doing the build.  This is used
#    to compile code-generator programs as part of the build process.
#    See TCC below for the C compiler for building the finished binary.
#
BCC = gcc -g -O2

#### C Compile and options for use in building executables that
#    will run on the target platform.  This is usually the same
#    as BCC, unless you are cross-compiling.  This C compiler builds
#    the finished binary for fossil.  The BCC compiler above is used
#    for building intermediate code-generator tools.
#
TCC = gcc -g -Os -Wall

#### Compiler options.
#    The variables tested are defined in the make/PLATFORM-fragment.mk files.
#
ifdef ENABLE_SSL
  TCC += -DFOSSIL_ENABLE_SSL=1
endif
ifndef ENABLE_I18N
  TCC += -DFOSSIL_I18N=0
endif
ifdef PLATFORM_SPECIFIC_GCC
  TCC += $(PLATFORM_SPECIFIC_GCC)
endif

#### Linker dependencies.  Fossil only requires libz as an external dependency.
#    All other library settings are optional and toggled in platform-specific
#    make fragments.
#
LIB = -lz $(LDFLAGS)

#### Linker options.
#    The variables tested are defined in the make/PLATFORM-fragment.mk files.
#
ifdef ENABLE_STATIC
  LIB += -static
endif
ifdef ENABLE_SSL
  LIB += -lcrypto -lssl
endif
ifdef ENABLE_SOCKET
  LIB += -lsocket
endif
ifdef ENABLE_NSL
  LIB += -lnsl
endif
ifdef PLATFORM_SPECIFIC_LIB
  LIB += $(PLATFORM_SPECIFIC_LIB)
endif

#### These will have to be adjusted for your MinGW32 environment.
#
MINGW32_GCC = -L/mingw/lib -I/mingw/include
#MINGW32_GCC = -L/usr/local/lib -I/usr/local/include
TCC += $(MINGW32_GCC)

MINGW32_LIB = -lmingwex -lws2_32
LIB += $(MINGW32_LIB)

#### Signal that we've used a config.mk file.
#
CONFIG_MK_COMPLETE=1

Deleted make/solaris-fragment.mk.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#### OS-specific configuration for building Fossil on Solaris (but not
#    OpenSolaris) systems.
#

#### The suffix to add to executable files.  ".exe" for windows.
#    Nothing for unix.
#
E =

#### The directory into which object code files should be written.
#
OBJDIR = ./obj

#### The following variable definitions decide which features are turned on or
#    of when building Fossil.  Comment out the features which are not needed by
#    this platform.
#
#ENABLE_STATIC = 1	# we want a static build
ENABLE_SSL = 1		# we are using SSL
ENABLE_SOCKET = 1	# we are using libsocket (OpenSolaris and Solaris)
ENABLE_NSL = 1		# we are using libnsl library (Solaris)
ENABLE_I18N = 1		# we are using i18n settings

<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<














































Name change from make/solarisgcc-pre-config.mk to make/solaris-gcc-config.mk.

1
2
3
4

5
6










































































#### Sample pre-config.mk file for Solaris with GCC.
#    Copy this file as pre-config.mk in the Fossil root directory to use.
#
PLATFORM=solaris

COMPILER=gcc











































































|
|

<
>
|
|
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3

4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
#### config.mk file for Solaris with GCC.
#    Copy this file as config.mk in the Fossil root directory to use.
#


#### OS-specific configuration for building Fossil on Solaris systems.
#

#### The suffix to add to executable files.  ".exe" for windows.
#    Nothing for unix.
#
E =

#### The directory into which object code files should be written.
#
OBJDIR = ./obj

#### The following variable definitions decide which features are turned on or
#    of when building Fossil.  Comment out the features which are not needed by
#    this platform.
#
#ENABLE_STATIC = 1	# we want a static build
ENABLE_SSL = 1		# we are using SSL
ENABLE_SOCKET = 1	# we are using libsocket (OpenSolaris and Solaris)
ENABLE_NSL = 1		# we are using libnsl library (Solaris)
ENABLE_I18N = 1		# we are using i18n settings

#### Compiler-specific configuration for users of the GCC compiler suite.
#

#### C Compiler and options for use in building executables that
#    will run on the platform that is doing the build.  This is used
#    to compile code-generator programs as part of the build process.
#    See TCC below for the C compiler for building the finished binary.
#
BCC = gcc -g -O2

#### C Compile and options for use in building executables that
#    will run on the target platform.  This is usually the same
#    as BCC, unless you are cross-compiling.  This C compiler builds
#    the finished binary for fossil.  The BCC compiler above is used
#    for building intermediate code-generator tools.
#
TCC = gcc -g -Os -Wall

#### Compiler options.
#    The variables tested are defined in the make/PLATFORM-fragment.mk files.
#
ifdef ENABLE_SSL
  TCC += -DFOSSIL_ENABLE_SSL=1
endif
ifndef ENABLE_I18N
  TCC += -DFOSSIL_I18N=0
endif

#### Linker dependencies.  Fossil only requires libz as an external dependency.
#    All other library settings are optional and toggled in platform-specific
#    make fragments.
#
LIB = -lz $(LDFLAGS)

#### Linker options.
#    The variables tested are defined in the make/PLATFORM-fragment.mk files.
#
ifdef ENABLE_STATIC
  LIB += -static
endif
ifdef ENABLE_SSL
  LIB += -lcrypto -lssl
endif
ifdef ENABLE_SOCKET
  LIB += -lsocket
endif
ifdef ENABLE_NSL
  LIB += -lnsl
endif

#### Signal that we've used a config.mk file.
#
CONFIG_MK_COMPLETE=1