xref: /netbsd-src/external/bsd/am-utils/dist/README (revision 8bae5d409deb915cf7c8f0539fae22ff2cb8a313)
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
41a53f50b9SchristosThis would configure amd in the directory you've run the configure script
42a53f50b9Schristosin, and the built it there.  Run "make install" to install all the necessary
43a53f50b9Schristosfiles.
44a53f50b9Schristos
45a53f50b9SchristosNote that this is good for building only one version of amd on one
46a53f50b9Schristosarchitecture!  Don't try this for multiple architectures.  If you must, then
47a53f50b9Schristosafter doing one such build, run "make distclean" and then reconfigure for
48a53f50b9Schristosanother architecture.
49a53f50b9Schristos
50a53f50b9Schristos(3) run the configure script for build in a different location.  Let's say
51a53f50b9Schristosthat /src/am-utils-6.0 is where you unpacked the sources.  So you could
52a53f50b9Schristos
53a53f50b9Schristos	mkdir /src/build/sunos5
54a53f50b9Schristos	cd /src/build/sunos5
55a53f50b9Schristos	/src/am-utils-6.0/configure --srcdir=/src/am-utils-6.0
56a53f50b9Schristos	make
57a53f50b9Schristos
58a53f50b9SchristosThis is a manual method that will let you build in any directory outside the
59a53f50b9Schristosam-utils source tree.  It requires that your "make" program understand
60a53f50b9SchristosVPATH.  This can be used multiple times to build am-utils concurrently in
61a53f50b9Schristosmultiple (but different) directories.  In fact, the buildall script
62a53f50b9Schristosdescribed above does precisely that, using the A.* subdirectories.
63a53f50b9Schristos
64a53f50b9Schristos(4) If you need to configure am-utils with extra libraries and/or headers,
65a53f50b9Schristosfor example to add hesiod support, do so as follows:
66a53f50b9Schristos
67a53f50b9Schristos	configure --enable-libs="-lhesiod -lresolv" \
68a53f50b9Schristos		--enable-ldflags="-L/usr/local/hesiod/lib" \
69a53f50b9Schristos		--enable-cppflags="-I/usr/local/hesiod/include"
70a53f50b9Schristos
71a53f50b9Schristos[D] If you modify any of the *.[chyl] sources in the directories amd, amq,
72a53f50b9Schristoshlfsd, lib, etc, all you need to do to get a new version of am-utils is run
73a53f50b9Schristosmake.
74a53f50b9Schristos
75a53f50b9SchristosIf you modify any of the files in the m4/ or conf/ directories, or any *.in
76a53f50b9Schristosor *.am file, then you must rebuild the configure script, Makefile.in files,
77a53f50b9Schristosaclocal.m4, etc.  The best way to do so is to run
78a53f50b9Schristos
79a53f50b9Schristos	./bootstrap
80a53f50b9Schristosor
81a53f50b9Schristos	./buildall -K
82a53f50b9Schristos
83a53f50b9SchristosTo be a developer and be able to run "bootstrap", you must have
84*8bae5d40Schristosautoconf-2.68, automake-1.11.1, and libtool 2.2.6b installed on your system (or
85a53f50b9Schristoslater versions thereof).  You no longer need to get my special version of
86a53f50b9Schristosautomake.  Contact me if you'd like to be a maintainer and get access to the
87a53f50b9SchristosCVS server.
88a53f50b9Schristos
89a53f50b9SchristosAfter you've remade the basic configuration files you must rerun the
90a53f50b9Schristosbuildall script to rerun configure and then remake the binaries.
91a53f50b9Schristos
92a53f50b9SchristosModifying M4 macros may not be very intuitive to anyone that has not done so
93a53f50b9Schristosbefore.  Let me know if you are having any problems with them.  I fully
94a53f50b9Schristosexpect, at least initially, to have to be the sole developers of the M4
95a53f50b9Schristosmacros and let others concentrate on C sources.
96a53f50b9Schristos
97a53f50b9Schristos[E] Report all bugs via Bugzilla or the am-utils list (see
98a53f50b9Schristoswww.am-utils.org).  Avoid reporting to my personal email address.  It is
99a53f50b9Schristosimportant to involve the whole list in bug fixes etc.
100a53f50b9Schristos
101a53f50b9SchristosGood luck.
102a53f50b9Schristos
103a53f50b9SchristosErez Zadok,
104a53f50b9SchristosMaintainer, am-utils.
105