From fbb475c0e3bd6d1d55045f848a607b61fa7fb09f Mon Sep 17 00:00:00 2001 From: benfry Date: Sun, 13 Jul 2003 15:18:50 +0000 Subject: [PATCH] info on how to build for the mac platform contributed by tmohn --- build/howto.txt | 195 +++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 192 insertions(+), 3 deletions(-) diff --git a/build/howto.txt b/build/howto.txt index 8d1d0fd67..98bd397ae 100755 --- a/build/howto.txt +++ b/build/howto.txt @@ -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.