This directory conains a version of LibPCRE 6.7 that has been stripped down to under half its original uncompressed size. So if you want docs, tests and such, you should go to the PCRE website at http://www.pcre.org . Here are the changes for the Nmap version: o rm -rf doc testdata pcretest.c pcregrep.c pcredemo.c ChangeLog o Renamed configure.in to configure.ac o Removed RunGrepTest.in, Runtest.in o Removed pcretest and pcregrep from the Makefile.in all target: --- Makefile.in.old Sun Jul 20 23:00:56 2003 +++ Makefile.in Sun Jul 20 23:01:13 2003 @@ -103,7 +103,7 @@ OBJ = maketables.@OBJEXT@ get.@OBJEXT@ study.@OBJEXT@ pcre.@OBJEXT@ @POSIX_OBJ@ LOBJ = maketables.lo get.lo study.lo pcre.lo @POSIX_LOBJ@ -all: libpcre.la @POSIX_LIB@ pcretest@EXEEXT@ pcregrep@EXEEXT@ @ON_WINDOWS@ winshared +all: libpcre.la @POSIX_LIB@ @ON_WINDOWS@ winshared pcregrep@EXEEXT@: libpcre.la pcregrep.@OBJEXT@ @ON_WINDOWS@ winshared $(LINK) -o pcregrep@EXEEXT@ pcregrep.@OBJEXT@ -lpcre o Stripped down Makefile and configure.ac substantially to remove libtool dependency (was having trouble on Mac OS X), remove Windows stuff (Nmap uses a custom MS VC project for this), and insure it only worries about building libpcre.a (which is now build in the libpcre directory rather than in libpcre/.libs ). o removed libpcre.pc.in o Regenerated configure script by running 'aclocal; autoconf' o Get rid of C++ wrapper, which included this step: rm -f pcrecpp.cc pcrecpp_unittest.cc pcre_scanner.cc pcre_scanner_unittest.cc pcre_stringpiece.cc pcre_stringpiece_unittest.cc pcrecpp.h pcrecpp.h.in pcre_scanner.h pcre_stringpiece.h pcre_stringpiece.h.in o Removed COPYING file as there is already a LICENSE file with exactly the same contents. o Removed pcre_ucp_findchar.c and ucptable.c o Added this NMAP_MODIFICATIONS file o Remove some junk that deals with dynamic linking of pcre: --- pcre.h (revision 2947) +++ pcre.h (working copy) @@ -47,19 +47,8 @@ #define PCRE_DATE 15-Aug-2005 /* Win32 uses DLL by default; it needs special stuff for exported functions. */ +/* Removed some defines here as I always compile staticly */ -#ifdef _WIN32 -# ifdef PCRE_DEFINITION -# ifdef DLL_EXPORT -# define PCRE_DATA_SCOPE __declspec(dllexport) -# endif -# else -# ifndef PCRE_STATIC -# define PCRE_DATA_SCOPE extern __declspec(dllimport) -# endif -# endif -#endif - /* For other operating systems, we use the standard "extern". */ #ifndef PCRE_DATA_SCOPE o Applied this patch from Kurt Grutzmacher (grutz(a)jingojango.net) which adds the -fno-thread-jumps option when compiled on Mac OS X intel: --- ../nmap-4.02Alpha2.orig/libpcre/configure.ac 2006-03-10 12:48: 34.000000000 -0800 +++ libpcre/configure.ac 2006-03-10 12:49:33.000000000 -0800 @@ -169,6 +169,18 @@ UTF8=-DSUPPORT_UTF8 fi +dnl MacOSX on Intel Hack to remove thread-jumps +AC_CANONICAL_HOST + +case "$host" in + i386-apple-darwin*) + macosx=yes + AC_DEFINE(MACOSX) + needs_cpp_precomp=yes + CFLAGS="$CFLAGS -fno-thread-jumps" + ;; +esac + dnl "Export" these variables AC_SUBST(BUILD_EXEEXT) @@ -191,6 +203,7 @@ AC_SUBST(POSIX_MALLOC_THRESHOLD) AC_SUBST(UCP) AC_SUBST(UTF8) +AC_SUBST(CFLAGS) AC_SUBST(POSIX_OBJ) AC_SUBST(POSIX_LOBJ) o rm pcre_printint.src o Comment out some build configuration lines from pcre.h because Nmap builds a static library: --- pcre.h (revision 4133) +++ pcre.h (working copy) @@ -58,8 +58,9 @@ #define PCRE_DATE 04-Jul-2006 /* Win32 uses DLL by default; it needs special stuff for exported functions -when building PCRE. */ +when building PCRE. -- COMMENTED OUT BECAUSE I COMPILE STATICALLY */ +/* #ifdef _WIN32 # ifdef PCRE_DEFINITION # ifdef DLL_EXPORT @@ -71,6 +72,7 @@ # endif # endif #endif +*/