README revision 42629
1241675Suqs# -*- text -*-
2241675Suqs
3241675SuqsThis is the official version of am-utils.
4241675Suqs
5241675SuqsSee the file NEWS for news on this and previous releases.
6241675Suqs
7241675Suqs*** General Notes to alpha/beta testers:
8241675Suqs
9241675Suqs[A] as alpha/beta testers, I expect you to be able to find certain things on
10241675Suqsyour own (especially look at the sources to figure out how things work).
11241675Suqs
12241675Suqs[B] if you intend to modify any files, first find out if the file you want
13241675Suqsto modify gets autogenerated from some other place.  If so, modify it at the
14241675Suqssource.
15241675Suqs
16241675SuqsYou can adjust some of the configuration of am-utils after it has been
17241675Suqsauto-configured by putting whatever definitions you wish in a file called
18241675Suqslocalconfig.h, located in the top build directory (the same one where
19241675Suqsconfig.h is created for you).
20241675Suqs
21241675Suqs[C] there are several ways you can build am-utils:
22241675Suqs
23241675Suqs(1) run the buildall script as follows:
24241675Suqs
25241675Suqs	./buildall
26241675Suqs
27241675SuqsThis would build all the applications inside a special directory relative to
28241675Suqsthe root of the source tree, called A.<cpu-company-system>, where the <>
29241675Suqspart is filled in by GNU's config.guess script.  This is the preferred
30241675Suqsmethod, for it will separate the build from the sources, and allow you to
31241675Suqsrun buildall for multiple architectures concurrently.
32241675Suqs
33241675SuqsYou can run "buildall -h" to see what options it takes.
34241675Suqs
35241675Suqs(2) run the configure script such as:
36241675Suqs
37241675Suqs	./configure
38241675Suqs
39241675Suqsand then run
40241675Suqs
41241675Suqs	make
42241675Suqs
43241675SuqsThis would configure amd in the directory you've run the configure script
44241675Suqsin, and the built it there.  Run "make install" to install all the necessary
45241675Suqsfiles.
46241675Suqs
47241675SuqsNote that this is good for building only one version of amd on one
48241675Suqsarchitecture!  Don't try this for multiple architectures.  If you must, then
49241675Suqsafter doing one such build, run "make distclean" and then reconfigure for
50241675Suqsanother architecture.
51241675Suqs
52241675Suqs(3) run the configure script for build in a different location.  Let's say
53241675Suqsthat /src/am-utils-6.0 is where you unpacked the sources.  So you could
54241675Suqs
55241675Suqs	mkdir /src/build/sunos5
56241675Suqs	cd /src/build/sunos5
57241675Suqs	/src/am-utils-6.0/configure --srcdir=/src/am-utils-6.0
58241675Suqs	make
59241675Suqs
60241675SuqsThis is a manual method that will let you build in any directory outside the
61241675Suqsam-utils source tree.  It requires that your "make" program understand
62241675SuqsVPATH.  This can be used multiple times to build am-utils concurrently in
63241675Suqsmultiple (but different) directories.  In fact, the buildall script
64241675Suqsdescribed above.
65241675Suqs
66241675Suqs(4) If you need to configure am-utils with extra libraries and/or headers,
67241675Suqsfor example to add hesiod support, do so as follows:
68241675Suqs
69241675Suqs	configure --enable-libs="-lhesiod -lresolv" \
70241675Suqs		--enable-ldflags="-L/usr/local/hesiod/lib" \
71241675Suqs		--enable-cppflags="-I/usr/local/hesiod/include"
72241675Suqs
73241675Suqs[D] If you modify any of the *.[chyl] sources in the directories amd, amq,
74241675Suqshlfsd, lib, etc, all you need to do to get a new version of am-utils is run
75241675Suqsmake.
76241675Suqs
77241675SuqsIf you modify any of the files in the aux/ or conf/ directories, then you
78241675Suqsmust rebuild the configure script, Makefile.in files, aclocal.m4, etc.  The
79241675Suqsbest way to do so is to run
80241675Suqs
81241675Suqs	./aux/mkconf
82241675Suqsor
83241675Suqs	./buildall -K
84241675Suqs
85241675SuqsTo be a developer and be able to run mkconf, you must have autoconf-2.12,
86241675SuqsGNU make-3.75 or later, and automake-1.2 (plus my fixes to it) installed on
87241675Suqsyour system.  You may find my version of automake-1.2 where you ftp'ed this
88241675Suqsversion of am-utils.  You may also need GNU libtool 1.0.
89241675Suqs
90241675SuqsAfter you've remade the basic configuration files you must rerun the
91241675Suqsbuildall script to rerun configure and then remake the binaries.
92241675Suqs
93241675SuqsModifying M4 macros may not be very intuitive to anyone that has not done so
94241675Suqsbefore.  Let me know if you are having any problems with them.  I fully
95241675Suqsexpect, at least initially, to have to be the sole developers of the M4
96241675Suqsmacros and let others concentrate on C sources.
97241675Suqs
98241675Suqs[E] Report all bugs to amd-dev@majordomo.cs.columbia.edu.  Avoid reporting
99241675Suqsto my personal email address.  It is important to involve the whole list in
100241675Suqsbug fixes etc.
101241675Suqs
102241675SuqsGood luck.
103241675Suqs
104241675SuqsErez Zadok,
105241675SuqsMaintainer, am-utils.
106241675Suqs