[exim-cvs] cvs commit: exim/exim-src/OS Makefile-Base Makef…

Top Page
Delete this message
Reply to this message
Author: Nigel Metheringham
Date:  
To: exim-cvs
Subject: [exim-cvs] cvs commit: exim/exim-src/OS Makefile-Base Makefile-Default exim/exim-src/exim_monitor em_hdr.h exim/exim-src/src EDITME exim.h exim/exim-src/src/pcre ChangeLog LICENCE Makefile README c
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