From: Sascha Schumann Date: Mon, 12 Jun 2000 06:44:26 +0000 (+0000) Subject: Build only needed parts of libpcre. This is more light-wheight than X-Git-Tag: APACHE_2_0_ALPHA_5~367 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=a4accf814a1e993b1949f33ccb1aae0f6ce89b1a;p=apache Build only needed parts of libpcre. This is more light-wheight than having a complete build-subsystem for PCRE. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@85528 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/configure.in b/configure.in index 26d62799e7..f9bf3df409 100644 --- a/configure.in +++ b/configure.in @@ -30,7 +30,7 @@ if test "$abs_builddir" != "$abs_srcdir"; then fi dnl ## Run configure for packages Apache uses -AC_CONFIG_SUBDIRS(lib/pcre lib/apr) +AC_CONFIG_SUBDIRS(lib/apr) dnl dnl ## Preload our OS configuration @@ -173,7 +173,7 @@ AC_ARG_WITH(program-name, progname="httpd"] ) APACHE_FAST_OUTPUT(Makefile ap/Makefile lib/Makefile main/Makefile) -APACHE_FAST_OUTPUT(modules/Makefile os/Makefile support/Makefile) +APACHE_FAST_OUTPUT(modules/Makefile os/Makefile support/Makefile lib/pcre/Makefile) APACHE_GEN_CONFIG_VARS diff --git a/srclib/pcre/Makefile.in b/srclib/pcre/Makefile.in index c2edf9cd07..7e41c839af 100644 --- a/srclib/pcre/Makefile.in +++ b/srclib/pcre/Makefile.in @@ -1,218 +1,19 @@ +LTLIBRARY_NAME = libpcre.la +LTLIBRARY_SOURCES = maketables.c get.c study.c pcre.c pcreposix.c -# Makefile.in for PCRE (Perl-Compatible Regular Expression) library. +CLEANFILES = dftables dftables.lo config.h chartables.c -#---------------------------------------------------------------------------# -# To build mingw32 DLL uncomment the next two lines. This addition for # -# mingw32 was contributed by . I (Philip # -# Hazel) don't know anything about it! There are some additional targets at # -# the bottom of this Makefile. # -#---------------------------------------------------------------------------# -# -# include dll.mk -# DLL_LDFLAGS=-s +include $(top_srcdir)/build/ltlib.mk -#---------------------------------------------------------------------------# -# The next few lines are modified by "configure" to insert data that it is # -# given in its arguments, or which it finds out for itself. # -#---------------------------------------------------------------------------# +config.h: + touch $@ -# BINDIR is the directory in which the pgrep command is installed. -# INCDIR is the directory in which the public header file pcre.h is installed. -# LIBDIR is the directory in which the libraries are installed. -# MANDIR is the directory in which the man pages are installed. -# The pcretest program, as it is a test program, does not get installed -# anywhere. +$(LTLIBRARY_OBJECTS) dftables.lo: config.h -SHELL=@SHELL@ -prefix = @prefix@ -exec_prefix = @exec_prefix@ +dftables: dftables.lo + $(LINK) $(EXTRA_LDFLAGS) dftables.lo -BINDIR = @bindir@ -LIBDIR = @libdir@ -INCDIR = @includedir@ -MANDIR = @mandir@ +chartables.c: dftables + ./dftables > $@ -CC = @CC@ -CFLAGS = @CFLAGS@ -RANLIB = @RANLIB@ - -# LIBTOOL defaults to "", which cuts out the building of shared libraries. -# If "configure" is called with --enable-shared-libraries, then LIBTOOL is -# set to "libtool", which causes shared libraries to be built, and LIBSUFFIX -# is set to "la" instead of "a", which causes the shared libraries to be -# installed. - -LIBTOOL = @LIBTOOL@ -LIBSUFFIX = @LIBSUFFIX@ - -# These are the version numbers for the shared libraries - -PCRELIBVERSION = @PCRE_LIB_VERSION@ -PCREPOSIXLIBVERSION = @PCRE_POSIXLIB_VERSION@ - - -#---------------------------------------------------------------------------# -# A copy of install-sh is in this distribution and is used by default. # -#---------------------------------------------------------------------------# - -INSTALL = ./install-sh -c -INSTALL_DATA = ${INSTALL} -m 644 - - -#---------------------------------------------------------------------------# -# For almost all systems, the command to create a library is "ar cq", but # -# there is at least one where it is different, to make this configurable. # -# However, I haven't got round to learning how to make "configure" find # -# this out for itself. It is necessary to use a command such as # -# "make AR='ar -rc'" if you need to vary this. # -#---------------------------------------------------------------------------# - -AR = ar cq - - -############################################################################## - - -OBJ = maketables.o get.o study.o pcre.o -LOBJ = maketables.lo get.lo study.lo pcre.lo - -all: libtool libpcre.$(LIBSUFFIX) libpcreposix.$(LIBSUFFIX) pcretest pgrep - -libtool: config.guess config.sub ltconfig ltmain.sh - @if test "$(LIBTOOL)" = "libtool"; then \ - echo '--- Building libtool ---'; \ - ./ltconfig ./ltmain.sh; \ - echo '--- Built libtool ---'; fi - -pgrep: libpcre.$(LIBSUFFIX) pgrep.o - @echo ' ' - @echo '--- Building pgrep utility' - @echo ' ' - $(LIBTOOL) $(CC) $(CFLAGS) -o pgrep pgrep.o libpcre.$(LIBSUFFIX) - -pcretest: libpcre.$(LIBSUFFIX) libpcreposix.$(LIBSUFFIX) pcretest.o - @echo ' ' - @echo '--- Building pcretest testing program' - @echo ' ' - $(LIBTOOL) $(PURIFY) $(CC) $(CFLAGS) -o pcretest pcretest.o \ - libpcre.$(LIBSUFFIX) libpcreposix.$(LIBSUFFIX) - -libpcre.a: $(OBJ) - @echo ' ' - @echo '--- Building static library: libpcre' - @echo ' ' - -rm -f libpcre.a - $(AR) libpcre.a $(OBJ) - $(RANLIB) libpcre.a - -libpcre.la: $(OBJ) - @echo ' ' - @echo '--- Building shared library: libpcre' - @echo ' ' - -rm -f libpcre.la - libtool $(CC) -version-info '$(PCRELIBVERSION)' -o libpcre.la -rpath $(LIBDIR) $(LOBJ) - -libpcreposix.a: pcreposix.o - @echo ' ' - @echo '--- Building static library: libpcreposix' - @echo ' ' - -rm -f libpcreposix.a - $(AR) libpcreposix.a pcreposix.o - $(RANLIB) libpcreposix.a - -libpcreposix.la: pcreposix.o - @echo ' ' - @echo '--- Building shared library: libpcreposix' - @echo ' ' - -rm -f libpcreposix.la - libtool $(CC) -version-info '$(PCREPOSIXLIBVERSION)' -o libpcreposix.la -rpath $(LIBDIR) pcreposix.lo - -pcre.o: chartables.c pcre.c pcre.h internal.h config.h Makefile - $(LIBTOOL) $(CC) -c $(CFLAGS) pcre.c - -pcreposix.o: pcreposix.c pcreposix.h internal.h pcre.h config.h Makefile - $(LIBTOOL) $(CC) -c $(CFLAGS) pcreposix.c - -maketables.o: maketables.c pcre.h internal.h config.h Makefile - $(LIBTOOL) $(CC) -c $(CFLAGS) maketables.c - -get.o: get.c pcre.h internal.h config.h Makefile - $(LIBTOOL) $(CC) -c $(CFLAGS) get.c - -study.o: study.c pcre.h internal.h config.h Makefile - $(LIBTOOL) $(CC) -c $(CFLAGS) study.c - -pcretest.o: pcretest.c pcre.h config.h Makefile - $(CC) -c $(CFLAGS) pcretest.c - -pgrep.o: pgrep.c pcre.h Makefile config.h - $(CC) -c $(CFLAGS) pgrep.c - -# An auxiliary program makes the default character table source - -chartables.c: dftables - ./dftables >chartables.c - -dftables: dftables.c maketables.c pcre.h internal.h config.h Makefile - $(CC) -o dftables $(CFLAGS) dftables.c - -install: all - $(LIBTOOL) $(INSTALL_DATA) libpcre.$(LIBSUFFIX) $(LIBDIR)/libpcre.$(LIBSUFFIX) - $(LIBTOOL) $(INSTALL_DATA) libpcreposix.$(LIBSUFFIX) $(LIBDIR)/libpcreposix.$(LIBSUFFIX) - $(INSTALL_DATA) pcre.h $(INCDIR)/pcre.h - $(INSTALL_DATA) pcreposix.h $(INCDIR)/pcreposix.h - $(INSTALL_DATA) doc/pcre.3 $(MANDIR)/man3/pcre.3 - $(INSTALL_DATA) doc/pcreposix.3 $(MANDIR)/man3/pcreposix.3 - $(INSTALL_DATA) doc/pgrep.1 $(MANDIR)/man1/pgrep.1 - @if test "$(LIBTOOL)" = "libtool"; then \ - echo ' '; \ - echo '--- Rebuilding pgrep to use installed shared library ---'; \ - echo $(CC) $(CFLAGS) -o pgrep pgrep.o -L$(LIBDIR) -lpcre; \ - $(CC) $(CFLAGS) -o pgrep pgrep.o -L$(LIBDIR) -lpcre; \ - echo '--- Rebuilding pcretest to use installed shared library ---'; \ - echo $(CC) $(CFLAGS) -o pcretest pcretest.o -L$(LIBDIR) -lpcre -lpcreposix; \ - $(CC) $(CFLAGS) -o pcretest pcretest.o -L$(LIBDIR) -lpcre -lpcreposix; \ - fi - $(INSTALL) pgrep $(BINDIR)/pgrep - $(INSTALL) pcre-config $(BINDIR)/pcre-config - -# We deliberately omit dftables and chartables.c from 'make clean'; once made -# chartables.c shouldn't change, and if people have edited the tables by hand, -# you don't want to throw them away. - -clean:; -rm -rf *.o *.lo *.a *.la .libs pcretest pgrep testtry *.exe - -# But "make distclean" should get back to a virgin distribution - -distclean: clean - -rm -f chartables.c libtool pcre-config pcre.h \ - Makefile config.h config.status config.log config.cache - -check: runtest - -runtest: all - ./RunTest - -depend: - echo '*** SKIPPING PCRE UNTIL SOMEONE MAKES IT WORK ***' - -######## MINGW32 ############### MINGW32 ############### MINGW32 ############# - -# This addition for mingw32 was contributed by Paul Sokolovsky -# . I (PH) don't know anything about it! - -dll: _dll libpcre.dll.a pgrep_d pcretest_d - -_dll: - $(MAKE) CFLAGS=-DSTATIC pcre.dll - -pcre.dll: $(OBJ) pcreposix.o pcre.def -libpcre.dll.a: pcre.def - -pgrep_d: libpcre.dll.a pgrep.o - $(CC) $(CFLAGS) -L. -o pgrep pgrep.o -lpcre.dll - -pcretest_d: libpcre.dll.a pcretest.o - $(PURIFY) $(CC) $(CFLAGS) -L. -o pcretest pcretest.o -lpcre.dll - -# End +pcre.lo: chartables.c