Annotation of embedaddon/ntp/sntp/libopts/README, revision 1.1

1.1     ! misho       1:         THIS TARBALL IS NOT A FULL DISTRIBUTION.
        !             2: 
        !             3: The contents of this tarball is designed to be incorporated into
        !             4: software packages that utilize the AutoOpts option automation package
        !             5: and are intended to be installed on systems that may not have libopts
        !             6: installed.  It is redistributable under the terms of either the LGPL
        !             7: (see COPYING.lgpl) or under the terms of the advertising clause free BSD
        !             8: license (see COPYING.mbsd).
        !             9: 
        !            10: Usage Instructions for autoconf/automake/libtoolized projects:
        !            11: 
        !            12: 1. Install the unrolled tarball into your package source tree,
        !            13:    copying ``libopts.m4'' to your autoconf macro directory.
        !            14: 
        !            15:    In your bootstrap (pre-configure) script, you can do this:
        !            16: 
        !            17:       rm -rf libopts libopts-*
        !            18:       gunzip -c `autoopts-config libsrc` | tar -xvf -
        !            19:       mv -f libopts-*.*.* libopts
        !            20:       cp -fp libopts/m4/*.m4 m4/.
        !            21: 
        !            22:    I tend to put my configure auxiliary files in "m4".
        !            23:    Whatever directory you choose, if it is not ".", then
        !            24:    be sure to tell autoconf about it with:
        !            25: 
        !            26:       AC_CONFIG_AUX_DIR(m4)
        !            27: 
        !            28:    This is one macro where you *MUST* remember to *NOT* quote
        !            29:    the argument.  If you do, automake will get lost.
        !            30: 
        !            31: 2. Add an invocation of either LIBOPTS_CHECK or LIBOPTS_CHECK_NOBUILD
        !            32:    to your configure.ac file.  See LIBOPTS_CHECK: below for details.
        !            33: 
        !            34: 3. Add the following to your top level ``Makefile.am'' file:
        !            35: 
        !            36:       if NEED_LIBOPTS
        !            37:          SUBDIRS += $(LIBOPTS_DIR)
        !            38:       endif
        !            39: 
        !            40:    where ``<...>'' can be whatever other files or directories you may
        !            41:    need.  The SUBDIRS must be properly ordered.  *PLEASE NOTE* it is
        !            42:    crucial that the SUBDIRS be set under the control of an automake
        !            43:    conditional.  To work correctly, automake has to know the range of
        !            44:    possible values of SUBDIRS.  It's a magical name with magical
        !            45:    properties.  ``NEED_LIBOPTS'' will be correctly set by the
        !            46:    ``LIBOPTS_CHECK'' macro, above.
        !            47: 
        !            48: 4. Add ``$(LIBOPTS_CFLAGS)'' to relevant compiler flags and
        !            49:    ``$(LIBOPTS_LDADD)'' to relevant link options whereever
        !            50:    you need them in your build tree.
        !            51: 
        !            52: 5. Make sure your object files explicitly depend upon the
        !            53:    generated options header file.  e.g.:
        !            54: 
        !            55:      $(prog_OBJECTS) : prog-opts.h
        !            56:      prog-opts.h : prog-opts.c
        !            57:      prog-opts.c : prog-opts.def
        !            58:          autogen prog-opts.def
        !            59: 
        !            60: 6. *OPTIONAL* --
        !            61:    If you are creating man pages and texi documentation from
        !            62:    the program options, you will need these rules somewhere, too:
        !            63: 
        !            64:      man_MANS = prog.1
        !            65:      prog.1 : prog-opts.def
        !            66:          autogen -Tagman-cmd.tpl -bprog prog-opts.def
        !            67: 
        !            68:      invoke-prog.texi : prog-opts.def
        !            69:          autogen -Tagtexi-cmd.tpl prog-opts.def
        !            70: 
        !            71: If your package does not utilize the auto* tools, then you
        !            72: will need to hand craft the rules for building the library.
        !            73: 
        !            74: LIBOPTS_CHECK:
        !            75: 
        !            76: The arguments to both macro are a relative path to the directory with
        !            77: the libopts source code.  It is optional and defaults to "libopts".
        !            78: These macros work as follows:
        !            79: 
        !            80: 1.  LIBOPTS_CHECK([libopts/rel/path/optional])
        !            81: 
        !            82:     Adds two command-line options to the generated configure script,
        !            83:     --enable-local-libopts and --disable-libopts-install.  AC_SUBST's
        !            84:     LIBOPTS_CFLAGS, LIBOPTS_LDADD, and LIBOPTS_DIR for use in
        !            85:     Makefile.am files.  Adds Automake conditional NEED_LIBOPTS which
        !            86:     will be true when the local copy of libopts should be built.  Uses
        !            87:     AC_CONFIG_FILES([$libopts-dir/Makefile]) to cause the local libopts
        !            88:     into the package build.  If the optional relative path to libopts is
        !            89:     not provided, it defaults to simply "libopts".
        !            90: 
        !            91: 2.  LIBOPTS_CHECK_NOBUILD([libopts/rel/path/optional])
        !            92: 
        !            93:     This variant of LIBOPTS_CHECK is useful when multiple configure.ac
        !            94:     files in a package make use of a single libopts tearoff.  In that
        !            95:     case, only one of the configure.ac files should build libopts and
        !            96:     others should simply use it.  Consider this package arrangment:
        !            97: 
        !            98:     all-tools/
        !            99:       configure.ac
        !           100:       common-tools/
        !           101:         configure.ac
        !           102:         libopts/
        !           103: 
        !           104:     The parent package all-tools contains a subpackage common-tools
        !           105:     which can be torn off and used independently.  Programs configured
        !           106:     by both configure.ac files link against the common-tools/libopts
        !           107:     tearoff, when not using the system's libopts.  The top-level
        !           108:     configure.ac uses LIBOPTS_CHECK_NOBUILD([common-tools/libopts]),
        !           109:     while common-tools/configure.ac uses LIBOPTS_CHECK.  The difference
        !           110:     is LIBOPTS_CHECK_NOBUILD will never build the libopts tearoff,
        !           111:     leaving that to the subpackage configure.ac's LIBOPTS_CHECK.
        !           112:     Specifically, LIBOPTS_CHECK_NOBUILD always results in the
        !           113:     NEED_LIBOPTS Automake conditional being false, and does not invoke
        !           114:     AC_CONFIG_FILES(path-to-libopts/Makefile).
        !           115: 
        !           116: LICENSING:
        !           117: 
        !           118: This material is Copyright (c) 1992-2011 by Bruce Korb.  You are
        !           119: licensed to use this under the terms of either the GNU Lesser General
        !           120: Public License (see: COPYING.lgpl), or, at your option, the modified
        !           121: Berkeley Software Distribution License (see: COPYING.mbsd).  Both of
        !           122: these files should be included with this tarball.

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>