1
0
mirror of https://github.com/nmap/nmap.git synced 2025-12-06 04:31:29 +00:00
Files
nmap/libpcre/NMAP_MODIFICATIONS

150 lines
4.5 KiB
Plaintext

This directory contains a version of LibPCRE 7.4 that has been stripped
down to less than a third of 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 Started this NMAP_MODIFICATIONS file
o Removed these directories:
doc
testdata
o Removed these files:
pcretest.c
pcregrep.c
pcredemo.c
RunGrepTest
RunTest
RunTest.bat
perltest.pl
Detrail
PrepareRelease
libpcre.pc.in
libpcrecpp.pc.in
pcre_printint.src
CMakeLists.txt
config-cmake.h.in
132html
makevp.bat
makevp_c.txt
makevp_l.txt
pcregexp.pas
ltmain.sh
CleanTxt
ChangeLog
NEWS
HACKING
COPYING [Look at LICENCE]
o Got rid of the C++ wrapper, which included this step:
rm -f *.cc pcrecpparg.h.in pcrecpp.h pcrecpp_internal.h pcre_scanner.h pcre_stringpiece.h.in
o Copied pcre.h.generic to pcre.h and pcre_chartables.c.dist to, you
guessed it, pcre_chartables.c (for Windows). Running ./configure in
UNIX just overwrites them with other ones. Made the rule that makes
pcre_chartables.c copy pcre_chartables.c.dist instead of making a
symbolic link to it. Remove pcre_chartables.c from CLEANFILES.
o Stripped down Makefile.am 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 ). Removed quite a bit of
unneeded things from these files, as well as adding -fno-thread-jumps
when compiling on Mac OS X on Intel (original patch: Kurt Grutzmacher
grutz(a)jingojango.net). [The diff is FAR too large to included here]
o Removed config.sub, config.guess, depcomp, install-sh, and missing.
These files are found in the parent (i.e., Nmap's) directory.
o Comment out some build configuration lines from pcre_internal.h because Nmap
builds a static library:
--- pcre-7.4/pcre_internal.h 2007-09-13 04:22:27.000000000 -0500
+++ libpcre/pcre_internal.h 2007-12-19 22:28:33.000000000 -0600
@@ -108,15 +108,19 @@ PCRE_EXP_DATA_DEFN only if they are not
#ifndef PCRE_EXP_DECL
# ifdef _WIN32
+/* COMMENTED OUT AS IT'S COMPILED STATICALLY
# ifndef PCRE_STATIC
# define PCRE_EXP_DECL extern __declspec(dllexport)
# define PCRE_EXP_DEFN __declspec(dllexport)
# define PCRE_EXP_DATA_DEFN __declspec(dllexport)
# else
+*/
# define PCRE_EXP_DECL extern
# define PCRE_EXP_DEFN
# define PCRE_EXP_DATA_DEFN
+/*
# endif
+*/
# else
# ifdef __cplusplus
# define PCRE_EXP_DECL extern "C"
...and pcre.h.in/pcre.h.generic/pcre.h:
--- pcre-7.4/pcre.h.in 2007-09-11 06:24:35.000000000 -0500
+++ libpcre/pcre.h.in 2007-12-19 22:30:32.000000000 -0600
@@ -51,6 +51,7 @@ imported have to be identified as such.
export setting is defined in pcre_internal.h, which includes this file. So we
don't change existing definitions of PCRE_EXP_DECL and PCRECPP_EXP_DECL. */
+/*
#if defined(_WIN32) && !defined(PCRE_STATIC)
# ifndef PCRE_EXP_DECL
# define PCRE_EXP_DECL extern __declspec(dllimport)
@@ -64,6 +65,7 @@ don't change existing definitions of PCR
# endif
# endif
#endif
+*/
/* By default, we use the standard "extern" declarations. */
..and pcreposix.h:
--- pcre-7.4/pcreposix.h 2007-08-01 04:06:39.000000000 -0500
+++ libpcre/pcreposix.h 2007-12-19 22:31:14.000000000 -0600
@@ -110,10 +110,12 @@ imported have to be identified as such.
export settings are needed, and are set in pcreposix.c before including this
file. */
+/*
#if defined(_WIN32) && !defined(PCRE_STATIC) && !defined(PCREPOSIX_EXP_DECL)
# define PCREPOSIX_EXP_DECL extern __declspec(dllimport)
# define PCREPOSIX_EXP_DEFN __declspec(dllimport)
#endif
+*/
/* By default, we use the standard "extern" declarations. */
o Added pcre_winconfig.h for Windows. LibPCRE used to include config.h in
pcre_internal.h, and we'd include this winconfig there instead of config.h
if WIN32 is defined. Now, however, they've moved config.h includes to a
bunch of different files, so we have to change them. We could remove the
other includes and move it back to pcre_internal.h, but they must've moved
them for a reason, so we'll follow them. Occurrences of
#ifdef HAVE_CONFIG_H
#include "config.h"
#endif
get changed to
#ifdef WIN32
#include "pcre_winconfig.h"
#else
#include "config.h"
#endif
o Regenerated everything with 'automake; aclocal; autoconf'