Procedure for making a GF release: 1. Make sure everything that should be in the release has been checked in. 2. Go to the src/ dir. $ cd src 3. Edit configure.ac to set the right version number (the second argument to the AC_INIT macro). 4. Edit gf.spec to set the version and release numbers (change %define version and %define release). 5. Commit configure.ac and gf.spec: $ cvs commit -m 'Updated version numbers.' configure.ac gf.spec 6. Run autoconf to generate configure with the right version number: $ autoconf 7. Go back to the root of the tree. $ cd .. 8. Tag the release. (X_X should be replaced by the version number, with _ instead of ., e.g. 2_0) $ cvs tag RELEASE-X_X 9. Build a source package: $ cd src $ ./configure $ make dist 10. Build an x86/linux RPM (should be done on a Mandrake Linux box): Setup for building RPMs (first time only): - Make sure that you have the directories neccessary to build RPMs: $ mkdir -p ~/rpm/{BUILD,RPMS/i586,RPMS/noarch,SOURCES,SRPMS,SPECS,tmp} - Create ~/.rpmrc with the following contents: buildarchtranslate: i386: i586 buildarchtranslate: i486: i586 buildarchtranslate: i586: i586 buildarchtranslate: i686: i586 - Create ~/.rpmmacros with the following contents: %_topdir %(echo ${HOME}/rpm) %_tmppath %{_topdir}/tmp %packager Your Name Build the RPM: $ cd src $ ./configure $ make rpm 11. Build a generic binary x86/linux (should be done on a Linux box, e.g. banded.medic.chalmers.se): $ cd src $ ./configure --host=i386-pc-linux-gnu && make binary-dist 12. Build a generic binary sparc/solaris package (should be done on a Solaris box, e.g. remote1.cs.chalmers.se): $ cd src $ ./configure --host=sparc-sun-solaris2 && gmake binary-dist 13. Build a Mac OS X package (should be done on a Mac OS X box, e.g. csmisc99.cs.chalmers.se): $ cd src $ ./configure && make binary-dist Note that to run GHC-compiled binaries on OS X, you need a "Haskell Support Framework". This should be available separately from the GF download page. TODO: Use OS X PackageMaker to build a .pkg-file which can be installed using the standard OS X Installer program. 14. Build a Windows package: ??? 15. Update website. 16. Party!