mirror of
https://github.com/processing/processing4.git
synced 2026-02-12 01:50:44 +01:00
new build instructions, modified build scripts to use jikes/classpath
This commit is contained in:
@@ -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.
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user