Fossil

Check-in [5df59eba]
Login

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

Overview
Comment:Allow the Tcl source directory to be used instead of the Tcl install directory if FOSSIL_TCL_SOURCE defined. Also, add and/or modify explanatory comments.
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | tcl-integration
Files: files | file ages | folders
SHA1:5df59eba03c9aff4b0289528ac99338f159c2e1f
User & Date: mistachkin 2011-09-27 06:44:26
Context
2011-10-19
01:29
Merge updates from trunk. check-in: 62d928cb user: mistachkin tags: tcl-integration
2011-09-27
06:44
Allow the Tcl source directory to be used instead of the Tcl install directory if FOSSIL_TCL_SOURCE defined. Also, add and/or modify explanatory comments. check-in: 5df59eba user: mistachkin tags: tcl-integration
05:31
Makefile fixes to enable Tcl to be statically linked to Fossil. check-in: 6e6e55a1 user: mistachkin tags: tcl-integration
Changes
Hide Diffs Unified Diffs Ignore Whitespace Patch

Changes to win/Makefile.mingw.mistachkin.

6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
..
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
..
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
99
#    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

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

#### 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.
#
................................................................................
#### Enable HTTPS support via OpenSSL (links to libssl and libcrypto)
#
FOSSIL_ENABLE_SSL=1

#### Enable scripting support via Tcl/Tk
#
FOSSIL_ENABLE_TCL=1

#### The directory where the zlib library source code is located.

#






#
ZLIBDIR = $(SRCDIR)/../zlib-1.2.5

#### The directory where the OpenSSL library source code is located.
#


#
OPENSSLDIR = $(SRCDIR)/../openssl-1.0.0d

#### The directory where the Tcl library is installed.  This directory


#    must have "include" and "lib" sub-directories.
#






#
TCLDIR = $(SRCDIR)/../tcl-8.6

#### 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
................................................................................
# With HTTPS support
ifdef FOSSIL_ENABLE_SSL
TCC += -L$(OPENSSLDIR) -I$(OPENSSLDIR)/include
endif

# With Tcl support
ifdef FOSSIL_ENABLE_TCL



TCC += -L$(TCLDIR)/lib -I$(TCLDIR)/include

endif

# With HTTPS support
ifdef FOSSIL_ENABLE_SSL
TCC += -DFOSSIL_ENABLE_SSL=1
endif

# With Tcl support
ifdef FOSSIL_ENABLE_TCL
TCC += -DFOSSIL_ENABLE_TCL=1 -DSTATIC_BUILD
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 = -static


# OpenSSL:

ifdef FOSSIL_ENABLE_SSL
LIB += -lssl -lcrypto -lgdi32
endif


ifdef FOSSIL_ENABLE_TCL
LIB += -ltcl86s
endif




LIB += -lmingwex -lz -lnetapi32 -lkernel32 -luser32 -ladvapi32 -lws2_32

#### Tcl shell for use in running the fossil testsuite.  This is only
#    used for testing.  If you do not run
#
TCLSH = tclsh

#### Nullsoft installer makensis location







<







 








|
>

>
>
>
>
>
>




|
>
>



|
>
>
|
<
>
>
>
>
>
>







 







>
>
>

>







|






|




>

<
>




>

|


>
>
>
|







6
7
8
9
10
11
12

13
14
15
16
17
18
19
..
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
..
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
99
100
101
102

103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
#    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

#### The directory into which object code files should be written.
#

OBJDIR = wbld

#### 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.
#
................................................................................
#### Enable HTTPS support via OpenSSL (links to libssl and libcrypto)
#
FOSSIL_ENABLE_SSL=1

#### Enable scripting support via Tcl/Tk
#
FOSSIL_ENABLE_TCL=1

#### Use the Tcl source directory instead of the install directory?
#    This is useful when Tcl has been compiled statically with MinGW.
#
FOSSIL_TCL_SOURCE=1

#### The directory where the zlib library source code is located.
#    The recommended usage here is to use the Sysinternals junction tool
#    to create a hard link between an "zlib-1.x.y" sub-directory of the
#    Fossil source code directory and the target zlib source directory.
#
ZLIBDIR = $(SRCDIR)/../zlib-1.2.5

#### The directory where the OpenSSL library source code is located.
#    The recommended usage here is to use the Sysinternals junction tool
#    to create a hard link between an "openssl-1.x" sub-directory of the
#    Fossil source code directory and the target OpenSSL source directory.
#
OPENSSLDIR = $(SRCDIR)/../openssl-1.0.0d

#### Either the directory where the Tcl library is installed or the Tcl
#    source code directory resides (depending on the value of the macro
#    FOSSIL_TCL_SOURCE).  If this points to the Tcl install directory,
#    this directory must have "include" and "lib" sub-directories.  If

#    this points to the Tcl source code directory, this directory must
#    have "generic" and "win" sub-directories.  The recommended usage
#    here is to use the Sysinternals junction tool to create a hard
#    link between a "tcl-8.x" sub-directory of the Fossil source code
#    directory and the target Tcl directory.  This removes the need to
#    hard-code the necessary paths in this Makefile.
#
TCLDIR = $(SRCDIR)/../tcl-8.6

#### 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
................................................................................
# With HTTPS support
ifdef FOSSIL_ENABLE_SSL
TCC += -L$(OPENSSLDIR) -I$(OPENSSLDIR)/include
endif

# With Tcl support
ifdef FOSSIL_ENABLE_TCL
ifdef FOSSIL_TCL_SOURCE
TCC += -L$(TCLDIR)/win -I$(TCLDIR)/generic -I$(TCLDIR)/win
else
TCC += -L$(TCLDIR)/lib -I$(TCLDIR)/include
endif
endif

# With HTTPS support
ifdef FOSSIL_ENABLE_SSL
TCC += -DFOSSIL_ENABLE_SSL=1
endif

# With Tcl support (statically linked)
ifdef FOSSIL_ENABLE_TCL
TCC += -DFOSSIL_ENABLE_TCL=1 -DSTATIC_BUILD
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.
#
LIB = -static
LIB += -lmingwex -lz


# OpenSSL: Add the necessary libaries required.
ifdef FOSSIL_ENABLE_SSL
LIB += -lssl -lcrypto -lgdi32
endif

# Tcl: Which Tcl library do we want to use (8.4, 8.5, 8.6, etc)?
ifdef FOSSIL_ENABLE_TCL
LIB += -ltcl86
endif

#### These libraries MUST appear in the same order as they do for Tcl
#    or linking with it will not work (exact reason unknown).
#
LIB += -lnetapi32 -lkernel32 -luser32 -ladvapi32 -lws2_32

#### Tcl shell for use in running the fossil testsuite.  This is only
#    used for testing.  If you do not run
#
TCLSH = tclsh

#### Nullsoft installer makensis location