nm4 2008/01/16 13:44:46 GMT
Modified files:
exim-src/OS Makefile-Base Makefile-Default
exim-src/exim_monitor em_hdr.h
exim-src/src EDITME exim.h
exim-src/src/pcre README
Removed files:
exim-src/src/pcre ChangeLog LICENCE Makefile config.h
dftables.c pcre.h pcre_chartables.c
pcre_compile.c pcre_config.c pcre_exec.c
pcre_fullinfo.c pcre_get.c pcre_globals.c
pcre_internal.h pcre_maketables.c
pcre_newline.c pcre_printint.src
pcre_study.c pcre_tables.c
pcre_try_flipped.c pcre_version.c
pcretest.c ucp.h
Log:
Initial work removing PCRE from dist. Documentation needs to be updated. Related: #657
Revision Changes Path
1.13 +6 -22 exim/exim-src/OS/Makefile-Base
1.3 +5 -8 exim/exim-src/OS/Makefile-Default
1.7 +1 -1 exim/exim-src/exim_monitor/em_hdr.h
1.21 +13 -0 exim/exim-src/src/EDITME
1.24 +1 -1 exim/exim-src/src/exim.h
1.8 +0 -3015 exim/exim-src/src/pcre/ChangeLog (dead)
1.6 +0 -68 exim/exim-src/src/pcre/LICENCE (dead)
1.10 +0 -88 exim/exim-src/src/pcre/Makefile (dead)
1.2 +8 -12 exim/exim-src/src/pcre/README
1.5 +0 -48 exim/exim-src/src/pcre/config.h (dead)
1.8 +0 -201 exim/exim-src/src/pcre/dftables.c (dead)
1.8 +0 -305 exim/exim-src/src/pcre/pcre.h (dead)
1.3 +0 -200 exim/exim-src/src/pcre/pcre_chartables.c (dead)
1.7 +0 -6147 exim/exim-src/src/pcre/pcre_compile.c (dead)
1.7 +0 -130 exim/exim-src/src/pcre/pcre_config.c (dead)
1.7 +0 -4940 exim/exim-src/src/pcre/pcre_exec.c (dead)
1.7 +0 -167 exim/exim-src/src/pcre/pcre_fullinfo.c (dead)
1.7 +0 -467 exim/exim-src/src/pcre/pcre_get.c (dead)
1.7 +0 -65 exim/exim-src/src/pcre/pcre_globals.c (dead)
1.8 +0 -1119 exim/exim-src/src/pcre/pcre_internal.h (dead)
1.7 +0 -145 exim/exim-src/src/pcre/pcre_maketables.c (dead)
1.4 +0 -166 exim/exim-src/src/pcre/pcre_newline.c (dead)
1.5 +0 -514 exim/exim-src/src/pcre/pcre_printint.src (dead)
1.7 +0 -581 exim/exim-src/src/pcre/pcre_study.c (dead)
1.7 +0 -320 exim/exim-src/src/pcre/pcre_tables.c (dead)
1.7 +0 -139 exim/exim-src/src/pcre/pcre_try_flipped.c (dead)
1.7 +0 -92 exim/exim-src/src/pcre/pcre_version.c (dead)
1.9 +0 -2398 exim/exim-src/src/pcre/pcretest.c (dead)
1.6 +0 -135 exim/exim-src/src/pcre/ucp.h (dead)
Index: Makefile-Base
===================================================================
RCS file: /home/cvs/exim/exim-src/OS/Makefile-Base,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -r1.12 -r1.13
--- Makefile-Base 12 Nov 2007 13:02:19 -0000 1.12
+++ Makefile-Base 16 Jan 2008 13:44:45 -0000 1.13
@@ -1,4 +1,4 @@
-# $Cambridge: exim/exim-src/OS/Makefile-Base,v 1.12 2007/11/12 13:02:19 nm4 Exp $
+# $Cambridge: exim/exim-src/OS/Makefile-Base,v 1.13 2008/01/16 13:44:45 nm4 Exp $
# This file is the basis of the main makefile for Exim and friends. The
# makefile at the top level arranges to build the main makefile by calling
@@ -96,14 +96,14 @@
# therefore always be run, even if the files exist. This shouldn't in fact be a
# problem, but it does no harm. Other make programs will just ignore this.
-.PHONY: all allexim buildauths buildlookups buildpcre buildrouters \
+.PHONY: all allexim buildauths buildlookups buildrouters \
buildtransports checklocalmake clean
# This is the real default target for all the various exim binaries and
# scripts, once the configuring stuff is done.
-allexim: config.h buildpcre $(EXIM_MONITOR) exicyclog exinext exiwhat \
+allexim: config.h $(EXIM_MONITOR) exicyclog exinext exiwhat \
exigrep eximstats exipick exiqgrep exiqsumm \
transport-filter.pl convert4r3 convert4r4 \
exim_checkaccess \
@@ -314,7 +314,7 @@
local_scan.o $(EXIM_PERL) $(OBJ_WITH_CONTENT_SCAN) \
$(OBJ_WITH_OLD_DEMIME) $(OBJ_EXPERIMENTAL)
-exim: pcre/libpcre.a lookups/lookups.a auths/auths.a \
+exim: lookups/lookups.a auths/auths.a \
routers/routers.a transports/transports.a \
$(OBJ_EXIM) version.c
@echo " "
@@ -325,12 +325,11 @@
rm -f exim
@echo "$(LNCC) -o exim"
$(FE)$(PURIFY) $(LNCC) -o exim $(LFLAGS) $(OBJ_EXIM) version.o \
- pcre/libpcre.a \
routers/routers.a transports/transports.a lookups/lookups.a \
auths/auths.a \
$(LIBRESOLV) $(LIBS) $(LIBS_EXIM) $(IPV6_LIBS) $(EXTRALIBS) \
$(EXTRALIBS_EXIM) $(DBMLIB) $(LOOKUP_LIBS) $(AUTH_LIBS) \
- $(PERL_LIBS) $(TLS_LIBS) $(LDFLAGS)
+ $(PERL_LIBS) $(TLS_LIBS) $(PCRE_LIBS) $(LDFLAGS)
@if [ x"$(STRIP_COMMAND)" != x"" ]; then \
echo $(STRIP_COMMAND) exim; \
$(STRIP_COMMAND) exim; \
@@ -429,14 +428,14 @@
OBJ_MONBIN = util-spool_in.o util-store.o util-string.o tod.o tree.o $(MONBIN)
-eximon.bin: $(EXIMON_EDITME) eximon $(OBJ_MONBIN) pcre/libpcre.a \
+eximon.bin: $(EXIMON_EDITME) eximon $(OBJ_MONBIN) \
../exim_monitor/em_version.c
@echo "$(CC) exim_monitor/em_version.c"
$(FE)$(CC) -o em_version.o -c \
$(CFLAGS) $(XINCLUDE) -I. ../exim_monitor/em_version.c
@echo "$(LNCC) -o eximon.bin"
$(FE)$(PURIFY) $(LNCC) -o eximon.bin em_version.o $(LFLAGS) $(XLFLAGS) \
- $(OBJ_MONBIN) -lXaw -lXmu -lXt -lXext -lX11 pcre/libpcre.a \
+ $(OBJ_MONBIN) -lXaw -lXmu -lXt -lXext -lX11 $(PCRE_LIBS) \
$(LIBS) $(LIBS_EXIMON) $(EXTRALIBS) $(EXTRALIBS_EXIMON) -lc
@if [ x"$(STRIP_COMMAND)" != x"" ]; then \
echo $(STRIP_COMMAND) eximon.bin; \
@@ -647,21 +646,6 @@
# drtables.o when they rebuild.) To get round this, we forcibly remove the
# binary when it needs to be rebuilt.
-# The PCRE regex library. Move the pcretest program to the util directory. Some
-# "clever" versions of make notice that there are two successive shell
-# commands, and they run them in the same shell. This means that we have to
-# take care to encapsulate change of directory in parentheses, so that it
-# reverts when it should.
-
-buildpcre:
- @(cd pcre; $(MAKE) SHELL=$(SHELL) AR="$(AR)" $(MFLAGS) CC="$(CC)" \
- FE="$(FE)" CFLAGS="$(CFLAGS) $(PCRE_CFLAGS) -DHAVE_CONFIG_H" \
- RANLIB="$(RANLIB)" RM_COMMAND="$(RM_COMMAND)" HDRS="$(PHDRS)" \
- INCLUDE="$(INCLUDE) $(IPV6_INCLUDE) $(TLS_INCLUDE)")
- @if $(SHELL) $(SCRIPTS)/newer pcre/libpcre.a exim; then \
- rm -f exim eximon.bin; fi
- @echo " "
-
# The lookups library.
buildlookups:
Index: Makefile-Default
===================================================================
RCS file: /home/cvs/exim/exim-src/OS/Makefile-Default,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- Makefile-Default 10 Feb 2006 14:33:26 -0000 1.2
+++ Makefile-Default 16 Jan 2008 13:44:45 -0000 1.3
@@ -1,4 +1,4 @@
-# $Cambridge: exim/exim-src/OS/Makefile-Default,v 1.2 2006/02/10 14:33:26 ph10 Exp $
+# $Cambridge: exim/exim-src/OS/Makefile-Default,v 1.3 2008/01/16 13:44:45 nm4 Exp $
##################################################
# The Exim mail transport agent #
@@ -87,6 +87,11 @@
# LFLAGS=
+# PCRE_LIBS contains the library to be linked for PCRE
+
+#PCRE_LIBS=-lpcre
+
+
# LIBS and EXTRALIBS contain library settings that are used on linking
# commands to build binaries. The OS-dependent Makefile may contain a default
# setting for LIBS, leaving EXTRALIBS available for adding further libraries
@@ -112,14 +117,6 @@
# EXTRALIBS_EXIMON=
-# PCRE_CFLAGS contains flags to be passed to the CFLAGS parameter of the
-# makefile for building the PCRE regular expression library, in addition
-# to CFLAGS. Typical use is to set -DUSE_BCOPY on legacy systems that lack
-# the memmove() function but do have bcopy().
-
-# PCRE_CFLAGS=
-
-
# The error name for quota exceeded varies among operating systems, and
# even, unfortunately, in different versions of the same operating system.
# EDQUOT was not in Sys V, but is in SPEC 1170, apparently. It was used
Index: em_hdr.h
===================================================================
RCS file: /home/cvs/exim/exim-src/exim_monitor/em_hdr.h,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- em_hdr.h 8 Jan 2007 10:50:17 -0000 1.6
+++ em_hdr.h 16 Jan 2008 13:44:45 -0000 1.7
@@ -1,4 +1,4 @@
-/* $Cambridge: exim/exim-src/exim_monitor/em_hdr.h,v 1.6 2007/01/08 10:50:17 ph10 Exp $ */
+/* $Cambridge: exim/exim-src/exim_monitor/em_hdr.h,v 1.7 2008/01/16 13:44:45 nm4 Exp $ */
/*************************************************
* Exim Monitor *
@@ -87,7 +87,7 @@
/* Regular expression include */
-#include "pcre/pcre.h"
+#include <pcre.h>
/* Includes from the main source of Exim. We need to have MAXPACKET defined for
the benefit of structs.h. One of these days I should tidy up this interface so
Index: EDITME
===================================================================
RCS file: /home/cvs/exim/exim-src/src/EDITME,v
retrieving revision 1.20
retrieving revision 1.21
diff -u -r1.20 -r1.21
--- EDITME 22 Jan 2007 16:29:54 -0000 1.20
+++ EDITME 16 Jan 2008 13:44:45 -0000 1.21
@@ -1,4 +1,4 @@
-# $Cambridge: exim/exim-src/src/EDITME,v 1.20 2007/01/22 16:29:54 ph10 Exp $
+# $Cambridge: exim/exim-src/src/EDITME,v 1.21 2008/01/16 13:44:45 nm4 Exp $
##################################################
# The Exim mail transport agent #
@@ -301,6 +301,19 @@
#------------------------------------------------------------------------------
+# The PCRE library is required for exim. There is no longer an embedded
+# version of the PCRE library included with the source code, instead you
+# must use a system library or build your own copy of PCRE.
+# In either case you must specify the library link info here. If the
+# PCRE header files are not in the standard search path you must also
+# modify the INCLUDE path (above)
+# The default setting of PCRE_LIBS should work on the vast majority of
+# systems
+
+PCRE_LIBS=-lpcre
+
+
+#------------------------------------------------------------------------------
# Additional libraries and include directories may be required for some
# lookup styles (e.g. LDAP, MYSQL or PGSQL). LOOKUP_LIBS is included only on
# the command for linking Exim itself, not on any auxiliary programs. You
Index: exim.h
===================================================================
RCS file: /home/cvs/exim/exim-src/src/exim.h,v
retrieving revision 1.23
retrieving revision 1.24
diff -u -r1.23 -r1.24
--- exim.h 28 Sep 2007 12:21:57 -0000 1.23
+++ exim.h 16 Jan 2008 13:44:45 -0000 1.24
@@ -1,4 +1,4 @@
-/* $Cambridge: exim/exim-src/src/exim.h,v 1.23 2007/09/28 12:21:57 tom Exp $ */
+/* $Cambridge: exim/exim-src/src/exim.h,v 1.24 2008/01/16 13:44:45 nm4 Exp $ */
/*************************************************
* Exim - an Internet mail transport agent *
@@ -422,7 +422,7 @@
/* The header from the PCRE regex package */
-#include "pcre/pcre.h"
+#include <pcre.h>
/* Exim includes are in several files. Note that local_scan.h #includes
config.h, mytypes.h, and store.h, so we don't need to mention them explicitly.
Index: README
===================================================================
RCS file: /home/cvs/exim/exim-src/src/pcre/README,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- README 7 Oct 2004 13:04:13 -0000 1.1
+++ README 16 Jan 2008 13:44:45 -0000 1.2
@@ -1,20 +1,16 @@
-$Cambridge: exim/exim-src/src/pcre/README,v 1.1 2004/10/07 13:04:13 ph10 Exp $
+$Cambridge: exim/exim-src/src/pcre/README,v 1.2 2008/01/16 13:44:45 nm4 Exp $
PCRE for use in Exim
--------------------
-This directory contains a subset of the files from the PCRE distribution,
-enough to supply regular expression support for Exim, plus the pcretest test
-program. Do not start from here if you want to install PCRE as a free-standing
-library for use by other programs. Get the full PCRE distribution, which can be
-obtained from
+This directory used to contain a subset of the files from the PCRE distribution.
-
ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-x.x.tar.gz
+However carrying our own subset of PCRE, especially when the vast
+majority of systems now have PCRE as a system library, has become a
+liability, requiring exim to be manually updated whenever changes are
+made in PCRE.
-where x.x is the version number. This contains support for a POSIX interface to
-PCRE, a "grep" program that uses PCRE, and the means to build PCRE as a shared
-library. It is configured by autoconf, and has "make install" support in the
-conventional way.
+PCRE can be found at
http://www.pcre.org/
-Philip Hazel <ph10@???>
-February 2000
+Nigel Metheringham
+January 2008