Changes to accomodate moving to Git and to compiling on macOS 10.11
[OSXPackageBuilder.git] / OS X Package Builder HOWTO.txt
index da2c5ee..4707761 100644 (file)
@@ -5,13 +5,11 @@ This document will guide you through the complete process necessary to create a
 
 ASSUMPTIONS
 
-1. That the Privoxy CVS project is available in a folder parallel to the one containing this file.
-- If building for release it MUST have been exported from Sourceforge to a folder named 'dist', pinned at whichever release you intend to build (as per the instructions in the Privoxy developer manual)
-- If doing a general test build, you might have simply checked out the head of the CVS project to a folder named 'current'.
-- If you are using a folder name other than these two (or else both exist) you will be prompted to enter the source folder you wish to use when running the scripts detailed below.
+1. That the Privoxy Git project is available in a folder parallel to the one containing this file.
+- If building for release it MUST have been checked out from Git at whichever release tag you intend to build (as per the instructions in the Privoxy developer manual, i.e. git checkout v_X_Y_Z)
 2. That you have Xcode installed, including the SDKs for each OS X version you intend your package(s) to support.
-3. That your build machine runs Snow Leopard (OS X 10.6). It will likely work equally well on Leopard or Lion (or later), but PackageMaker is substantially different in Tiger and earlier versions of OS X (even the project file format is different).
-4. All references to files and folders in this document should be assumed to be within the OSXBuildSystem folder unless stated otherwise.
+3. That your build machine runs Snow Leopard (OS X 10.6) or a more recent release. PackageMaker is substantially different in Tiger and earlier versions of OS X (even the project file format is different).
+4. All references to files and folders in this document should be assumed to be within the OSXPackageBuilder folder unless stated otherwise.
 
 
 OVERVIEW OF STEPS
@@ -39,9 +37,9 @@ which will build a Universal binary containing targets for PPC, i386 and x86_64
 
 The most common usage therefore would be as follows:
 
-./build.sh snowleopardx64 -pcre
+./build.sh current -pcre
 
-which will build a binary targetting only x86_64 processors (note that OS X has supported only x86_64 since Snow Leopard).
+which will build a binary targeting only x86_64 processors (note that OS X has supported only x86_64 since Snow Leopard).
 
 Running build.sh without supplying any parameters will cause it to list all the possible options, should you have an alternative target requirement.
 
@@ -65,7 +63,7 @@ A sample command line that will build Privoxy with external PCRE to run on Snow
 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
+1.2 Builds for the Privoxy project release set
 
 Three packages are built for this target release set:
 
@@ -92,14 +90,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.
@@ -107,7 +113,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'