info on how to build for the mac platform contributed by tmohn

This commit is contained in:
benfry
2003-07-13 15:18:50 +00:00
parent 16992d3515
commit fbb475c0e3

View File

@@ -1,7 +1,10 @@
HOW TO BUILD PROCESSING
//// WINDOWS
////////////////////////////////////////////////////////////////////
BUILDING THE WINDOWS VERSION
// Steps for First Time Setup
@@ -201,5 +204,191 @@ up, and package the thing with stuffit.
when first attempting to build, it's necessary to un-macbinarize the
Proce55ing application. (processing/build/macos9/dist/Proce55ing.bin)
for some reason, this doesn't quite work with stuffit expander. i use
an app called MacBinaryII+, which is a super crusty app, but it works.
/////////////////////////////////////////////////////////////////
HOW TO BUILD PROCESSING FOR THE MAC PLATFORM
// if you have any corrections/additions/suggestions:
// send email to tmohn@sbcglobal.net
//// MAC OS X/9
1. GRAB THE CODE FROM SOURCEFORGE
// this grabs the code as an anonymous user. if you have a sourceforge
// account, you should know how to grab the code as yourself.
// first do this
cvs -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/processing login
// just hit enter when it asks for a password
// then do this (may take a while)
cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/processing co processing
// (maybe even a long while for you dialup and international folks)
// PERFORM MAINT ON FOLDERS FROM SOURCEFORGE
// gonna do a few things in the p5 folder
cd processing
// if you're not doing web development, you won't need those folders
rm -rf web web_gen
// this is actually done by the build script, but you may as well
// do it now
cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/processing co bagel
// a quick cleanup, removes empty (dead/old) folders
cvs update -P
// get back to the processing/ folder
cd ..
2. SET YOUR CLASSPATH (for bagel)
// SETUP JAVA CLASSPATH. You need to set an environment
// variable for CLASSPATH. This gets setup in your .tcshrc file for
// your account. Typically with a line like this:
setenv CLASSPATH /System/Library/Frameworks/JavaVM.framework/
Classes/classes.jar:/System/Library/Frameworks/JavaVM.framework/
Classes/ui.jar:/System/Library/Frameworks/JavaVM.framework/Home
/lib/ext/comm.jar
// Make sure you have comm.jar installed at the following location:
/System/Library/Frameworks/JavaVM.framework/Home/lib/ext/comm.jar
// if it isn't there, you can get it from build/macosx.
// you'll also need to install quicktime for java. grab a quicktime
// installer from: http://www.apple.com/quicktime/download/
3. BUILD IT
// first lets get bagel (the make.sh script does this as well if you're
// feeling lazy).
cd [processing folder]
// grab off of sourceforge (should be logged in anon still)
cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/processing co bagel
// now we need to unmacbinarize the proce55ing.bin file in the dist
// folder. we are currently using MacBinary II+ 1.0.2 (stuffit
// expander doesn't seem to work properly). you can just install
// the app under OS X and drag/drop-- but you need OS 9 installed
// on your box to do this (newer machines may not allow this now,
// thanks to stevie's great ideas). this should drop the Proce55ing
// application unpacked into the dist folder.
// set permissions so you can execute the make.sh file. not sure why
// these permissions aren't set like the macosx build?
chmod +x make.sh
// now to build for the first time:
cd /path/to/processing/build/[mac os desc]
./make.sh
// any errors that might happen are obvious here.
// to create the distributable:
./dist.sh
// if everything went well, you'll have no errors. this will
// drop a folder in your build directory named processing-0000-macosx/9
///// (need more doc here on common problems..)
4. PACKAGE THINGS UP
//// MAC OS X
// make a copy of the new folder just built. this folder lives here:
// /build/processing-0000-macosx
// this copy is what you will use to clean things up and package.
// do some house cleaning! poke through the structure making sure no
// CVS folders are hanging around, etc. command line works best
// for this.
// to keep things simple and clean, create a folder called
// processing-00##.
// within this folder create two separate folders: (drag the folder
// above to Applications) and Processing 00##. open the parent folder
// and clean things up (ie lineup folders etc.). now just drop the
// parent folder into your disk utility app in os x (applications/
// utilities) to create the dmg that will be uploaded to the site.
//// MAC OS 9
// NOTE: make sure you setup stuffit to compress as .hqx files not
// .sit. also make sure that you zip up the folder under mac os 9
// for max compatibility.
// make a copy of the new folder just built. this folder lives here:
// /build/processing-0000-macos9
// this copy is what you will use to clean things up and package.
// do some house cleaning! poke through the structure making sure
// no CVS folders are hanging around, etc. pay close attention for
// the .DS_Store files in any folders. command line works best
// for this.
// now just copy this clean folder to the folder that houses
// your os 9.2 desktop.
// in order to finish packaging the os 9 build, you must reboot
// into os 9.2. once there we need to do some minor house cleaning
// in this folder (ie make sure no .DS_Store files are hanging
// around again, etc.)
// to keep things simple, just rename the folder to processing-00##.
// where ## is the revision number. then zip it up with stuffit.
5. UPDATING TO THE LATEST VERSION
// Each time you want to update to latest version from cvs:
# -z3 means make it snappy (using compression)
cd /path/to/processing
cvs -z3 update
// Or if new folders have been added, use:
# -d grabs new directories and -P cleans out old (empty) ones
# cvs is a little brain dead about this stuff
cd /path/to/processing
cvs -z3 update -d -P
# if you've removed web/ and web_dev/, then do the update -d -P
# from inside app/ and bagel/ (rather than from the just the
# processing/ folder) otherwise -d will grab web and web_dev again
# unfortunately there isn't a way to know (?) if new folders have
# since been added. but if you're getting "class not found" errors
# while building, then that's a good indicator that something is
# missing from a subfolder.