Zsh Mailing List Archive
Messages sorted by:
Reverse Date,
Date,
Thread,
Author
forward-port of 19495 (don't link pcre to anything but pcre module)
- X-seq: zsh-workers 20359
- From: Clint Adams <clint@xxxxxxx>
- To: zsh-workers@xxxxxxxxxx
- Subject: forward-port of 19495 (don't link pcre to anything but pcre module)
- Date: Sun, 12 Sep 2004 15:12:42 -0400
- Mailing-list: contact zsh-workers-help@xxxxxxxxxx; run by ezmlm
This is 19495 adapted to current CVS. I don't imagine that the NetBSD
make failure will be any different.
Index: aclocal.m4
===================================================================
RCS file: /cvsroot/zsh/zsh/aclocal.m4,v
retrieving revision 1.1.1.3
diff -u -r1.1.1.3 aclocal.m4
--- aclocal.m4 6 Aug 1999 18:01:38 -0000 1.1.1.3
+++ aclocal.m4 12 Sep 2004 18:49:34 -0000
@@ -1,59 +1,5 @@
-# Local additions to Autoconf macros.
-# Copyright (C) 1992, 1994 Free Software Foundation, Inc.
-# Francois Pinard <pinard@xxxxxxxxxxxxxxxx>, 1992.
-
-# @defmac fp_PROG_CC_STDC
-# @maindex PROG_CC_STDC
-# @ovindex CC
-# If the C compiler in not in ANSI C mode by default, try to add an option
-# to output variable @code{CC} to make it so. This macro tries various
-# options that select ANSI C on some system or another. It considers the
-# compiler to be in ANSI C mode if it defines @code{__STDC__} to 1 and
-# handles function prototypes correctly.
-#
-# If you use this macro, you should check after calling it whether the C
-# compiler has been set to accept ANSI C; if not, the shell variable
-# @code{fp_cv_prog_cc_stdc} is set to @samp{no}. If you wrote your source
-# code in ANSI C, you can make an un-ANSIfied copy of it by using the
-# program @code{ansi2knr}, which comes with Ghostscript.
-# @end defmac
-
-define(fp_PROG_CC_STDC,
-[AC_CACHE_CHECK(for ${CC-cc} option to accept ANSI C,
-fp_cv_prog_cc_stdc,
-[fp_cv_prog_cc_stdc=no
-ac_save_CFLAGS="$CFLAGS"
-# Don't try gcc -ansi; that turns off useful extensions and
-# breaks some systems' header files.
-# AIX -qlanglvl=ansi
-# Ultrix and OSF/1 -std1
-# HP-UX -Ae or -Aa -D_HPUX_SOURCE
-# SVR4 -Xc
-# For HP-UX, we try -Ae first; this turns on ANSI but also extensions,
-# as well as defining _HPUX_SOURCE, and we can then use long long.
-# We keep the old version for backward compatibility.
-for ac_arg in "" -qlanglvl=ansi -std1 -Ae "-Aa -D_HPUX_SOURCE" -Xc
-do
- CFLAGS="$ac_save_CFLAGS $ac_arg"
- AC_TRY_COMPILE(
-[#ifndef __STDC__
-choke me
-#endif
-], [int test (int i, double x);
-struct s1 {int (*f) (int a);};
-struct s2 {int (*f) (double a);};],
-[fp_cv_prog_cc_stdc="$ac_arg"; break])
-done
-CFLAGS="$ac_save_CFLAGS"
-])
-case "x$fp_cv_prog_cc_stdc" in
- x|xno) ;;
- *) CC="$CC $fp_cv_prog_cc_stdc" ;;
-esac
-])
-
-AC_DEFUN(AC_PROG_LN,
-[AC_MSG_CHECKING(whether ln works)
+AC_DEFUN([AC_PROG_LN],
+[AC_MSG_CHECKING([whether ln works])
AC_CACHE_VAL(ac_cv_prog_LN,
[rm -f conftestdata conftestlink
echo > conftestdata
@@ -74,4 +20,67 @@
AC_SUBST(LN)dnl
])
+# Check to see how 'make' treats includes. -*- Autoconf -*-
+
+# Copyright (C) 2001, 2002, 2003 Free Software Foundation, Inc.
+
+# 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, 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.
+
+# serial 2
+
+# AM_MAKE_INCLUDE()
+# -----------------
+# Check to see how make treats includes.
+AC_DEFUN([AM_MAKE_INCLUDE],
+[am_make=${MAKE-make}
+cat > confinc << 'END'
+am__doit:
+ @echo done
+.PHONY: am__doit
+END
+# If we don't find an include directive, just comment out the code.
+AC_MSG_CHECKING([for style of include used by $am_make])
+am__include="#"
+am__quote=
+_am_result=none
+# First try GNU make style include.
+echo "include confinc" > confmf
+# We grep out `Entering directory' and `Leaving directory'
+# messages which can occur if `w' ends up in MAKEFLAGS.
+# In particular we don't look at `^make:' because GNU make might
+# be invoked under some other name (usually "gmake"), in which
+# case it prints its new name instead of `make'.
+if test "`$am_make -s -f confmf 2> /dev/null | grep -v 'ing directory'`" = "done"; then
+ am__include=include
+ am__quote=
+ _am_result=GNU
+fi
+# Now try BSD make style include.
+if test "$am__include" = "#"; then
+ echo '.include "confinc"' > confmf
+ if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then
+ am__include=.include
+ am__quote="\""
+ _am_result=BSD
+ fi
+fi
+AC_SUBST([am__include])
+AC_SUBST([am__quote])
+AC_MSG_RESULT([$_am_result])
+rm -f confinc confmf
+])
+
builtin(include, aczsh.m4)
Index: configure.ac
===================================================================
RCS file: /cvsroot/zsh/zsh/configure.ac,v
retrieving revision 1.19
diff -u -r1.19 configure.ac
--- configure.ac 30 Jul 2004 11:09:17 -0000 1.19
+++ configure.ac 12 Sep 2004 18:49:34 -0000
@@ -310,11 +310,6 @@
[AC_DEFINE(MAX_FUNCTION_DEPTH, 4096)]
)
-dnl Do you want to look for pcre support?
-AC_ARG_ENABLE(pcre,
-AC_HELP_STRING([--enable-pcre],
-[enable the search for the pcre library (may create run-time library dependencies)]))
-
dnl Do you want to look for capability support?
AC_ARG_ENABLE(cap,
AC_HELP_STRING([--enable-cap],
@@ -419,7 +414,6 @@
darwin*) CPP="$CPP -traditional-cpp" ;;
esac
-fp_PROG_CC_STDC
AC_MSG_CHECKING([whether to use prototypes])
if test ."$ansi2knr" = .yes || test ."$ansi2knr" = .no; then
msg="(overridden) "
@@ -511,24 +505,12 @@
AC_HEADER_STAT
AC_HEADER_SYS_WAIT
-oldcflags="$CFLAGS"
-if test x$enable_pcre = xyes; then
-AC_CHECK_PROG([PCRECONF], pcre-config, pcre-config)
-dnl Typically (meaning on this single RedHat 9 box in front of me)
-dnl pcre-config --cflags produces a -I output which needs to go into
-dnl CPPFLAGS else configure's preprocessor tests don't pick it up,
-dnl producing a warning.
-if test "x$ac_cv_prog_PCRECONF" = xpcre-config; then
- CPPFLAGS="$CPPFLAGS `pcre-config --cflags`"
-fi
-fi
-
AC_CHECK_HEADERS(sys/time.h sys/times.h sys/select.h termcap.h termio.h \
termios.h sys/param.h sys/filio.h string.h memory.h \
limits.h fcntl.h libc.h sys/utsname.h sys/resource.h \
locale.h errno.h stdio.h stdlib.h unistd.h sys/capability.h \
utmp.h utmpx.h sys/types.h pwd.h grp.h poll.h sys/mman.h \
- netinet/in_systm.h pcre.h langinfo.h wchar.h stddef.h \
+ netinet/in_systm.h langinfo.h wchar.h stddef.h \
sys/stropts.h)
if test $dynamic = yes; then
AC_CHECK_HEADERS(dlfcn.h)
@@ -617,15 +599,15 @@
AC_ARG_WITH(curses-terminfo,
[ --with-curses-terminfo use terminfo support from curses library],
[if test x$withval = xyes; then
- termcap_curses_order="tinfo curses ncurses termcap"
+ termcap_curses_order="curses ncurses termcap"
AC_SEARCH_LIBS(tigetstr, [$termcap_curses_order])
else
- termcap_curses_order="tinfo termcap curses ncurses"
+ termcap_curses_order="termcap curses ncurses"
fi],
[case "$host_os" in
hpux10.*|hpux11.*|solaris*)
termcap_curses_order="Hcurses curses ncurses termcap" ;;
- *) termcap_curses_order="tinfo termcap curses ncurses" ;;
+ *) termcap_curses_order="termcap curses ncurses" ;;
esac])dnl
AH_TEMPLATE([HAVE_BOOLCODES],
@@ -729,11 +711,6 @@
AC_CHECK_LIB(iconv, iconv)
-if test x$enable_pcre = xyes; then
-dnl pcre-config should probably be employed here
-AC_SEARCH_LIBS(pcre_compile, pcre)
-fi
-
dnl ---------------------
dnl CHECK TERMCAP LIBRARY
dnl ---------------------
@@ -1051,7 +1028,6 @@
brk sbrk \
pathconf sysconf \
tgetent tigetflag tigetnum tigetstr setupterm \
- pcre_compile pcre_study pcre_exec \
nl_langinfo \
erand48 open_memstream \
wctomb iconv \
@@ -2428,10 +2404,14 @@
AC_SUBST_FILE(DEFS_MK)dnl
AC_SUBST_FILE(VERSION_MK)dnl
+AM_MAKE_INCLUDE
+
AC_CONFIG_FILES(Config/defs.mk Makefile Doc/Makefile Etc/Makefile \
-Src/Makefile Test/Makefile)
+Src/Makefile Test/Makefile Src/mkmakemod.sh.in)
AC_CONFIG_COMMANDS([config.modules], [. ./config.modules.sh])
AC_CONFIG_COMMANDS([stamp-h], [echo >stamp-h])
+AC_CONFIG_COMMANDS([Src/mkmakemod.sh],
+ [sed "s/_@_/@/g" Src/mkmakemod.sh.in >Src/mkmakemod.sh])
AC_OUTPUT
@@ -2472,4 +2452,3 @@
echo "See config.modules for installed modules and functions.
"
-
Index: Src/Makefile.in
===================================================================
RCS file: /cvsroot/zsh/zsh/Src/Makefile.in,v
retrieving revision 1.12
diff -u -r1.12 Makefile.in
--- Src/Makefile.in 20 Dec 2001 23:48:39 -0000 1.12
+++ Src/Makefile.in 12 Sep 2004 18:49:35 -0000
@@ -109,16 +109,16 @@
@CONFIG_MK@
-Makemod prep: $(CONFIG_INCS) $(dir_top)/config.modules
+Makemod prep: $(CONFIG_INCS) $(dir_top)/config.modules mkmakemod.sh
@case $(sdir_top) in \
/*) top_srcdir=$(sdir_top) ;; \
*) top_srcdir=$(subdir)/$(sdir_top) ;; \
esac; \
export top_srcdir; \
echo 'cd $(dir_top) && $(SHELL)' \
- '$$top_srcdir/$(subdir)/mkmakemod.sh $(subdir) Makemod'; \
+ '$(subdir)/mkmakemod.sh $(subdir) Makemod'; \
cd $(dir_top) && \
- $(SHELL) $$top_srcdir/$(subdir)/mkmakemod.sh $(subdir) Makemod
+ $(SHELL) $(subdir)/mkmakemod.sh $(subdir) Makemod
@$(MAKE) -f Makemod $(MAKEDEFS) prep || rm -f Makemod
.PHONY: prep
@@ -191,6 +191,7 @@
clean-here:
rm -f modules.stamp zsh$(EXEEXT)
rm -f libzsh-*.$(DL_EXT)
+ rm -f mkmakemod.sh.in mkmakemod.sh
.PHONY: clean-here
distclean-here:
Index: Src/Makemod.in.in
===================================================================
RCS file: /cvsroot/zsh/zsh/Src/Makemod.in.in,v
retrieving revision 1.5
diff -u -r1.5 Makemod.in.in
--- Src/Makemod.in.in 20 Dec 2001 23:48:39 -0000 1.5
+++ Src/Makemod.in.in 12 Sep 2004 18:49:35 -0000
@@ -111,7 +111,7 @@
for subdir in $$subdirs; do \
dir=$(subdir)/$$subdir; \
test -d $$dir || mkdir $$dir; \
- $(SHELL) $$top_srcdir/Src/mkmakemod.sh $$dir Makefile || exit 1; \
+ $(SHELL) Src/mkmakemod.sh $$dir Makefile || exit 1; \
( cd $$dir && $(MAKE) $(MAKEDEFS) $@ ) || exit 1; \
done
.PHONY: prep
@@ -149,7 +149,8 @@
.PHONY: mostlyclean-here
clean-here:
- rm -f *.o.c *.syms *.pro *.epro *.mdh *.mdhi *.mdhs *.mdh.tmp
+ rm -f *.o.c *.syms *.pro *.epro *.mdh *.mdhi *.mdhs *.mdh.tmp \
+ *.configure *.ach config.cache config.status config.log *.rules
.PHONY: clean-here
distclean-here:
@@ -173,11 +174,11 @@
esac; \
export top_srcdir; \
echo 'cd $(dir_top) && $(SHELL)' \
- '$$top_srcdir/Src/mkmakemod.sh -m $(subdir) $(makefile)'; \
+ 'Src/mkmakemod.sh -m $(subdir) $(makefile)'; \
cd $(dir_top) && \
- $(SHELL) $$top_srcdir/Src/mkmakemod.sh -m $(subdir) $(makefile)
+ $(SHELL) Src/mkmakemod.sh -m $(subdir) $(makefile)
-$(makefile).in: $(sdir_src)/mkmakemod.sh $(sdir_src)/Makemod.in.in $(MDDS) \
+$(makefile).in: $(dir_top)/Src/mkmakemod.sh $(sdir_src)/Makemod.in.in $(MDDS) \
$(dir_top)/config.modules
@case $(sdir_top) in \
/*) top_srcdir=$(sdir_top) ;; \
@@ -185,7 +186,6 @@
esac; \
export top_srcdir; \
echo 'cd $(dir_top) && $(SHELL)' \
- '$$top_srcdir/Src/mkmakemod.sh -i $(subdir) $(makefile)'; \
+ 'Src/mkmakemod.sh -i $(subdir) $(makefile)'; \
cd $(dir_top) && \
- $(SHELL) $$top_srcdir/Src/mkmakemod.sh -i $(subdir) $(makefile)
-
+ $(SHELL) Src/mkmakemod.sh -i $(subdir) $(makefile)
Index: Src/mkmakemod.sh
===================================================================
RCS file: Src/mkmakemod.sh
diff -N Src/mkmakemod.sh
--- Src/mkmakemod.sh 14 Feb 2004 18:50:17 -0000 1.13
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,476 +0,0 @@
-#!/bin/sh
-#
-# mkmakemod.sh: generate Makefile.in files for module building
-#
-# Options:
-# -m = file is already generated; only build the second stage
-# -i = do not build second stage
-#
-# Args:
-# $1 = subdirectory to look in, relative to $top_srcdir
-# $2 = final output filename, within the $1 directory
-#
-# This script must be run from the top-level build directory, and $top_srcdir
-# must be set correctly in the environment.
-#
-# This looks in $1, and uses all the *.mdd files there. Each .mdd file
-# defines one module. The .mdd file is actually a shell script, which will
-# be sourced. It may define the following shell variables:
-#
-# name name of this module
-# moddeps modules on which this module depends (default none)
-# nozshdep non-empty indicates no dependence on the `zsh/main' pseudo-module
-# alwayslink if non-empty, always link the module into the executable
-# autobins builtins defined by the module, for autoloading
-# autoinfixconds infix condition codes defined by the module, for
-# autoloading (without the leading `-')
-# autoprefixconds like autoinfixconds, but for prefix condition codes
-# autoparams parameters defined by the module, for autoloading
-# automathfuncs math functions defined by the module, for autoloading
-# objects .o files making up this module (*must* be defined)
-# proto .syms files for this module (default generated from $objects)
-# headers extra headers for this module (default none)
-# hdrdeps extra headers on which the .mdh depends (default none)
-# otherincs extra headers that are included indirectly (default none)
-#
-# The .mdd file may also include a Makefile.in fragment between lines
-# `:<<\Make' and `Make' -- this will be copied into Makemod.in.
-#
-# The resulting Makemod.in knows how to build each module that is defined.
-# For each module in also knows how to build a .mdh file. Each source file
-# should #include the .mdh file for the module it is a part of. The .mdh
-# file #includes the .mdh files for any module dependencies, then each of
-# $headers, and then each .epro (for global declarations). It will
-# be recreated if any of the dependency .mdh files changes, or if any of
-# $headers or $hdrdeps changes. When anything depends on it, all the .epros
-# and $otherincs will be made up to date, but the .mdh file won't actually
-# be rebuilt if those files change.
-#
-# The order of sections of the output file is thus:
-# simple generated macros
-# macros generated from *.mdd
-# included Makemod.in.in
-# rules generated from *.mdd
-# The order dependencies are basically that the generated macros are required
-# in Makemod.in.in, but some of the macros that it creates are needed in the
-# later rules.
-#
-
-# sed script to normalise a pathname
-sed_normalise='
- s,^,/,
- s,$,/,
- :1
- s,/\./,/,
- t1
- :2
- s,/[^/.][^/]*/\.\./,/,
- s,/\.[^/.][^/]*/\.\./,/,
- s,/\.\.[^/][^/]*/\.\./,/,
- t2
- s,^/$,.,
- s,^/,,
- s,\(.\)/$,\1,
-'
-
-# decide which stages to process
-first_stage=true
-second_stage=true
-if test ."$1" = .-m; then
- shift
- first_stage=false
-elif test ."$1" = .-i; then
- shift
- second_stage=false
-fi
-
-top_srcdir=`echo $top_srcdir | sed "$sed_normalise"`
-the_subdir=$1
-the_makefile=$2
-
-if $first_stage; then
-
- dir_top=`echo $the_subdir | sed 's,[^/][^/]*,..,g'`
-
- trap "rm -f $the_subdir/${the_makefile}.in" 1 2 15
- echo "creating $the_subdir/${the_makefile}.in"
- exec 3>&1 >$the_subdir/${the_makefile}.in
- echo "##### ${the_makefile}.in generated automatically by mkmakemod.sh"
- echo "##### DO NOT EDIT!"
- echo
- echo "##### ===== DEFINITIONS ===== #####"
- echo
- echo "makefile = ${the_makefile}"
- echo "dir_top = ${dir_top}"
- echo "subdir = ${the_subdir}"
- echo
-
- bin_mods=`grep link=static ./config.modules | \
- sed -e '/^#/d' -e 's/ .*/ /' -e 's/^name=/ /'`
- dyn_mods="`grep link=dynamic ./config.modules | \
- sed -e '/^#/d' -e 's/ .*/ /' -e 's/^name=/ /'`"
- module_list="${bin_mods}${dyn_mods}"
-
- # check both 2.13 and 2.50 syntax
- if grep '%@D@%D%' config.status >/dev/null ||
- grep ',@D@,D,' config.status >/dev/null; then
- is_dynamic=true
- else
- is_dynamic=false
- fi
-
- here_mddnames=
- all_subdirs=
- all_modobjs=
- all_modules=
- all_mdds=
- all_mdhs=
- all_proto=
- lastsub=//
- for module in $module_list; do
- modfile="`grep '^name='$module' ' ./config.modules | \
- sed -e 's/^.* modfile=//' -e 's/ .*//'`"
- case $modfile in
- $the_subdir/$lastsub/*) ;;
- $the_subdir/*/*)
- lastsub=`echo $modfile | sed 's,^'$the_subdir'/,,;s,/[^/]*$,,'`
- case "$all_subdirs " in
- *" $lastsub "* ) ;;
- * )
- all_subdirs="$all_subdirs $lastsub"
- ;;
- esac
- ;;
- $the_subdir/*)
- mddname=`echo $modfile | sed 's,^.*/,,;s,\.mdd$,,'`
- here_mddnames="$here_mddnames $mddname"
- build=$is_dynamic
- case $is_dynamic@$bin_mods in
- *" $module "*)
- build=true
- all_modobjs="$all_modobjs modobjs.${mddname}" ;;
- true@*)
- all_modules="$all_modules ${mddname}.\$(DL_EXT)" ;;
- esac
- all_mdds="$all_mdds ${mddname}.mdd"
- $build && all_mdhs="$all_mdhs ${mddname}.mdh"
- $build && all_proto="$all_proto proto.${mddname}"
- ;;
- esac
- done
- echo "MODOBJS =$all_modobjs"
- echo "MODULES =$all_modules"
- echo "MDDS =$all_mdds"
- echo "MDHS =$all_mdhs"
- echo "PROTOS =$all_proto"
- echo "SUBDIRS =$all_subdirs"
- echo
- echo "ENTRYOBJ = \$(dir_src)/modentry..o"
- echo "NNTRYOBJ ="
- echo "ENTRYOPT = -emodentry"
- echo "NNTRYOPT ="
- echo
-
- echo "##### ===== INCLUDING Makemod.in.in ===== #####"
- echo
- cat $top_srcdir/Src/Makemod.in.in
- echo
-
- case $the_subdir in
- Src) modobjs_sed= ;;
- Src/*) modobjs_sed="| sed 's\" \" "`echo $the_subdir | sed 's,^Src/,,'`"/\"g' " ;;
- *) modobjs_sed="| sed 's\" \" ../$the_subdir/\"g' " ;;
- esac
-
- other_mdhs=
- remote_mdhs=
- other_exports=
- remote_exports=
- other_modules=
- remote_modules=
- for mddname in $here_mddnames; do
-
- unset name moddeps nozshdep alwayslink hasexport
- unset autobins autoinfixconds autoprefixconds autoparams automathfuncs
- unset objects proto headers hdrdeps otherincs
- . $top_srcdir/$the_subdir/${mddname}.mdd
- q_name=`echo $name | sed 's,Q,Qq,g;s,_,Qu,g;s,/,Qs,g'`
- test -n "${moddeps+set}" || moddeps=
- test -n "$nozshdep" || moddeps="$moddeps zsh/main"
- test -n "${proto+set}" ||
- proto=`echo $objects '' | sed 's,\.o ,.syms ,g'`
-
- dobjects=`echo $objects '' | sed 's,\.o ,..o ,g'`
- modhdeps=
- mododeps=
- exportdeps=
- imports=
- q_moddeps=
- for dep in $moddeps; do
- depfile="`grep '^name='$dep' ' ./config.modules | \
- sed -e 's/^.* modfile=//' -e 's/ .*//'`"
- q_dep=`echo $dep | sed 's,Q,Qq,g;s,_,Qu,g;s,/,Qs,g'`
- q_moddeps="$q_moddeps $q_dep"
- eval `echo $depfile | sed 's,/\([^/]*\)\.mdd$,;depbase=\1,;s,^,loc=,'`
- case "$binmod" in
- *" $dep "* )
- dep=zsh/main
- ;;
- esac
-
- case $the_subdir in
- $loc)
- mdh="${depbase}.mdh"
- export="${depbase}.export"
- case "$dep" in
- zsh/main )
- mdll="\$(dir_top)/Src/libzsh-\$(VERSION).\$(DL_EXT) "
- ;;
- * )
- mdll="${depbase}.\$(DL_EXT) "
- ;;
- esac
- ;;
- $loc/*)
- mdh="\$(dir_top)/$loc/${depbase}.mdh"
- case "$other_mdhs " in
- *" $mdh "*) ;;
- *) other_mdhs="$other_mdhs $mdh" ;;
- esac
- export="\$(dir_top)/$loc/${depbase}.export"
- case "$other_exports " in
- *" $export "*) ;;
- *) other_exports="$other_exports $export" ;;
- esac
- case "$dep" in
- zsh/main )
- mdll="\$(dir_top)/Src/libzsh-\$(VERSION).\$(DL_EXT) "
- ;;
- * )
- mdll="\$(dir_top)/$loc/${depbase}.\$(DL_EXT) "
- ;;
- esac
- case "$other_modules " in
- *" $mdll "*) ;;
- *) other_modules="$other_modules $mdll" ;;
- esac
- ;;
- *)
- mdh="\$(dir_top)/$loc/${depbase}.mdh"
- case "$remote_mdhs " in
- *" $mdh "*) ;;
- *) remote_mdhs="$remote_mdhs $mdh" ;;
- esac
- export="\$(dir_top)/$loc/${depbase}.export"
- case "$remote_exports " in
- *" $export "*) ;;
- *) remote_exports="$remote_exports $export" ;;
- esac
- case "$dep" in
- zsh/main )
- mdll="\$(dir_top)/Src/libzsh-\$(VERSION).\$(DL_EXT) "
- ;;
- * )
- mdll="\$(dir_top)/$loc/${depbase}.\$(DL_EXT) "
- ;;
- esac
- case "$remote_modules " in
- *" $mdll "*) ;;
- *) remote_modules="$remote_modules $mdll" ;;
- esac
- ;;
- esac
- modhdeps="$modhdeps $mdh"
- exportdeps="$exportdeps $export"
- imports="$imports \$(IMPOPT)$export"
- case "$mododeps " in
- *" $mdll "* )
- :
- ;;
- * )
- mododeps="$mododeps $mdll"
- ;;
- esac
- done
-
- echo "##### ===== DEPENDENCIES GENERATED FROM ${mddname}.mdd ===== #####"
- echo
- echo "MODOBJS_${mddname} = $objects"
- echo "MODDOBJS_${mddname} = $dobjects \$(@E@NTRYOBJ)"
- echo "SYMS_${mddname} = $proto"
- echo "EPRO_${mddname} = "`echo $proto '' | sed 's,\.syms ,.epro ,g'`
- echo "INCS_${mddname} = \$(EPRO_${mddname}) $otherincs"
- echo "EXPIMP_${mddname} = $imports \$(EXPOPT)$mddname.export"
- echo "NXPIMP_${mddname} ="
- echo "LINKMODS_${mddname} = $mododeps"
- echo "NOLINKMODS_${mddname} = "
- echo
- echo "proto.${mddname}: \$(EPRO_${mddname})"
- echo "\$(SYMS_${mddname}): \$(PROTODEPS)"
- echo
- echo "${mddname}.export: \$(SYMS_${mddname})"
- echo " ( echo '#!'; cat \$(SYMS_${mddname}) | sed -n '/^X/{s/^X//;p;}' | sort -u ) > \$@"
- echo
- echo "modobjs.${mddname}: \$(MODOBJS_${mddname})"
- echo " echo '' \$(MODOBJS_${mddname}) $modobjs_sed>> \$(dir_src)/stamp-modobjs.tmp"
- echo
- if test -z "$alwayslink"; then
- case " $all_modules" in *" ${mddname}."*)
- echo "install.modules-here: install.modules.${mddname}"
- echo "uninstall.modules-here: uninstall.modules.${mddname}"
- echo
- ;; esac
- instsubdir=`echo $name | sed 's,^,/,;s,/[^/]*$,,'`
- echo "install.modules.${mddname}: ${mddname}.\$(DL_EXT)"
- echo " \$(SHELL) \$(sdir_top)/mkinstalldirs \$(DESTDIR)\$(MODDIR)${instsubdir}"
- echo " \$(INSTALL_PROGRAM) \$(STRIPFLAGS) ${mddname}.\$(DL_EXT) \$(DESTDIR)\$(MODDIR)/${name}.\$(DL_EXT)"
- echo
- echo "uninstall.modules.${mddname}:"
- echo " rm -f \$(DESTDIR)\$(MODDIR)/${name}.\$(DL_EXT)"
- echo
- echo "${mddname}.\$(DL_EXT): \$(MODDOBJS_${mddname}) ${mddname}.export $exportdeps \$(@LINKMODS@_${mddname})"
- echo ' rm -f $@'
- echo " \$(DLLINK) \$(@E@XPIMP_$mddname) \$(@E@NTRYOPT) \$(MODDOBJS_${mddname}) \$(@LINKMODS@_${mddname}) \$(LIBS) "
- echo
- fi
- echo "${mddname}.mdhi: ${mddname}.mdhs \$(INCS_${mddname})"
- echo " @test -f \$@ || echo 'do not delete this file' > \$@"
- echo
- echo "${mddname}.mdhs: ${mddname}.mdd"
- echo " @\$(MAKE) -f \$(makefile) \$(MAKEDEFS) ${mddname}.mdh.tmp"
- echo " @if cmp -s ${mddname}.mdh ${mddname}.mdh.tmp; then \\"
- echo " rm -f ${mddname}.mdh.tmp; \\"
- echo " echo \"\\\`${mddname}.mdh' is up to date.\"; \\"
- echo " else \\"
- echo " mv -f ${mddname}.mdh.tmp ${mddname}.mdh; \\"
- echo " echo \"Updated \\\`${mddname}.mdh'.\"; \\"
- echo " fi"
- echo " echo 'timestamp for ${mddname}.mdh against ${mddname}.mdd' > \$@"
- echo
- echo "${mddname}.mdh: ${modhdeps} ${headers} ${hdrdeps} ${mddname}.mdhi"
- echo " @\$(MAKE) -f \$(makefile) \$(MAKEDEFS) ${mddname}.mdh.tmp"
- echo " @mv -f ${mddname}.mdh.tmp ${mddname}.mdh"
- echo " @echo \"Updated \\\`${mddname}.mdh'.\""
- echo
- echo "${mddname}.mdh.tmp:"
- echo " @( \\"
- echo " echo '#ifndef have_${q_name}_module'; \\"
- echo " echo '#define have_${q_name}_module'; \\"
- echo " echo; \\"
- echo " echo '# ifndef IMPORTING_MODULE_${q_name}'; \\"
- echo " if test @SHORTBOOTNAMES@ = yes; then \\"
- echo " echo '# ifndef MODULE'; \\"
- echo " fi; \\"
- echo " echo '# define boot_ boot_${q_name}'; \\"
- echo " echo '# define cleanup_ cleanup_${q_name}'; \\"
- echo " echo '# define setup_ setup_${q_name}'; \\"
- echo " echo '# define finish_ finish_${q_name}'; \\"
- echo " if test @SHORTBOOTNAMES@ = yes; then \\"
- echo " echo '# endif /* !MODULE */'; \\"
- echo " fi; \\"
- echo " echo '# endif /* !IMPORTING_MODULE_${q_name} */'; \\"
- echo " echo; \\"
- if test -n "$moddeps"; then (
- set x $q_moddeps
- echo " echo '/* Module dependencies */'; \\"
- for hdep in $modhdeps; do
- shift
- echo " echo '# define IMPORTING_MODULE_${1} 1'; \\"
- echo " echo '# include \"${hdep}\"'; \\"
- done
- echo " echo; \\"
- ) fi
- if test -n "$headers"; then
- echo " echo '/* Extra headers for this module */'; \\"
- echo " for hdr in $headers; do \\"
- echo " if test -f \$\$hdr; then \\"
- echo " echo '# include \"'\$\$hdr'\"'; \\"
- echo " else \\"
- echo " echo '# include \"\$(sdir)/'\$\$hdr'\"'; \\"
- echo " fi; \\"
- echo " done; \\"
- echo " echo; \\"
- fi
- if test -n "$proto"; then
- echo " echo '# undef mod_import_variable'; \\"
- echo " echo '# undef mod_import_function'; \\"
- echo " echo '# if defined(IMPORTING_MODULE_${q_name}) && defined(MODULE)'; \\"
- echo " echo '# define mod_import_variable @MOD_IMPORT_VARIABLE@'; \\"
- echo " echo '# define mod_import_function @MOD_IMPORT_FUNCTION@'; \\"
- echo " echo '# else'; \\"
- echo " echo '# define mod_import_function'; \\"
- echo " echo '# define mod_import_variable'; \\"
- echo " echo '# endif /* IMPORTING_MODULE_${q_name} && MODULE */'; \\"
- echo " for epro in \$(EPRO_${mddname}); do \\"
- echo " echo '# include \"'\$\$epro'\"'; \\"
- echo " done; \\"
- echo " echo '# undef mod_import_variable'; \\"
- echo " echo '# define mod_import_variable'; \\"
- echo " echo '# undef mod_import_variable'; \\"
- echo " echo '# define mod_import_variable'; \\"
- echo " echo '# ifndef mod_export'; \\"
- echo " echo '# define mod_export @MOD_EXPORT@'; \\"
- echo " echo '# endif /* mod_export */'; \\"
- echo " echo; \\"
- fi
- echo " echo '#endif /* !have_${q_name}_module */'; \\"
- echo " ) > \$@"
- echo
- echo "\$(MODOBJS_${mddname}) \$(MODDOBJS_${mddname}): ${mddname}.mdh"
- sed -e '/^ *: *<< *\\Make *$/,/^Make$/!d' \
- -e 's/^ *: *<< *\\Make *$//; /^Make$/d' \
- < $top_srcdir/$the_subdir/${mddname}.mdd
- echo
-
- done
-
- if test -n "$remote_mdhs$other_mdhs$remote_exports$other_exports$remote_modules$other_modules"; then
- echo "##### ===== DEPENDENCIES FOR REMOTE MODULES ===== #####"
- echo
- for mdh in $remote_mdhs; do
- echo "$mdh: FORCE"
- echo " @cd @%@ && \$(MAKE) \$(MAKEDEFS) @%@$mdh"
- echo
- done | sed 's,^\(.*\)@%@\(.*\)@%@\(.*\)/\([^/]*\)$,\1\3\2\4,'
- if test -n "$other_mdhs"; then
- echo "${other_mdhs}:" | sed 's,^ ,,'
- echo " false # should only happen with make -n"
- echo
- fi
- for export in $remote_exports; do
- echo "$export: FORCE"
- echo " @cd @%@ && \$(MAKE) \$(MAKEDEFS) @%@$export"
- echo
- done | sed 's,^\(.*\)@%@\(.*\)@%@\(.*\)/\([^/]*\)$,\1\3\2\4,'
- if test -n "$other_exports"; then
- echo "${other_exports}:" | sed 's,^ ,,'
- echo " false # should only happen with make -n"
- echo
- fi
- for mdll in $remote_modules; do
- echo "$mdll: FORCE"
- echo " @cd @%@ && \$(MAKE) \$(MAKEDEFS) @%@$mdll"
- echo
- done | sed 's,^\(.*\)@%@\(.*\)@%@\(.*\)/\([^/]*\)$,\1\3\2\4,'
- if test -n "$other_modules"; then
- echo "${other_modules}:" | sed 's,^ ,,'
- echo " false # should only happen with make -n"
- echo
- fi
- fi
-
- echo "##### End of ${the_makefile}.in"
-
- exec >&3 3>&-
-
-fi
-
-if $second_stage ; then
- trap "rm -f $the_subdir/${the_makefile}" 1 2 15
-
- ${CONFIG_SHELL-/bin/sh} ./config.status \
- --file=$the_subdir/${the_makefile}:$the_subdir/${the_makefile}.in ||
- return 1
-fi
-
-exit 0
Index: Src/mkmakemod.sh.in.in
===================================================================
RCS file: Src/mkmakemod.sh.in.in
diff -N Src/mkmakemod.sh.in.in
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ Src/mkmakemod.sh.in.in 12 Sep 2004 18:49:35 -0000
@@ -0,0 +1,493 @@
+#!/bin/sh
+#
+# mkmakemod.sh: generate Makefile.in files for module building
+#
+# Options:
+# -m = file is already generated; only build the second stage
+# -i = do not build second stage
+#
+# Args:
+# $1 = subdirectory to look in, relative to $top_srcdir
+# $2 = final output filename, within the $1 directory
+#
+# This script must be run from the top-level build directory, and $top_srcdir
+# must be set correctly in the environment.
+#
+# This looks in $1, and uses all the *.mdd files there. Each .mdd file
+# defines one module. The .mdd file is actually a shell script, which will
+# be sourced. It may define the following shell variables:
+#
+# name name of this module
+# moddeps modules on which this module depends (default none)
+# nozshdep non-empty indicates no dependence on the `zsh/main' pseudo-module
+# alwayslink if non-empty, always link the module into the executable
+# autobins builtins defined by the module, for autoloading
+# autoinfixconds infix condition codes defined by the module, for
+# autoloading (without the leading `-')
+# autoprefixconds like autoinfixconds, but for prefix condition codes
+# autoparams parameters defined by the module, for autoloading
+# automathfuncs math functions defined by the module, for autoloading
+# objects .o files making up this module (*must* be defined)
+# proto .syms files for this module (default generated from $objects)
+# headers extra headers for this module (default none)
+# hdrdeps extra headers on which the .mdh depends (default none)
+# otherincs extra headers that are included indirectly (default none)
+#
+# The .mdd file may also include a Makefile.in fragment between lines
+# `:<<\Make' and `Make' -- this will be copied into Makemod.in.
+#
+# The resulting Makemod.in knows how to build each module that is defined.
+# For each module in also knows how to build a .mdh file. Each source file
+# should #include the .mdh file for the module it is a part of. The .mdh
+# file #includes the .mdh files for any module dependencies, then each of
+# $headers, and then each .epro (for global declarations). It will
+# be recreated if any of the dependency .mdh files changes, or if any of
+# $headers or $hdrdeps changes. When anything depends on it, all the .epros
+# and $otherincs will be made up to date, but the .mdh file won't actually
+# be rebuilt if those files change.
+#
+# The order of sections of the output file is thus:
+# simple generated macros
+# macros generated from *.mdd
+# included Makemod.in.in
+# rules generated from *.mdd
+# The order dependencies are basically that the generated macros are required
+# in Makemod.in.in, but some of the macros that it creates are needed in the
+# later rules.
+#
+
+# sed script to normalise a pathname
+sed_normalise='
+ s,^,/,
+ s,$,/,
+ :1
+ s,/\./,/,
+ t1
+ :2
+ s,/[^/.][^/]*/\.\./,/,
+ s,/\.[^/.][^/]*/\.\./,/,
+ s,/\.\.[^/][^/]*/\.\./,/,
+ t2
+ s,^/$,.,
+ s,^/,,
+ s,\(.\)/$,\1,
+'
+
+# decide which stages to process
+first_stage=true
+second_stage=true
+if test ."$1" = .-m; then
+ shift
+ first_stage=false
+elif test ."$1" = .-i; then
+ shift
+ second_stage=false
+fi
+
+top_srcdir=`echo $top_srcdir | sed "$sed_normalise"`
+the_subdir=$1
+the_makefile=$2
+
+if $first_stage; then
+
+ dir_top=`echo $the_subdir | sed 's,[^/][^/]*,..,g'`
+
+ trap "rm -f $the_subdir/${the_makefile}.in" 1 2 15
+ echo "creating $the_subdir/${the_makefile}.in"
+ exec 3>&1 >$the_subdir/${the_makefile}.in
+ echo "##### ${the_makefile}.in generated automatically by mkmakemod.sh"
+ echo "##### DO NOT EDIT!"
+ echo
+ echo "##### ===== DEFINITIONS ===== #####"
+ echo
+ echo "makefile = ${the_makefile}"
+ echo "dir_top = ${dir_top}"
+ echo "subdir = ${the_subdir}"
+ echo
+
+ bin_mods=`grep link=static ./config.modules | \
+ sed -e '/^#/d' -e 's/ .*/ /' -e 's/^name=/ /'`
+ dyn_mods="`grep link=dynamic ./config.modules | \
+ sed -e '/^#/d' -e 's/ .*/ /' -e 's/^name=/ /'`"
+ module_list="${bin_mods}${dyn_mods}"
+
+ # check both 2.13 and 2.50 syntax
+ if grep '%_@_D_@_%D%' config.status >/dev/null ||
+ grep ',_@_D_@_,D,' config.status >/dev/null; then
+ is_dynamic=true
+ else
+ is_dynamic=false
+ fi
+
+ here_mddnames=
+ all_subdirs=
+ all_modobjs=
+ all_modules=
+ all_mdds=
+ all_mdhs=
+ all_proto=
+ lastsub=//
+ for module in $module_list; do
+ modfile="`grep '^name='$module' ' ./config.modules | \
+ sed -e 's/^.* modfile=//' -e 's/ .*//'`"
+ case $modfile in
+ $the_subdir/$lastsub/*) ;;
+ $the_subdir/*/*)
+ lastsub=`echo $modfile | sed 's,^'$the_subdir'/,,;s,/[^/]*$,,'`
+ case "$all_subdirs " in
+ *" $lastsub "* ) ;;
+ * )
+ all_subdirs="$all_subdirs $lastsub"
+ ;;
+ esac
+ ;;
+ $the_subdir/*)
+ mddname=`echo $modfile | sed 's,^.*/,,;s,\.mdd$,,'`
+ here_mddnames="$here_mddnames $mddname"
+ build=$is_dynamic
+ case $is_dynamic_@_$bin_mods in
+ *" $module "*)
+ build=true
+ all_modobjs="$all_modobjs modobjs.${mddname}" ;;
+ true_@_*)
+ all_modules="$all_modules ${mddname}.\$(DL_EXT)" ;;
+ esac
+ all_mdds="$all_mdds ${mddname}.mdd"
+ $build && all_mdhs="$all_mdhs ${mddname}.mdh"
+ $build && all_proto="$all_proto proto.${mddname}"
+ ;;
+ esac
+ done
+ echo "MODOBJS =$all_modobjs"
+ echo "MODULES =$all_modules"
+ echo "MDDS =$all_mdds"
+ echo "MDHS =$all_mdhs"
+ echo "PROTOS =$all_proto"
+ echo "SUBDIRS =$all_subdirs"
+ echo
+ echo "ENTRYOBJ = \$(dir_src)/modentry..o"
+ echo "NNTRYOBJ ="
+ echo "ENTRYOPT = -emodentry"
+ echo "NNTRYOPT ="
+ echo
+
+ echo "##### ===== INCLUDING Makemod.in.in ===== #####"
+ echo
+ cat $top_srcdir/Src/Makemod.in.in
+ echo
+
+ case $the_subdir in
+ Src) modobjs_sed= ;;
+ Src/*) modobjs_sed="| sed 's\" \" "`echo $the_subdir | sed 's,^Src/,,'`"/\"g' " ;;
+ *) modobjs_sed="| sed 's\" \" ../$the_subdir/\"g' " ;;
+ esac
+
+ other_mdhs=
+ remote_mdhs=
+ other_exports=
+ remote_exports=
+ other_modules=
+ remote_modules=
+ for mddname in $here_mddnames; do
+
+ unset name moddeps nozshdep alwayslink hasexport
+ unset autobins autoinfixconds autoprefixconds autoparams automathfuncs
+ unset objects proto headers hdrdeps otherincs autoconf achfile
+ . $top_srcdir/$the_subdir/${mddname}.mdd
+ q_name=`echo $name | sed 's,Q,Qq,g;s,_,Qu,g;s,/,Qs,g'`
+ test -n "${moddeps+set}" || moddeps=
+ test -n "$nozshdep" || moddeps="$moddeps zsh/main"
+ test -n "${proto+set}" ||
+ proto=`echo $objects '' | sed 's,\.o ,.syms ,g'`
+
+ dobjects=`echo $objects '' | sed 's,\.o ,..o ,g'`
+ modhdeps=
+ mododeps=
+ exportdeps=
+ imports=
+ q_moddeps=
+ for dep in $moddeps; do
+ depfile="`grep '^name='$dep' ' ./config.modules | \
+ sed -e 's/^.* modfile=//' -e 's/ .*//'`"
+ q_dep=`echo $dep | sed 's,Q,Qq,g;s,_,Qu,g;s,/,Qs,g'`
+ q_moddeps="$q_moddeps $q_dep"
+ eval `echo $depfile | sed 's,/\([^/]*\)\.mdd$,;depbase=\1,;s,^,loc=,'`
+ case "$binmod" in
+ *" $dep "* )
+ dep=zsh/main
+ ;;
+ esac
+
+ case $the_subdir in
+ $loc)
+ mdh="${depbase}.mdh"
+ export="${depbase}.export"
+ case "$dep" in
+ zsh/main )
+ mdll="\$(dir_top)/Src/libzsh-\$(VERSION).\$(DL_EXT) "
+ ;;
+ * )
+ mdll="${depbase}.\$(DL_EXT) "
+ ;;
+ esac
+ ;;
+ $loc/*)
+ mdh="\$(dir_top)/$loc/${depbase}.mdh"
+ case "$other_mdhs " in
+ *" $mdh "*) ;;
+ *) other_mdhs="$other_mdhs $mdh" ;;
+ esac
+ export="\$(dir_top)/$loc/${depbase}.export"
+ case "$other_exports " in
+ *" $export "*) ;;
+ *) other_exports="$other_exports $export" ;;
+ esac
+ case "$dep" in
+ zsh/main )
+ mdll="\$(dir_top)/Src/libzsh-\$(VERSION).\$(DL_EXT) "
+ ;;
+ * )
+ mdll="\$(dir_top)/$loc/${depbase}.\$(DL_EXT) "
+ ;;
+ esac
+ case "$other_modules " in
+ *" $mdll "*) ;;
+ *) other_modules="$other_modules $mdll" ;;
+ esac
+ ;;
+ *)
+ mdh="\$(dir_top)/$loc/${depbase}.mdh"
+ case "$remote_mdhs " in
+ *" $mdh "*) ;;
+ *) remote_mdhs="$remote_mdhs $mdh" ;;
+ esac
+ export="\$(dir_top)/$loc/${depbase}.export"
+ case "$remote_exports " in
+ *" $export "*) ;;
+ *) remote_exports="$remote_exports $export" ;;
+ esac
+ case "$dep" in
+ zsh/main )
+ mdll="\$(dir_top)/Src/libzsh-\$(VERSION).\$(DL_EXT) "
+ ;;
+ * )
+ mdll="\$(dir_top)/$loc/${depbase}.\$(DL_EXT) "
+ ;;
+ esac
+ case "$remote_modules " in
+ *" $mdll "*) ;;
+ *) remote_modules="$remote_modules $mdll" ;;
+ esac
+ ;;
+ esac
+ modhdeps="$modhdeps $mdh"
+ exportdeps="$exportdeps $export"
+ imports="$imports \$(IMPOPT)$export"
+ case "$mododeps " in
+ *" $mdll "* )
+ :
+ ;;
+ * )
+ mododeps="$mododeps $mdll"
+ ;;
+ esac
+ done
+
+ echo "##### ===== DEPENDENCIES GENERATED FROM ${mddname}.mdd ===== #####"
+ echo
+ echo "MODOBJS_${mddname} = $objects"
+ echo "MODDOBJS_${mddname} = $dobjects \$(_@_E_@_NTRYOBJ)"
+ echo "SYMS_${mddname} = $proto"
+ echo "EPRO_${mddname} = "`echo $proto '' | sed 's,\.syms ,.epro ,g'`
+ echo "INCS_${mddname} = \$(EPRO_${mddname}) $otherincs"
+ echo "EXPIMP_${mddname} = $imports \$(EXPOPT)$mddname.export"
+ echo "NXPIMP_${mddname} ="
+ echo "LINKMODS_${mddname} = $mododeps"
+ echo "NOLINKMODS_${mddname} = "
+ echo
+ echo "proto.${mddname}: \$(EPRO_${mddname})"
+ echo "\$(SYMS_${mddname}): \$(PROTODEPS)"
+ echo
+ echo "${mddname}.export: \$(SYMS_${mddname})"
+ echo " ( echo '#!'; cat \$(SYMS_${mddname}) | sed -n '/^X/{s/^X//;p;}' | sort -u ) > \$_@_"
+ echo
+ echo "modobjs.${mddname}: \$(MODOBJS_${mddname})"
+ echo " echo '' \$(MODOBJS_${mddname}) $modobjs_sed>> \$(dir_src)/stamp-modobjs.tmp"
+ echo
+
+ if test -n "$autoconf"; then
+ touch ${the_subdir}/${mddname}.rules
+ echo "@am__include@ @am__quote@${mddname}.rules@am__quote@"
+ echo
+ echo "${mddname}.ach ${mddname}.rules: \$(sdir_src)/Modules/${mddname}.configure"
+ echo " \$(sdir_src)/Modules/${mddname}.configure"
+ echo
+ echo "\$(sdir_src)/Modules/${mddname}.configure: ${mddname}.configure.ac ${mddname}.ach.in"
+ echo " cd \$(sdir_src)/Modules && autoconf ${mddname}.configure.ac >${mddname}.configure"
+ echo " chmod +x \$(sdir_src)/Modules/pcre.configure"
+ echo
+ echo "\$(sdir_src)/Modules/${mddname}.ach.in:"
+ echo " cd \$(sdir_src)/Modules && autoheader ${mddname}.configure.ac"
+ achfile="${mddname}.ach"
+ fi
+
+ if test -z "$alwayslink"; then
+ case " $all_modules" in *" ${mddname}."*)
+ echo "install.modules-here: install.modules.${mddname}"
+ echo "uninstall.modules-here: uninstall.modules.${mddname}"
+ echo
+ ;; esac
+ instsubdir=`echo $name | sed 's,^,/,;s,/[^/]*$,,'`
+ echo "install.modules.${mddname}: ${mddname}.\$(DL_EXT)"
+ echo " \$(SHELL) \$(sdir_top)/mkinstalldirs \$(DESTDIR)\$(MODDIR)${instsubdir}"
+ echo " \$(INSTALL_PROGRAM) \$(STRIPFLAGS) ${mddname}.\$(DL_EXT) \$(DESTDIR)\$(MODDIR)/${name}.\$(DL_EXT)"
+ echo
+ echo "uninstall.modules.${mddname}:"
+ echo " rm -f \$(DESTDIR)\$(MODDIR)/${name}.\$(DL_EXT)"
+ echo
+ echo "${mddname}.\$(DL_EXT): \$(MODDOBJS_${mddname}) ${mddname}.export $exportdeps \$(_@_LINKMODS_@__${mddname})"
+ echo ' rm -f $_@_'
+ echo " \$(DLLINK) \$(_@_E_@_XPIMP_$mddname) \$(_@_E_@_NTRYOPT) \$(MODDOBJS_${mddname}) \$(_@_LINKMODS_@__${mddname}) \$(LIBS) \$(EXTRALIBS_${mddname}) "
+ echo
+ fi
+ echo "${mddname}.mdhi: ${mddname}.mdhs \$(INCS_${mddname})"
+ echo " _@_test -f \$_@_ || echo 'do not delete this file' > \$_@_"
+ echo
+ echo "${mddname}.mdhs: ${mddname}.mdd"
+ echo " _@_\$(MAKE) -f \$(makefile) \$(MAKEDEFS) ${mddname}.mdh.tmp"
+ echo " _@_if cmp -s ${mddname}.mdh ${mddname}.mdh.tmp; then \\"
+ echo " rm -f ${mddname}.mdh.tmp; \\"
+ echo " echo \"\\\`${mddname}.mdh' is up to date.\"; \\"
+ echo " else \\"
+ echo " mv -f ${mddname}.mdh.tmp ${mddname}.mdh; \\"
+ echo " echo \"Updated \\\`${mddname}.mdh'.\"; \\"
+ echo " fi"
+ echo " echo 'timestamp for ${mddname}.mdh against ${mddname}.mdd' > \$_@_"
+ echo
+ echo "${mddname}.mdh: ${modhdeps} ${headers} ${hdrdeps} ${mddname}.mdhi"
+ echo " _@_\$(MAKE) -f \$(makefile) \$(MAKEDEFS) ${mddname}.mdh.tmp"
+ echo " _@_mv -f ${mddname}.mdh.tmp ${mddname}.mdh"
+ echo " _@_echo \"Updated \\\`${mddname}.mdh'.\""
+ echo
+ echo "${mddname}.mdh.tmp:"
+ echo " _@_( \\"
+ echo " echo '#ifndef have_${q_name}_module'; \\"
+ echo " echo '#define have_${q_name}_module'; \\"
+ echo " echo; \\"
+ echo " echo '# ifndef IMPORTING_MODULE_${q_name}'; \\"
+ echo " if test _@_SHORTBOOTNAMES_@_ = yes; then \\"
+ echo " echo '# ifndef MODULE'; \\"
+ echo " fi; \\"
+ echo " echo '# define boot_ boot_${q_name}'; \\"
+ echo " echo '# define cleanup_ cleanup_${q_name}'; \\"
+ echo " echo '# define setup_ setup_${q_name}'; \\"
+ echo " echo '# define finish_ finish_${q_name}'; \\"
+ echo " if test _@_SHORTBOOTNAMES_@_ = yes; then \\"
+ echo " echo '# endif /* !MODULE */'; \\"
+ echo " fi; \\"
+ echo " echo '# endif /* !IMPORTING_MODULE_${q_name} */'; \\"
+ echo " echo; \\"
+ if test -n "$moddeps"; then (
+ set x $q_moddeps
+ echo " echo '/* Module dependencies */'; \\"
+ for hdep in $modhdeps; do
+ shift
+ echo " echo '# define IMPORTING_MODULE_${1} 1'; \\"
+ echo " echo '# include \"${hdep}\"'; \\"
+ done
+ echo " echo; \\"
+ ) fi
+ if test -n "$headers"; then
+ echo " echo '/* Extra headers for this module */'; \\"
+ echo " for hdr in $headers; do \\"
+ echo " if test -f \$\$hdr; then \\"
+ echo " echo '# include \"'\$\$hdr'\"'; \\"
+ echo " else \\"
+ echo " echo '# include \"\$(sdir)/'\$\$hdr'\"'; \\"
+ echo " fi; \\"
+ echo " done; \\"
+ echo " echo; \\"
+ fi
+ if test -n "$proto"; then
+ echo " echo '# undef mod_import_variable'; \\"
+ echo " echo '# undef mod_import_function'; \\"
+ echo " echo '# if defined(IMPORTING_MODULE_${q_name}) && defined(MODULE)'; \\"
+ echo " echo '# define mod_import_variable _@_MOD_IMPORT_VARIABLE_@_'; \\"
+ echo " echo '# define mod_import_function _@_MOD_IMPORT_FUNCTION_@_'; \\"
+ echo " echo '# else'; \\"
+ echo " echo '# define mod_import_function'; \\"
+ echo " echo '# define mod_import_variable'; \\"
+ echo " echo '# endif /* IMPORTING_MODULE_${q_name} && MODULE */'; \\"
+ echo " for epro in \$(EPRO_${mddname}); do \\"
+ echo " echo '# include \"'\$\$epro'\"'; \\"
+ echo " done; \\"
+ echo " echo '# undef mod_import_variable'; \\"
+ echo " echo '# define mod_import_variable'; \\"
+ echo " echo '# undef mod_import_variable'; \\"
+ echo " echo '# define mod_import_variable'; \\"
+ echo " echo '# ifndef mod_export'; \\"
+ echo " echo '# define mod_export _@_MOD_EXPORT_@_'; \\"
+ echo " echo '# endif /* mod_export */'; \\"
+ echo " echo; \\"
+ fi
+ echo " echo '#endif /* !have_${q_name}_module */'; \\"
+ echo " ) > \$_@_"
+ echo
+ echo "\$(MODOBJS_${mddname}) \$(MODDOBJS_${mddname}): ${mddname}.mdh $achfile"
+ sed -e '/^ *: *<< *\\Make *$/,/^Make$/!d' \
+ -e 's/^ *: *<< *\\Make *$//; /^Make$/d' \
+ < $top_srcdir/$the_subdir/${mddname}.mdd
+ echo
+
+ done
+
+ if test -n "$remote_mdhs$other_mdhs$remote_exports$other_exports$remote_modules$other_modules"; then
+ echo "##### ===== DEPENDENCIES FOR REMOTE MODULES ===== #####"
+ echo
+ for mdh in $remote_mdhs; do
+ echo "$mdh: FORCE"
+ echo " _@_cd _@_%_@_ && \$(MAKE) \$(MAKEDEFS) _@_%_@_$mdh"
+ echo
+ done | sed 's,^\(.*\)_@_%_@_\(.*\)_@_%_@_\(.*\)/\([^/]*\)$,\1\3\2\4,'
+ if test -n "$other_mdhs"; then
+ echo "${other_mdhs}:" | sed 's,^ ,,'
+ echo " false # should only happen with make -n"
+ echo
+ fi
+ for export in $remote_exports; do
+ echo "$export: FORCE"
+ echo " _@_cd _@_%_@_ && \$(MAKE) \$(MAKEDEFS) _@_%_@_$export"
+ echo
+ done | sed 's,^\(.*\)_@_%_@_\(.*\)_@_%_@_\(.*\)/\([^/]*\)$,\1\3\2\4,'
+ if test -n "$other_exports"; then
+ echo "${other_exports}:" | sed 's,^ ,,'
+ echo " false # should only happen with make -n"
+ echo
+ fi
+ for mdll in $remote_modules; do
+ echo "$mdll: FORCE"
+ echo " _@_cd _@_%_@_ && \$(MAKE) \$(MAKEDEFS) _@_%_@_$mdll"
+ echo
+ done | sed 's,^\(.*\)_@_%_@_\(.*\)_@_%_@_\(.*\)/\([^/]*\)$,\1\3\2\4,'
+ if test -n "$other_modules"; then
+ echo "${other_modules}:" | sed 's,^ ,,'
+ echo " false # should only happen with make -n"
+ echo
+ fi
+ fi
+
+ echo "##### End of ${the_makefile}.in"
+
+ exec >&3 3>&-
+
+fi
+
+if $second_stage ; then
+ trap "rm -f $the_subdir/${the_makefile}" 1 2 15
+
+ ${CONFIG_SHELL-/bin/sh} ./config.status \
+ --file=$the_subdir/${the_makefile}:$the_subdir/${the_makefile}.in ||
+ return 1
+fi
+
+exit 0
Index: Src/Modules/.cvsignore
===================================================================
RCS file: /cvsroot/zsh/zsh/Src/Modules/.cvsignore,v
retrieving revision 1.4
diff -u -r1.4 .cvsignore
--- Src/Modules/.cvsignore 3 Nov 2003 02:51:21 -0000 1.4
+++ Src/Modules/.cvsignore 12 Sep 2004 18:49:35 -0000
@@ -15,3 +15,4 @@
*.swp
errnames.c errcount.h
*.dll
+*.rules
Index: Src/Modules/pcre.c
===================================================================
RCS file: /cvsroot/zsh/zsh/Src/Modules/pcre.c,v
retrieving revision 1.9
diff -u -r1.9 pcre.c
--- Src/Modules/pcre.c 22 Jun 2004 23:48:00 -0000 1.9
+++ Src/Modules/pcre.c 12 Sep 2004 18:49:35 -0000
@@ -30,6 +30,7 @@
#include "pcre.mdh"
#include "pcre.pro"
+#include "pcre.ach"
#define CPCRE_PLAIN 0
Index: Src/Modules/pcre.configure.ac
===================================================================
RCS file: Src/Modules/pcre.configure.ac
diff -N Src/Modules/pcre.configure.ac
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ Src/Modules/pcre.configure.ac 12 Sep 2004 18:49:35 -0000
@@ -0,0 +1,46 @@
+dnl
+dnl pcre.ac: Configure template for zsh/pcre module.
+dnl Process this file with autoconf to produce a configure script.
+dnl
+dnl Copyright (c) 2002, 2004 Clint Adams
+dnl
+dnl Permission is hereby granted, without written agreement and without
+dnl license or royalty fees, to use, copy, modify, and distribute this
+dnl software and to distribute modified versions of this software for any
+dnl purpose, provided that the above copyright notice and the following
+dnl two paragraphs appear in all copies of this software.
+dnl
+dnl In no event shall Clint Adams or the Zsh Development Group be liable
+dnl to any party for direct, indirect, special, incidental, or consequential
+dnl damages arising out of the use of this software and its documentation,
+dnl even if Clint Adams and the Zsh Development Group have been advised of
+dnl the possibility of such damage.
+dnl
+dnl Clint Adams and the Zsh Development Group specifically disclaim any
+dnl warranties, including, but not limited to, the implied warranties of
+dnl merchantability and fitness for a particular purpose. The software
+dnl provided hereunder is on an "as is" basis, and Clint Adams and
+the
+dnl Zsh Development Group have no obligation to provide maintenance,
+dnl support, updates, enhancements, or modifications.
+dnl
+
+AC_INIT
+AC_CONFIG_SRCDIR([pcre.c])
+AC_PREREQ(2.59)
+
+AC_CONFIG_HEADER(pcre.ach)
+
+oldcflags="$CFLAGS"
+AC_CHECK_PROG([PCRECONF], pcre-config, pcre-config)
+if test "x$ac_cv_prog_PCRECONF" = xpcre-config; then
+ CPPFLAGS="$CPPFLAGS `pcre-config --cflags`"
+fi
+
+AC_CHECK_HEADERS(pcre.h)
+
+AC_SEARCH_LIBS(pcre_compile, pcre)
+AC_CHECK_FUNCS(pcre_compile pcre_study pcre_exec)
+
+AC_CONFIG_FILES([pcre.rules])
+AC_OUTPUT
Index: Src/Modules/pcre.mdd
===================================================================
RCS file: /cvsroot/zsh/zsh/Src/Modules/pcre.mdd,v
retrieving revision 1.3
diff -u -r1.3 pcre.mdd
--- Src/Modules/pcre.mdd 1 Mar 2004 17:58:59 -0000 1.3
+++ Src/Modules/pcre.mdd 12 Sep 2004 18:49:35 -0000
@@ -1,7 +1,9 @@
name=zsh/pcre
-link=`if test x$enable_pcre = xyes; then echo dynamic; else echo no; fi`
+link=dynamic
load=no
autobins="pcre_compile pcre_study pcre_match"
objects="pcre.o"
+
+autoconf=yes
Index: Src/Modules/pcre.rules.in
===================================================================
RCS file: Src/Modules/pcre.rules.in
diff -N Src/Modules/pcre.rules.in
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ Src/Modules/pcre.rules.in 12 Sep 2004 18:49:35 -0000
@@ -0,0 +1 @@
+EXTRALIBS_pcre = @LIBS@
Messages sorted by:
Reverse Date,
Date,
Thread,
Author