New per-architecture during-install-process readme texts
[OSXPackageBuilder.git] / OS X Package Builder HOWTO.txt
index 0ab62e1..147abc2 100644 (file)
@@ -52,14 +52,18 @@ Privoxy uses the Perl Compatible Regular Expressions (PCRE) library when matchin
 
 To support this, 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's build process assumes the OS X version of the build machine is the minimum version to be supported). Failure to match the minimum supported versions 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.
+There are three 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's build process assumes the OS X version of the build machine is the minimum version to be supported). Failure to match the minimum supported versions 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, which means that the Privoxy binary you build 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.
 
-A sample command line for building Privoxy with external PCRE to run on Snow Leopard and higher on 64 bit Intel Macs is:
+The final consideration is that if you are building Privoxy for multiple different targets, you must also build PCRE independently for each of those targets and, when building that target's Privoxy release, ensure that the correct version of PCRE is present in /usr/local/lib.
+
+A sample command line that will build Privoxy with external PCRE to run on Snow Leopard and higher on 64 bit Intel Macs is:
 
 ./build.sh snowleopardx64 -pcre
 
+This example assumes that a valid build of PCRE supporting x86_64 processors and a minimum OS X version of 10.6 is present in /usr/local/lib.
+
 
 1.2 Builds for the Sourceforge Privoxy project release set
 
@@ -88,14 +92,22 @@ If there is any late-breaking or important info, it should be added to 'pkg cont
 
 2.2 Bring together all the contents ready to package
 
-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). The typical command line then is:
+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). Remember that you must ensure the files at this location are for the architecture for which you are constructing the package contents. The typical command line then is:
 
 ./constructPkgContent.sh -pcre
 
 
 3. Build the package
 
-Several different Packagemaker project files are supplied, though the procedure is the same regardless of which you need to use:
+Project files are available for both Apple's Packagemaker and the freeware Whitebox Packages app from http://s.sudre.free.fr/Packaging.html; I highly recommend the latter, for which the project files are:
+
+- OS X 10.6+ PCRE.pkgproj - if you have built Privoxy against an external PCRE library (see 1.1 above).
+- OS X 10.4+ PPC PCRE.pkgproj - if you have built Privoxy against an external PCRE library (see 1.1 above) and are targeting PowerPC Macs running 10.4 or 10.5.
+- OS X 10.4+ PPC PCRE.pkgproj - if you have built Privoxy against an external PCRE library (see 1.1 above) and are targeting 32 bit Intel Macs running 10.4 or 10.5.
+
+You should be able to follow your nose in terms of making appropriate changes per release.
+
+If using Apple's Packagemaker, several different project files are supplied though the procedure is the same regardless of which you need to use:
 
 - OS X 10.6+ PCRE.pmdoc - if you have built Privoxy against an external PCRE library (see 1.1 above).
 - OS X 10.5+ PCRE.pmdoc - if you have built Privoxy against an external PCRE library (see 1.1 above) but wish to target a minimum OS X version of 10.5.
@@ -103,7 +115,7 @@ Several different Packagemaker project files are supplied, though the procedure
 - OS X 10.4+ PCRE.pmdoc - if you have built Privoxy against an external PCRE library (see 1.1 above) but wish to target a minimum OS X version of 10.4.
 - OS X 10.4.pmdoc - for OS X 10.4-minumum builds with the bundled PCRE library.
 
-Refer to the separate document "Packagemaker Instructions.txt" for complete instructions, however the following item is all that needs to be changed if you are building a package for a newer version of Privoxy:
+Refer to the separate document "Packagemaker Instructions.txt" for complete instructions if using Apple's Packagemaker, however the following item is all that needs to be changed if you are building a package for a newer version of Privoxy:
 
 'pkg content left-menu item>pkg content>Configuration>Package Version'