README revision 38494
138494Sobrien# -*- text -*-
238494Sobrien
338494SobrienThis is an alpha version of amd.  "Buyers" beware!!!
438494Sobrien
538494SobrienSee the file NEWS for news on this and previous releases.
638494Sobrien
738494Sobrien*** General Notes to alpha testers:
838494Sobrien
938494Sobrien[A] an an alpha testers, I expect you to be able to find certain things on
1038494Sobrienyour own (especially look at the sources to figure out how things work).
1138494Sobrien
1238494Sobrien[B] if you intend to modify any files, first find out if the file you want
1338494Sobriento modify gets autogenerated from some other place.  If so, modify it at the
1438494Sobriensource.
1538494Sobrien
1638494SobrienYou can adjust some of the configuration of am-utils after it has been
1738494Sobrienauto-configured by putting whatever definitions you wish in a file called
1838494Sobrienlocalconfig.h, located in the top build directory (the same one where
1938494Sobrienconfig.h is created for you).
2038494Sobrien
2138494Sobrien[C] there are several ways you can build am-utils:
2238494Sobrien
2338494Sobrien(1) run the buildall script as follows:
2438494Sobrien
2538494Sobrien	./buildall
2638494Sobrien
2738494SobrienThis would build all the applications inside a special directory relative to
2838494Sobrienthe root of the source tree, called A.<cpu-company-system>, where the <>
2938494Sobrienpart is filled in by GNU's config.guess script.  This is the preferred
3038494Sobrienmethod, for it will separate the build from the sources, and allow you to
3138494Sobrienrun buildall for multiple architectures concurrently.
3238494Sobrien
3338494SobrienYou can run "buildall -h" to see what options it takes.
3438494Sobrien
3538494Sobrien(2) run the configure script such as:
3638494Sobrien
3738494Sobrien	./configure
3838494Sobrien
3938494Sobrienand then run
4038494Sobrien
4138494Sobrien	make
4238494Sobrien
4338494SobrienThis would configure amd in the directory you've run the configure script
4438494Sobrienin, and the built it there.  Run "make install" to install all the necessary
4538494Sobrienfiles.
4638494Sobrien
4738494SobrienNote that this is good for building only one version of amd on one
4838494Sobrienarchitecture!  Don't try this for multiple architectures.  If you must, then
4938494Sobrienafter doing one such build, run "make distclean" and then reconfigure for
5038494Sobrienanother architecture.
5138494Sobrien
5238494Sobrien(3) run the configure script for build in a different location.  Let's say
5338494Sobrienthat /src/am-utils-6.0 is where you unpacked the sources.  So you could
5438494Sobrien
5538494Sobrien	mkdir /src/build/sunos5
5638494Sobrien	cd /src/build/sunos5
5738494Sobrien	/src/am-utils-6.0/configure --srcdir=/src/am-utils-6.0
5838494Sobrien	make
5938494Sobrien
6038494SobrienThis is a manual method that will let you build in any directory outside the
6138494Sobrienam-utils source tree.  It requires that your "make" program understand
6238494SobrienVPATH.  This can be used multiple times to build am-utils concurrently in
6338494Sobrienmultiple (but different) directories.  In fact, the buildall script
6438494Sobriendescribed above.
6538494Sobrien
6638494Sobrien(4) If you need to configure am-utils with extra libraries and/or headers,
6738494Sobrienfor example to add hesiod support, do so as follows:
6838494Sobrien
6938494Sobrien	configure --enable-libs="-lhesiod -lresolv" \
7038494Sobrien		--enable-ldflags="-L/usr/local/hesiod/lib" \
7138494Sobrien		--enable-cppflags="-I/usr/local/hesiod/include"
7238494Sobrien
7338494Sobrien[D] If you modify any of the *.[chyl] sources in the directories amd, amq,
7438494Sobrienhlfsd, lib, etc, all you need to do to get a new version of am-utils is run
7538494Sobrienmake.
7638494Sobrien
7738494SobrienIf you modify any of the files in the aux/ or conf/ directories, then you
7838494Sobrienmust rebuild the configure script, Makefile.in files, aclocal.m4, etc.  The
7938494Sobrienbest way to do so is to run
8038494Sobrien
8138494Sobrien	./aux/mkconf
8238494Sobrienor
8338494Sobrien	./buildall -K
8438494Sobrien
8538494SobrienTo be a developer and be able to run mkconf, you must have autoconf-2.12,
8638494SobrienGNU make-3.75 or later, and automake-1.2 (plus my fixes to it) installed on
8738494Sobrienyour system.  You may find my version of automake-1.2 where you ftp'ed this
8838494Sobrienversion of am-utils.  You may also need GNU libtool 1.0.
8938494Sobrien
9038494SobrienAfter you've remade the basic configuration files you must rerun the
9138494Sobrienbuildall script to rerun configure and then remake the binaries.
9238494Sobrien
9338494SobrienModifying M4 macros may not be very intuitive to anyone that has not done so
9438494Sobrienbefore.  Let me know if you are having any problems with them.  I fully
9538494Sobrienexpect, at least initially, to have to be the sole developers of the M4
9638494Sobrienmacros and let others concentrate on C sources.
9738494Sobrien
9838494Sobrien[E] Report all bugs to amd-dev@majordomo.cs.columbia.edu.  Avoid reporting
9938494Sobriento my personal email address.  It is important to involve the whole list in
10038494Sobrienbug fixes etc.
10138494Sobrien
10238494SobrienGood luck.
10338494Sobrien
10438494SobrienErez Zadok,
10538494SobrienMaintainer, am-utils.
106