Fossil

Artifact [a50fcaad15]
Login

Artifact a50fcaad155d5e44598320c8277d5a472d6b8f5ffc23cc4e5c5ad073f4841b45:

Wiki page [Release Build How-To] by drh 2019-09-28 00:30:14.
D 2019-09-28T00:30:14.448
L Release\sBuild\sHow-To
N text/x-markdown
P 8dc52dc7d65723b5535b260797376fed189d5fb9caad1556712658d09b857614
U drh
W 2480
# Notes on how build and upload the precompiled binaries


## 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.

## Linux

  *  On the machine named "bella", cd to ~/fossil/static
  *  rm -rf *
  *  ../m1/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**
  *  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

## 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

## 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

## Mac

  *  fossil clean -f
  *  ./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
  *  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

## Source Tarball

  * fossil tarball --name fossil-$VERSION version-$VERSION fossil-src-$VERSION.tar.gz<br>

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

## 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

Z 5c595d0c77c49a77c88c44e0f6517a5e