2003/09/07 04:31:44
[org.ibex.core.git] / README
diff --git a/README b/README
index b03a8cc..6f34a57 100644 (file)
--- a/README
+++ b/README
@@ -1,6 +1,6 @@
 ==============================================================================
-XWT README
-
+XWT README 
+              
 ______________________________________________________________________________
 Documentation
 
@@ -8,190 +8,106 @@ If you're new to XWT, you should read the documentation in the order
 presented below:
 
 - README [this file]
-
+        
       Start here. Includes a map of all other documentation and a
       description of the directory strucure
 
-- The XWT home page [www/ or http://www.xwt.org/]
-
-      A complete copy of all static and dynamic content for
-      www.xwt.org is in the xwt/www/ directory.
-
-- The XWT tutorial [www/html/tutorial.html_]:
+- The XWT home page [http://www.xwt.org/]       
+          
+- The XWT tutorial [http://www.xwt.org/tutorial.html]
 
       Gentle introduction to what XWT is, and how to write
       .xwt's. Good for anybody who wants to write XWT applications.
 
-- The XWT reference [www/html/reference.html]
-
+- The XWT reference [http://www.xwt.org/reference.html]
+        
       Precise, technical spec of exactly how XWT works. Assumes
       familiarity with XWT (ie, you've read the tutorial). This is the
       authoritative source for how an XWT engine should
       behave.
 
-- Javadoc [www/html/javadoc/package-summary.html]
-
-      The org.xwt.* packages are all documented with javadoc. If
-      you've just checked out or downloaded a fresh copy of the XWT
-      distribution, you can generate the javadoc by typing
-      "./ant www" at the root directory of the distribution. You
-      should start by reading the package summary for org.xwt.Main,
-      and work your way around from there.
-
-- Javasrc [www/html/javasrc/index.html]
-
-      Javasrc generates a syntax-colored and hyperlinked html copy of
-      the XWT source code. To generate this documentation, type "./ant www"
-      from the root directory of the distribution.
-
 
 ______________________________________________________________________________
 Directory Structure
 
-/
-   README                - this file
-   COPYING               - copyright information for all files in this distro
-   TM                    - trademark information for XWT
-   ant                   - a unix shell script to launch ant
-   bin/                  - all binary stuff generated by ant builds
-   build.xml             - ANT build file
-   doc/                  - documentation
-
-   www/                  - a copy of all static and dynamic content on xwt.org
-       etc/              - configuration files
-       html/             - static content -- files ending with an underscore get
-                           prefix.html/suffix.html/tagline.html added to them
-       launch/           - code for launch.xwt.org
-       src/              - source code for servlets running on xwt.org
-
-   lib/                  - any third-party binary stuff needed during the build process
-       javago            - a copy of the javago post-compilation bytecode inliner
-       ant.jar           - the Jakarta project's ANT build tool, including Sun's XML parser
-       netscape.jar      - minimal set of classes required for compiling against Netcape's Applet interfaces
-       msjvm.jar         - minimal set of classes required for compiling against Microsoft's Applet interfaces
-       signtool          - the Netscape Object Signing tool, for signing applets
-       signcode.exe      - the Microsoft ActiveX Signing tool, for signing ActiveX controls
-       guidgen.exe       - the Microsoft GUID generator, for generating OLE clsid's
-       cabarc.exe        - the Microsoft CAB file generator, for creating .cab archives
-       javasrc.jar       - javasrc, a tool for generating hyperlinked, syntax-colored html from java code
-
-   src/                  - all java source files and xwt sources go here
-       jazz/             - jazzlib, which XWT currently uses since libgcj's java.util.zip.* is broken
-
+/       
+   AUTHORS                - people involved in developing XWT   
+   README                 - this file
+   COPYING                - copyright information for all files in this distro
+   CHANGES                - the changelot
+   TM                     - trademark information for XWT       
+   Makefile               - build file for gcc 3.3
+   next.build             - the build id of the next build to be generated
+
+   build/                 - anything generated by the build process winds up here
+         h/               - header files generated by gcjh
+         java/            - auto-generated .java source files
+         class/           - java .class files
+         xwar/            - generated xwars (mainly builtin.xwar)
+         Linux/           - Linux binaries
+         Win32/           - Win32 binaries
+         Carbon/          - MacOS X / Carbon binaries
+         Solaris/         - Solaris binaries
+
+   gcc/                   - build area for a custom copy of gcc3.3 and binutils2.13
+       Makefile           - will download, configure, compile, and private-install gcc3.3/binutils2.13
+       gcc.patch          - a patch to make boehm-gc work on Darwin (Mac OS X)
+   lib/                   - any third-party binary stuff needed during the build process
+       javago             - a copy of the javago post-compilation bytecode inliner
+       netscape.jar       - minimal set of classes required for compiling against Netcape's Applet interfaces
+       msjvm.jar          - minimal set of classes required for compiling against Microsoft's Applet interfaces
+       jump.jar           - the jump2 bytecode-to-palmos translator
+       libgcj-minimal.jar - a tiny portion of libgcj.jar; allows java->bytecode compilation without gcj
+   src/                   - all java source files and xwt sources go here
        org/
-           bouncycastle/ - the BouncyCastle Crypto Library
-           gimp/tigert/  - some icons used in XWT Mail, by Tigert Labs
-           mozilla/      - a copy of Rhino, the Mozilla JavaScript interpreter
-
-           xwt/          - the source code for the XWT engine
-               demo/     - the XWT widget sampler
-               chess/    - XWT Chess
-               fonts/    - some XWF fonts
-               mail/     - XWT Mail
-               plat/     - platform abstraction classes for XWT
-               tasks/    - source code for some ANT tasks used in the XWT build process
-               themes/   - some XWT themes
-               util/     - some helper classes
-
-       xwt/standard/     - the XWT standard library
-
-
-
-______________________________________________________________________________
-Build Targets
-
-To build, make sure your $JAVA_HOME points to jdk1.2 or later, and type
-
-    ./ant -Dplat=<platform> <targetname>
-
-The name of any class in org.xwt.plat is a valid <platform>; here is a
-list as of 20-Mar-2002:
-
-    Win32         - Windows 95 / NT4 or later
-    Java2         - Any Java 1.2+ compliant JVM
-
-Valid <target>s are:
-
-    build         - builds a binary for the selected platform
-    dist          - creates deployment materials for the selected platform in dist/
-    run           - runs the binary for the selected platform
-
-The following targets do not require that you specify a platform:
-
-    compile       - compiles all .java's to .class'es
-    clean         - empties bin/ and compiled binaries in dist/
-    www           - rebuild www/html/
-    push          - push changes to the web server via ssh (RSA auth)
-
-
+           bouncycastle/  - the BouncyCastle Crypto Library
+           mozilla/       - a copy of Rhino, the Mozilla JavaScript interpreter
+           ijg/           - as part of the build process, the Independent JPEG Group's JPEG implementation gets put here
+           xwt/builtin/   - .xwt's and .png's that are essential to bootstrapping the engine
+           xwt/plat/      - platform-specific code
+           xwt/util/      - misc utilities
+           xwt/js/        - the XWT JavaScript Interpreter
 
 
 ______________________________________________________________________________
-Building
-
-- If you only want to build the JVM version of XWT, delete these two
-  files:
-
-    xwt/src/org/xwt/plat/Win32.java
-    xwt/src/org/xwt/plat/GCJ.java
-
-  This will allow XWT to build correctly *without* gcc 3.1. Otherwise,
-  you must compile and install gcc 3.1.
-
-
-- The Win32 native version of XWT can ONLY be built with the very
-  latest pre-release of GCC 3.1. You can follow the steps below to
-  create a cross-compiler from linux to Win32.
-
-  If the steps below fail, try adding "-D 20-Mar-2002" to the cvs
-  checkout line; 20-Mar-2002 was the last date on which the compiler
-  was known to work. Please don't do this unless you have attempted
-  without it, however, since it puts additional strain on the gcc cvs
-  server.
-
-
-  # create an install area
-  export CLASSPATH=
-  export PREFIX=/usr/local/gcc
-  export CC=/usr/bin/gcc
-  
-  sudo rm -rf $PREFIX
-  export PATH=$PATH:$PREFIX/bin
-  sudo mkdir $PREFIX
-  sudo mkdir $PREFIX/i686-pc-mingw32/
-  
-  wget http://prdownloads.sourceforge.net/mingw/MinGW-1.1.tar.gz
-  sudo tar -C $PREFIX/i686-pc-mingw32/ -xvzf ~/mingw-gcj/MinGW-1.1.tar.gz
-  
-  wget ftp://ftp.gnu.org/gnu/binutils/binutils-2.11.2.tar.gz
-  tar xzvf binutils-2.11.2.tar.gz
-  cd binutils-2.11.2
-  ./configure --target=i686-pc-mingw32 --prefix=$PREFIX
-  make
-  sudo make install
-  cd ..
-  
-  cvs -d :pserver:anoncvs@subversions.gnu.org:/cvsroot/gcc co -rgcc-3_1-branch gcc
-  mkdir bin
-  cd bin
-  ../gcc/configure \
-                   --prefix=$PREFIX \
-                   --target=i686-pc-mingw32 \
-                   --host=i686-pc-linux-gnu \
-                   --enable-languages=c,c++,java \
-                   --disable-nls \
-                   --with-as=$PREFIX/i686-pc-mingw32/bin/as \
-                   --with-ld=$PREFIX/i686-pc-mingw32/bin/ld \
-                   --with-gnu-ld \
-                   --with-gnu-as \
-                   --enable-libgcj \
-                   --enable-gc-type=boehm \
-                   --disable-shared \
-                   --enable-threads=win32 \
-                   --disable-hash-synchronization \
-                   --disable-interpreter \
-                   --enable-sjlj-exceptions
-  
-  make
-  sudo make install
+Build Requirements
+
+**** STOP! ****
+
+Compiling the engine is Really Hard.  Unless you're planning on
+helping develop the engine, you probably don't need (or want) to
+compile it yourself!
+
+There are pre-built, digitally signed binaries on http://dist.xwt.org/
+for every supported platform.  Please consider using those unless
+you're absolutely certain you need to go through the trouble of trying
+to get XWT to build.  You have been warned.  Please do not post to the
+mailing lists asking for help building XWT unless you're genuinely
+interested in helping to develop the engine.
+
+Requirements:
+    - jdk 1.4+
+    - the standard set of POSIX utilities (wc, grep, find, make, etc)
+
+Automatically-Downloaded components:
+    - gcj 3.3+
+    - binutils 2.13+
+    * If you already have a suitably configured gcj 3.3 and binutils
+      2.13+ you can set "gcc_path" to point at its installation
+      location; otherwise the Makefile will download, configure,
+      compile, and install gcc and binutils in xwt/gcc/
+
+Optional components:
+    - fastjar (builds archives faster)
+    - jikes 1.18 (makes builds go much faster)
+    * If jikes is in your $PATH, the Makefile will find and use it.
+      Otherwise you can type 'make jikes' to download and build jikes.
+
+Build Targets:
+    - compile: compiles all .java files into bin/*.class
+    - Win32:   Win95 OSR2 or later
+    - Linux:   Linux 2.2 or later
+    - Java2:   Any Java 1.2+ compliant JVM
+    - Darwin:  Any Darwin-based OS (Mac OS X, OpenDarwin) with an X11 server
+    - clean:   cleanup