You want to skip down to the PYCBOX instructions.

===========================================================================
PFL-only instructions:
===========================================================================

building:

step 1:
  build 'lib.pfl'.
  python pfl.py <python src directory> lib <python lib directory>

  [i.e., "python pfl.py e:/src/python lib e:/python/lib"]

  copy ./build_pfl/lib.pfl to wherever you installed python14.dll

step 2:
  build 'python.exe'
  edit 'makefile' to point to your python src directory.
  then a simple 'nmake' should do it.

  This python.exe can now be used in place of the normal python.exe.
  Keep in mind that it will have the python library pre-loaded, because
  it is linked to 'lib.pfl'.  [you may want to give it a different name]

step 3:
  test out 'freeze.py'.
  python freeze.py <python src dir> pfl.py console <path to lib.pfl>
  [i.e., "python freeze.py e:/src/python pfl.py console e:/python/lib.pfl"]

  in the directory './build', you should get a 'freeze.exe'.

If you made it through all these, a good final test is to run 'freeze'
on 'tools/scripts/pystone.py'.  Remember to reference 'lib.pfl'...

After all this, try out 'cp3.exe' if you are running either Win95 or NT 4.0

Of course python14.dll and your '.pfl' files need to be in your PATH.


======================================================================
PYCBOX instructions [preferred by 9 out of 10 dentists!]
======================================================================
step 1:
  Put 'pycbox.pfl' wherever you put your python dll.  This is a DLL
  that when loaded, will pull in a frozen version of
  'pycbox.py'... Note that it also freezes several other modules
  pulled in by ihooks, including os, UserDict, and others.

step 2: [optional, since I've provided it]
  build the modified python.exe included here.  It auto-loads
  pycbox.pfl, thus building 'pycbox' capability in.  edit the location
  of your python source tree in 'makefile', then 'nmake' should do the
  trick

step 3:
  build 'lib.db'
  python pycbox.py lib /python/Lib

step 4:
  put this database somewhere sensible, like '\python\lib.db', and
  then use the registry to add it to your python path, like this:
  e:\python;e:\python\lib.db;e:\python\lib;e:\python\whatever

  The normal sys.path search order is in effect, you can override a
  module stored in a pycbox.

step 5:

  Try it out... rename your normal library directory temporarily, and
  run the new python.exe.  Try to load a library module, like rfc822.
  Does it work?  Double-check your sys.path to make sure it's not
  coming in from somewhere else.

step 6:
  test out the freezer:
  python freeze.py e:/src/python1.4beta3 freeze.py console e:/python/lib.db
  see if ./build/freeze.exe works.

step 5:
  freeze your own!

Suggestions for names better than 'pfl', and 'pycbox' are welcome.

-Sam
rushing@nightmare.com
