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
|
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
|
-
+
-
-
-
-
-
+
+
+
+
+
+
-
-
-
+
-
-
-
-
-
+
+
+
+
+
+
+
+
-
-
+
+
+
+
+
-
-
-
-
+
+
+
+
+
+
-
-
+
+
+
+
-
-
+
-
+
-
-
-
-
-
+
+
+
+
+
+
-
+
-
-
+
+
|
# Notes on how build and upload the precompiled binaries
# Notes on how Fossil precompiled binaries are built and uploaded
## Download Page
* Run "fossil uv edit download.js" to modify the "releases" variable
in the javascript to add the new release number and title and various
hyperlinks.
* Run "fossil uv sync" to propagate the changes from the previous step.
* `fossil uv edit download.js`
* Edit the "releases" variable in the javascript
to add the new release number and title and various
hyperlinks. Perhaps also remove older releases.
* Remove obsolete build products: `fossil uv rm $FILETODELETE`
* `fossil uv sync`
## Linux
* On the machine named "bella", cd to ~/fossil/static
* rm -rf *
* ../m1/configure --static --disable-fusefs
* `./configure --static --disable-fusefs`
* Edit the Makefile to move -ldl to the end
* Make change -O2 to -Os
* make
* strip fossil
* tar czf fossil-linux-x64-$VERSION.tar.gz fossil
* **OR**
* `CFLAGS="-Os" make -e clean fossil`
* `strip fossil`
* `tar czf fossil-linux-x64-$VERSION.tar.gz fossil`
* `fossil uv add fossil-linux-x64-$VERSION.tar.gz`
* `fossil uv sync`
## Linux (alternative procedures)
* Log into www.fossil-scm.org
* cd to /home/www/fossil/b1
* Run the script ./rebuild.sh
* Logout
* Download the file www.fossil-scm.org:/home/www/usr/local/fossil
* strip fossil
* tar czf fossil-linux-x64-$VERSION.tar.gz fossil
* `strip fossil`
* `tar czf fossil-linux-x64-$VERSION.tar.gz fossil`
* `fossil uv add fossil-linux-x64-$VERSION.tar.gz`
* `fossil uv sync`
## Windows 32-bit
* On the Windows 10 laptop in a MinGW shell in ~/fossil/m1
* fossil clean -x
* make -f win/makefile.mingw FOSSIL_ENABLE_SSL=1 OPENSSLDIR=../../openssl-1.0.1t
* **OR:** tclsh ../mkfossil.tcl
* zip fossil-w32-$VERSION.zip fossil.exe
* `fossil clean -x`
* `make -f win/makefile.mingw FOSSIL_ENABLE_SSL=1 OPENSSLDIR=../../openssl-1.0.1t`
* **OR:** `tclsh ../mkfossil.tcl`
* `zip fossil-w32-$VERSION.zip fossil.exe`
* `fossil uv add fossil-w32-$VERSION.zip`
* `fossil uv sync`
## Windows 64-bit
* Compile OpenSSL-1.1.1d. (See below)
* Get a "x64 Native Tools Command Prompt" window.
* Cd to the win/ subfolder of the Fossil source tree.
* Edit Makefile.msc to make SSLDIR point to the top-level directory
for the OpenSSL build.
* nmake /f Makefile.msc FOSSIL_ENABLE_SSL=1 clean fossil.exe
* zip fossil-w64-$VERSION.zip fossil.exe
* `nmake /f Makefile.msc FOSSIL_ENABLE_SSL=1 clean fossil.exe`
* `zip fossil-w64-$VERSION.zip fossil.exe`
* `fossil uv add fossil-w64-$VERSION.zip`
* `fossil uv sync`
## Mac
* fossil clean -f
* ./configure
* `./configure`
* Edit the Makefile to specify /usr/local/opt/openssl/lib/libcrypto.a
and /usr/local/opt/openssl/lib/libssl.a in place of
-lcrypto and -lssl, and to add -liconv at the end
-lcrypto and -lssl, and to add -liconv at the end
* Maybe: Change -O0 to -Os
* make
* Verify no shared library dependencies using: otool -L ./fossil
* strip fossil
* tar czf fossil-macosx-$VERSION.tar.gz fossil
* `CFLAGS="-Os" make -e clean fossil`
* Verify no shared library dependencies using: `otool -L ./fossil`
* `strip fossil`
* `tar czf fossil-macosx-$VERSION.tar.gz fossil`
* `fossil uv add fossil-macosx-$VERSION.tar.gz`
* `fossil uv sync`
## Source Tarball
* fossil tarball --name fossil-$VERSION version-$VERSION fossil-src-$VERSION.tar.gz<br>
* `fossil tarball --name fossil-$VERSION version-$VERSION fossil-src-$VERSION.tar.gz`
---------------------
## Building OpenSSL 1.1.1 On Windows 64-bit with MSVC
* Download and unpack the OpenSSL source tarball
* Install Strawberry perl
* Get a "x64 Native Tools Command Prompt"
* CD to the top of the OpenSSL source directory
* c:/strawberry/perl/bin/perl Configure VC-WIN64A no-asm no-ssl3 no-weak-ssl-ciphers no-shared
* nmake /f makefile
* `c:/strawberry/perl/bin/perl Configure VC-WIN64A no-asm no-ssl3 no-weak-ssl-ciphers no-shared`
* `nmake /f makefile`
|