summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeff Bailey <jbailey@raspberryginger.com>2000-02-17 03:10:05 +0000
committerEric Blake <ebb9@byu.net>2007-10-05 16:09:51 -0600
commitee1aa6c825458998a116b92d50763dbfee165a83 (patch)
tree540b4e44717d00e346ff781d0884520db354dd72
parent24fc956437e057bd446aed93f2403115b726e598 (diff)
downloadm4-ee1aa6c825458998a116b92d50763dbfee165a83.tar.gz
Import of m4-1.4mm4-1.4m
-rw-r--r--ChangeLog39
-rw-r--r--Makefile.am7
-rw-r--r--Makefile.in24
-rw-r--r--NEWS13
-rw-r--r--TODO16
-rw-r--r--acconfig.h2
-rw-r--r--acinclude.m488
-rw-r--r--aclocal.m4326
-rw-r--r--acm4/Makefile.in11
-rw-r--r--acm4/modules.m499
-rw-r--r--config.h.in14
-rwxr-xr-xconfigure824
-rw-r--r--configure.in9
-rw-r--r--doc/Makefile.in11
-rw-r--r--doc/helptoman.pl2
-rw-r--r--doc/m4.info78
-rw-r--r--doc/m4.info-12
-rw-r--r--doc/m4.info-211
-rw-r--r--doc/m4.texinfo16
-rw-r--r--doc/stamp-vti6
-rw-r--r--doc/version.texi6
-rw-r--r--examples/Makefile.am4
-rw-r--r--examples/Makefile.in16
-rw-r--r--examples/WWW/Makefile18
-rw-r--r--examples/WWW/changelog.htm2248
-rw-r--r--examples/WWW/download.htm302
-rw-r--r--examples/WWW/features.htm380
-rw-r--r--examples/WWW/feedback.htm297
-rw-r--r--examples/WWW/index.htm319
-rw-r--r--examples/WWW/lists.htm320
-rw-r--r--examples/WWW/m4lib/changelog.m418
-rw-r--r--examples/WWW/m4lib/download.m421
-rw-r--r--examples/WWW/m4lib/features.m462
-rw-r--r--examples/WWW/m4lib/feedback.m420
-rw-r--r--examples/WWW/m4lib/html.m4119
-rw-r--r--examples/WWW/m4lib/index.m436
-rw-r--r--examples/WWW/m4lib/layout.m450
-rw-r--r--examples/WWW/m4lib/lists.m432
-rw-r--r--examples/WWW/m4lib/menu.m435
-rw-r--r--examples/WWW/m4lib/modules.m418
-rw-r--r--examples/WWW/m4lib/news.m418
-rw-r--r--examples/WWW/m4lib/readme.m418
-rw-r--r--examples/WWW/m4lib/setup.m47
-rw-r--r--examples/WWW/m4lib/test.m49
-rw-r--r--examples/WWW/m4lib/thanks.m418
-rw-r--r--examples/WWW/m4lib/thissite.m439
-rw-r--r--examples/WWW/m4lib/tmpl.m411
-rw-r--r--examples/WWW/m4lib/todo.m418
-rw-r--r--examples/WWW/m4lib/uses.m436
-rw-r--r--examples/WWW/m4lib/visions.m428
-rw-r--r--examples/WWW/m4lib/whatis.m443
-rw-r--r--examples/WWW/modules.htm347
-rw-r--r--examples/WWW/news.htm551
-rw-r--r--examples/WWW/readme.htm329
-rw-r--r--examples/WWW/thanks.htm377
-rw-r--r--examples/WWW/thissite.htm327
-rw-r--r--examples/WWW/todo.htm388
-rw-r--r--examples/WWW/uses.htm322
-rw-r--r--examples/WWW/visions.htm309
-rw-r--r--examples/WWW/whatis.htm327
-rw-r--r--lib/Makefile.in61
-rwxr-xr-xltconfig1512
-rw-r--r--ltmain.sh2453
-rw-r--r--modules/Makefile.am39
-rw-r--r--modules/Makefile.in202
-rw-r--r--modules/stdlib.c4
-rw-r--r--po/cat-id-tbl.c45
-rw-r--r--po/de.gmobin11731 -> 11731 bytes
-rw-r--r--po/de.po20
-rw-r--r--po/fr.gmobin11890 -> 11890 bytes
-rw-r--r--po/fr.po20
-rw-r--r--po/it.gmobin6118 -> 6118 bytes
-rw-r--r--po/it.po20
-rw-r--r--po/ja.gmobin12649 -> 12649 bytes
-rw-r--r--po/ja.po20
-rw-r--r--po/m4.pot20
-rw-r--r--po/nl.gmobin11661 -> 11661 bytes
-rw-r--r--po/nl.po30
-rw-r--r--po/pl.gmobin11935 -> 11935 bytes
-rw-r--r--po/pl.po20
-rw-r--r--po/ru.gmobin11431 -> 11431 bytes
-rw-r--r--po/ru.po20
-rw-r--r--po/sv.gmobin356 -> 334 bytes
-rw-r--r--po/sv.po24
-rw-r--r--src/Makefile.in82
-rw-r--r--src/input.c9
-rw-r--r--src/m4.c2
-rw-r--r--src/m4.h2
-rw-r--r--src/module.c113
-rw-r--r--tests/Makefile.in11
-rwxr-xr-xtests/generated-tests/cleardiv.1.test2
-rwxr-xr-xtests/generated-tests/cleardiv.2.test2
-rwxr-xr-xtests/generated-tests/divert.1.test2
-rwxr-xr-xtests/generated-tests/divert.2.test2
-rwxr-xr-xtests/generated-tests/divnum.1.test2
-rwxr-xr-xtests/generated-tests/errprint.1.test2
-rwxr-xr-xtests/generated-tests/errprint.2.test2
-rwxr-xr-xtests/generated-tests/esyscmd.1.test2
-rwxr-xr-xtests/generated-tests/eval.1.test2
-rwxr-xr-xtests/generated-tests/eval.2.test2
-rwxr-xr-xtests/generated-tests/format.1.test2
-rwxr-xr-xtests/generated-tests/include.1.test2
-rwxr-xr-xtests/generated-tests/include.2.test2
-rwxr-xr-xtests/generated-tests/include.3.test2
-rwxr-xr-xtests/generated-tests/incr.1.test2
-rwxr-xr-xtests/generated-tests/index.1.test2
-rwxr-xr-xtests/generated-tests/len.1.test2
-rwxr-xr-xtests/generated-tests/m4exit.1.test2
-rwxr-xr-xtests/generated-tests/m4wrap.1.test2
-rwxr-xr-xtests/generated-tests/patsubst.1.test2
-rwxr-xr-xtests/generated-tests/patsubst.2.test2
-rwxr-xr-xtests/generated-tests/regexp.1.test2
-rwxr-xr-xtests/generated-tests/regexp.2.test2
-rwxr-xr-xtests/generated-tests/substr.1.test2
-rwxr-xr-xtests/generated-tests/sysval.1.test2
-rwxr-xr-xtests/generated-tests/translit.1.test2
-rwxr-xr-xtests/generated-tests/undivert.1.test2
-rwxr-xr-xtests/generated-tests/undivert.2.test2
-rwxr-xr-xtests/generated-tests/undivert.3.test2
119 files changed, 13360 insertions, 868 deletions
diff --git a/ChangeLog b/ChangeLog
index bd402c58..eaf4100f 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,42 @@
+1998-11-18 Rene' Seindal <rene@seindal.dk>
+
+ * src/input.c (set_word_regexp): Fixed a bug, where word_regexp
+ could be changed when compiling a illegal regexp, causing later
+ use of the regexp to dump core.
+
+ * src/module.c (module_load): Changed error message to conform to
+ standards.
+
+ * src/m4.c (usage): Added message about reporting bugs.
+
+ * doc/m4.texinfo (Changeword): Corrected a wrong example.
+ (Changeword): Added note about the type of regexps used.
+
+ * ltconfig, ltmain.sh: New files from Libtool 1.2.
+
+ * configure.in: Added calls to AM_ENABLE_SHARED, AM_DISABLE_STATIC
+ and AM_PROG_LIBTOOL.
+
+ * acm4/modules.m4 (AM_WITH_MODULES): Redone completely to work
+ with libtool.
+
+ * modules/Makefile.am: Changed completely to compile modules using
+ libtool. The modules are compiled as shared libraries, and are
+ renamed when installed.
+
+ * src/m4.h, src/module.c, acm4/modules.m4, acconfig.h: Renamed
+ USE_SHL_LOAD to HAVE_SHL_LOAD
+
+ * src/builtin.c (shipout_string): Now tests for a NULL string.
+
+ * src/module.c: New level of indirection around non-portable
+ functions to load shared objects. Intended to encapsulate the non
+ portable parts better and to reduce the number of #ifdefs in the
+ code.
+
+ * Makefile.am (DIST_SUBDIRS): Instead of EXTRA_DIST for added
+ directory modules/ to the distribution.
+
1998-11-15 Rene' Seindal <rene@seindal.dk>
* Prerelease 1.4l.
diff --git a/Makefile.am b/Makefile.am
index 73f3a079..12fc9de8 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -2,12 +2,7 @@ AUTOMAKE_OPTIONS = 1.3b gnits
SUBDIRS = acm4 intl po lib src doc tests examples @MODULES_DIR@
-# These are excluded otherwise
-EXTRA_DIST = modules/Makefile.am modules/Makefile.in \
- modules/test.c modules/test.m4 \
- modules/time.c modules/time.m4 \
- modules/stdlib.c modules/stdlib.m4 \
- modules/README
+# DIST_SUBDIRS = acm4 intl po lib src doc tests examples modules
# Tag before making distribution. Also, don't make a distribution if
# checks fail. Also, make sure the NEWS file is up-to-date.
diff --git a/Makefile.in b/Makefile.in
index 2b46fd8d..11760474 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -64,10 +64,8 @@ CATALOGS = @CATALOGS@
CATOBJEXT = @CATOBJEXT@
CC = @CC@
CPP = @CPP@
-DASH_SHARED = @DASH_SHARED@
DATADIRNAME = @DATADIRNAME@
DLLDFLAGS = @DLLDFLAGS@
-GCC_FPIC = @GCC_FPIC@
GENCAT = @GENCAT@
GMOFILES = @GMOFILES@
GMSGFMT = @GMSGFMT@
@@ -78,20 +76,20 @@ INSTOBJEXT = @INSTOBJEXT@
INTLDEPS = @INTLDEPS@
INTLLIBS = @INTLLIBS@
INTLOBJS = @INTLOBJS@
+LD = @LD@
+LIBTOOL = @LIBTOOL@
+LN_S = @LN_S@
MAKEINFO = @MAKEINFO@
MKINSTALLDIRS = @MKINSTALLDIRS@
MODULES_DIR = @MODULES_DIR@
-MODULE_O = @MODULE_O@
MODULE_PATH = @MODULE_PATH@
MSGFMT = @MSGFMT@
-OS_NAME = @OS_NAME@
+NM = @NM@
PACKAGE = @PACKAGE@
PERL = @PERL@
POFILES = @POFILES@
POSUB = @POSUB@
RANLIB = @RANLIB@
-SHARED_EXT = @SHARED_EXT@
-SHARED_LD = @SHARED_LD@
STACKOVF = @STACKOVF@
U = @U@
USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@
@@ -103,13 +101,6 @@ pkglibexecdir = @pkglibexecdir@
AUTOMAKE_OPTIONS = 1.3b gnits
SUBDIRS = acm4 intl po lib src doc tests examples @MODULES_DIR@
-
-# These are excluded otherwise
-EXTRA_DIST = modules/Makefile.am modules/Makefile.in \
- modules/test.c modules/test.m4 \
- modules/time.c modules/time.m4 \
- modules/stdlib.c modules/stdlib.m4 \
- modules/README
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
CONFIG_HEADER = config.h
@@ -117,7 +108,8 @@ CONFIG_CLEAN_FILES =
DIST_COMMON = README ABOUT-NLS AUTHORS BACKLOG COPYING ChangeLog \
INSTALL Makefile.am Makefile.in NEWS README-alpha THANKS TODO \
acconfig.h acinclude.m4 aclocal.m4 config.guess config.h.in config.sub \
-configure configure.in install-sh missing mkinstalldirs stamp-h.in
+configure configure.in install-sh ltconfig ltmain.sh missing \
+mkinstalldirs stamp-h.in
DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
@@ -268,7 +260,6 @@ distdir: $(DISTFILES)
-rm -rf $(distdir)
mkdir $(distdir)
-chmod 777 $(distdir)
- $(mkinstalldirs) $(distdir)/modules
@for file in $(DISTFILES); do \
d=$(srcdir); \
test -f $(distdir)/$$file \
@@ -333,6 +324,7 @@ clean: clean-recursive clean-am
distclean: distclean-recursive distclean-am
-rm -f config.status
+ -rm -f libtool
maintainer-clean: maintainer-clean-recursive maintainer-clean-am
@echo "This command is intended for maintainers to use;"
@@ -352,6 +344,8 @@ clean-generic maintainer-clean-generic clean mostlyclean distclean \
maintainer-clean
+# DIST_SUBDIRS = acm4 intl po lib src doc tests examples modules
+
# Tag before making distribution. Also, don't make a distribution if
# checks fail. Also, make sure the NEWS file is up-to-date.
cvs-dist: # distcheck # maintainer-check
diff --git a/NEWS b/NEWS
index b9bd1641..6f7e33f0 100644
--- a/NEWS
+++ b/NEWS
@@ -1,9 +1,20 @@
GNU m4 NEWS - History of user-visible changes. -*-indented-text-*-
Copyright (C) 1992, 1993, 1994, 1998 Free Software Foundation, Inc.
+Version beta 1.4m - November 1998, by Rene' Seindal
+
+* Using libtool for compiling modules and for linking main app.
+
+* Reorganised the dynamic module code to encapsulate system dependencies
+ better. The code for HPUX shl_load() still needs testing and debugging.
+ A dld interface is also missing. Any volunteers?
+
+* The files from the GNU m4 web-site is now in examples/WWW as a more
+ complete example of what GNU m4 can do.
+
Version beta 1.4l - November 1998, by Rene' Seindal
-* GNU m4 now has and escape syntax category. If a character is marked as
+* GNU m4 now has an escape syntax category. If a character is marked as
an escape, words are only recognised as macros if preceded by an escape
character. It is a bit like -P, but dynamic: it can be turned on and
off. The GNU m4 web-site on http://www.seindal.dk/rene/gnu/ is
diff --git a/TODO b/TODO
index ac037e56..4a3f93a0 100644
--- a/TODO
+++ b/TODO
@@ -6,6 +6,15 @@ for any of these ideas or if you have others to add.
* Features or problems
+ + GMP eval() should be enables if the library is present, maybe by
+ providing two different versions of eval(). That way users can
+ choose whether to use gmp on an individual basis.
+
+ + There should be a way ot have m4 discard comments instead of
+ outputting them.
+
+ + Implement discarding comment delimiters with the syntax table.
+
+ The module system is still rudimentary (see below)
+ Changes in the syntax_table are not saved to frozen files.
@@ -22,9 +31,6 @@ for any of these ideas or if you have others to add.
+ The test case `other-tests/stackovf.test' does not work.
- + An escape character (like in TeX) should be definable through the
- syntax table.
-
+ Sort out all the weird forms of interaction between changesyntax,
changecom and changequote. What happens if you install a quote with
changequote and removes it with changesyntax and vice versa.
@@ -42,10 +48,8 @@ for any of these ideas or if you have others to add.
* Module specific issues
- + Use libtool to build modules for portability.
-
+ Support for other DL interfaces besides dlopen, such as dld and
- hpux.
+ hpux is still missing.
+ Modules should be loadable from the command line with something like
`-M module.so' o `--load-module=module.so'. M4 should abort if it
diff --git a/acconfig.h b/acconfig.h
index d1824d00..702c94ba 100644
--- a/acconfig.h
+++ b/acconfig.h
@@ -45,7 +45,7 @@
#undef HAVE_DLOPEN
/* Define to 1 if the -ldld library should be used . */
-#undef USE_SHL_LOAD
+#undef HAVE_SHL_LOAD
/* Define to 1 if NLS is requested. */
#undef ENABLE_NLS
diff --git a/acinclude.m4 b/acinclude.m4
index b2d102b5..8d46f931 100644
--- a/acinclude.m4
+++ b/acinclude.m4
@@ -455,72 +455,56 @@ AC_DEFUN(AM_WITH_MODULES,
AC_MSG_RESULT($use_modules)
if test "$use_modules" = yes; then
- AC_CHECK_FUNCS(dlopen dlsym dlclose)
+ with_modules=no
+
+ dnl Test for dlopen in libc
+ AC_CHECK_FUNCS(dlopen)
if test "$ac_cv_func_dlopen" = yes; then
- MODULE_O=module.o
- MODULES_DIR=modules
+ with_modules=yes
fi
- AC_CHECK_LIB(dl, dlopen, HAVE_LIBDL=true)
- if test "$HAVE_LIBDL" = true; then
- LIBS="$LIBS -ldl"
- MODULE_O=module.o
- MODULES_DIR=modules
- AC_DEFINE(HAVE_DLOPEN,1)
+ dnl Test for dlopen in libdl
+ if test "$with_modules" = no; then
+ AC_CHECK_LIB(dl, dlopen)
+ if test "$ac_cv_lib_dl_dlopen" = yes; then
+ with_modules=yes
+
+# LIBS="$LIBS -ldl"
+ AC_DEFINE(HAVE_DLOPEN,1)
+ fi
fi
- dnl Default extension for shared libraries.
- SHARED_EXT=.so
+# dnl Test for dld_link in libdld
+# if test "$with_modules" = no; then
+# AC_CHECK_LIB(dld, dld_link)
+# if test "$ac_cv_lib_dld_dld_link" = "yes"; then
+# with_modules=yes
+# AC_DEFINE(HAVE_DLD,1)
+# fi
+# fi
+
+ dnl Test for shl_load in libdld
+ if test "$with_modules" = no; then
+ AC_CHECK_LIB(dld, shl_load)
+ if test "$ac_cv_lib_dld_shl_load" = yes; then
+ with_modules=yes
- dnl Maybe this is a system using shl_load and shl_findsym?
- if test "${MODULES_DIR}" = ""; then
- AC_CHECK_LIB(dld, shl_load, HAVE_LIBDLD=true)
- if test "$HAVE_LIBDLD" = true; then
LIBS="$LIBS -ldld"
- MODULE_O=module.o
- MODULES_DIR=modules
- SHARED_EXT=.O
- AC_DEFINE(USE_SHL_LOAD,1)
+ AC_DEFINE(HAVE_SHL_LOAD,1)
fi
fi
- if test "$MODULES_DIR"; then
- SHARED_LD=ld
- DASH_SHARED=""
- case "$host_os" in
- sunos4*) DASH_SHARED=-Bdynamic ;;
- linux*) DASH_SHARED=-shared; DLLDFLAGS=-rdynamic ;;
- winnt*) SHARED_LD=./make-dll; SHARED_EXT=.dll; DLLDFLAGS=-rdynamic ;;
- osf*) DASH_SHARED=-shared; SHARED_LD=$CC ;;
- irix*) DASH_SHARED=-shared; SHARED_LD=$CC ;;
- bsdi*) DASH_SHARED=-shared; DLLDFLAGS=-rdynamic ;;
- freebsd*) DASH_SHARED=-Bshareable; SHARED_LD='$(LD) 2>/dev/null';;
- solaris*)
- # If both the GNU compiler and linker are installed, then we need
- # to add special options in order to compile the modules.
- if test "$GCC" = "yes"; then
- DASH_SHARED=-shared; GCC_FPIC=-fpic;
- SHARED_LD='$(CC)'; DLLDFLAGS="-Xlinker -E";
- else
- DASH_SHARED=-G;
- fi
- ;;
- aix*) DLLDFLAGS="-bexpall -brtl" ;;
+ if test "$with_modules" = yes; then
+ dnl This is for libtool
+ DLLDFLAGS=-export-dynamic
- hpux*) DASH_SHARED="-b -E" GCC_FPIC=-fpic DLLDFLAGS="-Xlinker -E" ;;
- esac
+ MODULES_DIR=modules
+ MODULE_PATH="${pkglibexecdir}"
fi
- AC_SUBST(SHARED_LD)
- AC_SUBST(DASH_SHARED)
- AC_SUBST(MODULE_O)
- AC_SUBST(MODULES_DIR)
AC_SUBST(DLLDFLAGS)
- AC_SUBST(SHARED_EXT)
- AC_SUBST(OS_NAME)
- AC_SUBST(GCC_FPIC)
-
- MODULE_PATH="${pkglibexecdir}"
+ AC_SUBST(MODULES_DIR)
AC_SUBST(MODULE_PATH)
fi
])
+
diff --git a/aclocal.m4 b/aclocal.m4
index 81fd37d0..a9520b59 100644
--- a/aclocal.m4
+++ b/aclocal.m4
@@ -467,76 +467,60 @@ AC_DEFUN(AM_WITH_MODULES,
AC_MSG_RESULT($use_modules)
if test "$use_modules" = yes; then
- AC_CHECK_FUNCS(dlopen dlsym dlclose)
+ with_modules=no
+
+ dnl Test for dlopen in libc
+ AC_CHECK_FUNCS(dlopen)
if test "$ac_cv_func_dlopen" = yes; then
- MODULE_O=module.o
- MODULES_DIR=modules
+ with_modules=yes
fi
- AC_CHECK_LIB(dl, dlopen, HAVE_LIBDL=true)
- if test "$HAVE_LIBDL" = true; then
- LIBS="$LIBS -ldl"
- MODULE_O=module.o
- MODULES_DIR=modules
- AC_DEFINE(HAVE_DLOPEN,1)
+ dnl Test for dlopen in libdl
+ if test "$with_modules" = no; then
+ AC_CHECK_LIB(dl, dlopen)
+ if test "$ac_cv_lib_dl_dlopen" = yes; then
+ with_modules=yes
+
+# LIBS="$LIBS -ldl"
+ AC_DEFINE(HAVE_DLOPEN,1)
+ fi
fi
- dnl Default extension for shared libraries.
- SHARED_EXT=.so
+# dnl Test for dld_link in libdld
+# if test "$with_modules" = no; then
+# AC_CHECK_LIB(dld, dld_link)
+# if test "$ac_cv_lib_dld_dld_link" = "yes"; then
+# with_modules=yes
+# AC_DEFINE(HAVE_DLD,1)
+# fi
+# fi
+
+ dnl Test for shl_load in libdld
+ if test "$with_modules" = no; then
+ AC_CHECK_LIB(dld, shl_load)
+ if test "$ac_cv_lib_dld_shl_load" = yes; then
+ with_modules=yes
- dnl Maybe this is a system using shl_load and shl_findsym?
- if test "${MODULES_DIR}" = ""; then
- AC_CHECK_LIB(dld, shl_load, HAVE_LIBDLD=true)
- if test "$HAVE_LIBDLD" = true; then
LIBS="$LIBS -ldld"
- MODULE_O=module.o
- MODULES_DIR=modules
- SHARED_EXT=.O
- AC_DEFINE(USE_SHL_LOAD,1)
+ AC_DEFINE(HAVE_SHL_LOAD,1)
fi
fi
- if test "$MODULES_DIR"; then
- SHARED_LD=ld
- DASH_SHARED=""
- case "$host_os" in
- sunos4*) DASH_SHARED=-Bdynamic ;;
- linux*) DASH_SHARED=-shared; DLLDFLAGS=-rdynamic ;;
- winnt*) SHARED_LD=./make-dll; SHARED_EXT=.dll; DLLDFLAGS=-rdynamic ;;
- osf*) DASH_SHARED=-shared; SHARED_LD=$CC ;;
- irix*) DASH_SHARED=-shared; SHARED_LD=$CC ;;
- bsdi*) DASH_SHARED=-shared; DLLDFLAGS=-rdynamic ;;
- freebsd*) DASH_SHARED=-Bshareable; SHARED_LD='$(LD) 2>/dev/null';;
- solaris*)
- # If both the GNU compiler and linker are installed, then we need
- # to add special options in order to compile the modules.
- if test "$GCC" = "yes"; then
- DASH_SHARED=-shared; GCC_FPIC=-fpic;
- SHARED_LD='$(CC)'; DLLDFLAGS="-Xlinker -E";
- else
- DASH_SHARED=-G;
- fi
- ;;
- aix*) DLLDFLAGS="-bexpall -brtl" ;;
+ if test "$with_modules" = yes; then
+ dnl This is for libtool
+ DLLDFLAGS=-export-dynamic
- hpux*) DASH_SHARED="-b -E" GCC_FPIC=-fpic DLLDFLAGS="-Xlinker -E" ;;
- esac
+ MODULES_DIR=modules
+ MODULE_PATH="${pkglibexecdir}"
fi
- AC_SUBST(SHARED_LD)
- AC_SUBST(DASH_SHARED)
- AC_SUBST(MODULE_O)
- AC_SUBST(MODULES_DIR)
AC_SUBST(DLLDFLAGS)
- AC_SUBST(SHARED_EXT)
- AC_SUBST(OS_NAME)
- AC_SUBST(GCC_FPIC)
-
- MODULE_PATH="${pkglibexecdir}"
+ AC_SUBST(MODULES_DIR)
AC_SUBST(MODULE_PATH)
fi
])
+
# Like AC_CONFIG_HEADER, but automatically create stamp file.
AC_DEFUN(AM_CONFIG_HEADER,
@@ -662,6 +646,244 @@ fi
AC_SUBST($1)])
+# serial 24 AM_PROG_LIBTOOL
+AC_DEFUN(AM_PROG_LIBTOOL,
+[AC_REQUIRE([AM_ENABLE_SHARED])dnl
+AC_REQUIRE([AM_ENABLE_STATIC])dnl
+AC_REQUIRE([AC_CANONICAL_HOST])dnl
+AC_REQUIRE([AC_PROG_RANLIB])dnl
+AC_REQUIRE([AC_PROG_CC])dnl
+AC_REQUIRE([AM_PROG_LD])dnl
+AC_REQUIRE([AM_PROG_NM])dnl
+AC_REQUIRE([AC_PROG_LN_S])dnl
+dnl
+# Always use our own libtool.
+LIBTOOL='$(SHELL) $(top_builddir)/libtool'
+AC_SUBST(LIBTOOL)dnl
+
+# Check for any special flags to pass to ltconfig.
+libtool_flags=
+test "$enable_shared" = no && libtool_flags="$libtool_flags --disable-shared"
+test "$enable_static" = no && libtool_flags="$libtool_flags --disable-static"
+test "$silent" = yes && libtool_flags="$libtool_flags --silent"
+test "$ac_cv_prog_gcc" = yes && libtool_flags="$libtool_flags --with-gcc"
+test "$ac_cv_prog_gnu_ld" = yes && libtool_flags="$libtool_flags --with-gnu-ld"
+
+# Some flags need to be propagated to the compiler or linker for good
+# libtool support.
+case "$host" in
+*-*-irix6*)
+ # Find out which ABI we are using.
+ echo '[#]line __oline__ "configure"' > conftest.$ac_ext
+ if AC_TRY_EVAL(ac_compile); then
+ case "`/usr/bin/file conftest.o`" in
+ *32-bit*)
+ LD="${LD-ld} -32"
+ ;;
+ *N32*)
+ LD="${LD-ld} -n32"
+ ;;
+ *64-bit*)
+ LD="${LD-ld} -64"
+ ;;
+ esac
+ fi
+ rm -rf conftest*
+ ;;
+
+*-*-sco3.2v5*)
+ # On SCO OpenServer 5, we need -belf to get full-featured binaries.
+ CFLAGS="$CFLAGS -belf"
+ ;;
+esac
+
+# Actually configure libtool. ac_aux_dir is where install-sh is found.
+CC="$CC" CFLAGS="$CFLAGS" CPPFLAGS="$CPPFLAGS" \
+LD="$LD" NM="$NM" RANLIB="$RANLIB" LN_S="$LN_S" \
+${CONFIG_SHELL-/bin/sh} $ac_aux_dir/ltconfig \
+$libtool_flags --no-verify $ac_aux_dir/ltmain.sh $host \
+|| AC_MSG_ERROR([libtool configure failed])
+])
+
+# AM_ENABLE_SHARED - implement the --enable-shared flag
+# Usage: AM_ENABLE_SHARED[(DEFAULT)]
+# Where DEFAULT is either `yes' or `no'. If omitted, it defaults to
+# `yes'.
+AC_DEFUN(AM_ENABLE_SHARED,
+[define([AM_ENABLE_SHARED_DEFAULT], ifelse($1, no, no, yes))dnl
+AC_ARG_ENABLE(shared,
+changequote(<<, >>)dnl
+<< --enable-shared build shared libraries [default=>>AM_ENABLE_SHARED_DEFAULT]
+changequote([, ])dnl
+[ --enable-shared=PKGS only build shared libraries if the current package
+ appears as an element in the PKGS list],
+[p=${PACKAGE-default}
+case "$enableval" in
+yes) enable_shared=yes ;;
+no) enable_shared=no ;;
+*)
+ enable_shared=no
+ # Look at the argument we got. We use all the common list separators.
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:,"
+ for pkg in $enableval; do
+ if test "X$pkg" = "X$p"; then
+ enable_shared=yes
+ fi
+ done
+ IFS="$ac_save_ifs"
+ ;;
+esac],
+enable_shared=AM_ENABLE_SHARED_DEFAULT)dnl
+])
+
+# AM_DISABLE_SHARED - set the default shared flag to --disable-shared
+AC_DEFUN(AM_DISABLE_SHARED,
+[AM_ENABLE_SHARED(no)])
+
+# AM_DISABLE_STATIC - set the default static flag to --disable-static
+AC_DEFUN(AM_DISABLE_STATIC,
+[AM_ENABLE_STATIC(no)])
+
+# AM_ENABLE_STATIC - implement the --enable-static flag
+# Usage: AM_ENABLE_STATIC[(DEFAULT)]
+# Where DEFAULT is either `yes' or `no'. If omitted, it defaults to
+# `yes'.
+AC_DEFUN(AM_ENABLE_STATIC,
+[define([AM_ENABLE_STATIC_DEFAULT], ifelse($1, no, no, yes))dnl
+AC_ARG_ENABLE(static,
+changequote(<<, >>)dnl
+<< --enable-static build static libraries [default=>>AM_ENABLE_STATIC_DEFAULT]
+changequote([, ])dnl
+[ --enable-static=PKGS only build shared libraries if the current package
+ appears as an element in the PKGS list],
+[p=${PACKAGE-default}
+case "$enableval" in
+yes) enable_static=yes ;;
+no) enable_static=no ;;
+*)
+ enable_static=no
+ # Look at the argument we got. We use all the common list separators.
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:,"
+ for pkg in $enableval; do
+ if test "X$pkg" = "X$p"; then
+ enable_static=yes
+ fi
+ done
+ IFS="$ac_save_ifs"
+ ;;
+esac],
+enable_static=AM_ENABLE_STATIC_DEFAULT)dnl
+])
+
+
+# AM_PROG_LD - find the path to the GNU or non-GNU linker
+AC_DEFUN(AM_PROG_LD,
+[AC_ARG_WITH(gnu-ld,
+[ --with-gnu-ld assume the C compiler uses GNU ld [default=no]],
+test "$withval" = no || with_gnu_ld=yes, with_gnu_ld=no)
+AC_REQUIRE([AC_PROG_CC])
+ac_prog=ld
+if test "$ac_cv_prog_gcc" = yes; then
+ # Check if gcc -print-prog-name=ld gives a path.
+ AC_MSG_CHECKING([for ld used by GCC])
+ ac_prog=`($CC -print-prog-name=ld) 2>&5`
+ case "$ac_prog" in
+ # Accept absolute paths.
+ /* | [A-Za-z]:\\*)
+ test -z "$LD" && LD="$ac_prog"
+ ;;
+ "")
+ # If it fails, then pretend we aren't using GCC.
+ ac_prog=ld
+ ;;
+ *)
+ # If it is relative, then search for the first ld in PATH.
+ with_gnu_ld=unknown
+ ;;
+ esac
+elif test "$with_gnu_ld" = yes; then
+ AC_MSG_CHECKING([for GNU ld])
+else
+ AC_MSG_CHECKING([for non-GNU ld])
+fi
+AC_CACHE_VAL(ac_cv_path_LD,
+[if test -z "$LD"; then
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
+ for ac_dir in $PATH; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f "$ac_dir/$ac_prog"; then
+ ac_cv_path_LD="$ac_dir/$ac_prog"
+ # Check to see if the program is GNU ld. I'd rather use --version,
+ # but apparently some GNU ld's only accept -v.
+ # Break only if it was the GNU/non-GNU ld that we prefer.
+ if "$ac_cv_path_LD" -v 2>&1 < /dev/null | egrep '(GNU|with BFD)' > /dev/null; then
+ test "$with_gnu_ld" != no && break
+ else
+ test "$with_gnu_ld" != yes && break
+ fi
+ fi
+ done
+ IFS="$ac_save_ifs"
+else
+ ac_cv_path_LD="$LD" # Let the user override the test with a path.
+fi])
+LD="$ac_cv_path_LD"
+if test -n "$LD"; then
+ AC_MSG_RESULT($LD)
+else
+ AC_MSG_RESULT(no)
+fi
+test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH])
+AC_SUBST(LD)
+AM_PROG_LD_GNU
+])
+
+AC_DEFUN(AM_PROG_LD_GNU,
+[AC_CACHE_CHECK([if the linker ($LD) is GNU ld], ac_cv_prog_gnu_ld,
+[# I'd rather use --version here, but apparently some GNU ld's only accept -v.
+if $LD -v 2>&1 </dev/null | egrep '(GNU|with BFD)' 1>&5; then
+ ac_cv_prog_gnu_ld=yes
+else
+ ac_cv_prog_gnu_ld=no
+fi])
+])
+
+# AM_PROG_NM - find the path to a BSD-compatible name lister
+AC_DEFUN(AM_PROG_NM,
+[AC_MSG_CHECKING([for BSD-compatible nm])
+AC_CACHE_VAL(ac_cv_path_NM,
+[case "$NM" in
+/* | [A-Za-z]:\\*)
+ ac_cv_path_NM="$NM" # Let the user override the test with a path.
+ ;;
+*)
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
+ for ac_dir in /usr/ucb /usr/ccs/bin $PATH /bin; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/nm; then
+ # Check to see if the nm accepts a BSD-compat flag.
+ # Adding the `sed 1q' prevents false positives on HP-UX, which says:
+ # nm: unknown option "B" ignored
+ if ($ac_dir/nm -B /dev/null 2>&1 | sed '1q'; exit 0) | egrep /dev/null >/dev/null; then
+ ac_cv_path_NM="$ac_dir/nm -B"
+ elif ($ac_dir/nm -p /dev/null 2>&1 | sed '1q'; exit 0) | egrep /dev/null >/dev/null; then
+ ac_cv_path_NM="$ac_dir/nm -p"
+ else
+ ac_cv_path_NM="$ac_dir/nm"
+ fi
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+ test -z "$ac_cv_path_NM" && ac_cv_path_NM=nm
+ ;;
+esac])
+NM="$ac_cv_path_NM"
+AC_MSG_RESULT([$NM])
+AC_SUBST(NM)
+])
+
+
# serial 1
AC_DEFUN(AM_C_PROTOTYPES,
diff --git a/acm4/Makefile.in b/acm4/Makefile.in
index 6755a6c9..dd72ea7e 100644
--- a/acm4/Makefile.in
+++ b/acm4/Makefile.in
@@ -64,10 +64,8 @@ CATALOGS = @CATALOGS@
CATOBJEXT = @CATOBJEXT@
CC = @CC@
CPP = @CPP@
-DASH_SHARED = @DASH_SHARED@
DATADIRNAME = @DATADIRNAME@
DLLDFLAGS = @DLLDFLAGS@
-GCC_FPIC = @GCC_FPIC@
GENCAT = @GENCAT@
GMOFILES = @GMOFILES@
GMSGFMT = @GMSGFMT@
@@ -78,20 +76,20 @@ INSTOBJEXT = @INSTOBJEXT@
INTLDEPS = @INTLDEPS@
INTLLIBS = @INTLLIBS@
INTLOBJS = @INTLOBJS@
+LD = @LD@
+LIBTOOL = @LIBTOOL@
+LN_S = @LN_S@
MAKEINFO = @MAKEINFO@
MKINSTALLDIRS = @MKINSTALLDIRS@
MODULES_DIR = @MODULES_DIR@
-MODULE_O = @MODULE_O@
MODULE_PATH = @MODULE_PATH@
MSGFMT = @MSGFMT@
-OS_NAME = @OS_NAME@
+NM = @NM@
PACKAGE = @PACKAGE@
PERL = @PERL@
POFILES = @POFILES@
POSUB = @POSUB@
RANLIB = @RANLIB@
-SHARED_EXT = @SHARED_EXT@
-SHARED_LD = @SHARED_LD@
STACKOVF = @STACKOVF@
U = @U@
USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@
@@ -175,6 +173,7 @@ clean: clean-generic mostlyclean
distclean: distclean-generic clean
-rm -f config.status
+ -rm -f libtool
maintainer-clean: maintainer-clean-generic distclean
@echo "This command is intended for maintainers to use;"
diff --git a/acm4/modules.m4 b/acm4/modules.m4
index 8f6e647e..32e14330 100644
--- a/acm4/modules.m4
+++ b/acm4/modules.m4
@@ -1,3 +1,12 @@
+# Written by René Seindal (rene@seindal.dk)
+#
+# This file can be copied and used freely without restrictions. It can
+# be used in projects which are not available under the GNU Public License
+# but which still want to provide support for the GNU gettext functionality.
+# Please note that the actual code is *not* freely available.
+
+# serial 1
+
AC_DEFUN(AM_WITH_MODULES,
[AC_MSG_CHECKING(if support for dynamic modules is wanted)
@@ -7,72 +16,58 @@ AC_DEFUN(AM_WITH_MODULES,
AC_MSG_RESULT($use_modules)
if test "$use_modules" = yes; then
- AC_CHECK_FUNCS(dlopen dlsym dlclose)
+ dnl We might no have it anyway, after all.
+ with_modules=no
+
+ dnl Test for dlopen in libc
+ AC_CHECK_FUNCS(dlopen)
if test "$ac_cv_func_dlopen" = yes; then
- MODULE_O=module.o
- MODULES_DIR=modules
+ with_modules=yes
fi
- AC_CHECK_LIB(dl, dlopen, HAVE_LIBDL=true)
- if test "$HAVE_LIBDL" = true; then
- LIBS="$LIBS -ldl"
- MODULE_O=module.o
- MODULES_DIR=modules
- AC_DEFINE(HAVE_DLOPEN,1)
+ dnl Test for dlopen in libdl
+ if test "$with_modules" = no; then
+ AC_CHECK_LIB(dl, dlopen)
+ if test "$ac_cv_lib_dl_dlopen" = yes; then
+ with_modules=yes
+
+# LIBS="$LIBS -ldl"
+ AC_DEFINE(HAVE_DLOPEN,1)
+ fi
fi
- dnl Default extension for shared libraries.
- SHARED_EXT=.so
+# dnl Test for dld_link in libdld
+# if test "$with_modules" = no; then
+# AC_CHECK_LIB(dld, dld_link)
+# if test "$ac_cv_lib_dld_dld_link" = "yes"; then
+# with_modules=yes
+# AC_DEFINE(HAVE_DLD,1)
+# fi
+# fi
+
+ dnl Test for shl_load in libdld
+ if test "$with_modules" = no; then
+ AC_CHECK_LIB(dld, shl_load)
+ if test "$ac_cv_lib_dld_shl_load" = yes; then
+ with_modules=yes
- dnl Maybe this is a system using shl_load and shl_findsym?
- if test "${MODULES_DIR}" = ""; then
- AC_CHECK_LIB(dld, shl_load, HAVE_LIBDLD=true)
- if test "$HAVE_LIBDLD" = true; then
LIBS="$LIBS -ldld"
- MODULE_O=module.o
- MODULES_DIR=modules
- SHARED_EXT=.O
- AC_DEFINE(USE_SHL_LOAD,1)
+ AC_DEFINE(HAVE_SHL_LOAD,1)
fi
fi
- if test "$MODULES_DIR"; then
- SHARED_LD=ld
- DASH_SHARED=""
- case "$host_os" in
- sunos4*) DASH_SHARED=-Bdynamic ;;
- linux*) DASH_SHARED=-shared; DLLDFLAGS=-rdynamic ;;
- winnt*) SHARED_LD=./make-dll; SHARED_EXT=.dll; DLLDFLAGS=-rdynamic ;;
- osf*) DASH_SHARED=-shared; SHARED_LD=$CC ;;
- irix*) DASH_SHARED=-shared; SHARED_LD=$CC ;;
- bsdi*) DASH_SHARED=-shared; DLLDFLAGS=-rdynamic ;;
- freebsd*) DASH_SHARED=-Bshareable; SHARED_LD='$(LD) 2>/dev/null';;
- solaris*)
- # If both the GNU compiler and linker are installed, then we need
- # to add special options in order to compile the modules.
- if test "$GCC" = "yes"; then
- DASH_SHARED=-shared; GCC_FPIC=-fpic;
- SHARED_LD='$(CC)'; DLLDFLAGS="-Xlinker -E";
- else
- DASH_SHARED=-G;
- fi
- ;;
- aix*) DLLDFLAGS="-bexpall -brtl" ;;
+ if test "$with_modules" = yes; then
+ dnl This is for libtool
+ DLLDFLAGS=-export-dynamic
- hpux*) DASH_SHARED="-b -E" GCC_FPIC=-fpic DLLDFLAGS="-Xlinker -E" ;;
- esac
+ MODULES_DIR=modules
+ MODULE_PATH="${pkglibexecdir}"
fi
- AC_SUBST(SHARED_LD)
- AC_SUBST(DASH_SHARED)
- AC_SUBST(MODULE_O)
- AC_SUBST(MODULES_DIR)
AC_SUBST(DLLDFLAGS)
- AC_SUBST(SHARED_EXT)
- AC_SUBST(OS_NAME)
- AC_SUBST(GCC_FPIC)
-
- MODULE_PATH="${pkglibexecdir}"
+ AC_SUBST(MODULES_DIR)
AC_SUBST(MODULE_PATH)
fi
])
+
+
diff --git a/config.h.in b/config.h.in
index e27d16a6..b1edd73f 100644
--- a/config.h.in
+++ b/config.h.in
@@ -105,7 +105,7 @@
#undef HAVE_DLOPEN
/* Define to 1 if the -ldld library should be used . */
-#undef USE_SHL_LOAD
+#undef HAVE_SHL_LOAD
/* Define to 1 if NLS is requested. */
#undef ENABLE_NLS
@@ -140,15 +140,9 @@
/* Define if you have the dcgettext function. */
#undef HAVE_DCGETTEXT
-/* Define if you have the dlclose function. */
-#undef HAVE_DLCLOSE
-
/* Define if you have the dlopen function. */
#undef HAVE_DLOPEN
-/* Define if you have the dlsym function. */
-#undef HAVE_DLSYM
-
/* Define if you have the doprnt function. */
#undef HAVE_DOPRNT
@@ -254,5 +248,11 @@
/* Define if you have the <unistd.h> header file. */
#undef HAVE_UNISTD_H
+/* Define if you have the dl library (-ldl). */
+#undef HAVE_LIBDL
+
+/* Define if you have the dld library (-ldld). */
+#undef HAVE_LIBDLD
+
/* Define if you have the i library (-li). */
#undef HAVE_LIBI
diff --git a/configure b/configure
index 3cd6c5d3..96440740 100755
--- a/configure
+++ b/configure
@@ -12,6 +12,16 @@ ac_help=
ac_default_prefix=/usr/local
# Any additions from configure.in:
ac_help="$ac_help
+ --enable-shared build shared libraries [default=yes]
+ --enable-shared=PKGS only build shared libraries if the current package
+ appears as an element in the PKGS list"
+ac_help="$ac_help
+ --enable-static build static libraries [default=no]
+ --enable-static=PKGS only build shared libraries if the current package
+ appears as an element in the PKGS list"
+ac_help="$ac_help
+ --with-gnu-ld assume the C compiler uses GNU ld [default=no]"
+ac_help="$ac_help
--without-included-regex don't compile regex (use with caution)"
ac_help="$ac_help
--enable-changeword enable -W and changeword() builtin"
@@ -588,7 +598,7 @@ ac_configure=$ac_aux_dir/configure # This should be Cygnus configure.
# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
# ./install, which can be erroneously created by make from ./install.sh.
echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6
-echo "configure:592: checking for a BSD compatible install" >&5
+echo "configure:602: checking for a BSD compatible install" >&5
if test -z "$INSTALL"; then
if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -641,7 +651,7 @@ test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL_PROGRAM}'
echo $ac_n "checking whether build environment is sane""... $ac_c" 1>&6
-echo "configure:645: checking whether build environment is sane" >&5
+echo "configure:655: checking whether build environment is sane" >&5
# Just in case
sleep 1
echo timestamp > conftestfile
@@ -679,7 +689,7 @@ fi
rm -f conftest*
echo "$ac_t""yes" 1>&6
echo $ac_n "checking whether ${MAKE-make} sets \${MAKE}""... $ac_c" 1>&6
-echo "configure:683: checking whether ${MAKE-make} sets \${MAKE}" >&5
+echo "configure:693: checking whether ${MAKE-make} sets \${MAKE}" >&5
set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_prog_make_${ac_make}_set'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -708,7 +718,7 @@ fi
PACKAGE=m4
-VERSION=1.4l
+VERSION=1.4m
if test "`cd $srcdir && pwd`" != "`pwd`" && test -f $srcdir/config.status; then
{ echo "configure: error: source directory already configured; run "make distclean" there first" 1>&2; exit 1; }
@@ -725,7 +735,7 @@ EOF
missing_dir=`cd $ac_aux_dir && pwd`
echo $ac_n "checking for working aclocal""... $ac_c" 1>&6
-echo "configure:729: checking for working aclocal" >&5
+echo "configure:739: checking for working aclocal" >&5
# Run test in a subshell; some versions of sh will print an error if
# an executable is not found, even if stderr is redirected.
# Redirect stdin to placate older versions of autoconf. Sigh.
@@ -738,7 +748,7 @@ else
fi
echo $ac_n "checking for working autoconf""... $ac_c" 1>&6
-echo "configure:742: checking for working autoconf" >&5
+echo "configure:752: checking for working autoconf" >&5
# Run test in a subshell; some versions of sh will print an error if
# an executable is not found, even if stderr is redirected.
# Redirect stdin to placate older versions of autoconf. Sigh.
@@ -751,7 +761,7 @@ else
fi
echo $ac_n "checking for working automake""... $ac_c" 1>&6
-echo "configure:755: checking for working automake" >&5
+echo "configure:765: checking for working automake" >&5
# Run test in a subshell; some versions of sh will print an error if
# an executable is not found, even if stderr is redirected.
# Redirect stdin to placate older versions of autoconf. Sigh.
@@ -764,7 +774,7 @@ else
fi
echo $ac_n "checking for working autoheader""... $ac_c" 1>&6
-echo "configure:768: checking for working autoheader" >&5
+echo "configure:778: checking for working autoheader" >&5
# Run test in a subshell; some versions of sh will print an error if
# an executable is not found, even if stderr is redirected.
# Redirect stdin to placate older versions of autoconf. Sigh.
@@ -777,7 +787,7 @@ else
fi
echo $ac_n "checking for working makeinfo""... $ac_c" 1>&6
-echo "configure:781: checking for working makeinfo" >&5
+echo "configure:791: checking for working makeinfo" >&5
# Run test in a subshell; some versions of sh will print an error if
# an executable is not found, even if stderr is redirected.
# Redirect stdin to placate older versions of autoconf. Sigh.
@@ -795,40 +805,12 @@ ALL_LINGUAS="de fr it ja nl pl ru sv"
pkglibexecdir='${libexecdir}'/$PACKAGE
-
-# Make sure we can run config.sub.
-if $ac_config_sub sun4 >/dev/null 2>&1; then :
-else { echo "configure: error: can not run $ac_config_sub" 1>&2; exit 1; }
-fi
-
-echo $ac_n "checking host system type""... $ac_c" 1>&6
-echo "configure:806: checking host system type" >&5
-
-host_alias=$host
-case "$host_alias" in
-NONE)
- case $nonopt in
- NONE)
- if host_alias=`$ac_config_guess`; then :
- else { echo "configure: error: can not guess host type; you must specify one" 1>&2; exit 1; }
- fi ;;
- *) host_alias=$nonopt ;;
- esac ;;
-esac
-
-host=`$ac_config_sub $host_alias`
-host_cpu=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
-host_vendor=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
-host_os=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
-echo "$ac_t""$host" 1>&6
-
-
for ac_prog in mawk gawk nawk awk
do
# Extract the first word of "$ac_prog", so it can be a program name with args.
set dummy $ac_prog; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:832: checking for $ac_word" >&5
+echo "configure:814: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_AWK'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -859,7 +841,7 @@ done
# Extract the first word of "gcc", so it can be a program name with args.
set dummy gcc; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:863: checking for $ac_word" >&5
+echo "configure:845: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -888,7 +870,7 @@ if test -z "$CC"; then
# Extract the first word of "cc", so it can be a program name with args.
set dummy cc; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:892: checking for $ac_word" >&5
+echo "configure:874: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -936,7 +918,7 @@ fi
fi
echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works""... $ac_c" 1>&6
-echo "configure:940: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5
+echo "configure:922: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5
ac_ext=c
# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
@@ -946,11 +928,11 @@ ac_link='${CC-cc} -o conftest $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS
cross_compiling=$ac_cv_prog_cc_cross
cat > conftest.$ac_ext <<EOF
-#line 950 "configure"
+#line 932 "configure"
#include "confdefs.h"
main(){return(0);}
EOF
-if { (eval echo configure:954: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:936: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
ac_cv_prog_cc_works=yes
# If we can't run a trivial program, we are probably using a cross compiler.
if (./conftest; exit) 2>/dev/null; then
@@ -970,12 +952,12 @@ if test $ac_cv_prog_cc_works = no; then
{ echo "configure: error: installation or configuration problem: C compiler cannot create executables." 1>&2; exit 1; }
fi
echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler""... $ac_c" 1>&6
-echo "configure:974: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5
+echo "configure:956: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5
echo "$ac_t""$ac_cv_prog_cc_cross" 1>&6
cross_compiling=$ac_cv_prog_cc_cross
echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6
-echo "configure:979: checking whether we are using GNU C" >&5
+echo "configure:961: checking whether we are using GNU C" >&5
if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -984,7 +966,7 @@ else
yes;
#endif
EOF
-if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:988: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
+if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:970: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
ac_cv_prog_gcc=yes
else
ac_cv_prog_gcc=no
@@ -999,7 +981,7 @@ if test $ac_cv_prog_gcc = yes; then
ac_save_CFLAGS="$CFLAGS"
CFLAGS=
echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6
-echo "configure:1003: checking whether ${CC-cc} accepts -g" >&5
+echo "configure:985: checking whether ${CC-cc} accepts -g" >&5
if eval "test \"`echo '$''{'ac_cv_prog_cc_g'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -1037,7 +1019,7 @@ fi
# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
# ./install, which can be erroneously created by make from ./install.sh.
echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6
-echo "configure:1041: checking for a BSD compatible install" >&5
+echo "configure:1023: checking for a BSD compatible install" >&5
if test -z "$INSTALL"; then
if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -1087,7 +1069,7 @@ test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
echo $ac_n "checking whether ${MAKE-make} sets \${MAKE}""... $ac_c" 1>&6
-echo "configure:1091: checking whether ${MAKE-make} sets \${MAKE}" >&5
+echo "configure:1073: checking whether ${MAKE-make} sets \${MAKE}" >&5
set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_prog_make_${ac_make}_set'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -1116,7 +1098,7 @@ fi
# Extract the first word of "ranlib", so it can be a program name with args.
set dummy ranlib; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1120: checking for $ac_word" >&5
+echo "configure:1102: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -1145,7 +1127,7 @@ fi
# Extract the first word of "perl", so it can be a program name with args.
set dummy perl; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1149: checking for $ac_word" >&5
+echo "configure:1131: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_path_PERL'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -1174,8 +1156,271 @@ else
fi
+# Check whether --enable-shared or --disable-shared was given.
+if test "${enable_shared+set}" = set; then
+ enableval="$enable_shared"
+ p=${PACKAGE-default}
+case "$enableval" in
+yes) enable_shared=yes ;;
+no) enable_shared=no ;;
+*)
+ enable_shared=no
+ # Look at the argument we got. We use all the common list separators.
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:,"
+ for pkg in $enableval; do
+ if test "X$pkg" = "X$p"; then
+ enable_shared=yes
+ fi
+ done
+ IFS="$ac_save_ifs"
+ ;;
+esac
+else
+ enable_shared=yes
+fi
+
+# Check whether --enable-static or --disable-static was given.
+if test "${enable_static+set}" = set; then
+ enableval="$enable_static"
+ p=${PACKAGE-default}
+case "$enableval" in
+yes) enable_static=yes ;;
+no) enable_static=no ;;
+*)
+ enable_static=no
+ # Look at the argument we got. We use all the common list separators.
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:,"
+ for pkg in $enableval; do
+ if test "X$pkg" = "X$p"; then
+ enable_static=yes
+ fi
+ done
+ IFS="$ac_save_ifs"
+ ;;
+esac
+else
+ enable_static=no
+fi
+
+
+# Make sure we can run config.sub.
+if $ac_config_sub sun4 >/dev/null 2>&1; then :
+else { echo "configure: error: can not run $ac_config_sub" 1>&2; exit 1; }
+fi
+
+echo $ac_n "checking host system type""... $ac_c" 1>&6
+echo "configure:1213: checking host system type" >&5
+
+host_alias=$host
+case "$host_alias" in
+NONE)
+ case $nonopt in
+ NONE)
+ if host_alias=`$ac_config_guess`; then :
+ else { echo "configure: error: can not guess host type; you must specify one" 1>&2; exit 1; }
+ fi ;;
+ *) host_alias=$nonopt ;;
+ esac ;;
+esac
+
+host=`$ac_config_sub $host_alias`
+host_cpu=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
+host_vendor=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
+host_os=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
+echo "$ac_t""$host" 1>&6
+
+# Check whether --with-gnu-ld or --without-gnu-ld was given.
+if test "${with_gnu_ld+set}" = set; then
+ withval="$with_gnu_ld"
+ test "$withval" = no || with_gnu_ld=yes
+else
+ with_gnu_ld=no
+fi
+
+
+ac_prog=ld
+if test "$ac_cv_prog_gcc" = yes; then
+ # Check if gcc -print-prog-name=ld gives a path.
+ echo $ac_n "checking for ld used by GCC""... $ac_c" 1>&6
+echo "configure:1246: checking for ld used by GCC" >&5
+ ac_prog=`($CC -print-prog-name=ld) 2>&5`
+ case "$ac_prog" in
+ # Accept absolute paths.
+ /* | A-Za-z:\\*)
+ test -z "$LD" && LD="$ac_prog"
+ ;;
+ "")
+ # If it fails, then pretend we aren't using GCC.
+ ac_prog=ld
+ ;;
+ *)
+ # If it is relative, then search for the first ld in PATH.
+ with_gnu_ld=unknown
+ ;;
+ esac
+elif test "$with_gnu_ld" = yes; then
+ echo $ac_n "checking for GNU ld""... $ac_c" 1>&6
+echo "configure:1264: checking for GNU ld" >&5
+else
+ echo $ac_n "checking for non-GNU ld""... $ac_c" 1>&6
+echo "configure:1267: checking for non-GNU ld" >&5
+fi
+if eval "test \"`echo '$''{'ac_cv_path_LD'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -z "$LD"; then
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
+ for ac_dir in $PATH; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f "$ac_dir/$ac_prog"; then
+ ac_cv_path_LD="$ac_dir/$ac_prog"
+ # Check to see if the program is GNU ld. I'd rather use --version,
+ # but apparently some GNU ld's only accept -v.
+ # Break only if it was the GNU/non-GNU ld that we prefer.
+ if "$ac_cv_path_LD" -v 2>&1 < /dev/null | egrep '(GNU|with BFD)' > /dev/null; then
+ test "$with_gnu_ld" != no && break
+ else
+ test "$with_gnu_ld" != yes && break
+ fi
+ fi
+ done
+ IFS="$ac_save_ifs"
+else
+ ac_cv_path_LD="$LD" # Let the user override the test with a path.
+fi
+fi
+
+LD="$ac_cv_path_LD"
+if test -n "$LD"; then
+ echo "$ac_t""$LD" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+test -z "$LD" && { echo "configure: error: no acceptable ld found in \$PATH" 1>&2; exit 1; }
+
+echo $ac_n "checking if the linker ($LD) is GNU ld""... $ac_c" 1>&6
+echo "configure:1303: checking if the linker ($LD) is GNU ld" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_gnu_ld'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ # I'd rather use --version here, but apparently some GNU ld's only accept -v.
+if $LD -v 2>&1 </dev/null | egrep '(GNU|with BFD)' 1>&5; then
+ ac_cv_prog_gnu_ld=yes
+else
+ ac_cv_prog_gnu_ld=no
+fi
+fi
+
+echo "$ac_t""$ac_cv_prog_gnu_ld" 1>&6
+
+
+echo $ac_n "checking for BSD-compatible nm""... $ac_c" 1>&6
+echo "configure:1319: checking for BSD-compatible nm" >&5
+if eval "test \"`echo '$''{'ac_cv_path_NM'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ case "$NM" in
+/* | A-Za-z:\\*)
+ ac_cv_path_NM="$NM" # Let the user override the test with a path.
+ ;;
+*)
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
+ for ac_dir in /usr/ucb /usr/ccs/bin $PATH /bin; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/nm; then
+ # Check to see if the nm accepts a BSD-compat flag.
+ # Adding the `sed 1q' prevents false positives on HP-UX, which says:
+ # nm: unknown option "B" ignored
+ if ($ac_dir/nm -B /dev/null 2>&1 | sed '1q'; exit 0) | egrep /dev/null >/dev/null; then
+ ac_cv_path_NM="$ac_dir/nm -B"
+ elif ($ac_dir/nm -p /dev/null 2>&1 | sed '1q'; exit 0) | egrep /dev/null >/dev/null; then
+ ac_cv_path_NM="$ac_dir/nm -p"
+ else
+ ac_cv_path_NM="$ac_dir/nm"
+ fi
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+ test -z "$ac_cv_path_NM" && ac_cv_path_NM=nm
+ ;;
+esac
+fi
+
+NM="$ac_cv_path_NM"
+echo "$ac_t""$NM" 1>&6
+
+
+echo $ac_n "checking whether ln -s works""... $ac_c" 1>&6
+echo "configure:1356: checking whether ln -s works" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_LN_S'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ rm -f conftestdata
+if ln -s X conftestdata 2>/dev/null
+then
+ rm -f conftestdata
+ ac_cv_prog_LN_S="ln -s"
+else
+ ac_cv_prog_LN_S=ln
+fi
+fi
+LN_S="$ac_cv_prog_LN_S"
+if test "$ac_cv_prog_LN_S" = "ln -s"; then
+ echo "$ac_t""yes" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+# Always use our own libtool.
+LIBTOOL='$(SHELL) $(top_builddir)/libtool'
+
+# Check for any special flags to pass to ltconfig.
+libtool_flags=
+test "$enable_shared" = no && libtool_flags="$libtool_flags --disable-shared"
+test "$enable_static" = no && libtool_flags="$libtool_flags --disable-static"
+test "$silent" = yes && libtool_flags="$libtool_flags --silent"
+test "$ac_cv_prog_gcc" = yes && libtool_flags="$libtool_flags --with-gcc"
+test "$ac_cv_prog_gnu_ld" = yes && libtool_flags="$libtool_flags --with-gnu-ld"
+
+# Some flags need to be propagated to the compiler or linker for good
+# libtool support.
+case "$host" in
+*-*-irix6*)
+ # Find out which ABI we are using.
+ echo '#line 1392 "configure"' > conftest.$ac_ext
+ if { (eval echo configure:1393: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ case "`/usr/bin/file conftest.o`" in
+ *32-bit*)
+ LD="${LD-ld} -32"
+ ;;
+ *N32*)
+ LD="${LD-ld} -n32"
+ ;;
+ *64-bit*)
+ LD="${LD-ld} -64"
+ ;;
+ esac
+ fi
+ rm -rf conftest*
+ ;;
+
+*-*-sco3.2v5*)
+ # On SCO OpenServer 5, we need -belf to get full-featured binaries.
+ CFLAGS="$CFLAGS -belf"
+ ;;
+esac
+
+# Actually configure libtool. ac_aux_dir is where install-sh is found.
+CC="$CC" CFLAGS="$CFLAGS" CPPFLAGS="$CPPFLAGS" \
+LD="$LD" NM="$NM" RANLIB="$RANLIB" LN_S="$LN_S" \
+${CONFIG_SHELL-/bin/sh} $ac_aux_dir/ltconfig \
+$libtool_flags --no-verify $ac_aux_dir/ltmain.sh $host \
+|| { echo "configure: error: libtool configure failed" 1>&2; exit 1; }
+
+
echo $ac_n "checking how to run the C preprocessor""... $ac_c" 1>&6
-echo "configure:1179: checking how to run the C preprocessor" >&5
+echo "configure:1424: checking how to run the C preprocessor" >&5
# On Suns, sometimes $CPP names a directory.
if test -n "$CPP" && test -d "$CPP"; then
CPP=
@@ -1190,13 +1435,13 @@ else
# On the NeXT, cc -E runs the code through the compiler's parser,
# not just through cpp.
cat > conftest.$ac_ext <<EOF
-#line 1194 "configure"
+#line 1439 "configure"
#include "confdefs.h"
#include <assert.h>
Syntax Error
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:1200: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:1445: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out`
if test -z "$ac_err"; then
:
@@ -1207,13 +1452,13 @@ else
rm -rf conftest*
CPP="${CC-cc} -E -traditional-cpp"
cat > conftest.$ac_ext <<EOF
-#line 1211 "configure"
+#line 1456 "configure"
#include "confdefs.h"
#include <assert.h>
Syntax Error
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:1217: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:1462: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out`
if test -z "$ac_err"; then
:
@@ -1236,9 +1481,9 @@ fi
echo "$ac_t""$CPP" 1>&6
echo $ac_n "checking for AIX""... $ac_c" 1>&6
-echo "configure:1240: checking for AIX" >&5
+echo "configure:1485: checking for AIX" >&5
cat > conftest.$ac_ext <<EOF
-#line 1242 "configure"
+#line 1487 "configure"
#include "confdefs.h"
#ifdef _AIX
yes
@@ -1260,7 +1505,7 @@ rm -f conftest*
echo $ac_n "checking for POSIXized ISC""... $ac_c" 1>&6
-echo "configure:1264: checking for POSIXized ISC" >&5
+echo "configure:1509: checking for POSIXized ISC" >&5
if test -d /etc/conf/kconfig.d &&
grep _POSIX_VERSION /usr/include/sys/unistd.h >/dev/null 2>&1
then
@@ -1282,17 +1527,17 @@ fi
ac_safe=`echo "minix/config.h" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for minix/config.h""... $ac_c" 1>&6
-echo "configure:1286: checking for minix/config.h" >&5
+echo "configure:1531: checking for minix/config.h" >&5
if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 1291 "configure"
+#line 1536 "configure"
#include "confdefs.h"
#include <minix/config.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:1296: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:1541: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out`
if test -z "$ac_err"; then
rm -rf conftest*
@@ -1333,7 +1578,7 @@ fi
echo $ac_n "checking for ${CC-cc} option to accept ANSI C""... $ac_c" 1>&6
-echo "configure:1337: checking for ${CC-cc} option to accept ANSI C" >&5
+echo "configure:1582: checking for ${CC-cc} option to accept ANSI C" >&5
if eval "test \"`echo '$''{'am_cv_prog_cc_stdc'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -1349,7 +1594,7 @@ for ac_arg in "" -qlanglvl=ansi -std1 "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__
do
CC="$ac_save_CC $ac_arg"
cat > conftest.$ac_ext <<EOF
-#line 1353 "configure"
+#line 1598 "configure"
#include "confdefs.h"
#include <stdarg.h>
#include <stdio.h>
@@ -1386,7 +1631,7 @@ return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1];
; return 0; }
EOF
-if { (eval echo configure:1390: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:1635: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
am_cv_prog_cc_stdc="$ac_arg"; break
else
@@ -1412,7 +1657,7 @@ esac
echo $ac_n "checking for function prototypes""... $ac_c" 1>&6
-echo "configure:1416: checking for function prototypes" >&5
+echo "configure:1661: checking for function prototypes" >&5
if test "$am_cv_prog_cc_stdc" != no; then
echo "$ac_t""yes" 1>&6
cat >> confdefs.h <<\EOF
@@ -1425,12 +1670,12 @@ else
U=_ ANSI2KNR=./ansi2knr
# Ensure some checks needed by ansi2knr itself.
echo $ac_n "checking for ANSI C header files""... $ac_c" 1>&6
-echo "configure:1429: checking for ANSI C header files" >&5
+echo "configure:1674: checking for ANSI C header files" >&5
if eval "test \"`echo '$''{'ac_cv_header_stdc'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 1434 "configure"
+#line 1679 "configure"
#include "confdefs.h"
#include <stdlib.h>
#include <stdarg.h>
@@ -1438,7 +1683,7 @@ else
#include <float.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:1442: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:1687: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out`
if test -z "$ac_err"; then
rm -rf conftest*
@@ -1455,7 +1700,7 @@ rm -f conftest*
if test $ac_cv_header_stdc = yes; then
# SunOS 4.x string.h does not declare mem*, contrary to ANSI.
cat > conftest.$ac_ext <<EOF
-#line 1459 "configure"
+#line 1704 "configure"
#include "confdefs.h"
#include <string.h>
EOF
@@ -1473,7 +1718,7 @@ fi
if test $ac_cv_header_stdc = yes; then
# ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
cat > conftest.$ac_ext <<EOF
-#line 1477 "configure"
+#line 1722 "configure"
#include "confdefs.h"
#include <stdlib.h>
EOF
@@ -1494,7 +1739,7 @@ if test "$cross_compiling" = yes; then
:
else
cat > conftest.$ac_ext <<EOF
-#line 1498 "configure"
+#line 1743 "configure"
#include "confdefs.h"
#include <ctype.h>
#define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
@@ -1505,7 +1750,7 @@ if (XOR (islower (i), ISLOWER (i)) || toupper (i) != TOUPPER (i)) exit(2);
exit (0); }
EOF
-if { (eval echo configure:1509: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:1754: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null
then
:
else
@@ -1532,17 +1777,17 @@ fi
do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:1536: checking for $ac_hdr" >&5
+echo "configure:1781: checking for $ac_hdr" >&5
if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 1541 "configure"
+#line 1786 "configure"
#include "confdefs.h"
#include <$ac_hdr>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:1546: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:1791: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out`
if test -z "$ac_err"; then
rm -rf conftest*
@@ -1571,12 +1816,12 @@ done
fi
echo $ac_n "checking for working const""... $ac_c" 1>&6
-echo "configure:1575: checking for working const" >&5
+echo "configure:1820: checking for working const" >&5
if eval "test \"`echo '$''{'ac_cv_c_const'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 1580 "configure"
+#line 1825 "configure"
#include "confdefs.h"
int main() {
@@ -1625,7 +1870,7 @@ ccp = (char const *const *) p;
; return 0; }
EOF
-if { (eval echo configure:1629: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:1874: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_c_const=yes
else
@@ -1650,17 +1895,17 @@ for ac_hdr in limits.h locale.h memory.h siginfo.h string.h unistd.h
do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:1654: checking for $ac_hdr" >&5
+echo "configure:1899: checking for $ac_hdr" >&5
if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 1659 "configure"
+#line 1904 "configure"
#include "confdefs.h"
#include <$ac_hdr>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:1664: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:1909: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out`
if test -z "$ac_err"; then
rm -rf conftest*
@@ -1687,12 +1932,12 @@ fi
done
echo $ac_n "checking for ANSI C header files""... $ac_c" 1>&6
-echo "configure:1691: checking for ANSI C header files" >&5
+echo "configure:1936: checking for ANSI C header files" >&5
if eval "test \"`echo '$''{'ac_cv_header_stdc'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 1696 "configure"
+#line 1941 "configure"
#include "confdefs.h"
#include <stdlib.h>
#include <stdarg.h>
@@ -1700,7 +1945,7 @@ else
#include <float.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:1704: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:1949: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out`
if test -z "$ac_err"; then
rm -rf conftest*
@@ -1717,7 +1962,7 @@ rm -f conftest*
if test $ac_cv_header_stdc = yes; then
# SunOS 4.x string.h does not declare mem*, contrary to ANSI.
cat > conftest.$ac_ext <<EOF
-#line 1721 "configure"
+#line 1966 "configure"
#include "confdefs.h"
#include <string.h>
EOF
@@ -1735,7 +1980,7 @@ fi
if test $ac_cv_header_stdc = yes; then
# ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
cat > conftest.$ac_ext <<EOF
-#line 1739 "configure"
+#line 1984 "configure"
#include "confdefs.h"
#include <stdlib.h>
EOF
@@ -1756,7 +2001,7 @@ if test "$cross_compiling" = yes; then
:
else
cat > conftest.$ac_ext <<EOF
-#line 1760 "configure"
+#line 2005 "configure"
#include "confdefs.h"
#include <ctype.h>
#define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
@@ -1767,7 +2012,7 @@ if (XOR (islower (i), ISLOWER (i)) || toupper (i) != TOUPPER (i)) exit(2);
exit (0); }
EOF
-if { (eval echo configure:1771: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:2016: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null
then
:
else
@@ -1791,12 +2036,12 @@ EOF
fi
echo $ac_n "checking return type of signal handlers""... $ac_c" 1>&6
-echo "configure:1795: checking return type of signal handlers" >&5
+echo "configure:2040: checking return type of signal handlers" >&5
if eval "test \"`echo '$''{'ac_cv_type_signal'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 1800 "configure"
+#line 2045 "configure"
#include "confdefs.h"
#include <sys/types.h>
#include <signal.h>
@@ -1813,7 +2058,7 @@ int main() {
int i;
; return 0; }
EOF
-if { (eval echo configure:1817: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:2062: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_type_signal=void
else
@@ -1832,12 +2077,12 @@ EOF
echo $ac_n "checking for size_t""... $ac_c" 1>&6
-echo "configure:1836: checking for size_t" >&5
+echo "configure:2081: checking for size_t" >&5
if eval "test \"`echo '$''{'ac_cv_type_size_t'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 1841 "configure"
+#line 2086 "configure"
#include "confdefs.h"
#include <sys/types.h>
#if STDC_HEADERS
@@ -1868,12 +2113,12 @@ fi
for ac_func in mkstemp sigaction sigaltstack sigstack sigvec strerror tmpfile
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:1872: checking for $ac_func" >&5
+echo "configure:2117: checking for $ac_func" >&5
if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 1877 "configure"
+#line 2122 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -1896,7 +2141,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:1900: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:2145: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
rm -rf conftest*
eval "ac_cv_func_$ac_func=yes"
else
@@ -1924,19 +2169,19 @@ done
# The Ultrix 4.2 mips builtin alloca declared by alloca.h only works
# for constant arguments. Useless!
echo $ac_n "checking for working alloca.h""... $ac_c" 1>&6
-echo "configure:1928: checking for working alloca.h" >&5
+echo "configure:2173: checking for working alloca.h" >&5
if eval "test \"`echo '$''{'ac_cv_header_alloca_h'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 1933 "configure"
+#line 2178 "configure"
#include "confdefs.h"
#include <alloca.h>
int main() {
char *p = alloca(2 * sizeof(int));
; return 0; }
EOF
-if { (eval echo configure:1940: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:2185: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
rm -rf conftest*
ac_cv_header_alloca_h=yes
else
@@ -1957,12 +2202,12 @@ EOF
fi
echo $ac_n "checking for alloca""... $ac_c" 1>&6
-echo "configure:1961: checking for alloca" >&5
+echo "configure:2206: checking for alloca" >&5
if eval "test \"`echo '$''{'ac_cv_func_alloca_works'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 1966 "configure"
+#line 2211 "configure"
#include "confdefs.h"
#ifdef __GNUC__
@@ -1985,7 +2230,7 @@ int main() {
char *p = (char *) alloca(1);
; return 0; }
EOF
-if { (eval echo configure:1989: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:2234: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
rm -rf conftest*
ac_cv_func_alloca_works=yes
else
@@ -2017,12 +2262,12 @@ EOF
echo $ac_n "checking whether alloca needs Cray hooks""... $ac_c" 1>&6
-echo "configure:2021: checking whether alloca needs Cray hooks" >&5
+echo "configure:2266: checking whether alloca needs Cray hooks" >&5
if eval "test \"`echo '$''{'ac_cv_os_cray'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 2026 "configure"
+#line 2271 "configure"
#include "confdefs.h"
#if defined(CRAY) && ! defined(CRAY2)
webecray
@@ -2047,12 +2292,12 @@ echo "$ac_t""$ac_cv_os_cray" 1>&6
if test $ac_cv_os_cray = yes; then
for ac_func in _getb67 GETB67 getb67; do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:2051: checking for $ac_func" >&5
+echo "configure:2296: checking for $ac_func" >&5
if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 2056 "configure"
+#line 2301 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -2075,7 +2320,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:2079: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:2324: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
rm -rf conftest*
eval "ac_cv_func_$ac_func=yes"
else
@@ -2102,7 +2347,7 @@ done
fi
echo $ac_n "checking stack direction for C alloca""... $ac_c" 1>&6
-echo "configure:2106: checking stack direction for C alloca" >&5
+echo "configure:2351: checking stack direction for C alloca" >&5
if eval "test \"`echo '$''{'ac_cv_c_stack_direction'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -2110,7 +2355,7 @@ else
ac_cv_c_stack_direction=0
else
cat > conftest.$ac_ext <<EOF
-#line 2114 "configure"
+#line 2359 "configure"
#include "confdefs.h"
find_stack_direction ()
{
@@ -2129,7 +2374,7 @@ main ()
exit (find_stack_direction() < 0);
}
EOF
-if { (eval echo configure:2133: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:2378: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null
then
ac_cv_c_stack_direction=1
else
@@ -2151,12 +2396,12 @@ EOF
fi
echo $ac_n "checking for vprintf""... $ac_c" 1>&6
-echo "configure:2155: checking for vprintf" >&5
+echo "configure:2400: checking for vprintf" >&5
if eval "test \"`echo '$''{'ac_cv_func_vprintf'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 2160 "configure"
+#line 2405 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char vprintf(); below. */
@@ -2179,7 +2424,7 @@ vprintf();
; return 0; }
EOF
-if { (eval echo configure:2183: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:2428: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
rm -rf conftest*
eval "ac_cv_func_vprintf=yes"
else
@@ -2203,12 +2448,12 @@ fi
if test "$ac_cv_func_vprintf" != yes; then
echo $ac_n "checking for _doprnt""... $ac_c" 1>&6
-echo "configure:2207: checking for _doprnt" >&5
+echo "configure:2452: checking for _doprnt" >&5
if eval "test \"`echo '$''{'ac_cv_func__doprnt'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 2212 "configure"
+#line 2457 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char _doprnt(); below. */
@@ -2231,7 +2476,7 @@ _doprnt();
; return 0; }
EOF
-if { (eval echo configure:2235: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:2480: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
rm -rf conftest*
eval "ac_cv_func__doprnt=yes"
else
@@ -2258,12 +2503,12 @@ fi
for ac_func in strtol obstack xmalloc xstrdup
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:2262: checking for $ac_func" >&5
+echo "configure:2507: checking for $ac_func" >&5
if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 2267 "configure"
+#line 2512 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -2286,7 +2531,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:2290: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:2535: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
rm -rf conftest*
eval "ac_cv_func_$ac_func=yes"
else
@@ -2313,12 +2558,12 @@ done
echo $ac_n "checking for getopt_long""... $ac_c" 1>&6
-echo "configure:2317: checking for getopt_long" >&5
+echo "configure:2562: checking for getopt_long" >&5
if eval "test \"`echo '$''{'ac_cv_func_getopt_long'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 2322 "configure"
+#line 2567 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char getopt_long(); below. */
@@ -2341,7 +2586,7 @@ getopt_long();
; return 0; }
EOF
-if { (eval echo configure:2345: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:2590: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
rm -rf conftest*
eval "ac_cv_func_getopt_long=yes"
else
@@ -2383,12 +2628,12 @@ fi
for ac_func in strerror strerror_r vprintf doprnt
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:2387: checking for $ac_func" >&5
+echo "configure:2632: checking for $ac_func" >&5
if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 2392 "configure"
+#line 2637 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -2411,7 +2656,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:2415: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:2660: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
rm -rf conftest*
eval "ac_cv_func_$ac_func=yes"
else
@@ -2436,12 +2681,12 @@ fi
done
echo $ac_n "checking for ANSI C header files""... $ac_c" 1>&6
-echo "configure:2440: checking for ANSI C header files" >&5
+echo "configure:2685: checking for ANSI C header files" >&5
if eval "test \"`echo '$''{'ac_cv_header_stdc'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 2445 "configure"
+#line 2690 "configure"
#include "confdefs.h"
#include <stdlib.h>
#include <stdarg.h>
@@ -2449,7 +2694,7 @@ else
#include <float.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:2453: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:2698: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out`
if test -z "$ac_err"; then
rm -rf conftest*
@@ -2466,7 +2711,7 @@ rm -f conftest*
if test $ac_cv_header_stdc = yes; then
# SunOS 4.x string.h does not declare mem*, contrary to ANSI.
cat > conftest.$ac_ext <<EOF
-#line 2470 "configure"
+#line 2715 "configure"
#include "confdefs.h"
#include <string.h>
EOF
@@ -2484,7 +2729,7 @@ fi
if test $ac_cv_header_stdc = yes; then
# ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
cat > conftest.$ac_ext <<EOF
-#line 2488 "configure"
+#line 2733 "configure"
#include "confdefs.h"
#include <stdlib.h>
EOF
@@ -2505,7 +2750,7 @@ if test "$cross_compiling" = yes; then
:
else
cat > conftest.$ac_ext <<EOF
-#line 2509 "configure"
+#line 2754 "configure"
#include "confdefs.h"
#include <ctype.h>
#define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
@@ -2516,7 +2761,7 @@ if (XOR (islower (i), ISLOWER (i)) || toupper (i) != TOUPPER (i)) exit(2);
exit (0); }
EOF
-if { (eval echo configure:2520: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:2765: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null
then
:
else
@@ -2542,9 +2787,9 @@ fi
echo $ac_n "checking ecvt declaration""... $ac_c" 1>&6
-echo "configure:2546: checking ecvt declaration" >&5
+echo "configure:2791: checking ecvt declaration" >&5
cat > conftest.$ac_ext <<EOF
-#line 2548 "configure"
+#line 2793 "configure"
#include "confdefs.h"
#include <stdlib.h>
EOF
@@ -2560,12 +2805,12 @@ else
echo "$ac_t""no" 1>&6; for ac_func in ecvt
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:2564: checking for $ac_func" >&5
+echo "configure:2809: checking for $ac_func" >&5
if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 2569 "configure"
+#line 2814 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -2588,7 +2833,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:2592: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:2837: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
rm -rf conftest*
eval "ac_cv_func_$ac_func=yes"
else
@@ -2617,7 +2862,7 @@ rm -f conftest*
echo $ac_n "checking if stack overflow is detectable""... $ac_c" 1>&6
-echo "configure:2621: checking if stack overflow is detectable" >&5
+echo "configure:2866: checking if stack overflow is detectable" >&5
# Code from Jim Avera <jima@netcom.com>.
# stackovf.c requires:
# 1. Either sigaction with SA_ONSTACK, or sigvec with SV_ONSTACK
@@ -2627,7 +2872,7 @@ use_stackovf=no
if test "$ac_cv_func_sigaction" = yes || test "$ac_cv_func_sigvec" = yes; then
if test "$ac_cv_func_sigaltstack" = yes || test "$ac_cv_func_sigstack" = yes; then
cat > conftest.$ac_ext <<EOF
-#line 2631 "configure"
+#line 2876 "configure"
#include "confdefs.h"
#include <sys/time.h>
#include <sys/resource.h>
@@ -2640,7 +2885,7 @@ choke me /* SA_ONSTACK and/or SV_ONSTACK are not defined */
#endif
; return 0; }
EOF
-if { (eval echo configure:2644: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:2889: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
rm -rf conftest*
use_stackovf=yes
else
@@ -2659,7 +2904,7 @@ EOF
STACKOVF=stackovf.${U}o
cat > conftest.$ac_ext <<EOF
-#line 2663 "configure"
+#line 2908 "configure"
#include "confdefs.h"
#include <sys/resource.h>
EOF
@@ -2676,7 +2921,7 @@ fi
rm -f conftest*
cat > conftest.$ac_ext <<EOF
-#line 2680 "configure"
+#line 2925 "configure"
#include "confdefs.h"
#include <signal.h>
EOF
@@ -2693,7 +2938,7 @@ fi
rm -f conftest*
cat > conftest.$ac_ext <<EOF
-#line 2697 "configure"
+#line 2942 "configure"
#include "confdefs.h"
#include <signal.h>
EOF
@@ -2710,7 +2955,7 @@ rm -f conftest*
fi
echo $ac_n "checking if changeword is wanted""... $ac_c" 1>&6
-echo "configure:2714: checking if changeword is wanted" >&5
+echo "configure:2959: checking if changeword is wanted" >&5
# Check whether --enable-changeword or --disable-changeword was given.
if test "${enable_changeword+set}" = set; then
enableval="$enable_changeword"
@@ -2729,7 +2974,7 @@ fi
echo $ac_n "checking if support for dynamic modules is wanted""... $ac_c" 1>&6
-echo "configure:2733: checking if support for dynamic modules is wanted" >&5
+echo "configure:2978: checking if support for dynamic modules is wanted" >&5
# Check whether --with-modules or --without-modules was given.
if test "${with_modules+set}" = set; then
withval="$with_modules"
@@ -2741,15 +2986,17 @@ fi
echo "$ac_t""$use_modules" 1>&6
if test "$use_modules" = yes; then
- for ac_func in dlopen dlsym dlclose
+ with_modules=no
+
+ for ac_func in dlopen
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:2748: checking for $ac_func" >&5
+echo "configure:2995: checking for $ac_func" >&5
if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 2753 "configure"
+#line 3000 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -2772,7 +3019,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:2776: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:3023: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
rm -rf conftest*
eval "ac_cv_func_$ac_func=yes"
else
@@ -2797,12 +3044,12 @@ fi
done
if test "$ac_cv_func_dlopen" = yes; then
- MODULE_O=module.o
- MODULES_DIR=modules
+ with_modules=yes
fi
- echo $ac_n "checking for dlopen in -ldl""... $ac_c" 1>&6
-echo "configure:2806: checking for dlopen in -ldl" >&5
+ if test "$with_modules" = no; then
+ echo $ac_n "checking for dlopen in -ldl""... $ac_c" 1>&6
+echo "configure:3053: checking for dlopen in -ldl" >&5
ac_lib_var=`echo dl'_'dlopen | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -2810,7 +3057,7 @@ else
ac_save_LIBS="$LIBS"
LIBS="-ldl $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 2814 "configure"
+#line 3061 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
@@ -2821,7 +3068,7 @@ int main() {
dlopen()
; return 0; }
EOF
-if { (eval echo configure:2825: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:3072: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
@@ -2836,26 +3083,41 @@ LIBS="$ac_save_LIBS"
fi
if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
echo "$ac_t""yes" 1>&6
- HAVE_LIBDL=true
+ ac_tr_lib=HAVE_LIB`echo dl | sed -e 's/[^a-zA-Z0-9_]/_/g' \
+ -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'`
+ cat >> confdefs.h <<EOF
+#define $ac_tr_lib 1
+EOF
+
+ LIBS="-ldl $LIBS"
+
else
echo "$ac_t""no" 1>&6
fi
- if test "$HAVE_LIBDL" = true; then
- LIBS="$LIBS -ldl"
- MODULE_O=module.o
- MODULES_DIR=modules
- cat >> confdefs.h <<\EOF
+ if test "$ac_cv_lib_dl_dlopen" = yes; then
+ with_modules=yes
+
+# LIBS="$LIBS -ldl"
+ cat >> confdefs.h <<\EOF
#define HAVE_DLOPEN 1
EOF
+ fi
fi
- SHARED_EXT=.so
+# dnl Test for dld_link in libdld
+# if test "$with_modules" = no; then
+# AC_CHECK_LIB(dld, dld_link)
+# if test "$ac_cv_lib_dld_dld_link" = "yes"; then
+# with_modules=yes
+# AC_DEFINE(HAVE_DLD,1)
+# fi
+# fi
- if test "${MODULES_DIR}" = ""; then
+ if test "$with_modules" = no; then
echo $ac_n "checking for shl_load in -ldld""... $ac_c" 1>&6
-echo "configure:2859: checking for shl_load in -ldld" >&5
+echo "configure:3121: checking for shl_load in -ldld" >&5
ac_lib_var=`echo dld'_'shl_load | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -2863,7 +3125,7 @@ else
ac_save_LIBS="$LIBS"
LIBS="-ldld $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 2867 "configure"
+#line 3129 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
@@ -2874,7 +3136,7 @@ int main() {
shl_load()
; return 0; }
EOF
-if { (eval echo configure:2878: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:3140: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
@@ -2889,65 +3151,43 @@ LIBS="$ac_save_LIBS"
fi
if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
echo "$ac_t""yes" 1>&6
- HAVE_LIBDLD=true
+ ac_tr_lib=HAVE_LIB`echo dld | sed -e 's/[^a-zA-Z0-9_]/_/g' \
+ -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'`
+ cat >> confdefs.h <<EOF
+#define $ac_tr_lib 1
+EOF
+
+ LIBS="-ldld $LIBS"
+
else
echo "$ac_t""no" 1>&6
fi
- if test "$HAVE_LIBDLD" = true; then
+ if test "$ac_cv_lib_dld_shl_load" = yes; then
+ with_modules=yes
+
LIBS="$LIBS -ldld"
- MODULE_O=module.o
- MODULES_DIR=modules
- SHARED_EXT=.O
cat >> confdefs.h <<\EOF
-#define USE_SHL_LOAD 1
+#define HAVE_SHL_LOAD 1
EOF
fi
fi
- if test "$MODULES_DIR"; then
- SHARED_LD=ld
- DASH_SHARED=""
- case "$host_os" in
- sunos4*) DASH_SHARED=-Bdynamic ;;
- linux*) DASH_SHARED=-shared; DLLDFLAGS=-rdynamic ;;
- winnt*) SHARED_LD=./make-dll; SHARED_EXT=.dll; DLLDFLAGS=-rdynamic ;;
- osf*) DASH_SHARED=-shared; SHARED_LD=$CC ;;
- irix*) DASH_SHARED=-shared; SHARED_LD=$CC ;;
- bsdi*) DASH_SHARED=-shared; DLLDFLAGS=-rdynamic ;;
- freebsd*) DASH_SHARED=-Bshareable; SHARED_LD='$(LD) 2>/dev/null';;
- solaris*)
- # If both the GNU compiler and linker are installed, then we need
- # to add special options in order to compile the modules.
- if test "$GCC" = "yes"; then
- DASH_SHARED=-shared; GCC_FPIC=-fpic;
- SHARED_LD='$(CC)'; DLLDFLAGS="-Xlinker -E";
- else
- DASH_SHARED=-G;
- fi
- ;;
- aix*) DLLDFLAGS="-bexpall -brtl" ;;
+ if test "$with_modules" = yes; then
+ DLLDFLAGS=-export-dynamic
- hpux*) DASH_SHARED="-b -E" GCC_FPIC=-fpic DLLDFLAGS="-Xlinker -E" ;;
- esac
+ MODULES_DIR=modules
+ MODULE_PATH="${pkglibexecdir}"
fi
-
-
-
-
-
-
- MODULE_PATH="${pkglibexecdir}"
-
fi
echo $ac_n "checking if extended and fractional arithmetic is wanted""... $ac_c" 1>&6
-echo "configure:2951: checking if extended and fractional arithmetic is wanted" >&5
+echo "configure:3191: checking if extended and fractional arithmetic is wanted" >&5
# Check whether --with-gmp or --without-gmp was given.
if test "${with_gmp+set}" = set; then
withval="$with_gmp"
@@ -2962,17 +3202,17 @@ fi
LIBS="$LIBS -lgmp"
ac_safe=`echo "gmp.h" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for gmp.h""... $ac_c" 1>&6
-echo "configure:2966: checking for gmp.h" >&5
+echo "configure:3206: checking for gmp.h" >&5
if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 2971 "configure"
+#line 3211 "configure"
#include "confdefs.h"
#include <gmp.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:2976: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:3216: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out`
if test -z "$ac_err"; then
rm -rf conftest*
@@ -2989,19 +3229,19 @@ fi
if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
echo "$ac_t""yes" 1>&6
echo $ac_n "checking for mpq_init in libgmp""... $ac_c" 1>&6
-echo "configure:2993: checking for mpq_init in libgmp" >&5
+echo "configure:3233: checking for mpq_init in libgmp" >&5
if eval "test \"`echo '$''{'ac_cv_func_mpq_init_libgmp'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 2998 "configure"
+#line 3238 "configure"
#include "confdefs.h"
#include <gmp.h>
int main() {
mpq_t x; (void)mpq_init(x)
; return 0; }
EOF
-if { (eval echo configure:3005: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:3245: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
rm -rf conftest*
ac_cv_func_mpq_init_libgmp=yes
else
@@ -3034,7 +3274,7 @@ EOF
if test "$use_gmp" != yes; then
echo $ac_n "checking size of long long int""... $ac_c" 1>&6
-echo "configure:3038: checking size of long long int" >&5
+echo "configure:3278: checking size of long long int" >&5
if eval "test \"`echo '$''{'ac_cv_sizeof_long_long_int'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -3042,7 +3282,7 @@ else
ac_cv_sizeof_long_long_int=0
else
cat > conftest.$ac_ext <<EOF
-#line 3046 "configure"
+#line 3286 "configure"
#include "confdefs.h"
#include <stdio.h>
main()
@@ -3053,7 +3293,7 @@ main()
exit(0);
}
EOF
-if { (eval echo configure:3057: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:3297: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null
then
ac_cv_sizeof_long_long_int=`cat conftestval`
else
@@ -3076,7 +3316,7 @@ EOF
echo $ac_n "checking if malloc debugging is wanted""... $ac_c" 1>&6
-echo "configure:3080: checking if malloc debugging is wanted" >&5
+echo "configure:3320: checking if malloc debugging is wanted" >&5
# Check whether --with-dmalloc or --without-dmalloc was given.
if test "${with_dmalloc+set}" = set; then
withval="$with_dmalloc"
@@ -3097,21 +3337,21 @@ fi
echo $ac_n "checking for inline""... $ac_c" 1>&6
-echo "configure:3101: checking for inline" >&5
+echo "configure:3341: checking for inline" >&5
if eval "test \"`echo '$''{'ac_cv_c_inline'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
ac_cv_c_inline=no
for ac_kw in inline __inline__ __inline; do
cat > conftest.$ac_ext <<EOF
-#line 3108 "configure"
+#line 3348 "configure"
#include "confdefs.h"
int main() {
} $ac_kw foo() {
; return 0; }
EOF
-if { (eval echo configure:3115: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:3355: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_c_inline=$ac_kw; break
else
@@ -3137,12 +3377,12 @@ EOF
esac
echo $ac_n "checking for off_t""... $ac_c" 1>&6
-echo "configure:3141: checking for off_t" >&5
+echo "configure:3381: checking for off_t" >&5
if eval "test \"`echo '$''{'ac_cv_type_off_t'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 3146 "configure"
+#line 3386 "configure"
#include "confdefs.h"
#include <sys/types.h>
#if STDC_HEADERS
@@ -3173,17 +3413,17 @@ for ac_hdr in unistd.h
do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:3177: checking for $ac_hdr" >&5
+echo "configure:3417: checking for $ac_hdr" >&5
if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 3182 "configure"
+#line 3422 "configure"
#include "confdefs.h"
#include <$ac_hdr>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:3187: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:3427: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out`
if test -z "$ac_err"; then
rm -rf conftest*
@@ -3212,12 +3452,12 @@ done
for ac_func in getpagesize
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:3216: checking for $ac_func" >&5
+echo "configure:3456: checking for $ac_func" >&5
if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 3221 "configure"
+#line 3461 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -3240,7 +3480,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:3244: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:3484: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
rm -rf conftest*
eval "ac_cv_func_$ac_func=yes"
else
@@ -3265,7 +3505,7 @@ fi
done
echo $ac_n "checking for working mmap""... $ac_c" 1>&6
-echo "configure:3269: checking for working mmap" >&5
+echo "configure:3509: checking for working mmap" >&5
if eval "test \"`echo '$''{'ac_cv_func_mmap_fixed_mapped'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -3273,7 +3513,7 @@ else
ac_cv_func_mmap_fixed_mapped=no
else
cat > conftest.$ac_ext <<EOF
-#line 3277 "configure"
+#line 3517 "configure"
#include "confdefs.h"
/* Thanks to Mike Haertel and Jim Avera for this test.
@@ -3413,7 +3653,7 @@ main()
}
EOF
-if { (eval echo configure:3417: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:3657: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null
then
ac_cv_func_mmap_fixed_mapped=yes
else
@@ -3441,17 +3681,17 @@ unistd.h sys/param.h
do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:3445: checking for $ac_hdr" >&5
+echo "configure:3685: checking for $ac_hdr" >&5
if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 3450 "configure"
+#line 3690 "configure"
#include "confdefs.h"
#include <$ac_hdr>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:3455: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:3695: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out`
if test -z "$ac_err"; then
rm -rf conftest*
@@ -3481,12 +3721,12 @@ done
strdup __argz_count __argz_stringify __argz_next
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:3485: checking for $ac_func" >&5
+echo "configure:3725: checking for $ac_func" >&5
if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 3490 "configure"
+#line 3730 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -3509,7 +3749,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:3513: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:3753: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
rm -rf conftest*
eval "ac_cv_func_$ac_func=yes"
else
@@ -3538,12 +3778,12 @@ done
for ac_func in stpcpy
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:3542: checking for $ac_func" >&5
+echo "configure:3782: checking for $ac_func" >&5
if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 3547 "configure"
+#line 3787 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -3566,7 +3806,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:3570: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:3810: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
rm -rf conftest*
eval "ac_cv_func_$ac_func=yes"
else
@@ -3600,19 +3840,19 @@ EOF
if test $ac_cv_header_locale_h = yes; then
echo $ac_n "checking for LC_MESSAGES""... $ac_c" 1>&6
-echo "configure:3604: checking for LC_MESSAGES" >&5
+echo "configure:3844: checking for LC_MESSAGES" >&5
if eval "test \"`echo '$''{'am_cv_val_LC_MESSAGES'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 3609 "configure"
+#line 3849 "configure"
#include "confdefs.h"
#include <locale.h>
int main() {
return LC_MESSAGES
; return 0; }
EOF
-if { (eval echo configure:3616: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:3856: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
rm -rf conftest*
am_cv_val_LC_MESSAGES=yes
else
@@ -3633,7 +3873,7 @@ EOF
fi
fi
echo $ac_n "checking whether NLS is requested""... $ac_c" 1>&6
-echo "configure:3637: checking whether NLS is requested" >&5
+echo "configure:3877: checking whether NLS is requested" >&5
# Check whether --enable-nls or --disable-nls was given.
if test "${enable_nls+set}" = set; then
enableval="$enable_nls"
@@ -3653,7 +3893,7 @@ fi
EOF
echo $ac_n "checking whether included gettext is requested""... $ac_c" 1>&6
-echo "configure:3657: checking whether included gettext is requested" >&5
+echo "configure:3897: checking whether included gettext is requested" >&5
# Check whether --with-included-gettext or --without-included-gettext was given.
if test "${with_included_gettext+set}" = set; then
withval="$with_included_gettext"
@@ -3672,17 +3912,17 @@ fi
ac_safe=`echo "libintl.h" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for libintl.h""... $ac_c" 1>&6
-echo "configure:3676: checking for libintl.h" >&5
+echo "configure:3916: checking for libintl.h" >&5
if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 3681 "configure"
+#line 3921 "configure"
#include "confdefs.h"
#include <libintl.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:3686: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:3926: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out`
if test -z "$ac_err"; then
rm -rf conftest*
@@ -3699,19 +3939,19 @@ fi
if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
echo "$ac_t""yes" 1>&6
echo $ac_n "checking for gettext in libc""... $ac_c" 1>&6
-echo "configure:3703: checking for gettext in libc" >&5
+echo "configure:3943: checking for gettext in libc" >&5
if eval "test \"`echo '$''{'gt_cv_func_gettext_libc'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 3708 "configure"
+#line 3948 "configure"
#include "confdefs.h"
#include <libintl.h>
int main() {
return (int) gettext ("")
; return 0; }
EOF
-if { (eval echo configure:3715: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:3955: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
rm -rf conftest*
gt_cv_func_gettext_libc=yes
else
@@ -3727,7 +3967,7 @@ echo "$ac_t""$gt_cv_func_gettext_libc" 1>&6
if test "$gt_cv_func_gettext_libc" != "yes"; then
echo $ac_n "checking for bindtextdomain in -lintl""... $ac_c" 1>&6
-echo "configure:3731: checking for bindtextdomain in -lintl" >&5
+echo "configure:3971: checking for bindtextdomain in -lintl" >&5
ac_lib_var=`echo intl'_'bindtextdomain | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -3735,7 +3975,7 @@ else
ac_save_LIBS="$LIBS"
LIBS="-lintl $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 3739 "configure"
+#line 3979 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
@@ -3746,7 +3986,7 @@ int main() {
bindtextdomain()
; return 0; }
EOF
-if { (eval echo configure:3750: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:3990: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
@@ -3762,7 +4002,7 @@ fi
if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
echo "$ac_t""yes" 1>&6
echo $ac_n "checking for gettext in -lintl""... $ac_c" 1>&6
-echo "configure:3766: checking for gettext in -lintl" >&5
+echo "configure:4006: checking for gettext in -lintl" >&5
ac_lib_var=`echo intl'_'gettext | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -3770,7 +4010,7 @@ else
ac_save_LIBS="$LIBS"
LIBS="-lintl $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 3774 "configure"
+#line 4014 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
@@ -3781,7 +4021,7 @@ int main() {
gettext()
; return 0; }
EOF
-if { (eval echo configure:3785: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:4025: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
@@ -3818,7 +4058,7 @@ EOF
# Extract the first word of "msgfmt", so it can be a program name with args.
set dummy msgfmt; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3822: checking for $ac_word" >&5
+echo "configure:4062: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_path_MSGFMT'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -3852,12 +4092,12 @@ fi
for ac_func in dcgettext
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:3856: checking for $ac_func" >&5
+echo "configure:4096: checking for $ac_func" >&5
if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 3861 "configure"
+#line 4101 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -3880,7 +4120,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:3884: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:4124: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
rm -rf conftest*
eval "ac_cv_func_$ac_func=yes"
else
@@ -3907,7 +4147,7 @@ done
# Extract the first word of "gmsgfmt", so it can be a program name with args.
set dummy gmsgfmt; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3911: checking for $ac_word" >&5
+echo "configure:4151: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_path_GMSGFMT'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -3939,7 +4179,7 @@ fi
# Extract the first word of "xgettext", so it can be a program name with args.
set dummy xgettext; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3943: checking for $ac_word" >&5
+echo "configure:4183: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_path_XGETTEXT'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -3971,7 +4211,7 @@ else
fi
cat > conftest.$ac_ext <<EOF
-#line 3975 "configure"
+#line 4215 "configure"
#include "confdefs.h"
int main() {
@@ -3979,7 +4219,7 @@ extern int _nl_msg_cat_cntr;
return _nl_msg_cat_cntr
; return 0; }
EOF
-if { (eval echo configure:3983: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:4223: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
rm -rf conftest*
CATOBJEXT=.gmo
DATADIRNAME=share
@@ -4002,7 +4242,7 @@ fi
if test "$CATOBJEXT" = "NONE"; then
echo $ac_n "checking whether catgets can be used""... $ac_c" 1>&6
-echo "configure:4006: checking whether catgets can be used" >&5
+echo "configure:4246: checking whether catgets can be used" >&5
# Check whether --with-catgets or --without-catgets was given.
if test "${with_catgets+set}" = set; then
withval="$with_catgets"
@@ -4015,7 +4255,7 @@ fi
if test "$nls_cv_use_catgets" = "yes"; then
echo $ac_n "checking for main in -li""... $ac_c" 1>&6
-echo "configure:4019: checking for main in -li" >&5
+echo "configure:4259: checking for main in -li" >&5
ac_lib_var=`echo i'_'main | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -4023,14 +4263,14 @@ else
ac_save_LIBS="$LIBS"
LIBS="-li $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 4027 "configure"
+#line 4267 "configure"
#include "confdefs.h"
int main() {
main()
; return 0; }
EOF
-if { (eval echo configure:4034: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:4274: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
@@ -4058,12 +4298,12 @@ else
fi
echo $ac_n "checking for catgets""... $ac_c" 1>&6
-echo "configure:4062: checking for catgets" >&5
+echo "configure:4302: checking for catgets" >&5
if eval "test \"`echo '$''{'ac_cv_func_catgets'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 4067 "configure"
+#line 4307 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char catgets(); below. */
@@ -4086,7 +4326,7 @@ catgets();
; return 0; }
EOF
-if { (eval echo configure:4090: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:4330: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
rm -rf conftest*
eval "ac_cv_func_catgets=yes"
else
@@ -4108,7 +4348,7 @@ EOF
# Extract the first word of "gencat", so it can be a program name with args.
set dummy gencat; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:4112: checking for $ac_word" >&5
+echo "configure:4352: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_path_GENCAT'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -4140,7 +4380,7 @@ fi
# Extract the first word of "gmsgfmt", so it can be a program name with args.
set dummy gmsgfmt; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:4144: checking for $ac_word" >&5
+echo "configure:4384: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_path_GMSGFMT'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -4173,7 +4413,7 @@ fi
# Extract the first word of "msgfmt", so it can be a program name with args.
set dummy msgfmt; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:4177: checking for $ac_word" >&5
+echo "configure:4417: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_path_GMSGFMT'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -4208,7 +4448,7 @@ fi
# Extract the first word of "xgettext", so it can be a program name with args.
set dummy xgettext; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:4212: checking for $ac_word" >&5
+echo "configure:4452: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_path_XGETTEXT'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -4266,7 +4506,7 @@ fi
# Extract the first word of "msgfmt", so it can be a program name with args.
set dummy msgfmt; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:4270: checking for $ac_word" >&5
+echo "configure:4510: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_path_MSGFMT'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -4300,7 +4540,7 @@ fi
# Extract the first word of "gmsgfmt", so it can be a program name with args.
set dummy gmsgfmt; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:4304: checking for $ac_word" >&5
+echo "configure:4544: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_path_GMSGFMT'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -4332,7 +4572,7 @@ fi
# Extract the first word of "xgettext", so it can be a program name with args.
set dummy xgettext; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:4336: checking for $ac_word" >&5
+echo "configure:4576: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_path_XGETTEXT'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -4425,7 +4665,7 @@ fi
LINGUAS=
else
echo $ac_n "checking for catalogs to be installed""... $ac_c" 1>&6
-echo "configure:4429: checking for catalogs to be installed" >&5
+echo "configure:4669: checking for catalogs to be installed" >&5
NEW_LINGUAS=
for lang in ${LINGUAS=$ALL_LINGUAS}; do
case "$ALL_LINGUAS" in
@@ -4453,17 +4693,17 @@ echo "configure:4429: checking for catalogs to be installed" >&5
if test "$CATOBJEXT" = ".cat"; then
ac_safe=`echo "linux/version.h" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for linux/version.h""... $ac_c" 1>&6
-echo "configure:4457: checking for linux/version.h" >&5
+echo "configure:4697: checking for linux/version.h" >&5
if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 4462 "configure"
+#line 4702 "configure"
#include "confdefs.h"
#include <linux/version.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:4467: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:4707: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out`
if test -z "$ac_err"; then
rm -rf conftest*
@@ -4672,29 +4912,27 @@ s%@AUTOHEADER@%$AUTOHEADER%g
s%@MAKEINFO@%$MAKEINFO%g
s%@SET_MAKE@%$SET_MAKE%g
s%@pkglibexecdir@%$pkglibexecdir%g
+s%@AWK@%$AWK%g
+s%@CC@%$CC%g
+s%@RANLIB@%$RANLIB%g
+s%@PERL@%$PERL%g
s%@host@%$host%g
s%@host_alias@%$host_alias%g
s%@host_cpu@%$host_cpu%g
s%@host_vendor@%$host_vendor%g
s%@host_os@%$host_os%g
-s%@AWK@%$AWK%g
-s%@CC@%$CC%g
-s%@RANLIB@%$RANLIB%g
-s%@PERL@%$PERL%g
+s%@LD@%$LD%g
+s%@NM@%$NM%g
+s%@LN_S@%$LN_S%g
+s%@LIBTOOL@%$LIBTOOL%g
s%@CPP@%$CPP%g
s%@U@%$U%g
s%@ANSI2KNR@%$ANSI2KNR%g
s%@ALLOCA@%$ALLOCA%g
s%@LIBOBJS@%$LIBOBJS%g
s%@STACKOVF@%$STACKOVF%g
-s%@SHARED_LD@%$SHARED_LD%g
-s%@DASH_SHARED@%$DASH_SHARED%g
-s%@MODULE_O@%$MODULE_O%g
-s%@MODULES_DIR@%$MODULES_DIR%g
s%@DLLDFLAGS@%$DLLDFLAGS%g
-s%@SHARED_EXT@%$SHARED_EXT%g
-s%@OS_NAME@%$OS_NAME%g
-s%@GCC_FPIC@%$GCC_FPIC%g
+s%@MODULES_DIR@%$MODULES_DIR%g
s%@MODULE_PATH@%$MODULE_PATH%g
s%@USE_NLS@%$USE_NLS%g
s%@MSGFMT@%$MSGFMT%g
diff --git a/configure.in b/configure.in
index 3ce8879e..473137d9 100644
--- a/configure.in
+++ b/configure.in
@@ -8,22 +8,23 @@ AC_INIT(src/m4.c)
AM_CONFIG_HEADER(config.h)
AC_ARG_PROGRAM
-AM_INIT_AUTOMAKE(m4,1.4l)
+AM_INIT_AUTOMAKE(m4,1.4m)
ALL_LINGUAS="de fr it ja nl pl ru sv"
pkglibexecdir='${libexecdir}'/$PACKAGE
AC_SUBST(pkglibexecdir)
-AC_CANONICAL_HOST
-
AC_PROG_AWK
AC_PROG_CC
AC_PROG_INSTALL
AC_PROG_MAKE_SET
AC_PROG_RANLIB
-dnl AM_PROG_LIBTOOL
AC_PATH_PROG(PERL,perl)
+AM_ENABLE_SHARED
+AM_DISABLE_STATIC
+AM_PROG_LIBTOOL
+
AC_AIX
AC_ISC_POSIX
AC_MINIX
diff --git a/doc/Makefile.in b/doc/Makefile.in
index b269b55c..bff362c1 100644
--- a/doc/Makefile.in
+++ b/doc/Makefile.in
@@ -64,10 +64,8 @@ CATALOGS = @CATALOGS@
CATOBJEXT = @CATOBJEXT@
CC = @CC@
CPP = @CPP@
-DASH_SHARED = @DASH_SHARED@
DATADIRNAME = @DATADIRNAME@
DLLDFLAGS = @DLLDFLAGS@
-GCC_FPIC = @GCC_FPIC@
GENCAT = @GENCAT@
GMOFILES = @GMOFILES@
GMSGFMT = @GMSGFMT@
@@ -78,19 +76,19 @@ INSTOBJEXT = @INSTOBJEXT@
INTLDEPS = @INTLDEPS@
INTLLIBS = @INTLLIBS@
INTLOBJS = @INTLOBJS@
+LD = @LD@
+LIBTOOL = @LIBTOOL@
+LN_S = @LN_S@
MAKEINFO = @MAKEINFO@
MKINSTALLDIRS = @MKINSTALLDIRS@
MODULES_DIR = @MODULES_DIR@
-MODULE_O = @MODULE_O@
MODULE_PATH = @MODULE_PATH@
MSGFMT = @MSGFMT@
-OS_NAME = @OS_NAME@
+NM = @NM@
PACKAGE = @PACKAGE@
POFILES = @POFILES@
POSUB = @POSUB@
RANLIB = @RANLIB@
-SHARED_EXT = @SHARED_EXT@
-SHARED_LD = @SHARED_LD@
STACKOVF = @STACKOVF@
U = @U@
USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@
@@ -362,6 +360,7 @@ clean: clean-vti clean-aminfo clean-generic mostlyclean
distclean: distclean-vti distclean-aminfo distclean-generic clean
-rm -f config.status
+ -rm -f libtool
maintainer-clean: maintainer-clean-vti maintainer-clean-aminfo \
maintainer-clean-generic distclean
diff --git a/doc/helptoman.pl b/doc/helptoman.pl
index 91f9abd1..f0039978 100644
--- a/doc/helptoman.pl
+++ b/doc/helptoman.pl
@@ -23,7 +23,7 @@ use strict;
use Getopt::Long;
use POSIX 'strftime';
-my $RCS_Id = '$Id: helptoman.pl,v 1.1.1.1 2000/02/17 03:07:21 jbailey Exp $';
+my $RCS_Id = '$Id$';
my $this_program = 'help2man';
my $this_version = '0.0';
diff --git a/doc/m4.info b/doc/m4.info
index b50ce0bf..757f2be1 100644
--- a/doc/m4.info
+++ b/doc/m4.info
@@ -28,7 +28,7 @@ translation approved by the Foundation.
Indirect:
m4.info-1: 973
m4.info-2: 50118
-m4.info-3: 99015
+m4.info-3: 99156

Tag Table:
(Indirect)
@@ -75,43 +75,43 @@ Node: Changequote56142
Node: Changecom57506
Node: Changesyntax58792
Node: Changeword66041
-Node: M4wrap69276
-Node: File Inclusion70478
-Node: Include70794
-Node: Search Path72813
-Node: Diversions73600
-Node: Divert74837
-Node: Undivert75969
-Node: Divnum77940
-Node: Cleardiv78485
-Node: Text handling79540
-Node: Len80260
-Node: Index80658
-Node: Regexp81243
-Node: Substr82334
-Node: Translit82954
-Node: Patsubst84397
-Node: Format86488
-Node: Arithmetic88050
-Node: Incr88507
-Node: Eval89011
-Node: UNIX commands92617
-Node: Syscmd93088
-Node: Esyscmd93801
-Node: Sysval94749
-Node: Maketemp95154
-Node: Miscellaneous96212
-Node: Errprint96643
-Node: M4exit97625
-Node: Syncoutput98423
-Node: Frozen files99015
-Node: Compatibility103934
-Node: Extensions104550
-Node: Incompatibilities107020
-Node: Other Incompat107462
-Node: Experiments109627
-Node: Answers111134
-Node: Concept index111766
-Node: Macro index119187
+Node: M4wrap69417
+Node: File Inclusion70619
+Node: Include70935
+Node: Search Path72954
+Node: Diversions73741
+Node: Divert74978
+Node: Undivert76110
+Node: Divnum78081
+Node: Cleardiv78626
+Node: Text handling79681
+Node: Len80401
+Node: Index80799
+Node: Regexp81384
+Node: Substr82475
+Node: Translit83095
+Node: Patsubst84538
+Node: Format86629
+Node: Arithmetic88191
+Node: Incr88648
+Node: Eval89152
+Node: UNIX commands92758
+Node: Syscmd93229
+Node: Esyscmd93942
+Node: Sysval94890
+Node: Maketemp95295
+Node: Miscellaneous96353
+Node: Errprint96784
+Node: M4exit97766
+Node: Syncoutput98564
+Node: Frozen files99156
+Node: Compatibility104075
+Node: Extensions104691
+Node: Incompatibilities107161
+Node: Other Incompat107603
+Node: Experiments109768
+Node: Answers111275
+Node: Concept index111907
+Node: Macro index119328

End Tag Table
diff --git a/doc/m4.info-1 b/doc/m4.info-1
index 30964413..a78305cc 100644
--- a/doc/m4.info-1
+++ b/doc/m4.info-1
@@ -42,7 +42,7 @@ changes by Franc,ois Pinard and other volunteers on the Internet. All
names and email addresses can be found in the file `THANKS' from the
GNU `m4' distribution.
- This is BETA release 1.4l. This is a development release, and is as
+ This is BETA release 1.4m. This is a development release, and is as
such prone to bugs, crashes, unforeseen features, incomplete
documentation, ... therefore, use at your own peril. In case of
problems, please do not hesitate to report them (see the README file in
diff --git a/doc/m4.info-2 b/doc/m4.info-2
index 5d87818f..20449257 100644
--- a/doc/m4.info-2
+++ b/doc/m4.info-2
@@ -604,7 +604,12 @@ apply translations to a file of numbers:
changeword(`[_a-zA-Z0-9]+')
define(1, 0)
- =>1
+ =>
+ 1
+ =>0
+
+ The syntax for regular expressions is the same as in GNU Emacs.
+*Note Syntax of Regular Expressions: (emacs)Regexps.
Tightening the lexical rules is less useful, because it will
generally make some of the builtins unavailable. You could use it to
@@ -621,8 +626,8 @@ restriction on the regular expressions that may be passed to
it must also accept `f' and `fo'.
`changeword' has another function. If the regular expression
-supplied contains any bracketed subexpressions, then text outside the
-first of these is discarded before symbol lookup. So:
+supplied contains any subexpressions in parentheses, then text outside
+the first of these is discarded before symbol lookup. So:
changecom(`/*', `*/')
changeword(`#\([_a-zA-Z0-9]*\)')
diff --git a/doc/m4.texinfo b/doc/m4.texinfo
index dcc6a2da..8baedcee 100644
--- a/doc/m4.texinfo
+++ b/doc/m4.texinfo
@@ -2342,9 +2342,15 @@ apply translations to a file of numbers:
@example
changeword(`[_a-zA-Z0-9]+')
define(1, 0)
-@result{}1
+@result{}
+1
+@result{}0
@end example
+The syntax for regular expressions is the same as in GNU Emacs.
+@xref{Regexps, , Syntax of Regular Expressions, emacs, The GNU Emacs
+Manual}.
+
Tightening the lexical rules is less useful, because it will generally
make some of the builtins unavailable. You could use it to prevent
accidental call of builtins, for example:
@@ -2363,7 +2369,7 @@ is a restriction on the regular expressions that may be passed to
@samp{foo}, it must also accept @samp{f} and @samp{fo}.
@code{changeword} has another function. If the regular expression
-supplied contains any bracketed subexpressions, then text outside
+supplied contains any subexpressions in parentheses, then text outside
the first of these is discarded before symbol lookup. So:
@comment ignore
@@ -3915,9 +3921,9 @@ unproven and might go away. Do not count on it yet.
Some of the examples in this manuals are buggy. Correctly working
macros are presented here.
-The @code{cleardivert} macro (@pxref{Cleardiv}) cannot, as it stands, be called without
-arguments to clear all pending diversions. A macro that achieves that
-as well is:
+The @code{cleardivert} macro (@pxref{Cleardiv}) cannot, as it stands, be
+called without arguments to clear all pending diversions. A macro that
+achieves that as well is:
@comment ignore
@example
diff --git a/doc/stamp-vti b/doc/stamp-vti
index ad9a762f..146275f3 100644
--- a/doc/stamp-vti
+++ b/doc/stamp-vti
@@ -1,3 +1,3 @@
-@set UPDATED 14 November 1998
-@set EDITION 1.4l
-@set VERSION 1.4l
+@set UPDATED 18 November 1998
+@set EDITION 1.4m
+@set VERSION 1.4m
diff --git a/doc/version.texi b/doc/version.texi
index ad9a762f..146275f3 100644
--- a/doc/version.texi
+++ b/doc/version.texi
@@ -1,3 +1,3 @@
-@set UPDATED 14 November 1998
-@set EDITION 1.4l
-@set VERSION 1.4l
+@set UPDATED 18 November 1998
+@set EDITION 1.4m
+@set VERSION 1.4m
diff --git a/examples/Makefile.am b/examples/Makefile.am
index 6be54199..9461a431 100644
--- a/examples/Makefile.am
+++ b/examples/Makefile.am
@@ -1,4 +1,6 @@
-EXTRA_DIST = $(pkgdata_DATA) $(TESTS) defs mktests.sh
+EXTRA_DIST = $(pkgdata_DATA) $(TESTS) defs mktests.sh $(WEB_SITE)
+
+WEB_SITE = WWW/*.htm WWW/Makefile WWW/m4lib/*.m4
pkgdata_DATA = \
capitalize.m4 \
diff --git a/examples/Makefile.in b/examples/Makefile.in
index 75e40c51..e14bdb96 100644
--- a/examples/Makefile.in
+++ b/examples/Makefile.in
@@ -64,10 +64,8 @@ CATALOGS = @CATALOGS@
CATOBJEXT = @CATOBJEXT@
CC = @CC@
CPP = @CPP@
-DASH_SHARED = @DASH_SHARED@
DATADIRNAME = @DATADIRNAME@
DLLDFLAGS = @DLLDFLAGS@
-GCC_FPIC = @GCC_FPIC@
GENCAT = @GENCAT@
GMOFILES = @GMOFILES@
GMSGFMT = @GMSGFMT@
@@ -78,20 +76,20 @@ INSTOBJEXT = @INSTOBJEXT@
INTLDEPS = @INTLDEPS@
INTLLIBS = @INTLLIBS@
INTLOBJS = @INTLOBJS@
+LD = @LD@
+LIBTOOL = @LIBTOOL@
+LN_S = @LN_S@
MAKEINFO = @MAKEINFO@
MKINSTALLDIRS = @MKINSTALLDIRS@
MODULES_DIR = @MODULES_DIR@
-MODULE_O = @MODULE_O@
MODULE_PATH = @MODULE_PATH@
MSGFMT = @MSGFMT@
-OS_NAME = @OS_NAME@
+NM = @NM@
PACKAGE = @PACKAGE@
PERL = @PERL@
POFILES = @POFILES@
POSUB = @POSUB@
RANLIB = @RANLIB@
-SHARED_EXT = @SHARED_EXT@
-SHARED_LD = @SHARED_LD@
STACKOVF = @STACKOVF@
U = @U@
USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@
@@ -100,7 +98,9 @@ VERSION = @VERSION@
l = @l@
pkglibexecdir = @pkglibexecdir@
-EXTRA_DIST = $(pkgdata_DATA) $(TESTS) defs mktests.sh
+EXTRA_DIST = $(pkgdata_DATA) $(TESTS) defs mktests.sh $(WEB_SITE)
+
+WEB_SITE = WWW/*.htm WWW/Makefile WWW/m4lib/*.m4
pkgdata_DATA = \
capitalize.m4 \
@@ -202,6 +202,7 @@ distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir)
subdir = examples
distdir: $(DISTFILES)
+ $(mkinstalldirs) $(distdir)/WWW $(distdir)/WWW/m4lib
@for file in $(DISTFILES); do \
d=$(srcdir); \
test -f $(distdir)/$$file \
@@ -270,6 +271,7 @@ clean: clean-generic mostlyclean
distclean: distclean-generic clean
-rm -f config.status
+ -rm -f libtool
maintainer-clean: maintainer-clean-generic distclean
@echo "This command is intended for maintainers to use;"
diff --git a/examples/WWW/Makefile b/examples/WWW/Makefile
new file mode 100644
index 00000000..f143493e
--- /dev/null
+++ b/examples/WWW/Makefile
@@ -0,0 +1,18 @@
+M4 = m4
+M4OPTS = -Im4lib
+
+VPATH = .:m4lib
+
+all: *.htm
+
+%.htm: %.m4
+ @$(M4) $(M4OPTS) $< >new.htm && \
+ if cmp -s new.htm $@; then \
+ rm new.htm; \
+ echo "$@ has not changed"; \
+ else \
+ echo "$@ updated"; \
+ mv new.htm $@; \
+ fi
+
+*.htm: m4lib/*.m4
diff --git a/examples/WWW/changelog.htm b/examples/WWW/changelog.htm
new file mode 100644
index 00000000..56713edc
--- /dev/null
+++ b/examples/WWW/changelog.htm
@@ -0,0 +1,2248 @@
+<DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 TRANSITIONAL//EN">
+<HTML>
+<HEAD>
+<TITLE>GNU m4 - ChangeLog</TITLE>
+<META NAME="AUTHOR" CONTENT="René Seindal">
+<META NAME="GENERATOR" CONTENT="GNU m4 1.4l">
+</HEAD>
+ <BODY text="#000000" bgcolor="#FFCC99" link="#0000EF" alink="#FF0000" vlink="#51188E">
+<TABLE cellpadding=5 width="100%">
+<TR align=left valign=bottom>
+<TD align=center valign=center colspan="3" width="100%" bgcolor="#FF9900">
+
+<H1>GNU m4</H1>
+
+<H2>ChangeLog</H2>
+
+</TD>
+
+</TR>
+ <TR >
+<TD align=left valign=top width="15%" bgcolor="#FF9900">
+
+
+
+<TABLE align=left valign=top columns=1>
+<TR>
+<TD bgcolor="#CC6600">
+<P>
+<B>Generel info</B>
+</P>
+
+</TD>
+
+</TR>
+ <TR>
+<TD>
+
+<FONT size=-1><P>
+<B><A HREF="whatis.htm">What is m4</A></B>
+</P>
+</FONT>
+
+</TD>
+
+</TR>
+ <TR>
+<TD>
+
+<FONT size=-1><P>
+<B><A HREF="features.htm">Features</A></B>
+</P>
+</FONT>
+
+</TD>
+
+</TR>
+ <TR>
+<TD>
+
+<FONT size=-1><P>
+<B><A HREF="uses.htm">Uses of m4</A></B>
+</P>
+</FONT>
+
+</TD>
+
+</TR>
+ <TR>
+<TD bgcolor="#CC6600">
+<P>
+<B>Documentation</B>
+</P>
+
+</TD>
+
+</TR>
+ <TR>
+<TD>
+
+<FONT size=-1><P>
+<B><A HREF="man/m4_toc.html">Manual</A></B>
+</P>
+</FONT>
+
+</TD>
+
+</TR>
+ <TR>
+<TD bgcolor="#CC6600">
+<P>
+<B>Source files</B>
+</P>
+
+</TD>
+
+</TR>
+ <TR>
+<TD>
+
+<FONT size=-1><P>
+<B><A HREF="readme.htm">README</A></B>
+</P>
+</FONT>
+
+</TD>
+
+</TR>
+ <TR>
+<TD>
+
+<FONT size=-1><P>
+<B><A HREF="todo.htm">TODO</A></B>
+</P>
+</FONT>
+
+</TD>
+
+</TR>
+ <TR>
+<TD>
+
+<FONT size=-1><P>
+<B><A HREF="news.htm">NEWS</A></B>
+</P>
+</FONT>
+
+</TD>
+
+</TR>
+ <TR>
+<TD>
+
+<FONT size=-1><P>
+<B><A HREF="changelog.htm">ChangeLog</A></B>
+</P>
+</FONT>
+
+</TD>
+
+</TR>
+ <TR>
+<TD>
+
+<FONT size=-1><P>
+<B><A HREF="thanks.htm">Contributors</A></B>
+</P>
+</FONT>
+
+</TD>
+
+</TR>
+ <TR>
+<TD>
+
+<FONT size=-1><P>
+<B><A HREF="m4/">Browse it</A></B>
+</P>
+</FONT>
+
+</TD>
+
+</TR>
+ <TR>
+<TD bgcolor="#CC6600">
+<P>
+<B>The Future</B>
+</P>
+
+</TD>
+
+</TR>
+ <TR>
+<TD>
+
+<FONT size=-1><P>
+<B><A HREF="modules.htm">Modules</A></B>
+</P>
+</FONT>
+
+</TD>
+
+</TR>
+ <TR>
+<TD>
+
+<FONT size=-1><P>
+<B><A HREF="visions.htm">Visions</A></B>
+</P>
+</FONT>
+
+</TD>
+
+</TR>
+ <TR>
+<TD bgcolor="#CC6600">
+<P>
+<B>Development</B>
+</P>
+
+</TD>
+
+</TR>
+ <TR>
+<TD>
+
+<FONT size=-1><P>
+<B><A HREF="lists.htm">Mailing-lists</A></B>
+</P>
+</FONT>
+
+</TD>
+
+</TR>
+ <TR>
+<TD>
+
+<FONT size=-1><P>
+<B><A HREF="feedback.htm">Feedback</A></B>
+</P>
+</FONT>
+
+</TD>
+
+</TR>
+ <TR>
+<TD>
+
+<FONT size=-1><P>
+<B><A HREF="download.htm">Download</A></B>
+</P>
+</FONT>
+
+</TD>
+
+</TR>
+ <TR>
+<TD bgcolor="#CC6600">
+<P>
+<B>Examples</B>
+</P>
+
+</TD>
+
+</TR>
+ <TR>
+<TD>
+
+<FONT size=-1><P>
+<B><A HREF="thissite.htm">This site</A></B>
+</P>
+</FONT>
+
+</TD>
+
+</TR>
+
+</TABLE>
+
+
+
+
+
+</TD>
+ <TD align=left valign=top width="90%">
+
+
+<PRE>1998-11-18 Rene' Seindal &lt;rene@seindal.dk&gt;
+
+ * src/input.c (set_word_regexp): Fixed a bug, where word_regexp
+ could be changed when compiling a illegal regexp, causing later
+ use of the regexp to dump core.
+
+ * src/module.c (module_load): Changed error message to conform to
+ standards.
+
+ * src/m4.c (usage): Added message about reporting bugs.
+
+ * doc/m4.texinfo (Changeword): Corrected a wrong example.
+ (Changeword): Added note about the type of regexps used.
+
+ * ltconfig, ltmain.sh: New files from Libtool 1.2.
+
+ * configure.in: Added calls to AM_ENABLE_SHARED, AM_DISABLE_STATIC
+ and AM_PROG_LIBTOOL.
+
+ * acm4/modules.m4 (AM_WITH_MODULES): Redone completely to work
+ with libtool.
+
+ * modules/Makefile.am: Changed completely to compile modules using
+ libtool. The modules are compiled as shared libraries, and are
+ renamed when installed.
+
+ * src/m4.h, src/module.c, acm4/modules.m4, acconfig.h: Renamed
+ USE_SHL_LOAD to HAVE_SHL_LOAD
+
+ * src/builtin.c (shipout_string): Now tests for a NULL string.
+
+ * src/module.c: New level of indirection around non-portable
+ functions to load shared objects. Intended to encapsulate the non
+ portable parts better and to reduce the number of #ifdefs in the
+ code.
+
+ * Makefile.am (DIST_SUBDIRS): Instead of EXTRA_DIST for added
+ directory modules/ to the distribution.
+
+1998-11-15 Rene' Seindal &lt;rene@seindal.dk&gt;
+
+ * Prerelease 1.4l.
+
+ * modules/stdlib.c: New module `stdlib' defining some standard
+ functions: getcwd, getlogin, getpid, getppid, getuid, getpwnam,
+ getpwuid, hostname, rand, srand, getenv, setenv, unsetenv, uname.
+
+ * src/builtin.c (shipout_string): New convenience function for
+ builtins and modules.
+
+ * src/module.c (module_load): Tentative support for
+ shl_load/shl_findsym, but I cannot test it. Copied from MetaHTML.
+
+ * Makefile.am (SUBDIRS): Directory modules added if configured.
+
+ * modules/Makefile.am: Now correctly compiles and installs
+ modules in pkglibexecdir.
+
+ * src/m4.h: WITH_MODULES defined iff HAVE_DLOPEN or USE_SHL_LOAD.
+ These two are now initialised by autoconf macros.
+
+ * src/path.c (module_env_init): MODULE_PATH is always on the
+ search path.
+
+ * src/Makefile.am: Now generated pathconf.h which defined the
+ default MODULE_PATH.
+
+ * configure.in (pkglibexecdir): Added defintion of pkglibexecdir,
+ where modules are installed.
+
+ * acm4/modules.m4: Enhanced with code from MetaHTML, contributed
+ by Brian J. Fox &lt;bfox@datawave.net&gt;. This change allow modules to
+ build and install automatically, and it is prepared for other
+ interfacec than dlopen().
+
+ * src/builtin.c (predefined_tab): Added __m4_version__ for the
+ current version of GNU m4. It is a GNU extension.
+
+1998-11-14 Rene' Seindal &lt;rene@seindal.dk&gt;
+
+ * tests/Makefile.am (GENERATED_TESTS): Added new
+ generated-tests/changesy.8.test
+
+ * doc/m4.texinfo (Changesyntax): Documentation for escape
+ syntax class.
+
+ * src/macro.c (expand_token): Check for escaped macro call before
+ symbol table lookup.
+
+ * src/builtin.c (m4_changesyntax): Added `@' flag to define escape
+ characters
+
+ * src/input.c: New static variable use_macro_escape, which is TRUE
+ iff some character has code SYNTAX_ESCAPE
+ (input_init): Added initialisation of use_macro_escape.
+ (check_use_macro_escape): New function to synchronise
+ use_macro_escape with the syntax table.
+ (set_quotes): Added call to check_use_macro_escape()
+ (set_comment): Do.
+ (set_syntax): Do.
+ (next_token): Added new case for IS_ESCAPE.
+
+ * src/m4.h (SYNTAX_ESCAPE): Defined as simple syntax category.
+
+1998-10-13 René Seindal &lt;rene@seindal.dk&gt;
+
+ * Prerelease 1.4k.
+
+ * tests/Makefile.am (GENERATED_TESTS): Renamed gentest to
+ generated-tests.
+
+ * tests/Makefile.am (OTHER_TESTS, OTHER_FILES): Added manually
+ maintained tests in tests/other-tests. These currently tests for
+ 8-bit transparency, multiple precision arithmetic and sync-line
+ output. Test for stackoverflow detection does not work.
+
+ * examples/Makefile.am (TESTS): Added tests for all example files.
+
+ * examples/mktests.sh: New file. Help program for creating test
+ files.
+
+ * tests/mkconfig.sh: New file to generate tests/config.m4 and
+ tests/config.sh. This is for tests of configure selectable
+ features. Picks up all set WITH_ and ENABLE_ veriables from
+ config.h
+
+ * src/path.c (path_search): Added argument 'char **expanded_name'
+ to return the expanded name.
+
+ * src/m4.h: Added 2nd argument to declaration of path_search().
+
+ * src/m4.c (main): Added 2nd argument to path_search().
+
+ * src/freeze.c (reload_frozen_state): Do.
+
+ * src/builtin.c (m4_undivert): Do.
+ (include): Do.
+
+1998-10-11 René Seindal &lt;rene@seindal.dk&gt;
+
+ * acm4/Makefile.am (ACINCLUDES_M4): Added gmp.m4 and modules.m4
+
+ * acm4/modules.m4: New file. Defines AM_WITH_MODULES.
+
+ * acm4/gmp.m4: New file. Defines AM_WITH_GMP.
+
+ * configure.in: Introduced AM_WITH_MODULES and AM_WITH_GMP.
+
+ * AUTHORS, ChangeLog: Changed all dates to ISO 8601.
+
+ * intl/: Updated to GNU gettext 0.10.35.
+
+ * doc/m4.texinfo (Format): Documented that format is blind.
+
+ * src/builtin.c (builtin_tab): Builtin format marked as blind.
+
+1998-10-07 René Seindal &lt;rene@seindal.dk&gt;
+
+ * Prerelease 1.4j.
+
+ * tests/Makefile.am (GENERATED_TESTS): Changed .m4 extension to
+ .test, as the files are no longer just m4 input.
+
+ * tests/get-them (FILE): Changed .m4 extension to .test.
+
+ * src/m4.h (token_type): New token type TOKEN_SPACE introduced.
+ Otherwise quoted strings with leading whitespace first in a macro
+ argument would be eliminated.
+
+ * src/macro.c (expand_token): Handles new token type TOKEN_SPACE.
+ (expand_argument): Do.
+
+ * src/input.c (next_token): SPACE and NUM/OTHER characters are only
+ grouped together iff both quote and comment strings are single
+ character. Otherwise they might include a comment/quote leader.
+ (next_token): Returns new token type TOKEN_SPACE.
+
+ * src/builtin.c (push_builtin_table): New function to push a
+ builtin_table on the stack without installing its contents.
+ (find_builtin_by_name): Added call to push_builtin_table() if
+ reading frozen files. Otherwise the builtins named in the frozen
+ files could not be found.
+ (install_builtin_table): Changed to use push_builtin_table()
+
+1998-10-04 René Seindal &lt;rene@seindal.dk&gt;
+
+ * Prerelease 1.4i.
+
+ * configure.in (ALL_LINGUAS): Added Polish pl.po
+
+1998-10-03 René Seindal &lt;rene@seindal.dk&gt;
+
+ * Many files: Incorporated changes to implement dynamic modules.
+ Detailed comments in src/modules.c and modules/README
+
+ * src/module.c: New file, implements the OS dependant parts of
+ dynamic module loading.
+
+ * src/Makefile.am (m4_SOURCES): Added module.c
+
+ * src/builtin.h: New file, declares some functions from builtin.c
+ that are of use for other modules (shipout_int, numeric_arg,
+ skip_space, bad_argc), and the macros ARG() and DECLARE().
+
+ * src/builtin.c (install_builtin_table): New function. Each
+ module brings in a builtin_table, which is pushed on a stack.
+ (struct builtin_table): New struct for list of builtin_tables.
+ (m4_loadmodule): New function to implement builtin "loadmodule".
+ (shipout_int): No longer static, to be used by modules.
+ (numeric_arg): do.
+ (skip_space): do.
+ (bad_argc): do.
+ (builtin_init): changed to call install_builtin_table()
+ (find_builtin_by_name): Now searches all builtin_tables
+ (find_builtin_by_addr): do.
+
+ * src/path.c: Reorganised to allow for two search paths, one for
+ include files and one for modules.
+
+ * src/m4.h: Added declarations for new functions in module.c and
+ in path.c.
+
+ * src/m4.c (main): Added call to module_init().
+
+ * modules: New directory with a few demo modules.
+
+ * Makefile.am (EXTRA_DIST): Added modules/* since modules/ is not
+ in SUBDIRS.
+
+ * configure.in: Added modules/Makefile to AC_OUTPUT.
+
+ * configure.in: Added code to implement --with-modules. Tests for
+ &lt;dlfcn.h&gt; and -ldl.
+
+ * acconfig.h: Added WITH_MODULES
+
+1998-10-02 René Seindal &lt;rene@seindal.dk&gt;
+
+ * examples/Makefile.am (pkgdata_DATA): Removed special target for
+ check and variables TESTS. These tests are now run from the
+ tests/ directory.
+
+ * tests/Makefile.am (OTHER_TESTS): Added tests from the example/
+ directory. The files stay there but the tests are run from the
+ tests/ directory.
+
+ * tests/Makefile.am (EXTRA_DIST): Added run-test.
+
+ * tests/run-test: New file. Run a test manually
+
+ * tests/Makefile.am, tests/get_them: Moved automatically generated
+ tests (from the manual) to sub directory tests/gentest/. The
+ tests/ directory had gotten a bit messy.
+
+1998-09-06 Erick Branderhorst &lt;Erick.Branderhorst@asml.nl&gt;
+
+ * examples/{comments,ddivert,debug,iso8859,reverse,sysv-args,\
+ wrap}.test: Added a few testcases.
+
+1998-08-21 Erick Branderhorst &lt;Erick.Branderhorst@asml.nl&gt;
+
+ * Prerelease 1.4h.
+
+ * lib/Makefile.am (noinst_HEADERS): regex.h added
+
+ * configure.in (jm_WITH_REGEX, jm_PREREQ_ERROR):
+ acm4/{error,regex}.m4 (from fileutils-3.16u.tar.gz).
+
+ * acm4/Makefile.am: created providing rules to create
+ $(top_srcdir)/acinclude.m4 to be used by aclocal.
+
+ * tests/defs (LANGUAGE, LC_ALL, LANG): force them to be
+ `C'. Reported by Ulrich Drepper.
+
+ * Makefile.am (SUBDIRS): Removed checks directory
+ * configure.in (AC_OUTPUT): Removed checks/Makefile
+
+ * doc/m4.texinfo (Patsubst,example): @comment added to preserve
+ the space when m4.texinfo is edited and whitespace.el is active.
+ (Defn,example): idem.
+
+1998-08-20 Erick Branderhorst &lt;Erick.Branderhorst@asml.nl&gt;
+
+ * doc/m4.texinfo (Esyscmd): grep ../Makefile instead of
+ ../COPYING. ../Makefile is a file which is certainly present when
+ test is executed in testSubDir. One can't be sure that the COPYING
+ file is in .. or ../.. in all situations, the ../Makefile is
+ always there.
+
+ * doc/m4.texinfo (Include): adjusted expected test output
+ according to new tests, i.e. the input will always come from the
+ file `in' created by the test.
+
+ * tests/Makefile.am: Added three lines at the top to get
+ esyscmd.1.test working.
+
+ * tests/get-them: modified to generate clearer tests who will need
+ less maintenance when new test examples are created in
+ `doc/m4.texinfo'. All tests are small (nearly stand-alone, they
+ need the generic file `defs') shell scripts creating `in', `ok',
+ `out' and when apropriate `okerr' and `err' in the directory
+ `testSubDir' when executed. The compare of `ok' and `out'
+ (and of `okerr' and `err') will be the exit status of the test.
+ `out' must match `ok' (and `okerr' must match `err') for the test
+ to be succesful.
+
+ * tests/[a-b]\{1,8\}.[0-9]+.test: This namespace is reserved for
+ the tests generated by tests/get-them getting it input normally
+ from doc/m4.texinfo. The namespace tests/[a-b]+[0-9]+.test (no `.'
+ (dot) before the numeric part) is reserved for all other (hand
+ written) tests. The `+' means one or more times.
+
+1998-08-12 Erick Branderhorst &lt;Erick.Branderhorst@asml.nl&gt;
+
+ * doc/Makefile.am (EXTRA_DIST): helptoman.pl and $(MANS) to
+ supported short man page to refer to info documentation
+ * helptoman.pl: added
+ * configure.in: AC_PATH_PROG(PERL,perl)
+ * Makefile.am (SUBDIRS): doc after src
+
+ * libitized with libit 0.5 from
+ ftp://ftp.iro.umontreal.ca/pub/contrib/pinard/maintenance/libit.
+
+ * configure.in (AC_REPLACE_FUNCS): added xmalloc xstrdup
+ * lib/Makefile.am (libm4_a_SOURCES): removed automakely supported
+ replacement functions, (libm4_a_LIBADD): @LIBOBJS@
+ * configure.in (AM_WITH_REGEX), acconfig.h (WITH_REGEX): added
+ lib/rx.{c,h}: added
+ * configure.in (AC_CHECK_FUNC): getopt_long
+
+ * src/m4.c (usage): Report bugs to m4-bugs@gnu.org.
+
+ * TODO: added entry about dependencies
+
+1998-08-10 René Seindal &lt;rene@seindal.dk&gt;
+
+ * Prerelease 1.4f
+
+ * doc/m4.texinfo (Changesyntax): Added documentation for the macro
+ "changesyntax".
+
+ * src/builtin.c (m4_changesyntax): Added builtin macro
+ "changesyntax" to modify the syntax table.
+
+ * src/input.c, src/m4.h, src/macro.c: Implemented an input syntax
+ table. All categories are assigned a syntax code and tokens are
+ read according to this table.
+
+1998-08-09 René Seindal &lt;rene@seindal.dk&gt;
+
+ * src/numb.{c,h}: New files, implements multiple precision eval
+ using GNU gmp. Originally submitted by John Gerard Makecki
+ (johnm@vlibs.com), later modified. Tested with GNU gmp 2.0.2.
+
+ * doc/m4.texinfo (Eval): Added documentation for multiple
+ precision arithmetic library support.
+
+ * src/m4.{c,h}, src/eval.c, src/builtin.c, configure.in: Changes
+ to accommodate multiple precision eval.
+
+1998-08-07 René Seindal &lt;rene@seindal.dk&gt;
+
+ * src/input.c (MATCH, match_input), src/m4.h: changed definition
+ of comment and quote strings to `unsigned int' to allow eight bit
+ chars (reported by andrewb@zip.com.au (Andrew Bettison)).
+
+ * src/builtin.c, doc/m4.texinfo: Builtin `syncoutput' added by
+ patch from Mike Howard &lt;mike@clove.com&gt;
+
+1998-08-06 René Seindal &lt;rene@seindal.dk&gt;
+
+ * gettext.m4: corrected AM_WITH_NLS to handle use of installed
+ -lintl.
+
+1998-08-03 René Seindal &lt;rene@seindal.dk&gt;
+
+ * Prerelease 1.4e
+
+ * src/m4.h: Added ifdef ENABLE_NLS around include of &lt;libintl.h&gt;
+ and _ macro. M4 now builds with --disable-nls.
+
+ * src/m4.c (main): reintroduced textdomain(PACKAGE) to get gettext
+ to look for right message catalogs. Call indef'ed by ENABLE_NLS.
+
+ * configure.in (ALL_LINGUAS): Added complete list of translations:
+ de fr it ja nl ru sv.
+
+1998-05-22 Erick Branderhorst &lt;Erick.Branderhorst@asml.nl&gt;
+
+ * Prerelease 1.4d.
+
+ * src/m4.c: #include &lt;signal.h&gt; not &lt;sys/signal.h&gt;.
+
+ * src/Makefile.am: CFLAGS = -Wall @CFLAGS@.
+
+ * checks/Makefile.am: explicit list tests in CHECKS.
+
+ * configure.in, {,src,doc,lib,examples,checks}/Makefile.am,
+ src/{ansi2knr.{1,c}} doc/{m4.texinfo,mdate-sh}, missing,
+ mkinstalldirs, install-sh: Added automake (1.3) support.
+
+ * lib/{alloca.c,error.{c,h},get{date.h,opt.{c,h},opt1.c},
+ obstack.{c,h},regex.{c,h},strtol.c,xmalloc.c,xstrdup.c}:
+ Used libitize (0.4) to update.
+
+ * configure.in, ABOUT-NLS, intl/*, po/*: Added gettextize
+ (0.10.25) support. Removed LOCALE, fr.msg, m4.cod and adjusted
+ README accordingly.
+
+ * src/stackovf.c: #ifdef USE_STACKOVF ... #endif to (de-)activate
+ stack overflow functionality.
+
+1994-12-03 François Pinard &lt;pinard@iro.umontreal.ca&gt;
+
+ * Prerelease 1.4.1.
+
+ * Makefile.in (realclean-local): Delete stamp-h.in.
+
+ * configure.in, {,src,lib}/Makefile.in, src/m4.h, src/m4.c:
+ Localize, adapting from how it is done in sharutils.
+
+ * fr.tt: New file, for French.
+
+ * configure.in, {,*/}Makefile.in, acconfig.h, src/m4.c,
+ src/freeze.c: Rename PRODUCT to PACKAGE.
+
+1994-11-26 François Pinard &lt;pinard@iro.umontreal.ca&gt;
+
+ * configure.in: Check for &lt;libintl.h&gt; and &lt;locale.h&gt;.
+ * src/m4.h, src/builtin.c, src/debug.c, src/eval.c, src/macro.c,
+ src/stackovf.c: Rename _ to __P.
+ * src/m4.h: Declare _ as a macro returning its argument, or else,
+ include &lt;libintl.h&gt; and declare _ as gettext.
+ * src/m4.c: Possibly include &lt;locale.h&gt; and call setlocale.
+ * src/m4.c, src/builtin.c, src/debug.c, src/eval.c, src/freeze.c,
+ src/input.c, src/macro.c, src/output.c, src/path.c,
+ src/stackovf.c, src/symtab.c: Use _ macro over all localizable
+ strings.
+
+1994-11-07 François Pinard &lt;pinard@iro.umontreal.ca&gt;
+
+ * doc/Makefile.in (stamp-vti): Use new -r option to date.
+
+ * configure.in: Put --with-gmp in place, in prevision for John
+ Gerard's work.
+ * acconfig.h: Document WITH_GMP.
+
+1994-11-05 François Pinard &lt;pinard@iro.umontreal.ca&gt;
+
+ * Release 1.4.
+
+ * doc/Makefile.in (realclean): Also remove stamp-vti.
+ Reported by Eric Backus.
+
+1994-11-02 François Pinard &lt;pinard@iro.umontreal.ca&gt;
+
+ * src/freeze.c (produce_frozen_state): If the frozen file cannot
+ be opened, return immediately after producing the error message.
+ Reported by Andreas Schwab.
+
+ * configure.in: Check for const only after having found possible
+ ANSIfying compiler flags, this is of no use to check it before.
+ Reported by Alexander Lehmann.
+
+1994-11-01 François Pinard &lt;pinard@iro.umontreal.ca&gt;
+
+ * src/macro.c (collect_arguments): Cast obstack arguments to
+ (voidstar), so avoiding compiler warnings.
+ Reported by Joseph E. Sacco.
+
+ * src/freeze.c (produce_frozen_state): Cast printed lengths to
+ (int) so they correspond to %d format items.
+ Reported by Joseph E. Sacco.
+
+ * src/m4.c (main): Cast the argument to xfree to (voidstar).
+ * src/symtab.c (free_symbol): Idem.
+ Reported by Karl Vogel.
+
+1994-10-31 François Pinard &lt;pinard@iro.umontreal.ca&gt;
+
+ * Makefile.in (DISTFILES): Distribute BACKLOG.
+
+ * configure.in: Define PRODUCT and VERSION.
+ * acconfig.h: Document PRODUCT and VERSION.
+ * src/m4.c, src/freeze.c: Use PRODUCT and VERSION instead of the
+ constant string m4 and variable or parameter named version.
+
+1994-10-30 François Pinard &lt;pinard@iro.umontreal.ca&gt;
+
+ * src/m4.h, src/debug.c: Replace all #ifdef __STDC__ by #if
+ __STDC__. Alliant FX/2800 Concentrix 2.2 (i860-BSD4.3) compiler
+ defines __STDC__ to 0, for indicating it is *not* ANSI!
+ Reported by Kaveh R. Ghazi.
+
+ * configure.in: Added obsolescent tests for AIX and Minix.
+
+ * doc/Makefile.in (mostlyclean): Remove texclean in dependencies,
+ which texclean does not exist anymore.
+ Reported by Eric Backus, Jim Meyering, John David Anglin and
+ Joseph E. Sacco.
+
+1994-10-29 François Pinard &lt;pinard@iro.umontreal.ca&gt;
+
+ * aclocal.m4 (fp_C_PROTOTYPES): Force -D_HPUX_SOURCE with -Aa.
+ Reported by John David Anglin.
+
+ * src/ansi2knr.c: New version, sent by Peter Deutsch.
+ * aclocal.m4 (fp_C_PROTOTYPES): Substitute empty or ansi2knr for
+ ANSI2KNR, depending on the fact the compiler is ANSI or not.
+ * src/Makefile.in: Use -Ovarargs=convert on ansi2knr calls.
+ Remove the sed filter after ansi2knr for debug.c. Use $O instead
+ of $U, put underline in extensions rather than in basenames. Use
+ implicit rules, now that regularity makes this possible.
+ Have $(OBJECTS) depend on $(ANSI2KNR), so to trigger compilation
+ of ansi2knr whenever it is needed.
+ * configure.in: Adjusted for correct STACKOVF substitution.
+ * src/debug.c (trace_format): When not __STDC__, use (...) as a
+ parameter list, so ansi2knr will convert it to (va_alist) va_dcl.
+ Reported by David MacKenzie.
+
+ * Makefile.in: Remove binprefix. Use transform_name instead.
+ Reported by David MacKenzie.
+
+ * doc/Makefile.in: Create version.texi, use it, clean it.
+ Reported by Jim Meyering.
+
+1994-10-28 François Pinard &lt;pinard@iro.umontreal.ca&gt;
+
+ * Makefile.in (all, install, uninstall): Depend on Makefile.
+
+ * Makefile.in: For actions invoking $(MAKE) from within compound
+ sh statements, exit non-zero if the sub-make fails. Otherwise,
+ the top-level make may exit successfully when it should fail.
+ Reported by Jim Kingdon.
+
+ * {,/*}Makefile.in: Use && after all cd, in case they fail.
+
+ * {,*/}Makefile.in: Declare PRODUCT and VERSION macros.
+ (dist): Use PRODUCT and VERSION instead of tricks on .fname.
+ * configure.in: Substitute PRODUCT and VERSION.
+
+ * {,*/}Makefile.in (dist): Always try a hard link before a copy.
+
+1994-10-27 François Pinard &lt;pinard@iro.umontreal.ca&gt;
+
+ * Makefile.in (mostlyclean-local): Do not remove *~.
+ * */Makefile.in (mostlyclean): Idem.
+ Reported by Robert E. Brown and Richard Stallman.
+
+1994-10-09 François Pinard &lt;pinard@iro.umontreal.ca&gt;
+
+ * src/m4.h: Get rid of CONFIG_BROKETS.
+
+1994-10-02 François Pinard &lt;pinard@iro.umontreal.ca&gt;
+
+ * configure.in: Use AC_ARG_PROGRAM.
+ * aclocal.m4 (fp_C_PROTOTYPES): Substitute @kr@ by kr or empty.
+ Reported by David MacKenzie.
+
+1994-10-01 François Pinard &lt;pinard@iro.umontreal.ca&gt;
+
+ * configure.in: Do not add -O to CFLAGS for GNU C, now that
+ configure does it automatically.
+ Reported by Jim Meyering.
+
+1994-09-23 François Pinard &lt;pinard@iro.umontreal.ca&gt;
+
+ * src/stackovf.c: Declare the handler_t typedef earlier in the
+ code, use it for stackovf_handler.
+ (setup_stackovf_trap): Use RETSIGTYPE instead of void while
+ casting sigsegv_handler.
+ Reported by Robert Bernstein.
+
+ * src/m4.c (main): Initialize program_name to argv[0] without
+ basename'ing it.
+ Reported by Karl Berry.
+
+1994-09-18 François Pinard &lt;pinard@iro.umontreal.ca&gt;
+
+ * src/Makefile.in (TAGS): Include a ../lib/TAGS reference.
+ Reported by Karl Berry.
+
+1994-09-14 François Pinard &lt;pinard@iro.umontreal.ca&gt;
+
+ * lib/Makefile.in (mostlyclean): Added.
+ (TAGS): Make in $(srcdir).
+
+ * configure.in: Use `choke me' in test, like everywhere!
+
+ * {doc,examples,lib,src}/Makefile.in (check): Deleted, as
+ unreacheable and useless.
+
+ * doc/Makefile.in (texclean): Deleted, merged in mostlyclean.
+
+ * lib/Makefile.in (DISTFILES): Distribute TAGS.
+ (distclean): Do not remove TAGS.
+ (realclean): Remove it.
+ * Makefile.in: Make TAGS in lib also, not just in src.
+ Reported by Karl Berry.
+
+ * Makefile.in (distclean, realclean): Instead of recursively
+ calling $(MAKE) for the -local part, allow parallel execution of
+ -recursive and -local, only delay the removal of config.status,
+ which is repeated in both goals.
+
+1994-09-13 François Pinard &lt;pinard@iro.umontreal.ca&gt;
+
+ * Release 1.3.
+
+ * Makefile.in: Group all *clean-recursive goals in one, using sed
+ to remove `-recursive' while calling make recursively. Also, use
+ a subshell for each recursive $(MAKE).
+ Reported by Jim Meyering.
+
+ * src/m4.h (memcpy): Define with bcopy for BSD systems.
+ Reported by Kaveh R. Ghazi.
+
+ * src/Makefile.in (ansi2knr): Use $(LIBS) while linking, for SunOS
+ 4.1.3 requires -ldl to link even ansik2nr, and we need a way to
+ specify it.
+
+ * configure.in: Use date instead of touch for stamp-h.
+ * Makefile.in (stamp-h.in): Idem.
+
+ * Makefile.in (distclean, realclean): Force serial execution of
+ both goals, in case parallel makes are being used.
+ Reported by Jim Meyering.
+
+ * src/Makefile.in (DISTFILES): Distribute TAGS.
+ (distclean): Do not remove TAGS.
+ (realclean): Remove it.
+ Reported by Karl Berry.
+
+1994-09-10 François Pinard &lt;pinard@iro.umontreal.ca&gt;
+
+ * configure.in: Use fp_ to match aclocal.m4. Revert _OS_ macros
+ to old names, for following Autoconf.
+
+1994-09-08 François Pinard &lt;pinard@iro.umontreal.ca&gt;
+
+ * Makefile.in (MDEFINES): Remove INSTALL substitutions, for
+ ./install.sh will not be correctly referred to in sub-Makefiles.
+ Reported by John David Anglin.
+
+ * doc/Makefile.in (texclean): Remove *.cps and *.fns too.
+ Reported by Eric Backus.
+
+ * Makefile.in, checks/Makefile.in, doc/Makefile.in,
+ examples/Makefile.in, lib/Makefile.in, src/Makefile.in: Limit
+ config.status into remaking this directory's Makefile only.
+ * Makefile.in (stamp-h): Do not check nor touch stamp-h.
+ * configure.in (AC_OUTPUT): Touch stamp-h if CONFIG_HEADERS.
+ Reported by Jim Meyering.
+
+1994-09-06 François Pinard &lt;pinard@iro.umontreal.ca&gt;
+
+ * configure.in: Correct stack overflow detection logic, taking
+ care of systems having only incomplete implementations (like for
+ Pyramid 9820 OSx 5.0d).
+ Reported by Kaveh R. Ghazi.
+
+ * src/Makefile.in (TAGS): Remote -t from etags call.
+
+1994-09-02 François Pinard &lt;pinard@iro.umontreal.ca&gt;
+
+ * lib/Makefile.in (install): Depend on all.
+
+1994-08-31 François Pinard &lt;pinard@iro.umontreal.ca&gt;
+
+ * examples/Makefile.in (mostlyclean): Do not depend on texclean.
+ Reported by Jim Meyering and John David Anglin.
+
+ * Makefile.in (distclean-local): Delete config.log.
+ Reported by Jim Meyering.
+
+ Solidify frozen files with respect to -P:
+ * src/m4.c: Have -P set prefix_all_buitins variable instead of
+ calling a function by that name. Declare the variable.
+ * src/m4.h: Adjust declaration for prefix_all_buitins.
+ * src/builtin.c (builtin_init): Merge in functionality from
+ previous prefix_all_buitins function, while making entries in the
+ symbol table, but not modifying the builtin description itself.
+
+ * src/freeze.c (reload_frozen_state): Add a useless `break;',
+ because *many* compilers do not accept an empty `default:'.
+ Reported by Akiko Matsushita, Eric Backus, John David Anglin,
+ Joseph E. Sacco, Kaveh R. Ghazi, Tom McConnell and Ulrich Drepper.
+
+ * configure.in: Use AC_TYPE_SIGNAL.
+ * src/stackovf.c (setup_stackovf_trap): Use RETSIGTYPE.
+ Reported by Robert Bernstein.
+
+ * checks/Makefile.in (check): Modify PATH so check-them will find
+ m4 in the src directory.
+ * Makefile.in (check): Don't.
+ Reported by Akiko Matsushita and Jim Meyering.
+
+ * src/output.c (make_room_for, output_character_helper): New
+ functions, for implementing a global MAXIMUM_TOTAL_SIZE instead of
+ a per buffer MAXIMUM_BUFFER_SIZE.
+
+ * src/output.c (output_text): New function, for optimizing the
+ output of strings of characters. Use it.
+
+1994-08-30 François Pinard &lt;pinard@iro.umontreal.ca&gt;
+
+ * doc, src: New directories reorganizing the distribution.
+ * doc/Makefile.in, src/Makefile.in, examples/Makefile.in: New
+ files.
+ * Makefile.in: Adjusted.
+ * configure.in: Configure new Makefiles.
+
+ * m4.h: Declare STRING typedef. Use it for comment and quote
+ strings, adjusting all references. (This is the rudiments of a
+ beginning for the eventual withdrawal of NUL terminated strings.)
+ * output.c (shipout_text): Accept a length parameter, and use it.
+ All callers adjusted.
+
+1994-08-29 François Pinard &lt;pinard@iro.umontreal.ca&gt;
+
+ * m4.h: Include &lt;unistd.h&gt; if it exists.
+ * stackovf.c: Don't.
+
+ Clean up for current_diversion variable:
+ * output.c: Move current_diversion from builtin.c.
+ * m4.h: Declare current_diversion so builtin.c can access it.
+ * output.c (output_init, make_diversion): Initialize or update
+ current_diversion.
+ * builtin.c (builtin_init, m4_divert): Leave current_diversion
+ alone.
+
+ Remove limit on number of diversions:
+ * output.c: Replace ndiversion by diversions, declare it.
+ (output_init): Allocate only diversion 0.
+ (make_diversion): Allocate new diversions as needed.
+ * m4.h, m4.c: Remove NDIVERSIONS and ndiversion related stuff.
+ * m4.c: Still accept -N, but do nothing with it.
+ Reported by David MacKenzie.
+
+ Freeze diversions:
+ * output.c (freeze_diversions): New function.
+ * m4.h: Declare freeze_diversions.
+ * freeze.c: Document frozen file format, revise it, call
+ freeze_diversions to add diversions to frozen format, and code to
+ reload them properly.
+ * m4.c: Do not undivert automatically at end when status being
+ frozen. Do not call builtin_init when reloading frozen state.
+
+ Speed up diversion processing:
+ * output.c: Add INITIAL_BUFFER_SIZE, MAXIMUM_BUFFER_SIZE,
+ COPY_BUFFER_SIZE, in-memory diversion buffers, struct diversion
+ structure and variables, cached variables out of output_diversion,
+ reallocate_diversion_for and OUTPUT_CHARACTER.
+ (shipout_text, make_diversion, insert_diversion): Adapted to new
+ structures.
+ (insert_file): Use better buffering.
+ Reported by David MacKenzie.
+
+1994-08-28 François Pinard &lt;pinard@iro.umontreal.ca&gt;
+
+ * Makefile.in, lib/Makefile.in, checks/Makefile.in: Arrange so
+ dist works from another build directory.
+
+1994-08-27 François Pinard &lt;pinard@iro.umontreal.ca&gt;
+
+ * symtab.c (hack_all_symbols): Use hash_table_size instead of
+ constant HASHMAX, for -H option to work better.
+
+ * builtin.c (DECLARE): Simplify by using _ ().
+
+ * freeze.c: New file.
+ * Makefile.in: Compile it, distribute it.
+ * m4.c: Recognize, document and process --freeze-state (-F) and
+ --reload-state (-R) options. Pass a true flag to builtin_init
+ only if no reloading some state.
+ * builtin.c (define_builtin): Remove static specifier.
+ (find_builtin_by_name): Remove static specifier.
+ (builtin_init): Accept and obey a flag argument.
+ * m4.h: Add declarations for freeze.c, changes for builtin.c.
+
+1994-08-24 François Pinard &lt;pinard@iro.umontreal.ca&gt;
+
+ * builtin.c (dumpdef_cmp): Rewrite so the cast protect the const
+ specifier.
+
+ * configure.in: Implement --with-dmalloc.
+ * acconfig.h: Document WITH_DMALLOC.
+ * m4.h: Add code for when WITH_DMALLOC.
+
+1994-08-15 François Pinard &lt;pinard@iro.umontreal.ca&gt;
+
+ * m4.c (long_options): Use "error-output", the dash was missing.
+ Reported by Akiko Matsushita.
+
+1994-08-12 François Pinard &lt;pinard@iro.umontreal.ca&gt;
+
+ * m4.h: Include &lt;sys/types.h&gt;.
+ * builtin.c, debug.c, m4.c, output.c, stackovf.c: Don't.
+ * m4.h: Declare len_lquote and len_rquote as size_t, not int.
+ int.
+ * input.c: Declare len_lquote, len_rquote, len_bcomm and len_ecomm
+ as size_t, not int.
+ * builtin.c (dump_args): Declare len as size_t, not int.
+
+ * debug.c: Prototype the forward declaration of debug_set_file.
+
+ * builtin.c (m4_undivert): Replace div by file, for avoiding the
+ shadowing of this variable.
+ * output.c (insert_diversion): Idem.
+
+ * input.c: Delete def_rquote, def_lquote, def_bcomm and def_ecomm.
+ (input_init): Duplicate default quote and comment strings.
+ (set_quotes): Free previous quote strings in all cases. Duplicate
+ even default quote strings.
+ (set_comment): Free previous comment strings in all cases.
+ Duplicate even default comment strings.
+
+ * configure.in: Updated for Autoconf 2.0.
+ * Makefile.in (distclean-local): Also delete config.cache.
+
+ * m4.c (usage): Reorganize the --help output by topic. Include a
+ description for debugging flags.
+
+1994-07-29 François Pinard &lt;pinard@iro.umontreal.ca&gt;
+
+ * configure.in: If sigaction is available and SA_ONSTACK defined,
+ use sigaction. Otherwise, if sigvec is available and SV_ONSTACK
+ defined, use sigvec. Else don't compile stackovf.c.
+ * stackovf.c (setup_stackovf_trap): Idem.
+ Reported by Jim Avera, Karl Berry, Kaveh R. Ghazi, Matthias Rabe
+ and Simon Leinen.
+
+1994-07-21 François Pinard &lt;pinard@iro.umontreal.ca&gt;
+
+ * m4.c (usage): Replace printf par fputs.
+
+1994-07-18 François Pinard &lt;pinard@iro.umontreal.ca&gt;
+
+ * Release 1.2
+
+1994-07-17 François Pinard &lt;pinard@iro.umontreal.ca&gt;
+
+ * configure.in: Check for sigaction and sigvec. Add a new delayed
+ check for RLIMIT_STACK, combine in the checking for getrlimit.
+ All those things are not universally available.
+ * stackovf.c: Split setting up the trap handler and catching
+ signals, for better taking care of various configure outcomes.
+ * examples/stackovf.sh: Correct a typo.
+ Reported by Eric Backus, Jim Avera and Jim Meyering.
+
+1994-07-16 François Pinard &lt;pinard@iro.umontreal.ca&gt;
+
+ * ansi2knr.c: New version sent by its author, Peter Deutsch.
+
+1994-07-15 François Pinard &lt;pinard@iro.umontreal.ca&gt;
+
+ * Makefile.in: Modify so parallel make will not try making
+ lib/libm4.a twice simultaneously.
+ Reported by Jim Meyering.
+
+1994-07-14 François Pinard &lt;pinard@iro.umontreal.ca&gt;
+
+ * stackovf.c (setup_stackovf_trap): Replace "Don't" by "Do not" in
+ error message, for when no code possibility exists. Even if this
+ line is completely #ifdef'ed out, it brings a syntax error.
+ Reported by Andreas Schwab, Jim Meyering and Joseph E. Sacco.
+
+ * Makefile.in (install): Have install depend on all too, for lib
+ to be remade as needed.
+
+ * examples/stackovf.sh: Try ksh, bsh and bash for shells
+ providing ulimit, instead of using only ksh.
+ Reported by Jim Avera and Joseph E. Sacco.
+
+1994-07-12 François Pinard &lt;pinard@iro.umontreal.ca&gt;
+
+ * Makefile.in (check): Have it depend on all instead of m4. In
+ this way, a change in lib will be detected and processed.
+
+ * builtin.c (numeric_arg): Use strtol and verify the conversion,
+ instead of using sscanf which stops as soon as there is a
+ non-digit in the input. Previously, incr(1xyzzy), eval(1,2xyzzy)
+ and divert(1xyzzy) were all accepted without any warning or error
+ messages.
+ * m4.h: Declare strtol as long if not including stdlib.h.
+ * configure.in: Check for limits.h, and replace strtol if missing.
+ * lib/Makefile.in: Substitute LIBOBJS. Distribute strtol.c.
+ * lib/strtol.c: New file, from elsewhere.
+ Reported by Andreas Schwab.
+
+1994-07-07 François Pinard &lt;pinard@iro.umontreal.ca&gt;
+
+ * macro.c (expand_macro): Cast value to (boolean) prior to
+ assigning it to traced.
+ Reported by Tom McConnell.
+
+ * Makefile.in (m4): Always make all in lib first.
+ Reported by Jim Meyering.
+
+1994-07-06 Jim Avera &lt;jima@netcom.com&gt;
+
+ * stackovf.c: Isolated OS-dependent sections; Improved portability,
+ adding support for SunOS/BSD (sigvec, sigstack, and 4-parameter signal
+ handlers), and a default error message if the fault address is not
+ available (when neither siginfo.h nor BSD sigcontext are supported).
+ * configure.in: Changes for stackovf.h: Check for sigcontext,
+ sigaction, sigstack, and define rlim_t as int if necessary.
+ * acconfig.h: Added HAVE_SIGCONTEXT and rlim_t.
+ * examples/stackovf.sh: Run m4 -L99999999 to allow stack overflow.
+ * ansi2knr.c: Fix for func-ptr args; convert "..." to varargs syntax.
+
+1994-07-05 François Pinard &lt;pinard@iro.umontreal.ca&gt;
+
+ * configure.in: Use AC_SET_MAKE.
+ * Makefile.in: Use @SET_MAKE@.
+ Reported by Jim Meyering.
+
+ * checks/check-them: Do not trap on SIGQUIT or SIGALRM.
+ Reported by Ian Taylor.
+
+1994-07-02 François Pinard &lt;pinard@iro.umontreal.ca&gt;
+
+ * configure.in: Remove dependency of USE_STACKOVF on STDC_HEADERS,
+ because siginfo.h is unrelated to standard headers, and siginfo.h
+ is already checked for.
+ Reported by Joseph E. Sacco.
+
+ * acconfig.h, aclocal.m4, m4.h: Replace HAVE_PROTOTYPES by
+ PROTOTYPES.
+ * aclocal.m4, configure.in: Replace AC_HAVE_PROTOTYPES by
+ AC_PROTOTYPES.
+
+1994-06-29 François Pinard &lt;pinard@iro.umontreal.ca&gt;
+
+ * builtin.c (substitute): Use \& to represent this part of the
+ string which was matched by the whole regexp, instead of
+ representing the whole string. Any usage of \0 issues a warning
+ and acts like \&, it will disappear in some subsequent release.
+
+1994-06-27 François Pinard &lt;pinard@iro.umontreal.ca&gt;
+
+ * m4.c: Complete prototype for forwarded declaration of usage.
+
+ * input.c (init_macro_token): Correct own reference in error
+ message. Previous name get_macro_func was referred to instead.
+ (next_char): Correct own reference in error message. Previous
+ name advance_input was referred to instead.
+
+ * m4.h: Declare eval_t and unsigned_eval_t typedefs to 32 bits.
+ * eval.c (logical_or_term, logical_and_term, or_term, xor_term,
+ and_term, not_term, logical_not_term, cmp_term, shift_term,
+ add_term, mult_term, exp_term, unary_term, simple_term): Add
+ prototype to forwarded declarations. Declare parameter v1 as
+ eval_t * instead of int *. Same for local variable v2 in dyadic
+ functions. Same for result in exp_term.
+ * builtin.c (m4_eval): Declare value as eval_t instead of int.
+ (ntoa): Declare value as eval_t instead of int. Declare uvalue as
+ unsigned_eval_t instead of unsigned int. Change casts accordingly.
+ (shipout_int): Cast first argument of ntoa to eval_t.
+ Reported by Thorsten Ohl.
+
+ * macro.c: Complete the prototypes of forwarded expand_macro and
+ expand_token.
+ Reported by Thorsten Ohl.
+
+ * m4.h: Define voidstar as void * or char * depending on __STDC__.
+ The Ultrix 3.1 compiler cannot do much with void pointers.
+
+ * builtin.c (dumpdef_cmp): Replace void * by voidstar.
+ * m4.c (xfree): Replace void * by voidstar.
+ Reported by Tom McConnell.
+
+ * ansi2knr.1: New, from elsewhere.
+ * Makefile.in (DISTFILES): Distribute ansi2knr.1
+
+ * Makefile.in (stamp-h.in): Avoid running ./config.status if
+ stamp-h does not exist yet. This avoids running it a second time
+ just after the initial ./configure.
+ Reported by David MacKenzie and Tom McConnell.
+
+ * m4.h: Replace the enum debug_info declaration with a series of
+ #define's. The Ultrix 3.1 compiler would otherwise need casting
+ (int) to most references, when used in expressions.
+ Reported by Tom McConnell.
+
+1994-06-25 François Pinard &lt;pinard@iro.umontreal.ca&gt;
+
+ * aclocal.m4: Replace FP_PROTOTYPES by AC_HAVE_PROTOTYPES,
+ following an idea from Brook G. Milligan. AC_HAVE_PROTOTYPES
+ calls the compiler. Previously, FP_PROTOTYPES was only calling
+ the preprocessor; by not being subject to CFLAGS, this was
+ discouraging those flags asking for ANSI compilation.
+ * acconfig.h: Document HAVE_PROTOTYPES.
+ * configure.in: Use AC_HAVE_PROTOTYPES instead of FP_PROTOTYPES.
+ * m4.h: Define _() according to HAVE_PROTOTYPES, not __STDC__.
+ Reported by Eric Backus.
+
+ * configure.in: Substitute CFLAGS and LDFLAGS, taking their value
+ from the environment. Default CFLAGS to -g if not set.
+ * Makefile.in: Have CFLAGS and LDFLAGS substituted from configure.
+ * lib/Makefile.in: Have CFLAGS substituted from configure.
+ Reported by Eric Backus and Tom McConnell.
+
+ * configure.in: m4_undefine changeword before using AC_ENABLE.
+
+ * m4.h: Declare prototypes for error (for ANSI compilers only),
+ prefix_all_builtins and reference_error.
+ Reported by Tom McConnell.
+
+ * input.c (set_word_regexp): Do not try to initialize the array
+ test from a string, this does not work with non-ANSI compilers.
+ Reported by Eric Backus.
+
+ * Makefile.in (dist): Clean examples/ before saving it.
+ (distclean-local): Also remove stamp-h.
+ Reported by Eric Backus.
+
+ * Makefile.in (_stackovf.c): Goal for compiling stacokovf.c with
+ non ANSI compilers.
+ Reported by Tom McConnell.
+
+ * checks/Makefile.in (clean): Depends on mostlyclean.
+ (mostlyclean): New goal.
+
+1994-06-24 François Pinard &lt;pinard@iro.umontreal.ca&gt;
+
+ * Makefile.in (DISTFILES): Distribute install.sh.
+ * install.sh: New file, copied from elsewhere.
+ Reported by Assar Westerlund and Kaveh R. Ghazi.
+
+1994-06-23 François Pinard &lt;pinard@iro.umontreal.ca&gt;
+
+ * configure.in: Define ENABLE_CHANGEWORD if --enable-changeword.
+ * acconfig.h: Explain ENABLE_CHANGEWORD.
+
+ [These modifs all depend upon ENABLE_CHANGEWORD and are adapted
+ from code provided by Pete Chown]
+ * m4.h: Add original_text field to u_t variant of union u.
+ Declare TOKEN_DATA_FUNC macro.
+ * builtin.c: Declare changeword.
+ (m4_changeword): New function.
+ * input.c: Include "regex.h", define variables with word regexps.
+ (input_init): Initialize the word regexp.
+ (set_word_regexp): New.
+ (next_token): Declare local variables, use the previous code if
+ default_word_regexp is true. Else, match using a new code. Save
+ the original text.
+ * macro.c (expand_token): Ship out original text if not a macro
+ name.
+ Reported by Krste Asanovic and Pete Chown.
+
+ [These modifs all depend upon ENABLE_CHANGEWORD]
+ * m4.h: Declare external user_word_regexp.
+ * m4.c: Declare user_word_regexp, and initialize it from
+ --word-regexp or -W, or NULL if not specified.
+ * input.c: Use user_word_regexp if specified, instead of
+ DEFAULT_WORD_REGEXP.
+
+ * Makefile.in (m4): Revert Jan 3 1994 change. I'm unable to
+ agree with it.
+
+ * Makefile.in, lib/Makefile.in: Limit suffixes to .c and .o.
+ * checks/Makefile.in: Empty the suffix list.
+ Reported by Geoff Russell, Joel Sherrill and Roland McGrath.
+
+ * m4.c: Declare nesting_limit and initialize it to 250.
+ Implement -LNUMBER or --nesting-limit=NUMBER to change its
+ value.
+ * m4.h: Declare nesting_limit as external.
+ * macro.c (expand_macro): Stop execution whenever nesting limit
+ is exceeded.
+ Reported by Bengt Mertensson.
+
+ * eval.c (evaluate): Diagnose excess characters in eval input.
+ Things like `eval(08)' used to return 0 with no diagnostic.
+
+ * m4.h: Capitalize first letter of all macro arguments in
+ definitions.
+
+ * m4.c: Declare warning_status, initialize it to 0. Add new
+ option -E, or --fatal-warnings, which sets warning_status to
+ EXIT_FAILURE instead.
+ * m4.h: Declare external warning_status. Define EXIT_SUCCESS and
+ EXIT_FAILURE if not otherwise done by header files.
+ * m4.c: Delete declarations for EXIT_SUCCESS and EXIT_FAILURE.
+ * m4.c, input.c, output.c, symtab.c, builtin.c, macro.c, debug.c,
+ eval.c: Replace 0 by warning_status and 1 by EXIT_FAILURE in first
+ argument of all M4ERROR calls.
+ Reported by Noah Friedman.
+
+ * examples/incl-test.m4: Renamed from incl_test.m4.
+ * examples/include.m4: Include incl-test.m4 instead of
+ incl_test.m4.
+ * examples/multiquotes.m4: Renamed from multi-quotes.m.
+
+1994-06-22 François Pinard &lt;pinard@iro.umontreal.ca&gt;
+
+ * configure.in: Avoid USE_STACKOVF if &lt;siginfo.h&gt; not found. Note
+ that Jim developped stackovf.c on a 486 running SVR4.0 (ESIX), and
+ also tested it on a Sun Sparc workstation running SunOS 4.x.
+
+ * format.c (format): When not HAVE_EFGCVT, m4 was failing the
+ 49.format check, abusing a `union values' argument with sprintf
+ without selecting the proper field. Now, save the formatting type
+ first, delaying the fetch of the corresponding argument.
+ Reported by Joseph E. Sacco and Tom Quinn.
+
+ * format.c (format): Remove const from char *fmt declaration when
+ not HAVE_EFGCVT, because a NUL may be forced into it.
+
+ * m4.h: Declare atof() when not STDC_HEADERS.
+ Reported by Joseph E. Sacco.
+
+ * Regenerate configure using Autoconf 1.11, this corrects a
+ problem about an incorrect cpp seting on NeXT 3.1.
+ Reported by Alexander Lehmann.
+
+1994-06-05 François Pinard &lt;pinard@iro.umontreal.ca&gt;
+
+ * m4.h (_): Change argument from `x' to `Args'.
+
+1994-04-22 François Pinard &lt;pinard@iro.umontreal.ca&gt;
+
+ * m4.h: Rename Args() to _().
+ * m4.h: Remove extern specifier from all function declarations.
+
+1994-04-22 Jim Avera &lt;jima@netcom.com&gt;
+
+ * stackovf.c: New file implementing stack-overflow detection.
+ * configure.in: Check for getrlimit, sigaction. If all of
+ standard headers, getrlimit and sigaction, define USE_STACKOVF and
+ substitute ${U}stackovf.o for STACKOVF.
+ * acconfig.h: Declare USE_STACKOVF.
+ * Makefile.in: Distribute stackovf.c, link with $(STACKOVF).
+ * m4.h: Declare setup_stackovf_trap().
+ * m4.c: Call setup_stackovf_trap().
+ * tests/stackovf_test.sh: New file.
+
+1994-04-13 François Pinard &lt;pinard@iro.umontreal.ca&gt;
+
+ * checks/Makefile.in: Rename .all-stamp to stamp-checks.
+
+ * Makefile.in (Makefile, etc.): Adapt for Autoconf 1.8.
+
+1994-01-30 &lt;pinard@iro.umontreal.ca&gt;
+
+ * m4.h: Remove definition of volatile, not used anymore.
+ Reported by Jim Meyering and Joseph E. Sacco.
+
+ * m4.h: Consistently use `do { ... } while (0)' in macros, instead
+ of `if ... else /* nothing */' for if macros.
+ Reported by Jim Meyering.
+
+ * builtin.c (m4_regexp): Reorganize the code for avoiding a
+ warning from gcc about `repl' possibly used before defined.
+ Reported by Jim Meyering.
+
+ * m4.h: Avoid a pre-ANSI &lt;memory.h&gt; together with &lt;string.h&gt;.
+ Reported by Jim Meyering.
+
+1994-01-25 François Pinard &lt;pinard@iro.umontreal.ca&gt;
+
+ * m4.h: Move the conditional definition of volatile after the
+ inclusion of system files, because they may define it first.
+
+1994-01-04 François Pinard &lt;pinard@iro.umontreal.ca&gt;
+
+ * checks/Makefile.in (CHECKS): Add a useless `*' before `[', to
+ get around a problem with Alpha make seeing a syntax error, there.
+ Reported by Vern Paxson.
+
+1994-01-03 François Pinard &lt;pinard@iro.umontreal.ca&gt;
+
+ * Makefile.in: Do not define LDFLAGS, use CFLAGS on link calls.
+ Reported by Richard Stallman.
+
+1993-12-25 François Pinard &lt;pinard@iro.umontreal.ca&gt;
+
+ * configure.in: Correct test for strerror, AC_FUNC_CHECK was used
+ instead of AC_HAVE_FUNCS.
+ Reported by Noah Friedman.
+
+1993-12-01 François Pinard &lt;pinard@iro.umontreal.ca&gt;
+
+ * m4.c: Initialize show_help and show_version to zero.
+
+ * m4.c: Ensure EXIT_SUCCESS and EXIT_FAILURE are defined.
+ Use them in exit() and usage() calls.
+
+1993-11-27 François Pinard &lt;pinard@iro.umontreal.ca&gt;
+
+ * m4.h: Delete extern sys_nerr, sys_errlist declarations, and
+ syserr() macro. Delete errref, add reference_error and M4ERROR.
+ * m4.c: Replace errref, which was returning an input reference
+ string, with reference_error, which prints it on standard error.
+ * builtin.c, output.c: Use errno as second parameter to error,
+ instead of using syserr() with %s.
+ * *.c: Use M4ERROR instead of error: no more errref() with %s.
+ Doing so, the program name appears after the input reference
+ instead of before, which eases M-x next-error processing.
+
+1993-11-24 François Pinard &lt;pinard@iro.umontreal.ca&gt;
+
+ * checks/get-them: Escape braces with backslashes in patterns,
+ because HPUX-9.01 awk needs this.
+ Reported by Jim Meyering.
+
+1993-11-22 François Pinard &lt;pinard@iro.umontreal.ca&gt;
+
+ * builtin.c: Declare "FILE *popen ();".
+
+ * m4.h: Remove MESSAGE{,1,2}, WARNING1, FATAL{,1}, INTERNAL_ERROR
+ macros, replace error_message_prefix() declaration by errref()'s.
+ Declare xrealloc, for use in errref().
+ * m4.c: Delete error_message_prefix() function, add errref().
+ * *.c: Use error() systematically in place of all error macros,
+ now that error() flushes stdout first. Make needed adjustments.
+
+ * m4.h: Remove const in sys_errlist[] declaration, it creates
+ conflicts on SGI and Alpha.
+ Reported by Kaveh R. Ghazi.
+
+1993-11-20 François Pinard &lt;pinard@iro.umontreal.ca&gt;
+
+ * m4.c: Include &lt;getopt.h&gt; instead of "getopt.h".
+
+ * configure.in: Output to config.h. Use HAVE_FUNCS preferably.
+ * acconfig.h: New, for documenting HAVE_EFGCVT.
+ * Makefile.in: Distribute acconfig.h, .stamp-h.in and config.h.in,
+ use them wherever appropriate. Also use -I. for compilations.
+ * lib/Makefile.in: Use -I.. for compilations.
+ * *.c: Include &lt;config.h&gt; or "config.h".
+
+ * m4.h: Test for HAVE_MEMORY_H instead of NEED_MEMORY_H.
+ * configure.in: Use AC_HAVE_HEADERS(memory.h), delete AC_MEMORY_H.
+
+1993-11-17 François Pinard &lt;pinard@iro.umontreal.ca&gt;
+
+ * builtin.c (m4_eval): Cast strlen to (int) before comparing.
+
+ * input.c (input_init): Initialize quote and comment strings
+ explicitely instead of calling set_quotes and set_comment: by
+ doing so, we ensure we do not free uninitialized variables.
+
+ * checks/check-them: Reverse arguments to both diff, so the
+ expected is on the left and the obtained on the right.
+
+ * m4.h: Add MESSAGE{,1,2}, WARNING1, FATAL{,1} and INTERNAL_ERROR
+ macros. Delete declarations for m4error, warning, fatal and
+ internal_error, add declaration for error_message_prefix.
+ * m4.c: Delete m4error, warning, fatal and internal_error
+ routines, add error_message_prefix routine.
+ * *.c: Replace m4error routine calls with MESSAGE* macro calls,
+ warning with WARNING*, fatal with FATAL* and internal_error with
+ INTERNAL_ERROR*.
+ * Makefile.in (_m4.c): Do not adjust ansi2knr output for va_alist,
+ this is not needed anymore.
+
+ * m4.h: Declare extern FILE *debug. Add DEBUG_PRINT{1,3} and
+ DEBUG_MESSAGE{,1,2} macros. Delete declarations for debug_print
+ and debug_message, add declaration for debug_message_prefix.
+ * debug.c: Remove static specifier for FILE *debug declaration.
+ Delete debug_print and debug_message routines, add
+ debug_message_prefix routine.
+ * builtin.c, debug.c: Replace debug_print routine calls with
+ DEBUG_PRINT* macro calls.
+ * input.c, path.c: Replace debug_message routine calls with
+ DEBUG_MESSAGE* macro calls.
+
+ * m4.h: Remove inclusion of &lt;varargs.h&gt;.
+ * debug.c: Include &lt;stdarg.h&gt; or &lt;varargs.h&gt;.
+ (trace_format): Use stdarg instead of varargs if __STDC__.
+
+ * configure.in: Remove checks for vfprintf and _doprnt. These
+ implementations use varargs tricks which are not portable enough.
+ * lib/vfprintf.c: Deleted.
+ * lib/_doprnt.c: Deleted.
+ * lib/Makefile.in: Adjusted accordingly. Remove LIBOBJS.
+ Reported by Joel Sherrill.
+
+ * path.c (add_include_directory): Use xstrdup.
+
+ * builtin.c (find_builtin_by_name): Declare static.
+
+ * *.[ch]: Add const to a few "char *" declarations.
+
+ * configure.in: Remove commented tests for fileno() and fstat().
+ * debug.c: Remove comments about HAVE_FILENO and HAVE_FSTAT.
+
+ * debug.c (debug_flush_files): New.
+ * m4.h: Declares it.
+ * builtin.c (m4_syscmd, m4_esyscmd): Use it.
+ Reported by Nicolas Pioch.
+
+1993-11-12 François Pinard &lt;pinard@iro.umontreal.ca&gt;
+
+ * Makefile.in (m4.dvi): Use m4.texinfo instead of m4.texi.
+ Reported by Joel Sherrill.
+
+ * builtin.c (prefix_all_builtins): Instead of the table size, use
+ the null entry at end for stopping the loop. It was overwritten.
+ Reported by Andreas Schwab and Jim Meyering.
+
+ * builtin.c (prefix_all_builtins): Cast xmalloc to (char *).
+ Reported by Kaveh R. Ghazi.
+
+ * macro.c (call_macro): Add * in (*SYMBOL_FUNC (sym)) (...).
+ Reported by Karl Vogel.
+
+1993-11-09 François Pinard &lt;pinard@iro.umontreal.ca&gt;
+
+ * m4.h: Do not define volatile if already defined.
+ Reported by René Seindal.
+
+ * lib/Makefile.in: Add a forgotten ALLOCA=@ALLOCA@. Grrr!
+
+ Reported by Bernhard Daeubler, Eric Backus, Hal Peterson, Hoang
+ Uong, Ian Taylor, Kaveh R. Ghazi, Tom McConnell and Walter Wong.
+
+1993-11-08 François Pinard &lt;pinard@iro.umontreal.ca&gt;
+
+ * m4.h: Define strchr and strrchr in terms of index and rindex,
+ instead of the other way around.
+ * builtin.c, m4.c, path.c: Use strchr instead of index.
+
+ * input.c (next_char): Remove a "break;" after a "return ...;".
+ Reported by Tom McConnell.
+
+1993-11-08 François Pinard &lt;pinard@iro.umontreal.ca&gt;
+
+ * Release 1.1
+
+ * configure.in: Do not copy check files in the build hierarchy.
+ * checks/check-them: Identify the m4 version being checked. For
+ finding m4, look in $PATH instead of in the parent directory.
+ * Makefile.in (check): Prepend `pwd` to $PATH before checking.
+ * checks/Makefile.in (.all-stamp): Always create check files in
+ the source hierarchy, not anymore in the build hierarchy.
+ (check): cd to the source hierarchy before performing checks.
+ Do not copy nor clean COPYING anymore, take it from `..'.
+ Reported by Tom McConnell.
+
+ * Makefile.in (Makefile): Use $(SHELL).
+ (config.status): Use $(SHELL). Use "config.status --recheck"
+ instead of "configure --no-create", which is obsolete.
+ Reported by Tom McConnell.
+
+1993-11-05 François Pinard &lt;pinard@iro.umontreal.ca&gt;
+
+ * m4.c (usage): Use "%s" instead of "m4" in format string.
+ Reported by Jim Meyering.
+
+ * Makefile.in: Distribute mkinstalldirs.
+ Reported by Pierre Gaumond.
+ Reported by Jim Meyering.
+ Reported by Tom McConnell.
+ Reported by Andreas Gustafsson.
+
+ * checks/check-them: Renamed from checks/check_them.
+ * checks/get-them: Renamed from checks/get_them.
+ * checks/.all-stamp: Renamed from checks/.all_stamp.
+ * checks/Makefile.in: Changed accordingly.
+ Reported by Jim Meyering.
+
+1993-11-04 François Pinard &lt;pinard@iro.umontreal.ca&gt;
+
+ * lib/Makefile.in (dist): Correct permissions on files.
+
+ * output.c: Declare tmpfile, some systems don't.
+
+1993-11-03 François Pinard &lt;pinard@iro.umontreal.ca&gt;
+
+ * checks/Makefile.in (dist): Correct permissions on files.
+
+ * Makefile.in (dist): Ensure recursive linking for subdirectory
+ `examples', also set read/write permissions on all its files.
+
+ * mkinstalldirs: New, from elsewhere.
+ * Makefile.in: Use it.
+
+ * debug.c: Synchronize debug messages and regular output when
+ the debug file and stdout are redirected to the same file.
+ * configure.in: Add (commented) checks for fileno and fstat.
+ Reported by Jim Avera.
+
+ * builtin.c (m4_ifelse): Diagnose excess arguments if 5, 8, 11,
+ etc., arguments, then ignore the superfluous one. m4 used to
+ diagnose missing arguments and return the empty string.
+ Reported by Nick S. Kanakakorn.
+
+1993-11-02 François Pinard &lt;pinard@iro.umontreal.ca&gt;
+
+ * m4.c (main): At end of all input, ensure all undiverted text
+ goes to the main output stream.
+ Reported by Andreas Gustafsson.
+
+ * m4.c (main): exit (0), instead of return 0.
+
+ * m4.c: Implement -P and --prefix-builtins.
+ * builtin.c: Delete const specifier on builtin_tab.
+ (prefix_all_builtins): New.
+ Reported by Noah Friedman.
+ Reported by Scott Bartram.
+
+ * c-boxes.el: New, from elsewhere.
+ * Makefile.in: Distribute it.
+
+ * m4.h: Do not define bcopy if &lt;string.h&gt; defines it.
+ Reported by Stephen Perkins.
+
+ * builtin.c (define_macro): Allow a missing second argument, in
+ which case it is implied empty. Affects define and pushdef.
+ Reported by Eric Allman.
+
+1993-11-01 François Pinard &lt;pinard@iro.umontreal.ca&gt;
+
+ * m4.h: Add blind_if_no_args in struct builtin, blind_no_args in
+ struct symbol adn SYMBOL_BLIND_NO_ARGS macro.
+ * builtin.c: Initialize all the blindness fields in builtin_tab.
+ (define_builtin): Copy the blindness of a builtin into its symbol.
+ * macro.c (expand_token): Avoid processing a blind builtin if the
+ next character is not an opening parenthesis.
+ Reported by David MacKenzie.
+ Reported by Noah Friedman.
+
+ * configure.in: Ensure an exit status of 0 on completion.
+ Reported by Vivek P. Singhal.
+
+ * eval.c (eval_lex): Admit both lower and upper case letters for
+ bases greater than 10. Only lower case letters were accepted.
+
+ * eval.c (eval_lex): Recognize 0bDIGITS and 0rRADIX:DIGITS syntax.
+ Reported by Krste Asanovic.
+
+ * eval.c: Rename NOT to LNOT. Add XOR, NOT, LSHIFT and RSHIFT.
+ * eval.c (logical_not_term): New name for not_term.
+ * eval.c (xor_term): New, between or_term and and_term.
+ * eval.c (not_term): New, between and_term and logical_not_term.
+ * eval.c (shift_term): New, between cmp_term and add_term.
+ Reported by Krste Asanovic: ~, ^, &lt;&lt;, &gt;&gt;.
+ Reported by Ben A. Mesander: ** vs ^.
+
+ * m4.c: Delete xmalloc.c, xrealloc.c, xstrdup.c.
+ * m4.h: Delete xrealloc.c.
+ * lib/xmalloc.c: New, from elsewhere.
+ * lib/xstrdup.c: New, from elsewhere.
+ * lib/Makefile.in: Distribute and compile them.
+
+ * m4.c: Change progname to program_name.
+ * builtin.c, eval.c, m4.c, m4.h: Rename error to m4error.
+ * lib/error.c: New, from elsewhere.
+ * lib/Makefile.in: Distribute and compile error.c.
+ * configure.in: Check AC_VPRINTF and for strerror.
+ * m4.c: Delete cmd_error. Use error instead.
+ * m4.c: Change label capitalisation to "ERROR", "Warning", etc.
+
+ * m4.h: Delete #define const, let Autoconf takes care of this.
+
+ * m4.c: Remove all code conditionalized by IMPLEMENT_M4OPTS.
+ Merge parse_args into main. Declare argv to be `char *const *',
+ then remove superfluous casts.
+
+ * m4.c: Rename --no-gnu-extensions to --traditional.
+ Reported by Ben A. Mesander.
+
+ * m4.c (usage): Add a status parameter. Supply one in various
+ calls. Add --help processing. Remove -V for --version.
+
+ * lib/Makefile.in: Put $(CFLAGS) last in .c.o rule.
+
+ * lib/Makefile.in: Have an AR=ar declaration.
+ Reported by Eric Backus.
+ Reported by Bjorn R. Bjornsson.
+ Reported by Tom Tromey.
+ Reported by Kristine Lund.
+ Reported by Marion Hakanson.
+
+1993-10-30 François Pinard &lt;pinard@iro.umontreal.ca&gt;
+
+ * Makefile.in (m4.info): Use -I$(srcdir) on $(MAKEINFO).
+ Reported by Noah Friedman.
+
+1993-10-25 François Pinard &lt;pinard@iro.umontreal.ca&gt;
+
+ * Makefile.in: Remove MDEFINES and cleanup.
+
+1993-06-09 François Pinard &lt;pinard@iro.umontreal.ca&gt;
+
+ * Makefile.in (dist): Replace "echo `pwd`" by a mere "pwd".
+ Create a gzip file.
+
+1993-02-06 François Pinard &lt;pinard@iro.umontreal.ca&gt;
+
+ * Makefile.in, lib/Makefile.in, check/Makefile.in: In dist goals,
+ ensure 777 mode for directories, so older tar's will restore file
+ modes properly.
+
+1993-01-17 François Pinard &lt;pinard@iro.umontreal.ca&gt;
+
+ * Makefile.in, lib/Makefile.in: Put $(CFLAGS) after $(CPPFLAGS),
+ so the installer can override automatically configured choices.
+ Reported by Karl Berry.
+
+1993-01-15 François Pinard &lt;pinard@iro.umontreal.ca&gt;
+
+ * lib/vfprintf.c: Stolen from Oleo distribution and adapted. The
+ previous version was not working properly on m68k-hp-bsd4.3.
+ Reported by Roland McGrath.
+
+ * lib/_doprnt.c: Stolen from Oleo distribution.
+ * configure.in: Check for _doprnt.c if vfprintf.c selected.
+ * lib/Makefile.in: Distribute _doprnt.c.
+ Do not distribute regex.[ch].old anymore.
+
+1993-01-01 François Pinard &lt;pinard@iro.umontreal.ca&gt;
+
+ * Makefile.in, lib/Makefile.in: Reinstate $(CPPFLAGS), use it.
+ Richard wants it there.
+
+1992-12-27 François Pinard &lt;pinard@iro.umontreal.ca&gt;
+
+ * Makefile.in: Add DEFS to MDEFINES.
+ * lib/Makefile.in (.c.o): Remove $(CPPFLAGS).
+ (libm4.a): Remove the library before creating it.
+ (distclean): Remove tags and TAGS too.
+
+1992-12-23 François Pinard &lt;pinard@iro.umontreal.ca&gt;
+
+ * Makefile.in (dvi, m4.dvi): New goals.
+
+ * builtin.c, eval.c, format.c, input.c, m4.[ch], m4.texinfo,
+ macro.c, output.c, path.c, symtab.c: Change Copyright from
+ 1989-1992 to the explicit enumeration 1989, 1990, 1991, 1992.
+
+ * examples/divert.m4: Deleted, this bug has been corrected.
+
+ * Makefile.in (texclean, mostlyclean): New goals.
+
+ * Makefile.in (clean): Remove clutter from ansi2knr.
+ Reported by Pierre Gaumond.
+
+1992-12-20 François Pinard &lt;pinard@iro.umontreal.ca&gt;
+
+ * Makefile.in: Remove $(CPPFLAGS) from the .c.o rule. The user
+ might well use CFLAGS is s/he needs it.
+
+ * Makefile.in: Allow installation of info files from a separate
+ build directory.
+ Reported by Jason Merrill.
+ Reported by David MacKenzie.
+ Reported by Skip Montanaro.
+ Reported by Erez Zadok.
+ Reported by Assar Westerlund.
+
+1992-12-19 François Pinard &lt;pinard@iro.umontreal.ca&gt;
+
+ * Release 1.0.3
+ This is still a beta release for the future GNU m4 version 1.1.
+
+ * lib/alloca.c: New, from elsewhere.
+ * lib/Makefile.in: Distribute it. Define and use $(ALLOCA).
+
+ * m4.h: Do not define index/rindex if already defined. If
+ FALSE/TRUE are already defined, do not redefine them, but merely
+ define boolean typedef to int.
+
+ * Makefile.in: Use $(DEFS) while compiling ansi2knr.
+ * ansi2knr.c: Rewrite #ifdef HAVE_STRING_H || STDC_HEADERS,
+ because some C compilers do not like connectives with #ifdef.
+ * m4.h: Define `volatile' only if __GNUC__, instead of once for
+ __GNUC__ and once for __STDC__.
+ * lib/regex.h: Leave const alone, AC_CONST will take care of it.
+
+ * checks/Makefile.in: Use .all_stamp instead of $(CHECKS) for
+ Makefile dependencies. Without it, make keeps destroying and
+ remaking $(CHECKS) in a loop (why?). Distribute .all_stamp.
+
+ * m4.h, m4.c, builtin.c, output.c: Change all divertion/DIVERTION
+ to diversion/DIVERSION, this was a spelling error.
+
+ * m4.c: Declare version[], remove #include "version.h".
+ * version.h: Deleted.
+ * Makefile.in: Remove references to version.h.
+
+ * output.c (shipout_text): Centralize all `#line NUM ["FILE"]'
+ production, by using a simpler and more robust algorithm. This
+ solves the problem of synclines sometimes written in the middle of
+ an output line. Delete sync_line() and output_lines variable.
+ * m4.h: Remove sync_line prototype and output_lines declaration.
+ * input.c (next_char), output.c (shipout_text): Remove references
+ to output_lines.
+ * input.c (push_file, pop_file): Merely put the value -1 in
+ output_current_line instead of calling sync_line, for delaying a
+ single `#line NUM FILE' before next output line. Do not test
+ for sync_output, because this is unnecessary clutter.
+ * output.c (make_divertion, insert_divertion): Idem.
+ * input.c: Rename must_advance_line to start_of_input_line, for
+ consistency.
+
+ * debug.c (trace_header): Select a new debug line format, which
+ better complies with GNU standards for formatting error messages.
+ With option `-dfl', M-x next-error might be used on the output.
+ * m4.c (vmesg): Adjust format of error output to GNU standards.
+ * m4.texinfo: Adjust examples for `make check' to work.
+
+ * m4.h, builtin.c, debug.c, input.c, macro.c, path.c: Use upper
+ case for enum debug_info constants, which were all lower case.
+
+ * builtin.c (m4_regexp, m4_patsubst): Use re_search instead of
+ re_search_2.
+ * lib/regex.[ch]: Use new version from textutils 1.3.6, with some
+ collected patches. I tried a few times using newer regex.[ch], it
+ mysteriously stopped aborting with this one. Insecure feeling...
+ * lib/Makefile.in: Distribute regex.[ch].old, just in case!
+
+1992-12-18 François Pinard &lt;pinard@iro.umontreal.ca&gt;
+
+ * m4.c: Change `--no-warnings' to `--silent'.
+ Reported by David MacKenzie.
+
+ * m4.c: Put all M4OPTS code upon IMPLEMENT_M4OPTS control, and
+ leave it off for now. See comment in m4.c for justification.
+ Reported by David MacKenzie.
+
+ * configure.in: Replace AC_USG by AC_HAVE_HEADERS(string.h).
+ * m4.h, ansi2knr.c, lib/regex.h: Replace USG by HAVE_STRING_H.
+
+ * Makefile.in: Add a new `info' goal. Use macro MAKEINFO.
+
+ * Makefile.in: Ensure recursive cleaning is done before local
+ cleaning for all clean goals.
+
+ * builtin.c (ntoa): Ensure the value is always interpreted as a
+ signed quantity, whatever the radix is.
+
+1992-11-18 Jim Meyering &lt;meyering@idefix&gt;
+
+ * builtin.c, format.c, input.c: Split long lines.
+ * m4.c: Use typedef macro_definition instead of struct
+ macro_definition.
+ * symtab.c: Use typedef symbol instead of struct symbol.
+
+1992-11-17 François Pinard &lt;pinard@iro.umontreal.ca&gt;
+
+ * *.[ch]: Remove all trailing whitespace, in code and comments.
+
+ * configure.in: Find some awk.
+ * Makefile.in: Add $(AWK) to MDEFINES.
+ * checks/Makefile.in: Transmit $(AWK) to get_them.
+ * checks/get_them: Use $AWK instead of gawk. Add a close in the
+ awk script when switching files, because without this, mawk runs
+ out of file descriptors.
+
+1992-11-16 François Pinard &lt;pinard@iro.umontreal.ca&gt;
+
+ * Makefile.in (realclean): Delete m4.info*.
+ Reported by Jim Meyering.
+
+ * Makefile.in: Adjust and link with checks/Makefile.
+ * checks/Makefile.in: New.
+ * configure.in: Output checks/Makefile.
+
+ * checks/get_them: Have the dnl header of each test more
+ recognizable by next-error, also use a better message.
+
+1992-11-16 Jim Meyering &lt;meyering@idefix&gt;
+
+ * m4.h [__GNUC__]: Use __volatile__ instead of `volatile.'
+ And use that only if __GNUC__ since we're using it's GCC-specific
+ semantics that tell the compiler the associated function doesn't
+ return.
+
+ * builtin.c (substitute): Don't use character as an array index.
+ (dumpdef_cmp): Make formal arguments `const void *' to avoid
+ warnings with gcc -W -Wall on systems with qsort prototype.
+ (m4_errprint): Cast obstack_finish to `char *' to avoid warnings
+ from gcc -W -Wall.
+
+ * eval.c (most functions): Add parentheses to assignments used
+ as truth values go avoid warnings from gcc -Wall.
+
+ * input.c, m4.c, output.c, path.c, symtab.c: Declare static
+ any functions that don't need external scope.
+
+ * builtin.c, debug.c, format.c, m4.c, m4.h, macro.c, symtab.c
+ (many functions and arrays): Declare `const'.
+
+1992-11-15 François Pinard &lt;pinard@iro.umontreal.ca&gt;
+
+ * *.[ch]: Rename nil to NULL, using the declaration from &lt;stdio.h&gt;,
+ removing the declaration from m4.h. Also rename false to FALSE
+ and true to TRUE.
+
+ * lib/Makefile.in (Makefile): New goal.
+
+ * Makefile.in, lib/Makefile.in: Add a .c.o rule, so CFLAGS is not
+ so heavily loaded. It gets more easily overridable, calling make.
+ Reported by Jim Meyering.
+
+ * Makefile.in (dist): Get .fname from the current directory name,
+ instead of from version.h. I need updating many files manually,
+ when the version changes, version.h is just one of them.
+
+1992-11-14 François Pinard &lt;pinard@iro.umontreal.ca&gt;
+
+ * m4.h: Remove the tag `boolean' on the enum introducing typedef
+ `boolean'. This tag conflicts with &lt;sys/types.h&gt; on SVR4.
+ Reported by Tom McConnell.
+
+1992-11-13 François Pinard &lt;pinard@iro.umontreal.ca&gt;
+
+ * m4.texinfo: Correct the examples for 33.divert, 38.divnum,
+ 39.cleardiv, which were describing missing or spurious newlines.
+ Modify examples 52.eval, 53.esyscmd and 54.sysval so the results
+ do not depend on machine word size, `/bin/false' implementation,
+ or `wc' output format. `make check' is more dependable, now.
+
+ * checks/check_them: Summarize the failed tests by listing their
+ name, at end. If none, issue `All checks successful'. Output
+ `Checking' instead of `Input file:'.
+
+ * checks/get_them, checks/check_them: Reindented.
+
+ * Makefile.in (dist): chmod a+r before making the tar file.
+
+1992-11-12 François Pinard &lt;pinard@iro.umontreal.ca&gt;
+
+ * builtin.c (m4_dnl): Diagnose any parameter to `dnl'.
+
+ * input.c (next_token): Reinitialize token_buttom just after using
+ it as a watermark with obstack_free. Or else, a future token, big
+ enough for triggering reallocation of the obstack chunk, could
+ void the initialized value of token_buttom, later causing panic in
+ obstack_free. Rename token_buttom to token_bottom everywhere.
+
+ * m4.h: Before declaring errno, first include &lt;errno.h&gt; and
+ ensure that it does not define errno.
+ Reported by Richard Stallman.
+
+1992-11-11 François Pinard &lt;pinard@iro.umontreal.ca&gt;
+
+ * builtin.c: Define and use DECLARE macro for builtins.
+
+ * builtin.c (m4_ifelse): Avoid any diagnostic when exactly one
+ argument, this is a common idiom for introducing long comments.
+
+ * builtin.c (m4_ifelse): If 3n + 2 arguments, diagnose missing
+ arguments. The last argument was silently ignored.
+
+ * m4.c (cmd_error): Add a missing semicolon before va_end().
+
+1992-11-10 François Pinard &lt;pinard@iro.umontreal.ca&gt;
+
+ * Makefile.in: Now handle protoized sources. Define and use U.
+ Compile and use ansi2knr with old compilers. Update DISTFILES.
+ Add `aclocal.m4' to `configure' dependencies.
+ * ansi2knr.c: New, from Ghostscript distribution.
+ * configure.in: Define U through FP_PROTOTYPES for old compilers.
+ Add AC_ISC_POSIX, AC_CONST, AC_SIZE_T.
+ * aclocal.m4: New, provide FP_PROTOTYPES.
+ * m4.h: Conditionnaly protoized through Args, save for varags.
+ * builtin.c: Protoized. Then:
+ Include &lt;sys/types.h&gt; if size_t is not defined, before "regex.h".
+ (m4_ifelse): Fetch built-in name properly for diagnostic.
+ (m4_dumpdef): Remove wrong (char *) cast calling dump_symbol.
+ (m4_regexp): Add const to `msg' declaration.
+ (m4_patsubst): Add const to `msg' declaration.
+ * debug.c: Protoized, save for varargs.
+ * eval.c: Protoized.
+ * format.c: Protoized.
+ * input.c: Protoized.
+ * m4.c: Protoized, save for varargs. Then:
+ (xfree): Accept void * instead of char *.
+ (xmalloc): Return void * instead of char *.
+ (xrealloc): Accept and return void * instead of char *.
+ * macro.c: Protoized.
+ * output.c: Protoized.
+ * path.c: Protoized. Then cast some (char *) over xmalloc's.
+ * symtab.c: Protoized.
+
+1992-11-06 François Pinard &lt;pinard@iro.umontreal.ca&gt;
+
+ * m4.texinfo: Remove directory from diagnostics in 30.include,
+ 51.eval, 56.errprint and 57.m4exit tests.
+
+ * m4.h: Remove declarations for int or void system functions, they
+ cause more conflicting trouble than they make good.
+
+ * configure.in: Avoid configuration header file. Add some tests.
+ * m4.h: Remove #include "config.h".
+ * Makefile.in, lib/Makefile.in: Implement Autoconf interface.
+ Then, rewritten for better compliance with GNU standards.
+
+1992-11-05 François Pinard &lt;pinard@iro.umontreal.ca&gt;
+
+ * format.c (format): Avoid syntax error if not HAVE_EFGCVT,
+ because of a misplaced #endif.
+
+ * Many *.[hc] files: Correct intra-line spacing here and there,
+ according to GNU indent 1.6 advice.
+
+ * configure.in: New, using Autoconf 1.2.
+ * m4.h: Reverse NO_MEMORY_H to NEED_MEMORY_H.
+ * Delete old configure.in, configure, etc/configure.in,
+ etc/configure, lib/configure.in, lib/configure and config/*.
+ Reported by Jason Merrill.
+
+ * symtab.c (hash): Change (char) NULL to '\0'.
+ Reported by Jason Merrill.
+
+ * Delete .vers, etc/newdist.sh, etc/newvers.sh and
+ etc/nextvers.sh. Release numbers will be edited `by hand'.
+ * version.h: De-automatize, force value in.
+
+ * m4.c: Changes in order to use a newer getopt.h.
+ Reported by David MacKenzie.
+
+ * checks/: New name for examples/.
+ * checks/get_them: New location for etc/get_examples.
+ * checks/check_them: New location for etc/check_examples.
+ * Makefile.in, checks/get_them, checks/check_them: Adjust.
+ * lib/vfprintf.c: New location for etc/vfprintf.c.
+ * Delete empty etc/.
+ * examples/: New name for test/.
+
+1992-03-10 François Pinard &lt;pinard@iro.umontreal.ca&gt;
+
+ * Makefile.in (check): Add m4 as dependency.
+
+ * m4.c: Accept --no-warnings instead of --no_warnings, and
+ --no-gnu-extensions instead of --no_gnu_extensions. Make the
+ usage message more informative.
+ Reported by David MacKenzie.
+
+1992-03-09 François Pinard &lt;pinard@iro.umontreal.ca&gt;
+
+ * etc/check_examples: New name for check_examples.sh.
+ * etc/get_examples: New name for get_examples.sh.
+ * Makefile.in, etc/Makefile.in: Use new names.
+
+ * Makefile.in: Transmit $(CC) while making in lib.
+
+ * Many *.[hc] files: GNU indent'ed, with further fine tuning of
+ code disposition by hand.
+
+1992-03-08 François Pinard &lt;pinard@iro.umontreal.ca&gt;
+
+ * m4.h: Delete definitions for abort() and exit().
+ Reported by Richard Stallman.
+
+ * config/hmake-unicos, config/s-unicos.h: New files.
+ Reported by Hal Peterson.
+
+ * eval.c (exp_term): Have N^0 return 1.
+ Reported by Michael Fetterman.
+
+ * eval.c, input.c, m4.h: Remove last comma in enums.
+ Reported by Mike Lijewski.
+
+ * Transfer of maintenance duties from René to François.
+
+1991-10-24 René Seindal &lt;seindal@diku.dk&gt;
+
+ * Release 1.0. Many thanks to those, who provided me with bug
+ reports and feedback.
+
+ * Uses GNU configure, taken from the gdb distribution.
+
+ * Uses GNU getopt(), with long option names.
+
+ * The -Q/+quiet option is added, which suppresses warnings about
+ missing or superflous arguments to built-in macros.
+
+ * Added default options via the M4OPTS environment variable.
+
+ * The built-in format can now be configured to use sprintf as
+ the formatting engine, for systems without [efg]cvt(3).
+
+ * GNU library code is moved to the ./lib subdirectory; other
+ utility files are now in ./etc.
+
+ * Several minor bugs have been fixed.
+
+1991-07-26 René Seindal &lt;seindal@diku.dk&gt;
+
+ * Fixed various bugs. Release 0.99, manual 0.09. Many thanks to
+ Francois Pinard and Roland H. Pesch for providing me with reports.
+
+ * The builtins incr and decr are now implemented without use of
+ eval.
+
+ * The builtin indir is added, to allow for indirect macro calls
+ (allows use of "illegal" macro names).
+
+ * The debugging and tracing facilities has been enhanced
+ considerably. See the manual for details.
+
+ * The -tMACRO option is added, marks MACRO for tracing as soon
+ as it is defined.
+
+ * Builtins are traced after renaming iff they were before.
+
+ * Named files can now be undiverted.
+
+ * The -Nnum option can be used to increase the number of
+ divertions available.
+
+ * Calling changecom without arguments now disables all comment
+ handling.
+
+ * The function m4_patsubst() is now consistently declared
+ static.
+
+ * A bug in dnl is fixed.
+
+ * A bug in the multi-character quoting code is fixed.
+
+ * Several typos in the manual has been corrected. More probably
+ persist.
+
+ * The m4.info file is now installed along with the program.
+
+1990-11-15 René Seindal &lt;seindal@diku.dk&gt;
+
+ * Updated and enhanced version. Release 0.75, manual 0.07.
+
+ * Implemented search path for include files (-I option and
+ M4PATH envronment variable).
+
+ * Implemented builtin "format" for printf-like formatting.
+
+ * Implemented builtin "regexp" for searching for regular
+ expressions.
+
+ * Implemented builtin "patsubst" for substitution with regular
+ expressions.
+
+ * Implemented builtin "esyscmd", which expands to a shell
+ commands output.
+
+ * Implemented "__file__" and "__line__" for use in error
+ messages.
+
+ * Implemented character ranges in "translit".
+
+ * Implemented control over debugging output.
+
+ * Implemented multi-character quotes.
+
+ * Implemented multi-character comment delimiters.
+
+ * Changed predefined macro "gnu" to "__gnu__".
+
+ * Changed predefined macro "unix" to "__unix__", when the -G
+ option is not used. With -G, "unix" is still defined.
+
+ * Changed "shift", "$@" and "$*" to not insert spaces afters
+ commas.
+
+ * Added program name to error messages.
+
+ * Fixed two missing null bytes bugs.
+
+1990-01-22 René Seindal &lt;seindal@diku.dk&gt;
+
+ * Initial beta release. Release 0.50, manual 0.05.
+
+</PRE>
+
+
+</TD>
+
+</TR>
+
+</TABLE>
+
+</BODY>
+
+
+</HTML>
+
+
diff --git a/examples/WWW/download.htm b/examples/WWW/download.htm
new file mode 100644
index 00000000..9b714f32
--- /dev/null
+++ b/examples/WWW/download.htm
@@ -0,0 +1,302 @@
+<DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 TRANSITIONAL//EN">
+<HTML>
+<HEAD>
+<TITLE>GNU m4 - Download</TITLE>
+<META NAME="AUTHOR" CONTENT="René Seindal">
+<META NAME="GENERATOR" CONTENT="GNU m4 1.4l">
+</HEAD>
+ <BODY text="#000000" bgcolor="#FFCC99" link="#0000EF" alink="#FF0000" vlink="#51188E">
+<TABLE cellpadding=5 width="100%">
+<TR align=left valign=bottom>
+<TD align=center valign=center colspan="3" width="100%" bgcolor="#FF9900">
+
+<H1>GNU m4</H1>
+
+<H2>Download</H2>
+
+</TD>
+
+</TR>
+ <TR >
+<TD align=left valign=top width="15%" bgcolor="#FF9900">
+
+
+
+<TABLE align=left valign=top columns=1>
+<TR>
+<TD bgcolor="#CC6600">
+<P>
+<B>Generel info</B>
+</P>
+
+</TD>
+
+</TR>
+ <TR>
+<TD>
+
+<FONT size=-1><P>
+<B><A HREF="whatis.htm">What is m4</A></B>
+</P>
+</FONT>
+
+</TD>
+
+</TR>
+ <TR>
+<TD>
+
+<FONT size=-1><P>
+<B><A HREF="features.htm">Features</A></B>
+</P>
+</FONT>
+
+</TD>
+
+</TR>
+ <TR>
+<TD>
+
+<FONT size=-1><P>
+<B><A HREF="uses.htm">Uses of m4</A></B>
+</P>
+</FONT>
+
+</TD>
+
+</TR>
+ <TR>
+<TD bgcolor="#CC6600">
+<P>
+<B>Documentation</B>
+</P>
+
+</TD>
+
+</TR>
+ <TR>
+<TD>
+
+<FONT size=-1><P>
+<B><A HREF="man/m4_toc.html">Manual</A></B>
+</P>
+</FONT>
+
+</TD>
+
+</TR>
+ <TR>
+<TD bgcolor="#CC6600">
+<P>
+<B>Source files</B>
+</P>
+
+</TD>
+
+</TR>
+ <TR>
+<TD>
+
+<FONT size=-1><P>
+<B><A HREF="readme.htm">README</A></B>
+</P>
+</FONT>
+
+</TD>
+
+</TR>
+ <TR>
+<TD>
+
+<FONT size=-1><P>
+<B><A HREF="todo.htm">TODO</A></B>
+</P>
+</FONT>
+
+</TD>
+
+</TR>
+ <TR>
+<TD>
+
+<FONT size=-1><P>
+<B><A HREF="news.htm">NEWS</A></B>
+</P>
+</FONT>
+
+</TD>
+
+</TR>
+ <TR>
+<TD>
+
+<FONT size=-1><P>
+<B><A HREF="changelog.htm">ChangeLog</A></B>
+</P>
+</FONT>
+
+</TD>
+
+</TR>
+ <TR>
+<TD>
+
+<FONT size=-1><P>
+<B><A HREF="thanks.htm">Contributors</A></B>
+</P>
+</FONT>
+
+</TD>
+
+</TR>
+ <TR>
+<TD>
+
+<FONT size=-1><P>
+<B><A HREF="m4/">Browse it</A></B>
+</P>
+</FONT>
+
+</TD>
+
+</TR>
+ <TR>
+<TD bgcolor="#CC6600">
+<P>
+<B>The Future</B>
+</P>
+
+</TD>
+
+</TR>
+ <TR>
+<TD>
+
+<FONT size=-1><P>
+<B><A HREF="modules.htm">Modules</A></B>
+</P>
+</FONT>
+
+</TD>
+
+</TR>
+ <TR>
+<TD>
+
+<FONT size=-1><P>
+<B><A HREF="visions.htm">Visions</A></B>
+</P>
+</FONT>
+
+</TD>
+
+</TR>
+ <TR>
+<TD bgcolor="#CC6600">
+<P>
+<B>Development</B>
+</P>
+
+</TD>
+
+</TR>
+ <TR>
+<TD>
+
+<FONT size=-1><P>
+<B><A HREF="lists.htm">Mailing-lists</A></B>
+</P>
+</FONT>
+
+</TD>
+
+</TR>
+ <TR>
+<TD>
+
+<FONT size=-1><P>
+<B><A HREF="feedback.htm">Feedback</A></B>
+</P>
+</FONT>
+
+</TD>
+
+</TR>
+ <TR>
+<TD>
+
+<FONT size=-1><P>
+<B><A HREF="download.htm">Download</A></B>
+</P>
+</FONT>
+
+</TD>
+
+</TR>
+ <TR>
+<TD bgcolor="#CC6600">
+<P>
+<B>Examples</B>
+</P>
+
+</TD>
+
+</TR>
+ <TR>
+<TD>
+
+<FONT size=-1><P>
+<B><A HREF="thissite.htm">This site</A></B>
+</P>
+</FONT>
+
+</TD>
+
+</TR>
+
+</TABLE>
+
+
+
+
+
+</TD>
+ <TD align=left valign=top width="90%">
+
+
+<P>
+In the download area there are usually several version
+present. Please take only the latest.
+</P>
+
+
+<P>
+The files are name <TT>m4-1.4<I>X</I>.tar.gz</TT> where X is a letter.
+</P>
+
+
+<P>
+<A HREF="ftp://ftp.seindal.dk/pub/rene/gnu/">Download latest
+development version</A>.
+</P>
+
+
+<P>
+<A HREF="ftp://ftp.seindal.dk/pub/rene/gnu/m4-1.4.tar.gz">Download
+latest stable version</A>.
+</P>
+
+
+
+</TD>
+
+</TR>
+
+</TABLE>
+
+</BODY>
+
+
+</HTML>
+
+
diff --git a/examples/WWW/features.htm b/examples/WWW/features.htm
new file mode 100644
index 00000000..ce8f1895
--- /dev/null
+++ b/examples/WWW/features.htm
@@ -0,0 +1,380 @@
+<DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 TRANSITIONAL//EN">
+<HTML>
+<HEAD>
+<TITLE>GNU m4 - New feaures since version 1.4</TITLE>
+<META NAME="AUTHOR" CONTENT="René Seindal">
+<META NAME="GENERATOR" CONTENT="GNU m4 1.4l">
+</HEAD>
+ <BODY text="#000000" bgcolor="#FFCC99" link="#0000EF" alink="#FF0000" vlink="#51188E">
+<TABLE cellpadding=5 width="100%">
+<TR align=left valign=bottom>
+<TD align=center valign=center colspan="3" width="100%" bgcolor="#FF9900">
+
+<H1>GNU m4</H1>
+
+<H2>New feaures since version 1.4</H2>
+
+</TD>
+
+</TR>
+ <TR >
+<TD align=left valign=top width="15%" bgcolor="#FF9900">
+
+
+
+<TABLE align=left valign=top columns=1>
+<TR>
+<TD bgcolor="#CC6600">
+<P>
+<B>Generel info</B>
+</P>
+
+</TD>
+
+</TR>
+ <TR>
+<TD>
+
+<FONT size=-1><P>
+<B><A HREF="whatis.htm">What is m4</A></B>
+</P>
+</FONT>
+
+</TD>
+
+</TR>
+ <TR>
+<TD>
+
+<FONT size=-1><P>
+<B><A HREF="features.htm">Features</A></B>
+</P>
+</FONT>
+
+</TD>
+
+</TR>
+ <TR>
+<TD>
+
+<FONT size=-1><P>
+<B><A HREF="uses.htm">Uses of m4</A></B>
+</P>
+</FONT>
+
+</TD>
+
+</TR>
+ <TR>
+<TD bgcolor="#CC6600">
+<P>
+<B>Documentation</B>
+</P>
+
+</TD>
+
+</TR>
+ <TR>
+<TD>
+
+<FONT size=-1><P>
+<B><A HREF="man/m4_toc.html">Manual</A></B>
+</P>
+</FONT>
+
+</TD>
+
+</TR>
+ <TR>
+<TD bgcolor="#CC6600">
+<P>
+<B>Source files</B>
+</P>
+
+</TD>
+
+</TR>
+ <TR>
+<TD>
+
+<FONT size=-1><P>
+<B><A HREF="readme.htm">README</A></B>
+</P>
+</FONT>
+
+</TD>
+
+</TR>
+ <TR>
+<TD>
+
+<FONT size=-1><P>
+<B><A HREF="todo.htm">TODO</A></B>
+</P>
+</FONT>
+
+</TD>
+
+</TR>
+ <TR>
+<TD>
+
+<FONT size=-1><P>
+<B><A HREF="news.htm">NEWS</A></B>
+</P>
+</FONT>
+
+</TD>
+
+</TR>
+ <TR>
+<TD>
+
+<FONT size=-1><P>
+<B><A HREF="changelog.htm">ChangeLog</A></B>
+</P>
+</FONT>
+
+</TD>
+
+</TR>
+ <TR>
+<TD>
+
+<FONT size=-1><P>
+<B><A HREF="thanks.htm">Contributors</A></B>
+</P>
+</FONT>
+
+</TD>
+
+</TR>
+ <TR>
+<TD>
+
+<FONT size=-1><P>
+<B><A HREF="m4/">Browse it</A></B>
+</P>
+</FONT>
+
+</TD>
+
+</TR>
+ <TR>
+<TD bgcolor="#CC6600">
+<P>
+<B>The Future</B>
+</P>
+
+</TD>
+
+</TR>
+ <TR>
+<TD>
+
+<FONT size=-1><P>
+<B><A HREF="modules.htm">Modules</A></B>
+</P>
+</FONT>
+
+</TD>
+
+</TR>
+ <TR>
+<TD>
+
+<FONT size=-1><P>
+<B><A HREF="visions.htm">Visions</A></B>
+</P>
+</FONT>
+
+</TD>
+
+</TR>
+ <TR>
+<TD bgcolor="#CC6600">
+<P>
+<B>Development</B>
+</P>
+
+</TD>
+
+</TR>
+ <TR>
+<TD>
+
+<FONT size=-1><P>
+<B><A HREF="lists.htm">Mailing-lists</A></B>
+</P>
+</FONT>
+
+</TD>
+
+</TR>
+ <TR>
+<TD>
+
+<FONT size=-1><P>
+<B><A HREF="feedback.htm">Feedback</A></B>
+</P>
+</FONT>
+
+</TD>
+
+</TR>
+ <TR>
+<TD>
+
+<FONT size=-1><P>
+<B><A HREF="download.htm">Download</A></B>
+</P>
+</FONT>
+
+</TD>
+
+</TR>
+ <TR>
+<TD bgcolor="#CC6600">
+<P>
+<B>Examples</B>
+</P>
+
+</TD>
+
+</TR>
+ <TR>
+<TD>
+
+<FONT size=-1><P>
+<B><A HREF="thissite.htm">This site</A></B>
+</P>
+</FONT>
+
+</TD>
+
+</TR>
+
+</TABLE>
+
+
+
+
+
+</TD>
+ <TD align=left valign=top width="90%">
+
+
+<P>
+Please look at the <A HREF="news.htm">NEWS</A> and the <A HREF="changelog.htm">ChangeLog</A> for all the gory details.
+</P>
+
+
+<DL>
+<DT><B>GNU m4 uses GNU Automake and GNU Autoconf for configuration.</B></DT>
+
+<DD>
+<P>
+This has been long overdue and now hit is done thanks to Erick
+Branderhorst.
+</P>
+
+</DD>
+
+
+<DT><B>GNU m4 uses GNU gettext for internationalisation.</B></DT>
+
+<DD>
+<P>
+GNU m4 now speaks several languages. Translations for
+german french italian japanese dutch polish romenian and swedish
+have been made.
+</P>
+
+</DD>
+
+
+<DT><B>Support for multiple precision arithmetic in eval.</B></DT>
+
+<DD>
+<P>
+If appropriately configured GNU m4 can now do multiple precision
+arithmetic in the build in macro 'eval'. If not configured GNU m4
+will use the largest integer available for its calculations.
+</P>
+
+</DD>
+
+
+<DT><B>An input syntax table to change how input is parsed.</B></DT>
+
+<DD>
+<P>
+A new build in macro 'changesyntax' allows finer control over how input
+characters are parsed into input tokens.&nbsp; It is no possible to have
+several one character quote strings or comment delimiters to change the
+format of macro calls to use active characters like in TeX and probably
+most useful to change what input characters are treated as letters when
+looking for macro calls.
+</P>
+
+
+<P>
+See the <A HREF="man/m4_7.html#SEC41">manual section</A> for more details.
+</P>
+
+</DD>
+
+
+<DT><B>Support for loadable modules.</B></DT>
+
+<DD>
+<P>
+GNU m4 now has rudimentary support for dynamic loading of
+compiled modules at runtime. A module can define any number of new build
+in macros which will be indistinguishable from the standard set of
+build in macros. Modules can also override existing build in macros.
+</P>
+
+
+<P>
+Module support for GNU m4 still needs some work.
+</P>
+
+
+<P>
+See the <A HREF="modules.htm">separate README file for modules</A>
+</P>
+
+
+</DD>
+
+
+<DT><B>Better control of sync-lines generation.</B></DT>
+
+<DD>
+<P>
+The new build in macro 'syncoutput' allows better control of the
+generation of sync-lines.&nbsp; They can no be turned on or off at
+will.
+</P>
+
+</DD>
+
+
+
+</DL>
+
+
+
+</TD>
+
+</TR>
+
+</TABLE>
+
+</BODY>
+
+
+</HTML>
+
+
diff --git a/examples/WWW/feedback.htm b/examples/WWW/feedback.htm
new file mode 100644
index 00000000..f6a991d1
--- /dev/null
+++ b/examples/WWW/feedback.htm
@@ -0,0 +1,297 @@
+<DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 TRANSITIONAL//EN">
+<HTML>
+<HEAD>
+<TITLE>GNU m4 - Feedback</TITLE>
+<META NAME="AUTHOR" CONTENT="René Seindal">
+<META NAME="GENERATOR" CONTENT="GNU m4 1.4l">
+</HEAD>
+ <BODY text="#000000" bgcolor="#FFCC99" link="#0000EF" alink="#FF0000" vlink="#51188E">
+<TABLE cellpadding=5 width="100%">
+<TR align=left valign=bottom>
+<TD align=center valign=center colspan="3" width="100%" bgcolor="#FF9900">
+
+<H1>GNU m4</H1>
+
+<H2>Feedback</H2>
+
+</TD>
+
+</TR>
+ <TR >
+<TD align=left valign=top width="15%" bgcolor="#FF9900">
+
+
+
+<TABLE align=left valign=top columns=1>
+<TR>
+<TD bgcolor="#CC6600">
+<P>
+<B>Generel info</B>
+</P>
+
+</TD>
+
+</TR>
+ <TR>
+<TD>
+
+<FONT size=-1><P>
+<B><A HREF="whatis.htm">What is m4</A></B>
+</P>
+</FONT>
+
+</TD>
+
+</TR>
+ <TR>
+<TD>
+
+<FONT size=-1><P>
+<B><A HREF="features.htm">Features</A></B>
+</P>
+</FONT>
+
+</TD>
+
+</TR>
+ <TR>
+<TD>
+
+<FONT size=-1><P>
+<B><A HREF="uses.htm">Uses of m4</A></B>
+</P>
+</FONT>
+
+</TD>
+
+</TR>
+ <TR>
+<TD bgcolor="#CC6600">
+<P>
+<B>Documentation</B>
+</P>
+
+</TD>
+
+</TR>
+ <TR>
+<TD>
+
+<FONT size=-1><P>
+<B><A HREF="man/m4_toc.html">Manual</A></B>
+</P>
+</FONT>
+
+</TD>
+
+</TR>
+ <TR>
+<TD bgcolor="#CC6600">
+<P>
+<B>Source files</B>
+</P>
+
+</TD>
+
+</TR>
+ <TR>
+<TD>
+
+<FONT size=-1><P>
+<B><A HREF="readme.htm">README</A></B>
+</P>
+</FONT>
+
+</TD>
+
+</TR>
+ <TR>
+<TD>
+
+<FONT size=-1><P>
+<B><A HREF="todo.htm">TODO</A></B>
+</P>
+</FONT>
+
+</TD>
+
+</TR>
+ <TR>
+<TD>
+
+<FONT size=-1><P>
+<B><A HREF="news.htm">NEWS</A></B>
+</P>
+</FONT>
+
+</TD>
+
+</TR>
+ <TR>
+<TD>
+
+<FONT size=-1><P>
+<B><A HREF="changelog.htm">ChangeLog</A></B>
+</P>
+</FONT>
+
+</TD>
+
+</TR>
+ <TR>
+<TD>
+
+<FONT size=-1><P>
+<B><A HREF="thanks.htm">Contributors</A></B>
+</P>
+</FONT>
+
+</TD>
+
+</TR>
+ <TR>
+<TD>
+
+<FONT size=-1><P>
+<B><A HREF="m4/">Browse it</A></B>
+</P>
+</FONT>
+
+</TD>
+
+</TR>
+ <TR>
+<TD bgcolor="#CC6600">
+<P>
+<B>The Future</B>
+</P>
+
+</TD>
+
+</TR>
+ <TR>
+<TD>
+
+<FONT size=-1><P>
+<B><A HREF="modules.htm">Modules</A></B>
+</P>
+</FONT>
+
+</TD>
+
+</TR>
+ <TR>
+<TD>
+
+<FONT size=-1><P>
+<B><A HREF="visions.htm">Visions</A></B>
+</P>
+</FONT>
+
+</TD>
+
+</TR>
+ <TR>
+<TD bgcolor="#CC6600">
+<P>
+<B>Development</B>
+</P>
+
+</TD>
+
+</TR>
+ <TR>
+<TD>
+
+<FONT size=-1><P>
+<B><A HREF="lists.htm">Mailing-lists</A></B>
+</P>
+</FONT>
+
+</TD>
+
+</TR>
+ <TR>
+<TD>
+
+<FONT size=-1><P>
+<B><A HREF="feedback.htm">Feedback</A></B>
+</P>
+</FONT>
+
+</TD>
+
+</TR>
+ <TR>
+<TD>
+
+<FONT size=-1><P>
+<B><A HREF="download.htm">Download</A></B>
+</P>
+</FONT>
+
+</TD>
+
+</TR>
+ <TR>
+<TD bgcolor="#CC6600">
+<P>
+<B>Examples</B>
+</P>
+
+</TD>
+
+</TR>
+ <TR>
+<TD>
+
+<FONT size=-1><P>
+<B><A HREF="thissite.htm">This site</A></B>
+</P>
+</FONT>
+
+</TD>
+
+</TR>
+
+</TABLE>
+
+
+
+
+
+</TD>
+ <TD align=left valign=top width="90%">
+
+
+<P>
+Bug reports should be sent to <A HREF="mailto:bug-m4@gnu.org">bug-m4@gnu.org</A>.
+</P>
+
+
+<P>
+Generel discussion about GNU m4 should take place on
+<A HREF="mailto:m4-forum@seindal.dk">m4-forum</A>.
+</P>
+
+
+<P>
+Informal comments about this site and GNU m4 can be sent to
+<A HREF="mailto:m4-feedback@seindal.dk">m4-feedback</A>.
+</P>
+
+
+
+
+</TD>
+
+</TR>
+
+</TABLE>
+
+</BODY>
+
+
+</HTML>
+
+
diff --git a/examples/WWW/index.htm b/examples/WWW/index.htm
new file mode 100644
index 00000000..8e739aef
--- /dev/null
+++ b/examples/WWW/index.htm
@@ -0,0 +1,319 @@
+<DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 TRANSITIONAL//EN">
+<HTML>
+<HEAD>
+<TITLE>GNU m4 - Development site</TITLE>
+<META NAME="AUTHOR" CONTENT="René Seindal">
+<META NAME="GENERATOR" CONTENT="GNU m4 1.4l">
+</HEAD>
+ <BODY text="#000000" bgcolor="#FFCC99" link="#0000EF" alink="#FF0000" vlink="#51188E">
+<TABLE cellpadding=5 width="100%">
+<TR align=left valign=bottom>
+<TD align=center valign=center colspan="3" width="100%" bgcolor="#FF9900">
+
+<H1>GNU m4</H1>
+
+<H2>Development site</H2>
+
+</TD>
+
+</TR>
+ <TR >
+<TD align=left valign=top width="15%" bgcolor="#FF9900">
+
+
+
+<TABLE align=left valign=top columns=1>
+<TR>
+<TD bgcolor="#CC6600">
+<P>
+<B>Generel info</B>
+</P>
+
+</TD>
+
+</TR>
+ <TR>
+<TD>
+
+<FONT size=-1><P>
+<B><A HREF="whatis.htm">What is m4</A></B>
+</P>
+</FONT>
+
+</TD>
+
+</TR>
+ <TR>
+<TD>
+
+<FONT size=-1><P>
+<B><A HREF="features.htm">Features</A></B>
+</P>
+</FONT>
+
+</TD>
+
+</TR>
+ <TR>
+<TD>
+
+<FONT size=-1><P>
+<B><A HREF="uses.htm">Uses of m4</A></B>
+</P>
+</FONT>
+
+</TD>
+
+</TR>
+ <TR>
+<TD bgcolor="#CC6600">
+<P>
+<B>Documentation</B>
+</P>
+
+</TD>
+
+</TR>
+ <TR>
+<TD>
+
+<FONT size=-1><P>
+<B><A HREF="man/m4_toc.html">Manual</A></B>
+</P>
+</FONT>
+
+</TD>
+
+</TR>
+ <TR>
+<TD bgcolor="#CC6600">
+<P>
+<B>Source files</B>
+</P>
+
+</TD>
+
+</TR>
+ <TR>
+<TD>
+
+<FONT size=-1><P>
+<B><A HREF="readme.htm">README</A></B>
+</P>
+</FONT>
+
+</TD>
+
+</TR>
+ <TR>
+<TD>
+
+<FONT size=-1><P>
+<B><A HREF="todo.htm">TODO</A></B>
+</P>
+</FONT>
+
+</TD>
+
+</TR>
+ <TR>
+<TD>
+
+<FONT size=-1><P>
+<B><A HREF="news.htm">NEWS</A></B>
+</P>
+</FONT>
+
+</TD>
+
+</TR>
+ <TR>
+<TD>
+
+<FONT size=-1><P>
+<B><A HREF="changelog.htm">ChangeLog</A></B>
+</P>
+</FONT>
+
+</TD>
+
+</TR>
+ <TR>
+<TD>
+
+<FONT size=-1><P>
+<B><A HREF="thanks.htm">Contributors</A></B>
+</P>
+</FONT>
+
+</TD>
+
+</TR>
+ <TR>
+<TD>
+
+<FONT size=-1><P>
+<B><A HREF="m4/">Browse it</A></B>
+</P>
+</FONT>
+
+</TD>
+
+</TR>
+ <TR>
+<TD bgcolor="#CC6600">
+<P>
+<B>The Future</B>
+</P>
+
+</TD>
+
+</TR>
+ <TR>
+<TD>
+
+<FONT size=-1><P>
+<B><A HREF="modules.htm">Modules</A></B>
+</P>
+</FONT>
+
+</TD>
+
+</TR>
+ <TR>
+<TD>
+
+<FONT size=-1><P>
+<B><A HREF="visions.htm">Visions</A></B>
+</P>
+</FONT>
+
+</TD>
+
+</TR>
+ <TR>
+<TD bgcolor="#CC6600">
+<P>
+<B>Development</B>
+</P>
+
+</TD>
+
+</TR>
+ <TR>
+<TD>
+
+<FONT size=-1><P>
+<B><A HREF="lists.htm">Mailing-lists</A></B>
+</P>
+</FONT>
+
+</TD>
+
+</TR>
+ <TR>
+<TD>
+
+<FONT size=-1><P>
+<B><A HREF="feedback.htm">Feedback</A></B>
+</P>
+</FONT>
+
+</TD>
+
+</TR>
+ <TR>
+<TD>
+
+<FONT size=-1><P>
+<B><A HREF="download.htm">Download</A></B>
+</P>
+</FONT>
+
+</TD>
+
+</TR>
+ <TR>
+<TD bgcolor="#CC6600">
+<P>
+<B>Examples</B>
+</P>
+
+</TD>
+
+</TR>
+ <TR>
+<TD>
+
+<FONT size=-1><P>
+<B><A HREF="thissite.htm">This site</A></B>
+</P>
+</FONT>
+
+</TD>
+
+</TR>
+
+</TABLE>
+
+
+
+
+
+</TD>
+ <TD align=left valign=top width="90%">
+
+
+<H2>Current development version is 1.4l.</H2>
+
+
+<P>
+Development versions contain new features and experiments that might
+or might not make it into the next official release. The current
+development version contains among other things (browse the
+<A HREF="features.htm">new features</A> for more detail):
+</P>
+
+
+<UL>
+
+ <LI> Uses GNU Automake and GNU Autoconf for configuration.
+
+ <LI> Uses GNU gettext for internationalisation.
+
+ <LI> Support for multiple precision arithmetic in eval.
+
+ <LI> An input syntax table to change how input is parsed.
+
+ <LI> Support for loadable modules.
+
+ <LI> Better control of sync-lines generation.
+
+ <LI> Various bug-fixes.
+
+</UL>
+
+
+<P>
+A new release is expected ready for December 1998.
+</P>
+
+
+<P>
+GNU <TT>m4</TT> 1.4 is from october 1994 and can be considered stable.
+</P>
+
+
+
+</TD>
+
+</TR>
+
+</TABLE>
+
+</BODY>
+
+
+</HTML>
+
+
diff --git a/examples/WWW/lists.htm b/examples/WWW/lists.htm
new file mode 100644
index 00000000..afa2b9be
--- /dev/null
+++ b/examples/WWW/lists.htm
@@ -0,0 +1,320 @@
+<DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 TRANSITIONAL//EN">
+<HTML>
+<HEAD>
+<TITLE>GNU m4 - Mailing lists</TITLE>
+<META NAME="AUTHOR" CONTENT="René Seindal">
+<META NAME="GENERATOR" CONTENT="GNU m4 1.4l">
+</HEAD>
+ <BODY text="#000000" bgcolor="#FFCC99" link="#0000EF" alink="#FF0000" vlink="#51188E">
+<TABLE cellpadding=5 width="100%">
+<TR align=left valign=bottom>
+<TD align=center valign=center colspan="3" width="100%" bgcolor="#FF9900">
+
+<H1>GNU m4</H1>
+
+<H2>Mailing lists</H2>
+
+</TD>
+
+</TR>
+ <TR >
+<TD align=left valign=top width="15%" bgcolor="#FF9900">
+
+
+
+<TABLE align=left valign=top columns=1>
+<TR>
+<TD bgcolor="#CC6600">
+<P>
+<B>Generel info</B>
+</P>
+
+</TD>
+
+</TR>
+ <TR>
+<TD>
+
+<FONT size=-1><P>
+<B><A HREF="whatis.htm">What is m4</A></B>
+</P>
+</FONT>
+
+</TD>
+
+</TR>
+ <TR>
+<TD>
+
+<FONT size=-1><P>
+<B><A HREF="features.htm">Features</A></B>
+</P>
+</FONT>
+
+</TD>
+
+</TR>
+ <TR>
+<TD>
+
+<FONT size=-1><P>
+<B><A HREF="uses.htm">Uses of m4</A></B>
+</P>
+</FONT>
+
+</TD>
+
+</TR>
+ <TR>
+<TD bgcolor="#CC6600">
+<P>
+<B>Documentation</B>
+</P>
+
+</TD>
+
+</TR>
+ <TR>
+<TD>
+
+<FONT size=-1><P>
+<B><A HREF="man/m4_toc.html">Manual</A></B>
+</P>
+</FONT>
+
+</TD>
+
+</TR>
+ <TR>
+<TD bgcolor="#CC6600">
+<P>
+<B>Source files</B>
+</P>
+
+</TD>
+
+</TR>
+ <TR>
+<TD>
+
+<FONT size=-1><P>
+<B><A HREF="readme.htm">README</A></B>
+</P>
+</FONT>
+
+</TD>
+
+</TR>
+ <TR>
+<TD>
+
+<FONT size=-1><P>
+<B><A HREF="todo.htm">TODO</A></B>
+</P>
+</FONT>
+
+</TD>
+
+</TR>
+ <TR>
+<TD>
+
+<FONT size=-1><P>
+<B><A HREF="news.htm">NEWS</A></B>
+</P>
+</FONT>
+
+</TD>
+
+</TR>
+ <TR>
+<TD>
+
+<FONT size=-1><P>
+<B><A HREF="changelog.htm">ChangeLog</A></B>
+</P>
+</FONT>
+
+</TD>
+
+</TR>
+ <TR>
+<TD>
+
+<FONT size=-1><P>
+<B><A HREF="thanks.htm">Contributors</A></B>
+</P>
+</FONT>
+
+</TD>
+
+</TR>
+ <TR>
+<TD>
+
+<FONT size=-1><P>
+<B><A HREF="m4/">Browse it</A></B>
+</P>
+</FONT>
+
+</TD>
+
+</TR>
+ <TR>
+<TD bgcolor="#CC6600">
+<P>
+<B>The Future</B>
+</P>
+
+</TD>
+
+</TR>
+ <TR>
+<TD>
+
+<FONT size=-1><P>
+<B><A HREF="modules.htm">Modules</A></B>
+</P>
+</FONT>
+
+</TD>
+
+</TR>
+ <TR>
+<TD>
+
+<FONT size=-1><P>
+<B><A HREF="visions.htm">Visions</A></B>
+</P>
+</FONT>
+
+</TD>
+
+</TR>
+ <TR>
+<TD bgcolor="#CC6600">
+<P>
+<B>Development</B>
+</P>
+
+</TD>
+
+</TR>
+ <TR>
+<TD>
+
+<FONT size=-1><P>
+<B><A HREF="lists.htm">Mailing-lists</A></B>
+</P>
+</FONT>
+
+</TD>
+
+</TR>
+ <TR>
+<TD>
+
+<FONT size=-1><P>
+<B><A HREF="feedback.htm">Feedback</A></B>
+</P>
+</FONT>
+
+</TD>
+
+</TR>
+ <TR>
+<TD>
+
+<FONT size=-1><P>
+<B><A HREF="download.htm">Download</A></B>
+</P>
+</FONT>
+
+</TD>
+
+</TR>
+ <TR>
+<TD bgcolor="#CC6600">
+<P>
+<B>Examples</B>
+</P>
+
+</TD>
+
+</TR>
+ <TR>
+<TD>
+
+<FONT size=-1><P>
+<B><A HREF="thissite.htm">This site</A></B>
+</P>
+</FONT>
+
+</TD>
+
+</TR>
+
+</TABLE>
+
+
+
+
+
+</TD>
+ <TD align=left valign=top width="90%">
+
+
+
+<H3>There are two mailing lists for GNU m4</H3>
+
+
+<DL>
+<DT><B><A HREF="mailto:m4-forum@seindal.dk">m4-forum@seindal.dk</A></B></DT>
+
+<DD>
+<P>
+This list is intended for discussions between people interested
+and/or participating in the further development of m4.
+</P>
+
+</DD>
+
+
+<DT><B>m4-announce@seindal.dk</B></DT>
+
+<DD>
+<P>
+Announcements regarding GNU m4 will posted here.
+</P>
+
+<P>
+The volume will certainly be very low.
+</P>
+
+</DD>
+
+
+
+</DL>
+
+
+<P>
+Currently these lists are maintained manually. Send a message to <A HREF="mailto:rene@seindal.dk">rene@seindal.dk</A>
+saying whether you want to subscribe or unsubscribe to any of these
+lists.
+</P>
+
+
+
+</TD>
+
+</TR>
+
+</TABLE>
+
+</BODY>
+
+
+</HTML>
+
+
diff --git a/examples/WWW/m4lib/changelog.m4 b/examples/WWW/m4lib/changelog.m4
new file mode 100644
index 00000000..cdcab269
--- /dev/null
+++ b/examples/WWW/m4lib/changelog.m4
@@ -0,0 +1,18 @@
+include(`setup.m4')
+
+\set_author([René Seindal])
+\set_title([ChangeLog])
+
+\divert(1)
+
+<PRE>\dnl
+\changesyntax([A<>])\dnl
+\changequote(,)\dnl
+\include(m4/ChangeLog)
+\changequote([,])\dnl
+\changesyntax([O<>])\dnl
+</PRE>
+
+\divert(0)\dnl
+\DO_LAYOUT([\undivert(1)])
+\divert(-1)
diff --git a/examples/WWW/m4lib/download.m4 b/examples/WWW/m4lib/download.m4
new file mode 100644
index 00000000..a26eedfb
--- /dev/null
+++ b/examples/WWW/m4lib/download.m4
@@ -0,0 +1,21 @@
+include(`setup.m4')
+
+\set_author([René Seindal])
+\set_title([Download])
+
+\divert(1)
+
+\p(In the download area there are usually several version
+present. Please take only the latest.)
+
+\p(The files are name \tt(m4-1.4\i(X).tar.gz) where X is a letter.)
+
+\p(\link([ftp://ftp.seindal.dk/pub/rene/gnu/], [Download latest
+development version]).)
+
+\p(\link([ftp://ftp.seindal.dk/pub/rene/gnu/m4-1.4.tar.gz],[Download
+latest stable version]).)
+
+\divert(0)\dnl
+\DO_LAYOUT([\undivert(1)])
+\divert(-1)
diff --git a/examples/WWW/m4lib/features.m4 b/examples/WWW/m4lib/features.m4
new file mode 100644
index 00000000..67bb8b2a
--- /dev/null
+++ b/examples/WWW/m4lib/features.m4
@@ -0,0 +1,62 @@
+include(`setup.m4')
+
+\set_author([René Seindal])
+\set_title([New feaures since version 1.4])
+
+\divert(1)
+
+\p(Please look at the \link(news.htm, NEWS) and the \link(changelog.htm,
+ChangeLog) for all the gory details.)
+
+\dl(
+\dt(\b(GNU m4 uses GNU Automake and GNU Autoconf for configuration.))
+
+\dd(\p(This has been long overdue, and now hit is done thanks to Erick
+Branderhorst.))
+
+\dt(\b(GNU m4 uses GNU gettext for internationalisation.))
+
+\dd(\p(GNU m4 now speaks several languages. Translations for
+german, french, italian, japanese, dutch, polish, romenian and swedish
+have been made.))
+
+\dt(\b(Support for multiple precision arithmetic in eval.))
+
+\dd(\p(If appropriately configured, GNU m4 can now do multiple precision
+arithmetic in the build in macro 'eval'. If not configured, GNU m4
+will use the largest integer available for its calculations.))
+
+\dt(\b(An input syntax table to change how input is parsed.))
+
+\dd(\p(A new build in macro 'changesyntax' allows finer control over how input
+characters are parsed into input tokens.&nbsp; It is no possible to have
+several one character quote strings or comment delimiters, to change the
+format of macro calls, to use active characters like in TeX, and probably
+most useful, to change what input characters are treated as letters when
+looking for macro calls.)
+
+\p(See the \link(man/m4_7.html#SEC41, manual section) for more details.))
+
+\dt(\b(Support for loadable modules.))
+
+\dd(\p(GNU m4 now has rudimentary support for dynamic loading of
+compiled modules at runtime. A module can define any number of new build
+in macros, which will be indistinguishable from the standard set of
+build in macros. Modules can also override existing build in macros.)
+
+\p(Module support for GNU m4 still needs some work.)
+
+\p(See the \link(modules.htm, separate README file for modules))
+)
+
+\dt(\b(Better control of sync-lines generation.))
+
+\dd(\p(The new build in macro 'syncoutput' allows better control of the
+generation of sync-lines.&nbsp; They can no be turned on or off at
+will.))
+
+)
+
+\divert(0)\dnl
+\DO_LAYOUT([\undivert(1)])
+\divert(-1)
diff --git a/examples/WWW/m4lib/feedback.m4 b/examples/WWW/m4lib/feedback.m4
new file mode 100644
index 00000000..f61d63e5
--- /dev/null
+++ b/examples/WWW/m4lib/feedback.m4
@@ -0,0 +1,20 @@
+include(`setup.m4')
+
+\set_author([René Seindal])
+\set_title([Feedback])
+
+\divert(1)
+
+\p(Bug reports should be sent to \link(mailto:bug-m4@gnu.org,
+bug-m4@gnu.org).)
+
+\p(Generel discussion about GNU m4 should take place on
+\link(mailto:m4-forum@seindal.dk, m4-forum).)
+
+\p(Informal comments about this site and GNU m4 can be sent to
+\link(mailto:m4-feedback@seindal.dk, m4-feedback).)
+
+
+\divert(0)\dnl
+\DO_LAYOUT([\undivert(1)])
+\divert(-1)
diff --git a/examples/WWW/m4lib/html.m4 b/examples/WWW/m4lib/html.m4
new file mode 100644
index 00000000..50330af2
--- /dev/null
+++ b/examples/WWW/m4lib/html.m4
@@ -0,0 +1,119 @@
+\define([n], [
+])
+
+\define([concat], [\ifelse($#, 0, ,
+ $#, 1, [$1],
+ [$1 \concat(\shift($@))])])
+
+\define([toupper], [\translit([$*], [a-z], [A-Z])])
+
+\define([container],
+[\pushdef([_tag], \toupper([$1]))\dnl
+\ifelse($#, 1, [<\_tag></[\_tag]>],
+ $#, 2, [<\_tag>$2</\_tag>],
+ $#, 3, [<\_tag $2>$3</\_tag>],
+ [<\_tag $2>\concat(\shift(\shift($@)))</\_tag>])\dnl
+\popdef([_tag])\dnl
+])
+
+\define([large_container],
+[\pushdef([_tag], \toupper([$1]))\dnl
+\ifelse($#, 1, [<\_tag></\_tag>\n],
+ $#, 2, [<\_tag>\n[]$2\n</\_tag>\n],
+ $#, 3, [<\_tag $2>\n[]$3\n</\_tag>\n],
+ [<\_tag $2>\n\concat(\shift(\shift($@)))\n</\_tag>\n])\dnl
+\popdef([_tag])\dnl
+])
+
+\define([large_simple_container],
+[\pushdef([_tag], \toupper([$1]))\dnl
+<\_tag>\n\concat(\shift($@))\n</\_tag>\n\dnl
+\popdef([_tag])\dnl
+])
+
+\define([simple_container],
+[\pushdef([_tag], \toupper([$1]))\dnl
+<\_tag>\concat(\shift($@))</\_tag>\dnl
+\popdef([_tag])\dnl
+])
+
+\define([simple_tag],
+[\pushdef([_tag], \toupper([$1]))\dnl
+\ifelse([$2], [], [<\_tag>], [<\_tag $2>])\dnl
+\popdef([_tag])\dnl
+])
+
+\define([doctype], [\simple_tag([$0], $@)])
+
+\define([html], [\large_simple_container([$0], $@)])
+\define([head], [\large_simple_container([$0], $@)])
+\define([title], [\simple_container([$0], $@)])
+
+\define([meta], [\n<META NAME="[$1]" CONTENT="[$2]">])
+\define([http_equiv], [\n<META HTTP-EQUIV="[$1]" CONTENT="[$2]">])
+
+\define([body], [\large_container([$0], $@)])
+
+\define([center], [\large_simple_container([$0], $@)])
+\define([right], [\large_simple_container([$0], $@)])
+\define([left], [\large_simple_container([$0], $@)])
+\define([div], [\large_container([$0], $@)])
+
+\define([b], [\simple_container([$0], $@)])
+\define([i], [\simple_container([$0], $@)])
+\define([tt], [\simple_container([$0], $@)])
+
+\define([table], [\large_container([$0], $@)])
+\define([tr], [\large_container([$0], $@)])
+\define([td], [\large_container([$0], $@)])
+\define([th], [\large_container([$0], $@)])
+
+\define([link], [<A HREF="$1">\shift($@)</A>])
+\define([target], [<A NAME="$1">\shift($@)</A>])
+
+\define([font], [\n\container([$0], $@)\n])
+
+\define([h1], [\n\container([$0], $@)\n])
+\define([h2], [\n\container([$0], $@)\n])
+\define([h3], [\n\container([$0], $@)\n])
+\define([h4], [\n\container([$0], $@)\n])
+\define([h5], [\n\container([$0], $@)\n])
+\define([h6], [\n\container([$0], $@)\n])
+
+\define([p], [\large_simple_container([$0], $@)])
+
+
+\define([ul], [\large_container([$0], $@)])
+\define([ol], [\large_container([$0], $@)])
+
+\define([li], [\simple_tag([$0], $@)])
+
+\define([dl], [\large_simple_container([$0], $@)])
+\define([dt], [\simple_container([$0], $@)])
+\define([dd], [\large_simple_container([$0], $@)])
+
+\define([br], [\simple_tag([$0], $@)])
+\define([hline], [\simple_tag([$0], $@)])
+
+\define([pre], [\simple_container([$0], $@)])
+
+
+
+\define([set_title], [\define([_TITLE], [$*])])
+\set_title(_TITLE)
+
+\define([set_author], [\define([_AUTHOR], [$*])])
+\set_author()
+
+\define([set_generator], [\define([_GENERATOR], [$*])])
+\set_generator([GNU m4 \__m4_version__])
+
+\define([set_keywords], [\define([_KEYWORDS], [$*])])
+\set_keywords()
+
+\define([set_body], [\define([_BODY], [$*])])
+\set_body()
+
+\define([meta_if_set],
+ [\ifelse(\defn([_$1]), [], [], \meta([$1], \defn([_$1])))]\dnl
+)
diff --git a/examples/WWW/m4lib/index.m4 b/examples/WWW/m4lib/index.m4
new file mode 100644
index 00000000..043faa35
--- /dev/null
+++ b/examples/WWW/m4lib/index.m4
@@ -0,0 +1,36 @@
+include(`setup.m4')
+
+\set_author([René Seindal])
+\set_title([Development site])
+
+\divert(1)
+\h2([Current development version is \__m4_version__.])
+
+\p([Development versions contain new features and experiments that might
+or might not make it into the next official release. The current
+development version contains among other things (browse the
+\link([features.htm], [new features]) for more detail):])
+
+\ul([
+ \li Uses GNU Automake and GNU Autoconf for configuration.
+
+ \li Uses GNU gettext for internationalisation.
+
+ \li Support for multiple precision arithmetic in eval.
+
+ \li An input syntax table to change how input is parsed.
+
+ \li Support for loadable modules.
+
+ \li Better control of sync-lines generation.
+
+ \li Various bug-fixes.
+])
+
+\p([A new release is expected ready for December 1998.])
+
+\p([GNU \tt(m4) 1.4 is from october 1994 and can be considered stable.])
+
+\divert(0)\dnl
+\DO_LAYOUT([\undivert(1)])
+\divert(-1)
diff --git a/examples/WWW/m4lib/layout.m4 b/examples/WWW/m4lib/layout.m4
new file mode 100644
index 00000000..6feb08ec
--- /dev/null
+++ b/examples/WWW/m4lib/layout.m4
@@ -0,0 +1,50 @@
+\divert(-1);
+The semicolons are just to get GNU Emacs C mode to indent properly.
+
+\define([C_TEXT], [text="#000000"]);
+\define([C_LINK], [link="#0000EF"]);
+\define([C_ALINK], [vlink="#51188E"]);
+\define([C_VLINK], [alink="#FF0000"]);
+\define([C_BG1], [bgcolor="#FFCC99"]);
+\define([C_BG2], [bgcolor="#FF9900"]);
+\define([C_BG3], [bgcolor="#CC6600"]);
+
+\define([DO_HEADER],
+ [\head([\title([GNU m4 - \defn([_TITLE])])],
+ [\meta_if_set([AUTHOR])],
+ [\meta_if_set([GENERATOR])],
+ [\meta_if_set([KEYWORDS])],
+ )]);
+
+\define([DO_BODY],
+ [\body([\C_TEXT \C_BG1 \C_LINK \C_VLINK \C_ALINK],
+ [\table([cellpadding=5 width="100%"],
+ [\tr([align=left valign=bottom],
+ [\td([align=center valign=center colspan="3" width="100%" \C_BG2],
+ [\h1([GNU m4])],
+ [\h2(\defn([_TITLE]))],
+ )],
+ )],
+ [\tr([],
+ [\td([align=left valign=top width="15%" \C_BG2],
+ [\include([menu.m4])],
+ )],
+ [\td([align=left valign=top width="90%"],
+ [$*],
+ )],
+ )],
+ )],
+ )]
+ );
+
+\define([DO_LAYOUT],
+ [\doctype([HTML PUBLIC "-//W3C//DTD HTML 4.0 TRANSITIONAL//EN"])
+\html([\DO_HEADER], [\DO_BODY([$*])])]
+ );
+
+\define([<], [&lt;]);
+\define([>], [&gt;]);
+
+\define([showlink], [\link($1, $1)]);
+\define([mailto], [\link(mailto:$1, $1)]);
+
diff --git a/examples/WWW/m4lib/lists.m4 b/examples/WWW/m4lib/lists.m4
new file mode 100644
index 00000000..cc710eba
--- /dev/null
+++ b/examples/WWW/m4lib/lists.m4
@@ -0,0 +1,32 @@
+include(`setup.m4')
+
+\set_author([René Seindal])
+\set_title([Mailing lists])
+
+\define([me], \link([mailto:rene@seindal.dk], [rene@seindal.dk]))
+
+\divert(1)
+
+\h3(There are two mailing lists for GNU m4)
+
+\dl(
+
+\dt(\b(\link(mailto:m4-forum@seindal.dk, m4-forum@seindal.dk)))
+
+\dd(\p(This list is intended for discussions between people interested
+and/or participating in the further development of m4.))
+
+\dt(\b(m4-announce@seindal.dk))
+
+\dd(\p(Announcements regarding GNU m4 will posted here.)
+\p(The volume will certainly be very low.))
+
+)
+
+\p(Currently these lists are maintained manually. Send a message to \me
+saying whether you want to subscribe or unsubscribe to any of these
+lists.)
+
+\divert(0)\dnl
+\DO_LAYOUT([\undivert(1)])
+\divert(-1)
diff --git a/examples/WWW/m4lib/menu.m4 b/examples/WWW/m4lib/menu.m4
new file mode 100644
index 00000000..1a770b63
--- /dev/null
+++ b/examples/WWW/m4lib/menu.m4
@@ -0,0 +1,35 @@
+\pushdef([header], [\tr([\td([\C_BG3], [\p([\b([$1])])])])])
+\pushdef([row], [\tr([\td([\font([size=-1], [\p([\b([\link([$1], [$2])])])])])])])
+
+\table([align=left valign=top columns=1],
+ [\header([Generel info])],
+ [\row([whatis.htm], [What is m4])],
+ [\row([features.htm], [Features])],
+ [\row([uses.htm], [Uses of m4])],
+
+ [\header([Documentation])],
+ [\row([man/m4_toc.html], [Manual])],
+
+ [\header([Source files])],
+ [\row([readme.htm], [README])],
+ [\row([todo.htm], [TODO])],
+ [\row([news.htm], [NEWS])],
+ [\row([changelog.htm], [ChangeLog])],
+ [\row([thanks.htm], [Contributors])],
+ [\row([m4/], [Browse it])],
+
+ [\header([The Future])],
+ [\row([modules.htm], [Modules])],
+ [\row([visions.htm], [Visions])],
+
+ [\header([Development])],
+ [\row([lists.htm], [Mailing-lists])],
+ [\row([feedback.htm], [Feedback])],
+ [\row([download.htm], [Download])],
+
+ [\header([Examples])],
+ [\row([thissite.htm], [This site])],
+ )
+
+\popdef([header])
+\popdef([row])
diff --git a/examples/WWW/m4lib/modules.m4 b/examples/WWW/m4lib/modules.m4
new file mode 100644
index 00000000..b9c148f1
--- /dev/null
+++ b/examples/WWW/m4lib/modules.m4
@@ -0,0 +1,18 @@
+include(`setup.m4')
+
+\set_author([René Seindal])
+\set_title([Modules])
+
+\divert(1)
+
+<PRE>\dnl
+\changesyntax([A<>])\dnl
+\changequote(,)\dnl
+\include(m4/modules/README)
+\changequote([,])\dnl
+\changesyntax([O<>])\dnl
+</PRE>
+
+\divert(0)\dnl
+\DO_LAYOUT([\undivert(1)])
+\divert(-1)
diff --git a/examples/WWW/m4lib/news.m4 b/examples/WWW/m4lib/news.m4
new file mode 100644
index 00000000..e5da0d89
--- /dev/null
+++ b/examples/WWW/m4lib/news.m4
@@ -0,0 +1,18 @@
+include(`setup.m4')
+
+\set_author([René Seindal])
+\set_title([NEWS - History of user-visible changes])
+
+\divert(1)
+
+<PRE>\dnl
+\changesyntax([A<>])\dnl
+\changequote(,)\dnl
+\include(m4/NEWS)
+\changequote([,])\dnl
+\changesyntax([O<>])\dnl
+</PRE>
+
+\divert(0)\dnl
+\DO_LAYOUT([\undivert(1)])
+\divert(-1)
diff --git a/examples/WWW/m4lib/readme.m4 b/examples/WWW/m4lib/readme.m4
new file mode 100644
index 00000000..1612c7d1
--- /dev/null
+++ b/examples/WWW/m4lib/readme.m4
@@ -0,0 +1,18 @@
+include(`setup.m4')
+
+\set_author([René Seindal])
+\set_title([README])
+
+\divert(1)
+
+<PRE>\dnl
+\changesyntax([A<>])\dnl
+\changequote(,)\dnl
+\include(m4/README)
+\changequote([,])\dnl
+\changesyntax([O<>])\dnl
+</PRE>
+
+\divert(0)\dnl
+\DO_LAYOUT([\undivert(1)])
+\divert(-1)
diff --git a/examples/WWW/m4lib/setup.m4 b/examples/WWW/m4lib/setup.m4
new file mode 100644
index 00000000..310b65f8
--- /dev/null
+++ b/examples/WWW/m4lib/setup.m4
@@ -0,0 +1,7 @@
+divert(-1)
+changequote([,])
+changecom([<!--], [-->])
+changesyntax([@\])
+
+\include([html.m4])
+\include([layout.m4])
diff --git a/examples/WWW/m4lib/test.m4 b/examples/WWW/m4lib/test.m4
new file mode 100644
index 00000000..9fdef40b
--- /dev/null
+++ b/examples/WWW/m4lib/test.m4
@@ -0,0 +1,9 @@
+include(`_setup.m4')
+\include([_html.m4])
+\include([_layout.m4])
+
+\set_title([Development site])
+
+\divert
+
+\DO_BODY([BODY])
diff --git a/examples/WWW/m4lib/thanks.m4 b/examples/WWW/m4lib/thanks.m4
new file mode 100644
index 00000000..61928d07
--- /dev/null
+++ b/examples/WWW/m4lib/thanks.m4
@@ -0,0 +1,18 @@
+include(`setup.m4')
+
+\set_author([René Seindal])
+\set_title([People who have contributed to m4])
+
+\divert(1)
+
+<PRE>\dnl
+\changesyntax([A<>])\dnl
+\changequote(,)\dnl
+\include(m4/THANKS)
+\changequote([,])\dnl
+\changesyntax([O<>])\dnl
+</PRE>
+
+\divert(0)\dnl
+\DO_LAYOUT([\undivert(1)])
+\divert(-1)
diff --git a/examples/WWW/m4lib/thissite.m4 b/examples/WWW/m4lib/thissite.m4
new file mode 100644
index 00000000..0d4d772b
--- /dev/null
+++ b/examples/WWW/m4lib/thissite.m4
@@ -0,0 +1,39 @@
+include(`setup.m4')
+
+\set_author([René Seindal])
+\set_title([This site])
+
+\divert(1)
+
+\p(This GNU m4 site is maintained by René Seindal,
+(\mailto(rene@seindal)).)
+
+\p(All files are generated using GNU m4 \__m4_version__. You can view
+the \link(m4lib/, source files). They are very simple. They use some
+features from Gnu m4 1.4l)
+
+\p(The basic M4 definitions of quotes, comments, escapes are in
+\showlink(m4lib/setup.m4). This is first included by all files to
+configure the enviroment correctly for the other files. To avoid have
+macros called by accident, an escape character is defined with
+changesyntax. \i(This is a new feature in m4 1.4l).)
+
+\p(Some fairly general macros to generate various HTML construct are
+found in \showlink(m4lib/html.m4). There are macros for simple tags,
+containers with and with attributes, links and a few utility macros.)
+
+\p(The visual aspects of the pages are in \showlink(m4lib/layout.m4).
+The macros herein generate the complete HTML structure for the pages.
+There are macros for making the header and the body of the document.)
+
+\p(The page body is passed to the layout definitions as an argument. As
+the text can be large, it is first diverted and the text passed to the
+layout macros is simply a call to undivert. That way a very large text
+can be passed around with very little cost. This page is made with
+\link(m4lib/thissite.m4, these definitions).)
+
+\p(There is a single file for each HTML file.)
+
+\divert(0)\dnl
+\DO_LAYOUT([\undivert(1)])
+\divert(-1)
diff --git a/examples/WWW/m4lib/tmpl.m4 b/examples/WWW/m4lib/tmpl.m4
new file mode 100644
index 00000000..8262d293
--- /dev/null
+++ b/examples/WWW/m4lib/tmpl.m4
@@ -0,0 +1,11 @@
+include(`setup.m4')
+
+\set_author([René Seindal])
+\set_title([])
+
+\divert(1)
+\h2([])
+
+\divert(0)\dnl
+\DO_LAYOUT([\undivert(1)])
+\divert(-1)
diff --git a/examples/WWW/m4lib/todo.m4 b/examples/WWW/m4lib/todo.m4
new file mode 100644
index 00000000..7a22c151
--- /dev/null
+++ b/examples/WWW/m4lib/todo.m4
@@ -0,0 +1,18 @@
+include(`setup.m4')
+
+\set_author([René Seindal])
+\set_title([TODO - Things still to be done])
+
+\divert(1)
+
+<PRE>\dnl
+\changesyntax([A<>])\dnl
+\changequote(,)\dnl
+\include(m4/TODO)
+\changequote([,])\dnl
+\changesyntax([O<>])\dnl
+</PRE>
+
+\divert(0)\dnl
+\DO_LAYOUT([\undivert(1)])
+\divert(-1)
diff --git a/examples/WWW/m4lib/uses.m4 b/examples/WWW/m4lib/uses.m4
new file mode 100644
index 00000000..75f7b6ae
--- /dev/null
+++ b/examples/WWW/m4lib/uses.m4
@@ -0,0 +1,36 @@
+include(`setup.m4')
+
+\set_author([René Seindal])
+\set_title([Current uses of m4])
+
+\divert(1)
+
+\p(The MTA sendmail uses \tt(m4) for generating configuration files.)
+
+\p(\link(http://www.gnu.org/software/autoconf/autoconf.html, GNU
+Autoconf) uses \tt(m4) to generate "configure" scripts, that are used
+for configuring \link(http://www.gnu.org/, GNU) software for a
+particular platform.)
+
+\p(Htm4l is a set of macros for generating HTML. Html4 is written by
+Terry Jones (terry@cliffs.ucsd.edu). See
+\showlink(http://cliffs.ucsd.edu/terry/htm4l/htm4l/main.html) for
+details. )
+
+\p(Various programs uses m4 to preprocess configuration files, for
+example the X11 window manager fvwm.)
+
+\p( There is an \link(http://www.ssc.com/lg/issue22/using_m4.html,
+article in the Linux Gazette) about writing HTML with GNU m4 written by
+\link(mailto:bhepple@bit.net.au, Bob Hepple) . More recent versions
+are kept at \link(http://www.bit.net.au/~bhepple, Bob's home site).
+The macros are used to maintain a large commercial site at
+\showlink(http://www.finder.com.au).)
+
+
+\p(\link(thissite.htm, These files are created with GNU m4 \__m4_version__).)
+
+
+\divert(0)\dnl
+\DO_LAYOUT([\undivert(1)])
+\divert(-1)
diff --git a/examples/WWW/m4lib/visions.m4 b/examples/WWW/m4lib/visions.m4
new file mode 100644
index 00000000..c904976d
--- /dev/null
+++ b/examples/WWW/m4lib/visions.m4
@@ -0,0 +1,28 @@
+include(`setup.m4')
+
+\set_author([René Seindal])
+\set_title([The Road Ahead])
+
+\divert(1)
+\h2([Possible features for future versions])
+
+
+\ul(
+
+\li \p(Guile can be used as an extension language so complicated macros can be
+written in Scheme while still maintaining the m4 interface.)
+
+\li\p(A kind of super-quotes can be added, quotes that aren't stripped
+when read, as are normal quotes. These quotes should be stripped when
+output. In that way text can be super-quote and consequently passed
+untouched to the output. It is a bit like comments, but there the
+quotes are removed before output.)
+
+)
+
+\p(See also the \link(todo.htm, TODO) file.)
+
+
+\divert(0)\dnl
+\DO_LAYOUT([\undivert(1)])
+\divert(-1)
diff --git a/examples/WWW/m4lib/whatis.m4 b/examples/WWW/m4lib/whatis.m4
new file mode 100644
index 00000000..506269a2
--- /dev/null
+++ b/examples/WWW/m4lib/whatis.m4
@@ -0,0 +1,43 @@
+include(`setup.m4')
+
+\set_author([René Seindal])
+\set_title([What is GNU m4])
+
+\divert(1)
+
+\p([GNU \tt(m4) is an implementation of the traditional Unix macro
+processor. It is mostly SVR4 compatible, although it has some extensions
+(for example, handling more than 9 positional parameters to macros). GNU
+\tt(m4) also has built-in functions for including files, running shell
+commands, doing arithmetic, etc.])
+
+\p([GNU \tt(m4) is a macro processor, in the sense that it copies its
+input to the output, expanding macros as it goes. Macros are either
+builtin or user-defined, and can take any number of arguments. Besides
+just doing macro expansion, m4 has builtin functions for including named
+files, running UNIX commands, doing integer arithmetic, manipulating
+text in various ways, recursion, etc... m4 can be used either as a
+front-end to a compiler, or as a macro processor in its own right.])
+
+\p([The m4 macro processor is widely available on all UNIXes. Usually,
+only a small percentage of users are aware of its existence. However,
+those who do often become commited users. The growing popularity of GNU
+Autoconf, which prerequires GNU m4 for generating the `configure'
+scripts, is an incentive for many to install it, while these people will
+not themselves program in m4. GNU m4 is mostly compatible with the
+System V, Release 3 version, except for some minor differences.])
+
+\p([Some people found m4 to be fairly addictive. They first use m4 for
+simple problems, then take bigger and bigger challenges, learning how to
+write complex m4 sets of macros along the way. Once really addicted,
+users pursue writing of sophisticated m4 applications even to solve
+simple problems, devoting more time debugging their m4 scripts than
+doing real work. Beware that m4 may be dangerous for the health of
+compulsive programmers.])
+
+\p([Autoconf needs GNU m4 for generating `configure' scripts, but not for
+running them.])
+
+\divert(0)\dnl
+\DO_LAYOUT([\undivert(1)])
+\divert(-1)
diff --git a/examples/WWW/modules.htm b/examples/WWW/modules.htm
new file mode 100644
index 00000000..ee668972
--- /dev/null
+++ b/examples/WWW/modules.htm
@@ -0,0 +1,347 @@
+<DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 TRANSITIONAL//EN">
+<HTML>
+<HEAD>
+<TITLE>GNU m4 - Modules</TITLE>
+<META NAME="AUTHOR" CONTENT="René Seindal">
+<META NAME="GENERATOR" CONTENT="GNU m4 1.4l">
+</HEAD>
+ <BODY text="#000000" bgcolor="#FFCC99" link="#0000EF" alink="#FF0000" vlink="#51188E">
+<TABLE cellpadding=5 width="100%">
+<TR align=left valign=bottom>
+<TD align=center valign=center colspan="3" width="100%" bgcolor="#FF9900">
+
+<H1>GNU m4</H1>
+
+<H2>Modules</H2>
+
+</TD>
+
+</TR>
+ <TR >
+<TD align=left valign=top width="15%" bgcolor="#FF9900">
+
+
+
+<TABLE align=left valign=top columns=1>
+<TR>
+<TD bgcolor="#CC6600">
+<P>
+<B>Generel info</B>
+</P>
+
+</TD>
+
+</TR>
+ <TR>
+<TD>
+
+<FONT size=-1><P>
+<B><A HREF="whatis.htm">What is m4</A></B>
+</P>
+</FONT>
+
+</TD>
+
+</TR>
+ <TR>
+<TD>
+
+<FONT size=-1><P>
+<B><A HREF="features.htm">Features</A></B>
+</P>
+</FONT>
+
+</TD>
+
+</TR>
+ <TR>
+<TD>
+
+<FONT size=-1><P>
+<B><A HREF="uses.htm">Uses of m4</A></B>
+</P>
+</FONT>
+
+</TD>
+
+</TR>
+ <TR>
+<TD bgcolor="#CC6600">
+<P>
+<B>Documentation</B>
+</P>
+
+</TD>
+
+</TR>
+ <TR>
+<TD>
+
+<FONT size=-1><P>
+<B><A HREF="man/m4_toc.html">Manual</A></B>
+</P>
+</FONT>
+
+</TD>
+
+</TR>
+ <TR>
+<TD bgcolor="#CC6600">
+<P>
+<B>Source files</B>
+</P>
+
+</TD>
+
+</TR>
+ <TR>
+<TD>
+
+<FONT size=-1><P>
+<B><A HREF="readme.htm">README</A></B>
+</P>
+</FONT>
+
+</TD>
+
+</TR>
+ <TR>
+<TD>
+
+<FONT size=-1><P>
+<B><A HREF="todo.htm">TODO</A></B>
+</P>
+</FONT>
+
+</TD>
+
+</TR>
+ <TR>
+<TD>
+
+<FONT size=-1><P>
+<B><A HREF="news.htm">NEWS</A></B>
+</P>
+</FONT>
+
+</TD>
+
+</TR>
+ <TR>
+<TD>
+
+<FONT size=-1><P>
+<B><A HREF="changelog.htm">ChangeLog</A></B>
+</P>
+</FONT>
+
+</TD>
+
+</TR>
+ <TR>
+<TD>
+
+<FONT size=-1><P>
+<B><A HREF="thanks.htm">Contributors</A></B>
+</P>
+</FONT>
+
+</TD>
+
+</TR>
+ <TR>
+<TD>
+
+<FONT size=-1><P>
+<B><A HREF="m4/">Browse it</A></B>
+</P>
+</FONT>
+
+</TD>
+
+</TR>
+ <TR>
+<TD bgcolor="#CC6600">
+<P>
+<B>The Future</B>
+</P>
+
+</TD>
+
+</TR>
+ <TR>
+<TD>
+
+<FONT size=-1><P>
+<B><A HREF="modules.htm">Modules</A></B>
+</P>
+</FONT>
+
+</TD>
+
+</TR>
+ <TR>
+<TD>
+
+<FONT size=-1><P>
+<B><A HREF="visions.htm">Visions</A></B>
+</P>
+</FONT>
+
+</TD>
+
+</TR>
+ <TR>
+<TD bgcolor="#CC6600">
+<P>
+<B>Development</B>
+</P>
+
+</TD>
+
+</TR>
+ <TR>
+<TD>
+
+<FONT size=-1><P>
+<B><A HREF="lists.htm">Mailing-lists</A></B>
+</P>
+</FONT>
+
+</TD>
+
+</TR>
+ <TR>
+<TD>
+
+<FONT size=-1><P>
+<B><A HREF="feedback.htm">Feedback</A></B>
+</P>
+</FONT>
+
+</TD>
+
+</TR>
+ <TR>
+<TD>
+
+<FONT size=-1><P>
+<B><A HREF="download.htm">Download</A></B>
+</P>
+</FONT>
+
+</TD>
+
+</TR>
+ <TR>
+<TD bgcolor="#CC6600">
+<P>
+<B>Examples</B>
+</P>
+
+</TD>
+
+</TR>
+ <TR>
+<TD>
+
+<FONT size=-1><P>
+<B><A HREF="thissite.htm">This site</A></B>
+</P>
+</FONT>
+
+</TD>
+
+</TR>
+
+</TABLE>
+
+
+
+
+
+</TD>
+ <TD align=left valign=top width="90%">
+
+
+<PRE>This directory contains demonstration modules for GNU m4.
+
+Nothing in this directory is built by default.
+
+Dynamic modules is a experimental feature of GNU m4. Currently it has
+only been certified to work under Linux 2.0.
+
+Dynamic modules are only available if GNU m4 was configured with
+--with-modules and if the dlopen(3) interface is available in the
+operating system.
+
+Implementation details are in ../src/module.c
+
+A module is a compiled shared object, i.e., modules are written in C and
+then compiled. The compiled file can then be loaded into a running m4
+process by calling the builtin "loadmodule". This will give GNU m4
+access to any system feature with a C interface.
+
+Modules are searched for in M4MODPATH, if set, and in a module directory
+defined at configure time, default /usr/local/libexec/m4.
+
+A module extends GNU m4 by defining new builtins, It can define builtins
+with the same names as existing builtins, which will then be
+unavailable. A module cannot redefine internal functions of GNU m4,
+such as the input parser or argument handling.
+
+The infrastructure for writing and compiling modules is still a bit
+wanting.
+
+Each module should include the two header files ../src/m4.h and
+../src/builtin.h. These will include &lt;ctype.h&gt;, &lt;stdio.h&gt;,
+../lib/obstack.h and ../config.h.
+
+Each module *must* define the symbol "m4_macro_table" as a pointer to a
+table of "struct builtin" (defined in m4.h). The table ends with an
+entry with name == NULL. The builtins described in the table will be
+defined by GNU m4 as were they normal builtins.
+
+If a module defines the symbol "m4_init_module", it is supposed to be a
+function with a prototype of "void m4_init_module(struct obstack *obs)",
+and it will be called as soon as the module is loaded. Any non-finished
+object left on the obstack will be the expansion of the call of the
+builtin "loadmodule". The obstack pointer might be NULL (in the future).
+
+If a module defines the symbol "m4_finish_module", it is supposed to be
+a function with a prototype of "void m4_finish_module(void)", and it
+will be called just before GNU m4 exits. This will allow a module to
+clean up before exit. There is no way of communicating information to
+the user, as GNU m4 exits immeidately afterwards.
+
+No other symbols will be used by GNU m4. Other external symbols within
+the module are private and will not be accessible to GNU m4 or to other
+modules.
+
+Modules are allowed to call external functions already defined within
+the GNU m4 sources. Some of these have prototypes in builtin.h.
+
+
+A complete, though silly, example is found in test.c. A more
+interesting example is in time.c.
+
+To try the demos, compile with `make' and run them with the commands as:
+
+ M4MODPATH=`pwd` ../src/m4 time.m4
+
+
+</PRE>
+
+
+</TD>
+
+</TR>
+
+</TABLE>
+
+</BODY>
+
+
+</HTML>
+
+
diff --git a/examples/WWW/news.htm b/examples/WWW/news.htm
new file mode 100644
index 00000000..ed4f374f
--- /dev/null
+++ b/examples/WWW/news.htm
@@ -0,0 +1,551 @@
+<DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 TRANSITIONAL//EN">
+<HTML>
+<HEAD>
+<TITLE>GNU m4 - NEWS - History of user-visible changes</TITLE>
+<META NAME="AUTHOR" CONTENT="René Seindal">
+<META NAME="GENERATOR" CONTENT="GNU m4 1.4l">
+</HEAD>
+ <BODY text="#000000" bgcolor="#FFCC99" link="#0000EF" alink="#FF0000" vlink="#51188E">
+<TABLE cellpadding=5 width="100%">
+<TR align=left valign=bottom>
+<TD align=center valign=center colspan="3" width="100%" bgcolor="#FF9900">
+
+<H1>GNU m4</H1>
+
+<H2>NEWS - History of user-visible changes</H2>
+
+</TD>
+
+</TR>
+ <TR >
+<TD align=left valign=top width="15%" bgcolor="#FF9900">
+
+
+
+<TABLE align=left valign=top columns=1>
+<TR>
+<TD bgcolor="#CC6600">
+<P>
+<B>Generel info</B>
+</P>
+
+</TD>
+
+</TR>
+ <TR>
+<TD>
+
+<FONT size=-1><P>
+<B><A HREF="whatis.htm">What is m4</A></B>
+</P>
+</FONT>
+
+</TD>
+
+</TR>
+ <TR>
+<TD>
+
+<FONT size=-1><P>
+<B><A HREF="features.htm">Features</A></B>
+</P>
+</FONT>
+
+</TD>
+
+</TR>
+ <TR>
+<TD>
+
+<FONT size=-1><P>
+<B><A HREF="uses.htm">Uses of m4</A></B>
+</P>
+</FONT>
+
+</TD>
+
+</TR>
+ <TR>
+<TD bgcolor="#CC6600">
+<P>
+<B>Documentation</B>
+</P>
+
+</TD>
+
+</TR>
+ <TR>
+<TD>
+
+<FONT size=-1><P>
+<B><A HREF="man/m4_toc.html">Manual</A></B>
+</P>
+</FONT>
+
+</TD>
+
+</TR>
+ <TR>
+<TD bgcolor="#CC6600">
+<P>
+<B>Source files</B>
+</P>
+
+</TD>
+
+</TR>
+ <TR>
+<TD>
+
+<FONT size=-1><P>
+<B><A HREF="readme.htm">README</A></B>
+</P>
+</FONT>
+
+</TD>
+
+</TR>
+ <TR>
+<TD>
+
+<FONT size=-1><P>
+<B><A HREF="todo.htm">TODO</A></B>
+</P>
+</FONT>
+
+</TD>
+
+</TR>
+ <TR>
+<TD>
+
+<FONT size=-1><P>
+<B><A HREF="news.htm">NEWS</A></B>
+</P>
+</FONT>
+
+</TD>
+
+</TR>
+ <TR>
+<TD>
+
+<FONT size=-1><P>
+<B><A HREF="changelog.htm">ChangeLog</A></B>
+</P>
+</FONT>
+
+</TD>
+
+</TR>
+ <TR>
+<TD>
+
+<FONT size=-1><P>
+<B><A HREF="thanks.htm">Contributors</A></B>
+</P>
+</FONT>
+
+</TD>
+
+</TR>
+ <TR>
+<TD>
+
+<FONT size=-1><P>
+<B><A HREF="m4/">Browse it</A></B>
+</P>
+</FONT>
+
+</TD>
+
+</TR>
+ <TR>
+<TD bgcolor="#CC6600">
+<P>
+<B>The Future</B>
+</P>
+
+</TD>
+
+</TR>
+ <TR>
+<TD>
+
+<FONT size=-1><P>
+<B><A HREF="modules.htm">Modules</A></B>
+</P>
+</FONT>
+
+</TD>
+
+</TR>
+ <TR>
+<TD>
+
+<FONT size=-1><P>
+<B><A HREF="visions.htm">Visions</A></B>
+</P>
+</FONT>
+
+</TD>
+
+</TR>
+ <TR>
+<TD bgcolor="#CC6600">
+<P>
+<B>Development</B>
+</P>
+
+</TD>
+
+</TR>
+ <TR>
+<TD>
+
+<FONT size=-1><P>
+<B><A HREF="lists.htm">Mailing-lists</A></B>
+</P>
+</FONT>
+
+</TD>
+
+</TR>
+ <TR>
+<TD>
+
+<FONT size=-1><P>
+<B><A HREF="feedback.htm">Feedback</A></B>
+</P>
+</FONT>
+
+</TD>
+
+</TR>
+ <TR>
+<TD>
+
+<FONT size=-1><P>
+<B><A HREF="download.htm">Download</A></B>
+</P>
+</FONT>
+
+</TD>
+
+</TR>
+ <TR>
+<TD bgcolor="#CC6600">
+<P>
+<B>Examples</B>
+</P>
+
+</TD>
+
+</TR>
+ <TR>
+<TD>
+
+<FONT size=-1><P>
+<B><A HREF="thissite.htm">This site</A></B>
+</P>
+</FONT>
+
+</TD>
+
+</TR>
+
+</TABLE>
+
+
+
+
+
+</TD>
+ <TD align=left valign=top width="90%">
+
+
+<PRE>GNU m4 NEWS - History of user-visible changes. -*-indented-text-*-
+Copyright (C) 1992, 1993, 1994, 1998 Free Software Foundation, Inc.
+
+Version beta 1.4m - November 1998, by Rene' Seindal
+
+* Using libtool for compiling modules and for linking main app.
+
+* Reorganised the dynamic module code to encapsulate system dependencies
+ better. The code for HPUX shl_load() still needs testing and debugging.
+ A dld interface is also missing. Any volunteers?
+
+* The files from the GNU m4 web-site is now in examples/WWW as a more
+ complete example of what GNU m4 can do.
+
+Version beta 1.4l - November 1998, by Rene' Seindal
+
+* GNU m4 now has an escape syntax category. If a character is marked as
+ an escape, words are only recognised as macros if preceded by an escape
+ character. It is a bit like -P, but dynamic: it can be turned on and
+ off. The GNU m4 web-site on http://www.seindal.dk/rene/gnu/ is
+ maintained with this feature - the m4 source is available on the site.
+
+* The module interface is improved, thanks to "Brian J. Fox"
+ &lt;bfox@datawave.net&gt;, who have contributed some code from Meta-HTML. The
+ modules now build automatically and installs properly, by default in
+ /usr/local/libexec/m4. There is a preliminary, untested support for
+ shl_load().
+
+* There is now a __m4_version__ macro that expands to the current version
+ number.
+
+Version beta 1.4k - November 1998, by Erick Branderhorst and Rene' Seindal
+
+* GNU m4 now uses gettext to support internationalization.
+
+* GNU m4 now uses automake to control Makefile.in generation. This
+ should make it more consistent with the GNU standards.
+
+* GNU m4 will use the gmp library for multiple precision integral and
+ rational arithmetic in `eval' if configured with `--with-gmp'. If
+ configured without `--with-gmp' or if gmp is not available, and the type
+ `long long int' is, GNU m4 will use that for `eval' arithmetic.
+
+* GNU m4 now parses the input according to a syntax table, that can be
+ modified through the new builtin `changesyntax'. It is a generalisation
+ of the existing builtins `changecom' and `changequote'. The changes are
+ completely backwards compatible (except for the existence of
+ `changesyntax').
+
+* Sync lines can be turned on and off with the `syncoutput' builtin. The
+ builtin `syncoutput' is a GNU extension.
+
+* New experimental feature: dynamically loadable modules. New builtin
+ `loadmodules' loads shared libraries, that can define new builtin
+ macros, ie, new macros can be written in C. Depends on the dlopen()
+ interface, and is currently only tested on Linux. Enabled at configure
+ time with `--with-modules'. Documentation is in src/module.c and
+ module/README.
+
+* Implement a GNU message catalog for French (Franc,ois Pinard).
+
+* Filenames found through path searches are now correctly reflected in
+ error and debug messages and through the `__file__' macro.
+
+Bugs fixed
+
+* All 8-bit characters can now be used for quotes.
+
+
+Version 1.4 - October 1994, by Franc,ois Pinard
+
+(No user visible changes)
+
+
+Version 1.3 - September 1994, by Franc,ois Pinard
+
+* Diversions are created as needed. Option `-N' is still accepted, but
+otherwise ignored. Users should use only negative diversion numbers,
+instead of high positive numbers, for diverting to nowhere.
+
+* Diversions should also work faster. No temporary files will be needed
+at all if all diversions taken altogether do not use more than 512K.
+
+* Frozen state files may be produced with the `--freeze-state' (-F)
+option and later brought back through the `--reload-state' (-R) option.
+
+
+Version 1.2 - July 1994, by Franc,ois Pinard
+
+* In patsubst(STRING, REGEXP, REPLACEMENT), \& in REPLACEMENT has been
+changed to represent this part of STRING matched by the whole REGEXP,
+instead of the whole STRING as before. \0 does the same, but emits a
+diagnostic saying it will disappear in some subsequent release.
+
+* eval(EXPR) emits a diagnostic if EXPR has suffixed crumb. The same for
+other numeric conversions in incr(), decr(), divert(), etc.
+
+* `--fatal-warnings' (-E) stops execution at first warning.
+
+* `--nesting-limit=LEVEL' (-L LEVEL) sets a limit to macro nesting.
+It is initially fixed at 250.
+
+* `--word-regexp=REGEXP' (-W REGEXP) modifies macro name syntax, like
+does the new `changeword(REGEXP)' macro. This feature is experimental,
+tell me your opinions about it. You do need --enable-changeword at
+configure time to get these things. Do *not* depend on them yet.
+
+* Trace output format is scannable by GNU Emacs' next-error function.
+
+* Stack overflow is detected and diagnosed on some capable systems.
+
+* Various bugs have been corrected, m4 should be more portable. See the
+ChangeLog for details.
+
+
+Version 1.1 - November 1993, by Franc,ois Pinard
+
+Changes which might affect existing GNU m4 scripts:
+
+* Option `-V' has been removed, use `--version' instead. `--version'
+writes on standard output instead of standard error, and inhibits any
+script execution.
+
+* `--no-gnu-extensions' has been renamed `--traditional'.
+
+* In `eval', `^' used to indicate exponentiation, use `**' instead.
+
+* The automatic undiversion which takes place at end of all input is
+forced into the main output stream.
+
+Changes which are unlikely to affect existing scripts:
+
+* `--help' prints an usage summary on standard output. Script execution
+is then inhibited.
+
+* `--prefix-builtins' (-P) prefixes all builtin macros by `m4_'.
+
+* Most builtin macros for which arguments are mandatory, called without
+any arguments, are no more recognized as builtin macros: they are
+consequently copied verbatim to the output stream.
+
+* `define' and `pushdef' are usable with only one argument, they give
+this argument an empty definition.
+
+* `eval' new operators for binary representation handling: `^' for
+exclusive-or, `~' for the bitwise negation, `&lt;&lt;' and `&gt;&gt;' for shifts.
+
+* `eval' recognizes the notation 0bDIGITS for binary numbers and the
+notation 0rRADIX:DIGITS for numbers in any radix from 1 to 36.
+
+Version 1.0.3 - December 1992, by Franc,ois Pinard
+
+Changes for the user:
+
+* `dnl' outputs a diagnostic if immediately followed by `('. Usually,
+`dnl' is followed by newline or whitespace.
+
+* `ifelse' accepts without complaining the common idiom of having only
+one argument. This is useful for introducing long comments.
+
+* `eval' always expresses values as signed, whatever the radix.
+
+* M4OPTS environment variable is no longer obeyed.
+
+* `--no-warnings' option is renamed `--silent'.
+
+* Debug lines use a new format more compatible with GNU standards.
+
+* Various bugs have been corrected. See the ChangeLog for details.
+
+Changes for the installer:
+
+* GNU m4 now uses an Autoconf-generated configure script, and should be
+more easily portable in many ways. (Cray is not supported yet).
+
+* `make check' has been made more portable, expect no errors.
+
+Changes for the programmer:
+
+* Sources have been fully reindented to comply with GNU standards, and
+cleaned up in many ways.
+
+* Sources have been protoized. Non-ANSI compilers are automatically
+detected, then sources are unprotoized on the fly before compilation.
+
+* GNU m4 uses newer versions of obstack, regex, getopt, etc.
+
+Version 1.0 - October 1991, by Rene' Seindal
+
+* Uses GNU configure, taken from the gdb distribution.
+
+* Uses GNU getopt(), with long option names.
+
+* The -Q/+quiet option is added, which suppresses warnings about missing
+or superflous arguments to built-in macros.
+
+* Added default options via the M4OPTS environment variable.
+
+* Several minor bugs have been fixed.
+
+Version 0.99 - July 1991, by Rene' Seindal
+
+* The builtins `incr' and `decr' are now implemented without use of
+`eval'.
+
+* The builtin `indir' is added, to allow for indirect macro calls
+(allows use of "illegal" macro names).
+
+* The debugging and tracing facilities has been enhanced considerably.
+See the manual for details.
+
+* The -tMACRO option is added, marks MACRO for tracing as soon as it
+is defined.
+
+* Builtins are traced after renaming iff they were before.
+
+* Named files can now be undiverted.
+
+* The -Nnum option can be used to increase the number of divertions
+available.
+
+* Calling changecom without arguments now disables all comment handling.
+
+* A bug in `dnl' is fixed.
+
+* A bug in the multi-character quoting code is fixed.
+
+* Several typos in the manual has been corrected. More probably persist.
+
+Version 0.75 - November 1990, by Rene' Seindal
+
+* Implemented search path for include files (-I option and M4PATH
+environment variable).
+
+* Implemented builtin `format' for printf-like formatting.
+
+* Implemented builtin `regexp' for searching for regular expressions.
+
+* Implemented builtin `patsubst' for substitution with regular
+expressions.
+
+* Implemented builtin `esyscmd', which expands to a shell commands output.
+
+* Implemented `__file__' and `__line__' for use in error messages.
+
+* Implemented character ranges in `translit'.
+
+* Implemented control over debugging output.
+
+* Implemented multi-character quotes.
+
+* Implemented multi-character comment delimiters.
+
+* Changed predefined macro `gnu' to `__gnu__'.
+
+* Changed predefined macro `unix' to `__unix__', when the -G option is
+not used. With -G, `unix' is still defined.
+
+* Added program name to error messages.
+
+* Fixed two missing null bytes bugs.
+
+Version 0.50 - January 1990, by Rene' Seindal
+
+* Initial beta release.
+
+Local Variables:
+fill-column: 75
+End:
+
+</PRE>
+
+
+</TD>
+
+</TR>
+
+</TABLE>
+
+</BODY>
+
+
+</HTML>
+
+
diff --git a/examples/WWW/readme.htm b/examples/WWW/readme.htm
new file mode 100644
index 00000000..09d483e7
--- /dev/null
+++ b/examples/WWW/readme.htm
@@ -0,0 +1,329 @@
+<DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 TRANSITIONAL//EN">
+<HTML>
+<HEAD>
+<TITLE>GNU m4 - README</TITLE>
+<META NAME="AUTHOR" CONTENT="René Seindal">
+<META NAME="GENERATOR" CONTENT="GNU m4 1.4l">
+</HEAD>
+ <BODY text="#000000" bgcolor="#FFCC99" link="#0000EF" alink="#FF0000" vlink="#51188E">
+<TABLE cellpadding=5 width="100%">
+<TR align=left valign=bottom>
+<TD align=center valign=center colspan="3" width="100%" bgcolor="#FF9900">
+
+<H1>GNU m4</H1>
+
+<H2>README</H2>
+
+</TD>
+
+</TR>
+ <TR >
+<TD align=left valign=top width="15%" bgcolor="#FF9900">
+
+
+
+<TABLE align=left valign=top columns=1>
+<TR>
+<TD bgcolor="#CC6600">
+<P>
+<B>Generel info</B>
+</P>
+
+</TD>
+
+</TR>
+ <TR>
+<TD>
+
+<FONT size=-1><P>
+<B><A HREF="whatis.htm">What is m4</A></B>
+</P>
+</FONT>
+
+</TD>
+
+</TR>
+ <TR>
+<TD>
+
+<FONT size=-1><P>
+<B><A HREF="features.htm">Features</A></B>
+</P>
+</FONT>
+
+</TD>
+
+</TR>
+ <TR>
+<TD>
+
+<FONT size=-1><P>
+<B><A HREF="uses.htm">Uses of m4</A></B>
+</P>
+</FONT>
+
+</TD>
+
+</TR>
+ <TR>
+<TD bgcolor="#CC6600">
+<P>
+<B>Documentation</B>
+</P>
+
+</TD>
+
+</TR>
+ <TR>
+<TD>
+
+<FONT size=-1><P>
+<B><A HREF="man/m4_toc.html">Manual</A></B>
+</P>
+</FONT>
+
+</TD>
+
+</TR>
+ <TR>
+<TD bgcolor="#CC6600">
+<P>
+<B>Source files</B>
+</P>
+
+</TD>
+
+</TR>
+ <TR>
+<TD>
+
+<FONT size=-1><P>
+<B><A HREF="readme.htm">README</A></B>
+</P>
+</FONT>
+
+</TD>
+
+</TR>
+ <TR>
+<TD>
+
+<FONT size=-1><P>
+<B><A HREF="todo.htm">TODO</A></B>
+</P>
+</FONT>
+
+</TD>
+
+</TR>
+ <TR>
+<TD>
+
+<FONT size=-1><P>
+<B><A HREF="news.htm">NEWS</A></B>
+</P>
+</FONT>
+
+</TD>
+
+</TR>
+ <TR>
+<TD>
+
+<FONT size=-1><P>
+<B><A HREF="changelog.htm">ChangeLog</A></B>
+</P>
+</FONT>
+
+</TD>
+
+</TR>
+ <TR>
+<TD>
+
+<FONT size=-1><P>
+<B><A HREF="thanks.htm">Contributors</A></B>
+</P>
+</FONT>
+
+</TD>
+
+</TR>
+ <TR>
+<TD>
+
+<FONT size=-1><P>
+<B><A HREF="m4/">Browse it</A></B>
+</P>
+</FONT>
+
+</TD>
+
+</TR>
+ <TR>
+<TD bgcolor="#CC6600">
+<P>
+<B>The Future</B>
+</P>
+
+</TD>
+
+</TR>
+ <TR>
+<TD>
+
+<FONT size=-1><P>
+<B><A HREF="modules.htm">Modules</A></B>
+</P>
+</FONT>
+
+</TD>
+
+</TR>
+ <TR>
+<TD>
+
+<FONT size=-1><P>
+<B><A HREF="visions.htm">Visions</A></B>
+</P>
+</FONT>
+
+</TD>
+
+</TR>
+ <TR>
+<TD bgcolor="#CC6600">
+<P>
+<B>Development</B>
+</P>
+
+</TD>
+
+</TR>
+ <TR>
+<TD>
+
+<FONT size=-1><P>
+<B><A HREF="lists.htm">Mailing-lists</A></B>
+</P>
+</FONT>
+
+</TD>
+
+</TR>
+ <TR>
+<TD>
+
+<FONT size=-1><P>
+<B><A HREF="feedback.htm">Feedback</A></B>
+</P>
+</FONT>
+
+</TD>
+
+</TR>
+ <TR>
+<TD>
+
+<FONT size=-1><P>
+<B><A HREF="download.htm">Download</A></B>
+</P>
+</FONT>
+
+</TD>
+
+</TR>
+ <TR>
+<TD bgcolor="#CC6600">
+<P>
+<B>Examples</B>
+</P>
+
+</TD>
+
+</TR>
+ <TR>
+<TD>
+
+<FONT size=-1><P>
+<B><A HREF="thissite.htm">This site</A></B>
+</P>
+</FONT>
+
+</TD>
+
+</TR>
+
+</TABLE>
+
+
+
+
+
+</TD>
+ <TD align=left valign=top width="90%">
+
+
+<PRE>GNU `m4' is an implementation of the traditional Unix macro
+processor. It is mostly SVR4 compatible, although it has some
+extensions (for example, handling more than 9 positional parameters
+to macros). `m4' also has built-in functions for including files,
+running shell commands, doing arithmetic, etc. Autoconf needs GNU
+`m4' for generating `configure' scripts, but not for running them.
+
+GNU `m4' has been originally written by René Seindal, from Denmark.
+
+If GNU `m4' is meant to serve GNU `autoconf', beware that `m4'
+should be fully installed *prior to* configuring `autoconf' itself.
+
+In the subdirectories `tests' and `examples' you will find various m4
+files, ranging from trivial test files to rather advanced macros. If
+you intend to use m4 seriously, you might find useful material down
+there.
+
+See file `COPYING' for copying conditions.
+See file `INSTALL' for compilation and installation instructions.
+See file `ABOUT-NLS' for how to customize this program to your language.
+See file `NEWS' for a list of major changes in the current release.
+See file `THANKS' for a list of contributors.
+
+By using `./configure --with-gmp, you get multiple precision integral
+and rational arithmetic in eval. The implementation depends on the GNU
+gmp v2 library.
+
+By using `./configure --with-modules, you get the possibility of using
+dynamic modules. The implementation depends on dlopen(3) interface.
+See file `modules/README' for a more detailed description.
+
+By using `./configure --enable-changeword', you get an experimental
+feature which allows for changing the syntax of what is a "word" in
+`m4'. THIS WILL PROBABLY GO AWAY, so don't count on it. Some of the
+same things can be achieved with `changesyntax' at a much better speed.
+
+By using `./configure --with-dmalloc', GNU m4 is linked with Gray
+Watson's dmalloc package. It is a debugging option for finding memory
+management problems. Gray Watson's dmalloc package is available at
+ftp://ftp.letters.com/src/dmalloc/dmalloc.tar.gz.
+
+Send bug reports, comments or ideas to `bug-m4@gnu.org'. A bug report
+is an adequate description of the problem: your input, what you
+expected, what you got, and why this is wrong. Diffs are welcome, but
+they only describe a solution, from which the problem might be uneasy to
+infer. Don't forget all relevant information about your operating
+system, compiler, libraries, ...
+
+</PRE>
+
+
+</TD>
+
+</TR>
+
+</TABLE>
+
+</BODY>
+
+
+</HTML>
+
+
diff --git a/examples/WWW/thanks.htm b/examples/WWW/thanks.htm
new file mode 100644
index 00000000..78470a16
--- /dev/null
+++ b/examples/WWW/thanks.htm
@@ -0,0 +1,377 @@
+<DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 TRANSITIONAL//EN">
+<HTML>
+<HEAD>
+<TITLE>GNU m4 - People who have contributed to m4</TITLE>
+<META NAME="AUTHOR" CONTENT="René Seindal">
+<META NAME="GENERATOR" CONTENT="GNU m4 1.4l">
+</HEAD>
+ <BODY text="#000000" bgcolor="#FFCC99" link="#0000EF" alink="#FF0000" vlink="#51188E">
+<TABLE cellpadding=5 width="100%">
+<TR align=left valign=bottom>
+<TD align=center valign=center colspan="3" width="100%" bgcolor="#FF9900">
+
+<H1>GNU m4</H1>
+
+<H2>People who have contributed to m4</H2>
+
+</TD>
+
+</TR>
+ <TR >
+<TD align=left valign=top width="15%" bgcolor="#FF9900">
+
+
+
+<TABLE align=left valign=top columns=1>
+<TR>
+<TD bgcolor="#CC6600">
+<P>
+<B>Generel info</B>
+</P>
+
+</TD>
+
+</TR>
+ <TR>
+<TD>
+
+<FONT size=-1><P>
+<B><A HREF="whatis.htm">What is m4</A></B>
+</P>
+</FONT>
+
+</TD>
+
+</TR>
+ <TR>
+<TD>
+
+<FONT size=-1><P>
+<B><A HREF="features.htm">Features</A></B>
+</P>
+</FONT>
+
+</TD>
+
+</TR>
+ <TR>
+<TD>
+
+<FONT size=-1><P>
+<B><A HREF="uses.htm">Uses of m4</A></B>
+</P>
+</FONT>
+
+</TD>
+
+</TR>
+ <TR>
+<TD bgcolor="#CC6600">
+<P>
+<B>Documentation</B>
+</P>
+
+</TD>
+
+</TR>
+ <TR>
+<TD>
+
+<FONT size=-1><P>
+<B><A HREF="man/m4_toc.html">Manual</A></B>
+</P>
+</FONT>
+
+</TD>
+
+</TR>
+ <TR>
+<TD bgcolor="#CC6600">
+<P>
+<B>Source files</B>
+</P>
+
+</TD>
+
+</TR>
+ <TR>
+<TD>
+
+<FONT size=-1><P>
+<B><A HREF="readme.htm">README</A></B>
+</P>
+</FONT>
+
+</TD>
+
+</TR>
+ <TR>
+<TD>
+
+<FONT size=-1><P>
+<B><A HREF="todo.htm">TODO</A></B>
+</P>
+</FONT>
+
+</TD>
+
+</TR>
+ <TR>
+<TD>
+
+<FONT size=-1><P>
+<B><A HREF="news.htm">NEWS</A></B>
+</P>
+</FONT>
+
+</TD>
+
+</TR>
+ <TR>
+<TD>
+
+<FONT size=-1><P>
+<B><A HREF="changelog.htm">ChangeLog</A></B>
+</P>
+</FONT>
+
+</TD>
+
+</TR>
+ <TR>
+<TD>
+
+<FONT size=-1><P>
+<B><A HREF="thanks.htm">Contributors</A></B>
+</P>
+</FONT>
+
+</TD>
+
+</TR>
+ <TR>
+<TD>
+
+<FONT size=-1><P>
+<B><A HREF="m4/">Browse it</A></B>
+</P>
+</FONT>
+
+</TD>
+
+</TR>
+ <TR>
+<TD bgcolor="#CC6600">
+<P>
+<B>The Future</B>
+</P>
+
+</TD>
+
+</TR>
+ <TR>
+<TD>
+
+<FONT size=-1><P>
+<B><A HREF="modules.htm">Modules</A></B>
+</P>
+</FONT>
+
+</TD>
+
+</TR>
+ <TR>
+<TD>
+
+<FONT size=-1><P>
+<B><A HREF="visions.htm">Visions</A></B>
+</P>
+</FONT>
+
+</TD>
+
+</TR>
+ <TR>
+<TD bgcolor="#CC6600">
+<P>
+<B>Development</B>
+</P>
+
+</TD>
+
+</TR>
+ <TR>
+<TD>
+
+<FONT size=-1><P>
+<B><A HREF="lists.htm">Mailing-lists</A></B>
+</P>
+</FONT>
+
+</TD>
+
+</TR>
+ <TR>
+<TD>
+
+<FONT size=-1><P>
+<B><A HREF="feedback.htm">Feedback</A></B>
+</P>
+</FONT>
+
+</TD>
+
+</TR>
+ <TR>
+<TD>
+
+<FONT size=-1><P>
+<B><A HREF="download.htm">Download</A></B>
+</P>
+</FONT>
+
+</TD>
+
+</TR>
+ <TR>
+<TD bgcolor="#CC6600">
+<P>
+<B>Examples</B>
+</P>
+
+</TD>
+
+</TR>
+ <TR>
+<TD>
+
+<FONT size=-1><P>
+<B><A HREF="thissite.htm">This site</A></B>
+</P>
+</FONT>
+
+</TD>
+
+</TR>
+
+</TABLE>
+
+
+
+
+
+</TD>
+ <TD align=left valign=top width="90%">
+
+
+<PRE>GNU m4 THANKS file
+
+GNU m4 has originally been written by Rene' Seindal. Many people
+further contributed to GNU m4 by reporting problems, suggesting
+various improvements or submitting actual code. Here is a list of
+these people. Help me keep it complete and exempt of errors.
+
+
+
+Akiko Matsushita matusita@sra.co.jp
+Alan Magnuson awm@osc.edu
+Alexander Lehmann alex@hal.rhein-main.de
+Amos Shapira amoss@cs.huji.ac.il
+Andreas Gustafsson gson@niksula.hut.fi
+Andreas Schwab schwab@ls5.informatik.uni-dortmund.de
+Andrew Athan athan@morgan.com
+Andrew Bettison andrewb@zip.com.au
+Assar Westerlund assar@nada.kth.se
+Ben A. Mesander ben@piglet.cr.usgs.gov
+Ben Elliston bje@cygnus.com
+Bengt Mertensson bengt@mathematik.uni-bremen.de
+Bernhard Daeubler daeb@physik.uni-ulm.de
+Bill Bumgarner bbum@thoughtport.com
+Bjorn R. Bjornsson brb@falcon.is
+Brendan Kehoe brendan@cygnus.com
+Brian J. Fox bfox@datawave.net
+Brian D. Carlstrom bdc@clark.lcs.mit.edu
+David J. MacKenzie djm@uunet.uu.net
+Erez Zadok ezk@cs.columbia.edu
+Eric Allman eric@cs.berkeley.edu
+Eric Backus ericb@lsid.hp.com
+Eric Fischer enf1@ellis.uchicago.edu
+Erick Branderhorst Erick.Branderhorst@asml.nl
+François Pinard pinard@iro.umontreal.ca
+Gary Affonso Gary_Affonso@iqinc.com
+Geoff Russell grussell@guest.adelaide.edu.au
+Greg McGary gkm@cstone.net
+Hal Peterson hrp@pecan.cray.com
+Hoang Uong hoang@ornews.intel.com
+Hongjiu Lu hjl@nynexst.com
+Ian Taylor ian@cygnus.com
+Jan Djarv Jan.Djarv@sa.erisoft.se
+Jason Merrill jason@jarthur.claremont.edu
+Jim Avera jima@netcom.com
+Jim Kingdom kingdon@cygnus.com
+Jim Meyering meyering@na-net.ornl.gov
+Joel Sherrill jsherril@uahcs2.cs.uah.edu
+John David Anglin dave@hiauly1.hia.nrc.ca
+John Gerard Malecki johnm@artisan.com
+Joseph E. Sacco jsacco@ssl.com
+Joshua R. Poulson jrp@plaza.ds.adp.com
+Karl Berry karl@cs.umb.edu
+Karl Vogel vogelke@c-17igp.wpafb.af.mil
+Kaveh R. Ghazi ghazi@noc.rutgers.edu
+Keith Bostic bostic@abyssinian.sleepycat.com
+Kristine Lund lund@lpnaxp.in2p3.fr
+Krste Asanovic krste@icsi.berkeley.edu
+Marcus Daniels marcus@ee.pdx.edu
+Marion Hakanson hakanson@cse.ogi.edu
+Mark Seiden mis@seiden.com
+Massimo Dal Zotto dz@cs.unitn.it
+Matthias Rabe rabe@mathematik.uni-bielefeld.de
+Michael Fetterman mafetter@ichips.intel.com
+Michael L. Welcome welcome@bigbird.llnl.gov
+Mike Andrews kramer@fragile.termfrost.org
+Mike Howard mike@clove.com
+Mike Lijewski lijewski@theory.tc.cornell.edu
+Nick S. Kanakakorn skanan@otl.scu.edu
+Nicolas Pioch pioch@inf.enst.fr
+Noah Friedman friedman@gnu.org
+Pete Chown pete.chown@dale.dircon.co.uk
+Pierre Gaumond gaumondp@ere.umontreal.ca
+Pierre Mathieu mathieu@geod.emr.ca
+Rafael Corvalan rafael@club-internet.fr
+René Seindal rene@seindal.dk
+Richard Ling richard@research.canon.oz.au
+Richard Stallman rms@gnu.org
+Robert Bernstein rocky@panix.com
+Roland H. Pesch roland@wrs.com
+Roland McGrath roland@gnu.org
+Scott Bartram deneb!scottb
+Simon Leinen simon@lia.di.epfl.ch
+Skip Montanaro skip@automatrix.com
+Stephen Perkins perkins@cps.msu.edu
+Steve Williamson willy@uinpla.npl.uiuc.edu
+Terry Jones terry@cliffs.ucsd.edu
+Thorsten Ohl ohl@physics.harvard.edu
+Tom McConnell tmcconne@sedona.intel.com
+Tom Quinn trq@dionysos.thphys.ox.ac.uk
+Tom Tromey tromey@cns.caltech.edu
+Ulrich Drepper drepper@gnu.org
+Vern Paxson vern@ee.lbl.gov
+Vic Abell abe@cc.purdue.edu
+Vivek P. Singhal singhal@cs.utexas.edu
+Walter Wong wcw+@cmu.edu
+
+</PRE>
+
+
+</TD>
+
+</TR>
+
+</TABLE>
+
+</BODY>
+
+
+</HTML>
+
+
diff --git a/examples/WWW/thissite.htm b/examples/WWW/thissite.htm
new file mode 100644
index 00000000..03e2a01a
--- /dev/null
+++ b/examples/WWW/thissite.htm
@@ -0,0 +1,327 @@
+<DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 TRANSITIONAL//EN">
+<HTML>
+<HEAD>
+<TITLE>GNU m4 - This site</TITLE>
+<META NAME="AUTHOR" CONTENT="René Seindal">
+<META NAME="GENERATOR" CONTENT="GNU m4 1.4l">
+</HEAD>
+ <BODY text="#000000" bgcolor="#FFCC99" link="#0000EF" alink="#FF0000" vlink="#51188E">
+<TABLE cellpadding=5 width="100%">
+<TR align=left valign=bottom>
+<TD align=center valign=center colspan="3" width="100%" bgcolor="#FF9900">
+
+<H1>GNU m4</H1>
+
+<H2>This site</H2>
+
+</TD>
+
+</TR>
+ <TR >
+<TD align=left valign=top width="15%" bgcolor="#FF9900">
+
+
+
+<TABLE align=left valign=top columns=1>
+<TR>
+<TD bgcolor="#CC6600">
+<P>
+<B>Generel info</B>
+</P>
+
+</TD>
+
+</TR>
+ <TR>
+<TD>
+
+<FONT size=-1><P>
+<B><A HREF="whatis.htm">What is m4</A></B>
+</P>
+</FONT>
+
+</TD>
+
+</TR>
+ <TR>
+<TD>
+
+<FONT size=-1><P>
+<B><A HREF="features.htm">Features</A></B>
+</P>
+</FONT>
+
+</TD>
+
+</TR>
+ <TR>
+<TD>
+
+<FONT size=-1><P>
+<B><A HREF="uses.htm">Uses of m4</A></B>
+</P>
+</FONT>
+
+</TD>
+
+</TR>
+ <TR>
+<TD bgcolor="#CC6600">
+<P>
+<B>Documentation</B>
+</P>
+
+</TD>
+
+</TR>
+ <TR>
+<TD>
+
+<FONT size=-1><P>
+<B><A HREF="man/m4_toc.html">Manual</A></B>
+</P>
+</FONT>
+
+</TD>
+
+</TR>
+ <TR>
+<TD bgcolor="#CC6600">
+<P>
+<B>Source files</B>
+</P>
+
+</TD>
+
+</TR>
+ <TR>
+<TD>
+
+<FONT size=-1><P>
+<B><A HREF="readme.htm">README</A></B>
+</P>
+</FONT>
+
+</TD>
+
+</TR>
+ <TR>
+<TD>
+
+<FONT size=-1><P>
+<B><A HREF="todo.htm">TODO</A></B>
+</P>
+</FONT>
+
+</TD>
+
+</TR>
+ <TR>
+<TD>
+
+<FONT size=-1><P>
+<B><A HREF="news.htm">NEWS</A></B>
+</P>
+</FONT>
+
+</TD>
+
+</TR>
+ <TR>
+<TD>
+
+<FONT size=-1><P>
+<B><A HREF="changelog.htm">ChangeLog</A></B>
+</P>
+</FONT>
+
+</TD>
+
+</TR>
+ <TR>
+<TD>
+
+<FONT size=-1><P>
+<B><A HREF="thanks.htm">Contributors</A></B>
+</P>
+</FONT>
+
+</TD>
+
+</TR>
+ <TR>
+<TD>
+
+<FONT size=-1><P>
+<B><A HREF="m4/">Browse it</A></B>
+</P>
+</FONT>
+
+</TD>
+
+</TR>
+ <TR>
+<TD bgcolor="#CC6600">
+<P>
+<B>The Future</B>
+</P>
+
+</TD>
+
+</TR>
+ <TR>
+<TD>
+
+<FONT size=-1><P>
+<B><A HREF="modules.htm">Modules</A></B>
+</P>
+</FONT>
+
+</TD>
+
+</TR>
+ <TR>
+<TD>
+
+<FONT size=-1><P>
+<B><A HREF="visions.htm">Visions</A></B>
+</P>
+</FONT>
+
+</TD>
+
+</TR>
+ <TR>
+<TD bgcolor="#CC6600">
+<P>
+<B>Development</B>
+</P>
+
+</TD>
+
+</TR>
+ <TR>
+<TD>
+
+<FONT size=-1><P>
+<B><A HREF="lists.htm">Mailing-lists</A></B>
+</P>
+</FONT>
+
+</TD>
+
+</TR>
+ <TR>
+<TD>
+
+<FONT size=-1><P>
+<B><A HREF="feedback.htm">Feedback</A></B>
+</P>
+</FONT>
+
+</TD>
+
+</TR>
+ <TR>
+<TD>
+
+<FONT size=-1><P>
+<B><A HREF="download.htm">Download</A></B>
+</P>
+</FONT>
+
+</TD>
+
+</TR>
+ <TR>
+<TD bgcolor="#CC6600">
+<P>
+<B>Examples</B>
+</P>
+
+</TD>
+
+</TR>
+ <TR>
+<TD>
+
+<FONT size=-1><P>
+<B><A HREF="thissite.htm">This site</A></B>
+</P>
+</FONT>
+
+</TD>
+
+</TR>
+
+</TABLE>
+
+
+
+
+
+</TD>
+ <TD align=left valign=top width="90%">
+
+
+<P>
+This GNU m4 site is maintained by René Seindal (<A HREF="mailto:rene@seindal">rene@seindal</A>).
+</P>
+
+
+<P>
+All files are generated using GNU m4 1.4l. You can view
+the <A HREF="m4lib/">source files</A>. They are very simple. They use some
+features from Gnu m4 1.4l
+</P>
+
+
+<P>
+The basic M4 definitions of quotes comments escapes are in
+<A HREF="m4lib/setup.m4">m4lib/setup.m4</A>. This is first included by all files to
+configure the enviroment correctly for the other files. To avoid have
+macros called by accident an escape character is defined with
+changesyntax. <I>This is a new feature in m4 1.4l</I>.
+</P>
+
+
+<P>
+Some fairly general macros to generate various HTML construct are
+found in <A HREF="m4lib/html.m4">m4lib/html.m4</A>. There are macros for simple tags containers with and with attributes links and a few utility macros.
+</P>
+
+
+<P>
+The visual aspects of the pages are in <A HREF="m4lib/layout.m4">m4lib/layout.m4</A>.
+The macros herein generate the complete HTML structure for the pages.
+There are macros for making the header and the body of the document.
+</P>
+
+
+<P>
+The page body is passed to the layout definitions as an argument. As
+the text can be large it is first diverted and the text passed to the
+layout macros is simply a call to undivert. That way a very large text
+can be passed around with very little cost. This page is made with
+<A HREF="m4lib/thissite.m4">these definitions</A>.
+</P>
+
+
+<P>
+There is a single file for each HTML file.
+</P>
+
+
+
+</TD>
+
+</TR>
+
+</TABLE>
+
+</BODY>
+
+
+</HTML>
+
+
diff --git a/examples/WWW/todo.htm b/examples/WWW/todo.htm
new file mode 100644
index 00000000..9c5100f1
--- /dev/null
+++ b/examples/WWW/todo.htm
@@ -0,0 +1,388 @@
+<DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 TRANSITIONAL//EN">
+<HTML>
+<HEAD>
+<TITLE>GNU m4 - TODO - Things still to be done</TITLE>
+<META NAME="AUTHOR" CONTENT="René Seindal">
+<META NAME="GENERATOR" CONTENT="GNU m4 1.4l">
+</HEAD>
+ <BODY text="#000000" bgcolor="#FFCC99" link="#0000EF" alink="#FF0000" vlink="#51188E">
+<TABLE cellpadding=5 width="100%">
+<TR align=left valign=bottom>
+<TD align=center valign=center colspan="3" width="100%" bgcolor="#FF9900">
+
+<H1>GNU m4</H1>
+
+<H2>TODO - Things still to be done</H2>
+
+</TD>
+
+</TR>
+ <TR >
+<TD align=left valign=top width="15%" bgcolor="#FF9900">
+
+
+
+<TABLE align=left valign=top columns=1>
+<TR>
+<TD bgcolor="#CC6600">
+<P>
+<B>Generel info</B>
+</P>
+
+</TD>
+
+</TR>
+ <TR>
+<TD>
+
+<FONT size=-1><P>
+<B><A HREF="whatis.htm">What is m4</A></B>
+</P>
+</FONT>
+
+</TD>
+
+</TR>
+ <TR>
+<TD>
+
+<FONT size=-1><P>
+<B><A HREF="features.htm">Features</A></B>
+</P>
+</FONT>
+
+</TD>
+
+</TR>
+ <TR>
+<TD>
+
+<FONT size=-1><P>
+<B><A HREF="uses.htm">Uses of m4</A></B>
+</P>
+</FONT>
+
+</TD>
+
+</TR>
+ <TR>
+<TD bgcolor="#CC6600">
+<P>
+<B>Documentation</B>
+</P>
+
+</TD>
+
+</TR>
+ <TR>
+<TD>
+
+<FONT size=-1><P>
+<B><A HREF="man/m4_toc.html">Manual</A></B>
+</P>
+</FONT>
+
+</TD>
+
+</TR>
+ <TR>
+<TD bgcolor="#CC6600">
+<P>
+<B>Source files</B>
+</P>
+
+</TD>
+
+</TR>
+ <TR>
+<TD>
+
+<FONT size=-1><P>
+<B><A HREF="readme.htm">README</A></B>
+</P>
+</FONT>
+
+</TD>
+
+</TR>
+ <TR>
+<TD>
+
+<FONT size=-1><P>
+<B><A HREF="todo.htm">TODO</A></B>
+</P>
+</FONT>
+
+</TD>
+
+</TR>
+ <TR>
+<TD>
+
+<FONT size=-1><P>
+<B><A HREF="news.htm">NEWS</A></B>
+</P>
+</FONT>
+
+</TD>
+
+</TR>
+ <TR>
+<TD>
+
+<FONT size=-1><P>
+<B><A HREF="changelog.htm">ChangeLog</A></B>
+</P>
+</FONT>
+
+</TD>
+
+</TR>
+ <TR>
+<TD>
+
+<FONT size=-1><P>
+<B><A HREF="thanks.htm">Contributors</A></B>
+</P>
+</FONT>
+
+</TD>
+
+</TR>
+ <TR>
+<TD>
+
+<FONT size=-1><P>
+<B><A HREF="m4/">Browse it</A></B>
+</P>
+</FONT>
+
+</TD>
+
+</TR>
+ <TR>
+<TD bgcolor="#CC6600">
+<P>
+<B>The Future</B>
+</P>
+
+</TD>
+
+</TR>
+ <TR>
+<TD>
+
+<FONT size=-1><P>
+<B><A HREF="modules.htm">Modules</A></B>
+</P>
+</FONT>
+
+</TD>
+
+</TR>
+ <TR>
+<TD>
+
+<FONT size=-1><P>
+<B><A HREF="visions.htm">Visions</A></B>
+</P>
+</FONT>
+
+</TD>
+
+</TR>
+ <TR>
+<TD bgcolor="#CC6600">
+<P>
+<B>Development</B>
+</P>
+
+</TD>
+
+</TR>
+ <TR>
+<TD>
+
+<FONT size=-1><P>
+<B><A HREF="lists.htm">Mailing-lists</A></B>
+</P>
+</FONT>
+
+</TD>
+
+</TR>
+ <TR>
+<TD>
+
+<FONT size=-1><P>
+<B><A HREF="feedback.htm">Feedback</A></B>
+</P>
+</FONT>
+
+</TD>
+
+</TR>
+ <TR>
+<TD>
+
+<FONT size=-1><P>
+<B><A HREF="download.htm">Download</A></B>
+</P>
+</FONT>
+
+</TD>
+
+</TR>
+ <TR>
+<TD bgcolor="#CC6600">
+<P>
+<B>Examples</B>
+</P>
+
+</TD>
+
+</TR>
+ <TR>
+<TD>
+
+<FONT size=-1><P>
+<B><A HREF="thissite.htm">This site</A></B>
+</P>
+</FONT>
+
+</TD>
+
+</TR>
+
+</TABLE>
+
+
+
+
+
+</TD>
+ <TD align=left valign=top width="90%">
+
+
+<PRE>* TODO file for GNU m4 -*- indented-text -*-
+
+Tell the maintainers at &lt;bug-m4@gnu.org&gt; if you feel like volunteering
+for any of these ideas or if you have others to add.
+
+
+* Features or problems
+
+ + GMP eval() should be enables if the library is present, maybe by
+ providing two different versions of eval(). That way users can
+ choose whether to use gmp on an individual basis.
+
+ + There should be a way ot have m4 discard comments instead of
+ outputting them.
+
+ + Implement discarding comment delimiters with the syntax table.
+
+ + The module system is still rudimentary (see below)
+
+ + Changes in the syntax_table are not saved to frozen files.
+
+ + Information about loaded modules is not saved to frozen files.
+
+ + m4wrap.1.test fail on Solaris 2.6 using egcs 1.1a compiler (Erick B).
+
+ + The $ used in user defined macros cannot be changed through
+ changesyntax. It should be handled as a modifier.
+
+ + Make show include dependencies like gcc so targets are updated
+ when their (included) input files are updated (Erick B).
+
+ + The test case `other-tests/stackovf.test' does not work.
+
+ + Sort out all the weird forms of interaction between changesyntax,
+ changecom and changequote. What happens if you install a quote with
+ changequote and removes it with changesyntax and vice versa.
+
+ + Add support for wide character sets.
+
+
+* Optimization and clean up
+
+ + Have NULs go really undisturbed through GNU m4
+ GNU m4 is lousy regarding NULs in streams (this would require
+ maintaining the string lengths, and avoiding strlen, strcpy,
+ etc.).
+
+
+* Module specific issues
+
+ + Support for other DL interfaces besides dlopen, such as dld and
+ hpux is still missing.
+
+ + Modules should be loadable from the command line with something like
+ `-M module.so' o `--load-module=module.so'. M4 should abort if it
+ fails.
+
+ + Some way of linking a module statically is needed, for systems
+ without support for dynamic loading.
+
+
+
+Below is the old 1.4 TODO list, several years old. Only a few points
+have been kept. Some things are fixed, many others just seem
+dated. Write me if I have been to harsh. (René Seindal)
+
+------------------------------------------------------------------------
+Tell &lt;pinard@iro.umontreal.ca&gt; if you feel like volunteering for any
+of these ideas, listed more or less in decreasing order of priority.
+Some TODO items are implicit from received email. See file BACKLOG.
+
+.* Features or problems
+. + Update documentation from accumulated mail about it
+. + Changeword without arguments should restore default behavior
+. + Study synclines at the very beginning of each diverted sequence
+. + Make eval work on bignums - the 32 bits limit is artificial
+ From Krste Asanovic &lt;krste@icsi.berkeley.edu&gt;, 1993-03-20
+. + Make show include dependencies like gcc so targets are updated
+ when their (included) input files are updated (Erick B).
+. + Ask FSF to create m4-bugs@gnu.org for bug reports (Erick B).
+. + m4wrap.1.test fail on Solaris 2.6 using egcs 1.1a compiler (Erick B).
+
+.* Optimization and clean up
+. + Check for memory leaks and uninitialized reads
+ From Vern Paxson &lt;vern@horse.ee.lbl.gov&gt; on 1993-12-06
+. + Simplify format/ecvt code, together with HAVE_EFGCVT
+. + Finalize the stdarg vs varargs thing
+. + Profile GNU m4 and speed it up
+ From David J. MacKenzie &lt;djm@eng.umd.edu&gt;, 1993-01-20
+
+ GNU m4 should be sped up by a factor of three for competing
+ with other versions (I think that the lexer is not agressive
+ enough and too often return single characters; obstacks might
+ be a little abused, too).
+. + Have NULs go really undisturbed through GNU m4
+ See `dumpdef' and debugging section, which abuses %s
+ From Thorsten Ohl &lt;ohl@chico.harvard.edu&gt;, 1992-12-21
+
+ path.c (add_include_directory): Why the '\0' terminator?
+
+ GNU m4 is lousy regarding NULs in streams (this would require
+ maintaining the string lengths, and avoiding strlen, strcpy,
+ etc.).
+. + Clean up the obstack.[ch] code
+. + Use rx.[ch] instead of regex.[ch]
+ From Hal Peterson &lt;hrp@ironwood.cray.com&gt;, 1994-04-22
+
+</PRE>
+
+
+</TD>
+
+</TR>
+
+</TABLE>
+
+</BODY>
+
+
+</HTML>
+
+
diff --git a/examples/WWW/uses.htm b/examples/WWW/uses.htm
new file mode 100644
index 00000000..9988dacf
--- /dev/null
+++ b/examples/WWW/uses.htm
@@ -0,0 +1,322 @@
+<DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 TRANSITIONAL//EN">
+<HTML>
+<HEAD>
+<TITLE>GNU m4 - Current uses of m4</TITLE>
+<META NAME="AUTHOR" CONTENT="René Seindal">
+<META NAME="GENERATOR" CONTENT="GNU m4 1.4l">
+</HEAD>
+ <BODY text="#000000" bgcolor="#FFCC99" link="#0000EF" alink="#FF0000" vlink="#51188E">
+<TABLE cellpadding=5 width="100%">
+<TR align=left valign=bottom>
+<TD align=center valign=center colspan="3" width="100%" bgcolor="#FF9900">
+
+<H1>GNU m4</H1>
+
+<H2>Current uses of m4</H2>
+
+</TD>
+
+</TR>
+ <TR >
+<TD align=left valign=top width="15%" bgcolor="#FF9900">
+
+
+
+<TABLE align=left valign=top columns=1>
+<TR>
+<TD bgcolor="#CC6600">
+<P>
+<B>Generel info</B>
+</P>
+
+</TD>
+
+</TR>
+ <TR>
+<TD>
+
+<FONT size=-1><P>
+<B><A HREF="whatis.htm">What is m4</A></B>
+</P>
+</FONT>
+
+</TD>
+
+</TR>
+ <TR>
+<TD>
+
+<FONT size=-1><P>
+<B><A HREF="features.htm">Features</A></B>
+</P>
+</FONT>
+
+</TD>
+
+</TR>
+ <TR>
+<TD>
+
+<FONT size=-1><P>
+<B><A HREF="uses.htm">Uses of m4</A></B>
+</P>
+</FONT>
+
+</TD>
+
+</TR>
+ <TR>
+<TD bgcolor="#CC6600">
+<P>
+<B>Documentation</B>
+</P>
+
+</TD>
+
+</TR>
+ <TR>
+<TD>
+
+<FONT size=-1><P>
+<B><A HREF="man/m4_toc.html">Manual</A></B>
+</P>
+</FONT>
+
+</TD>
+
+</TR>
+ <TR>
+<TD bgcolor="#CC6600">
+<P>
+<B>Source files</B>
+</P>
+
+</TD>
+
+</TR>
+ <TR>
+<TD>
+
+<FONT size=-1><P>
+<B><A HREF="readme.htm">README</A></B>
+</P>
+</FONT>
+
+</TD>
+
+</TR>
+ <TR>
+<TD>
+
+<FONT size=-1><P>
+<B><A HREF="todo.htm">TODO</A></B>
+</P>
+</FONT>
+
+</TD>
+
+</TR>
+ <TR>
+<TD>
+
+<FONT size=-1><P>
+<B><A HREF="news.htm">NEWS</A></B>
+</P>
+</FONT>
+
+</TD>
+
+</TR>
+ <TR>
+<TD>
+
+<FONT size=-1><P>
+<B><A HREF="changelog.htm">ChangeLog</A></B>
+</P>
+</FONT>
+
+</TD>
+
+</TR>
+ <TR>
+<TD>
+
+<FONT size=-1><P>
+<B><A HREF="thanks.htm">Contributors</A></B>
+</P>
+</FONT>
+
+</TD>
+
+</TR>
+ <TR>
+<TD>
+
+<FONT size=-1><P>
+<B><A HREF="m4/">Browse it</A></B>
+</P>
+</FONT>
+
+</TD>
+
+</TR>
+ <TR>
+<TD bgcolor="#CC6600">
+<P>
+<B>The Future</B>
+</P>
+
+</TD>
+
+</TR>
+ <TR>
+<TD>
+
+<FONT size=-1><P>
+<B><A HREF="modules.htm">Modules</A></B>
+</P>
+</FONT>
+
+</TD>
+
+</TR>
+ <TR>
+<TD>
+
+<FONT size=-1><P>
+<B><A HREF="visions.htm">Visions</A></B>
+</P>
+</FONT>
+
+</TD>
+
+</TR>
+ <TR>
+<TD bgcolor="#CC6600">
+<P>
+<B>Development</B>
+</P>
+
+</TD>
+
+</TR>
+ <TR>
+<TD>
+
+<FONT size=-1><P>
+<B><A HREF="lists.htm">Mailing-lists</A></B>
+</P>
+</FONT>
+
+</TD>
+
+</TR>
+ <TR>
+<TD>
+
+<FONT size=-1><P>
+<B><A HREF="feedback.htm">Feedback</A></B>
+</P>
+</FONT>
+
+</TD>
+
+</TR>
+ <TR>
+<TD>
+
+<FONT size=-1><P>
+<B><A HREF="download.htm">Download</A></B>
+</P>
+</FONT>
+
+</TD>
+
+</TR>
+ <TR>
+<TD bgcolor="#CC6600">
+<P>
+<B>Examples</B>
+</P>
+
+</TD>
+
+</TR>
+ <TR>
+<TD>
+
+<FONT size=-1><P>
+<B><A HREF="thissite.htm">This site</A></B>
+</P>
+</FONT>
+
+</TD>
+
+</TR>
+
+</TABLE>
+
+
+
+
+
+</TD>
+ <TD align=left valign=top width="90%">
+
+
+<P>
+The MTA sendmail uses <TT>m4</TT> for generating configuration files.
+</P>
+
+
+<P>
+<A HREF="http://www.gnu.org/software/autoconf/autoconf.html">GNU
+Autoconf</A> uses <TT>m4</TT> to generate "configure" scripts that are used
+for configuring <A HREF="http://www.gnu.org/">GNU</A> software for a
+particular platform.
+</P>
+
+
+<P>
+Htm4l is a set of macros for generating HTML. Html4 is written by
+Terry Jones (terry@cliffs.ucsd.edu). See
+<A HREF="http://cliffs.ucsd.edu/terry/htm4l/htm4l/main.html">http://cliffs.ucsd.edu/terry/htm4l/htm4l/main.html</A> for
+details.
+</P>
+
+
+<P>
+Various programs uses m4 to preprocess configuration files for
+example the X11 window manager fvwm.
+</P>
+
+
+<P>
+There is an <A HREF="http://www.ssc.com/lg/issue22/using_m4.html">article in the Linux Gazette</A> about writing HTML with GNU m4 written by
+<A HREF="mailto:bhepple@bit.net.au">Bob Hepple</A> . More recent versions
+are kept at <A HREF="http://www.bit.net.au/~bhepple">Bob's home site</A>.
+The macros are used to maintain a large commercial site at
+<A HREF="http://www.finder.com.au">http://www.finder.com.au</A>.
+</P>
+
+
+
+<P>
+<A HREF="thissite.htm">These files are created with GNU m4 1.4l</A>.
+</P>
+
+
+
+
+</TD>
+
+</TR>
+
+</TABLE>
+
+</BODY>
+
+
+</HTML>
+
+
diff --git a/examples/WWW/visions.htm b/examples/WWW/visions.htm
new file mode 100644
index 00000000..eceec6f7
--- /dev/null
+++ b/examples/WWW/visions.htm
@@ -0,0 +1,309 @@
+<DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 TRANSITIONAL//EN">
+<HTML>
+<HEAD>
+<TITLE>GNU m4 - The Road Ahead</TITLE>
+<META NAME="AUTHOR" CONTENT="René Seindal">
+<META NAME="GENERATOR" CONTENT="GNU m4 1.4l">
+</HEAD>
+ <BODY text="#000000" bgcolor="#FFCC99" link="#0000EF" alink="#FF0000" vlink="#51188E">
+<TABLE cellpadding=5 width="100%">
+<TR align=left valign=bottom>
+<TD align=center valign=center colspan="3" width="100%" bgcolor="#FF9900">
+
+<H1>GNU m4</H1>
+
+<H2>The Road Ahead</H2>
+
+</TD>
+
+</TR>
+ <TR >
+<TD align=left valign=top width="15%" bgcolor="#FF9900">
+
+
+
+<TABLE align=left valign=top columns=1>
+<TR>
+<TD bgcolor="#CC6600">
+<P>
+<B>Generel info</B>
+</P>
+
+</TD>
+
+</TR>
+ <TR>
+<TD>
+
+<FONT size=-1><P>
+<B><A HREF="whatis.htm">What is m4</A></B>
+</P>
+</FONT>
+
+</TD>
+
+</TR>
+ <TR>
+<TD>
+
+<FONT size=-1><P>
+<B><A HREF="features.htm">Features</A></B>
+</P>
+</FONT>
+
+</TD>
+
+</TR>
+ <TR>
+<TD>
+
+<FONT size=-1><P>
+<B><A HREF="uses.htm">Uses of m4</A></B>
+</P>
+</FONT>
+
+</TD>
+
+</TR>
+ <TR>
+<TD bgcolor="#CC6600">
+<P>
+<B>Documentation</B>
+</P>
+
+</TD>
+
+</TR>
+ <TR>
+<TD>
+
+<FONT size=-1><P>
+<B><A HREF="man/m4_toc.html">Manual</A></B>
+</P>
+</FONT>
+
+</TD>
+
+</TR>
+ <TR>
+<TD bgcolor="#CC6600">
+<P>
+<B>Source files</B>
+</P>
+
+</TD>
+
+</TR>
+ <TR>
+<TD>
+
+<FONT size=-1><P>
+<B><A HREF="readme.htm">README</A></B>
+</P>
+</FONT>
+
+</TD>
+
+</TR>
+ <TR>
+<TD>
+
+<FONT size=-1><P>
+<B><A HREF="todo.htm">TODO</A></B>
+</P>
+</FONT>
+
+</TD>
+
+</TR>
+ <TR>
+<TD>
+
+<FONT size=-1><P>
+<B><A HREF="news.htm">NEWS</A></B>
+</P>
+</FONT>
+
+</TD>
+
+</TR>
+ <TR>
+<TD>
+
+<FONT size=-1><P>
+<B><A HREF="changelog.htm">ChangeLog</A></B>
+</P>
+</FONT>
+
+</TD>
+
+</TR>
+ <TR>
+<TD>
+
+<FONT size=-1><P>
+<B><A HREF="thanks.htm">Contributors</A></B>
+</P>
+</FONT>
+
+</TD>
+
+</TR>
+ <TR>
+<TD>
+
+<FONT size=-1><P>
+<B><A HREF="m4/">Browse it</A></B>
+</P>
+</FONT>
+
+</TD>
+
+</TR>
+ <TR>
+<TD bgcolor="#CC6600">
+<P>
+<B>The Future</B>
+</P>
+
+</TD>
+
+</TR>
+ <TR>
+<TD>
+
+<FONT size=-1><P>
+<B><A HREF="modules.htm">Modules</A></B>
+</P>
+</FONT>
+
+</TD>
+
+</TR>
+ <TR>
+<TD>
+
+<FONT size=-1><P>
+<B><A HREF="visions.htm">Visions</A></B>
+</P>
+</FONT>
+
+</TD>
+
+</TR>
+ <TR>
+<TD bgcolor="#CC6600">
+<P>
+<B>Development</B>
+</P>
+
+</TD>
+
+</TR>
+ <TR>
+<TD>
+
+<FONT size=-1><P>
+<B><A HREF="lists.htm">Mailing-lists</A></B>
+</P>
+</FONT>
+
+</TD>
+
+</TR>
+ <TR>
+<TD>
+
+<FONT size=-1><P>
+<B><A HREF="feedback.htm">Feedback</A></B>
+</P>
+</FONT>
+
+</TD>
+
+</TR>
+ <TR>
+<TD>
+
+<FONT size=-1><P>
+<B><A HREF="download.htm">Download</A></B>
+</P>
+</FONT>
+
+</TD>
+
+</TR>
+ <TR>
+<TD bgcolor="#CC6600">
+<P>
+<B>Examples</B>
+</P>
+
+</TD>
+
+</TR>
+ <TR>
+<TD>
+
+<FONT size=-1><P>
+<B><A HREF="thissite.htm">This site</A></B>
+</P>
+</FONT>
+
+</TD>
+
+</TR>
+
+</TABLE>
+
+
+
+
+
+</TD>
+ <TD align=left valign=top width="90%">
+
+
+<H2>Possible features for future versions</H2>
+
+
+
+<UL>
+<LI> <P>
+Guile can be used as an extension language so complicated macros can be
+written in Scheme while still maintaining the m4 interface.
+</P>
+
+
+<LI><P>
+A kind of super-quotes can be added quotes that aren't stripped
+when read as are normal quotes. These quotes should be stripped when
+output. In that way text can be super-quote and consequently passed
+untouched to the output. It is a bit like comments but there the
+quotes are removed before output.
+</P>
+
+
+
+</UL>
+
+
+<P>
+See also the <A HREF="todo.htm">TODO</A> file.
+</P>
+
+
+
+
+</TD>
+
+</TR>
+
+</TABLE>
+
+</BODY>
+
+
+</HTML>
+
+
diff --git a/examples/WWW/whatis.htm b/examples/WWW/whatis.htm
new file mode 100644
index 00000000..3f793cd0
--- /dev/null
+++ b/examples/WWW/whatis.htm
@@ -0,0 +1,327 @@
+<DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 TRANSITIONAL//EN">
+<HTML>
+<HEAD>
+<TITLE>GNU m4 - What is GNU m4</TITLE>
+<META NAME="AUTHOR" CONTENT="René Seindal">
+<META NAME="GENERATOR" CONTENT="GNU m4 1.4l">
+</HEAD>
+ <BODY text="#000000" bgcolor="#FFCC99" link="#0000EF" alink="#FF0000" vlink="#51188E">
+<TABLE cellpadding=5 width="100%">
+<TR align=left valign=bottom>
+<TD align=center valign=center colspan="3" width="100%" bgcolor="#FF9900">
+
+<H1>GNU m4</H1>
+
+<H2>What is GNU m4</H2>
+
+</TD>
+
+</TR>
+ <TR >
+<TD align=left valign=top width="15%" bgcolor="#FF9900">
+
+
+
+<TABLE align=left valign=top columns=1>
+<TR>
+<TD bgcolor="#CC6600">
+<P>
+<B>Generel info</B>
+</P>
+
+</TD>
+
+</TR>
+ <TR>
+<TD>
+
+<FONT size=-1><P>
+<B><A HREF="whatis.htm">What is m4</A></B>
+</P>
+</FONT>
+
+</TD>
+
+</TR>
+ <TR>
+<TD>
+
+<FONT size=-1><P>
+<B><A HREF="features.htm">Features</A></B>
+</P>
+</FONT>
+
+</TD>
+
+</TR>
+ <TR>
+<TD>
+
+<FONT size=-1><P>
+<B><A HREF="uses.htm">Uses of m4</A></B>
+</P>
+</FONT>
+
+</TD>
+
+</TR>
+ <TR>
+<TD bgcolor="#CC6600">
+<P>
+<B>Documentation</B>
+</P>
+
+</TD>
+
+</TR>
+ <TR>
+<TD>
+
+<FONT size=-1><P>
+<B><A HREF="man/m4_toc.html">Manual</A></B>
+</P>
+</FONT>
+
+</TD>
+
+</TR>
+ <TR>
+<TD bgcolor="#CC6600">
+<P>
+<B>Source files</B>
+</P>
+
+</TD>
+
+</TR>
+ <TR>
+<TD>
+
+<FONT size=-1><P>
+<B><A HREF="readme.htm">README</A></B>
+</P>
+</FONT>
+
+</TD>
+
+</TR>
+ <TR>
+<TD>
+
+<FONT size=-1><P>
+<B><A HREF="todo.htm">TODO</A></B>
+</P>
+</FONT>
+
+</TD>
+
+</TR>
+ <TR>
+<TD>
+
+<FONT size=-1><P>
+<B><A HREF="news.htm">NEWS</A></B>
+</P>
+</FONT>
+
+</TD>
+
+</TR>
+ <TR>
+<TD>
+
+<FONT size=-1><P>
+<B><A HREF="changelog.htm">ChangeLog</A></B>
+</P>
+</FONT>
+
+</TD>
+
+</TR>
+ <TR>
+<TD>
+
+<FONT size=-1><P>
+<B><A HREF="thanks.htm">Contributors</A></B>
+</P>
+</FONT>
+
+</TD>
+
+</TR>
+ <TR>
+<TD>
+
+<FONT size=-1><P>
+<B><A HREF="m4/">Browse it</A></B>
+</P>
+</FONT>
+
+</TD>
+
+</TR>
+ <TR>
+<TD bgcolor="#CC6600">
+<P>
+<B>The Future</B>
+</P>
+
+</TD>
+
+</TR>
+ <TR>
+<TD>
+
+<FONT size=-1><P>
+<B><A HREF="modules.htm">Modules</A></B>
+</P>
+</FONT>
+
+</TD>
+
+</TR>
+ <TR>
+<TD>
+
+<FONT size=-1><P>
+<B><A HREF="visions.htm">Visions</A></B>
+</P>
+</FONT>
+
+</TD>
+
+</TR>
+ <TR>
+<TD bgcolor="#CC6600">
+<P>
+<B>Development</B>
+</P>
+
+</TD>
+
+</TR>
+ <TR>
+<TD>
+
+<FONT size=-1><P>
+<B><A HREF="lists.htm">Mailing-lists</A></B>
+</P>
+</FONT>
+
+</TD>
+
+</TR>
+ <TR>
+<TD>
+
+<FONT size=-1><P>
+<B><A HREF="feedback.htm">Feedback</A></B>
+</P>
+</FONT>
+
+</TD>
+
+</TR>
+ <TR>
+<TD>
+
+<FONT size=-1><P>
+<B><A HREF="download.htm">Download</A></B>
+</P>
+</FONT>
+
+</TD>
+
+</TR>
+ <TR>
+<TD bgcolor="#CC6600">
+<P>
+<B>Examples</B>
+</P>
+
+</TD>
+
+</TR>
+ <TR>
+<TD>
+
+<FONT size=-1><P>
+<B><A HREF="thissite.htm">This site</A></B>
+</P>
+</FONT>
+
+</TD>
+
+</TR>
+
+</TABLE>
+
+
+
+
+
+</TD>
+ <TD align=left valign=top width="90%">
+
+
+<P>
+GNU <TT>m4</TT> is an implementation of the traditional Unix macro
+processor. It is mostly SVR4 compatible, although it has some extensions
+(for example, handling more than 9 positional parameters to macros). GNU
+<TT>m4</TT> also has built-in functions for including files, running shell
+commands, doing arithmetic, etc.
+</P>
+
+
+<P>
+GNU <TT>m4</TT> is a macro processor, in the sense that it copies its
+input to the output, expanding macros as it goes. Macros are either
+builtin or user-defined, and can take any number of arguments. Besides
+just doing macro expansion, m4 has builtin functions for including named
+files, running UNIX commands, doing integer arithmetic, manipulating
+text in various ways, recursion, etc... m4 can be used either as a
+front-end to a compiler, or as a macro processor in its own right.
+</P>
+
+
+<P>
+The m4 macro processor is widely available on all UNIXes. Usually,
+only a small percentage of users are aware of its existence. However,
+those who do often become commited users. The growing popularity of GNU
+Autoconf, which prerequires GNU m4 for generating the `configure'
+scripts, is an incentive for many to install it, while these people will
+not themselves program in m4. GNU m4 is mostly compatible with the
+System V, Release 3 version, except for some minor differences.
+</P>
+
+
+<P>
+Some people found m4 to be fairly addictive. They first use m4 for
+simple problems, then take bigger and bigger challenges, learning how to
+write complex m4 sets of macros along the way. Once really addicted,
+users pursue writing of sophisticated m4 applications even to solve
+simple problems, devoting more time debugging their m4 scripts than
+doing real work. Beware that m4 may be dangerous for the health of
+compulsive programmers.
+</P>
+
+
+<P>
+Autoconf needs GNU m4 for generating `configure' scripts, but not for
+running them.
+</P>
+
+
+
+</TD>
+
+</TR>
+
+</TABLE>
+
+</BODY>
+
+
+</HTML>
+
+
diff --git a/lib/Makefile.in b/lib/Makefile.in
index a670c0fa..9cabec60 100644
--- a/lib/Makefile.in
+++ b/lib/Makefile.in
@@ -64,10 +64,8 @@ CATALOGS = @CATALOGS@
CATOBJEXT = @CATOBJEXT@
CC = @CC@
CPP = @CPP@
-DASH_SHARED = @DASH_SHARED@
DATADIRNAME = @DATADIRNAME@
DLLDFLAGS = @DLLDFLAGS@
-GCC_FPIC = @GCC_FPIC@
GENCAT = @GENCAT@
GMOFILES = @GMOFILES@
GMSGFMT = @GMSGFMT@
@@ -78,20 +76,20 @@ INSTOBJEXT = @INSTOBJEXT@
INTLDEPS = @INTLDEPS@
INTLLIBS = @INTLLIBS@
INTLOBJS = @INTLOBJS@
+LD = @LD@
+LIBTOOL = @LIBTOOL@
+LN_S = @LN_S@
MAKEINFO = @MAKEINFO@
MKINSTALLDIRS = @MKINSTALLDIRS@
MODULES_DIR = @MODULES_DIR@
-MODULE_O = @MODULE_O@
MODULE_PATH = @MODULE_PATH@
MSGFMT = @MSGFMT@
-OS_NAME = @OS_NAME@
+NM = @NM@
PACKAGE = @PACKAGE@
PERL = @PERL@
POFILES = @POFILES@
POSUB = @POSUB@
RANLIB = @RANLIB@
-SHARED_EXT = @SHARED_EXT@
-SHARED_LD = @SHARED_LD@
STACKOVF = @STACKOVF@
U = @U@
USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@
@@ -122,7 +120,8 @@ libm4_a_OBJECTS = error.o
AR = ar
CFLAGS = @CFLAGS@
COMPILE = $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LINK = $(CC) $(AM_CFLAGS) $(CFLAGS) $(LDFLAGS) -o $@
+LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LINK = $(LIBTOOL) --mode=link $(CC) $(AM_CFLAGS) $(CFLAGS) $(LDFLAGS) -o $@
HEADERS = $(noinst_HEADERS)
DIST_COMMON = COPYING.LIB Makefile.am Makefile.in getopt.c getopt1.c \
@@ -139,7 +138,7 @@ OBJECTS = $(libm4_a_OBJECTS)
all: Makefile $(LIBRARIES) $(HEADERS)
.SUFFIXES:
-.SUFFIXES: .S .c .o .s
+.SUFFIXES: .S .c .lo .o .s
$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
cd $(top_srcdir) && $(AUTOMAKE) --gnu --include-deps lib/Makefile
@@ -176,6 +175,25 @@ distclean-compile:
maintainer-clean-compile:
+.c.lo:
+ $(LIBTOOL) --mode=compile $(COMPILE) -c $<
+
+.s.lo:
+ $(LIBTOOL) --mode=compile $(COMPILE) -c $<
+
+.S.lo:
+ $(LIBTOOL) --mode=compile $(COMPILE) -c $<
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+
+distclean-libtool:
+
+maintainer-clean-libtool:
+
libm4.a: $(libm4_a_OBJECTS) $(libm4_a_DEPENDENCIES)
-rm -f libm4.a
$(AR) cru libm4.a $(libm4_a_OBJECTS) $(libm4_a_LIBADD)
@@ -253,28 +271,33 @@ distclean-generic:
maintainer-clean-generic:
mostlyclean: mostlyclean-noinstLIBRARIES mostlyclean-compile \
- mostlyclean-tags mostlyclean-generic
+ mostlyclean-libtool mostlyclean-tags \
+ mostlyclean-generic
-clean: clean-noinstLIBRARIES clean-compile clean-tags clean-generic \
- mostlyclean
+clean: clean-noinstLIBRARIES clean-compile clean-libtool clean-tags \
+ clean-generic mostlyclean
-distclean: distclean-noinstLIBRARIES distclean-compile distclean-tags \
- distclean-generic clean
+distclean: distclean-noinstLIBRARIES distclean-compile \
+ distclean-libtool distclean-tags distclean-generic \
+ clean
-rm -f config.status
+ -rm -f libtool
maintainer-clean: maintainer-clean-noinstLIBRARIES \
- maintainer-clean-compile maintainer-clean-tags \
- maintainer-clean-generic distclean
+ maintainer-clean-compile maintainer-clean-libtool \
+ maintainer-clean-tags maintainer-clean-generic \
+ distclean
@echo "This command is intended for maintainers to use;"
@echo "it deletes files that may require special tools to rebuild."
.PHONY: mostlyclean-noinstLIBRARIES distclean-noinstLIBRARIES \
clean-noinstLIBRARIES maintainer-clean-noinstLIBRARIES \
mostlyclean-compile distclean-compile clean-compile \
-maintainer-clean-compile tags mostlyclean-tags distclean-tags \
-clean-tags maintainer-clean-tags distdir info dvi installcheck \
-install-exec install-data install uninstall all installdirs \
-mostlyclean-generic distclean-generic clean-generic \
+maintainer-clean-compile mostlyclean-libtool distclean-libtool \
+clean-libtool maintainer-clean-libtool tags mostlyclean-tags \
+distclean-tags clean-tags maintainer-clean-tags distdir info dvi \
+installcheck install-exec install-data install uninstall all \
+installdirs mostlyclean-generic distclean-generic clean-generic \
maintainer-clean-generic clean mostlyclean distclean maintainer-clean
diff --git a/ltconfig b/ltconfig
new file mode 100755
index 00000000..2347e694
--- /dev/null
+++ b/ltconfig
@@ -0,0 +1,1512 @@
+#! /bin/sh
+
+# ltconfig - Create a system-specific libtool.
+# Copyright (C) 1996-1998 Free Software Foundation, Inc.
+# Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
+#
+# This file is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+#
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+
+# A lot of this script is taken from autoconf-2.10.
+
+# The HP-UX ksh and POSIX shell print the target directory to stdout
+# if CDPATH is set.
+if test "${CDPATH+set}" = set; then CDPATH=; export CDPATH; fi
+
+echo=echo
+if test "X`($echo '\t') 2>/dev/null`" = 'X\t'; then :
+else
+ # The Solaris and AIX default echo program unquotes backslashes.
+ # This makes it impossible to quote backslashes using
+ # echo "$something" | sed 's/\\/\\\\/g'
+ # So, we emulate echo with printf '%s\n'
+ echo="printf %s\\n"
+ if test "X`($echo '\t') 2>/dev/null`" = 'X\t'; then :
+ else
+ # Oops. We have no working printf. Try to find a not-so-buggy echo.
+ echo=echo
+ IFS="${IFS= }"; save_ifs="$IFS"; IFS="${IFS}:"
+ for dir in $PATH /usr/ucb; do
+ if test -f $dir/echo && test "X`$dir/echo '\t'`" = 'X\t'; then
+ echo="$dir/echo"
+ break
+ fi
+ done
+ IFS="$save_ifs"
+ fi
+fi
+
+# Sed substitution that helps us do robust quoting. It backslashifies
+# metacharacters that are still active within double-quoted strings.
+Xsed='sed -e s/^X//'
+sed_quote_subst='s/\([\\"\\`$\\\\]\)/\\\1/g'
+
+# Same as above, but do not quote variable references.
+double_quote_subst='s/\([\\"\\`\\\\]\)/\\\1/g'
+
+# The name of this program.
+progname=`$echo "X$0" | $Xsed -e 's%^.*/%%'`
+
+# Constants:
+PROGRAM=ltconfig
+PACKAGE=libtool
+VERSION=1.2
+ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.c 1>&5'
+ac_link='${CC-cc} -o conftest $CFLAGS $CPPFLAGS $LDFLAGS conftest.c $LIBS 1>&5'
+rm="rm -f"
+
+help="Try \`$progname --help' for more information."
+
+# Global variables:
+can_build_shared=yes
+enable_shared=yes
+# All known linkers require a `.a' archive for static linking.
+enable_static=yes
+ltmain=
+silent=
+srcdir=
+ac_config_guess=
+ac_config_sub=
+host=
+nonopt=
+verify_host=yes
+with_gcc=no
+with_gnu_ld=no
+
+old_AR="$AR"
+old_CC="$CC"
+old_CFLAGS="$CFLAGS"
+old_CPPFLAGS="$CPPFLAGS"
+old_LD="$LD"
+old_LN_S="$LN_S"
+old_NM="$NM"
+old_RANLIB="$RANLIB"
+
+# Parse the command line options.
+args=
+prev=
+for option
+do
+ case "$option" in
+ -*=*) optarg=`echo "$option" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
+ *) optarg= ;;
+ esac
+
+ # If the previous option needs an argument, assign it.
+ if test -n "$prev"; then
+ eval "$prev=\$option"
+ prev=
+ continue
+ fi
+
+ case "$option" in
+ --help) cat <<EOM
+Usage: $progname [OPTION]... LTMAIN [HOST]
+
+Generate a system-specific libtool script.
+
+ --disable-shared do not build shared libraries
+ --disable-static do not build static libraries
+ --help display this help and exit
+ --no-verify do not verify that HOST is a valid host type
+ --quiet same as \`--silent'
+ --silent do not print informational messages
+ --srcdir=DIR find \`config.guess' in DIR
+ --version output version information and exit
+ --with-gcc assume that the GNU C compiler will be used
+ --with-gnu-ld assume that the C compiler uses the GNU linker
+
+LTMAIN is the \`ltmain.sh' shell script fragment that provides basic libtool
+functionality.
+
+HOST is the canonical host system name [default=guessed].
+EOM
+ exit 0
+ ;;
+
+ --disable-shared) enable_shared=no ;;
+
+ --disable-static) enable_static=no ;;
+
+ --quiet | --silent) silent=yes ;;
+
+ --srcdir) prev=srcdir ;;
+ --srcdir=*) srcdir="$optarg" ;;
+
+ --no-verify) verify_host=no ;;
+
+ --version) echo "$PROGRAM (GNU $PACKAGE) $VERSION"; exit 0 ;;
+
+ --with-gcc) with_gcc=yes ;;
+ --with-gnu-ld) with_gnu_ld=yes ;;
+
+ -*)
+ echo "$progname: unrecognized option \`$option'" 1>&2
+ echo "$help" 1>&2
+ exit 1
+ ;;
+
+ *)
+ if test -z "$ltmain"; then
+ ltmain="$option"
+ elif test -z "$host"; then
+# This generates an unnecessary warning for sparc-sun-solaris4.1.3_U1
+# if test -n "`echo $option| sed 's/[-a-z0-9.]//g'`"; then
+# echo "$progname: warning \`$option' is not a valid host type" 1>&2
+# fi
+ host="$option"
+ else
+ echo "$progname: too many arguments" 1>&2
+ echo "$help" 1>&2
+ exit 1
+ fi ;;
+ esac
+done
+
+if test -z "$ltmain"; then
+ echo "$progname: you must specify a LTMAIN file" 1>&2
+ echo "$help" 1>&2
+ exit 1
+fi
+
+if test -f "$ltmain"; then :
+else
+ echo "$progname: \`$ltmain' does not exist" 1>&2
+ echo "$help" 1>&2
+ exit 1
+fi
+
+# Quote any args containing shell metacharacters.
+ltconfig_args=
+for arg
+do
+ case "$arg" in
+ *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?]*)
+ ltconfig_args="$ltconfig_args '$arg'" ;;
+ *) ltconfig_args="$ltconfig_args $arg" ;;
+ esac
+done
+
+# A relevant subset of AC_INIT.
+
+# File descriptor usage:
+# 0 standard input
+# 1 file creation
+# 2 errors and warnings
+# 3 some systems may open it to /dev/tty
+# 4 used on the Kubota Titan
+# 5 compiler messages saved in config.log
+# 6 checking for... messages and results
+if test "$silent" = yes; then
+ exec 6>/dev/null
+else
+ exec 6>&1
+fi
+exec 5>>./config.log
+
+# NLS nuisances.
+# Only set LANG and LC_ALL to C if already set.
+# These must not be set unconditionally because not all systems understand
+# e.g. LANG=C (notably SCO).
+if test "${LC_ALL+set}" = set; then LC_ALL=C; export LC_ALL; fi
+if test "${LANG+set}" = set; then LANG=C; export LANG; fi
+
+if (echo "testing\c"; echo 1,2,3) | grep c >/dev/null; then
+ # Stardent Vistra SVR4 grep lacks -e, says ghazi@caip.rutgers.edu.
+ if (echo -n testing; echo 1,2,3) | sed s/-n/xn/ | grep xn >/dev/null; then
+ ac_n= ac_c='
+' ac_t=' '
+ else
+ ac_n=-n ac_c= ac_t=
+ fi
+else
+ ac_n= ac_c='\c' ac_t=
+fi
+
+if test -z "$srcdir"; then
+ # Assume the source directory is the same one as the path to ltmain.sh.
+ srcdir=`$echo "$ltmain" | $Xsed -e 's%/[^/]*$%%'`
+ test "$srcdir" = "$ltmain" && srcdir=.
+fi
+
+trap "$rm conftest*; exit 1" 1 2 15
+if test "$verify_host" = yes; then
+ # Check for config.guess and config.sub.
+ ac_aux_dir=
+ for ac_dir in $srcdir $srcdir/.. $srcdir/../..; do
+ if test -f $ac_dir/config.guess; then
+ ac_aux_dir=$ac_dir
+ break
+ fi
+ done
+ if test -z "$ac_aux_dir"; then
+ echo "$progname: cannot find config.guess in $srcdir $srcdir/.. $srcdir/../.." 1>&2
+ echo "$help" 1>&2
+ exit 1
+ fi
+ ac_config_guess=$ac_aux_dir/config.guess
+ ac_config_sub=$ac_aux_dir/config.sub
+
+ # Make sure we can run config.sub.
+ if $ac_config_sub sun4 >/dev/null 2>&1; then :
+ else
+ echo "$progname: cannot run $ac_config_sub" 1>&2
+ echo "$help" 1>&2
+ exit 1
+ fi
+
+ echo $ac_n "checking host system type""... $ac_c" 1>&6
+
+ host_alias=$host
+ case "$host_alias" in
+ "")
+ if host_alias=`$ac_config_guess`; then :
+ else
+ echo "$progname: cannot guess host type; you must specify one" 1>&2
+ echo "$help" 1>&2
+ exit 1
+ fi ;;
+ esac
+ host=`$ac_config_sub $host_alias`
+ echo "$ac_t$host" 1>&6
+
+ # Make sure the host verified.
+ test -z "$host" && exit 1
+
+elif test -z "$host"; then
+ echo "$progname: you must specify a host type if you use \`--no-verify'" 1>&2
+ echo "$help" 1>&2
+ exit 1
+else
+ host_alias=$host
+fi
+
+# Transform linux* to *-*-linux-gnu*, to support old configure scripts.
+case "$host_os" in
+linux-gnu*) ;;
+linux*) host=`echo $host | sed 's/^\(.*-.*-linux\)\(.*\)$/\1-gnu\2/'`
+esac
+
+host_cpu=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
+host_vendor=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
+host_os=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
+
+case "$host_os" in
+aix3*)
+ # AIX sometimes has problems with the GCC collect2 program. For some
+ # reason, if we set the COLLECT_NAMES environment variable, the problems
+ # vanish in a puff of smoke.
+ if test "${COLLECT_NAMES+set}" != set; then
+ COLLECT_NAMES=
+ export COLLECT_NAMES
+ fi
+ ;;
+esac
+
+# Determine commands to create old-style static archives.
+old_archive_cmds='$AR cru $oldlib$oldobjs'
+old_postinstall_cmds='chmod 644 $oldlib'
+old_postuninstall_cmds=
+
+# Set a sane default for `AR'.
+test -z "$AR" && AR=ar
+
+# If RANLIB is not set, then run the test.
+if test "${RANLIB+set}" != "set"; then
+ result=no
+
+ echo $ac_n "checking for ranlib... $ac_c" 1>&6
+ IFS="${IFS= }"; save_ifs="$IFS"; IFS="${IFS}:"
+ for dir in $PATH; do
+ test -z "$dir" && dir=.
+ if test -f $dir/ranlib; then
+ RANLIB="ranlib"
+ result="ranlib"
+ break
+ fi
+ done
+ IFS="$save_ifs"
+
+ echo "$ac_t$result" 1>&6
+fi
+
+if test -n "$RANLIB"; then
+ old_archive_cmds="$old_archive_cmds;\$RANLIB \$oldlib"
+ old_postinstall_cmds="\$RANLIB \$oldlib;$old_postinstall_cmds"
+fi
+
+# Check to see if we are using GCC.
+if test "$with_gcc" != yes || test -z "$CC"; then
+ # If CC is not set, then try to find GCC or a usable CC.
+ if test -z "$CC"; then
+ echo $ac_n "checking for gcc... $ac_c" 1>&6
+ IFS="${IFS= }"; save_ifs="$IFS"; IFS="${IFS}:"
+ for dir in $PATH; do
+ IFS="$save_ifs"
+ test -z "$dir" && dir=.
+ if test -f $dir/gcc; then
+ CC="gcc"
+ break
+ fi
+ done
+ IFS="$save_ifs"
+
+ if test -n "$CC"; then
+ echo "$ac_t$CC" 1>&6
+ else
+ echo "$ac_t"no 1>&6
+ fi
+ fi
+
+ # Not "gcc", so try "cc", rejecting "/usr/ucb/cc".
+ if test -z "$CC"; then
+ echo $ac_n "checking for cc... $ac_c" 1>&6
+ IFS="${IFS= }"; save_ifs="$IFS"; IFS="${IFS}:"
+ cc_rejected=no
+ for dir in $PATH; do
+ test -z "$dir" && dir=.
+ if test -f $dir/cc; then
+ if test "$dir/cc" = "/usr/ucb/cc"; then
+ cc_rejected=yes
+ continue
+ fi
+ CC="cc"
+ break
+ fi
+ done
+ IFS="$save_ifs"
+ if test $cc_rejected = yes; then
+ # We found a bogon in the path, so make sure we never use it.
+ set dummy $CC
+ shift
+ if test $# -gt 0; then
+ # We chose a different compiler from the bogus one.
+ # However, it has the same name, so the bogon will be chosen
+ # first if we set CC to just the name; use the full file name.
+ shift
+ set dummy "$dir/cc" "$@"
+ shift
+ CC="$@"
+ fi
+ fi
+
+ if test -n "$CC"; then
+ echo "$ac_t$CC" 1>&6
+ else
+ echo "$ac_t"no 1>&6
+ fi
+
+ if test -z "$CC"; then
+ echo "$progname: error: no acceptable cc found in \$PATH" 1>&2
+ exit 1
+ fi
+ fi
+
+ # Now see if the compiler is really GCC.
+ with_gcc=no
+ echo $ac_n "checking whether we are using GNU C... $ac_c" 1>&6
+ echo "$progname:424: checking whether we are using GNU C" >&5
+
+ $rm conftest.c
+ cat > conftest.c <<EOF
+#ifdef __GNUC__
+ yes;
+#endif
+EOF
+ if { ac_try='${CC-cc} -E conftest.c'; { (eval echo $progname:432: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
+ with_gcc=yes
+ fi
+ $rm conftest.c
+ echo "$ac_t$with_gcc" 1>&6
+fi
+
+# Allow CC to be a program name with arguments.
+set dummy $CC
+compiler="$2"
+
+echo $ac_n "checking for $compiler option to produce PIC... $ac_c" 1>&6
+pic_flag=
+special_shlib_compile_flags=
+wl=
+link_static_flag=
+no_builtin_flag=
+
+if test "$with_gcc" = yes; then
+ wl='-Wl,'
+ link_static_flag='-static'
+ no_builtin_flag=' -fno-builtin'
+
+ case "$host_os" in
+ aix3* | aix4* | irix5* | irix6* | osf3* | osf4*)
+ # PIC is the default for these OSes.
+ ;;
+ os2*)
+ # We can build DLLs from non-PIC.
+ ;;
+ amigaos*)
+ # FIXME: we need at least 68020 code to build shared libraries, but
+ # adding the `-m68020' flag to GCC prevents building anything better,
+ # like `-m68040'.
+ pic_flag='-m68020 -resident32 -malways-restore-a4'
+ ;;
+ *)
+ pic_flag='-fPIC'
+ ;;
+ esac
+else
+ # PORTME Check for PIC flags for the system compiler.
+ case "$host_os" in
+ aix3* | aix4*)
+ # All AIX code is PIC.
+ link_static_flag='-bnso -bI:/lib/syscalls.exp'
+ ;;
+
+ hpux9* | hpux10*)
+ # Is there a better link_static_flag that works with the bundled CC?
+ wl='-Wl,'
+ link_static_flag="${wl}-a ${wl}archive"
+ pic_flag='+Z'
+ ;;
+
+ irix5* | irix6*)
+ wl='-Wl,'
+ link_static_flag='-non_shared'
+ # PIC (with -KPIC) is the default.
+ ;;
+
+ os2*)
+ # We can build DLLs from non-PIC.
+ ;;
+
+ osf3* | osf4*)
+ # All OSF/1 code is PIC.
+ wl='-Wl,'
+ link_static_flag='-non_shared'
+ ;;
+
+ sco3.2v5*)
+ pic_flag='-Kpic'
+ link_static_flag='-dn'
+ special_shlib_compile_flags='-belf'
+ ;;
+
+ solaris2*)
+ pic_flag='-KPIC'
+ link_static_flag='-Bstatic'
+ wl='-Wl,'
+ ;;
+
+ sunos4*)
+ pic_flag='-PIC'
+ link_static_flag='-Bstatic'
+ wl='-Qoption ld '
+ ;;
+
+ sysv4.2uw2*)
+ pic_flag='-KPIC'
+ link_static_flag='-Bstatic'
+ wl='-Wl,'
+ ;;
+
+ uts4*)
+ pic_flag='-pic'
+ link_static_flag='-Bstatic'
+ ;;
+
+ *)
+ can_build_shared=no
+ ;;
+ esac
+fi
+
+if test -n "$pic_flag"; then
+ echo "$ac_t$pic_flag" 1>&6
+
+ # Check to make sure the pic_flag actually works.
+ echo $ac_n "checking if $compiler PIC flag $pic_flag works... $ac_c" 1>&6
+ $rm conftest*
+ echo > conftest.c
+ save_CFLAGS="$CFLAGS"
+ CFLAGS="$CFLAGS $pic_flag -DPIC"
+ echo "$progname:547: checking if $compiler PIC flag $pic_flag works" >&5
+ if { (eval echo $progname:548: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>conftest.err; } && test -s conftest.o; then
+ # Append any warnings to the config.log.
+ cat conftest.err 1>&5
+
+ # On HP-UX, both CC and GCC only warn that PIC is supported... then they
+ # create non-PIC objects. So, if there were any warnings, we assume that
+ # PIC is not supported.
+ if test -s conftest.err; then
+ echo "$ac_t"no 1>&6
+ can_build_shared=no
+ pic_flag=
+ else
+ echo "$ac_t"yes 1>&6
+ pic_flag=" $pic_flag"
+ fi
+ else
+ # Append any errors to the config.log.
+ cat conftest.err 1>&5
+ can_build_shared=no
+ pic_flag=
+ echo "$ac_t"no 1>&6
+ fi
+ CFLAGS="$save_CFLAGS"
+ $rm conftest*
+else
+ echo "$ac_t"none 1>&6
+fi
+
+# Check for any special shared library compilation flags.
+if test -n "$special_shlib_compile_flags"; then
+ echo "$progname: warning: \`$CC' requires \`$special_shlib_compile_flags' to build shared libraries" 1>&2
+ if echo "$old_CC $old_CFLAGS " | egrep -e "[ ]$special_shlib_compile_flags[ ]" >/dev/null; then :
+ else
+ echo "$progname: add \`$special_shlib_compile_flags' to the CC or CFLAGS env variable and reconfigure" 1>&2
+ can_build_shared=no
+ fi
+fi
+
+echo $ac_n "checking if $compiler static flag $link_static_flag works... $ac_c" 1>&6
+$rm conftest*
+echo 'main(){return(0);}' > conftest.c
+save_LDFLAGS="$LDFLAGS"
+LDFLAGS="$LDFLAGS $link_static_flag"
+echo "$progname:591: checking if $compiler static flag $link_static_flag works" >&5
+if { (eval echo $progname:592: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+ echo "$ac_t$link_static_flag" 1>&6
+else
+ echo "$ac_t"none 1>&6
+ link_static_flag=
+fi
+LDFLAGS="$save_LDFLAGS"
+$rm conftest*
+
+if test -z "$LN_S"; then
+ # Check to see if we can use ln -s, or we need hard links.
+ echo $ac_n "checking whether ln -s works... $ac_c" 1>&6
+ $rm conftestdata
+ if ln -s X conftestdata 2>/dev/null; then
+ $rm conftestdata
+ LN_S="ln -s"
+ else
+ LN_S=ln
+ fi
+ if test "$LN_S" = "ln -s"; then
+ echo "$ac_t"yes 1>&6
+ else
+ echo "$ac_t"no 1>&6
+ fi
+fi
+
+# Make sure LD is an absolute path.
+if test -z "$LD"; then
+ ac_prog=ld
+ if test "$with_gcc" = yes; then
+ # Check if gcc -print-prog-name=ld gives a path.
+ echo $ac_n "checking for ld used by GCC... $ac_c" 1>&6
+ echo "$progname:624: checking for ld used by GCC" >&5
+ ac_prog=`($CC -print-prog-name=ld) 2>&5`
+ case "$ac_prog" in
+ # Accept absolute paths.
+ /* | [A-Za-z]:\\*)
+ test -z "$LD" && LD="$ac_prog"
+ ;;
+ "")
+ # If it fails, then pretend we are not using GCC.
+ ac_prog=ld
+ ;;
+ *)
+ # If it is relative, then search for the first ld in PATH.
+ with_gnu_ld=unknown
+ ;;
+ esac
+ elif test "$with_gnu_ld" = yes; then
+ echo $ac_n "checking for GNU ld... $ac_c" 1>&6
+ echo "$progname:642: checking for GNU ld" >&5
+ else
+ echo $ac_n "checking for non-GNU ld""... $ac_c" 1>&6
+ echo "$progname:645: checking for non-GNU ld" >&5
+ fi
+
+ if test -z "$LD"; then
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
+ for ac_dir in $PATH; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f "$ac_dir/$ac_prog"; then
+ LD="$ac_dir/$ac_prog"
+ # Check to see if the program is GNU ld. I'd rather use --version,
+ # but apparently some GNU ld's only accept -v.
+ # Break only if it was the GNU/non-GNU ld that we prefer.
+ if "$LD" -v 2>&1 < /dev/null | egrep '(GNU|with BFD)' > /dev/null; then
+ test "$with_gnu_ld" != no && break
+ else
+ test "$with_gnu_ld" != yes && break
+ fi
+ fi
+ done
+ IFS="$ac_save_ifs"
+ fi
+
+ if test -n "$LD"; then
+ echo "$ac_t$LD" 1>&6
+ else
+ echo "$ac_t"no 1>&6
+ fi
+
+ if test -z "$LD"; then
+ echo "$progname: error: no acceptable ld found in \$PATH" 1>&2
+ exit 1
+ fi
+fi
+
+# Check to see if it really is or is not GNU ld.
+echo $ac_n "checking if the linker ($LD) is GNU ld... $ac_c" 1>&6
+# I'd rather use --version here, but apparently some GNU ld's only accept -v.
+if $LD -v 2>&1 </dev/null | egrep '(GNU|with BFD)' 1>&5; then
+ with_gnu_ld=yes
+else
+ with_gnu_ld=no
+fi
+echo "$ac_t$with_gnu_ld" 1>&6
+
+# See if the linker supports building shared libraries.
+echo $ac_n "checking whether the linker ($LD) supports shared libraries... $ac_c" 1>&6
+
+allow_undefined_flag=
+no_undefined_flag=
+archive_cmds=
+old_archive_from_new_cmds=
+export_dynamic_flag_spec=
+hardcode_libdir_flag_spec=
+hardcode_libdir_separator=
+hardcode_direct=no
+hardcode_minus_L=no
+hardcode_shlibpath_var=unsupported
+runpath_var=
+
+case "$host_os" in
+amigaos* | sunos4*)
+ # On these operating systems, we should treat GNU ld like the system ld.
+ gnu_ld_acts_native=yes
+ ;;
+*)
+ gnu_ld_acts_native=no
+ ;;
+esac
+
+ld_shlibs=yes
+if test "$with_gnu_ld" = yes && test "$gnu_ld_acts_native" != yes; then
+
+ # See if GNU ld supports shared libraries.
+ if $LD --help 2>&1 | egrep ': supported targets:.* elf' > /dev/null; then
+ archive_cmds='$CC -shared ${wl}-soname $wl$soname -o $lib$libobjs'
+ runpath_var=LD_RUN_PATH
+ ld_shlibs=yes
+ else
+ ld_shlibs=no
+ fi
+
+ if test "$ld_shlibs" = yes; then
+ hardcode_libdir_flag_spec='${wl}--rpath ${wl}$libdir'
+ export_dynamic_flag_spec='${wl}--export-dynamic'
+ fi
+else
+ # PORTME fill in a description of your system's linker (not GNU ld)
+ case "$host_os" in
+ aix3*)
+ allow_undefined_flag=unsupported
+ archive_cmds='$NM$libobjs | $global_symbol_pipe | sed '\''s/.* //'\'' > $lib.exp;$LD -o $objdir/$soname$libobjs -bE:$lib.exp -T512 -H512 -bM:SRE;$AR cru $lib $objdir/$soname'
+ # Note: this linker hardcodes the directories in LIBPATH if there
+ # are no directories specified by -L.
+ hardcode_minus_L=yes
+ if test "$with_gcc" = yes && test -z "$link_static_flag"; then
+ # Neither direct hardcoding nor static linking is supported with a
+ # broken collect2.
+ hardcode_direct=unsupported
+ fi
+ ;;
+
+ aix4*)
+ allow_undefined_flag=unsupported
+ archive_cmds='$NM$libobjs | $global_symbol_pipe | sed '\''s/.* //'\'' > $lib.exp;$CC -o $objdir/$soname$libobjs ${wl}-bE:$lib.exp ${wl}-bM:SRE ${wl}-bnoentry;$AR cru $lib $objdir/$soname'
+ hardcode_direct=yes
+ hardcode_minus_L=yes
+ ;;
+
+ amigaos*)
+ archive_cmds='$rm $objdir/a2ixlibrary.data;$echo "#define NAME $libname" > $objdir/a2ixlibrary.data;$echo "#define LIBRARY_ID 1" >> $objdir/a2ixlibrary.data;$echo "#define VERSION $major" >> $objdir/a2ixlibrary.data;$echo "#define REVISION $revision" >> $objdir/a2ixlibrary.data;$AR cru $lib$libobjs;$RANLIB $lib;(cd $objdir && a2ixlibrary -32)'
+ hardcode_libdir_flag_spec='-L$libdir'
+ hardcode_minus_L=yes
+ ;;
+
+ # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
+ # support. Future versions do this automatically, but an explicit c++rt0.o
+ # does not break anything, and helps significantly (at the cost of a little
+ # extra space).
+ freebsd2.2*)
+ archive_cmds='$LD -Bshareable -o $lib$libobjs /usr/lib/c++rt0.o'
+ hardcode_libdir_flag_spec='-R$libdir'
+ hardcode_direct=yes
+ hardcode_minus_L=yes
+ hardcode_shlibpath_var=no
+ ;;
+
+ # Unfortunately, older versions of FreeBSD 2 do not have this feature.
+ freebsd2*)
+ archive_cmds='$LD -Bshareable -o $lib$libobjs'
+ hardcode_direct=yes
+ hardcode_minus_L=yes
+ hardcode_shlibpath_var=no
+ ;;
+
+ # FreeBSD 3, at last, uses gcc -shared to do shared libraries.
+ freebsd3*)
+ archive_cmds='$CC -shared -o $lib$libobjs'
+ hardcode_libdir_flag_spec='-R$libdir'
+ hardcode_direct=yes
+ hardcode_minus_L=yes
+ hardcode_shlibpath_var=no
+ ;;
+
+ hpux9*)
+ archive_cmds='$rm $objdir/$soname;$LD -b +s +b $install_libdir -o $objdir/$soname$libobjs;mv $objdir/$soname $lib'
+ hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
+ hardcode_direct=yes
+ hardcode_minus_L=yes
+ export_dynamic_flag_spec='${wl}-E'
+ ;;
+
+ hpux10*)
+ archive_cmds='$LD -b +h $soname +s +b $install_libdir -o $lib$libobjs'
+ hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
+ hardcode_direct=yes
+ hardcode_minus_L=yes
+ export_dynamic_flag_spec='${wl}-E'
+ ;;
+
+ irix5* | irix6*)
+ archive_cmds='$LD -shared -o $lib -soname $soname -set_version $verstring$libobjs'
+ hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+ ;;
+
+ netbsd*)
+ # Tested with NetBSD 1.2 ld
+ archive_cmds='$LD -Bshareable -o $lib$libobjs'
+ hardcode_libdir_flag_spec='-R$libdir'
+ hardcode_direct=yes
+ hardcode_shlibpath_var=no
+ ;;
+
+ openbsd*)
+ archive_cmds='$LD -Bshareable -o $lib$libobjs'
+ hardcode_libdir_flag_spec='-R$libdir'
+ hardcode_direct=yes
+ hardcode_shlibpath_var=no
+ ;;
+
+ os2*)
+ hardcode_libdir_flag_spec='-L$libdir'
+ hardcode_minus_L=yes
+ allow_undefined_flag=unsupported
+ archive_cmds='$echo "LIBRARY $libname INITINSTANCE" > $objdir/$libname.def;$echo "DESCRIPTION \"$libname\"" >> $objdir/$libname.def;$echo DATA >> $objdir/$libname.def;$echo " SINGLE NONSHARED" >> $objdir/$libname.def;$echo EXPORTS >> $objdir/$libname.def;emxexp$libobjs >> $objdir/$libname.def;$CC -Zdll -Zcrtdll -o $lib$libobjs $objdir/$libname.def'
+ old_archive_from_new_cmds='emximp -o $objdir/$libname.a $objdir/$libname.def'
+ ;;
+
+ osf3* | osf4*)
+ allow_undefined_flag=' -expect_unresolved \*'
+ archive_cmds='$LD -shared${allow_undefined_flag} -o $lib -soname $soname -set_version $verstring$libobjs$deplibs'
+ hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+ hardcode_libdir_separator=:
+ ;;
+
+ sco3.2v5*)
+ archive_cmds='$LD -G -o $lib$libobjs'
+ hardcode_direct=yes
+ ;;
+
+ solaris2*)
+ no_undefined_flag=' -z text'
+ archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib$libobjs'
+ hardcode_libdir_flag_spec='-R$libdir'
+ hardcode_shlibpath_var=no
+
+ # Solaris 2 before 2.5 hardcodes -L paths.
+ case "$host_os" in
+ solaris2.[0-4]*)
+ hardcode_minus_L=yes
+ ;;
+ esac
+ ;;
+
+ sunos4*)
+ if test "$with_gcc" = yes; then
+ archive_cmds='$CC -shared -o $lib$libobjs'
+ else
+ archive_cmds='$LD -assert pure-text -Bstatic -o $lib$libobjs'
+ fi
+
+ if test "$with_gnu_ld" = yes; then
+ export_dynamic_flag_spec='${wl}-export-dynamic'
+ fi
+ hardcode_libdir_flag_spec='-L$libdir'
+ hardcode_direct=yes
+ hardcode_minus_L=yes
+ hardcode_shlibpath_var=no
+ ;;
+
+ uts4*)
+ archive_cmds='$LD -G -h $soname -o $lib$libobjs'
+ hardcode_libdir_flag_spec='-L$libdir'
+ hardcode_direct=no
+ hardcode_minus_L=no
+ hardcode_shlibpath_var=no
+ ;;
+
+ *)
+ ld_shlibs=no
+ can_build_shared=no
+ ;;
+ esac
+fi
+echo "$ac_t$ld_shlibs" 1>&6
+
+if test -z "$NM"; then
+ echo $ac_n "checking for BSD-compatible nm... $ac_c" 1>&6
+ case "$NM" in
+ /* | [A-Za-z]:\\*) ;; # Let the user override the test with a path.
+ *)
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
+ for ac_dir in /usr/ucb /usr/ccs/bin $PATH /bin; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/nm; then
+ # Check to see if the nm accepts a BSD-compat flag.
+ # Adding the `sed 1q' prevents false positives on HP-UX, which says:
+ # nm: unknown option "B" ignored
+ if ($ac_dir/nm -B /dev/null 2>&1 | sed '1q'; exit 0) | egrep /dev/null >/dev/null; then
+ NM="$ac_dir/nm -B"
+ elif ($ac_dir/nm -p /dev/null 2>&1 | sed '1q'; exit 0) | egrep /dev/null >/dev/null; then
+ NM="$ac_dir/nm -p"
+ else
+ NM="$ac_dir/nm"
+ fi
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+ test -z "$NM" && NM=nm
+ ;;
+ esac
+ echo "$ac_t$NM" 1>&6
+fi
+
+# Check for command to grab the raw symbol name followed by C symbol from nm.
+echo $ac_n "checking command to parse $NM output... $ac_c" 1>&6
+
+# These are sane defaults that work on at least a few old systems.
+# [They come from Ultrix. What could be older than Ultrix?!! ;)]
+
+# Character class describing NM global symbol codes.
+symcode='[BCDEGRSTU]'
+
+# Regexp to match symbols that can be accessed directly from C.
+sympat='\([_A-Za-z][_A-Za-z0-9]*\)'
+
+# Transform the above into a raw symbol and a C symbol.
+symxfrm='\1 \1'
+
+# Define system-specific variables.
+case "$host_os" in
+aix*)
+ symcode='[BCDTU]'
+ ;;
+irix*)
+ # Cannot use undefined symbols on IRIX because inlined functions mess us up.
+ symcode='[BCDEGRST]'
+ ;;
+solaris2*)
+ symcode='[BDTU]'
+ ;;
+esac
+
+# If we're using GNU nm, then use its standard symbol codes.
+if $NM -V 2>&1 | egrep '(GNU|with BFD)' > /dev/null; then
+ symcode='[ABCDGISTUW]'
+fi
+
+# Write the raw and C identifiers.
+global_symbol_pipe="sed -n -e 's/^.* $symcode $sympat$/$symxfrm/p'"
+
+# Check to see that the pipe works correctly.
+pipe_works=no
+$rm conftest*
+cat > conftest.c <<EOF
+#ifdef __cplusplus
+extern "C" {
+#endif
+char nm_test_var;
+void nm_test_func(){}
+#ifdef __cplusplus
+}
+#endif
+main(){nm_test_var='a';nm_test_func();return(0);}
+EOF
+
+echo "$progname:971: checking if global_symbol_pipe works" >&5
+if { (eval echo $progname:972: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; } && test -s conftest.o; then
+ # Now try to grab the symbols.
+ nlist=conftest.nm
+ if { echo "$progname:975: eval \"$NM conftest.o | $global_symbol_pipe > $nlist\"" >&5; eval "$NM conftest.o | $global_symbol_pipe > $nlist 2>&5"; } && test -s "$nlist"; then
+
+ # Try sorting and uniquifying the output.
+ if sort "$nlist" | uniq > "$nlist"T; then
+ mv -f "$nlist"T "$nlist"
+ wcout=`wc "$nlist" 2>/dev/null`
+ count=`$echo "X$wcout" | $Xsed -e 's/^[ ]*\([0-9][0-9]*\).*$/\1/'`
+ (test "$count" -ge 0) 2>/dev/null || count=-1
+ else
+ rm -f "$nlist"T
+ count=-1
+ fi
+
+ # Make sure that we snagged all the symbols we need.
+ if egrep ' nm_test_var$' "$nlist" >/dev/null; then
+ if egrep ' nm_test_func$' "$nlist" >/dev/null; then
+ cat <<EOF > conftest.c
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+EOF
+ # Now generate the symbol file.
+ sed 's/^.* \(.*\)$/extern char \1;/' < "$nlist" >> conftest.c
+
+ cat <<EOF >> conftest.c
+#if defined (__STDC__) && __STDC__
+# define __ptr_t void *
+#else
+# define __ptr_t char *
+#endif
+
+/* The number of symbols in dld_preloaded_symbols, -1 if unsorted. */
+int dld_preloaded_symbol_count = $count;
+
+/* The mapping between symbol names and symbols. */
+struct {
+ char *name;
+ __ptr_t address;
+}
+dld_preloaded_symbols[] =
+{
+EOF
+ sed 's/^\(.*\) \(.*\)$/ {"\1", (__ptr_t) \&\2},/' < "$nlist" >> conftest.c
+ cat <<\EOF >> conftest.c
+ {0, (__ptr_t) 0}
+};
+
+#ifdef __cplusplus
+}
+#endif
+EOF
+ # Now try linking the two files.
+ mv conftest.o conftestm.o
+ save_LIBS="$LIBS"
+ save_CFLAGS="$CFLAGS"
+ LIBS='conftestm.o'
+ CFLAGS="$CFLAGS$no_builtin_flag"
+ if { (eval echo $progname:1033: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+ pipe_works=yes
+ else
+ echo "$progname: failed program was:" >&5
+ cat conftest.c >&5
+ fi
+ LIBS="$save_LIBS"
+ else
+ echo "cannot find nm_test_func in $nlist" >&5
+ fi
+ else
+ echo "cannot find nm_test_var in $nlist" >&5
+ fi
+ else
+ echo "cannot run $global_symbol_pipe" >&5
+ fi
+else
+ echo "$progname: failed program was:" >&5
+ cat conftest.c >&5
+fi
+$rm conftest*
+
+# Do not use the global_symbol_pipe unless it works.
+echo "$ac_t$pipe_works" 1>&6
+test "$pipe_works" = yes || global_symbol_pipe=
+
+# Check hardcoding attributes.
+echo $ac_n "checking how to hardcode library paths into programs... $ac_c" 1>&6
+hardcode_action=
+if test -n "$hardcode_libdir_flag_spec" || \
+ test -n "$runpath_var"; then
+
+ # We can hardcode non-existant directories.
+ if test "$hardcode_direct" != no && \
+ test "$hardcode_minus_L" != no && \
+ test "$hardcode_shlibpath_var" != no; then
+
+ # Linking always hardcodes the temporary library directory.
+ hardcode_action=relink
+ else
+ # We can link without hardcoding, and we can hardcode nonexisting dirs.
+ hardcode_action=immediate
+ fi
+elif test "$hardcode_direct" != yes && \
+ test "$hardcode_minus_L" != yes && \
+ test "$hardcode_shlibpath_var" != yes; then
+ # We cannot hardcode anything.
+ hardcode_action=unsupported
+else
+ # We can only hardcode existing directories.
+ hardcode_action=relink
+fi
+echo "$ac_t$hardcode_action" 1>&6
+test "$hardcode_action" = unsupported && can_build_shared=no
+
+
+reload_flag=
+reload_cmds='$LD$reload_flag -o $output$reload_objs'
+echo $ac_n "checking for $LD option to reload object files... $ac_c" 1>&6
+# PORTME Some linker may need a different reload flag.
+reload_flag='-r'
+echo "$ac_t$reload_flag"
+test -n "$reload_flag" && reload_flag=" $reload_flag"
+
+# PORTME Fill in your ld.so characteristics
+library_names_spec=
+libname_spec='lib$name'
+soname_spec=
+postinstall_cmds=
+postuninstall_cmds=
+finish_cmds=
+finish_eval=
+shlibpath_var=
+version_type=none
+dynamic_linker="$host_os ld.so"
+
+echo $ac_n "checking dynamic linker characteristics... $ac_c" 1>&6
+case "$host_os" in
+aix3* | aix4*)
+ version_type=linux
+ library_names_spec='${libname}${release}.so.$versuffix $libname.a'
+ shlibpath_var=LIBPATH
+
+ # AIX has no versioning support, so we append a major version to the name.
+ soname_spec='${libname}${release}.so.$major'
+ ;;
+
+amigaos*)
+ library_names_spec='$libname.ixlibrary $libname.a'
+ # Create ${libname}_ixlibrary.a entries in /sys/libs.
+ finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "(cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a)"; (cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a) || exit 1; done'
+ ;;
+
+freebsd2* | freebsd3*)
+ version_type=sunos
+ library_names_spec='${libname}${release}.so.$versuffix $libname.so'
+ finish_cmds='PATH="$PATH:/sbin" ldconfig -m $libdir'
+ shlibpath_var=LD_LIBRARY_PATH
+ ;;
+
+gnu*)
+ version_type=sunos
+ library_names_spec='${libname}${release}.so.$versuffix'
+ shlibpath_var=LD_LIBRARY_PATH
+ ;;
+
+hpux9* | hpux10*)
+ # Give a soname corresponding to the major version so that dld.sl refuses to
+ # link against other versions.
+ dynamic_linker="$host_os dld.sl"
+ version_type=sunos
+ shlibpath_var=SHLIB_PATH
+ library_names_spec='${libname}${release}.sl.$versuffix ${libname}${release}.sl.$major $libname.sl'
+ soname_spec='${libname}${release}.sl.$major'
+ # HP-UX runs *really* slowly unless shared libraries are mode 555.
+ postinstall_cmds='chmod 555 $lib'
+ ;;
+
+irix5* | irix6*)
+ version_type=osf
+ soname_spec='${libname}${release}.so'
+ library_names_spec='${libname}${release}.so.$versuffix $libname.so'
+ shlibpath_var=LD_LIBRARY_PATH
+ ;;
+
+# No shared lib support for Linux oldld, aout, or coff.
+linux-gnuoldld* | linux-gnuaout* | linux-gnucoff*)
+ dynamic_linker=no
+ ;;
+
+# This must be Linux ELF.
+linux-gnu*)
+ version_type=linux
+ library_names_spec='${libname}${release}.so.$versuffix ${libname}${release}.so.$major $libname.so'
+ soname_spec='${libname}${release}.so.$major'
+ finish_cmds='PATH="$PATH:/sbin" ldconfig -n $libdir'
+ shlibpath_var=LD_LIBRARY_PATH
+
+ if test -f /lib/ld.so.1; then
+ dynamic_linker='GNU ld.so'
+ else
+ # Only the GNU ld.so supports shared libraries on MkLinux.
+ case "$host_cpu" in
+ powerpc*) dynamic_linker=no ;;
+ *) dynamic_linker='Linux ld.so' ;;
+ esac
+ fi
+ ;;
+
+netbsd* | openbsd*)
+ version_type=sunos
+ library_names_spec='${libname}${release}.so.$versuffix'
+ finish_cmds='PATH="$PATH:/sbin" ldconfig -m $libdir'
+ shlibpath_var=LD_LIBRARY_PATH
+ ;;
+
+os2*)
+ libname_spec='$name'
+ library_names_spec='$libname.dll $libname.a'
+ dynamic_linker='OS/2 ld.exe'
+ shlibpath_var=LIBPATH
+ ;;
+
+osf3* | osf4*)
+ version_type=osf
+ soname_spec='${libname}${release}.so'
+ library_names_spec='${libname}${release}.so.$versuffix $libname.so'
+ shlibpath_var=LD_LIBRARY_PATH
+ ;;
+
+sco3.2v5*)
+ version_type=osf
+ soname_spec='${libname}${release}.so.$major'
+ library_names_spec='${libname}${release}.so.$versuffix ${libname}${release}.so.$major $libname.so'
+ shlibpath_var=LD_LIBRARY_PATH
+ ;;
+
+solaris2*)
+ version_type=linux
+ library_names_spec='${libname}${release}.so.$versuffix ${libname}${release}.so.$major $libname.so'
+ soname_spec='${libname}${release}.so.$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ ;;
+
+sunos4*)
+ version_type=sunos
+ library_names_spec='${libname}${release}.so.$versuffix'
+ finish_cmds='PATH="$PATH:/usr/etc" ldconfig $libdir'
+ shlibpath_var=LD_LIBRARY_PATH
+ ;;
+
+sysv4.2uw2*)
+ version_type=linux
+ library_names_spec='${libname}${release}.so.$versuffix ${libname}${release}.so.$major $libname.so'
+ soname_spec='${libname}${release}.so.$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ ;;
+
+uts4*)
+ version_type=linux
+ library_names_spec='${libname}${release}.so.$versuffix ${libname}${release}.so.$major $libname.so'
+ soname_spec='${libname}${release}.so.$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ ;;
+
+*)
+ dynamic_linker=no
+ ;;
+esac
+echo "$ac_t$dynamic_linker"
+test "$dynamic_linker" = no && can_build_shared=no
+
+# Report the final consequences.
+echo "checking if libtool supports shared libraries... $can_build_shared" 1>&6
+
+echo $ac_n "checking whether to build shared libraries... $ac_c" 1>&6
+test "$can_build_shared" = "no" && enable_shared=no
+
+# On AIX, shared libraries and static libraries use the same namespace, and
+# are all built from PIC.
+case "$host_os" in
+aix*)
+ test "$enable_shared" = yes && enable_static=no
+ if test -n "$RANLIB"; then
+ archive_cmds="$archive_cmds;\$RANLIB \$lib"
+ postinstall_cmds='$RANLIB $lib'
+ fi
+ ;;
+esac
+
+echo "$ac_t$enable_shared" 1>&6
+
+# Make sure either enable_shared or enable_static is yes.
+test "$enable_shared" = yes || enable_static=yes
+
+echo "checking whether to build static libraries... $enable_static" 1>&6
+
+echo $ac_n "checking for objdir... $ac_c" 1>&6
+rm -f .libs 2>/dev/null
+mkdir .libs 2>/dev/null
+if test -d .libs; then
+ objdir=.libs
+else
+ # MS-DOS does not allow filenames that begin with a dot.
+ objdir=_libs
+fi
+rmdir .libs 2>/dev/null
+echo "$ac_t$objdir" 1>&6
+
+# Copy echo and quote the copy, instead of the original, because it is
+# used later.
+ltecho="$echo"
+
+# Now quote all the things that may contain metacharacters.
+for var in ltecho old_CC old_CFLAGS old_CPPFLAGS old_LD old_NM old_RANLIB \
+ old_LN_S AR CC LD LN_S NM reload_flag reload_cmds wl pic_flag \
+ link_static_flag no_builtin_flag export_dynamic_flag_spec \
+ libname_spec library_names_spec soname_spec RANLIB \
+ old_archive_cmds old_archive_from_new_cmds old_postinstall_cmds \
+ old_postuninstall_cmds archive_cmds postinstall_cmds postuninstall_cmds \
+ allow_undefined_flag no_undefined_flag \
+ finish_cmds finish_eval global_symbol_pipe \
+ hardcode_libdir_flag_spec hardcode_libdir_separator; do
+
+ case "$var" in
+ reload_cmds | old_archive_cmds | old_archive_from_new_cmds | \
+ old_postinstall_cmds | old_postuninstall_cmds | archive_cmds | \
+ postinstall_cmds | postuninstall_cmds | finish_cmds)
+ # Double-quote double-evaled strings.
+ eval "$var=\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\"\`"
+ ;;
+ *)
+ eval "$var=\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`"
+ ;;
+ esac
+done
+
+ofile=libtool
+trap "$rm $ofile; exit 1" 1 2 15
+echo creating $ofile
+$rm $ofile
+cat <<EOF > $ofile
+#! /bin/sh
+
+# libtool - Provide generalized library-building support services.
+# Generated automatically by $PROGRAM - GNU $PACKAGE $VERSION
+# NOTE: Changes made to this file will be lost: look at ltconfig or ltmain.sh.
+#
+# Copyright (C) 1996-1998 Free Software Foundation, Inc.
+# Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+#
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+
+# This program was configured as follows,
+# on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
+#
+# CC="$old_CC" CFLAGS="$old_CFLAGS" CPPFLAGS="$old_CPPFLAGS" \\
+# LD="$old_LD" NM="$old_NM" RANLIB="$old_RANLIB" LN_S="$old_LN_S" \\
+# $0$ltconfig_args
+#
+# Compiler and other test output produced by $progname, useful for
+# debugging $progname, is in ./config.log if it exists.
+
+# Sed that helps us avoid accidentally triggering echo(1) options like -n.
+Xsed="sed -e s/^X//"
+
+# The HP-UX ksh and POSIX shell print the target directory to stdout
+# if CDPATH is set.
+if test "\${CDPATH+set}" = set; then CDPATH=; export CDPATH; fi
+
+# An echo program that does not interpret backslashes.
+echo="$ltecho"
+
+# The version of $progname that generated this script.
+LTCONFIG_VERSION="$VERSION"
+
+# Shell to use when invoking shell scripts.
+SHELL=${CONFIG_SHELL-/bin/sh}
+
+# Whether or not to build libtool libraries.
+build_libtool_libs=$enable_shared
+
+# Whether or not to build old-style libraries.
+build_old_libs=$enable_static
+
+# The host system.
+host_alias="$host_alias"
+host="$host"
+
+# The archiver.
+AR="$AR"
+
+# The default C compiler.
+CC="$CC"
+
+# The linker used to build libraries.
+LD="$LD"
+
+# Whether we need hard or soft links.
+LN_S="$LN_S"
+
+# A BSD-compatible nm program.
+NM="$NM"
+
+# The name of the directory that contains temporary libtool files.
+objdir="$objdir"
+
+# How to create reloadable object files.
+reload_flag="$reload_flag"
+reload_cmds="$reload_cmds"
+
+# How to pass a linker flag through the compiler.
+wl="$wl"
+
+# Additional compiler flags for building library objects.
+pic_flag="$pic_flag"
+
+# Compiler flag to prevent dynamic linking.
+link_static_flag="$link_static_flag"
+
+# Compiler flag to turn off builtin functions.
+no_builtin_flag="$no_builtin_flag"
+
+# Compiler flag to allow reflexive dlopens.
+export_dynamic_flag_spec="$export_dynamic_flag_spec"
+
+# Library versioning type.
+version_type=$version_type
+
+# Format of library name prefix.
+libname_spec="$libname_spec"
+
+# List of archive names. First name is the real one, the rest are links.
+# The last name is the one that the linker finds with -lNAME.
+library_names_spec="$library_names_spec"
+
+# The coded name of the library, if different from the real name.
+soname_spec="$soname_spec"
+
+# Commands used to build and install an old-style archive.
+RANLIB="$RANLIB"
+old_archive_cmds="$old_archive_cmds"
+old_postinstall_cmds="$old_postinstall_cmds"
+old_postuninstall_cmds="$old_postuninstall_cmds"
+
+# Create an old-style archive from a shared archive.
+old_archive_from_new_cmds="$old_archive_from_new_cmds"
+
+# Commands used to build and install a shared archive.
+archive_cmds="$archive_cmds"
+postinstall_cmds="$postinstall_cmds"
+postuninstall_cmds="$postuninstall_cmds"
+
+# Flag that allows shared libraries with undefined symbols to be built.
+allow_undefined_flag="$allow_undefined_flag"
+
+# Flag that forces no undefined symbols.
+no_undefined_flag="$no_undefined_flag"
+
+# Commands used to finish a libtool library installation in a directory.
+finish_cmds="$finish_cmds"
+
+# Same as above, but a single script fragment to be evaled but not shown.
+finish_eval="$finish_eval"
+
+# Take the output of nm and produce a listing of raw symbols and C names.
+global_symbol_pipe="$global_symbol_pipe"
+
+# This is the shared library runtime path variable.
+runpath_var=$runpath_var
+
+# This is the shared library path variable.
+shlibpath_var=$shlibpath_var
+
+# How to hardcode a shared library path into an executable.
+hardcode_action=$hardcode_action
+
+# Flag to hardcode \$libdir into a binary during linking.
+# This must work even if \$libdir does not exist.
+hardcode_libdir_flag_spec="$hardcode_libdir_flag_spec"
+
+# Whether we need a single -rpath flag with a separated argument.
+hardcode_libdir_separator="$hardcode_libdir_separator"
+
+# Set to yes if using DIR/libNAME.so during linking hardcodes DIR into the
+# resulting binary.
+hardcode_direct=$hardcode_direct
+
+# Set to yes if using the -LDIR flag during linking hardcodes DIR into the
+# resulting binary.
+hardcode_minus_L=$hardcode_minus_L
+
+# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into
+# the resulting binary.
+hardcode_shlibpath_var=$hardcode_shlibpath_var
+
+EOF
+
+case "$host_os" in
+aix3*)
+ cat <<\EOF >> $ofile
+# AIX sometimes has problems with the GCC collect2 program. For some
+# reason, if we set the COLLECT_NAMES environment variable, the problems
+# vanish in a puff of smoke.
+if test "${COLLECT_NAMES+set}" != set; then
+ COLLECT_NAMES=
+ export COLLECT_NAMES
+fi
+
+EOF
+ ;;
+esac
+
+# Append the ltmain.sh script.
+cat "$ltmain" >> $ofile || (rm -f $ofile; exit 1)
+
+chmod +x $ofile
+exit 0
+
+# Local Variables:
+# mode:shell-script
+# sh-indentation:2
+# End:
diff --git a/ltmain.sh b/ltmain.sh
new file mode 100644
index 00000000..e9350b3f
--- /dev/null
+++ b/ltmain.sh
@@ -0,0 +1,2453 @@
+# ltmain.sh - Provide generalized library-building support services.
+# NOTE: Changing this file will not affect anything until you rerun ltconfig.
+#
+# Copyright (C) 1996-1998 Free Software Foundation, Inc.
+# Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+#
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+
+# The name of this program.
+progname=`$echo "$0" | sed 's%^.*/%%'`
+modename="$progname"
+
+# Constants.
+PROGRAM=ltmain.sh
+PACKAGE=libtool
+VERSION=1.2
+
+default_mode=
+help="Try \`$progname --help' for more information."
+magic="%%%MAGIC variable%%%"
+mkdir="mkdir"
+mv="mv -f"
+rm="rm -f"
+
+# Sed substitution that helps us do robust quoting. It backslashifies
+# metacharacters that are still active within double-quoted strings.
+Xsed='sed -e s/^X//'
+sed_quote_subst='s/\([\\`\\"$\\\\]\)/\\\1/g'
+
+# NLS nuisances.
+# Only set LANG and LC_ALL to C if already set.
+# These must not be set unconditionally because not all systems understand
+# e.g. LANG=C (notably SCO).
+if test "${LC_ALL+set}" = set; then LC_ALL=C; export LC_ALL; fi
+if test "${LANG+set}" = set; then LANG=C; export LANG; fi
+
+if test "$LTCONFIG_VERSION" != "$VERSION"; then
+ echo "$modename: ltconfig version \`$LTCONFIG_VERSION' does not match $PROGRAM version \`$VERSION'" 1>&2
+ echo "Fatal configuration error. See the $PACKAGE docs for more information." 1>&2
+ exit 1
+fi
+
+if test "$build_libtool_libs" != yes && test "$build_old_libs" != yes; then
+ echo "$modename: not configured to build any kind of library" 1>&2
+ echo "Fatal configuration error. See the $PACKAGE docs for more information." 1>&2
+ exit 1
+fi
+
+# Global variables.
+mode=$default_mode
+nonopt=
+prev=
+prevopt=
+run=
+show="$echo"
+show_help=
+execute_dlfiles=
+
+# Parse our command line options once, thoroughly.
+while test $# -gt 0
+do
+ arg="$1"
+ shift
+
+ case "$arg" in
+ -*=*) optarg=`$echo "X$arg" | $Xsed -e 's/[-_a-zA-Z0-9]*=//'` ;;
+ *) optarg= ;;
+ esac
+
+ # If the previous option needs an argument, assign it.
+ if test -n "$prev"; then
+ case "$prev" in
+ execute_dlfiles)
+ eval "$prev=\"\$$prev \$arg\""
+ ;;
+ *)
+ eval "$prev=\$arg"
+ ;;
+ esac
+
+ prev=
+ prevopt=
+ continue
+ fi
+
+ # Have we seen a non-optional argument yet?
+ case "$arg" in
+ --help)
+ show_help=yes
+ ;;
+
+ --version)
+ echo "$PROGRAM (GNU $PACKAGE) $VERSION"
+ exit 0
+ ;;
+
+ --dry-run | -n)
+ run=:
+ ;;
+
+ --features)
+ echo "host: $host"
+ if test "$build_libtool_libs" = yes; then
+ echo "enable shared libraries"
+ else
+ echo "disable shared libraries"
+ fi
+ if test "$build_old_libs" = yes; then
+ echo "enable static libraries"
+ else
+ echo "disable static libraries"
+ fi
+ exit 0
+ ;;
+
+ --finish) mode="finish" ;;
+
+ --mode) prevopt="--mode" prev=mode ;;
+ --mode=*) mode="$optarg" ;;
+
+ --quiet | --silent)
+ show=:
+ ;;
+
+ -dlopen)
+ prevopt="-dlopen"
+ prev=execute_dlfiles
+ ;;
+
+ -*)
+ $echo "$modename: unrecognized option \`$arg'" 1>&2
+ $echo "$help" 1>&2
+ exit 1
+ ;;
+
+ *)
+ nonopt="$arg"
+ break
+ ;;
+ esac
+done
+
+if test -n "$prevopt"; then
+ $echo "$modename: option \`$prevopt' requires an argument" 1>&2
+ $echo "$help" 1>&2
+ exit 1
+fi
+
+if test -z "$show_help"; then
+
+ # Infer the operation mode.
+ if test -z "$mode"; then
+ case "$nonopt" in
+ *cc | *++ | gcc* | *-gcc*)
+ mode=link
+ for arg
+ do
+ case "$arg" in
+ -c)
+ mode=compile
+ break
+ ;;
+ esac
+ done
+ ;;
+ *db | *dbx)
+ mode=execute
+ ;;
+ *install*|cp|mv)
+ mode=install
+ ;;
+ *rm)
+ mode=uninstall
+ ;;
+ *)
+ # If we have no mode, but dlfiles were specified, then do execute mode.
+ test -n "$execute_dlfiles" && mode=execute
+
+ # Just use the default operation mode.
+ if test -z "$mode"; then
+ if test -n "$nonopt"; then
+ $echo "$modename: warning: cannot infer operation mode from \`$nonopt'" 1>&2
+ else
+ $echo "$modename: warning: cannot infer operation mode without MODE-ARGS" 1>&2
+ fi
+ fi
+ ;;
+ esac
+ fi
+
+ # Only execute mode is allowed to have -dlopen flags.
+ if test -n "$execute_dlfiles" && test "$mode" != execute; then
+ $echo "$modename: unrecognized option \`-dlopen'" 1>&2
+ $echo "$help" 1>&2
+ exit 1
+ fi
+
+ # Change the help message to a mode-specific one.
+ generic_help="$help"
+ help="Try \`$modename --help --mode=$mode' for more information."
+
+ # These modes are in order of execution frequency so that they run quickly.
+ case "$mode" in
+ # libtool compile mode
+ compile)
+ modename="$modename: compile"
+ # Get the compilation command and the source file.
+ base_compile=
+ lastarg=
+ srcfile="$nonopt"
+ suppress_output=
+
+ for arg
+ do
+ # Accept any command-line options.
+ case "$arg" in
+ -o)
+ $echo "$modename: you cannot specify the output filename with \`-o'" 1>&2
+ $echo "$help" 1>&2
+ exit 1
+ ;;
+
+ -static)
+ build_libtool_libs=no
+ build_old_libs=yes
+ continue
+ ;;
+ esac
+
+ # Accept the current argument as the source file.
+ lastarg="$srcfile"
+ srcfile="$arg"
+
+ # Aesthetically quote the previous argument.
+
+ # Backslashify any backslashes, double quotes, and dollar signs.
+ # These are the only characters that are still specially
+ # interpreted inside of double-quoted scrings.
+ lastarg=`$echo "X$lastarg" | $Xsed -e "$sed_quote_subst"`
+
+ # Double-quote args containing other shell metacharacters.
+ # Many Bourne shells cannot handle close brackets correctly in scan
+ # sets, so we specify it separately.
+ case "$lastarg" in
+ *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*)
+ lastarg="\"$lastarg\""
+ ;;
+ esac
+
+ # Add the previous argument to base_compile.
+ if test -z "$base_compile"; then
+ base_compile="$lastarg"
+ else
+ base_compile="$base_compile $lastarg"
+ fi
+ done
+
+ # Get the name of the library object.
+ libobj=`$echo "X$srcfile" | $Xsed -e 's%^.*/%%'`
+
+ # Recognize several different file suffixes.
+ xform='[cCFSfms]'
+ case "$libobj" in
+ *.ada) xform=ada ;;
+ *.adb) xform=adb ;;
+ *.ads) xform=ads ;;
+ *.asm) xform=asm ;;
+ *.c++) xform=c++ ;;
+ *.cc) xform=cc ;;
+ *.cpp) xform=cpp ;;
+ *.cxx) xform=cxx ;;
+ *.f90) xform=f90 ;;
+ *.for) xform=for ;;
+ esac
+
+ libobj=`$echo "X$libobj" | $Xsed -e "s/\.$xform$/.lo/"`
+
+ case "$libobj" in
+ *.lo) obj=`$echo "X$libobj" | $Xsed -e 's/\.lo$/.o/'` ;;
+ *)
+ $echo "$modename: cannot determine name of library object from \`$srcfile'" 1>&2
+ exit 1
+ ;;
+ esac
+
+ if test -z "$base_compile"; then
+ $echo "$modename: you must specify a compilation command" 1>&2
+ $echo "$help" 1>&2
+ exit 1
+ fi
+
+ # Delete any leftover library objects.
+ if test "$build_old_libs" = yes; then
+ $run $rm $obj $libobj
+ trap "$run $rm $obj $libobj; exit 1" 1 2 15
+ else
+ $run $rm $libobj
+ trap "$run $rm $libobj; exit 1" 1 2 15
+ fi
+
+ # Only build a PIC object if we are building libtool libraries.
+ if test "$build_libtool_libs" = yes; then
+ # Without this assignment, base_compile gets emptied.
+ fbsd_hideous_sh_bug=$base_compile
+
+ # All platforms use -DPIC, to notify preprocessed assembler code.
+ $show "$base_compile$pic_flag -DPIC $srcfile"
+ if $run eval "$base_compile\$pic_flag -DPIC \$srcfile"; then :
+ else
+ test -n "$obj" && $run $rm $obj
+ exit 1
+ fi
+
+ # If we have no pic_flag, then copy the object into place and finish.
+ if test -z "$pic_flag"; then
+ $show "$LN_S $obj $libobj"
+ $run $LN_S $obj $libobj
+ exit $?
+ fi
+
+ # Just move the object, then go on to compile the next one
+ $show "$mv $obj $libobj"
+ $run $mv $obj $libobj || exit 1
+
+ # Allow error messages only from the first compilation.
+ suppress_output=' >/dev/null 2>&1'
+ fi
+
+ # Only build a position-dependent object if we build old libraries.
+ if test "$build_old_libs" = yes; then
+ # Suppress compiler output if we already did a PIC compilation.
+ $show "$base_compile $srcfile$suppress_output"
+ if $run eval "$base_compile \$srcfile$suppress_output"; then :
+ else
+ $run $rm $obj $libobj
+ exit 1
+ fi
+ fi
+
+ # Create an invalid libtool object if no PIC, so that we do not
+ # accidentally link it into a program.
+ if test "$build_libtool_libs" != yes; then
+ $show "echo timestamp > $libobj"
+ $run eval "echo timestamp > \$libobj" || exit $?
+ fi
+
+ exit 0
+ ;;
+
+ # libtool link mode
+ link)
+ modename="$modename: link"
+ CC="$nonopt"
+ allow_undefined=yes
+ compile_command="$CC"
+ finalize_command="$CC"
+
+ compile_shlibpath=
+ finalize_shlibpath=
+ deplibs=
+ dlfiles=
+ dlprefiles=
+ export_dynamic=no
+ hardcode_libdirs=
+ libobjs=
+ link_against_libtool_libs=
+ ltlibs=
+ objs=
+ prev=
+ prevarg=
+ release=
+ rpath=
+ perm_rpath=
+ temp_rpath=
+ vinfo=
+
+ # We need to know -static, to get the right output filenames.
+ for arg
+ do
+ case "$arg" in
+ -all-static | -static)
+ if test "X$arg" = "X-all-static" && test "$build_libtool_libs" = yes && test -z "$link_static_flag"; then
+ $echo "$modename: warning: complete static linking is impossible in this configuration" 1>&2
+ fi
+ build_libtool_libs=no
+ build_old_libs=yes
+ break
+ ;;
+ esac
+ done
+
+ # See if our shared archives depend on static archives.
+ test -n "$old_archive_from_new_cmds" && build_old_libs=yes
+
+ # Go through the arguments, transforming them on the way.
+ for arg
+ do
+ # If the previous option needs an argument, assign it.
+ if test -n "$prev"; then
+ case "$prev" in
+ output)
+ compile_command="$compile_command @OUTPUT@"
+ finalize_command="$finalize_command @OUTPUT@"
+ ;;
+ esac
+
+ case "$prev" in
+ dlfiles|dlprefiles)
+ case "$arg" in
+ *.la | *.lo) ;; # We handle these cases below.
+ *)
+ dlprefiles="$dlprefiles $arg"
+ test "$prev" = dlfiles && dlfiles="$dlfiles $arg"
+ prev=
+ ;;
+ esac
+ ;;
+ release)
+ release="-$arg"
+ prev=
+ continue
+ ;;
+ rpath)
+ rpath="$rpath $arg"
+ prev=
+ continue
+ ;;
+ *)
+ eval "$prev=\"\$arg\""
+ prev=
+ continue
+ ;;
+ esac
+ fi
+
+ prevarg="$arg"
+
+ case "$arg" in
+ -all-static)
+ if test -n "$link_static_flag"; then
+ compile_command="$compile_command $link_static_flag"
+ finalize_command="$finalize_command $link_static_flag"
+ fi
+ continue
+ ;;
+
+ -allow-undefined)
+ # FIXME: remove this flag sometime in the future.
+ $echo "$modename: \`-allow-undefined' is deprecated because it is the default" 1>&2
+ continue
+ ;;
+
+ -dlopen)
+ prev=dlfiles
+ continue
+ ;;
+
+ -dlpreopen)
+ prev=dlprefiles
+ continue
+ ;;
+
+ -export-dynamic)
+ if test "$export_dynamic" != yes; then
+ export_dynamic=yes
+ if test -n "$export_dynamic_flag_spec"; then
+ eval arg=\"$export_dynamic_flag_spec\"
+ else
+ arg=
+ fi
+
+ # Add the symbol object into the linking commands.
+ compile_command="$compile_command @SYMFILE@"
+ finalize_command="$finalize_command @SYMFILE@"
+ fi
+ ;;
+
+ -L*)
+ dir=`$echo "X$arg" | $Xsed -e 's%^-L\(.*\)$%\1%'`
+ case "$dir" in
+ /* | [A-Za-z]:\\*)
+ # Add the corresponding hardcode_libdir_flag, if it is not identical.
+ ;;
+ *)
+ $echo "$modename: \`-L$dir' cannot specify a relative directory" 1>&2
+ exit 1
+ ;;
+ esac
+ deplibs="$deplibs $arg"
+ ;;
+
+ -l*) deplibs="$deplibs $arg" ;;
+
+ -no-undefined)
+ allow_undefined=no
+ continue
+ ;;
+
+ -o) prev=output ;;
+
+ -release)
+ prev=release
+ continue
+ ;;
+
+ -rpath)
+ prev=rpath
+ continue
+ ;;
+
+ -static)
+ # If we have no pic_flag, then this is the same as -all-static.
+ if test -z "$pic_flag" && test -n "$link_static_flag"; then
+ compile_command="$compile_command $link_static_flag"
+ finalize_command="$finalize_command $link_static_flag"
+ fi
+ continue
+ ;;
+
+ -version-info)
+ prev=vinfo
+ continue
+ ;;
+
+ # Some other compiler flag.
+ -* | +*)
+ # Unknown arguments in both finalize_command and compile_command need
+ # to be aesthetically quoted because they are evaled later.
+ arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
+ case "$arg" in
+ *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*)
+ arg="\"$arg\""
+ ;;
+ esac
+ ;;
+
+ *.o | *.a)
+ # A standard object.
+ objs="$objs $arg"
+ ;;
+
+ *.lo)
+ # A library object.
+ if test "$prev" = dlfiles; then
+ dlfiles="$dlfiles $arg"
+ if test "$build_libtool_libs" = yes; then
+ prev=
+ continue
+ else
+ # If libtool objects are unsupported, then we need to preload.
+ prev=dlprefiles
+ fi
+ fi
+
+ if test "$prev" = dlprefiles; then
+ # Preload the old-style object.
+ dlprefiles="$dlprefiles "`$echo "X$arg" | $Xsed -e 's/\.lo$/\.o/'`
+ prev=
+ fi
+ libobjs="$libobjs $arg"
+ ;;
+
+ *.la)
+ # A libtool-controlled library.
+
+ dlname=
+ libdir=
+ library_names=
+ old_library=
+
+ # Check to see that this really is a libtool archive.
+ if (sed -e '2q' $arg | egrep '^# Generated by ltmain\.sh') >/dev/null 2>&1; then :
+ else
+ $echo "$modename: \`$arg' is not a valid libtool archive" 1>&2
+ exit 1
+ fi
+
+ # If there is no directory component, then add one.
+ case "$arg" in
+ */* | *\\*) . $arg ;;
+ *) . ./$arg ;;
+ esac
+
+ if test -z "$libdir"; then
+ $echo "$modename: \`$arg' contains no -rpath information" 1>&2
+ exit 1
+ fi
+
+ # Get the name of the library we link against.
+ linklib=
+ for l in $old_library $library_names; do
+ linklib="$l"
+ done
+
+ if test -z "$linklib"; then
+ $echo "$modename: cannot find name of link library for \`$arg'" 1>&2
+ exit 1
+ fi
+
+ # Find the relevant object directory and library name.
+ name=`$echo "X$arg" | $Xsed -e 's%^.*/%%' -e 's/\.la$//' -e 's/^lib//'`
+ dir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'`
+ if test "X$dir" = "X$arg"; then
+ dir="$objdir"
+ else
+ dir="$dir/$objdir"
+ fi
+
+ # This library was specified with -dlopen.
+ if test "$prev" = dlfiles; then
+ dlfiles="$dlfiles $arg"
+ if test -z "$dlname"; then
+ # If there is no dlname, we need to preload.
+ prev=dlprefiles
+ else
+ # We should not create a dependency on this library, but we
+ # may need any libraries it requires.
+ compile_command="$compile_command$dependency_libs"
+ finalize_command="$finalize_command$dependency_libs"
+ prev=
+ continue
+ fi
+ fi
+
+ # The library was specified with -dlpreopen.
+ if test "$prev" = dlprefiles; then
+ # Prefer using a static library (so that no silly _DYNAMIC symbols
+ # are required to link).
+ if test -n "$old_library"; then
+ dlprefiles="$dlprefiles $dir/$old_library"
+ else
+ dlprefiles="$dlprefiles $dir/$linklib"
+ fi
+ prev=
+ fi
+
+ if test "$build_libtool_libs" = yes && test -n "$library_names"; then
+ link_against_libtool_libs="$link_against_libtool_libs $arg"
+ if test -n "$shlibpath_var"; then
+ # Make sure the rpath contains only unique directories.
+ case "$temp_rpath " in
+ *" $dir "*) ;;
+ *) temp_rpath="$temp_rpath $dir" ;;
+ esac
+ fi
+
+ # This is the magic to use -rpath.
+ if test -n "$hardcode_libdir_flag_spec"; then
+ if test -n "$hardcode_libdir_separator"; then
+ if test -z "$hardcode_libdirs"; then
+ # Put the magic libdir with the hardcode flag.
+ hardcode_libdirs="$libdir"
+ libdir="@HARDCODE_LIBDIRS@"
+ else
+ # Just accumulate the unique libdirs.
+ case "$hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator" in
+ *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
+ ;;
+ *)
+ hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir"
+ ;;
+ esac
+ libdir=
+ fi
+ fi
+
+ if test -n "$libdir"; then
+ eval flag=\"$hardcode_libdir_flag_spec\"
+
+ compile_command="$compile_command $flag"
+ finalize_command="$finalize_command $flag"
+ fi
+ elif test -n "$runpath_var"; then
+ # Do the same for the permanent run path.
+ case "$perm_rpath " in
+ *" $libdir "*) ;;
+ *) perm_rpath="$perm_rpath $libdir" ;;
+ esac
+ fi
+
+
+ case "$hardcode_action" in
+ immediate)
+ if test "$hardcode_direct" = no; then
+ compile_command="$compile_command $dir/$linklib"
+ elif test "$hardcode_minus_L" = no; then
+ compile_command="$compile_command -L$dir -l$name"
+ elif test "$hardcode_shlibpath_var" = no; then
+ compile_shlibpath="$compile_shlibpath$dir:"
+ compile_command="$compile_command -l$name"
+ fi
+ ;;
+
+ relink)
+ # We need an absolute path.
+ case "$dir" in
+ /* | [A-Za-z]:\\*) ;;
+ *)
+ absdir=`cd "$dir" && pwd`
+ if test -z "$absdir"; then
+ $echo "$modename: cannot determine absolute directory name of \`$dir'" 1>&2
+ exit 1
+ fi
+ dir="$absdir"
+ ;;
+ esac
+
+ if test "$hardcode_direct" = yes; then
+ compile_command="$compile_command $dir/$linklib"
+ elif test "$hardcode_minus_L" = yes; then
+ compile_command="$compile_command -L$dir -l$name"
+ elif test "$hardcode_shlibpath_var" = yes; then
+ compile_shlibpath="$compile_shlibpath$dir:"
+ compile_command="$compile_command -l$name"
+ fi
+ ;;
+
+ *)
+ $echo "$modename: \`$hardcode_action' is an unknown hardcode action" 1>&2
+ exit 1
+ ;;
+ esac
+
+ # Finalize command for both is simple: just hardcode it.
+ if test "$hardcode_direct" = yes; then
+ finalize_command="$finalize_command $libdir/$linklib"
+ elif test "$hardcode_minus_L" = yes; then
+ finalize_command="$finalize_command -L$libdir -l$name"
+ elif test "$hardcode_shlibpath_var" = yes; then
+ finalize_shlibpath="$finalize_shlibpath$libdir:"
+ finalize_command="$finalize_command -l$name"
+ else
+ # We cannot seem to hardcode it, guess we'll fake it.
+ finalize_command="$finalize_command -L$libdir -l$name"
+ fi
+ else
+ # Transform directly to old archives if we don't build new libraries.
+ if test -n "$pic_flag" && test -z "$old_library"; then
+ $echo "$modename: cannot find static library for \`$arg'" 1>&2
+ exit 1
+ fi
+
+ # Here we assume that one of hardcode_direct or hardcode_minus_L
+ # is not unsupported. This is valid on all known static and
+ # shared platforms.
+ if test "$hardcode_direct" != unsupported; then
+ test -n "$old_library" && linklib="$old_library"
+ compile_command="$compile_command $dir/$linklib"
+ finalize_command="$finalize_command $dir/$linklib"
+ else
+ compile_command="$compile_command -L$dir -l$name"
+ finalize_command="$finalize_command -L$dir -l$name"
+ fi
+ fi
+
+ # Add in any libraries that this one depends upon.
+ compile_command="$compile_command$dependency_libs"
+ finalize_command="$finalize_command$dependency_libs"
+ continue
+ ;;
+
+ # Some other compiler argument.
+ *)
+ # Unknown arguments in both finalize_command and compile_command need
+ # to be aesthetically quoted because they are evaled later.
+ arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
+ case "$arg" in
+ *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*)
+ arg="\"$arg\""
+ ;;
+ esac
+ ;;
+ esac
+
+ # Now actually substitute the argument into the commands.
+ if test -n "$arg"; then
+ compile_command="$compile_command $arg"
+ finalize_command="$finalize_command $arg"
+ fi
+ done
+
+ if test -n "$prev"; then
+ $echo "$modename: the \`$prevarg' option requires an argument" 1>&2
+ $echo "$help" 1>&2
+ exit 1
+ fi
+
+ if test -n "$vinfo" && test -n "$release"; then
+ $echo "$modename: you cannot specify both \`-version-info' and \`-release'" 1>&2
+ $echo "$help" 1>&2
+ exit 1
+ fi
+
+ oldlib=
+ oldobjs=
+ case "$output" in
+ "")
+ $echo "$modename: you must specify an output file" 1>&2
+ $echo "$help" 1>&2
+ exit 1
+ ;;
+
+ */* | *\\*)
+ $echo "$modename: output file \`$output' must have no directory components" 1>&2
+ exit 1
+ ;;
+
+ *.a)
+ # Now set the variables for building old libraries.
+ build_libtool_libs=no
+ build_old_libs=yes
+ oldlib="$output"
+ $show "$rm $oldlib"
+ $run $rm $oldlib
+ ;;
+
+ *.la)
+ # Make sure we only generate libraries of the form `libNAME.la'.
+ case "$output" in
+ lib*) ;;
+ *)
+ $echo "$modename: libtool library \`$arg' must begin with \`lib'" 1>&2
+ $echo "$help" 1>&2
+ exit 1
+ ;;
+ esac
+
+ name=`$echo "X$output" | $Xsed -e 's/\.la$//' -e 's/^lib//'`
+ eval libname=\"$libname_spec\"
+
+ # All the library-specific variables (install_libdir is set above).
+ library_names=
+ old_library=
+ dlname=
+ current=0
+ revision=0
+ age=0
+
+ if test -n "$objs"; then
+ $echo "$modename: cannot build libtool library \`$output' from non-libtool objects:$objs" 2>&1
+ exit 1
+ fi
+
+ # How the heck are we supposed to write a wrapper for a shared library?
+ if test -n "$link_against_libtool_libs"; then
+ $echo "$modename: libtool library \`$output' may not depend on uninstalled libraries:$link_against_libtool_libs" 1>&2
+ exit 1
+ fi
+
+ if test -n "$dlfiles$dlprefiles"; then
+ $echo "$modename: warning: \`-dlopen' is ignored while creating libtool libraries" 1>&2
+ # Nullify the symbol file.
+ compile_command=`$echo "X$compile_command" | $Xsed -e "s% @SYMFILE@%%"`
+ finalize_command=`$echo "X$finalize_command" | $Xsed -e "s% @SYMFILE@%%"`
+ fi
+
+ if test -z "$rpath"; then
+ $echo "$modename: you must specify an installation directory with \`-rpath'" 1>&2
+ $echo "$help" 1>&2
+ exit 1
+ fi
+
+ set dummy $rpath
+ if test $# -gt 2; then
+ $echo "$modename: warning: ignoring multiple \`-rpath's for a libtool library" 1>&2
+ fi
+ install_libdir="$2"
+
+ # Parse the version information argument.
+ IFS="${IFS= }"; save_ifs="$IFS"; IFS=':'
+ set dummy $vinfo
+ IFS="$save_ifs"
+
+ if test -n "$5"; then
+ $echo "$modename: too many parameters to \`-version-info'" 1>&2
+ $echo "$help" 1>&2
+ exit 1
+ fi
+
+ test -n "$2" && current="$2"
+ test -n "$3" && revision="$3"
+ test -n "$4" && age="$4"
+
+ # Check that each of the things are valid numbers.
+ case "$current" in
+ 0 | [1-9] | [1-9][0-9]*) ;;
+ *)
+ $echo "$modename: CURRENT \`$current' is not a nonnegative integer" 1>&2
+ $echo "$modename: \`$vinfo' is not valid version information" 1>&2
+ exit 1
+ ;;
+ esac
+
+ case "$revision" in
+ 0 | [1-9] | [1-9][0-9]*) ;;
+ *)
+ $echo "$modename: REVISION \`$revision' is not a nonnegative integer" 1>&2
+ $echo "$modename: \`$vinfo' is not valid version information" 1>&2
+ exit 1
+ ;;
+ esac
+
+ case "$age" in
+ 0 | [1-9] | [1-9][0-9]*) ;;
+ *)
+ $echo "$modename: AGE \`$age' is not a nonnegative integer" 1>&2
+ $echo "$modename: \`$vinfo' is not valid version information" 1>&2
+ exit 1
+ ;;
+ esac
+
+ if test $age -gt $current; then
+ $echo "$modename: AGE \`$age' is greater than the current interface number \`$current'" 1>&2
+ $echo "$modename: \`$vinfo' is not valid version information" 1>&2
+ exit 1
+ fi
+
+ # Calculate the version variables.
+ version_vars="version_type current age revision"
+ case "$version_type" in
+ none) ;;
+
+ linux)
+ version_vars="$version_vars major versuffix"
+ major=`expr $current - $age`
+ versuffix="$major.$age.$revision"
+ ;;
+
+ osf)
+ version_vars="$version_vars versuffix verstring"
+ major=`expr $current - $age`
+ versuffix="$current.$age.$revision"
+ verstring="$versuffix"
+
+ # Add in all the interfaces that we are compatible with.
+ loop=$age
+ while test $loop != 0; do
+ iface=`expr $current - $loop`
+ loop=`expr $loop - 1`
+ verstring="$verstring:${iface}.0"
+ done
+
+ # Make executables depend on our current version.
+ verstring="$verstring:${current}.0"
+ ;;
+
+ sunos)
+ version_vars="$version_vars major versuffix"
+ major="$current"
+ versuffix="$current.$revision"
+ ;;
+
+ *)
+ $echo "$modename: unknown library version type \`$version_type'" 1>&2
+ echo "Fatal configuration error. See the $PACKAGE docs for more information." 1>&2
+ exit 1
+ ;;
+ esac
+
+ # Create the output directory, or remove our outputs if we need to.
+ if test -d $objdir; then
+ $show "$rm $objdir/$output $objdir/$libname.* $objdir/${libname}${release}.*"
+ $run $rm $objdir/$output $objdir/$libname.* $objdir/${libname}${release}.*
+ else
+ $show "$mkdir $objdir"
+ $run $mkdir $objdir
+ status=$?
+ if test $status -eq 0 || test -d $objdir; then :
+ else
+ exit $status
+ fi
+ fi
+
+ # Check to see if the archive will have undefined symbols.
+ if test "$allow_undefined" = yes; then
+ if test "$allow_undefined_flag" = unsupported; then
+ $echo "$modename: warning: undefined symbols not allowed in $host shared libraries" 1>&2
+ build_libtool_libs=no
+ build_old_libs=yes
+ fi
+ else
+ # Don't allow undefined symbols.
+ allow_undefined_flag="$no_undefined_flag"
+ fi
+
+ # Add libc to deplibs on all systems.
+ dependency_libs="$deplibs"
+ deplibs="$deplibs -lc"
+
+ if test "$build_libtool_libs" = yes; then
+ # Get the real and link names of the library.
+ eval library_names=\"$library_names_spec\"
+ set dummy $library_names
+ realname="$2"
+ shift; shift
+
+ if test -n "$soname_spec"; then
+ eval soname=\"$soname_spec\"
+ else
+ soname="$realname"
+ fi
+
+ lib="$objdir/$realname"
+ for link
+ do
+ linknames="$linknames $link"
+ done
+
+ # Use standard objects if they are PIC.
+ test -z "$pic_flag" && libobjs=`$echo "X$libobjs " | $Xsed -e 's/\.lo /.o /g' -e 's/ $//g'`
+
+ # Do each of the archive commands.
+ eval cmds=\"$archive_cmds\"
+ IFS="${IFS= }"; save_ifs="$IFS"; IFS=';'
+ for cmd in $cmds; do
+ IFS="$save_ifs"
+ $show "$cmd"
+ $run eval "$cmd" || exit $?
+ done
+ IFS="$save_ifs"
+
+ # Create links to the real library.
+ for linkname in $linknames; do
+ $show "(cd $objdir && $LN_S $realname $linkname)"
+ $run eval '(cd $objdir && $LN_S $realname $linkname)' || exit $?
+ done
+
+ # If -export-dynamic was specified, set the dlname.
+ if test "$export_dynamic" = yes; then
+ # On all known operating systems, these are identical.
+ dlname="$soname"
+ fi
+ fi
+
+ # Now set the variables for building old libraries.
+ oldlib="$objdir/$libname.a"
+ ;;
+
+ *.lo | *.o)
+ if test -n "$link_against_libtool_libs"; then
+ $echo "$modename: error: cannot link libtool libraries into reloadable objects" 1>&2
+ exit 1
+ fi
+
+ if test -n "$deplibs"; then
+ $echo "$modename: warning: \`-l' and \`-L' are ignored while creating objects" 1>&2
+ fi
+
+ if test -n "$dlfiles$dlprefiles"; then
+ $echo "$modename: warning: \`-dlopen' is ignored while creating objects" 1>&2
+ # Nullify the symbol file.
+ compile_command=`$echo "X$compile_command" | $Xsed -e "s% @SYMFILE@%%"`
+ finalize_command=`$echo "X$finalize_command" | $Xsed -e "s% @SYMFILE@%%"`
+ fi
+
+ if test -n "$rpath"; then
+ $echo "$modename: warning: \`-rpath' is ignored while creating objects" 1>&2
+ fi
+
+ if test -n "$vinfo"; then
+ $echo "$modename: warning: \`-version-info' is ignored while creating objects" 1>&2
+ fi
+
+ if test -n "$release"; then
+ $echo "$modename: warning: \`-release' is ignored while creating objects" 1>&2
+ fi
+
+ case "$output" in
+ *.lo)
+ if test -n "$objs"; then
+ $echo "$modename: cannot build library object \`$output' from non-libtool objects" 1>&2
+ exit 1
+ fi
+ libobj="$output"
+ obj=`$echo "X$output" | $Xsed -e 's/\.lo$/.o/'`
+ ;;
+ *)
+ libobj=
+ obj="$output"
+ ;;
+ esac
+
+ # Delete the old objects.
+ $run $rm $obj $libobj
+
+ # Create the old-style object.
+ reload_objs="$objs"`$echo "X$libobjs " | $Xsed -e 's/[^ ]*\.a //g' -e 's/\.lo /.o /g' -e 's/ $//g'`
+
+ output="$obj"
+ eval cmds=\"$reload_cmds\"
+ IFS="${IFS= }"; save_ifs="$IFS"; IFS=';'
+ for cmd in $cmds; do
+ IFS="$save_ifs"
+ $show "$cmd"
+ $run eval "$cmd" || exit $?
+ done
+ IFS="$save_ifs"
+
+ # Exit if we aren't doing a library object file.
+ test -z "$libobj" && exit 0
+
+ if test "$build_libtool_libs" != yes; then
+ # Create an invalid libtool object if no PIC, so that we don't
+ # accidentally link it into a program.
+ $show "echo timestamp > $libobj"
+ $run eval "echo timestamp > $libobj" || exit $?
+ exit 0
+ fi
+
+ if test -n "$pic_flag"; then
+ # Only do commands if we really have different PIC objects.
+ reload_objs="$libobjs"
+ output="$libobj"
+ eval cmds=\"$reload_cmds\"
+ IFS="${IFS= }"; save_ifs="$IFS"; IFS=';'
+ for cmd in $cmds; do
+ IFS="$save_ifs"
+ $show "$cmd"
+ $run eval "$cmd" || exit $?
+ done
+ IFS="$save_ifs"
+ else
+ # Just create a symlink.
+ $show "$LN_S $obj $libobj"
+ $run $LN_S $obj $libobj || exit 1
+ fi
+
+ exit 0
+ ;;
+
+ *)
+ if test -n "$vinfo"; then
+ $echo "$modename: warning: \`-version-info' is ignored while linking programs" 1>&2
+ fi
+
+ if test -n "$release"; then
+ $echo "$modename: warning: \`-release' is ignored while creating objects" 1>&2
+ fi
+
+ if test -n "$rpath"; then
+ # If the user specified any rpath flags, then add them.
+ for libdir in $rpath; do
+ if test -n "$hardcode_libdir_flag_spec"; then
+ if test -n "$hardcode_libdir_separator"; then
+ if test -z "$hardcode_libdirs"; then
+ # Put the magic libdir with the hardcode flag.
+ hardcode_libdirs="$libdir"
+ libdir="@HARDCODE_LIBDIRS@"
+ else
+ # Just accumulate the unique libdirs.
+ case "$hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator" in
+ *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
+ ;;
+ *)
+ hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir"
+ ;;
+ esac
+ libdir=
+ fi
+ fi
+
+ if test -n "$libdir"; then
+ eval flag=\"$hardcode_libdir_flag_spec\"
+
+ compile_command="$compile_command $flag"
+ finalize_command="$finalize_command $flag"
+ fi
+ elif test -n "$runpath_var"; then
+ case "$perm_rpath " in
+ *" $libdir "*) ;;
+ *) perm_rpath="$perm_rpath $libdir" ;;
+ esac
+ fi
+ done
+ fi
+
+ # Substitute the hardcoded libdirs into the compile commands.
+ if test -n "$hardcode_libdir_separator"; then
+ compile_command=`$echo "X$compile_command" | $Xsed -e "s%@HARDCODE_LIBDIRS@%$hardcode_libdirs%g"`
+ finalize_command=`$echo "X$finalize_command" | $Xsed -e "s%@HARDCODE_LIBDIRS@%$hardcode_libdirs%g"`
+ fi
+
+ if test -n "$libobjs" && test "$build_old_libs" = yes; then
+ # Transform all the library objects into standard objects.
+ compile_command=`$echo "X$compile_command " | $Xsed -e 's/\.lo /.o /g' -e 's/ $//'`
+ finalize_command=`$echo "X$finalize_command " | $Xsed -e 's/\.lo /.o /g' -e 's/ $//'`
+ fi
+
+ if test "$export_dynamic" = yes && test -n "$NM" && test -n "$global_symbol_pipe"; then
+ dlsyms="${output}S.c"
+ else
+ dlsyms=
+ fi
+
+ if test -n "$dlsyms"; then
+ # Add our own program objects to the preloaded list.
+ dlprefiles=`$echo "X$objs$dlprefiles " | $Xsed -e 's/\.lo /.o /g' -e 's/ $//'`
+
+ # Discover the nlist of each of the dlfiles.
+ nlist="$objdir/${output}.nm"
+
+ if test -d $objdir; then
+ $show "$rm $nlist ${nlist}T"
+ $run $rm "$nlist" "${nlist}T"
+ else
+ $show "$mkdir $objdir"
+ $run $mkdir $objdir
+ status=$?
+ if test $status -eq 0 || test -d $objdir; then :
+ else
+ exit $status
+ fi
+ fi
+
+ for arg in $dlprefiles; do
+ $show "extracting global C symbols from \`$arg'"
+ $run eval "$NM $arg | $global_symbol_pipe >> '$nlist'"
+ done
+
+ # Parse the name list into a source file.
+ $show "creating $objdir/$dlsyms"
+ if test -z "$run"; then
+ # Make sure we at least have an empty file.
+ test -f "$nlist" || : > "$nlist"
+
+ # Try sorting and uniquifying the output.
+ if sort "$nlist" | uniq > "$nlist"T; then
+ mv -f "$nlist"T "$nlist"
+ wcout=`wc "$nlist" 2>/dev/null`
+ count=`echo "X$wcout" | $Xsed -e 's/^[ ]*\([0-9][0-9]*\).*$/\1/'`
+ (test "$count" -ge 0) 2>/dev/null || count=-1
+ else
+ $rm "$nlist"T
+ count=-1
+ fi
+
+ case "$dlsyms" in
+ "") ;;
+ *.c)
+ $echo > "$objdir/$dlsyms" "\
+/* $dlsyms - symbol resolution table for \`$output' dlsym emulation. */
+/* Generated by $PROGRAM - GNU $PACKAGE $VERSION */
+
+#ifdef __cplusplus
+extern \"C\" {
+#endif
+
+/* Prevent the only kind of declaration conflicts we can make. */
+#define dld_preloaded_symbol_count some_other_symbol
+#define dld_preloaded_symbols some_other_symbol
+
+/* External symbol declarations for the compiler. */\
+"
+
+ if test -f "$nlist"; then
+ sed -e 's/^.* \(.*\)$/extern char \1;/' < "$nlist" >> "$objdir/$dlsyms"
+ else
+ echo '/* NONE */' >> "$objdir/$dlsyms"
+ fi
+
+ $echo >> "$objdir/$dlsyms" "\
+
+#undef dld_preloaded_symbol_count
+#undef dld_preloaded_symbols
+
+#if defined (__STDC__) && __STDC__
+# define __ptr_t void *
+#else
+# define __ptr_t char *
+#endif
+
+/* The number of symbols in dld_preloaded_symbols, -1 if unsorted. */
+int dld_preloaded_symbol_count = $count;
+
+/* The mapping between symbol names and symbols. */
+struct {
+ char *name;
+ __ptr_t address;
+}
+dld_preloaded_symbols[] =
+{\
+"
+
+ if test -f "$nlist"; then
+ sed 's/^\(.*\) \(.*\)$/ {"\1", (__ptr_t) \&\2},/' < "$nlist" >> "$objdir/$dlsyms"
+ fi
+
+ $echo >> "$objdir/$dlsyms" "\
+ {0, (__ptr_t) 0}
+};
+
+#ifdef __cplusplus
+}
+#endif\
+"
+ ;;
+
+ *)
+ $echo "$modename: unknown suffix for \`$dlsyms'" 1>&2
+ exit 1
+ ;;
+ esac
+ fi
+
+ # Now compile the dynamic symbol file.
+ $show "(cd $objdir && $CC -c$no_builtin_flag \"$dlsyms\")"
+ $run eval '(cd $objdir && $CC -c$no_builtin_flag "$dlsyms")' || exit $?
+
+ # Transform the symbol file into the correct name.
+ compile_command=`$echo "X$compile_command" | $Xsed -e "s%@SYMFILE@%$objdir/${output}S.o%"`
+ finalize_command=`$echo "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$objdir/${output}S.o%"`
+ elif test "$export_dynamic" != yes; then
+ test -n "$dlfiles$dlprefiles" && $echo "$modename: warning: \`-dlopen' and \`-dlpreopen' are ignored without \`-export-dynamic'" 1>&2
+ else
+ # We keep going just in case the user didn't refer to
+ # dld_preloaded_symbols. The linker will fail if global_symbol_pipe
+ # really was required.
+ $echo "$modename: not configured to extract global symbols from dlpreopened files" 1>&2
+
+ # Nullify the symbol file.
+ compile_command=`$echo "X$compile_command" | $Xsed -e "s% @SYMFILE@%%"`
+ finalize_command=`$echo "X$finalize_command" | $Xsed -e "s% @SYMFILE@%%"`
+ fi
+
+ if test -z "$link_against_libtool_libs" || test "$build_libtool_libs" != yes; then
+ # Replace the output file specification.
+ compile_command=`$echo "X$compile_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'`
+ finalize_command=`$echo "X$finalize_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'`
+
+ # We have no uninstalled library dependencies, so finalize right now.
+ $show "$compile_command"
+ $run eval "$compile_command"
+ exit $?
+ fi
+
+ # Replace the output file specification.
+ compile_command=`$echo "X$compile_command" | $Xsed -e 's%@OUTPUT@%'"$objdir/$output"'%g'`
+ finalize_command=`$echo "X$finalize_command" | $Xsed -e 's%@OUTPUT@%'"$objdir/$output"'T%g'`
+
+ # Create the binary in the object directory, then wrap it.
+ if test -d $objdir; then :
+ else
+ $show "$mkdir $objdir"
+ $run $mkdir $objdir
+ status=$?
+ if test $status -eq 0 || test -d $objdir; then :
+ else
+ exit $status
+ fi
+ fi
+
+ if test -n "$shlibpath_var"; then
+ # We should set the shlibpath_var
+ rpath=
+ for dir in $temp_rpath; do
+ case "$dir" in
+ /* | [A-Za-z]:\\*)
+ # Absolute path.
+ rpath="$rpath$dir:"
+ ;;
+ *)
+ # Relative path: add a thisdir entry.
+ rpath="$rpath\$thisdir/$dir:"
+ ;;
+ esac
+ done
+ temp_rpath="$rpath"
+ fi
+
+ # Delete the old output file.
+ $run $rm $output
+
+ if test -n "$compile_shlibpath"; then
+ compile_command="$shlibpath_var=\"$compile_shlibpath\$$shlibpath_var\" $compile_command"
+ fi
+ if test -n "$finalize_shlibpath"; then
+ finalize_command="$shlibpath_var=\"$finalize_shlibpath\$$shlibpath_var\" $finalize_command"
+ fi
+
+ if test -n "$runpath_var" && test -n "$perm_rpath"; then
+ # We should set the runpath_var.
+ rpath=
+ for dir in $perm_rpath; do
+ rpath="$rpath$dir:"
+ done
+ compile_command="$runpath_var=\"$rpath\$$runpath_var\" $compile_command"
+ finalize_command="$runpath_var=\"$rpath\$$runpath_var\" $finalize_command"
+ fi
+
+ case "$hardcode_action" in
+ relink)
+ # AGH! Flame the AIX and HP-UX people for me, will ya?
+ $echo "$modename: warning: using a buggy system linker" 1>&2
+ $echo "$modename: relinking will be required before \`$output' can be installed" 1>&2
+ ;;
+ esac
+
+ $show "$compile_command"
+ $run eval "$compile_command" || exit $?
+
+ # Now create the wrapper script.
+ $show "creating $output"
+
+ # Quote the finalize command for shipping.
+ finalize_command=`$echo "X$finalize_command" | $Xsed -e "$sed_quote_subst"`
+
+ # Quote $echo for shipping.
+ qecho=`$echo "X$echo" | $Xsed -e "$sed_quote_subst"`
+
+ # Only actually do things if our run command is non-null.
+ if test -z "$run"; then
+ $rm $output
+ trap "$rm $output; exit 1" 1 2 15
+
+ $echo > $output "\
+#! /bin/sh
+
+# $output - temporary wrapper script for $objdir/$output
+# Generated by ltmain.sh - GNU $PACKAGE $VERSION
+#
+# The $output program cannot be directly executed until all the libtool
+# libraries that it depends on are installed.
+#
+# This wrapper script should never be moved out of \``pwd`'.
+# If it is, it will not operate correctly.
+
+# Sed substitution that helps us do robust quoting. It backslashifies
+# metacharacters that are still active within double-quoted strings.
+Xsed='sed -e s/^X//'
+sed_quote_subst='$sed_quote_subst'
+
+# The HP-UX ksh and POSIX shell print the target directory to stdout
+# if CDPATH is set.
+if test \"\${CDPATH+set}\" = set; then CDPATH=; export CDPATH; fi
+
+# This environment variable determines our operation mode.
+if test \"\$libtool_install_magic\" = \"$magic\"; then
+ # install mode needs the following variables:
+ link_against_libtool_libs='$link_against_libtool_libs'
+ finalize_command=\"$finalize_command\"
+else
+ # When we are sourced in execute mode, \$file and \$echo are already set.
+ if test \"\$libtool_execute_magic\" = \"$magic\"; then :
+ else
+ echo=\"$qecho\"
+ file=\"\$0\"
+ fi\
+"
+ $echo >> $output "\
+
+ # Find the directory that this script lives in.
+ thisdir=\`\$echo \"X\$file\" | \$Xsed -e 's%/[^/]*$%%'\`
+ test \"x\$thisdir\" = \"x\$file\" && thisdir=.
+
+ # Follow symbolic links until we get to the real thisdir.
+ file=\`ls -ld \"\$file\" | sed -n 's/.*-> //p'\`
+ while test -n \"\$file\"; do
+ destdir=\`\$echo \"X\$file\" | \$Xsed -e 's%/[^/]*\$%%'\`
+
+ # If there was a directory component, then change thisdir.
+ if test \"x\$destdir\" != \"x\$file\"; then
+ case \"\$destdir\" in
+ /* | [A-Za-z]:\\*) thisdir=\"\$destdir\" ;;
+ *) thisdir=\"\$thisdir/\$destdir\" ;;
+ esac
+ fi
+
+ file=\`\$echo \"X\$file\" | \$Xsed -e 's%^.*/%%'\`
+ file=\`ls -ld \"\$thisdir/\$file\" | sed -n 's/.*-> //p'\`
+ done
+
+ # Try to get the absolute directory name.
+ absdir=\`cd \"\$thisdir\" && pwd\`
+ test -n \"\$absdir\" && thisdir=\"\$absdir\"
+
+ progdir=\"\$thisdir/$objdir\"
+ program='$output'
+
+ if test -f \"\$progdir/\$program\"; then"
+
+ # Export our shlibpath_var if we have one.
+ if test -n "$shlibpath_var" && test -n "$temp_rpath"; then
+ $echo >> $output "\
+ # Add our own library path to $shlibpath_var
+ $shlibpath_var=\"$temp_rpath\$$shlibpath_var\"
+
+ # Some systems cannot cope with colon-terminated $shlibpath_var
+ $shlibpath_var=\`\$echo \"X\$$shlibpath_var\" | \$Xsed -e 's/:*\$//'\`
+
+ export $shlibpath_var
+"
+ fi
+
+ $echo >> $output "\
+ if test \"\$libtool_execute_magic\" != \"$magic\"; then
+ # Run the actual program with our arguments.
+
+ # Export the path to the program.
+ PATH=\"\$progdir:\$PATH\"
+ export PATH
+
+ exec \$program \${1+\"\$@\"}
+
+ \$echo \"\$0: cannot exec \$program \${1+\"\$@\"}\"
+ exit 1
+ fi
+ else
+ # The program doesn't exist.
+ \$echo \"\$0: error: \$progdir/\$program does not exist\" 1>&2
+ \$echo \"This script is just a wrapper for \$program.\" 1>&2
+ echo \"See the $PACKAGE documentation for more information.\" 1>&2
+ exit 1
+ fi
+fi\
+"
+ chmod +x $output
+ fi
+ exit 0
+ ;;
+ esac
+
+ # See if we need to build an old-fashioned archive.
+ if test "$build_old_libs" = "yes"; then
+ # Transform .lo files to .o files.
+ oldobjs="$objs"`$echo "X$libobjs " | $Xsed -e 's/[^ ]*\.a //g' -e 's/\.lo /.o /g' -e 's/ $//g'`
+
+ # Do each command in the archive commands.
+ if test -n "$old_archive_from_new_cmds" && test "$build_libtool_libs" = yes; then
+ eval cmds=\"$old_archive_from_new_cmds\"
+ else
+ eval cmds=\"$old_archive_cmds\"
+ fi
+ IFS="${IFS= }"; save_ifs="$IFS"; IFS=';'
+ for cmd in $cmds; do
+ IFS="$save_ifs"
+ $show "$cmd"
+ $run eval "$cmd" || exit $?
+ done
+ IFS="$save_ifs"
+ fi
+
+ # Now create the libtool archive.
+ case "$output" in
+ *.la)
+ old_library=
+ test "$build_old_libs" = yes && old_library="$libname.a"
+
+ $show "creating $output"
+
+ # Only create the output if not a dry run.
+ if test -z "$run"; then
+ $echo > $output "\
+# $output - a libtool library file
+# Generated by ltmain.sh - GNU $PACKAGE $VERSION
+
+# The name that we can dlopen(3).
+dlname='$dlname'
+
+# Names of this library.
+library_names='$library_names'
+
+# The name of the static archive.
+old_library='$old_library'
+
+# Libraries that this one depends upon.
+dependency_libs='$dependency_libs'
+
+# Version information for $libname.
+current=$current
+age=$age
+revision=$revision
+
+# Directory that this library needs to be installed in:
+libdir='$install_libdir'\
+"
+ fi
+
+ # Do a symbolic link so that the libtool archive can be found in
+ # LD_LIBRARY_PATH before the program is installed.
+ $show "(cd $objdir && $LN_S ../$output $output)"
+ $run eval "(cd $objdir && $LN_S ../$output $output)" || exit 1
+ ;;
+ esac
+ exit 0
+ ;;
+
+ # libtool install mode
+ install)
+ modename="$modename: install"
+
+ # There may be an optional /bin/sh argument at the beginning of
+ # install_prog (especially on Windows NT).
+ if test "$nonopt" = "$SHELL"; then
+ # Aesthetically quote it.
+ arg=`$echo "X$nonopt" | $Xsed -e "$sed_quote_subst"`
+ case "$arg" in
+ *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*)
+ arg="\"$arg\""
+ ;;
+ esac
+ install_prog="$arg "
+ arg="$1"
+ shift
+ else
+ install_prog=
+ arg="$nonopt"
+ fi
+
+ # The real first argument should be the name of the installation program.
+ # Aesthetically quote it.
+ arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
+ case "$arg" in
+ *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*)
+ arg="\"$arg\""
+ ;;
+ esac
+ install_prog="$install_prog$arg"
+
+ # We need to accept at least all the BSD install flags.
+ dest=
+ files=
+ opts=
+ prev=
+ install_type=
+ isdir=
+ stripme=
+ for arg
+ do
+ if test -n "$dest"; then
+ files="$files $dest"
+ dest="$arg"
+ continue
+ fi
+
+ case "$arg" in
+ -d) isdir=yes ;;
+ -f) prev="-f" ;;
+ -g) prev="-g" ;;
+ -m) prev="-m" ;;
+ -o) prev="-o" ;;
+ -s)
+ stripme=" -s"
+ continue
+ ;;
+ -*) ;;
+
+ *)
+ # If the previous option needed an argument, then skip it.
+ if test -n "$prev"; then
+ prev=
+ else
+ dest="$arg"
+ continue
+ fi
+ ;;
+ esac
+
+ # Aesthetically quote the argument.
+ arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
+ case "$arg" in
+ *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*)
+ arg="\"$arg\""
+ ;;
+ esac
+ install_prog="$install_prog $arg"
+ done
+
+ if test -z "$install_prog"; then
+ $echo "$modename: you must specify an install program" 1>&2
+ $echo "$help" 1>&2
+ exit 1
+ fi
+
+ if test -n "$prev"; then
+ $echo "$modename: the \`$prev' option requires an argument" 1>&2
+ $echo "$help" 1>&2
+ exit 1
+ fi
+
+ if test -z "$files"; then
+ if test -z "$dest"; then
+ $echo "$modename: no file or destination specified" 1>&2
+ else
+ $echo "$modename: you must specify a destination" 1>&2
+ fi
+ $echo "$help" 1>&2
+ exit 1
+ fi
+
+ # Strip any trailing slash from the destination.
+ dest=`$echo "X$dest" | $Xsed -e 's%/$%%'`
+
+ # Check to see that the destination is a directory.
+ test -d "$dest" && isdir=yes
+ if test -n "$isdir"; then
+ destdir="$dest"
+ destname=
+ else
+ destdir=`$echo "X$dest" | $Xsed -e 's%/[^/]*$%%'`
+ test "X$destdir" = "X$dest" && destdir=.
+ destname=`$echo "X$dest" | $Xsed -e 's%^.*/%%'`
+
+ # Not a directory, so check to see that there is only one file specified.
+ set dummy $files
+ if test $# -gt 2; then
+ $echo "$modename: \`$dest' is not a directory" 1>&2
+ $echo "$help" 1>&2
+ exit 1
+ fi
+ fi
+ case "$destdir" in
+ /* | [A-Za-z]:\\*) ;;
+ *)
+ for file in $files; do
+ case "$file" in
+ *.lo) ;;
+ *)
+ $echo "$modename: \`$destdir' must be an absolute directory name" 1>&2
+ $echo "$help" 1>&2
+ exit 1
+ ;;
+ esac
+ done
+ ;;
+ esac
+
+ # This variable tells wrapper scripts just to set variables rather
+ # than running their programs.
+ libtool_install_magic="$magic"
+
+ staticlibs=
+ future_libdirs=
+ current_libdirs=
+ for file in $files; do
+
+ # Do each installation.
+ case "$file" in
+ *.a)
+ # Do the static libraries later.
+ staticlibs="$staticlibs $file"
+ ;;
+
+ *.la)
+ # Check to see that this really is a libtool archive.
+ if (sed -e '2q' $file | egrep '^# Generated by ltmain\.sh') >/dev/null 2>&1; then :
+ else
+ $echo "$modename: \`$file' is not a valid libtool archive" 1>&2
+ $echo "$help" 1>&2
+ exit 1
+ fi
+
+ library_names=
+ old_library=
+ # If there is no directory component, then add one.
+ case "$file" in
+ */* | *\\*) . $file ;;
+ *) . ./$file ;;
+ esac
+
+ # Add the libdir to current_libdirs if it is the destination.
+ if test "X$destdir" = "X$libdir"; then
+ case "$current_libdirs " in
+ *" $libdir "*) ;;
+ *) current_libdirs="$current_libdirs $libdir" ;;
+ esac
+ else
+ # Note the libdir as a future libdir.
+ case "$future_libdirs " in
+ *" $libdir "*) ;;
+ *) future_libdirs="$future_libdirs $libdir" ;;
+ esac
+ fi
+
+ dir="`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`/"
+ test "X$dir" = "X$file/" && dir=
+ dir="$dir$objdir"
+
+ # See the names of the shared library.
+ set dummy $library_names
+ if test -n "$2"; then
+ realname="$2"
+ shift
+ shift
+
+ # Install the shared library and build the symlinks.
+ $show "$install_prog $dir/$realname $destdir/$realname"
+ $run eval "$install_prog $dir/$realname $destdir/$realname" || exit $?
+ test "X$dlname" = "X$realname" && dlname=
+
+ if test $# -gt 0; then
+ # Delete the old symlinks.
+ rmcmd="$rm"
+ for linkname
+ do
+ rmcmd="$rmcmd $destdir/$linkname"
+ done
+ $show "$rmcmd"
+ $run $rmcmd
+
+ # ... and create new ones.
+ for linkname
+ do
+ test "X$dlname" = "X$linkname" && dlname=
+ $show "(cd $destdir && $LN_S $realname $linkname)"
+ $run eval "(cd $destdir && $LN_S $realname $linkname)"
+ done
+ fi
+
+ if test -n "$dlname"; then
+ # Install the dynamically-loadable library.
+ $show "$install_prog $dir/$dlname $destdir/$dlname"
+ $run eval "$install_prog $dir/$dlname $destdir/$dlname" || exit $?
+ fi
+
+ # Do each command in the postinstall commands.
+ lib="$destdir/$realname"
+ eval cmds=\"$postinstall_cmds\"
+ IFS="${IFS= }"; save_ifs="$IFS"; IFS=';'
+ for cmd in $cmds; do
+ IFS="$save_ifs"
+ $show "$cmd"
+ $run eval "$cmd" || exit $?
+ done
+ IFS="$save_ifs"
+ fi
+
+ # Install the pseudo-library for information purposes.
+ name=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
+ $show "$install_prog $file $destdir/$name"
+ $run eval "$install_prog $file $destdir/$name" || exit $?
+
+ # Maybe install the static library, too.
+ test -n "$old_library" && staticlibs="$staticlibs $dir/$old_library"
+ ;;
+
+ *.lo)
+ # Install (i.e. copy) a libtool object.
+
+ # Figure out destination file name, if it wasn't already specified.
+ if test -n "$destname"; then
+ destfile="$destdir/$destname"
+ else
+ destfile=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
+ destfile="$destdir/$destfile"
+ fi
+
+ # Deduce the name of the destination old-style object file.
+ case "$destfile" in
+ *.lo)
+ staticdest=`$echo "X$destfile" | $Xsed -e 's/\.lo$/\.o/'`
+ ;;
+ *.o)
+ staticdest="$destfile"
+ destfile=
+ ;;
+ *)
+ $echo "$modename: cannot copy a libtool object to \`$destfile'" 1>&2
+ $echo "$help" 1>&2
+ exit 1
+ ;;
+ esac
+
+ # Install the libtool object if requested.
+ if test -n "$destfile"; then
+ $show "$install_prog $file $destfile"
+ $run eval "$install_prog $file $destfile" || exit $?
+ fi
+
+ # Install the old object if enabled.
+ if test "$build_old_libs" = yes; then
+ # Deduce the name of the old-style object file.
+ staticobj=`$echo "X$file" | $Xsed -e 's/\.lo$/\.o/'`
+
+ $show "$install_prog $staticobj $staticdest"
+ $run eval "$install_prog \$staticobj \$staticdest" || exit $?
+ fi
+ exit 0
+ ;;
+
+ *)
+ # Do a test to see if this is really a libtool program.
+ if (sed -e '4q' $file | egrep '^# Generated by ltmain\.sh') >/dev/null 2>&1; then
+ link_against_libtool_libs=
+ finalize_command=
+
+ # If there is no directory component, then add one.
+ case "$file" in
+ */* | *\\*) . $file ;;
+ *) . ./$file ;;
+ esac
+
+ # Check the variables that should have been set.
+ if test -z "$link_against_libtool_libs" || test -z "$finalize_command"; then
+ $echo "$modename: invalid libtool wrapper script \`$file'" 1>&2
+ exit 1
+ fi
+
+ finalize=yes
+ for lib in $link_against_libtool_libs; do
+ # Check to see that each library is installed.
+ libdir=
+ if test -f "$lib"; then
+ # If there is no directory component, then add one.
+ case "$lib" in
+ */* | *\\*) . $lib ;;
+ *) . ./$lib ;;
+ esac
+ fi
+ libfile="$libdir/`$echo "X$lib" | $Xsed -e 's%^.*/%%g'`"
+ if test -z "$libdir"; then
+ $echo "$modename: warning: \`$lib' contains no -rpath information" 1>&2
+ elif test -f "$libfile"; then :
+ else
+ $echo "$modename: warning: \`$lib' has not been installed in \`$libdir'" 1>&2
+ finalize=no
+ fi
+ done
+
+ if test "$hardcode_action" = relink; then
+ if test "$finalize" = yes; then
+ $echo "$modename: warning: relinking \`$file' on behalf of your buggy system linker" 1>&2
+ $show "$finalize_command"
+ if $run eval "$finalize_command"; then :
+ else
+ $echo "$modename: error: relink \`$file' with the above command before installing it" 1>&2
+ continue
+ fi
+ file="$objdir/$file"T
+ else
+ $echo "$modename: warning: cannot relink \`$file' on behalf of your buggy system linker" 1>&2
+ fi
+ else
+ # Install the binary that we compiled earlier.
+ file=`$echo "X$file" | $Xsed -e "s%\([^/]*\)$%$objdir/\1%"`
+ fi
+ fi
+
+ $show "$install_prog$stripme $file $dest"
+ $run eval "$install_prog\$stripme \$file \$dest" || exit $?
+ ;;
+ esac
+ done
+
+ for file in $staticlibs; do
+ name=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
+
+ # Set up the ranlib parameters.
+ oldlib="$destdir/$name"
+
+ $show "$install_prog $file $oldlib"
+ $run eval "$install_prog \$file \$oldlib" || exit $?
+
+ # Do each command in the postinstall commands.
+ eval cmds=\"$old_postinstall_cmds\"
+ IFS="${IFS= }"; save_ifs="$IFS"; IFS=';'
+ for cmd in $cmds; do
+ IFS="$save_ifs"
+ $show "$cmd"
+ $run eval "$cmd" || exit $?
+ done
+ IFS="$save_ifs"
+ done
+
+ if test -n "$future_libdirs"; then
+ $echo "$modename: warning: remember to run \`$progname --finish$future_libdirs'" 1>&2
+ fi
+
+ if test -n "$current_libdirs"; then
+ # Maybe just do a dry run.
+ test -n "$run" && current_libdirs=" -n$current_libdirs"
+ exec $SHELL $0 --finish$current_libdirs
+ exit 1
+ fi
+
+ exit 0
+ ;;
+
+ # libtool finish mode
+ finish)
+ modename="$modename: finish"
+ libdirs="$nonopt"
+
+ if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then
+ for dir
+ do
+ libdirs="$libdirs $dir"
+ done
+
+ for libdir in $libdirs; do
+ if test -n "$finish_cmds"; then
+ # Do each command in the finish commands.
+ eval cmds=\"$finish_cmds\"
+ IFS="${IFS= }"; save_ifs="$IFS"; IFS=';'
+ for cmd in $cmds; do
+ IFS="$save_ifs"
+ $show "$cmd"
+ $run eval "$cmd"
+ done
+ IFS="$save_ifs"
+ fi
+ if test -n "$finish_eval"; then
+ # Do the single finish_eval.
+ eval cmds=\"$finish_eval\"
+ $run eval "$cmds"
+ fi
+ done
+ fi
+
+ echo "------------------------------------------------------------------------------"
+ echo "Libraries have been installed in:"
+ for libdir in $libdirs; do
+ echo " $libdir"
+ done
+ echo
+ echo "To link against installed libraries in a given directory, LIBDIR,"
+ echo "you must use the \`-LLIBDIR' flag during linking."
+ echo
+ echo " You will also need to do one of the following:"
+ if test -n "$shlibpath_var"; then
+ echo " - add LIBDIR to the \`$shlibpath_var' environment variable"
+ echo " during execution"
+ fi
+ if test -n "$runpath_var"; then
+ echo " - add LIBDIR to the \`$runpath_var' environment variable"
+ echo " during linking"
+ fi
+ if test -n "$hardcode_libdir_flag_spec"; then
+ libdir=LIBDIR
+ eval flag=\"$hardcode_libdir_flag_spec\"
+
+ echo " - use the \`$flag' linker flag"
+ fi
+ if test -f /etc/ld.so.conf; then
+ echo " - have your system administrator add LIBDIR to \`/etc/ld.so.conf'"
+ fi
+ echo
+ echo "See any operating system documentation about shared libraries for"
+ echo "more information, such as the ld(1) and ld.so(8) manual pages."
+ echo "------------------------------------------------------------------------------"
+ exit 0
+ ;;
+
+ # libtool execute mode
+ execute)
+ modename="$modename: execute"
+
+ # The first argument is the command name.
+ cmd="$nonopt"
+ if test -z "$cmd"; then
+ $echo "$modename: you must specify a COMMAND" 1>&2
+ $echo "$help"
+ exit 1
+ fi
+
+ # Handle -dlopen flags immediately.
+ for file in $execute_dlfiles; do
+ if test -f "$file"; then :
+ else
+ $echo "$modename: \`$file' is not a file" 1>&2
+ $echo "$help" 1>&2
+ exit 1
+ fi
+
+ dir=
+ case "$file" in
+ *.la)
+ # Check to see that this really is a libtool archive.
+ if (sed -e '2q' $file | egrep '^# Generated by ltmain\.sh') >/dev/null 2>&1; then :
+ else
+ $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2
+ $echo "$help" 1>&2
+ exit 1
+ fi
+
+ # Read the libtool library.
+ dlname=
+ library_names=
+
+ # If there is no directory component, then add one.
+ case "$file" in
+ */* | *\\*) . $file ;;
+ *) . ./$file ;;
+ esac
+
+ # Skip this library if it cannot be dlopened.
+ if test -z "$dlname"; then
+ # Warn if it was a shared library.
+ test -n "$library_names" && $echo "$modename: warning: \`$file' was not linked with \`-export-dynamic'"
+ continue
+ fi
+
+ dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`
+ test "X$dir" = "X$file" && dir=.
+
+ if test -f "$dir/$objdir/$dlname"; then
+ dir="$dir/$objdir"
+ else
+ $echo "$modename: cannot find \`$dlname' in \`$dir' or \`$dir/$objdir'" 1>&2
+ exit 1
+ fi
+ ;;
+
+ *.lo)
+ # Just add the directory containing the .lo file.
+ dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`
+ test "X$dir" = "X$file" && dir=.
+ ;;
+
+ *)
+ $echo "$modename: warning \`-dlopen' is ignored for non-libtool libraries and objects" 1>&2
+ continue
+ ;;
+ esac
+
+ # Get the absolute pathname.
+ absdir=`cd "$dir" && pwd`
+ test -n "$absdir" && dir="$absdir"
+
+ # Now add the directory to shlibpath_var.
+ if eval "test -z \"\$$shlibpath_var\""; then
+ eval "$shlibpath_var=\"\$dir\""
+ else
+ eval "$shlibpath_var=\"\$dir:\$$shlibpath_var\""
+ fi
+ done
+
+ # This variable tells wrapper scripts just to set shlibpath_var
+ # rather than running their programs.
+ libtool_execute_magic="$magic"
+
+ # Check if any of the arguments is a wrapper script.
+ args=
+ for file
+ do
+ case "$file" in
+ -*) ;;
+ *)
+ # Do a test to see if this is really a libtool program.
+ if (sed -e '4q' $file | egrep '^# Generated by ltmain\.sh') >/dev/null 2>&1; then
+ # If there is no directory component, then add one.
+ case "$file" in
+ */* | *\\*) . $file ;;
+ *) . ./$file ;;
+ esac
+
+ # Transform arg to wrapped name.
+ file="$progdir/$program"
+ fi
+ ;;
+ esac
+ # Quote arguments (to preserve shell metacharacters).
+ file=`$echo "X$file" | $Xsed -e "$sed_quote_subst"`
+ args="$args \"$file\""
+ done
+
+ if test -z "$run"; then
+ # Export the shlibpath_var.
+ eval "export $shlibpath_var"
+
+ # Now actually exec the command.
+ eval "exec \$cmd$args"
+
+ $echo "$modename: cannot exec \$cmd$args"
+ exit 1
+ else
+ # Display what would be done.
+ eval "\$echo \"\$shlibpath_var=\$$shlibpath_var\""
+ $echo "export $shlibpath_var"
+ $echo "$cmd$args"
+ exit 0
+ fi
+ ;;
+
+ # libtool uninstall mode
+ uninstall)
+ modename="$modename: uninstall"
+ rm="$nonopt"
+ files=
+
+ for arg
+ do
+ case "$arg" in
+ -*) rm="$rm $arg" ;;
+ *) files="$files $arg" ;;
+ esac
+ done
+
+ if test -z "$rm"; then
+ $echo "$modename: you must specify an RM program" 1>&2
+ $echo "$help" 1>&2
+ exit 1
+ fi
+
+ for file in $files; do
+ dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`
+ test "X$dir" = "X$file" && dir=.
+ name=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
+
+ rmfiles="$file"
+
+ case "$name" in
+ *.la)
+ # Possibly a libtool archive, so verify it.
+ if (sed -e '2q' $file | egrep '^# Generated by ltmain\.sh') >/dev/null 2>&1; then
+ . $dir/$name
+
+ # Delete the libtool libraries and symlinks.
+ for n in $library_names; do
+ rmfiles="$rmfiles $dir/$n"
+ test "X$n" = "X$dlname" && dlname=
+ done
+ test -n "$dlname" && rmfiles="$rmfiles $dir/$dlname"
+ test -n "$old_library" && rmfiles="$rmfiles $dir/$old_library"
+
+ $show "$rm $rmfiles"
+ $run $rm $rmfiles
+
+ if test -n "$library_names"; then
+ # Do each command in the postuninstall commands.
+ eval cmds=\"$postuninstall_cmds\"
+ IFS="${IFS= }"; save_ifs="$IFS"; IFS=';'
+ for cmd in $cmds; do
+ IFS="$save_ifs"
+ $show "$cmd"
+ $run eval "$cmd"
+ done
+ IFS="$save_ifs"
+ fi
+
+ if test -n "$old_library"; then
+ # Do each command in the old_postuninstall commands.
+ eval cmds=\"$old_postuninstall_cmds\"
+ IFS="${IFS= }"; save_ifs="$IFS"; IFS=';'
+ for cmd in $cmds; do
+ IFS="$save_ifs"
+ $show "$cmd"
+ $run eval "$cmd"
+ done
+ IFS="$save_ifs"
+ fi
+
+ # FIXME: should reinstall the best remaining shared library.
+ fi
+ ;;
+
+ *.lo)
+ if test "$build_old_libs" = yes; then
+ oldobj=`$echo "X$name" | $Xsed -e 's/\.lo$/\.o/'`
+ rmfiles="$rmfiles $dir/$oldobj"
+ fi
+ $show "$rm $rmfiles"
+ $run $rm $rmfiles
+ ;;
+
+ *)
+ $show "$rm $rmfiles"
+ $run $rm $rmfiles
+ ;;
+ esac
+ done
+ exit 0
+ ;;
+
+ "")
+ $echo "$modename: you must specify a MODE" 1>&2
+ $echo "$generic_help" 1>&2
+ exit 1
+ ;;
+ esac
+
+ $echo "$modename: invalid operation mode \`$mode'" 1>&2
+ $echo "$generic_help" 1>&2
+ exit 1
+fi # test -z "$show_help"
+
+# We need to display help for each of the modes.
+case "$mode" in
+"") $echo \
+"Usage: $modename [OPTION]... [MODE-ARG]...
+
+Provide generalized library-building support services.
+
+-n, --dry-run display commands without modifying any files
+ --features display configuration information and exit
+ --finish same as \`--mode=finish'
+ --help display this help message and exit
+ --mode=MODE use operation mode MODE [default=inferred from MODE-ARGS]
+ --quiet same as \`--silent'
+ --silent don't print informational messages
+ --version print version information
+
+MODE must be one of the following:
+
+ compile compile a source file into a libtool object
+ execute automatically set library path, then run a program
+ finish complete the installation of libtool libraries
+ install install libraries or executables
+ link create a library or an executable
+ uninstall remove libraries from an installed directory
+
+MODE-ARGS vary depending on the MODE. Try \`$modename --help --mode=MODE' for
+a more detailed description of MODE."
+ exit 0
+ ;;
+
+compile)
+ $echo \
+"Usage: $modename [OPTION]... --mode=compile COMPILE-COMMAND... SOURCEFILE
+
+Compile a source file into a libtool library object.
+
+COMPILE-COMMAND is a command to be used in creating a \`standard' object file
+from the given SOURCEFILE.
+
+The output file name is determined by removing the directory component from
+SOURCEFILE, then substituting the C source code suffix \`.c' with the
+library object suffix, \`.lo'."
+ ;;
+
+execute)
+ $echo \
+"Usage: $modename [OPTION]... --mode=execute COMMAND [ARGS]...
+
+Automatically set library path, then run a program.
+
+This mode accepts the following additional options:
+
+ -dlopen FILE add the directory containing FILE to the library path
+
+This mode sets the library path environment variable according to \`-dlopen'
+flags.
+
+If any of the ARGS are libtool executable wrappers, then they are translated
+into their corresponding uninstalled binary, and any of their required library
+directories are added to the library path.
+
+Then, COMMAND is executed, with ARGS as arguments."
+ ;;
+
+finish)
+ $echo \
+"Usage: $modename [OPTION]... --mode=finish [LIBDIR]...
+
+Complete the installation of libtool libraries.
+
+Each LIBDIR is a directory that contains libtool libraries.
+
+The commands that this mode executes may require superuser privileges. Use
+the \`--dry-run' option if you just want to see what would be executed."
+ ;;
+
+install)
+ $echo \
+"Usage: $modename [OPTION]... --mode=install INSTALL-COMMAND...
+
+Install executables or libraries.
+
+INSTALL-COMMAND is the installation command. The first component should be
+either the \`install' or \`cp' program.
+
+The rest of the components are interpreted as arguments to that command (only
+BSD-compatible install options are recognized)."
+ ;;
+
+link)
+ $echo \
+"Usage: $modename [OPTION]... --mode=link LINK-COMMAND...
+
+Link object files or libraries together to form another library, or to
+create an executable program.
+
+LINK-COMMAND is a command using the C compiler that you would use to create
+a program from several object files.
+
+The following components of LINK-COMMAND are treated specially:
+
+ -all-static do not do any dynamic linking at all
+ -dlopen FILE \`-dlpreopen' FILE if it cannot be dlopened at runtime
+ -dlpreopen FILE link in FILE and add its symbols to dld_preloaded_symbols
+ -export-dynamic allow symbols from OUTPUT-FILE to be resolved with dlsym(3)
+ -LLIBDIR search LIBDIR for required installed libraries
+ -lNAME OUTPUT-FILE requires the installed library libNAME
+ -no-undefined declare that a library does not refer to external symbols
+ -o OUTPUT-FILE create OUTPUT-FILE from the specified objects
+ -release RELEASE specify package release information
+ -rpath LIBDIR the created library will eventually be installed in LIBDIR
+ -static do not do any dynamic linking of libtool libraries
+ -version-info CURRENT[:REVISION[:AGE]]
+ specify library version info [each variable defaults to 0]
+
+All other options (arguments beginning with \`-') are ignored.
+
+Every other argument is treated as a filename. Files ending in \`.la' are
+treated as uninstalled libtool libraries, other files are standard or library
+object files.
+
+If the OUTPUT-FILE ends in \`.la', then a libtool library is created, only
+library objects (\`.lo' files) may be specified, and \`-rpath' is required.
+
+If OUTPUT-FILE ends in \`.a', then a standard library is created using \`ar'
+and \`ranlib'.
+
+If OUTPUT-FILE ends in \`.lo' or \`.o', then a reloadable object file is
+created, otherwise an executable program is created."
+ ;;
+
+uninstall)
+ $echo
+"Usage: $modename [OPTION]... --mode=uninstall RM [RM-OPTION]... FILE...
+
+Remove libraries from an installation directory.
+
+RM is the name of the program to use to delete files associated with each FILE
+(typically \`/bin/rm'). RM-OPTIONS are options (such as \`-f') to be passed
+to RM.
+
+If FILE is a libtool library, all the files associated with it are deleted.
+Otherwise, only FILE itself is deleted using RM."
+ ;;
+
+*)
+ $echo "$modename: invalid operation mode \`$mode'" 1>&2
+ $echo "$help" 1>&2
+ exit 1
+ ;;
+esac
+
+echo
+$echo "Try \`$modename --help' for more information about other modes."
+
+exit 0
+
+# Local Variables:
+# mode:shell-script
+# sh-indentation:2
+# End:
diff --git a/modules/Makefile.am b/modules/Makefile.am
index d3103f14..b88cd8d2 100644
--- a/modules/Makefile.am
+++ b/modules/Makefile.am
@@ -1,9 +1,38 @@
-pkglibexec_PROGRAMS = test time stdlib
+# To get libtool and Automake to handle this correctly it is necessary
+# to pretend we are compiling shared libraries (which we are) and then
+# change the names when installing.
-noinst_DATA = test.m4 time.m4 stdlib.m4
+pkglibexec_LTLIBRARIES = libtest.la libtime.la libstdlib.la
+
+EXTRA_DIST = test.m4 time.m4 stdlib.m4
INCLUDES = -I$(srcdir)/../src -I$(srcdir)/../lib
-CFLAGS = @GCC_FPIC@
-LD = @SHARED_LD@
-LDFLAGS = @DASH_SHARED@
+libtest_la_SOURCES = test.c
+libtime_la_SOURCES = time.c
+libstdlib_la_SOURCES = stdlib.c
+
+LIBS =
+LDFLAGS = @DLLDFLAGS@
+
+install-pkglibexecLTLIBRARIES: $(pkglibexec_LTLIBRARIES)
+ @$(NORMAL_INSTALL)
+ $(mkinstalldirs) $(DESTDIR)$(pkglibexecdir)
+ @list='$(pkglibexec_LTLIBRARIES)'; for p in $$list; do \
+ module=`echo "$$p" | sed -e 's/^lib\(.*\)\.la/\1/'`; \
+ lib=.libs/lib$$module.so.0.0.0; \
+ if test -f $$lib; then \
+ echo "${INSTALL} $$lib $(DESTDIR)$(pkglibexecdir)/$$module"; \
+ ${INSTALL} $$lib $(DESTDIR)$(pkglibexecdir)/$$module; \
+ else :; fi; \
+ done
+
+uninstall-pkglibexecLTLIBRARIES: $(pkglibexec_LTLIBRARIES)
+ @$(NORMAL_INSTALL)
+ @list='$(pkglibexec_LTLIBRARIES)'; for p in $$list; do \
+ module=`echo "$$p" | sed -e 's/^lib\(.*\)\.la/\1/'`; \
+ if test -f $$lib; then \
+ echo "rm -f $(DESTDIR)$(pkglibexecdir)/$$module"; \
+ rm -f $(DESTDIR)$(pkglibexecdir)/$$module; \
+ else :; fi; \
+ done
diff --git a/modules/Makefile.in b/modules/Makefile.in
index 5527d879..e1ec9609 100644
--- a/modules/Makefile.in
+++ b/modules/Makefile.in
@@ -10,6 +10,10 @@
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.
+# To get libtool and Automake to handle this correctly it is necessary
+# to pretend we are compiling shared libraries (which we are) and then
+# change the names when installing.
+
SHELL = /bin/sh
@@ -64,10 +68,8 @@ CATALOGS = @CATALOGS@
CATOBJEXT = @CATOBJEXT@
CC = @CC@
CPP = @CPP@
-DASH_SHARED = @DASH_SHARED@
DATADIRNAME = @DATADIRNAME@
DLLDFLAGS = @DLLDFLAGS@
-GCC_FPIC = @GCC_FPIC@
GENCAT = @GENCAT@
GMOFILES = @GMOFILES@
GMSGFMT = @GMSGFMT@
@@ -78,20 +80,20 @@ INSTOBJEXT = @INSTOBJEXT@
INTLDEPS = @INTLDEPS@
INTLLIBS = @INTLLIBS@
INTLOBJS = @INTLOBJS@
+LD = @LD@
+LIBTOOL = @LIBTOOL@
+LN_S = @LN_S@
MAKEINFO = @MAKEINFO@
MKINSTALLDIRS = @MKINSTALLDIRS@
MODULES_DIR = @MODULES_DIR@
-MODULE_O = @MODULE_O@
MODULE_PATH = @MODULE_PATH@
MSGFMT = @MSGFMT@
-OS_NAME = @OS_NAME@
+NM = @NM@
PACKAGE = @PACKAGE@
PERL = @PERL@
POFILES = @POFILES@
POSUB = @POSUB@
RANLIB = @RANLIB@
-SHARED_EXT = @SHARED_EXT@
-SHARED_LD = @SHARED_LD@
STACKOVF = @STACKOVF@
U = @U@
USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@
@@ -100,43 +102,39 @@ VERSION = @VERSION@
l = @l@
pkglibexecdir = @pkglibexecdir@
-pkglibexec_PROGRAMS = test time stdlib
+pkglibexec_LTLIBRARIES = libtest.la libtime.la libstdlib.la
-noinst_DATA = test.m4 time.m4 stdlib.m4
+EXTRA_DIST = test.m4 time.m4 stdlib.m4
INCLUDES = -I$(srcdir)/../src -I$(srcdir)/../lib
-CFLAGS = @GCC_FPIC@
-LD = @SHARED_LD@
-LDFLAGS = @DASH_SHARED@
+libtest_la_SOURCES = test.c
+libtime_la_SOURCES = time.c
+libstdlib_la_SOURCES = stdlib.c
+
+LIBS =
+LDFLAGS = @DLLDFLAGS@
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
CONFIG_HEADER = ../config.h
CONFIG_CLEAN_FILES =
-PROGRAMS = $(pkglibexec_PROGRAMS)
+LTLIBRARIES = $(pkglibexec_LTLIBRARIES)
DEFS = @DEFS@ -I. -I$(srcdir) -I..
CPPFLAGS = @CPPFLAGS@
-LIBS = @LIBS@
-test_SOURCES = test.c
-test_OBJECTS = test.o
-test_LDADD = $(LDADD)
-test_DEPENDENCIES =
-test_LDFLAGS =
-time_SOURCES = time.c
-time_OBJECTS = time.o
-time_LDADD = $(LDADD)
-time_DEPENDENCIES =
-time_LDFLAGS =
-stdlib_SOURCES = stdlib.c
-stdlib_OBJECTS = stdlib.o
-stdlib_LDADD = $(LDADD)
-stdlib_DEPENDENCIES =
-stdlib_LDFLAGS =
+libtest_la_LDFLAGS =
+libtest_la_LIBADD =
+libtest_la_OBJECTS = test.lo
+libtime_la_LDFLAGS =
+libtime_la_LIBADD =
+libtime_la_OBJECTS = time.lo
+libstdlib_la_LDFLAGS =
+libstdlib_la_LIBADD =
+libstdlib_la_OBJECTS = stdlib.lo
+CFLAGS = @CFLAGS@
COMPILE = $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LINK = $(CC) $(AM_CFLAGS) $(CFLAGS) $(LDFLAGS) -o $@
-DATA = $(noinst_DATA)
-
+LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LINK = $(LIBTOOL) --mode=link $(CC) $(AM_CFLAGS) $(CFLAGS) $(LDFLAGS) -o $@
DIST_COMMON = README Makefile.am Makefile.in TODO
@@ -144,13 +142,13 @@ DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
TAR = tar
GZIP = --best
-SOURCES = test.c time.c stdlib.c
-OBJECTS = test.o time.o stdlib.o
+SOURCES = $(libtest_la_SOURCES) $(libtime_la_SOURCES) $(libstdlib_la_SOURCES)
+OBJECTS = $(libtest_la_OBJECTS) $(libtime_la_OBJECTS) $(libstdlib_la_OBJECTS)
-all: Makefile $(PROGRAMS) $(DATA)
+all: Makefile $(LTLIBRARIES)
.SUFFIXES:
-.SUFFIXES: .S .c .o .s
+.SUFFIXES: .S .c .lo .o .s
$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
cd $(top_srcdir) && $(AUTOMAKE) --gnu --include-deps modules/Makefile
@@ -159,30 +157,14 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
&& CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
-mostlyclean-pkglibexecPROGRAMS:
-
-clean-pkglibexecPROGRAMS:
- -test -z "$(pkglibexec_PROGRAMS)" || rm -f $(pkglibexec_PROGRAMS)
+mostlyclean-pkglibexecLTLIBRARIES:
-distclean-pkglibexecPROGRAMS:
+clean-pkglibexecLTLIBRARIES:
+ -test -z "$(pkglibexec_LTLIBRARIES)" || rm -f $(pkglibexec_LTLIBRARIES)
-maintainer-clean-pkglibexecPROGRAMS:
-
-install-pkglibexecPROGRAMS: $(pkglibexec_PROGRAMS)
- @$(NORMAL_INSTALL)
- $(mkinstalldirs) $(DESTDIR)$(pkglibexecdir)
- @list='$(pkglibexec_PROGRAMS)'; for p in $$list; do \
- if test -f $$p; then \
- echo " $(INSTALL_PROGRAM) $$p $(DESTDIR)$(pkglibexecdir)/`echo $$p|sed 's/$(EXEEXT)$$//'|sed '$(transform)'|sed 's/$$/$(EXEEXT)/'`"; \
- $(INSTALL_PROGRAM) $$p $(DESTDIR)$(pkglibexecdir)/`echo $$p|sed 's/$(EXEEXT)$$//'|sed '$(transform)'|sed 's/$$/$(EXEEXT)/'`; \
- else :; fi; \
- done
+distclean-pkglibexecLTLIBRARIES:
-uninstall-pkglibexecPROGRAMS:
- @$(NORMAL_UNINSTALL)
- list='$(pkglibexec_PROGRAMS)'; for p in $$list; do \
- rm -f $(DESTDIR)$(pkglibexecdir)/`echo $$p|sed 's/$(EXEEXT)$$//'|sed '$(transform)'|sed 's/$$/$(EXEEXT)/'`; \
- done
+maintainer-clean-pkglibexecLTLIBRARIES:
.c.o:
$(COMPILE) -c $<
@@ -203,17 +185,33 @@ distclean-compile:
maintainer-clean-compile:
-test: $(test_OBJECTS) $(test_DEPENDENCIES)
- @rm -f test
- $(LINK) $(test_LDFLAGS) $(test_OBJECTS) $(test_LDADD) $(LIBS)
+.c.lo:
+ $(LIBTOOL) --mode=compile $(COMPILE) -c $<
+
+.s.lo:
+ $(LIBTOOL) --mode=compile $(COMPILE) -c $<
+
+.S.lo:
+ $(LIBTOOL) --mode=compile $(COMPILE) -c $<
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
-time: $(time_OBJECTS) $(time_DEPENDENCIES)
- @rm -f time
- $(LINK) $(time_LDFLAGS) $(time_OBJECTS) $(time_LDADD) $(LIBS)
+distclean-libtool:
-stdlib: $(stdlib_OBJECTS) $(stdlib_DEPENDENCIES)
- @rm -f stdlib
- $(LINK) $(stdlib_LDFLAGS) $(stdlib_OBJECTS) $(stdlib_LDADD) $(LIBS)
+maintainer-clean-libtool:
+
+libtest.la: $(libtest_la_OBJECTS) $(libtest_la_DEPENDENCIES)
+ $(LINK) -rpath $(pkglibexecdir) $(libtest_la_LDFLAGS) $(libtest_la_OBJECTS) $(libtest_la_LIBADD) $(LIBS)
+
+libtime.la: $(libtime_la_OBJECTS) $(libtime_la_DEPENDENCIES)
+ $(LINK) -rpath $(pkglibexecdir) $(libtime_la_LDFLAGS) $(libtime_la_OBJECTS) $(libtime_la_LIBADD) $(LIBS)
+
+libstdlib.la: $(libstdlib_la_OBJECTS) $(libstdlib_la_DEPENDENCIES)
+ $(LINK) -rpath $(pkglibexecdir) $(libstdlib_la_LDFLAGS) $(libstdlib_la_OBJECTS) $(libstdlib_la_LIBADD) $(LIBS)
tags: TAGS
@@ -251,11 +249,17 @@ distdir: $(DISTFILES)
|| ln $$d/$$file $(distdir)/$$file 2> /dev/null \
|| cp -p $$d/$$file $(distdir)/$$file; \
done
+stdlib.lo stdlib.o: stdlib.c ../src/m4.h ../config.h ../lib/obstack.h \
+ ../src/builtin.h
+test.o: test.c ../src/m4.h ../config.h ../lib/obstack.h ../src/builtin.h
+time.lo time.o: time.c ../src/m4.h ../config.h ../lib/obstack.h \
+ ../src/builtin.h
+
info:
dvi:
check: all
installcheck:
-install-exec: install-pkglibexecPROGRAMS
+install-exec: install-pkglibexecLTLIBRARIES
@$(NORMAL_INSTALL)
install-data:
@@ -264,7 +268,7 @@ install-data:
install: install-exec install-data all
@:
-uninstall: uninstall-pkglibexecPROGRAMS
+uninstall: uninstall-pkglibexecLTLIBRARIES
install-strip:
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM='$(INSTALL_PROGRAM) -s' INSTALL_SCRIPT='$(INSTALL_PROGRAM)' install
@@ -281,33 +285,61 @@ distclean-generic:
-rm -f config.cache config.log stamp-h stamp-h[0-9]*
maintainer-clean-generic:
-mostlyclean: mostlyclean-pkglibexecPROGRAMS mostlyclean-compile \
- mostlyclean-tags mostlyclean-generic
+mostlyclean: mostlyclean-pkglibexecLTLIBRARIES mostlyclean-compile \
+ mostlyclean-libtool mostlyclean-tags \
+ mostlyclean-generic
-clean: clean-pkglibexecPROGRAMS clean-compile clean-tags clean-generic \
- mostlyclean
+clean: clean-pkglibexecLTLIBRARIES clean-compile clean-libtool \
+ clean-tags clean-generic mostlyclean
-distclean: distclean-pkglibexecPROGRAMS distclean-compile \
- distclean-tags distclean-generic clean
+distclean: distclean-pkglibexecLTLIBRARIES distclean-compile \
+ distclean-libtool distclean-tags distclean-generic \
+ clean
-rm -f config.status
+ -rm -f libtool
-maintainer-clean: maintainer-clean-pkglibexecPROGRAMS \
- maintainer-clean-compile maintainer-clean-tags \
- maintainer-clean-generic distclean
+maintainer-clean: maintainer-clean-pkglibexecLTLIBRARIES \
+ maintainer-clean-compile maintainer-clean-libtool \
+ maintainer-clean-tags maintainer-clean-generic \
+ distclean
@echo "This command is intended for maintainers to use;"
@echo "it deletes files that may require special tools to rebuild."
-.PHONY: mostlyclean-pkglibexecPROGRAMS distclean-pkglibexecPROGRAMS \
-clean-pkglibexecPROGRAMS maintainer-clean-pkglibexecPROGRAMS \
-uninstall-pkglibexecPROGRAMS install-pkglibexecPROGRAMS \
-mostlyclean-compile distclean-compile clean-compile \
-maintainer-clean-compile tags mostlyclean-tags distclean-tags \
-clean-tags maintainer-clean-tags distdir info dvi installcheck \
-install-exec install-data install uninstall all installdirs \
-mostlyclean-generic distclean-generic clean-generic \
-maintainer-clean-generic clean mostlyclean distclean maintainer-clean
+.PHONY: mostlyclean-pkglibexecLTLIBRARIES \
+distclean-pkglibexecLTLIBRARIES clean-pkglibexecLTLIBRARIES \
+maintainer-clean-pkglibexecLTLIBRARIES uninstall-pkglibexecLTLIBRARIES \
+install-pkglibexecLTLIBRARIES mostlyclean-compile distclean-compile \
+clean-compile maintainer-clean-compile mostlyclean-libtool \
+distclean-libtool clean-libtool maintainer-clean-libtool tags \
+mostlyclean-tags distclean-tags clean-tags maintainer-clean-tags \
+distdir info dvi installcheck install-exec install-data install \
+uninstall all installdirs mostlyclean-generic distclean-generic \
+clean-generic maintainer-clean-generic clean mostlyclean distclean \
+maintainer-clean
+install-pkglibexecLTLIBRARIES: $(pkglibexec_LTLIBRARIES)
+ @$(NORMAL_INSTALL)
+ $(mkinstalldirs) $(DESTDIR)$(pkglibexecdir)
+ @list='$(pkglibexec_LTLIBRARIES)'; for p in $$list; do \
+ module=`echo "$$p" | sed -e 's/^lib\(.*\)\.la/\1/'`; \
+ lib=.libs/lib$$module.so.0.0.0; \
+ if test -f $$lib; then \
+ echo "${INSTALL} $$lib $(DESTDIR)$(pkglibexecdir)/$$module"; \
+ ${INSTALL} $$lib $(DESTDIR)$(pkglibexecdir)/$$module; \
+ else :; fi; \
+ done
+
+uninstall-pkglibexecLTLIBRARIES: $(pkglibexec_LTLIBRARIES)
+ @$(NORMAL_INSTALL)
+ @list='$(pkglibexec_LTLIBRARIES)'; for p in $$list; do \
+ module=`echo "$$p" | sed -e 's/^lib\(.*\)\.la/\1/'`; \
+ if test -f $$lib; then \
+ echo "rm -f $(DESTDIR)$(pkglibexecdir)/$$module"; \
+ rm -f $(DESTDIR)$(pkglibexecdir)/$$module; \
+ else :; fi; \
+ done
+
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:
diff --git a/modules/stdlib.c b/modules/stdlib.c
index 6ba8556d..b64c72e1 100644
--- a/modules/stdlib.c
+++ b/modules/stdlib.c
@@ -275,9 +275,9 @@ m4_uname (struct obstack *obs, int argc, token_data **argv)
obstack_1grow (obs, ',');
shipout_string (obs, ut.release, 0, TRUE);
obstack_1grow (obs, ',');
- shipout_string (obs, ut.machine, 0, TRUE);
+ shipout_string (obs, ut.version, 0, TRUE);
obstack_1grow (obs, ',');
- shipout_string (obs, ut.domainname, 0, TRUE);
+ shipout_string (obs, ut.machine, 0, TRUE);
}
}
diff --git a/po/cat-id-tbl.c b/po/cat-id-tbl.c
index ea66ccd4..1d6717c4 100644
--- a/po/cat-id-tbl.c
+++ b/po/cat-id-tbl.c
@@ -113,28 +113,31 @@ FLAGS is any of:\n\
{"\
\n\
If no FILE or if FILE is `-', standard input is read.\n", 60},
- {"Bad debug flags: `%s'", 61},
- {"INTERNAL ERROR: Bad code in deferred arguments", 62},
- {"INTERNAL ERROR: Bad token type in expand_token ()", 63},
- {"ERROR: EOF in argument list", 64},
- {"INTERNAL ERROR: Bad token type in expand_argument ()", 65},
- {"INTERNAL ERROR: Bad symbol type in call_macro ()", 66},
- {"ERROR: Recursion limit of %d exceeded, use -L<N> to change it", 67},
- {"Error: cannot find module `%s'", 68},
- {"ERROR: Cannot create temporary file for diversion", 69},
- {"ERROR: Cannot flush diversion to temporary file", 70},
- {"ERROR: Copying inserted file", 71},
- {"ERROR: Reading inserted file", 72},
- {"Cannot stat diversion", 73},
- {"Path search for `%s' found `%s'", 74},
- {"Module search for `%s' found `%s'", 75},
- {"VMEM limit exceeded?\n", 76},
+ {"\
+\n\
+Report bugs to <bug-m4@gnu.org>.\n", 61},
+ {"Bad debug flags: `%s'", 62},
+ {"INTERNAL ERROR: Bad code in deferred arguments", 63},
+ {"INTERNAL ERROR: Bad token type in expand_token ()", 64},
+ {"ERROR: EOF in argument list", 65},
+ {"INTERNAL ERROR: Bad token type in expand_argument ()", 66},
+ {"INTERNAL ERROR: Bad symbol type in call_macro ()", 67},
+ {"ERROR: Recursion limit of %d exceeded, use -L<N> to change it", 68},
+ {"ERROR: cannot find module `%s'", 69},
+ {"ERROR: Cannot create temporary file for diversion", 70},
+ {"ERROR: Cannot flush diversion to temporary file", 71},
+ {"ERROR: Copying inserted file", 72},
+ {"ERROR: Reading inserted file", 73},
+ {"Cannot stat diversion", 74},
+ {"Path search for `%s' found `%s'", 75},
+ {"Module search for `%s' found `%s'", 76},
+ {"VMEM limit exceeded?\n", 77},
{"\
Memory bounds violation detected (SIGSEGV). Either a stack overflow\n\
-occurred, or there is a bug in ", 77},
- {". Check for possible infinite recursion.\n", 78},
- {"INTERNAL ERROR: Illegal mode to symbol_lookup ()", 79},
- {"Name `%s' is unknown\n", 80},
+occurred, or there is a bug in ", 78},
+ {". Check for possible infinite recursion.\n", 79},
+ {"INTERNAL ERROR: Illegal mode to symbol_lookup ()", 80},
+ {"Name `%s' is unknown\n", 81},
};
-int _msg_tbl_length = 80;
+int _msg_tbl_length = 81;
diff --git a/po/de.gmo b/po/de.gmo
index 3917ea01..e38c997e 100644
--- a/po/de.gmo
+++ b/po/de.gmo
Binary files differ
diff --git a/po/de.po b/po/de.po
index bcff9642..73e0de09 100644
--- a/po/de.po
+++ b/po/de.po
@@ -6,7 +6,7 @@
msgid ""
msgstr ""
"Project-Id-Version: m4 1.4.3\n"
-"POT-Creation-Date: 1998-11-15 15:55+0100\n"
+"POT-Creation-Date: 1998-11-18 12:55+0100\n"
"PO-Revision-Date: 1996-09-30 10:38 GMT+0100\n"
"Last-Translator: Martin von Löwis <martin@mira.isdn.cs.tu-berlin.de>\n"
"Language-Team: German <de@li.org>\n"
@@ -104,7 +104,7 @@ msgstr "Kann Fehlerdatei nicht vorbereiten: %s"
msgid "WARNING: \\0 will disappear, use \\& instead in replacements"
msgstr "WARNUNG: \\0 wird wegfallen, benutze \\& stattdessen"
-#: src/builtin.c:1732 src/builtin.c:1792 src/input.c:1010
+#: src/builtin.c:1732 src/builtin.c:1792 src/input.c:1009
#, c-format
msgid "Bad regular expression `%s': %s"
msgstr "Falscher regulärer Ausdruck `%s': %s"
@@ -236,7 +236,7 @@ msgstr ""
msgid "NONE"
msgstr "NONE"
-#: src/input.c:1190 src/input.c:1217
+#: src/input.c:1193 src/input.c:1220
msgid "ERROR: EOF in string"
msgstr "FEHLER: Dateiende in Zeichenkette"
@@ -387,12 +387,18 @@ msgstr ""
"\n"
"Ohne DATEI oder wenn DATEI `-' ist, wird die Standardeingabe gelesen\n"
-#: src/m4.c:366
+#: src/m4.c:204
+msgid ""
+"\n"
+"Report bugs to <bug-m4@gnu.org>.\n"
+msgstr ""
+
+#: src/m4.c:368
#, c-format
msgid "Bad debug flags: `%s'"
msgstr "Falsche Debug Flags: `%s'"
-#: src/m4.c:445
+#: src/m4.c:447
msgid "INTERNAL ERROR: Bad code in deferred arguments"
msgstr "INTERNER FEHLER: Falscher Kode in zurückgestellten Argumenten"
@@ -418,9 +424,9 @@ msgid "ERROR: Recursion limit of %d exceeded, use -L<N> to change it"
msgstr ""
"FEHLER: Grenze der Rekursion von %d überschritten, benutze -L<N> zur Änderung"
-#: src/module.c:148
+#: src/module.c:206
#, c-format
-msgid "Error: cannot find module `%s'"
+msgid "ERROR: cannot find module `%s'"
msgstr ""
#: src/output.c:198
diff --git a/po/fr.gmo b/po/fr.gmo
index c4315dcc..8ffc90a8 100644
--- a/po/fr.gmo
+++ b/po/fr.gmo
Binary files differ
diff --git a/po/fr.po b/po/fr.po
index caea5d4e..3dc21baf 100644
--- a/po/fr.po
+++ b/po/fr.po
@@ -7,7 +7,7 @@
msgid ""
msgstr ""
"Project-Id-Version: m4 1.4d\n"
-"POT-Creation-Date: 1998-11-15 15:55+0100\n"
+"POT-Creation-Date: 1998-11-18 12:55+0100\n"
"PO-Revision-Date: 1998-05-23 11:53+02:00\n"
"Last-Translator: Erick Branderhorst <Erick.Branderhorst@asml.nl>\n"
"Language-Team: dutch <nl@li.org>\n"
@@ -105,7 +105,7 @@ msgid "WARNING: \\0 will disappear, use \\& instead in replacements"
msgstr ""
"ATTENTION: \\\\0 disparaîtra, utiliser \\\\& plutôt pour les remplacements"
-#: src/builtin.c:1732 src/builtin.c:1792 src/input.c:1010
+#: src/builtin.c:1732 src/builtin.c:1792 src/input.c:1009
#, c-format
msgid "Bad regular expression `%s': %s"
msgstr "Mauvaise expression régulière «%s»: %s"
@@ -233,7 +233,7 @@ msgstr "ERREUR INTERNE: Pile d'entrée douteuse dans peek_input ()"
msgid "NONE"
msgstr "AUCUN"
-#: src/input.c:1190 src/input.c:1217
+#: src/input.c:1193 src/input.c:1220
msgid "ERROR: EOF in string"
msgstr "ERREUR: Fin-de-fichier dans la chaîne"
@@ -383,12 +383,18 @@ msgstr ""
"\n"
"Si aucun FICHIER ou si FICHIER vaut «-», lit l'entrée standard.\n"
-#: src/m4.c:366
+#: src/m4.c:204
+msgid ""
+"\n"
+"Report bugs to <bug-m4@gnu.org>.\n"
+msgstr ""
+
+#: src/m4.c:368
#, c-format
msgid "Bad debug flags: `%s'"
msgstr "Mauvais indicateurs de mise-au-point: «%s»"
-#: src/m4.c:445
+#: src/m4.c:447
msgid "INTERNAL ERROR: Bad code in deferred arguments"
msgstr "ERREUR INTERNE: Mauvais code dans les arguments différés"
@@ -414,9 +420,9 @@ msgstr "ERREUR INTERNE: Mauvais type de symbole dans call_macro ()"
msgid "ERROR: Recursion limit of %d exceeded, use -L<N> to change it"
msgstr "ERREUR: Limite de récursion %d dépassée, la changer par -L<N>"
-#: src/module.c:148
+#: src/module.c:206
#, c-format
-msgid "Error: cannot find module `%s'"
+msgid "ERROR: cannot find module `%s'"
msgstr ""
#: src/output.c:198
diff --git a/po/it.gmo b/po/it.gmo
index 190f0236..58cb2c0f 100644
--- a/po/it.gmo
+++ b/po/it.gmo
Binary files differ
diff --git a/po/it.po b/po/it.po
index fec23362..ce9141fe 100644
--- a/po/it.po
+++ b/po/it.po
@@ -1,6 +1,6 @@
msgid ""
msgstr ""
-"POT-Creation-Date: 1998-11-15 15:55+0100\n"
+"POT-Creation-Date: 1998-11-18 12:55+0100\n"
"Version: \n"
"Date: 1995-06-30 21:00:12+0200\n"
"From: Ulrich Drepper <drepper@myware>\n"
@@ -103,7 +103,7 @@ msgstr "Impossibile aprire l' archivio di errore: %s"
msgid "WARNING: \\0 will disappear, use \\& instead in replacements"
msgstr ""
-#: src/builtin.c:1732 src/builtin.c:1792 src/input.c:1010
+#: src/builtin.c:1732 src/builtin.c:1792 src/input.c:1009
#, c-format
msgid "Bad regular expression `%s': %s"
msgstr "Espressione regolare errata `%s': %s"
@@ -227,7 +227,7 @@ msgstr "ERRORE INTERNO: Stack di ingresso corrotto in peek_input ()"
msgid "NONE"
msgstr "NESSUNO"
-#: src/input.c:1190 src/input.c:1217
+#: src/input.c:1193 src/input.c:1220
msgid "ERROR: EOF in string"
msgstr "ERRORE: Fine prematura di una stringa"
@@ -323,12 +323,18 @@ msgid ""
"If no FILE or if FILE is `-', standard input is read.\n"
msgstr ""
-#: src/m4.c:366
+#: src/m4.c:204
+msgid ""
+"\n"
+"Report bugs to <bug-m4@gnu.org>.\n"
+msgstr ""
+
+#: src/m4.c:368
#, c-format
msgid "Bad debug flags: `%s'"
msgstr "Indicatori di debug errati: `%s'"
-#: src/m4.c:445
+#: src/m4.c:447
msgid "INTERNAL ERROR: Bad code in deferred arguments"
msgstr "ERRORE INTERNO: Codice errato in argomenti differiti"
@@ -353,9 +359,9 @@ msgstr "ERRORE INTERNO: Tipo simbolo errato in call_macro ()"
msgid "ERROR: Recursion limit of %d exceeded, use -L<N> to change it"
msgstr ""
-#: src/module.c:148
+#: src/module.c:206
#, c-format
-msgid "Error: cannot find module `%s'"
+msgid "ERROR: cannot find module `%s'"
msgstr ""
#: src/output.c:198
diff --git a/po/ja.gmo b/po/ja.gmo
index 2d6c0a81..644d96df 100644
--- a/po/ja.gmo
+++ b/po/ja.gmo
Binary files differ
diff --git a/po/ja.po b/po/ja.po
index 4a94b31e..0bf3c998 100644
--- a/po/ja.po
+++ b/po/ja.po
@@ -5,7 +5,7 @@
msgid ""
msgstr ""
"Project-Id-Version: GNU m4 1.4.3\n"
-"POT-Creation-Date: 1998-11-15 15:55+0100\n"
+"POT-Creation-Date: 1998-11-18 12:55+0100\n"
"PO-Revision-Date: 1996-03-28 11:52 EST\n"
"Last-Translator: Akiko Matsushita <matusita@sra.co.jp>\n"
"Language-Team: Japanese <ja@li.org>\n"
@@ -102,7 +102,7 @@ msgstr "`%s' ¤ò¥¨¥é¡¼¥í¥°¥Õ¥¡¥¤¥ë¤È¤·¤Æ¥»¥Ã¥È¤Ç¤­¤Þ¤»¤ó¡£"
msgid "WARNING: \\0 will disappear, use \\& instead in replacements"
msgstr "·Ù¹ð¡§\\0 ¤Ïµì¼°¤ÎÍÑË¡¤Ç¤¹¡£\\& ¤òÂå¤ï¤ê¤Ë»È¤Ã¤Æ²¼¤µ¤¤¡£"
-#: src/builtin.c:1732 src/builtin.c:1792 src/input.c:1010
+#: src/builtin.c:1732 src/builtin.c:1792 src/input.c:1009
#, c-format
msgid "Bad regular expression `%s': %s"
msgstr "`%s' : %s ¤Ï¡¢ÉÔÀµ¤ÊÀµµ¬É½¸½¤Ç¤¹¡£"
@@ -233,7 +233,7 @@ msgstr "ÆâÉô¥¨¥é¡¼¡§´Ø¿ô peek_input () Æâ¤Ç¥¹¥¿¥Ã¥¯¤ÎÆþÎϤ˼ºÇÔ¤·¤Æ¤¤¤Þ¤¹¡£"
msgid "NONE"
msgstr "¤Ê¤·"
-#: src/input.c:1190 src/input.c:1217
+#: src/input.c:1193 src/input.c:1220
msgid "ERROR: EOF in string"
msgstr "¥¨¥é¡¼: ʸ»úÎóÆâ¤Ë¥Õ¥¡¥¤¥ë¤Î½ªÃ¼µ­¹æ¤¬¤¢¤ê¤Þ¤¹¡£"
@@ -393,12 +393,18 @@ msgstr ""
"FILE ¤¬»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤ª¤è¤Ó»ØÄꤵ¤ì¤¿¥Õ¥¡¥¤¥ë¤¬ `-' ¤Î¾ì¹ç¤Ï\n"
" ɸ½àÆþÎϤ¬Æɤ߹þ¤Þ¤ì¤Þ¤¹¡£\n"
-#: src/m4.c:366
+#: src/m4.c:204
+msgid ""
+"\n"
+"Report bugs to <bug-m4@gnu.org>.\n"
+msgstr ""
+
+#: src/m4.c:368
#, c-format
msgid "Bad debug flags: `%s'"
msgstr "`%s' ¤ÏÉÔÀµ¤Ê¥Ç¥Ð¥Ã¥°¥ª¥×¥·¥ç¥ó°ú¿ô¤Ç¤¹¡£"
-#: src/m4.c:445
+#: src/m4.c:447
msgid "INTERNAL ERROR: Bad code in deferred arguments"
msgstr "ÆâÉô¥¨¥é¡¼¡§¥ª¥×¥·¥ç¥ó¤Î¸å½èÍý¤Ç¡¢ÉÔÀµ¥³¡¼¥É¤¬¸¡½Ð¤µ¤ì¤Þ¤·¤¿¡£"
@@ -425,9 +431,9 @@ msgstr ""
"¥¨¥é¡¼¡§ºÆµ¢ÅªÄêµÁ¤Î¥Í¥¹¥È¤¬»ØÄꤵ¤ì¤¿ÃÍ %d ¤òĶ¤¨¤Æ¤¤¤Þ¤¹¡£\n"
" -L<¿ô»ú> ¥ª¥×¥·¥ç¥ó¤òÍѤ¤¤Æ¥Í¥¹¥È¿ô¤Î¾å¸Â¤òÁý¤ä¤·¤Æ²¼¤µ¤¤¡£"
-#: src/module.c:148
+#: src/module.c:206
#, c-format
-msgid "Error: cannot find module `%s'"
+msgid "ERROR: cannot find module `%s'"
msgstr ""
#: src/output.c:198
diff --git a/po/m4.pot b/po/m4.pot
index 03416589..9e441688 100644
--- a/po/m4.pot
+++ b/po/m4.pot
@@ -6,7 +6,7 @@
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
-"POT-Creation-Date: 1998-11-15 15:55+0100\n"
+"POT-Creation-Date: 1998-11-18 12:55+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -103,7 +103,7 @@ msgstr ""
msgid "WARNING: \\0 will disappear, use \\& instead in replacements"
msgstr ""
-#: src/builtin.c:1732 src/builtin.c:1792 src/input.c:1010
+#: src/builtin.c:1732 src/builtin.c:1792 src/input.c:1009
#, c-format
msgid "Bad regular expression `%s': %s"
msgstr ""
@@ -227,7 +227,7 @@ msgstr ""
msgid "NONE"
msgstr ""
-#: src/input.c:1190 src/input.c:1217
+#: src/input.c:1193 src/input.c:1220
msgid "ERROR: EOF in string"
msgstr ""
@@ -323,12 +323,18 @@ msgid ""
"If no FILE or if FILE is `-', standard input is read.\n"
msgstr ""
-#: src/m4.c:366
+#: src/m4.c:204
+msgid ""
+"\n"
+"Report bugs to <bug-m4@gnu.org>.\n"
+msgstr ""
+
+#: src/m4.c:368
#, c-format
msgid "Bad debug flags: `%s'"
msgstr ""
-#: src/m4.c:445
+#: src/m4.c:447
msgid "INTERNAL ERROR: Bad code in deferred arguments"
msgstr ""
@@ -353,9 +359,9 @@ msgstr ""
msgid "ERROR: Recursion limit of %d exceeded, use -L<N> to change it"
msgstr ""
-#: src/module.c:148
+#: src/module.c:206
#, c-format
-msgid "Error: cannot find module `%s'"
+msgid "ERROR: cannot find module `%s'"
msgstr ""
#: src/output.c:198
diff --git a/po/nl.gmo b/po/nl.gmo
index 21c2a30f..5cd36708 100644
--- a/po/nl.gmo
+++ b/po/nl.gmo
Binary files differ
diff --git a/po/nl.po b/po/nl.po
index 2b2c1995..46b04eff 100644
--- a/po/nl.po
+++ b/po/nl.po
@@ -5,7 +5,7 @@
msgid ""
msgstr ""
"Project-Id-Version: m4 1.4d\n"
-"POT-Creation-Date: 1998-11-15 15:55+0100\n"
+"POT-Creation-Date: 1998-11-18 12:55+0100\n"
"PO-Revision-Date: 1998-05-23 09:27+02:00\n"
"Last-Translator: Erick Branderhorst <Erick.Branderhorst@asml.nl>\n"
"Language-Team: dutch <nl@li.org>\n"
@@ -103,7 +103,7 @@ msgstr "Kan fout bestand niet instellen: %s"
msgid "WARNING: \\0 will disappear, use \\& instead in replacements"
msgstr "LET OP: \\0 zal verdwijnen, gebruik hiervoor \\& als vervanging"
-#: src/builtin.c:1732 src/builtin.c:1792 src/input.c:1010
+#: src/builtin.c:1732 src/builtin.c:1792 src/input.c:1009
#, c-format
msgid "Bad regular expression `%s': %s"
msgstr "Onjuiste reguliere expressie `%s': %s"
@@ -229,7 +229,7 @@ msgstr "INTERNE FOUT: Invoer stapel botch in peek_input ()"
msgid "NONE"
msgstr "GEEN"
-#: src/input.c:1190 src/input.c:1217
+#: src/input.c:1193 src/input.c:1220
msgid "ERROR: EOF in string"
msgstr "FOUT: Einde van bestand teken in string"
@@ -379,12 +379,21 @@ msgstr ""
"\n"
"Als geen BESTAND of als BESTAND `-' is, standaard invoer wordt gelezen.\n"
-#: src/m4.c:366
+#: src/m4.c:204
+#, fuzzy
+msgid ""
+"\n"
+"Report bugs to <bug-m4@gnu.org>.\n"
+msgstr ""
+"\n"
+"Meld fouten via <m4-bugs@gnu.org>.\n"
+
+#: src/m4.c:368
#, c-format
msgid "Bad debug flags: `%s'"
msgstr "Onjuiste debug vlaggen: `%s'"
-#: src/m4.c:445
+#: src/m4.c:447
msgid "INTERNAL ERROR: Bad code in deferred arguments"
msgstr "INTERNE FOUT: Onjuiste code in afgeleide argumenten"
@@ -410,9 +419,9 @@ msgid "ERROR: Recursion limit of %d exceeded, use -L<N> to change it"
msgstr ""
"FOUT: Recursie limiet of %d overschreden, gebruik -L<N> om dit te wijzigen"
-#: src/module.c:148
+#: src/module.c:206
#, c-format
-msgid "Error: cannot find module `%s'"
+msgid "ERROR: cannot find module `%s'"
msgstr ""
#: src/output.c:198
@@ -471,10 +480,3 @@ msgstr "INTERNE FOUT: Ongeldige mode voor symbol_lookup ()"
#, c-format
msgid "Name `%s' is unknown\n"
msgstr "Naam `%s' is niet bekend\n"
-
-#~ msgid ""
-#~ "\n"
-#~ "Report bugs to <m4-bugs@gnu.org>.\n"
-#~ msgstr ""
-#~ "\n"
-#~ "Meld fouten via <m4-bugs@gnu.org>.\n"
diff --git a/po/pl.gmo b/po/pl.gmo
index 6b7d20d6..fea548da 100644
--- a/po/pl.gmo
+++ b/po/pl.gmo
Binary files differ
diff --git a/po/pl.po b/po/pl.po
index 54548082..a667050c 100644
--- a/po/pl.po
+++ b/po/pl.po
@@ -5,7 +5,7 @@
msgid ""
msgstr ""
"Project-Id-Version: m4 1.4.3\n"
-"POT-Creation-Date: 1998-11-15 15:55+0100\n"
+"POT-Creation-Date: 1998-11-18 12:55+0100\n"
"PO-Revision-Date: 1998-08-05 17:30+0200\n"
"Last-Translator: Rafa³ Maszkowski <rzm@icm.edu.pl>\n"
"Language-Team: Polish <pl@li.org>\n"
@@ -102,7 +102,7 @@ msgstr "Nie mogê ustawiæ pliku b³êdów: %s"
msgid "WARNING: \\0 will disappear, use \\& instead in replacements"
msgstr "UWAGA: \\0 zniknie, w podstawieniach u¿yj zamiast tego \\&"
-#: src/builtin.c:1732 src/builtin.c:1792 src/input.c:1010
+#: src/builtin.c:1732 src/builtin.c:1792 src/input.c:1009
#, c-format
msgid "Bad regular expression `%s': %s"
msgstr "B³êdne wyra¿enie regularne `%s': %s"
@@ -228,7 +228,7 @@ msgstr "B£¡D WEWNÊTRZNY: B³±d stosu wej¶ciowego w peek_input ()"
msgid "NONE"
msgstr "¯ADEN"
-#: src/input.c:1190 src/input.c:1217
+#: src/input.c:1193 src/input.c:1220
msgid "ERROR: EOF in string"
msgstr "B£¡D: EOF w ³añcuchu"
@@ -373,12 +373,18 @@ msgstr ""
"\n"
"Je¿eli brak PLIKu lub PLIK to `-', czytane jest std. wej¶cie.\n"
-#: src/m4.c:366
+#: src/m4.c:204
+msgid ""
+"\n"
+"Report bugs to <bug-m4@gnu.org>.\n"
+msgstr ""
+
+#: src/m4.c:368
#, c-format
msgid "Bad debug flags: `%s'"
msgstr "B³êdne flagi debugowania: `%s'"
-#: src/m4.c:445
+#: src/m4.c:447
msgid "INTERNAL ERROR: Bad code in deferred arguments"
msgstr "B£¡D WEWNÊTRZNY: B³êdny kod w od³o¿onych argumentach"
@@ -403,9 +409,9 @@ msgstr "B£¡D WEWNÊTRZNY: B³êdny symbol w call_macro ()"
msgid "ERROR: Recursion limit of %d exceeded, use -L<N> to change it"
msgstr "B£¡D: Osi±gniêty limit rekursji %d, u¿yj -L<N> ¿eby go zmieniæ"
-#: src/module.c:148
+#: src/module.c:206
#, c-format
-msgid "Error: cannot find module `%s'"
+msgid "ERROR: cannot find module `%s'"
msgstr ""
#: src/output.c:198
diff --git a/po/ru.gmo b/po/ru.gmo
index 079eb79c..2e7f4395 100644
--- a/po/ru.gmo
+++ b/po/ru.gmo
Binary files differ
diff --git a/po/ru.po b/po/ru.po
index 583b3d96..bf9ea582 100644
--- a/po/ru.po
+++ b/po/ru.po
@@ -4,7 +4,7 @@
msgid ""
msgstr ""
"Project-Id-Version: m4 1.4.3\n"
-"POT-Creation-Date: 1998-11-15 15:55+0100\n"
+"POT-Creation-Date: 1998-11-18 12:55+0100\n"
"PO-Revision-Date: 1997-07-12 20:58\n"
"Last-Translator: Denis Y. Pershin <dyp@siblug.org>\n"
"Language-Team: Russian <ru@li.org>\n"
@@ -103,7 +103,7 @@ msgstr "îÅ×ÏÚÍÏÖÎÏ ÎÁÚÎÁÞÉÔØ ÆÁÊÌ ÏÛÉÂÏË %s"
msgid "WARNING: \\0 will disappear, use \\& instead in replacements"
msgstr "ðòåäõðòåöäåîéå: \\0 ÉÓÞÅÚÎÅÔ, ÉÓÐÏÌØÚÕÊÔÅ \\& × ÚÁÍÅÎÁÈ"
-#: src/builtin.c:1732 src/builtin.c:1792 src/input.c:1010
+#: src/builtin.c:1732 src/builtin.c:1792 src/input.c:1009
#, c-format
msgid "Bad regular expression `%s': %s"
msgstr "îÅ×ÅÒÎÏÅ ÒÅÇÕÌÑÒÎÏÅ ×ÙÒÁÖÅÎÉÅ: '%s': %s"
@@ -227,7 +227,7 @@ msgstr "÷îõôòåîîññ ïûéâëá: ïÛÉÂËÁ ×ÈÏÄÎÏÇÏ ÓÔÅËÁ × peek_input ()"
msgid "NONE"
msgstr "îéþåçï"
-#: src/input.c:1190 src/input.c:1217
+#: src/input.c:1193 src/input.c:1220
msgid "ERROR: EOF in string"
msgstr "ïûéâëá: ëÏÎÅà ÆÁÊÌÁ × ÓÔÒÏËÅ"
@@ -380,12 +380,18 @@ msgstr ""
"\n"
"åÓÌÉ FILE ÎÅ ÓÕÝÅÓÔ×ÕÅÔ ÉÌÉ FILE ÜÔÏ `-', ÉÓÐÏÌØÚÕÅÔÓÑ ÓÔÁÎÄÁÒÔÎÙÊ ×ÈÏÄ.\n"
-#: src/m4.c:366
+#: src/m4.c:204
+msgid ""
+"\n"
+"Report bugs to <bug-m4@gnu.org>.\n"
+msgstr ""
+
+#: src/m4.c:368
#, c-format
msgid "Bad debug flags: `%s'"
msgstr "îÅ×ÅÒÎÙÊ ÆÌÁÇ ÏÔÌÁÄËÉ: '%s'"
-#: src/m4.c:445
+#: src/m4.c:447
msgid "INTERNAL ERROR: Bad code in deferred arguments"
msgstr "÷îõôòåîîññ ïûéâëá: îÅ×ÅÒÎÙÊ ËÏÄ × ËÏÓ×ÅÎÎÙÈ ÁÒÇÕÍÅÎÔÁÈ"
@@ -411,9 +417,9 @@ msgid "ERROR: Recursion limit of %d exceeded, use -L<N> to change it"
msgstr ""
"ïûéâëá: ìÉÍÉÔ ÒÅËÕÒÓÉÉ %d ÉÓÞÅÒÐÁÎ, ÉÓÐÏÌØÚÕÊÔÅ -L<N> ÞÔÏÂÙ ÉÚÍÅÎÉÔØ ÅÇÏ"
-#: src/module.c:148
+#: src/module.c:206
#, c-format
-msgid "Error: cannot find module `%s'"
+msgid "ERROR: cannot find module `%s'"
msgstr ""
#: src/output.c:198
diff --git a/po/sv.gmo b/po/sv.gmo
index c4dc00eb..1c1bf8e5 100644
--- a/po/sv.gmo
+++ b/po/sv.gmo
Binary files differ
diff --git a/po/sv.po b/po/sv.po
index 80af3b91..76e701ad 100644
--- a/po/sv.po
+++ b/po/sv.po
@@ -1,13 +1,13 @@
# Swedish messages for m4
# Copyright (C) 1996 Free Software Foundation, Inc.
# <Jan.Djarv@mbox200.swipnet.se>, 1996.
-# $Revision: 1.1.1.7 $
+# $Revision$
#
msgid ""
msgstr ""
"Project-Id-Version: m4 1.4.3\n"
-"POT-Creation-Date: 1998-11-15 15:55+0100\n"
-"PO-Revision-Date: $Date: 2000/02/17 03:09:57 $\n"
+"POT-Creation-Date: 1998-11-18 12:55+0100\n"
+"PO-Revision-Date: $Date$\n"
"Last-Translator: Jan Djärv <Jan.Djarv@mbox200.swipnet.se>\n"
"Language-Team: Swedish <sv@li.org>\n"
"MIME-Version: 1.0\n"
@@ -109,7 +109,7 @@ msgstr "Kan inte sätta felutskriftsfil: %s"
msgid "WARNING: \\0 will disappear, use \\& instead in replacements"
msgstr "VARNING: \\0 kommer att försvinna, använd \\& i ersättningar"
-#: src/builtin.c:1732 src/builtin.c:1792 src/input.c:1010
+#: src/builtin.c:1732 src/builtin.c:1792 src/input.c:1009
#, fuzzy, c-format
msgid "Bad regular expression `%s': %s"
msgstr "Otillåtet reguljäruttryck \"%s\": %s"
@@ -249,7 +249,7 @@ msgstr "INTERNT FEL: Instacken havererade i peek_input ()"
msgid "NONE"
msgstr "INGET"
-#: src/input.c:1190 src/input.c:1217
+#: src/input.c:1193 src/input.c:1220
#, fuzzy
msgid "ERROR: EOF in string"
msgstr "FEL: Filslut i sträng"
@@ -404,12 +404,18 @@ msgstr ""
"\n"
"Om ingen FIL anges eller om FIL är `-', så läses standard in.\n"
-#: src/m4.c:366
+#: src/m4.c:204
+msgid ""
+"\n"
+"Report bugs to <bug-m4@gnu.org>.\n"
+msgstr ""
+
+#: src/m4.c:368
#, fuzzy, c-format
msgid "Bad debug flags: `%s'"
msgstr "Okänd felsökningsflagga \"%s\""
-#: src/m4.c:445
+#: src/m4.c:447
#, fuzzy
msgid "INTERNAL ERROR: Bad code in deferred arguments"
msgstr "INTERNT FEL: Otillåten kod i argument"
@@ -439,9 +445,9 @@ msgstr "INTERNT FEL: Otillåten symboltyp i call_macro ()"
msgid "ERROR: Recursion limit of %d exceeded, use -L<N> to change it"
msgstr "FEL: Rekursionsgräns %d överskriden, använd -L<N> för att ändra"
-#: src/module.c:148
+#: src/module.c:206
#, c-format
-msgid "Error: cannot find module `%s'"
+msgid "ERROR: cannot find module `%s'"
msgstr ""
#: src/output.c:198
diff --git a/src/Makefile.in b/src/Makefile.in
index 8062d856..657bb757 100644
--- a/src/Makefile.in
+++ b/src/Makefile.in
@@ -64,10 +64,8 @@ CATALOGS = @CATALOGS@
CATOBJEXT = @CATOBJEXT@
CC = @CC@
CPP = @CPP@
-DASH_SHARED = @DASH_SHARED@
DATADIRNAME = @DATADIRNAME@
DLLDFLAGS = @DLLDFLAGS@
-GCC_FPIC = @GCC_FPIC@
GENCAT = @GENCAT@
GMOFILES = @GMOFILES@
GMSGFMT = @GMSGFMT@
@@ -78,19 +76,19 @@ INSTOBJEXT = @INSTOBJEXT@
INTLDEPS = @INTLDEPS@
INTLLIBS = @INTLLIBS@
INTLOBJS = @INTLOBJS@
+LD = @LD@
+LIBTOOL = @LIBTOOL@
+LN_S = @LN_S@
MAKEINFO = @MAKEINFO@
MKINSTALLDIRS = @MKINSTALLDIRS@
MODULES_DIR = @MODULES_DIR@
-MODULE_O = @MODULE_O@
MSGFMT = @MSGFMT@
-OS_NAME = @OS_NAME@
+NM = @NM@
PACKAGE = @PACKAGE@
PERL = @PERL@
POFILES = @POFILES@
POSUB = @POSUB@
RANLIB = @RANLIB@
-SHARED_EXT = @SHARED_EXT@
-SHARED_LD = @SHARED_LD@
STACKOVF = @STACKOVF@
U = @U@
USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@
@@ -134,7 +132,8 @@ freeze$U.o input$U.o macro$U.o output$U.o path$U.o symtab$U.o \
stackovf$U.o module$U.o
m4_DEPENDENCIES = ../lib/libm4.a
COMPILE = $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LINK = $(CC) $(AM_CFLAGS) $(CFLAGS) $(LDFLAGS) -o $@
+LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LINK = $(LIBTOOL) --mode=link $(CC) $(AM_CFLAGS) $(CFLAGS) $(LDFLAGS) -o $@
DIST_COMMON = Makefile.am Makefile.in ansi2knr.1 ansi2knr.c
@@ -148,7 +147,7 @@ OBJECTS = $(m4_OBJECTS)
all: Makefile $(ANSI2KNR) $(PROGRAMS)
.SUFFIXES:
-.SUFFIXES: .S .c .o .s
+.SUFFIXES: .S .c .lo .o .s
$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
cd $(top_srcdir) && $(AUTOMAKE) --gnu --include-deps src/Makefile
@@ -171,8 +170,8 @@ install-binPROGRAMS: $(bin_PROGRAMS)
$(mkinstalldirs) $(DESTDIR)$(bindir)
@list='$(bin_PROGRAMS)'; for p in $$list; do \
if test -f $$p; then \
- echo " $(INSTALL_PROGRAM) $$p $(DESTDIR)$(bindir)/`echo $$p|sed 's/$(EXEEXT)$$//'|sed '$(transform)'|sed 's/$$/$(EXEEXT)/'`"; \
- $(INSTALL_PROGRAM) $$p $(DESTDIR)$(bindir)/`echo $$p|sed 's/$(EXEEXT)$$//'|sed '$(transform)'|sed 's/$$/$(EXEEXT)/'`; \
+ echo " $(LIBTOOL) --mode=install $(INSTALL_PROGRAM) $$p $(DESTDIR)$(bindir)/`echo $$p|sed 's/$(EXEEXT)$$//'|sed '$(transform)'|sed 's/$$/$(EXEEXT)/'`"; \
+ $(LIBTOOL) --mode=install $(INSTALL_PROGRAM) $$p $(DESTDIR)$(bindir)/`echo $$p|sed 's/$(EXEEXT)$$//'|sed '$(transform)'|sed 's/$$/$(EXEEXT)/'`; \
else :; fi; \
done
@@ -201,6 +200,25 @@ distclean-compile:
maintainer-clean-compile:
+.c.lo:
+ $(LIBTOOL) --mode=compile $(COMPILE) -c $<
+
+.s.lo:
+ $(LIBTOOL) --mode=compile $(COMPILE) -c $<
+
+.S.lo:
+ $(LIBTOOL) --mode=compile $(COMPILE) -c $<
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+
+distclean-libtool:
+
+maintainer-clean-libtool:
+
mostlyclean-krextra:
clean-krextra:
@@ -254,8 +272,11 @@ stackovf_.c: stackovf.c $(ANSI2KNR)
$(CPP) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/stackovf.c; then echo $(srcdir)/stackovf.c; else echo stackovf.c; fi` | $(ANSI2KNR) > stackovf_.c
symtab_.c: symtab.c $(ANSI2KNR)
$(CPP) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/symtab.c; then echo $(srcdir)/symtab.c; else echo symtab.c; fi` | $(ANSI2KNR) > symtab_.c
-builtin_.o debug_.o eval_.o format_.o freeze_.o input_.o m4_.o macro_.o \
-module_.o numb_.o output_.o path_.o stackovf_.o symtab_.o : $(ANSI2KNR)
+builtin_.o builtin_.lo debug_.o debug_.lo eval_.o eval_.lo format_.o \
+format_.lo freeze_.o freeze_.lo input_.o input_.lo m4_.o m4_.lo \
+macro_.o macro_.lo module_.o module_.lo numb_.o numb_.lo output_.o \
+output_.lo path_.o path_.lo stackovf_.o stackovf_.lo symtab_.o \
+symtab_.lo : $(ANSI2KNR)
tags: TAGS
@@ -299,13 +320,13 @@ debug.o: debug.c m4.h ../config.h ../lib/obstack.h
eval.o: eval.c m4.h ../config.h ../lib/obstack.h numb.h
format.o: format.c m4.h ../config.h ../lib/obstack.h
freeze.o: freeze.c m4.h ../config.h ../lib/obstack.h
-input.o: input.c m4.h ../config.h ../lib/obstack.h
+input.o: input.c m4.h ../config.h ../lib/obstack.h ../lib/regex.h
m4.o: m4.c m4.h ../config.h ../lib/obstack.h ../lib/getopt.h
macro.o: macro.c m4.h ../config.h ../lib/obstack.h
module.o: module.c m4.h ../config.h ../lib/obstack.h
numb.o: numb.c m4.h ../config.h ../lib/obstack.h numb.h
output.o: output.c m4.h ../config.h ../lib/obstack.h
-path.o: path.c m4.h ../config.h ../lib/obstack.h pathconf.h
+path.o: path.c m4.h ../config.h ../lib/obstack.h
stackovf.o: stackovf.c m4.h ../config.h ../lib/obstack.h
symtab.o: symtab.c m4.h ../config.h ../lib/obstack.h
@@ -340,32 +361,35 @@ distclean-generic:
maintainer-clean-generic:
mostlyclean: mostlyclean-binPROGRAMS mostlyclean-compile \
- mostlyclean-krextra mostlyclean-kr mostlyclean-tags \
- mostlyclean-generic
+ mostlyclean-libtool mostlyclean-krextra mostlyclean-kr \
+ mostlyclean-tags mostlyclean-generic
-clean: clean-binPROGRAMS clean-compile clean-krextra clean-kr \
- clean-tags clean-generic mostlyclean
+clean: clean-binPROGRAMS clean-compile clean-libtool clean-krextra \
+ clean-kr clean-tags clean-generic mostlyclean
-distclean: distclean-binPROGRAMS distclean-compile distclean-krextra \
- distclean-kr distclean-tags distclean-generic clean
+distclean: distclean-binPROGRAMS distclean-compile distclean-libtool \
+ distclean-krextra distclean-kr distclean-tags \
+ distclean-generic clean
-rm -f config.status
+ -rm -f libtool
maintainer-clean: maintainer-clean-binPROGRAMS maintainer-clean-compile \
- maintainer-clean-krextra maintainer-clean-kr \
- maintainer-clean-tags maintainer-clean-generic \
- distclean
+ maintainer-clean-libtool maintainer-clean-krextra \
+ maintainer-clean-kr maintainer-clean-tags \
+ maintainer-clean-generic distclean
@echo "This command is intended for maintainers to use;"
@echo "it deletes files that may require special tools to rebuild."
.PHONY: mostlyclean-binPROGRAMS distclean-binPROGRAMS clean-binPROGRAMS \
maintainer-clean-binPROGRAMS uninstall-binPROGRAMS install-binPROGRAMS \
mostlyclean-compile distclean-compile clean-compile \
-maintainer-clean-compile mostlyclean-krextra distclean-krextra \
-clean-krextra maintainer-clean-krextra mostlyclean-kr distclean-kr \
-clean-kr maintainer-clean-kr tags mostlyclean-tags distclean-tags \
-clean-tags maintainer-clean-tags distdir info dvi installcheck \
-install-exec install-data install uninstall all installdirs \
-mostlyclean-generic distclean-generic clean-generic \
+maintainer-clean-compile mostlyclean-libtool distclean-libtool \
+clean-libtool maintainer-clean-libtool mostlyclean-krextra \
+distclean-krextra clean-krextra maintainer-clean-krextra mostlyclean-kr \
+distclean-kr clean-kr maintainer-clean-kr tags mostlyclean-tags \
+distclean-tags clean-tags maintainer-clean-tags distdir info dvi \
+installcheck install-exec install-data install uninstall all \
+installdirs mostlyclean-generic distclean-generic clean-generic \
maintainer-clean-generic clean mostlyclean distclean maintainer-clean
diff --git a/src/input.c b/src/input.c
index fbc72f4d..fdf385f2 100644
--- a/src/input.c
+++ b/src/input.c
@@ -993,6 +993,7 @@ set_word_regexp (const char *regexp)
int i;
char test[2];
const char *msg;
+ static struct re_pattern_buffer new_regexp;
if (!strcmp (regexp, DEFAULT_WORD_REGEXP))
{
@@ -1000,9 +1001,7 @@ set_word_regexp (const char *regexp)
return;
}
- default_word_regexp = FALSE;
-
- msg = re_compile_pattern (regexp, strlen (regexp), &word_regexp);
+ msg = re_compile_pattern (regexp, strlen (regexp), &new_regexp);
if (msg != NULL)
{
@@ -1011,6 +1010,10 @@ set_word_regexp (const char *regexp)
return;
}
+ default_word_regexp = FALSE;
+
+ word_regexp = new_regexp;
+
if (word_start == NULL)
word_start = xmalloc (256);
diff --git a/src/m4.c b/src/m4.c
index f90584ec..43f896c9 100644
--- a/src/m4.c
+++ b/src/m4.c
@@ -200,6 +200,8 @@ FLAGS is any of:\n\
\n\
If no FILE or if FILE is `-', standard input is read.\n"),
stdout);
+
+ fputs (_("\nReport bugs to <bug-m4@gnu.org>.\n"), stdout);
}
exit (status);
}
diff --git a/src/m4.h b/src/m4.h
index 8d4a53cd..ecfc5593 100644
--- a/src/m4.h
+++ b/src/m4.h
@@ -546,7 +546,7 @@ void reload_frozen_state __P ((const char *));
typedef void module_init_t (struct obstack *obs);
typedef void module_finish_t (void);
-#if defined(HAVE_DLOPEN) || defined(USE_SHL_LOAD)
+#if defined(HAVE_DLOPEN) || defined(HAVE_SHL_LOAD)
#define WITH_MODULES
#endif
diff --git a/src/module.c b/src/module.c
index 356727a1..b9985994 100644
--- a/src/module.c
+++ b/src/module.c
@@ -68,11 +68,77 @@
* safe to load the same module several times, it has no effect.
**/
-#if defined (USE_SHL_LOAD)
-# include <dl.h>
-#else
-# include <dlfcn.h>
-#endif
+#if defined (HAVE_SHL_LOAD)
+
+#include <dl.h>
+
+voidstar
+dynamic_load (const char *modname)
+{
+ return shl_load (modname, BIND_IMMEDIATE, 0L);
+}
+
+void
+dynamic_unload (voidstar handle)
+{
+ shl_unload ((shl_t)handle);
+}
+
+voidstar
+dynamic_find_data (voidstar handle, const char *symbol)
+{
+ voidstar addr;
+
+ /* XXX TYPE_PROCEDURE is probably wrong here, as it is a data pointer */
+ shl_findsym ((shl_t)handle, symbol, TYPE_PROCEDURE, (voidstar)&addr);
+ return addr;
+}
+
+voidstar
+dynamic_find_func (voidstar handle, const char *symbol)
+{
+ voidstar addr;
+
+ shl_findsym ((shl_t)handle, symbol, TYPE_PROCEDURE, (voidstar)&addr);
+ return addr;
+}
+
+#else /* HAVE_DLOPEN */
+
+#include <dlfcn.h>
+
+voidstar
+dynamic_load (const char *modname)
+{
+ return dlopen (modname, RTLD_NOW);
+}
+
+void
+dynamic_unload(voidstar handle)
+{
+ dlclose (handle);
+}
+
+voidstar
+dynamic_find_data (voidstar handle, const char *symbol)
+{
+ return dlsym (handle, symbol);
+}
+
+voidstar
+dynamic_find_func (voidstar handle, const char *symbol)
+{
+ return dlsym (handle, symbol);
+}
+
+#endif /* HAVE_DLOPEN */
+
+
+
+
+/*
+ * The rest of the code should be common for all interfaces.
+ */
/* This list is used to check for repeated loading of the same modules. */
@@ -106,22 +172,14 @@ module_init (void)
voidstar
module_try_load (const char *modname)
{
-#if defined (USE_SHL_LOAD)
- return shl_load (modname, BIND_IMMEDIATE, 0L);
-#else
- return dlopen (modname, RTLD_NOW);
-#endif
+ return dynamic_load (modname);
}
void
module_unload(voidstar handle)
{
-#if defined (USE_SHL_LOAD)
- shl_unload (handle);
-#else
- dlclose (handle);
-#endif
+ dynamic_unload (handle);
}
/*
@@ -145,7 +203,7 @@ module_load (const char *modname, struct obstack *obs)
if (handle == NULL)
{
M4ERROR ((EXIT_FAILURE, 0,
- _("Error: cannot find module `%s'"), modname));
+ _("ERROR: cannot find module `%s'"), modname));
}
for (list = modules; list != NULL; list = list->next)
@@ -158,13 +216,7 @@ module_load (const char *modname, struct obstack *obs)
return NULL;
}
-
-#if defined (USE_SHL_LOAD)
- /* XXX TYPE_PROCEDURE is probably wrong here, as it is a data pointer */
- shl_findsym (&handle, "m4_macro_table", TYPE_PROCEDURE, (voidstar)&btab);
-#else
- btab = (builtin *) dlsym (handle, "m4_macro_table");
-#endif
+ btab = (builtin *) dynamic_find_data (handle, "m4_macro_table");
if (btab == NULL) {
#ifdef DEBUG_MODULES
@@ -185,12 +237,8 @@ module_load (const char *modname, struct obstack *obs)
#endif /* DEBUG_MODULES */
-#if defined (USE_SHL_LOAD)
- shl_findsym (&handle, "m4_init_module", TYPE_PROCEDURE,
- (voidstar)&init_func);
-#else
- init_func = (module_init_t *) dlsym (handle, "m4_init_module");
-#endif
+ init_func = (module_init_t *)
+ dynamic_find_func (handle, "m4_init_module");
if (init_func != NULL)
{
@@ -212,8 +260,9 @@ module_unload_all(void)
while (modules != NULL)
{
- finish_func = (module_finish_t *) dlsym (modules->handle,
- "m4_finish_module");
+ finish_func = (module_finish_t *)
+ dynamic_find_func (modules->handle, "m4_finish_module");
+
if (finish_func != NULL)
{
(*finish_func)();
@@ -223,7 +272,7 @@ module_unload_all(void)
#endif /* DEBUG_MODULES */
}
- module_unload(modules->handle);
+ module_unload (modules->handle);
#ifdef DEBUG_MODULES
DEBUG_MESSAGE1("module %s unloaded", modules->modname);
diff --git a/tests/Makefile.in b/tests/Makefile.in
index 8bf81208..0e868c6f 100644
--- a/tests/Makefile.in
+++ b/tests/Makefile.in
@@ -68,10 +68,8 @@ CATALOGS = @CATALOGS@
CATOBJEXT = @CATOBJEXT@
CC = @CC@
CPP = @CPP@
-DASH_SHARED = @DASH_SHARED@
DATADIRNAME = @DATADIRNAME@
DLLDFLAGS = @DLLDFLAGS@
-GCC_FPIC = @GCC_FPIC@
GENCAT = @GENCAT@
GMOFILES = @GMOFILES@
GMSGFMT = @GMSGFMT@
@@ -82,20 +80,20 @@ INSTOBJEXT = @INSTOBJEXT@
INTLDEPS = @INTLDEPS@
INTLLIBS = @INTLLIBS@
INTLOBJS = @INTLOBJS@
+LD = @LD@
+LIBTOOL = @LIBTOOL@
+LN_S = @LN_S@
MAKEINFO = @MAKEINFO@
MKINSTALLDIRS = @MKINSTALLDIRS@
MODULES_DIR = @MODULES_DIR@
-MODULE_O = @MODULE_O@
MODULE_PATH = @MODULE_PATH@
MSGFMT = @MSGFMT@
-OS_NAME = @OS_NAME@
+NM = @NM@
PACKAGE = @PACKAGE@
PERL = @PERL@
POFILES = @POFILES@
POSUB = @POSUB@
RANLIB = @RANLIB@
-SHARED_EXT = @SHARED_EXT@
-SHARED_LD = @SHARED_LD@
STACKOVF = @STACKOVF@
U = @U@
USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@
@@ -285,6 +283,7 @@ clean: clean-generic mostlyclean
distclean: distclean-generic clean
-rm -f config.status
+ -rm -f libtool
maintainer-clean: maintainer-clean-generic distclean
@echo "This command is intended for maintainers to use;"
diff --git a/tests/generated-tests/cleardiv.1.test b/tests/generated-tests/cleardiv.1.test
index df66a07b..f4df3723 100755
--- a/tests/generated-tests/cleardiv.1.test
+++ b/tests/generated-tests/cleardiv.1.test
@@ -1,7 +1,7 @@
#!/bin/sh
# generated-tests/cleardiv.1.test is part of the GNU m4 testsuite
-# generated from example in ../doc/m4.texinfo line 2786
+# generated from example in ../doc/m4.texinfo line 2792
. ${srcdir}/defs
diff --git a/tests/generated-tests/cleardiv.2.test b/tests/generated-tests/cleardiv.2.test
index b52be5c6..f7f90826 100755
--- a/tests/generated-tests/cleardiv.2.test
+++ b/tests/generated-tests/cleardiv.2.test
@@ -1,7 +1,7 @@
#!/bin/sh
# generated-tests/cleardiv.2.test is part of the GNU m4 testsuite
-# generated from example in ../doc/m4.texinfo line 2801
+# generated from example in ../doc/m4.texinfo line 2807
. ${srcdir}/defs
diff --git a/tests/generated-tests/divert.1.test b/tests/generated-tests/divert.1.test
index fb826ba4..340cf611 100755
--- a/tests/generated-tests/divert.1.test
+++ b/tests/generated-tests/divert.1.test
@@ -1,7 +1,7 @@
#!/bin/sh
# generated-tests/divert.1.test is part of the GNU m4 testsuite
-# generated from example in ../doc/m4.texinfo line 2628
+# generated from example in ../doc/m4.texinfo line 2634
. ${srcdir}/defs
diff --git a/tests/generated-tests/divert.2.test b/tests/generated-tests/divert.2.test
index c4c3db67..e38c0f32 100755
--- a/tests/generated-tests/divert.2.test
+++ b/tests/generated-tests/divert.2.test
@@ -1,7 +1,7 @@
#!/bin/sh
# generated-tests/divert.2.test is part of the GNU m4 testsuite
-# generated from example in ../doc/m4.texinfo line 2648
+# generated from example in ../doc/m4.texinfo line 2654
. ${srcdir}/defs
diff --git a/tests/generated-tests/divnum.1.test b/tests/generated-tests/divnum.1.test
index d5abd49b..80e99a39 100755
--- a/tests/generated-tests/divnum.1.test
+++ b/tests/generated-tests/divnum.1.test
@@ -1,7 +1,7 @@
#!/bin/sh
# generated-tests/divnum.1.test is part of the GNU m4 testsuite
-# generated from example in ../doc/m4.texinfo line 2755
+# generated from example in ../doc/m4.texinfo line 2761
. ${srcdir}/defs
diff --git a/tests/generated-tests/errprint.1.test b/tests/generated-tests/errprint.1.test
index 06aebc01..e063371e 100755
--- a/tests/generated-tests/errprint.1.test
+++ b/tests/generated-tests/errprint.1.test
@@ -1,7 +1,7 @@
#!/bin/sh
# generated-tests/errprint.1.test is part of the GNU m4 testsuite
-# generated from example in ../doc/m4.texinfo line 3474
+# generated from example in ../doc/m4.texinfo line 3480
. ${srcdir}/defs
diff --git a/tests/generated-tests/errprint.2.test b/tests/generated-tests/errprint.2.test
index 80c37d84..d5fd9fda 100755
--- a/tests/generated-tests/errprint.2.test
+++ b/tests/generated-tests/errprint.2.test
@@ -1,7 +1,7 @@
#!/bin/sh
# generated-tests/errprint.2.test is part of the GNU m4 testsuite
-# generated from example in ../doc/m4.texinfo line 3499
+# generated from example in ../doc/m4.texinfo line 3505
. ${srcdir}/defs
diff --git a/tests/generated-tests/esyscmd.1.test b/tests/generated-tests/esyscmd.1.test
index db142303..59258346 100755
--- a/tests/generated-tests/esyscmd.1.test
+++ b/tests/generated-tests/esyscmd.1.test
@@ -1,7 +1,7 @@
#!/bin/sh
# generated-tests/esyscmd.1.test is part of the GNU m4 testsuite
-# generated from example in ../doc/m4.texinfo line 3363
+# generated from example in ../doc/m4.texinfo line 3369
. ${srcdir}/defs
diff --git a/tests/generated-tests/eval.1.test b/tests/generated-tests/eval.1.test
index 309176b2..c6f35973 100755
--- a/tests/generated-tests/eval.1.test
+++ b/tests/generated-tests/eval.1.test
@@ -1,7 +1,7 @@
#!/bin/sh
# generated-tests/eval.1.test is part of the GNU m4 testsuite
-# generated from example in ../doc/m4.texinfo line 3247
+# generated from example in ../doc/m4.texinfo line 3253
. ${srcdir}/defs
diff --git a/tests/generated-tests/eval.2.test b/tests/generated-tests/eval.2.test
index 569e80a2..d49338b5 100755
--- a/tests/generated-tests/eval.2.test
+++ b/tests/generated-tests/eval.2.test
@@ -1,7 +1,7 @@
#!/bin/sh
# generated-tests/eval.2.test is part of the GNU m4 testsuite
-# generated from example in ../doc/m4.texinfo line 3278
+# generated from example in ../doc/m4.texinfo line 3284
. ${srcdir}/defs
diff --git a/tests/generated-tests/format.1.test b/tests/generated-tests/format.1.test
index 8c6a3d3c..c00c654e 100755
--- a/tests/generated-tests/format.1.test
+++ b/tests/generated-tests/format.1.test
@@ -1,7 +1,7 @@
#!/bin/sh
# generated-tests/format.1.test is part of the GNU m4 testsuite
-# generated from example in ../doc/m4.texinfo line 3083
+# generated from example in ../doc/m4.texinfo line 3089
. ${srcdir}/defs
diff --git a/tests/generated-tests/include.1.test b/tests/generated-tests/include.1.test
index 536bf87e..e9ac9043 100755
--- a/tests/generated-tests/include.1.test
+++ b/tests/generated-tests/include.1.test
@@ -1,7 +1,7 @@
#!/bin/sh
# generated-tests/include.1.test is part of the GNU m4 testsuite
-# generated from example in ../doc/m4.texinfo line 2502
+# generated from example in ../doc/m4.texinfo line 2508
. ${srcdir}/defs
diff --git a/tests/generated-tests/include.2.test b/tests/generated-tests/include.2.test
index 464ff063..e257d6b4 100755
--- a/tests/generated-tests/include.2.test
+++ b/tests/generated-tests/include.2.test
@@ -1,7 +1,7 @@
#!/bin/sh
# generated-tests/include.2.test is part of the GNU m4 testsuite
-# generated from example in ../doc/m4.texinfo line 2522
+# generated from example in ../doc/m4.texinfo line 2528
. ${srcdir}/defs
diff --git a/tests/generated-tests/include.3.test b/tests/generated-tests/include.3.test
index 3deb2d1f..0cec1363 100755
--- a/tests/generated-tests/include.3.test
+++ b/tests/generated-tests/include.3.test
@@ -1,7 +1,7 @@
#!/bin/sh
# generated-tests/include.3.test is part of the GNU m4 testsuite
-# generated from example in ../doc/m4.texinfo line 2537
+# generated from example in ../doc/m4.texinfo line 2543
. ${srcdir}/defs
diff --git a/tests/generated-tests/incr.1.test b/tests/generated-tests/incr.1.test
index 5a57f9fa..31480915 100755
--- a/tests/generated-tests/incr.1.test
+++ b/tests/generated-tests/incr.1.test
@@ -1,7 +1,7 @@
#!/bin/sh
# generated-tests/incr.1.test is part of the GNU m4 testsuite
-# generated from example in ../doc/m4.texinfo line 3153
+# generated from example in ../doc/m4.texinfo line 3159
. ${srcdir}/defs
diff --git a/tests/generated-tests/index.1.test b/tests/generated-tests/index.1.test
index ffc42ae4..7a643dfc 100755
--- a/tests/generated-tests/index.1.test
+++ b/tests/generated-tests/index.1.test
@@ -1,7 +1,7 @@
#!/bin/sh
# generated-tests/index.1.test is part of the GNU m4 testsuite
-# generated from example in ../doc/m4.texinfo line 2869
+# generated from example in ../doc/m4.texinfo line 2875
. ${srcdir}/defs
diff --git a/tests/generated-tests/len.1.test b/tests/generated-tests/len.1.test
index a5491fe4..f4999c0e 100755
--- a/tests/generated-tests/len.1.test
+++ b/tests/generated-tests/len.1.test
@@ -1,7 +1,7 @@
#!/bin/sh
# generated-tests/len.1.test is part of the GNU m4 testsuite
-# generated from example in ../doc/m4.texinfo line 2843
+# generated from example in ../doc/m4.texinfo line 2849
. ${srcdir}/defs
diff --git a/tests/generated-tests/m4exit.1.test b/tests/generated-tests/m4exit.1.test
index 55993847..2923f924 100755
--- a/tests/generated-tests/m4exit.1.test
+++ b/tests/generated-tests/m4exit.1.test
@@ -1,7 +1,7 @@
#!/bin/sh
# generated-tests/m4exit.1.test is part of the GNU m4 testsuite
-# generated from example in ../doc/m4.texinfo line 3522
+# generated from example in ../doc/m4.texinfo line 3528
. ${srcdir}/defs
diff --git a/tests/generated-tests/m4wrap.1.test b/tests/generated-tests/m4wrap.1.test
index d80441ff..874bad76 100755
--- a/tests/generated-tests/m4wrap.1.test
+++ b/tests/generated-tests/m4wrap.1.test
@@ -1,7 +1,7 @@
#!/bin/sh
# generated-tests/m4wrap.1.test is part of the GNU m4 testsuite
-# generated from example in ../doc/m4.texinfo line 2443
+# generated from example in ../doc/m4.texinfo line 2449
. ${srcdir}/defs
diff --git a/tests/generated-tests/patsubst.1.test b/tests/generated-tests/patsubst.1.test
index 1b830230..0591fc56 100755
--- a/tests/generated-tests/patsubst.1.test
+++ b/tests/generated-tests/patsubst.1.test
@@ -1,7 +1,7 @@
#!/bin/sh
# generated-tests/patsubst.1.test is part of the GNU m4 testsuite
-# generated from example in ../doc/m4.texinfo line 3031
+# generated from example in ../doc/m4.texinfo line 3037
. ${srcdir}/defs
diff --git a/tests/generated-tests/patsubst.2.test b/tests/generated-tests/patsubst.2.test
index bd56088f..78e6f054 100755
--- a/tests/generated-tests/patsubst.2.test
+++ b/tests/generated-tests/patsubst.2.test
@@ -1,7 +1,7 @@
#!/bin/sh
# generated-tests/patsubst.2.test is part of the GNU m4 testsuite
-# generated from example in ../doc/m4.texinfo line 3048
+# generated from example in ../doc/m4.texinfo line 3054
. ${srcdir}/defs
diff --git a/tests/generated-tests/regexp.1.test b/tests/generated-tests/regexp.1.test
index 287622a5..2ebb06c8 100755
--- a/tests/generated-tests/regexp.1.test
+++ b/tests/generated-tests/regexp.1.test
@@ -1,7 +1,7 @@
#!/bin/sh
# generated-tests/regexp.1.test is part of the GNU m4 testsuite
-# generated from example in ../doc/m4.texinfo line 2901
+# generated from example in ../doc/m4.texinfo line 2907
. ${srcdir}/defs
diff --git a/tests/generated-tests/regexp.2.test b/tests/generated-tests/regexp.2.test
index 6422e4df..81764d9d 100755
--- a/tests/generated-tests/regexp.2.test
+++ b/tests/generated-tests/regexp.2.test
@@ -1,7 +1,7 @@
#!/bin/sh
# generated-tests/regexp.2.test is part of the GNU m4 testsuite
-# generated from example in ../doc/m4.texinfo line 2913
+# generated from example in ../doc/m4.texinfo line 2919
. ${srcdir}/defs
diff --git a/tests/generated-tests/substr.1.test b/tests/generated-tests/substr.1.test
index 6c37a2c2..5291656f 100755
--- a/tests/generated-tests/substr.1.test
+++ b/tests/generated-tests/substr.1.test
@@ -1,7 +1,7 @@
#!/bin/sh
# generated-tests/substr.1.test is part of the GNU m4 testsuite
-# generated from example in ../doc/m4.texinfo line 2939
+# generated from example in ../doc/m4.texinfo line 2945
. ${srcdir}/defs
diff --git a/tests/generated-tests/sysval.1.test b/tests/generated-tests/sysval.1.test
index ec5c933c..07dac311 100755
--- a/tests/generated-tests/sysval.1.test
+++ b/tests/generated-tests/sysval.1.test
@@ -1,7 +1,7 @@
#!/bin/sh
# generated-tests/sysval.1.test is part of the GNU m4 testsuite
-# generated from example in ../doc/m4.texinfo line 3394
+# generated from example in ../doc/m4.texinfo line 3400
. ${srcdir}/defs
diff --git a/tests/generated-tests/translit.1.test b/tests/generated-tests/translit.1.test
index a1a658eb..226858a7 100755
--- a/tests/generated-tests/translit.1.test
+++ b/tests/generated-tests/translit.1.test
@@ -1,7 +1,7 @@
#!/bin/sh
# generated-tests/translit.1.test is part of the GNU m4 testsuite
-# generated from example in ../doc/m4.texinfo line 2980
+# generated from example in ../doc/m4.texinfo line 2986
. ${srcdir}/defs
diff --git a/tests/generated-tests/undivert.1.test b/tests/generated-tests/undivert.1.test
index 0b66b3ae..0fe894ae 100755
--- a/tests/generated-tests/undivert.1.test
+++ b/tests/generated-tests/undivert.1.test
@@ -1,7 +1,7 @@
#!/bin/sh
# generated-tests/undivert.1.test is part of the GNU m4 testsuite
-# generated from example in ../doc/m4.texinfo line 2679
+# generated from example in ../doc/m4.texinfo line 2685
. ${srcdir}/defs
diff --git a/tests/generated-tests/undivert.2.test b/tests/generated-tests/undivert.2.test
index 442cf02e..496632ed 100755
--- a/tests/generated-tests/undivert.2.test
+++ b/tests/generated-tests/undivert.2.test
@@ -1,7 +1,7 @@
#!/bin/sh
# generated-tests/undivert.2.test is part of the GNU m4 testsuite
-# generated from example in ../doc/m4.texinfo line 2703
+# generated from example in ../doc/m4.texinfo line 2709
. ${srcdir}/defs
diff --git a/tests/generated-tests/undivert.3.test b/tests/generated-tests/undivert.3.test
index 31164ec5..2002ed67 100755
--- a/tests/generated-tests/undivert.3.test
+++ b/tests/generated-tests/undivert.3.test
@@ -1,7 +1,7 @@
#!/bin/sh
# generated-tests/undivert.3.test is part of the GNU m4 testsuite
-# generated from example in ../doc/m4.texinfo line 2729
+# generated from example in ../doc/m4.texinfo line 2735
. ${srcdir}/defs