Fred Klassen 27a7598261 Import upstream version 4.4.4 11 months ago
..
autoopts 63f8138876 Import upstream version 4.4.3 1 year ago
compat 63f8138876 Import upstream version 4.4.3 1 year ago
m4 63f8138876 Import upstream version 4.4.3 1 year ago
COPYING.gplv3 63f8138876 Import upstream version 4.4.3 1 year ago
COPYING.lgplv3 63f8138876 Import upstream version 4.4.3 1 year ago
COPYING.mbsd 63f8138876 Import upstream version 4.4.3 1 year ago
MakeDefs.inc 99c4958664 Import upstream version 2.99+3.0.rc1 17 years ago
Makefile.am 63f8138876 Import upstream version 4.4.3 1 year ago
Makefile.in 27a7598261 Import upstream version 4.4.4 11 months ago
README 63f8138876 Import upstream version 4.4.3 1 year ago
_Noreturn.h 63f8138876 Import upstream version 4.4.3 1 year ago
ag-char-map.h 63f8138876 Import upstream version 4.4.3 1 year ago
alias.c 63f8138876 Import upstream version 4.4.3 1 year ago
ao-strs.c 63f8138876 Import upstream version 4.4.3 1 year ago
ao-strs.h 63f8138876 Import upstream version 4.4.3 1 year ago
autoopts.c 63f8138876 Import upstream version 4.4.3 1 year ago
autoopts.h 27a7598261 Import upstream version 4.4.4 11 months ago
boolean.c 63f8138876 Import upstream version 4.4.3 1 year ago
check.c 63f8138876 Import upstream version 4.4.3 1 year ago
configfile.c 63f8138876 Import upstream version 4.4.3 1 year ago
cook.c 63f8138876 Import upstream version 4.4.3 1 year ago
enum.c 27a7598261 Import upstream version 4.4.4 11 months ago
env.c 63f8138876 Import upstream version 4.4.3 1 year ago
file.c 63f8138876 Import upstream version 4.4.3 1 year ago
find.c 63f8138876 Import upstream version 4.4.3 1 year ago
genshell.c 63f8138876 Import upstream version 4.4.3 1 year ago
genshell.h 63f8138876 Import upstream version 4.4.3 1 year ago
gettext.h 63f8138876 Import upstream version 4.4.3 1 year ago
init.c 63f8138876 Import upstream version 4.4.3 1 year ago
intprops.h 63f8138876 Import upstream version 4.4.3 1 year ago
libopts.c 63f8138876 Import upstream version 4.4.3 1 year ago
load.c 63f8138876 Import upstream version 4.4.3 1 year ago
makeshell.c 63f8138876 Import upstream version 4.4.3 1 year ago
nested.c 63f8138876 Import upstream version 4.4.3 1 year ago
numeric.c 63f8138876 Import upstream version 4.4.3 1 year ago
option-value-type.c 63f8138876 Import upstream version 4.4.3 1 year ago
option-value-type.h 25da238943 Import upstream version 4.2.4 7 years ago
option-xat-attribute.c 63f8138876 Import upstream version 4.4.3 1 year ago
option-xat-attribute.h 25da238943 Import upstream version 4.2.4 7 years ago
parse-duration.c 63f8138876 Import upstream version 4.4.3 1 year ago
parse-duration.h 63f8138876 Import upstream version 4.4.3 1 year ago
pgusage.c 63f8138876 Import upstream version 4.4.3 1 year ago
proto.h 63f8138876 Import upstream version 4.4.3 1 year ago
putshell.c 63f8138876 Import upstream version 4.4.3 1 year ago
reset.c 63f8138876 Import upstream version 4.4.3 1 year ago
restore.c 63f8138876 Import upstream version 4.4.3 1 year ago
save-flags.c 63f8138876 Import upstream version 4.4.3 1 year ago
save-flags.h 63f8138876 Import upstream version 4.4.3 1 year ago
save.c 27a7598261 Import upstream version 4.4.4 11 months ago
sort.c 63f8138876 Import upstream version 4.4.3 1 year ago
stack.c 63f8138876 Import upstream version 4.4.3 1 year ago
stdnoreturn.in.h 63f8138876 Import upstream version 4.4.3 1 year ago
streqvcmp.c 63f8138876 Import upstream version 4.4.3 1 year ago
text_mmap.c 63f8138876 Import upstream version 4.4.3 1 year ago
time.c 63f8138876 Import upstream version 4.4.3 1 year ago
tokenize.c 63f8138876 Import upstream version 4.4.3 1 year ago
usage.c 63f8138876 Import upstream version 4.4.3 1 year ago
version.c 63f8138876 Import upstream version 4.4.3 1 year ago

README

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 an invocation of either LIBOPTS_CHECK or LIBOPTS_CHECK_NOBUILD
to your configure.ac file. See LIBOPTS_CHECK: below for details.

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 -Tagman-cmd.tpl -bprog prog-opts.def

invoke-prog.texi : prog-opts.def
autogen -Tagtexi-cmd.tpl 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.

LIBOPTS_CHECK:

The arguments to both macro are a relative path to the directory with
the libopts source code. It is optional and defaults to "libopts".
These macros work as follows:

1. LIBOPTS_CHECK([libopts/rel/path/optional])

Adds two command-line options to the generated configure script,
--enable-local-libopts and --disable-libopts-install. AC_SUBST's
LIBOPTS_CFLAGS, LIBOPTS_LDADD, and LIBOPTS_DIR for use in
Makefile.am files. Adds Automake conditional NEED_LIBOPTS which
will be true when the local copy of libopts should be built. Uses
AC_CONFIG_FILES([$libopts-dir/Makefile]) to cause the local libopts
into the package build. If the optional relative path to libopts is
not provided, it defaults to simply "libopts".

2. LIBOPTS_CHECK_NOBUILD([libopts/rel/path/optional])

This variant of LIBOPTS_CHECK is useful when multiple configure.ac
files in a package make use of a single libopts tearoff. In that
case, only one of the configure.ac files should build libopts and
others should simply use it. Consider this package arrangment:

all-tools/
configure.ac
common-tools/
configure.ac
libopts/

The parent package all-tools contains a subpackage common-tools
which can be torn off and used independently. Programs configured
by both configure.ac files link against the common-tools/libopts
tearoff, when not using the system's libopts. The top-level
configure.ac uses LIBOPTS_CHECK_NOBUILD([common-tools/libopts]),
while common-tools/configure.ac uses LIBOPTS_CHECK. The difference
is LIBOPTS_CHECK_NOBUILD will never build the libopts tearoff,
leaving that to the subpackage configure.ac's LIBOPTS_CHECK.
Specifically, LIBOPTS_CHECK_NOBUILD always results in the
NEED_LIBOPTS Automake conditional being false, and does not invoke
AC_CONFIG_FILES(path-to-libopts/Makefile).

LICENSING:

This material is Copyright (C) 1992-2018 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.