README revision 82794
1# -*- text -*-
2
3This is the official version of am-utils.
4
5See the file NEWS for news on this and previous releases.
6
7*** General Notes to alpha/beta testers:
8
9[A] as alpha/beta testers, I expect you to be able to find certain things on
10your own (especially look at the sources to figure out how things work).
11
12[B] if you intend to modify any files, first find out if the file you want
13to modify gets autogenerated from some other place.  If so, modify it at the
14source.
15
16You can adjust some of the configuration of am-utils after it has been
17auto-configured by putting whatever definitions you wish in a file called
18localconfig.h, located in the top build directory (the same one where
19config.h is created for you).
20
21[C] there are several ways you can build am-utils:
22
23(1) run the buildall script as follows:
24
25	./buildall
26
27This would build all the applications inside a special directory relative to
28the root of the source tree, called A.<cpu-company-system>, where the <>
29part is filled in by GNU's config.guess script.  This is the preferred
30method, for it will separate the build from the sources, and allow you to
31run buildall for multiple architectures concurrently.
32
33You can run "buildall -h" to see what options it takes.
34
35(2) run the configure script such as:
36
37	./configure
38
39and then run
40
41	make
42
43This would configure amd in the directory you've run the configure script
44in, and the built it there.  Run "make install" to install all the necessary
45files.
46
47Note that this is good for building only one version of amd on one
48architecture!  Don't try this for multiple architectures.  If you must, then
49after doing one such build, run "make distclean" and then reconfigure for
50another architecture.
51
52(3) run the configure script for build in a different location.  Let's say
53that /src/am-utils-6.0 is where you unpacked the sources.  So you could
54
55	mkdir /src/build/sunos5
56	cd /src/build/sunos5
57	/src/am-utils-6.0/configure --srcdir=/src/am-utils-6.0
58	make
59
60This is a manual method that will let you build in any directory outside the
61am-utils source tree.  It requires that your "make" program understand
62VPATH.  This can be used multiple times to build am-utils concurrently in
63multiple (but different) directories.  In fact, the buildall script
64described above.
65
66(4) If you need to configure am-utils with extra libraries and/or headers,
67for example to add hesiod support, do so as follows:
68
69	configure --enable-libs="-lhesiod -lresolv" \
70		--enable-ldflags="-L/usr/local/hesiod/lib" \
71		--enable-cppflags="-I/usr/local/hesiod/include"
72
73[D] If you modify any of the *.[chyl] sources in the directories amd, amq,
74hlfsd, lib, etc, all you need to do to get a new version of am-utils is run
75make.
76
77If you modify any of the files in the aux/ or conf/ directories, or any *.in
78or *.am file, then you must rebuild the configure script, Makefile.in files,
79aclocal.m4, etc.  The best way to do so is to run
80
81	./bootstrap
82or
83	./buildall -K
84
85To be a developer and be able to run "bootstrap", you must have
86autoconf-2.13, automake-1.4, and libtool 1.3.5 installed on your system (or
87later versions thereof).  You no longer need to get my special version of
88automake.  Note also the the bootstrap script and several other tools are
89not available in the regular distribution of am-utils, only though the CVS
90server for am-utils.  Contact me if you'd like to be a maintainer and get
91access to the CVS server.
92
93After you've remade the basic configuration files you must rerun the
94buildall script to rerun configure and then remake the binaries.
95
96Modifying M4 macros may not be very intuitive to anyone that has not done so
97before.  Let me know if you are having any problems with them.  I fully
98expect, at least initially, to have to be the sole developers of the M4
99macros and let others concentrate on C sources.
100
101[E] Report all bugs to amd-dev@majordomo.cs.columbia.edu.  Avoid reporting
102to my personal email address.  It is important to involve the whole list in
103bug fixes etc.
104
105Good luck.
106
107Erez Zadok,
108Maintainer, am-utils.
109