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