summaryrefslogtreecommitdiff
path: root/jtools
diff options
context:
space:
mode:
authorWaldemar Brodkorb <wbx@openadk.org>2011-08-06 17:04:28 +0200
committerWaldemar Brodkorb <wbx@openadk.org>2011-08-06 17:04:28 +0200
commitf0b814dddb1b74c91fd54af412ad356fc68be4a2 (patch)
tree0cb2c6ee2389abe4aa9ad0ad0a2b11c511f9dab9 /jtools
parent5e64a4a52672248415e73543ec43ebe47f49d3da (diff)
really compile openadk without host java and ant
Diffstat (limited to 'jtools')
-rw-r--r--jtools/Makefile2
-rw-r--r--jtools/ant/Makefile2
-rw-r--r--jtools/classpath/Makefile8
-rw-r--r--jtools/classpath/patches/classpath-fix.patch12
-rw-r--r--jtools/ecj/Makefile12
-rw-r--r--jtools/files.needed12
-rw-r--r--jtools/gcj/Makefile4
-rw-r--r--jtools/openjdk/Makefile7
-rw-r--r--jtools/prereq.sh27
-rw-r--r--jtools/rules.mk1
10 files changed, 74 insertions, 13 deletions
diff --git a/jtools/Makefile b/jtools/Makefile
index 5106df2e6..2ea44243a 100644
--- a/jtools/Makefile
+++ b/jtools/Makefile
@@ -5,7 +5,7 @@ include $(TOPDIR)/rules.mk
TARGETS:=
ifneq ($(ADK_PACKAGE_OPENJDK),)
-TARGETS+=fastjar gcj ecj jikes jamvm classpath ant openjdk
+TARGETS+=fastjar gcj ecj jikes classpath jamvm ant openjdk
endif
TARGETS_INSTALL:=$(patsubst %,%-install,$(TARGETS))
diff --git a/jtools/ant/Makefile b/jtools/ant/Makefile
index 666e1e8cb..07da1f1a0 100644
--- a/jtools/ant/Makefile
+++ b/jtools/ant/Makefile
@@ -18,7 +18,7 @@ install: ${STAGING_JAVA_HOST_DIR}/usr/bin/ant
$(WRKBUILD)/.compiled: ${WRKDIST}/.prepared
cd $(WRKBUILD)/lib/optional; wget http://openadk.org/distfiles/junit-4.9b2.jar
- cp $(STAGING_JAVA_HOST_DIR)/usr/share/ecj.jar $(WRKBUILD)/lib/optional
+ cp $(STAGING_JAVA_HOST_DIR)/usr/share/java/ecj.jar $(WRKBUILD)/lib/optional
cd ${WRKBUILD}; export BOOTJAVAC_OPTS="-bootclasspath $(STAGING_JAVA_HOST_DIR)/usr/share/classpath/glibj.zip" \
BOOTCLASSPATH="$(STAGING_JAVA_HOST_DIR)/usr/share/jamvm/classes.zip:$(STAGING_JAVA_HOST_DIR)/usr/share/classpath/glibj.zip" \
LD_LIBRARY_PATH=$(STAGING_JAVA_HOST_DIR)/usr/lib:$(STAGING_JAVA_HOST_DIR)/usr/lib64 \
diff --git a/jtools/classpath/Makefile b/jtools/classpath/Makefile
index d4421bf9a..06f59e1a0 100644
--- a/jtools/classpath/Makefile
+++ b/jtools/classpath/Makefile
@@ -13,8 +13,12 @@ include ../rules.mk
install: ${STAGING_JAVA_HOST_DIR}/usr/share/classpath/glibj.zip
+CPENV:= LD_LIBRARY_PATH=$(STAGING_JAVA_HOST_DIR)/usr/lib:$(STAGING_JAVA_HOST_DIR)/usr/lib64 \
+ PATH=${STAGING_JAVA_HOST_DIR}/usr/bin:$$PATH \
+ CLASSPATH=${STAGING_JAVA_HOST_DIR}/usr/share/java/libgcj-$(GCJ_VER).jar
+
$(WRKBUILD)/.configured: ${WRKDIST}/.prepared
- (cd $(WRKBUILD); ./configure --prefix=${STAGING_JAVA_HOST_DIR}/usr \
+ (cd $(WRKBUILD); env $(CPENV) ./configure --prefix=${STAGING_JAVA_HOST_DIR}/usr \
--disable-local-sockets \
--disable-alsa \
--disable-gconf-peer \
@@ -29,7 +33,7 @@ $(WRKBUILD)/.configured: ${WRKDIST}/.prepared
touch $@
$(WRKBUILD)/.compiled: ${WRKDIST}/.configured
- ${MAKE} -C ${WRKBUILD}
+ env $(CPENV) ${MAKE} -C ${WRKBUILD}
touch $@
${STAGING_JAVA_HOST_DIR}/usr/share/classpath/glibj.zip: $(WRKBUILD)/.compiled
diff --git a/jtools/classpath/patches/classpath-fix.patch b/jtools/classpath/patches/classpath-fix.patch
new file mode 100644
index 000000000..e03eb2342
--- /dev/null
+++ b/jtools/classpath/patches/classpath-fix.patch
@@ -0,0 +1,12 @@
+diff -Nur classpath-0.98.orig//lib/Makefile.in classpath-0.98/lib/Makefile.in
+--- classpath-0.98.orig//lib/Makefile.in 2009-02-06 02:01:32.000000000 +0100
++++ classpath-0.98/lib/Makefile.in 2011-08-05 22:55:25.965284504 +0200
+@@ -272,7 +272,7 @@
+ uudecode = @uudecode@
+ vm_classes = @vm_classes@
+ JAVA_DEPEND = java.dep
+-compile_classpath = $(vm_classes):$(top_srcdir):$(top_srcdir)/external/w3c_dom:$(top_srcdir)/external/sax:$(top_srcdir)/external/relaxngDatatype:$(top_srcdir)/external/jsr166:.:$(PATH_TO_GLIBJ_ZIP):$(PATH_TO_ESCHER)
++compile_classpath = $(vm_classes) -cp $(top_srcdir) -cp $(top_srcdir)/external/w3c_dom -cp $(top_srcdir)/external/sax -cp $(top_srcdir)/external/relaxngDatatype -cp $(top_srcdir)/external/jsr166 -cp . -cp $(PATH_TO_GLIBJ_ZIP) -cp $(PATH_TO_ESCHER)
+ @GCJ_JAVAC_FALSE@JCOMPILER = $(JAVAC) $(JAVACFLAGS) $(JAVAC_MEM_OPT) -source 1.5 -target 1.5 -bootclasspath '' -classpath $(compile_classpath) -d . @classes
+
+ # handling source to bytecode compiler programs like gcj, jikes and kjc
diff --git a/jtools/ecj/Makefile b/jtools/ecj/Makefile
index c4ab831e4..c9e4559a7 100644
--- a/jtools/ecj/Makefile
+++ b/jtools/ecj/Makefile
@@ -17,18 +17,22 @@ ${STAGING_JAVA_HOST_DIR}/usr/bin/ecj:
DYLD_LIBRARY_PATH=$(STAGING_JAVA_HOST_DIR)/usr/lib:$(STAGING_JAVA_HOST_DIR)/usr/lib64 \
LD_LIBRARY_PATH=$(STAGING_JAVA_HOST_DIR)/usr/lib:$(STAGING_JAVA_HOST_DIR)/usr/lib64 \
PATH=$(STAGING_JAVA_HOST_DIR)/usr/bin:$$PATH \
- $(STAGING_JAVA_HOST_DIR)/usr/bin/gcj -g -O2 -findirect-dispatch \
+ $(STAGING_JAVA_HOST_DIR)/usr/bin/gcj -O2 -findirect-dispatch \
-o ${STAGING_JAVA_HOST_DIR}/usr/bin/ecj.native \
--main=org.eclipse.jdt.internal.compiler.batch.Main \
- $(TOPDIR)/jtools_build/gcc-4.5.2/ecj.jar
- $(CP) $(TOPDIR)/jtools_build/gcc-4.5.2/ecj.jar ${STAGING_JAVA_HOST_DIR}/usr/share/ecj.jar
+ $(TOPDIR)/jtools_build/gcc-$(GCJ_VER)/ecj.jar
+ #$(CP) $(TOPDIR)/jtools_build/gcc-$(GCJ_VER)/ecj.jar ${STAGING_JAVA_HOST_DIR}/usr/share/ecj.jar
echo "env LD_LIBRARY_PATH=$(STAGING_JAVA_HOST_DIR)/usr/lib:$(STAGING_JAVA_HOST_DIR)/usr/lib64 ${STAGING_JAVA_HOST_DIR}/usr/bin/ecj.native \$$@" > \
${STAGING_JAVA_HOST_DIR}/usr/bin/ecj
chmod u+x ${STAGING_JAVA_HOST_DIR}/usr/bin/ecj
# put a wrapper for java here
- echo "env LD_LIBRARY_PATH=$(STAGING_JAVA_HOST_DIR)/usr/lib:$(STAGING_JAVA_HOST_DIR)/usr/lib64 ${STAGING_JAVA_HOST_DIR}/usr/bin/gij \"\$$@\"" > \
+ mv ${STAGING_JAVA_HOST_DIR}/usr/bin/gij ${STAGING_JAVA_HOST_DIR}/usr/bin/gij.native
+ echo "env LD_LIBRARY_PATH=$(STAGING_JAVA_HOST_DIR)/usr/lib:$(STAGING_JAVA_HOST_DIR)/usr/lib64 ${STAGING_JAVA_HOST_DIR}/usr/bin/gij.native \"\$$@\"" > \
${STAGING_JAVA_HOST_DIR}/usr/bin/java
chmod u+x ${STAGING_JAVA_HOST_DIR}/usr/bin/java
+ echo "env LD_LIBRARY_PATH=$(STAGING_JAVA_HOST_DIR)/usr/lib:$(STAGING_JAVA_HOST_DIR)/usr/lib64 ${STAGING_JAVA_HOST_DIR}/usr/bin/gij.native \"\$$@\"" > \
+ ${STAGING_JAVA_HOST_DIR}/usr/bin/gij
+ chmod u+x ${STAGING_JAVA_HOST_DIR}/usr/bin/gij
rm ${STAGING_JAVA_HOST_DIR}/usr/lib/jvm/bin/java
rm ${STAGING_JAVA_HOST_DIR}/usr/lib/jvm/jre/bin/java
cp ${STAGING_JAVA_HOST_DIR}/usr/bin/java ${STAGING_JAVA_HOST_DIR}/usr/lib/jvm/bin/java
diff --git a/jtools/files.needed b/jtools/files.needed
new file mode 100644
index 000000000..055a359fc
--- /dev/null
+++ b/jtools/files.needed
@@ -0,0 +1,12 @@
+cups.h;libcups
+jpeglib.h;libjpeg
+gif_lib.h;libgif
+png.h;libpng
+Xtos.h;libXt
+Xinerama.h;libXinerama
+Xrender.h;libXrender
+XTest.h;libXtst
+freetype.h;freetype
+asoundlib.h;libasound
+ffi.h;libffi
+Xproto.h;libXp
diff --git a/jtools/gcj/Makefile b/jtools/gcj/Makefile
index ea41ca671..45302e723 100644
--- a/jtools/gcj/Makefile
+++ b/jtools/gcj/Makefile
@@ -4,8 +4,8 @@
include $(TOPDIR)/rules.mk
PKG_NAME:= gcj
-PKG_VERSION:= 4.5.2
PKG_RELEASE:= 1
+PKG_VERSION:= 4.5.3
PKG_MD5SUM:= d6559145853fbaaa0fd7556ed93bce9a
PKG_SITES:= ${MASTER_SITE_GNU:=gcc/gcc-${PKG_VERSION}/}
DISTFILES:= gcc-$(PKG_VERSION).tar.bz2
@@ -13,7 +13,6 @@ DISTFILES:= gcc-$(PKG_VERSION).tar.bz2
WRKDIST= ${WRKDIR}/gcc-${PKG_VERSION}
include ../rules.mk
-
GCJ_ENV+= JAR=no
install: ${STAGING_JAVA_HOST_DIR}/usr/bin/gcj
@@ -25,6 +24,7 @@ $(WRKBUILD)/.configured: ${WRKDIST}/.prepared
--prefix=/usr \
--enable-java-home \
--enable-languages=java \
+ --enable-shared \
--with-ffi \
--with-mpc=$(STAGING_HOST_DIR) \
--with-mpfr=$(STAGING_HOST_DIR) \
diff --git a/jtools/openjdk/Makefile b/jtools/openjdk/Makefile
index 3b5ee21e3..12426a8d2 100644
--- a/jtools/openjdk/Makefile
+++ b/jtools/openjdk/Makefile
@@ -6,7 +6,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:= openjdk
PKG_VERSION:= 6
PKG_EXTRAVER:= b22-28_feb_2011
-PKG_RELEASE:= 1
+PKG_RELEASE:= 2
PKG_MD5SUM:= 2d2bbbb0f9b81f1fec41ec730da8a933 \
fd3f35e8a8a2ef9a64c035ed66cea06d \
ef7a8b3624ea904bf584bc46d79b5e75 \
@@ -43,10 +43,11 @@ WRKSRC= ${WRKDIST}/${ICEDTEA_NAME}-${ICEDTEA_VERSION}
include ../rules.mk
-OPENJDK_NATIVE_ENV+= JAVACFLAGS="-cp ${STAGING_JAVA_HOST_DIR}/usr/share/java/libgcj-4.5.2.jar"
+OPENJDK_NATIVE_ENV+= JAVACFLAGS="-cp ${STAGING_JAVA_HOST_DIR}/usr/share/java/libgcj-$(GCJ_VER).jar"
OPENJDK_NATIVE_ENV+= DYLD_LIBRARY_PATH=$(STAGING_JAVA_HOST_DIR)/usr/lib:$(STAGING_JAVA_HOST_DIR)/usr/lib64
OPENJDK_NATIVE_ENV+= LD_LIBRARY_PATH=$(STAGING_JAVA_HOST_DIR)/usr/lib:$(STAGING_JAVA_HOST_DIR)/usr/lib64
OPENJDK_NATIVE_ENV+= ADK_ECJ=$(STAGING_JAVA_HOST_DIR)/usr/bin/ecj PATH=$$PATH:$(STAGING_JAVA_HOST_DIR)/usr/bin
+OPENJDK_NATIVE_ENV+= BOOTCLASSPATH="$(STAGING_JAVA_HOST_DIR)/usr/share/jamvm/classes.zip:$(STAGING_JAVA_HOST_DIR)/usr/share/classpath/glibj.zip"
install: ${STAGING_JAVA_HOST_DIR}/bootstrap-jdk/bin/java
@@ -72,7 +73,7 @@ $(WRKDIST)/.configured: ${WRKDIST}/.extract
--with-java=$(STAGING_JAVA_HOST_DIR)/usr/bin/java \
--with-javac=$(STAGING_JAVA_HOST_DIR)/usr/bin/ecj \
--with-gcj=$(STAGING_JAVA_HOST_DIR)/usr/bin/gcj \
- --with-ecj-jar=${STAGING_JAVA_HOST_DIR}/usr/share/ecj.jar \
+ --with-ecj-jar=${STAGING_JAVA_HOST_DIR}/usr/share/java/ecj.jar \
--with-xalan2-jar=${WRKDIST}/${XALAN_NAME}_${XALAN_VERSION}/xalan.jar \
--with-xalan2-serializer-jar=${WRKDIST}/${XALAN_NAME}_${XALAN_VERSION}/serializer.jar \
--with-xerces2-jar=${WRKDIST}/${XALAN_NAME}_${XALAN_VERSION}/xercesImpl.jar \
diff --git a/jtools/prereq.sh b/jtools/prereq.sh
new file mode 100644
index 000000000..2604de1ab
--- /dev/null
+++ b/jtools/prereq.sh
@@ -0,0 +1,27 @@
+# This file is part of the OpenADK project. OpenADK is copyrighted
+# material, please see the LICENCE file in the top-level directory.
+
+# test for existing /usr/include/asm
+if [ ! -d "/usr/include/asm" ]; then
+ echo "ERROR: directory \"/usr/include/asm\" not found."
+ echo "on some systems this is name asm-generic."
+ echo "try to create a link to the asm directory with"
+ echo "\"ln -s /usr/include/asm-generic /usr/include/asm\""
+ exit 1
+fi
+
+# test if all files from the files.needed file are available
+for LINE in `cat files.needed`; do
+
+ FILE=`echo ${LINE} | awk -F ";" '{print $1}'`
+ LIB=`echo ${LINE} | awk -F ";" '{print $2}'`
+
+ #echo -n "looking for development files of \"${LIB}\"..."
+ FOUND=`find /usr/include /usr/lib -name "${FILE}" | wc -l`
+ if [ ${FOUND} -lt 1 ]; then
+ echo "not found!";
+ echo "Please install the development header files for the library \"${LIB}\"."
+ exit 1
+ fi
+
+done
diff --git a/jtools/rules.mk b/jtools/rules.mk
index 7b1d8e866..6b7ea0336 100644
--- a/jtools/rules.mk
+++ b/jtools/rules.mk
@@ -3,5 +3,6 @@
WRKDIR_BASE= ${JTOOLS_BUILD_DIR}
WRKDIR= ${WRKDIR_BASE}
+GCJ_VER:= 4.5.3
include ${TOPDIR}/mk/buildhlp.mk