new build instructions, modified build scripts to use jikes/classpath

This commit is contained in:
benfry
2003-09-23 23:14:06 +00:00
parent cd8a17e99e
commit 2265f16d01
4 changed files with 57 additions and 154 deletions

View File

@@ -4,14 +4,15 @@ HOW TO BUILD PROCESSING
////////////////////////////////////////////////////////////////////
BUILDING THE WINDOWS VERSION
BUILDING THE WINDOWS OR LINUX VERSIONS
// Steps for First Time Setup
//// Steps for First Time Setup
1. INSTALL CYGWIN, downloadable from www.cygwin.com
or directly link to the installer: www.cygwin.com/setup.exe
1. INSTALL CYGWIN (windows users only). it's downloadable from
www.cygwin.com or specifically: www.cygwin.com/setup.exe
linux users can hop ahead to step 2.
** of the packages, begin with the defaults, and add:
cvs - used for version control
@@ -37,7 +38,6 @@ it's also useful to run the installer (grab a new one from the site,
since it changes) every few months to keep things fresh.
2. GRAB THE CODE FROM SOURCEFORGE
* this grabs the code as an anonymous user. if you have a sourceforge
@@ -67,65 +67,10 @@ cvs update -P
cd ..
3. INSTALL QUICKTIME FOR JAVA (windows users only)
3. INSTALL JIKES
* a copy of jikes, the ibm's free and speedy java compiler that we
use, has been placed in build/windows/jikes.exe.gz
* NOTE! this version of jikes has been specially compiled under cygwin
to use : as a path separator, so that all the build scripts work. so
if you already have another version of jikes installed, this one is
the one you want for building P5.
* open up a cygwin shell, then go like dis:
cd /yourpath/to/processing/build/windows
# /yourpath/to is where you've placed the processing folder
# for instance, if it's in c:\processing, the line below would be
# /cygdrive/c/processing/build/windows
# make a copy of jikes
cp jikes.exe.gz /usr/bin/
# unpack and install
cd /usr/bin
gzip -d jikes.exe.gz
chmod +x jikes.exe
# make sure it's now in the path
rehash
# and see if it works by typing:
jikes
# if it doesn't list the options, then something wasn't installed
# correctly. retrace your steps and see if you've done everything.
# or if i've made an error in the instructions, lemme know.
# back to home
cd /yourpath/to/processing
4. SET YOUR CLASSPATH (for bagel)
* you need a few things in your classpath, they are:
- the rt.jar from a java runtime (1.1 or 1.4)
- comm.jar, from javacomm. you can find a copy in
processing/build/windows/dist/lib/comm.jar
if you don't already have it installed
* to add them to your CLASSPATH (win2k or xp), go to Control Panels ->
System Properties -> Advanced -> Environment Variables
if CLASSPATH is already listed in one of the lefthand columns,
just make sure it includes those two things. if it doesn't, add
them (with full paths to them), separated by semicolons.
on win98 or winme (ack! don't use em!) you'll have to mess with
autoexec.bat. but we strongly recommend not doing this on 98/ME.
* you'll also need to install quicktime for java, if you're building
for windows or mac. grab a quicktime installer from:
http://www.apple.com/quicktime/download/
* you'll also need to install quicktime for java. grab a quicktime
installer from: http://www.apple.com/quicktime/download/
* if you already have quicktime installed, just make sure that
quicktime for java has already been installed, use the quicktime
@@ -133,34 +78,20 @@ cd /yourpath/to/processing
'Details' button in the updater, and if it lists "Not installed"
for "QuickTime for Java", well, take care of that.
* make sure that qtjava is in your classpath as well, done
properly. arielm had problems with this, and adds:
so i checked a bit and it seems that the quicktime 4 java
installation (at least on windows xp) is broken, for the 2 following
reasons:
1) CLASSPATH is defined as a "System variable"
instead of a "User variable"
2) the value of CLASSPATH is encosed into quotes (")
after manually fixing these issues, things were fine. (either
properly place quotes around a single version of CLASSPATH, or use a
version that doesn't need to be quoted and has no spaces,
i.e. replace 'Program Files' with the 8.3 dos version: 'PROGRA~1'
(indeed, this awful nomenclature still works).
5. BUILD IT
* you'll need to close and re-open the cygwin window after setting
your CLASSPATH.
4. BUILD IT
# now to build for the first time:
cd /path/to/processing/build/windows
# or if you're on linux
cd /path/to/processing/build/linux
# and then..
./make.sh
# if everything went well, you'll have no errors.
# (need more doc here on common problems..)
# if everything went well, you'll have no errors. (feel free to make
# suggestions for things to include here for common problems)
# then to run it
./run.sh
@@ -170,7 +101,7 @@ cd /path/to/processing/build/windows
// Updating to the Latest Version
//// Updating to the Latest Version
1. Each time you want to update to latest version from cvs:
@@ -196,27 +127,25 @@ cvs -z3 update -d -P
# missing from a subfolder.
//// MAC OS 9
this is actually built from inside osx, but then you reboot into os9
to move files around, remove and .DS_Store files that may have shown
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)
3. If there have been significant changes, or you get weird build
errors, try deleting (or renaming, if you need sketches from
inside) your 'work' folder. This will create a fresh build.
/////////////////////////////////////////////////////////////////
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
// note: the macos9 instructions are a little crusty since things
// have changed since we suspended support for macos9.
1. GRAB THE CODE FROM SOURCEFORGE
@@ -257,28 +186,8 @@ cvs update -P
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
2. BUILD IT
// first lets get bagel (the make.sh script does this as well if you're
// feeling lazy).
@@ -392,3 +301,8 @@ cvs -z3 update -d -P
# 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.
If there have been significant changes, or you get weird build
errors, try deleting (or renaming, if you need sketches from
inside) your 'work' folder. This will create a fresh build.

View File

@@ -36,7 +36,6 @@ else
#chmod +x work/librxtxSerial.so
# get jikes and depedencies
#gunzip < dist/jikes.gz > work/jikes
cp dist/jikes work/
chmod +x work/jikes
@@ -66,18 +65,16 @@ fi
cd bagel
CLASSPATH=../build/linux/work/java/lib/rt.jar
#CLASSPATH=/opt/java/lib/rt.jar:/opt/java/lib/ext/comm.jar
#CLASSPATH=../app/build/linux/work/java/lib/rt.jar:../app/build/linux/work/java/lib/ext/comm.jar
export CLASSPATH
### --- make version with serial for the application
echo Building bagel with serial and sonic support
perl make.pl SERIAL RXTX SONIC JDK13
perl make.pl JIKES=../build/linux/work/jikes SERIAL RXTX SONIC JDK13
cp classes/*.class ../build/linux/work/classes/
### --- make version without serial for applet exporting
echo Building bagel for export with sonic
perl make.pl SONIC
perl make.pl JIKES=../build/linux/work/jikes SONIC
cp classes/*.class ../build/linux/work/lib/export/
cd ..
@@ -91,17 +88,20 @@ echo Building PDE for JDK 1.3
cd preprocessor
# first build the default java goop
java -cp ../../build/linux/work/lib/antlr.jar antlr.Tool java.g
# long path is to avoid requiring java to be in your PATH
../../build/linux/work/java/bin/java \
-cp ../../build/linux/work/lib/antlr.jar antlr.Tool java.g
# now build the pde stuff that extends the java classes
java -cp ../../build/linux/work/lib/antlr.jar antlr.Tool \
-glib java.g pde.g
../../build/linux/work/java/bin/java \
-cp ../../build/linux/work/lib/antlr.jar antlr.Tool -glib java.g pde.g
cd ..
CLASSPATH=../build/linux/work/classes:../build/linux/work/lib/kjc.jar:../build/linux/work/lib/antlr.jar:../build/linux/work/lib/oro.jar:../build/linux/work/java/lib/rt.jar:../build/linux/work/lib/RXTXcomm.jar
perl ../bagel/buzz.pl "jikes +D -classpath $CLASSPATH -d ../build/linux/work/classes" -dJDK13 -dRXTX *.java jeditsyntax/*.java preprocessor/*.java
perl ../bagel/buzz.pl "../build/linux/work/jikes +D -classpath $CLASSPATH -d ../build/linux/work/classes" -dJDK13 -dRXTX *.java jeditsyntax/*.java preprocessor/*.java
cd ../build/linux/work/classes
rm -f ../lib/pde.jar

View File

@@ -97,24 +97,18 @@ cd ../..
cd bagel
# old comm.jar
#MACOSX_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:/System/Library/Java/Extensions/QTJava.zip:/System/Library/Java/Extensions/MRJToolkit.jar
# new rxtx comm
MACOSX_CLASSPATH=/System/Library/Frameworks/JavaVM.framework/Classes/classes.jar:/System/Library/Frameworks/JavaVM.framework/Classes/ui.jar:/System/Library/Java/Extensions/QTJava.zip:/System/Library/Java/Extensions/MRJToolkit.jar
# need not be included
CLASSPATH=$MACOSX_CLASSPATH
# rxtx comm.jar will be included by the build script
CLASSPATH=/System/Library/Frameworks/JavaVM.framework/Classes/classes.jar:/System/Library/Frameworks/JavaVM.framework/Classes/ui.jar:/System/Library/Java/Extensions/QTJava.zip:/System/Library/Java/Extensions/MRJToolkit.jar
export CLASSPATH
### --- make version with all the goodies for the application
echo Building bagel with serial, video, audio, and jdk13 support
perl make.pl SERIAL RXTX VIDEO SONIC JDK13
perl make.pl JIKES=../build/macosx/work/jikes SERIAL RXTX VIDEO SONIC JDK13
cp classes/*.class ../build/macosx/work/classes/
### --- make version without serial for applet exporting
echo Building bagel for export with audio
perl make.pl SONIC
perl make.pl JIKES=../build/macosx/work/jikes SONIC
cp classes/*.class ../build/macosx/work/lib/export/
cd ..
@@ -124,28 +118,20 @@ cd app
### -- BUILD PARSER ---------------------------------------------
# disabled these guys temporarily
# instead doing it once, when the 'work' dir is built
#cd preprocessor
# first build the default java goop
#java -cp ../../build/macosx/work/lib/antlr.jar antlr.Tool java.g
# now build the pde stuff that extends the java classes
#java -cp ../../build/macosx/work/lib/antlr.jar antlr.Tool -glib java.g pde.g
#cd ..
# add code here later to conditionally build the parser.
# but for now, the parser is only built when the work dir
# is created, to speed the build process.
### -- BUILD PDE ------------------------------------------------
#echo Building PDE for JDK 1.4
echo Building PDE for JDK 1.3
# new rxtx
CLASSPATH=../build/macosx/work/classes:../build/macosx/work/lib/kjc.jar:../build/macosx/work/lib/antlr.jar:../build/macosx/work/lib/oro.jar:../build/macosx/work/lib/RXTXcomm.jar:$MACOSX_CLASSPATH
CLASSPATH=../build/macosx/work/classes:../build/macosx/work/lib/kjc.jar:../build/macosx/work/lib/antlr.jar:../build/macosx/work/lib/oro.jar:../build/macosx/work/lib/RXTXcomm.jar:$CLASSPATH
#perl ../bagel/buzz.pl "jikes +D -classpath $CLASSPATH -d ../build/macosx/work/classes" -dJDK13 -dJDK14 -dMACOS -dRXTX *.java jeditsyntax/*.java
perl ../bagel/buzz.pl "jikes +D -classpath $CLASSPATH -d ../build/macosx/work/classes" -dJDK13 -dMACOS -dRXTX *.java jeditsyntax/*.java preprocessor/*.java
perl ../bagel/buzz.pl "../build/macosx/work/jikes +D -classpath $CLASSPATH -d ../build/macosx/work/classes" -dJDK13 -dMACOS -dRXTX *.java jeditsyntax/*.java preprocessor/*.java
cd ../build/macosx/work/classes
rm -f ../lib/pde.jar

View File

@@ -1,4 +1,10 @@
0062
X modify build instructions for the many changes
X i.e. buzz.pl requires jdk13+ set for JDK13 flag, used by p5
X usually need to remove the 'work' dir
X modify macosx to use jikes from p5
X in general, things are way simpler on the pc
_ serious sluggishness with applets
_ beginShape/endShape.. 3D scenes with boxes..
_ write script to remove .DS_Store and CVS folders from dist
@@ -11,11 +17,6 @@ _ adding files to sketch.. menu item
_ also do drag & drop implementation to pull in files
_ light(x, y, z, c1, c2, c3, TYPE)
_ also BLight with same constructor, and on() and off() fxn
_ modify build instructions for the many changes
_ i.e. buzz.pl requires jdk13+ set for JDK13 flag, used by p5
_ usually need to remove the 'work' dir
_ modify macosx to use jikes from p5
_ in general, things are way simpler on the pc
_ better 1.3/1.4 support.. properly detect vm
_ use when deciding which classes to import
_ better support for running locally
@@ -26,6 +27,8 @@ _ fix link, loadStrings, saveBytes code once that's fixed
_ saveBytes not in proper dir is annoying
_ multi-line errors a mess in jikes
_ maybe a dropdown list thing, with the first just shown?
_ processing.exe: if expert version is run, and no java installed
_ call the person a genius and tell them to install java
application export