Create separate project directories for ABCL and J.

parents

Too many changes to show.

To preserve performance only 1000 of 1000+ files are displayed.

.cvsignore
config.cache
config.log
config.status
autom4te.cache
classes.stamp
j
j.bat
abcl
abcl.bat
j.jar
*.zip
*.tar.gz
Makefile
This diff is collapsed. Click to expand it.
# Makefile.in
# Copyright (C) 1998-2005 Peter Graves
# $Id: Makefile.in,v 1.30 2005-11-21 15:22:49 piso Exp $
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
version=@version@
prefix=@prefix@
exec_prefix=@exec_prefix@
bindir=@bindir@
libdir=@libdir@
datadir=@datadir@
INSTALL=@INSTALL@
INSTALL_DATA=@INSTALL_DATA@
INSTALL_PROGRAM=@INSTALL_PROGRAM@
INSTALL_SCRIPT=@INSTALL_SCRIPT@
JAVA=@JAVA@
JAVA_OPTIONS=@JAVA_OPTIONS@
JAR=@JAR@
JPTY=@JPTY@
LIBABCL=@LIBABCL@
distdir = j-$(version)
all: j.jar $(JPTY) $(LIBABCL)
Makefile: Makefile.in config.status
$(SHELL) ./config.status
config.status: configure
$(SHELL) ./config.status --recheck
classes:
set -e; \
for i in src/gnu/regexp \
src/org/armedbear/j/mail \
src/org/armedbear/j/jdb \
src/org/armedbear/j \
src/org/armedbear/lisp \
src/org/armedbear/lisp/java/awt \
src; \
do \
( cd $$i && $(MAKE) ); \
done
cd src/org/armedbear/j && date > build && hostname >> build
fasls:
$(JAVA) -cp ./src org.armedbear.lisp.Main --noinit --eval "(compile-system :zip nil :quit t)"
date > src/org/armedbear/j/build && hostname >> src/org/armedbear/j/build
jpty:
cd src/jpty && $(MAKE)
jpty.exe:
cd src/jpty && $(MAKE)
libabcl.so:
cd src/org/armedbear/lisp && $(MAKE) libabcl.so
j.jar: classes.stamp fasls
cd src && \
$(JAR) cmf manifest ../j.jar Main.class org/armedbear/j/*.class && \
$(JAR) uf ../j.jar org/armedbear/j/version org/armedbear/j/build \
org/armedbear/j/images/*.png && \
$(JAR) uf ../j.jar gnu/regexp/*.class gnu/regexp/MessagesBundle.properties && \
$(JAR) uf ../j.jar org/armedbear/j/mail/*.class && \
$(JAR) uf ../j.jar org/armedbear/j/jdb/*.class && \
$(JAR) uf ../j.jar org/armedbear/j/*.keywords && \
$(JAR) uf ../j.jar org/armedbear/j/mail/*.keywords && \
$(JAR) uf ../j.jar org/armedbear/lisp/*.class && \
$(JAR) uf ../j.jar org/armedbear/lisp/java/awt/*.class && \
$(JAR) uf ../j.jar org/armedbear/lisp/*.lisp org/armedbear/lisp/LICENSE org/armedbear/lisp/build && \
find . -name '*.abcl' | xargs $(JAR) uf ../j.jar && \
find . -name '*.cls' | xargs $(JAR) uf ../j.jar
classes.stamp: classes
test -f classes.stamp || touch classes.stamp
distdir:
-rm -rf $(distdir)
mkdir $(distdir)
find . | xargs chmod u+w
chmod +x configure
chmod +x install-sh
chmod +x mkinstalldirs
cp -p j.in j.bat.in abcl.in configure configure.ac Makefile.in install-sh mkinstalldirs COPYING $(distdir)
cp -p build.properties build.xml $(distdir)
mkdir $(distdir)/src
cp -p src/Makefile.in src/manifest src/*.java $(distdir)/src
mkdir $(distdir)/src/jpty
cp -p src/jpty/Makefile.in src/jpty/jpty.c $(distdir)/src/jpty
cp -p src/jpty/build.xml $(distdir)/src/jpty
mkdir $(distdir)/src/org
mkdir $(distdir)/src/org/armedbear
mkdir $(distdir)/src/org/armedbear/j
-cp -p src/org/armedbear/j/Makefile.in $(distdir)/src/org/armedbear/j
-cp -p src/org/armedbear/j/version.in $(distdir)/src/org/armedbear/j
-cp -p src/org/armedbear/j/*.java $(distdir)/src/org/armedbear/j
-cp -p src/org/armedbear/j/*.keywords $(distdir)/src/org/armedbear/j
mkdir $(distdir)/src/org/armedbear/j/mail
-cp -p src/org/armedbear/j/mail/Makefile.in src/org/armedbear/j/mail/*.java src/org/armedbear/j/mail/*.keywords $(distdir)/src/org/armedbear/j/mail
mkdir $(distdir)/src/org/armedbear/j/jdb
-cp -p src/org/armedbear/j/jdb/Makefile.in src/org/armedbear/j/jdb/*.java $(distdir)/src/org/armedbear/j/jdb
mkdir $(distdir)/src/org/armedbear/j/images
-cp -p src/org/armedbear/j/images/*.png $(distdir)/src/org/armedbear/j/images
mkdir $(distdir)/src/org/armedbear/lisp
-cp -p src/org/armedbear/lisp/Makefile.in src/org/armedbear/lisp/build.xml src/org/armedbear/lisp/*.java src/org/armedbear/lisp/*.c src/org/armedbear/lisp/*.lisp src/org/armedbear/lisp/LICENSE $(distdir)/src/org/armedbear/lisp
mkdir $(distdir)/src/org/armedbear/lisp/java
mkdir $(distdir)/src/org/armedbear/lisp/java/awt
-cp -p src/org/armedbear/lisp/java/awt/Makefile.in src/org/armedbear/lisp/java/awt/*.java $(distdir)/src/org/armedbear/lisp/java/awt
mkdir $(distdir)/src/gnu
mkdir $(distdir)/src/gnu/regexp
-cp -p src/gnu/regexp/Makefile.in src/gnu/regexp/*.java src/gnu/regexp/MessagesBundle.properties $(distdir)/src/gnu/regexp
mkdir $(distdir)/doc
cp -p doc/*.html $(distdir)/doc
cp -p doc/*.css $(distdir)/doc
mkdir $(distdir)/themes
-cp -p themes/* $(distdir)/themes
mkdir $(distdir)/examples
-cp -p examples/* $(distdir)/examples
dist: distdir
-rm -f $(distdir).zip
-rm -f $(distdir).tar.gz
zip -q -r $(distdir).zip $(distdir)
-rm -rf temp
mkdir temp
cd temp && unzip -q ../$(distdir).zip
diff --brief -N -r $(distdir) temp/$(distdir)
rm -rf temp
tar czf $(distdir).tar.gz $(distdir)
mkdir temp
cd temp && tar xfz ../$(distdir).tar.gz
diff --brief -N -r $(distdir) temp/$(distdir)
rm -rf temp
rm -rf $(distdir)
bindistdir: j.jar
-rm -rf $(distdir)
mkdir $(distdir)
cp -p j.jar COPYING $(distdir)
mkdir $(distdir)/doc
cp -p doc/*.html $(distdir)/doc
cp -p doc/*.css $(distdir)/doc
mkdir $(distdir)/themes
-cp -p themes/* $(distdir)/themes
mkdir $(distdir)/examples
-cp -p examples/* $(distdir)/examples
bindist: bindistdir
-rm -f $(distdir)-binary.tar.gz
-rm -f $(distdir)-binary.zip
zip -q -r $(distdir)-binary.zip $(distdir)
-rm -rf temp
mkdir temp
cd temp && unzip -q ../$(distdir)-binary.zip
diff --brief -N -r $(distdir) temp/$(distdir)
rm -rf temp
tar czf $(distdir)-binary.tar.gz $(distdir)
mkdir temp
cd temp && tar xfz ../$(distdir)-binary.tar.gz
diff --brief -N -r $(distdir) temp/$(distdir)
rm -rf temp
-rm -rf $(distdir)
install:
./mkinstalldirs $(datadir)/j $(datadir)/j/themes $(datadir)/doc/j $(bindir) $(libdir)/abcl
$(INSTALL_DATA) j.jar $(datadir)/j
$(INSTALL_SCRIPT) j $(bindir)
$(INSTALL_SCRIPT) abcl $(bindir)
if [ -f src/org/armedbear/lisp/$(LIBABCL) ]; then $(INSTALL_PROGRAM) src/org/armedbear/lisp/$(LIBABCL) $(libdir)/abcl; fi
if [ -f src/jpty/$(JPTY) ]; then $(INSTALL_PROGRAM) src/jpty/$(JPTY) $(bindir); fi
for i in themes/* ; do test -f $$i && $(INSTALL_DATA) $$i $(datadir)/j/themes ; done
$(INSTALL_DATA) doc/*.html $(datadir)/doc/j
$(INSTALL_DATA) doc/*.css $(datadir)/doc/j
uninstall:
-rm -f $(datadir)/j/j.jar
-rm -f $(bindir)/j
-rm -f $(bindir)/abcl
-rm -f $(libdir)/abcl/libabcl.so
-rm -f $(bindir)/jpty.exe
-rm -f $(bindir)/jpty
-rm -f $(datadir)/j/themes/*
-rmdir $(datadir)/j/themes
-rm -f $(datadir)/doc/j/*.html
-rm -f $(datadir)/doc/j/*.css
-rmdir $(datadir)/doc/j
-rmdir $(datadir)/j
clean:
-rm -f *.zip
-rm -f *.tar.gz
-rm -f *.jar
-rm -f *.class
-rm -f src/*.class
-rm -f src/jpty/jpty src/jpty/jpty.exe
-rm -f src/org/armedbear/j/*.class
-rm -f src/org/armedbear/j/build
-rm -f src/org/armedbear/j/mail/*.class
-rm -f src/org/armedbear/j/jdb/*.class
-rm -f src/org/armedbear/lisp/*.class
-rm -f src/org/armedbear/lisp/*.abcl
-rm -f src/org/armedbear/lisp/*.cls
-rm -f src/org/armedbear/lisp/ControlC.h
-rm -f src/org/armedbear/lisp/native.h
-rm -f src/org/armedbear/lisp/libabcl.so
-rm -f src/org/armedbear/lisp/java/awt/*.class
-rm -f src/org/armedbear/lisp/build
-rm -f src/gnu/regexp/*.class
-rm -rf $(distdir)
-rm -f classes.stamp
distclean: clean
-rm -f config.status config.log config.cache Makefile j abcl
-rm -f src/Makefile
-rm -f src/jpty/Makefile
-rm -f src/gnu/regexp/Makefile
-rm -f src/org/armedbear/j/Makefile
-rm -f src/org/armedbear/j/version
-rm -f src/org/armedbear/j/mail/Makefile
-rm -f src/org/armedbear/j/jdb/Makefile
-rm -f src/org/armedbear/lisp/Makefile
-rm -f src/org/armedbear/lisp/java/awt/Makefile
j.zip:
-rm -f j.zip
find . | xargs chmod u+w
chmod +x configure
chmod +x install-sh
chmod +x mkinstalldirs
zip -q j.zip \
j.in j.bat.in abcl.in configure configure.ac Makefile.in \
install-sh mkinstalldirs COPYING \
build.xml build.properties \
src/Makefile.in src/manifest src/*.java \
src/jpty/Makefile.in src/jpty/build.xml src/jpty/jpty.c \
src/org/armedbear/j/Makefile.in src/org/armedbear/j/version.in src/org/armedbear/j/*.java \
src/org/armedbear/j/*.keywords \
src/org/armedbear/j/mail/Makefile.in src/org/armedbear/j/mail/*.java \
src/org/armedbear/j/mail/*.keywords \
src/org/armedbear/j/jdb/Makefile.in src/org/armedbear/j/jdb/*.java \
src/org/armedbear/j/images/*.png \
src/org/armedbear/lisp/Makefile.in src/org/armedbear/lisp/build.xml \
src/org/armedbear/lisp/*.java \
src/org/armedbear/lisp/*.c \
src/org/armedbear/lisp/*.lisp \
src/org/armedbear/lisp/LICENSE \
src/org/armedbear/lisp/java/awt/Makefile.in \
src/org/armedbear/lisp/java/awt/*.java \
src/org/armedbear/lisp/tests/*.lisp src/org/armedbear/lisp/tests/*.cl \
src/gnu/regexp/Makefile.in src/gnu/regexp/*.java src/gnu/regexp/MessagesBundle.properties \
doc/*.html doc/*.css \
themes/* \
examples/* \
-x themes/CVS/ examples/CVS/
unzip -t -qq j.zip
j-jar.zip: j.jar
-rm -f j-jar.zip
zip -q j-jar.zip j.jar
unzip -t -qq j-jar.zip
snapshot: j.zip j-jar.zip
GENERAL INFORMATION
===================
Armed Bear Common Lisp is an implementation of ANSI Common Lisp that
runs in a Java virtual machine. It compiles its code to Java byte code.
LICENSE
=======
Armed Bear Common Lisp is distributed under the GNU General Public
License with classpath exception (described below).
A copy of GNU General Public License (GPL) is included in this
distribution, in the file COPYING.
Linking this software statically or dynamically with other modules is
making a combined work based on this software. Thus, the terms and
conditions of the GNU General Public License cover the whole
combination.
As a special exception, the copyright holders of this software give
you permission to link this software with independent modules to
produce an executable, regardless of the license terms of these
independent modules, and to copy and distribute the resulting
executable under terms of your choice, provided that you also meet,
for each linked independent module, the terms and conditions of the
license of that module. An independent module is a module which is not
derived from or based on this software. If you modify this software,
you may extend this exception to your version of the software, but you
are not obligated to do so. If you do not wish to do so, delete this
exception statement from your version.
BUILDING
========
If you want to build ABCL, you have 2 options. The first option
applies when you come from a lisp background. The second option is more
appropriate when you come from Java development:
I) Bootstrap ABCL using a Common Lisp implementation
Supported implementations for this process: SBCL, CMUCL, OpenMCL,
Allegro CL, LispWorks or CLISP
II) Use the Ant make-like build tool for Java environments
The tested lowest working version is Ant 1.7.0
In both cases you need a supported JDK version (1.5 and 1.6 have been
tested). Just the JRE isn't enough.
I. Lisp-based build
-------------------
Copy the file 'customizations.lisp.in' to customization.lisp', in the
directory containing this README file, editing to suit your situation,
paying attention to the comments in the file.
Start up one of the supported Common Lisp implementations in the
directory containing this README file.
Load build-abcl.lisp:
(load "build-abcl.lisp")
Then do:
(build-abcl:build-abcl :clean t :full t)
Wait for the build to finish and exit the host Lisp.
Use abcl.bat on Windows or ./abcl on Unix to start ABCL.
Note: abcl.bat and abcl contain absolute paths, so you'll need
to edit them if you move things around after the build.
In case of failure in the javac stage, you might try this:
(build-abcl:build-abcl :clean t :full t :batch nil)
This invokes javac separately for each .java file, which avoids running
into limitations on command line length (but is a lot slower).
II. Ant-based build
-------------------
With Ant in your path, executing
ant -find build.xml abcl.wrapper
from the directory containing this README file will create an
executable wrapper ('abcl' under UNIX, 'abcl.bat' under Windows).
Use this wrapper to start the ABCL Java program.
BUGS
====
A lot of (renewed) energy has been spent to make ABCL a compliant
and practically useable Common Lisp implementation. Because of this,
ABCL 0.0.11 now fails only 47 out of 21702 tests in the ANSI CL test
suite. Next to that, the fail count of the Maxima test suite has been
reduced from over 1400 in 0.0.10 to little more than 600 in 0.0.11.
ABCL's CLOS does not handle on-the-fly redefinition of classes
correctly, and in any event is intolerably slow. There is no support
for the long form of DEFINE-METHOD-COMBINATION, and certain other
required CLOS features are also missing. Enough CLOS is there to run
ASDF and CL-PPCRE, if you're in no hurry.
There is no MOP worth mentioning.
Since this is a early public release, there might be build
problems as well as runtime bugs.
Please report problems to the j-devel mailing list:
armedbear-j-devel@lists.sourceforge.net
Have fun!
On behalf of all ABCL development team and contributors,
Erik Huelsmann
October 18, 2008
"@JAVA@" @ABCL_JAVA_OPTIONS@ -cp "@ABCL_CLASSPATH@" org.armedbear.lisp.Main %1 %2 %3 %4 %5 %6 %7 %8 %9
#!/bin/sh
# abcl.in
# Copyright (C) 2004 Peter Graves
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
exec @JAVA@ @ABCL_JAVA_OPTIONS@ -Xrs -Djava.library.path=@ABCL_LIBPATH@ -cp @ABCL_CLASSPATH@ org.armedbear.lisp.Main "$@"
This diff is collapsed. Click to expand it.
# build.properties
# $Id: build.properties,v 1.23 2007-03-03 19:19:11 piso Exp $
# The location of the JDK that will be used to compile the classes.
jdk=c:\\Program\ Files\\Java\\jdk1.5.0_11