You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120
  1. Developer notes for the SNF4SA developer distribution
  2. 30 April 2009
  3. Scope
  4. -----
  5. This file contains information for software developers. Ths
  6. information includes the prerequisite software for building, and a
  7. description of the build system.
  8. Introduction
  9. ------------
  10. The purpose of the build system is to create a user tarball. The
  11. files don't need to be compiled or linked, and the user is responsible
  12. for intalling and removing the files. Therefore, the build system
  13. doesn't include any functionality for building, installing, or
  14. uninstalling; the "make install" command does nothing.
  15. See the section "Using the build system" for commands to initialize
  16. the build system and create a user tarball.
  17. Software prerequisites
  18. ----------------------
  19. The build system uses GNU software development system. The following
  20. software is needed for building:
  21. 1) automake
  22. 2) autoconf
  23. 3) make
  24. 4) tar
  25. These tools are normally available on a Linux system that is
  26. configured as a software development system. The Linux system
  27. installation process usually gives the user a choice of installing a
  28. workstation, server, or software development system. However, not all
  29. Linux distributions give these choices.
  30. If these tools are not installed, they may be installed (or upgraded)
  31. at any time. The commands vary from distribution to distribution.
  32. For Ubuntu, the apt-get command can be used:
  33. 1) 'apt-get install automake'.
  34. 2) 'apt-get install autoconf'.
  35. 3) 'apt-get install make'.
  36. 4) 'apt-get install tar'.
  37. Structure of the build system
  38. -----------------------------
  39. The following files comprise the build system:
  40. 1) configure.ac. This is the main configuration file. It specifies
  41. the distribution name, version, which libraries are needed, etc.
  42. 2) Makefile.am. This is used to create the top-level Makefile. It
  43. lists which files and directories are part of the build system
  44. (e.g. snf4sa.cf), and which extra files are to be part of the
  45. distribution (e.g. README, etc).
  46. To add an additional file , edit Makefile.am. Add the file to the
  47. appropriate variable (for example, to EXTRA_DIST).
  48. Note that files that are not listed will not be included in the
  49. distribution tarball. This allows you to have additional files in
  50. directories (used, for example, for other projects) without
  51. unnecessarily increasing the size of the SNFServer application or
  52. tarball.
  53. Using the build system
  54. ----------------------
  55. Issue the following command to prepare system newly checked out for
  56. building:
  57. autoreconf --install
  58. Then issue the following command for configuring the build system:
  59. ./configure
  60. To create a user tarball:
  61. make dist
  62. 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:
  63. AC_INIT(snf4sa, X.Y.Z)
  64. Other commands:
  65. "make maintainer-clean" removes many of the files that can be
  66. created. After running this, you would need to run ./configure.
  67. Note: The script 'cleanForDist' cleans the developer distribution. It
  68. removes any user tarballs that might have been created, files created
  69. by 'autoreconf --install', and files ending in "~". After running
  70. this command, the directory tree can be imported into a version
  71. control system, or tarred and gzipped.
  72. Changing the version number or package name
  73. -------------------------------------------
  74. To change the version number or package name, edit configure.ac as
  75. follows:
  76. Change the version number and/or package name for the build system.
  77. Do this by modifying the argument to the AC_INIT line in
  78. configure.ac. For example, to change the package name to FOO and
  79. the version to 8.0.2, modify the line to be:
  80. AC_INIT(FOO, 8.0.2)