Fossil

Check-in [fb1fa7f1]
Login

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

Overview
Comment:Make it easier to do out of source builds by optionally including config.mak or config.w32.
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1: fb1fa7f1a6af4a4fe5fbe62edf83da74f10a16a6
User & Date: jeremy_c 2009-12-09 22:05:46
Original User & Date: Jeremy 2009-12-09 22:05:46
Context
2009-12-09
23:35
When a commit aborts, the check-in comment is saved and used to reinitialize the check-in comment template on the next commit attempt. check-in: 68bfc1d5 user: drh tags: trunk
22:05
Make it easier to do out of source builds by optionally including config.mak or config.w32. check-in: fb1fa7f1 user: jeremy_c tags: trunk
15:34
Added a DELETED abc.xyz message when using fossil rm. This is the same as fossil add's ADDED abc.xyz message. Also, the word DELETED was choosen over REMOVED because fossil status reports the file as DELETED. check-in: 49ed1961 user: jeremy_c tags: trunk
Changes
Hide Diffs Unified Diffs Ignore Whitespace Patch

Changes to BUILD.txt.

1
2
3
4
5
6
7





8
9
10
11
12


























13
14
15
16
17
18
19
All of the source code for fossil is contained in the src/ subdirectory.
But there is a lot of generated code, so you will probably want to
use the Makefile.  To do a complete build, just type:

   make

That should work out-of-the-box on Macs and Linux systems.  If





you have trouble, or you want to do something fancy, just edit
the Makefile in the top-level folder.  There are 5 things you
might want to change in the Makefile.  All 5 things are well
commented.  The complete Makefile is only a few dozen lines long.
Do not be intimidated.



























--------------------------------------------------------------------------

Here are some notes on what is happening behind the scenes:

* The Makefile just sets up a few macros and then invokes the
  real makefile in src/main.mk.  The src/main.mk makefile is






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







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
All of the source code for fossil is contained in the src/ subdirectory.
But there is a lot of generated code, so you will probably want to
use the Makefile.  To do a complete build, just type:

   make

That should work out-of-the-box on Macs and Linux systems. If you are
building on a Windows box, install MinGW as well as MinGW's make (or
MSYS). You can then type:

  make -f Makefile.w32

If you have trouble, or you want to do something fancy, just look at




top level makefile. There are 5 configuration options that are all well
commented. Instead of editing the Makefile, create a new file named
config.mak (for Macs and Linux systems) or config.w32 (for Windows) and
override any settings you wish there.

Out of source builds?
--------------------------------------------------------------------------

An out of source build is pretty easy:

  1. Make a new directory to do the builds in.
  2. Create a config.mak (or .w32 ... explained above) and add something
  along the lines of:

    SRCDIR=../src

  3. From that directory, type:

    Macs and Linux:
      $ make -f ../Makefile

    Windows:
      C:\fossil\build> make -f ../Makefile.w32

This will now keep all generates files seperate from the maintained
source code.

--------------------------------------------------------------------------

Here are some notes on what is happening behind the scenes:

* The Makefile just sets up a few macros and then invokes the
  real makefile in src/main.mk.  The src/main.mk makefile is

Changes to Makefile.

41
42
43
44
45
46
47




48
49
50
51
# LIB += -lsocket -lnsl
# My assumption is that the Sol10 flags will work for Sol8/9 and possibly 11.


#### Tcl shell for use in running the fossil testsuite.
#
TCLSH = tclsh





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







>
>
>
>




41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
# LIB += -lsocket -lnsl
# My assumption is that the Sol10 flags will work for Sol8/9 and possibly 11.


#### Tcl shell for use in running the fossil testsuite.
#
TCLSH = tclsh

#### Include a configuration file that can override any one of these settings.
#
-include config.mak

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

Changes to Makefile.w32.

39
40
41
42
43
44
45




46
47
48
49
#LIB = -lz
#LIB = -lz -lws2_32
LIB = -lmingwex -lz -lws2_32

#### Tcl shell for use in running the fossil testsuite.
#
TCLSH = tclsh





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







>
>
>
>




39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
#LIB = -lz
#LIB = -lz -lws2_32
LIB = -lmingwex -lz -lws2_32

#### Tcl shell for use in running the fossil testsuite.
#
TCLSH = tclsh

#### Include a configuration file that can override any one of these settings.
#
-include config.w32

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