123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293 |
- THIS TARBALL IS NOT A FULL DISTRIBUTION.
- The contents of this tarball is designed to be incorporated into
- software packages that utilize the AutoOpts option automation
- package and are intended to be installed on systems that may not
- have libopts installed. It is redistributable under the terms
- of either the LGPL (see COPYING.lgpl) or under the terms of
- the advertising clause free BSD license (see COPYING.mbsd).
- Usage Instructions for autoconf/automake/libtoolized projects:
- 1. Install the unrolled tarball into your package source tree,
- copying ``libopts.m4'' to your autoconf macro directory.
- In your bootstrap (pre-configure) script, you can do this:
- rm -rf libopts libopts-*
- gunzip -c `autoopts-config libsrc` | tar -xvf -
- mv -f libopts-*.*.* libopts
- cp -fp libopts/m4/*.m4 m4/.
- I tend to put my configure auxiliary files in "m4".
- Whatever directory you choose, if it is not ".", then
- be sure to tell autoconf about it with:
- AC_CONFIG_AUX_DIR(m4)
- This is one macro where you *MUST* remember to *NOT* quote
- the argument. If you do, automake will get lost.
- 2. Add the following to your ``configure.ac'' file:
- LIBOPTS_CHECK
- or:
- LIBOPTS_CHECK([relative/path/to/libopts])
- This macro will automatically invoke
- AC_CONFIG_FILES( [relative/path/to/libopts/Makefile] )
- The default ``relative/path/to/libopts'' is simply
- ``libopts''.
- 3. Add the following to your top level ``Makefile.am'' file:
- if NEED_LIBOPTS
- SUBDIRS += $(LIBOPTS_DIR)
- endif
- where ``<...>'' can be whatever other files or directories
- you may need. The SUBDIRS must be properly ordered.
- *PLEASE NOTE* it is crucial that the SUBDIRS be set under the
- control of an automake conditional. To work correctly,
- automake has to know the range of possible values of SUBDIRS.
- It's a magical name with magical properties. ``NEED_LIBOPTS''
- will be correctly set by the ``LIBOPTS_CHECK'' macro, above.
- 4. Add ``$(LIBOPTS_CFLAGS)'' to relevant compiler flags and
- ``$(LIBOPTS_LDADD)'' to relevant link options whereever
- you need them in your build tree.
- 5. Make sure your object files explicitly depend upon the
- generated options header file. e.g.:
- $(prog_OBJECTS) : prog-opts.h
- prog-opts.h : prog-opts.c
- prog-opts.c : prog-opts.def
- autogen prog-opts.def
- 6. *OPTIONAL* --
- If you are creating man pages and texi documentation from
- the program options, you will need these rules somewhere, too:
- man_MANS = prog.1
- prog.1 : prog-opts.def
- autogen -Tagman1.tpl -bprog prog-opts.def
- prog-invoke.texi : prog-opts.def
- autogen -Taginfo.tpl -bprog-invoke prog-opts.def
- If your package does not utilize the auto* tools, then you
- will need to hand craft the rules for building the library.
- LICENSING:
- This material is copyright 1993-2006 by Bruce Korb.
- You are licensed to use this under the terms of either
- the GNU Lesser General Public License (see: COPYING.lgpl), or,
- at your option, the modified Berkeley Software Distribution
- License (see: COPYING.mbsd). Both of these files should be
- included with this tarball.
|