|
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120 |
- Developer notes for the SNF4SA developer distribution
-
- 30 April 2009
-
- Scope
- -----
-
- This file contains information for software developers. Ths
- information includes the prerequisite software for building, and a
- description of the build system.
-
- Introduction
- ------------
-
- The purpose of the build system is to create a user tarball. The
- files don't need to be compiled or linked, and the user is responsible
- for intalling and removing the files. Therefore, the build system
- doesn't include any functionality for building, installing, or
- uninstalling; the "make install" command does nothing.
-
- See the section "Using the build system" for commands to initialize
- the build system and create a user tarball.
-
- Software prerequisites
- ----------------------
-
- The build system uses GNU software development system. The following
- software is needed for building:
-
- 1) automake
-
- 2) autoconf
-
- 3) make
-
- 4) tar
-
- These tools are normally available on a Linux system that is
- configured as a software development system. The Linux system
- installation process usually gives the user a choice of installing a
- workstation, server, or software development system. However, not all
- Linux distributions give these choices.
-
- If these tools are not installed, they may be installed (or upgraded)
- at any time. The commands vary from distribution to distribution.
- For Ubuntu, the apt-get command can be used:
-
- 1) 'apt-get install automake'.
-
- 2) 'apt-get install autoconf'.
-
- 3) 'apt-get install make'.
-
- 4) 'apt-get install tar'.
-
- Structure of the build system
- -----------------------------
-
- The following files comprise the build system:
-
- 1) configure.ac. This is the main configuration file. It specifies
- the distribution name, version, which libraries are needed, etc.
-
- 2) Makefile.am. This is used to create the top-level Makefile. It
- lists which files and directories are part of the build system
- (e.g. snf4sa.cf), and which extra files are to be part of the
- distribution (e.g. README, etc).
-
- To add an additional file , edit Makefile.am. Add the file to the
- appropriate variable (for example, to EXTRA_DIST).
-
- Note that files that are not listed will not be included in the
- distribution tarball. This allows you to have additional files in
- directories (used, for example, for other projects) without
- unnecessarily increasing the size of the SNFServer application or
- tarball.
-
- Using the build system
- ----------------------
-
- Issue the following command to prepare system newly checked out for
- building:
-
- autoreconf --install
-
- Then issue the following command for configuring the build system:
-
- ./configure
-
- To create a user tarball:
-
- make dist
-
- This creates a tarball with the name snf4sa-X.Y.Z.tar.gz. X, Y, and Z, as well as "snf4sa" are specified by the following line in configure.ac:
-
- AC_INIT(snf4sa, X.Y.Z)
-
- Other commands:
-
- "make maintainer-clean" removes many of the files that can be
- created. After running this, you would need to run ./configure.
-
- Note: The script 'cleanForDist' cleans the developer distribution. It
- removes any user tarballs that might have been created, files created
- by 'autoreconf --install', and files ending in "~". After running
- this command, the directory tree can be imported into a version
- control system, or tarred and gzipped.
-
- Changing the version number or package name
- -------------------------------------------
-
- To change the version number or package name, edit configure.ac as
- follows:
-
- Change the version number and/or package name for the build system.
- Do this by modifying the argument to the AC_INIT line in
- configure.ac. For example, to change the package name to FOO and
- the version to 8.0.2, modify the line to be:
-
- AC_INIT(FOO, 8.0.2)
|