Further clarification of external PCRE build requirements
authorIan Silvester <iansilvester@fastmail.fm>
Tue, 15 Jan 2013 20:32:20 +0000 (20:32 +0000)
committerIan Silvester <iansilvester@fastmail.fm>
Tue, 15 Jan 2013 20:32:20 +0000 (20:32 +0000)
OS X Package Builder HOWTO.txt

index adc49a2..a12e584 100644 (file)
@@ -37,20 +37,19 @@ Running build.sh without supplying any parameters will cause it to list all the
 
 1.1 Consider whether to use external or bundled PCRE.
 
-Privoxy uses the Perl Compatible Regular Expressions (PCRE) library when matching its rules against the folder-and-file part of a target URL. Privoxy ships with a bundled PCRE library that, whilst convenient, is very out of date. The recommendation is therefore to download, make and install the latest PCRE distribution to your build machine and compile Privoxy against that instead.
-
-build.sh takes an optional second parameter (-pcre) which tells it to look for an installation of the PCRE library in the standard location on the build machine.
+Privoxy uses the Perl Compatible Regular Expressions (PCRE) library when matching its rules against the folder-and-file part of a target URL. Privoxy ships with a bundled PCRE library that, whilst convenient, is very out of date (version 3). The recommendation is therefore to download, make and install the latest PCRE distribution to your build machine and compile Privoxy against that instead.
 
+build.sh takes an optional second parameter (-pcre) which tells it to look for an installation of the PCRE library in the standard location on the build machine (/usr/local/lib). The obvious corrollary is that you must have downloaded, configured, made and installed PCRE before building Privoxy if you wish to link to the external library.
 
 There are two important further considerations that this approach brings. Firstly, you must ensure when building PCRE that you build it to support the same minimum version of OS X that you wish Privoxy to support (note that by default PCRE will assume the OS X version of the build machine is the minimum version to be supported). Failure to observe this will mean that, whilst Privoxy will still build, the external PCRE check will fail and you will end up compiling in the bundled PCRE, not linking to the external PCRE library as you'd intended.
 
-The second consideration when using external PCRE is that the PCRE build process allows only single-architecture libraries to be built; the corollary being that your Privoxy binary must also be single-architecture. The outcome of not following this rule would be as above; you will succeed in building Privoxy but it will compile in the bundled PCRE rather than linking to the external library.
+The second consideration when using external PCRE is that the PCRE build process allows only single-architecture libraries to be built, which means that your Privoxy binary can also only be single-architecture. The outcome of not following this rule would be as above; you will succeed in building Privoxy but it will compile in the bundled PCRE rather than linking to the external library.
 
 
 
 2. Construct the package contents hierarchy
 
-Use constructPkgContent.sh to build the hierarchy of folders and files necessary for building the package. This will construct a new folder named 'pkg content' and copy in the binary, documentation and supporting files. If you are bundling an external PCRE fileset (i.e. if you built privoxy to use an external PCRE library), use the optional switch -pcre to instruct constructPkgContent.sh to include the libpcre fileset.
+Use constructPkgContent.sh to build the hierarchy of folders and files necessary for building the package. This will construct a new folder named 'pkg content' and copy in the binary, documentation and supporting files. If you are bundling an external PCRE fileset (i.e. if you built privoxy to use an external PCRE library), use the optional switch -pcre to instruct constructPkgContent.sh to include the libpcre fileset, which it will source from the standard installed location on the build machine (/usr/local/lib).
 
 Once this is done, the file 'pkg resources/interface texts/ReadMe.txt' will need to be edited to give a precis of what this release of Privoxy brings. This can be distilled from the README for the latest Privoxy project release.