xref: /netbsd-src/external/bsd/am-utils/dist/README (revision 9521ae7bfd00c3f092c788390dc90fd047c3935e)
1a53f50b9SchristosThis is the official version of am-utils.
2a53f50b9Schristos
3a53f50b9SchristosSee the file NEWS for news on this and previous releases.
4a53f50b9Schristos
5a53f50b9Schristos*** General Notes to alpha/beta testers:
6a53f50b9Schristos
7a53f50b9Schristos[A] as alpha/beta testers, I expect you to be able to find certain things on
8a53f50b9Schristosyour own (especially look at the sources to figure out how things work).
9a53f50b9Schristos
10a53f50b9Schristos[B] if you intend to modify any files, first find out if the file you want
11a53f50b9Schristosto modify gets autogenerated from some other place.  If so, modify it at the
12a53f50b9Schristossource.
13a53f50b9Schristos
14a53f50b9SchristosYou can adjust some of the configuration of am-utils after it has been
15a53f50b9Schristosauto-configured by putting whatever definitions you wish in a file called
16a53f50b9Schristoslocalconfig.h, located in the top build directory (the same one where
17a53f50b9Schristosconfig.h is created for you).
18a53f50b9Schristos
19a53f50b9Schristos[C] there are several ways you can build am-utils:
20a53f50b9Schristos
21a53f50b9Schristos(1) run the buildall script as follows:
22a53f50b9Schristos
23a53f50b9Schristos	./buildall
24a53f50b9Schristos
25a53f50b9SchristosThis would build all the applications inside a special directory relative to
26a53f50b9Schristosthe root of the source tree, called A.<cpu-company-system>, where the <>
27a53f50b9Schristospart is filled in by GNU's config.guess script.  This is the preferred
28a53f50b9Schristosmethod, for it will separate the build from the sources, and allow you to
29a53f50b9Schristosrun buildall for multiple architectures concurrently.
30a53f50b9Schristos
31a53f50b9SchristosYou can run "buildall -h" to see what options it takes.
32a53f50b9Schristos
33a53f50b9Schristos(2) run the configure script such as:
34a53f50b9Schristos
35a53f50b9Schristos	./configure
36a53f50b9Schristos
37a53f50b9Schristosand then run
38a53f50b9Schristos
39a53f50b9Schristos	make
40a53f50b9Schristos
41*9521ae7bSprlw1This would configure amd in the directory you've run the configure script,
42*9521ae7bSprlw1and build it there.  Run "make install" to install all the necessary files.
43a53f50b9Schristos
44a53f50b9SchristosNote that this is good for building only one version of amd on one
45a53f50b9Schristosarchitecture!  Don't try this for multiple architectures.  If you must, then
46a53f50b9Schristosafter doing one such build, run "make distclean" and then reconfigure for
47a53f50b9Schristosanother architecture.
48a53f50b9Schristos
49a53f50b9Schristos(3) run the configure script for build in a different location.  Let's say
50a53f50b9Schristosthat /src/am-utils-6.0 is where you unpacked the sources.  So you could
51a53f50b9Schristos
52a53f50b9Schristos	mkdir /src/build/sunos5
53a53f50b9Schristos	cd /src/build/sunos5
54a53f50b9Schristos	/src/am-utils-6.0/configure --srcdir=/src/am-utils-6.0
55a53f50b9Schristos	make
56a53f50b9Schristos
57a53f50b9SchristosThis is a manual method that will let you build in any directory outside the
58a53f50b9Schristosam-utils source tree.  It requires that your "make" program understand
59a53f50b9SchristosVPATH.  This can be used multiple times to build am-utils concurrently in
60a53f50b9Schristosmultiple (but different) directories.  In fact, the buildall script
61a53f50b9Schristosdescribed above does precisely that, using the A.* subdirectories.
62a53f50b9Schristos
63a53f50b9Schristos(4) If you need to configure am-utils with extra libraries and/or headers,
64a53f50b9Schristosfor example to add hesiod support, do so as follows:
65a53f50b9Schristos
66a53f50b9Schristos	configure --enable-libs="-lhesiod -lresolv" \
67a53f50b9Schristos		--enable-ldflags="-L/usr/local/hesiod/lib" \
68a53f50b9Schristos		--enable-cppflags="-I/usr/local/hesiod/include"
69a53f50b9Schristos
70a53f50b9Schristos[D] If you modify any of the *.[chyl] sources in the directories amd, amq,
71a53f50b9Schristoshlfsd, lib, etc, all you need to do to get a new version of am-utils is run
72a53f50b9Schristosmake.
73a53f50b9Schristos
74a53f50b9SchristosIf you modify any of the files in the m4/ or conf/ directories, or any *.in
75a53f50b9Schristosor *.am file, then you must rebuild the configure script, Makefile.in files,
76a53f50b9Schristosaclocal.m4, etc.  The best way to do so is to run
77a53f50b9Schristos
78a53f50b9Schristos	./bootstrap
79a53f50b9Schristosor
80a53f50b9Schristos	./buildall -K
81a53f50b9Schristos
82a53f50b9SchristosTo be a developer and be able to run "bootstrap", you must have
838bae5d40Schristosautoconf-2.68, automake-1.11.1, and libtool 2.2.6b installed on your system (or
84a53f50b9Schristoslater versions thereof).  You no longer need to get my special version of
85a53f50b9Schristosautomake.  Contact me if you'd like to be a maintainer and get access to the
86a53f50b9SchristosCVS server.
87a53f50b9Schristos
88a53f50b9SchristosAfter you've remade the basic configuration files you must rerun the
89a53f50b9Schristosbuildall script to rerun configure and then remake the binaries.
90a53f50b9Schristos
91a53f50b9SchristosModifying M4 macros may not be very intuitive to anyone that has not done so
92a53f50b9Schristosbefore.  Let me know if you are having any problems with them.  I fully
93*9521ae7bSprlw1expect, at least initially, to have to be the sole developer of the M4
94a53f50b9Schristosmacros and let others concentrate on C sources.
95a53f50b9Schristos
96a53f50b9Schristos[E] Report all bugs via Bugzilla or the am-utils list (see
97a53f50b9Schristoswww.am-utils.org).  Avoid reporting to my personal email address.  It is
98a53f50b9Schristosimportant to involve the whole list in bug fixes etc.
99a53f50b9Schristos
100a53f50b9SchristosGood luck.
101a53f50b9Schristos
102a53f50b9SchristosErez Zadok,
103a53f50b9SchristosMaintainer, am-utils.
104