Re: [Exim] [OT] ftp://ftp.csx.cam.ac.uk/pub/software/program…

Top Page
Delete this message
Reply to this message
Author: Andreas Metzler
Date:  
To: Exim Users
Subject: Re: [Exim] [OT] ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/ mirrors
On Mon, Sep 29, 2003 at 06:09:27PM +0200, Oliver Eikemeier wrote:
> excuse me for being off topic, but is anbody mirroring
> another piece of fine software by the master himself:
>
> ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/
>
> No, not http://sourceforge.net/projects/pcre/


This is the same piece of software, see http://www.pcre.org/

> Btw, is there any reason that exim uses a build-in
> version of PCRE and not a shared library?


I assume because in ancient times pcre was not built as shared
library and not installed on many machines, on Debian we apply the
patch below to force dynamic linking.
            cu andreas
--------------
diff -urNad 30.tmp/OS/Makefile-Base 30/OS/Makefile-Base
--- 30.tmp/OS/Makefile-Base    Mon Dec 30 10:28:54 2002
+++ 30/OS/Makefile-Base    Mon Dec 30 10:29:28 2002
@@ -94,7 +94,7 @@
 # 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 exiqgrep exiqsumm \
         transport-filter.pl convert4r3 convert4r4 \
         exim_checkaccess \
@@ -255,7 +255,7 @@
         store.o string.o tls.o tod.o transport.o tree.o verify.o \
         local_scan.o $(EXIM_PERL)


-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 " "
@@ -264,7 +264,7 @@
     $(CC) -c $(CFLAGS) $(INCLUDE) $(IPV6_INCLUDE) $(TLS_INCLUDE) version.c
     rm -f exim
     $(PURIFY) $(LNCC) -o exim $(LFLAGS) $(OBJ_EXIM) version.o \
-      pcre/libpcre.a \
+      -lpcre \
       routers/routers.a transports/transports.a lookups/lookups.a \
       auths/auths.a \
       $(LIBRESOLV) $(LIBS) $(LIBS_EXIM) $(IPV6_LIBS) $(EXTRALIBS) \
@@ -366,12 +366,12 @@


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
     $(CC) -o em_version.o -c \
       $(CFLAGS) $(XINCLUDE) -I. ../exim_monitor/em_version.c
     $(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 -lpcre \
       $(LIBS) $(LIBS_EXIMON) $(EXTRALIBS) $(EXTRALIBS_EXIMON) -lc
     @if [ x"$(STRIP_COMMAND)" != x"" ]; then \
       echo $(STRIP_COMMAND) eximon.bin; \
diff -urNad 30.tmp/exim_monitor/em_hdr.h 30/exim_monitor/em_hdr.h
--- 30.tmp/exim_monitor/em_hdr.h    Mon Dec 30 10:28:54 2002
+++ 30/exim_monitor/em_hdr.h    Mon Dec 30 10:29:28 2002
@@ -85,7 +85,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
diff -urNad 30.tmp/src/exim.h 30/src/exim.h
--- 30.tmp/src/exim.h    Mon Dec 30 10:28:54 2002
+++ 30/src/exim.h    Mon Dec 30 10:29:28 2002
@@ -322,7 +322,7 @@


/* The header from the PCRE regex package */

-#include "pcre/pcre.h"
+#include <pcre.h>

/* Exim includes are in several files */