Document the recently added WITHOUT_SRCS variable.
[dragonfly.git] / contrib / amd / README
1 # -*- text -*-
2
3 This is the official version of am-utils.
4
5 See 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
10 your 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
13 to modify gets autogenerated from some other place.  If so, modify it at the
14 source.
15
16 You can adjust some of the configuration of am-utils after it has been
17 auto-configured by putting whatever definitions you wish in a file called
18 localconfig.h, located in the top build directory (the same one where
19 config.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
27 This would build all the applications inside a special directory relative to
28 the root of the source tree, called A.<cpu-company-system>, where the <>
29 part is filled in by GNU's config.guess script.  This is the preferred
30 method, for it will separate the build from the sources, and allow you to
31 run buildall for multiple architectures concurrently.
32
33 You can run "buildall -h" to see what options it takes.
34
35 (2) run the configure script such as:
36
37         ./configure
38
39 and then run
40
41         make
42
43 This would configure amd in the directory you've run the configure script
44 in, and the built it there.  Run "make install" to install all the necessary
45 files.
46
47 Note that this is good for building only one version of amd on one
48 architecture!  Don't try this for multiple architectures.  If you must, then
49 after doing one such build, run "make distclean" and then reconfigure for
50 another architecture.
51
52 (3) run the configure script for build in a different location.  Let's say
53 that /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
60 This is a manual method that will let you build in any directory outside the
61 am-utils source tree.  It requires that your "make" program understand
62 VPATH.  This can be used multiple times to build am-utils concurrently in
63 multiple (but different) directories.  In fact, the buildall script
64 described above.
65
66 (4) If you need to configure am-utils with extra libraries and/or headers,
67 for 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,
74 hlfsd, lib, etc, all you need to do to get a new version of am-utils is run
75 make.
76
77 If you modify any of the files in the aux/ or conf/ directories, then you
78 must rebuild the configure script, Makefile.in files, aclocal.m4, etc.  The
79 best way to do so is to run
80
81         ./aux/mkconf
82 or
83         ./buildall -K
84
85 To be a developer and be able to run mkconf, you must have autoconf-2.12,
86 GNU make-3.75 or later, and automake-1.2 (plus my fixes to it) installed on
87 your system.  You may find my version of automake-1.2 where you ftp'ed this
88 version of am-utils.  You may also need GNU libtool 1.0.
89
90 After you've remade the basic configuration files you must rerun the
91 buildall script to rerun configure and then remake the binaries.
92
93 Modifying M4 macros may not be very intuitive to anyone that has not done so
94 before.  Let me know if you are having any problems with them.  I fully
95 expect, at least initially, to have to be the sole developers of the M4
96 macros and let others concentrate on C sources.
97
98 [E] Report all bugs to amd-dev@majordomo.cs.columbia.edu.  Avoid reporting
99 to my personal email address.  It is important to involve the whole list in
100 bug fixes etc.
101
102 Good luck.
103
104 Erez Zadok,
105 Maintainer, am-utils.