summaryrefslogtreecommitdiff
path: root/jtools
diff options
context:
space:
mode:
authorWaldemar Brodkorb <wbx@openadk.org>2011-04-01 16:40:24 +0200
committerWaldemar Brodkorb <wbx@openadk.org>2011-04-01 16:40:24 +0200
commite8c76b35182a24385949e28c76c56db0d86bb7b0 (patch)
tree7e6d16c2808808b183cc6b48fa56f154191afe3e /jtools
parent125c380eef783c99f0877d60e966e37c295a2267 (diff)
add a java build tool directory
following build tools seem to be required to cross-compile OpenJDK: - fastjar - classpath - gcj - jamvm - ecj Maybe cacao is better, maybe ant is required, too. ... hacking...
Diffstat (limited to 'jtools')
-rw-r--r--jtools/Makefile29
-rw-r--r--jtools/cacao/Makefile35
-rw-r--r--jtools/classpath/Makefile36
-rw-r--r--jtools/ecj/Makefile21
-rw-r--r--jtools/fastjar/Makefile27
-rw-r--r--jtools/gcj/Makefile41
-rw-r--r--jtools/jamvm/Makefile27
-rw-r--r--jtools/rules.mk7
8 files changed, 223 insertions, 0 deletions
diff --git a/jtools/Makefile b/jtools/Makefile
new file mode 100644
index 000000000..932cd298f
--- /dev/null
+++ b/jtools/Makefile
@@ -0,0 +1,29 @@
+# This file is part of the OpenADK project. OpenADK is copyrighted
+# material, please see the LICENCE file in the top-level directory.
+
+include $(TOPDIR)/rules.mk
+
+TARGETS:=
+ifneq ($(ADK_PACKAGE_OPENJDK),)
+TARGETS+=fastjar gcj classpath jamvm ecj
+endif
+
+TARGETS_INSTALL:=$(patsubst %,%-install,$(TARGETS))
+TARGETS_CLEAN:=$(patsubst %,%-clean,$(TARGETS))
+
+all: install
+compile:
+install: $(TARGETS_INSTALL)
+clean: $(TARGETS_CLEAN)
+
+%-compile: $(TOOLS_BUILD_DIR)
+ $(TRACE) "jtools/$(patsubst %-compile,%,$@)/compile "
+ $(MAKE) -C $(patsubst %-compile,%,$@) compile
+
+%-install:
+ $(TRACE) "jtools/$(patsubst %-install,%,$@)/install "
+ $(MAKE) -C $(patsubst %-install,%,$@) install
+
+%-clean:
+ $(TRACE) "jtools/$(patsubst %-clean,%,$@)/clean "
+ $(MAKE) -C $(patsubst %-clean,%,$@) clean
diff --git a/jtools/cacao/Makefile b/jtools/cacao/Makefile
new file mode 100644
index 000000000..6d4b76d1f
--- /dev/null
+++ b/jtools/cacao/Makefile
@@ -0,0 +1,35 @@
+# This file is part of the OpenADK project. OpenADK is copyrighted
+# material, please see the LICENCE file in the top-level directory.
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:= cacao
+PKG_VERSION:= 0.99.4
+PKG_RELEASE:= 1
+PKG_MD5SUM:= 63220327925ace13756ae334c55a3baa
+PKG_SITES:= http://www.complang.tuwien.ac.at/cacaojvm/download/cacao-0.99.4/
+
+DISTFILES:= $(PKG_NAME)-$(PKG_VERSION).tar.bz2
+
+include ../rules.mk
+
+install: ${STAGING_HOST_DIR}/usr/bin/cacao
+
+$(WRKBUILD)/.configured: ${WRKDIST}/.prepared
+ (cd $(WRKBUILD); ./configure --prefix=/usr --disable-libjvm --enable-debug \
+ --with-vm-zip=$(STAGING_HOST_DIR)/usr/share/cacao/vm.zip \
+ --with-java-runtime-library=gnuclasspath \
+ --with-java-runtime-library-classes=$(STAGING_HOST_DIR)/usr/share/classpath/glibj.zip \
+ --with-java-runtime-library-prefix=$(STAGING_HOST_DIR)/usr \
+ --with-jni_md_h=$(STAGING_HOST_DIR)/usr/include \
+ );
+ touch $@
+
+$(WRKBUILD)/.compiled: ${WRKDIST}/.configured
+ ${MAKE} -C ${WRKBUILD} $(MAKE_TRACE)
+ touch $@
+
+${STAGING_HOST_DIR}/usr/bin/cacao: $(WRKBUILD)/.compiled
+ ${MAKE} -C ${WRKBUILD} DESTDIR=$(STAGING_HOST_DIR) install $(MAKE_TRACE)
+
+include $(TOPDIR)/mk/tools.mk
diff --git a/jtools/classpath/Makefile b/jtools/classpath/Makefile
new file mode 100644
index 000000000..059790565
--- /dev/null
+++ b/jtools/classpath/Makefile
@@ -0,0 +1,36 @@
+# This file is part of the OpenADK project. OpenADK is copyrighted
+# material, please see the LICENCE file in the top-level directory.
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:= classpath
+PKG_VERSION:= 0.98
+PKG_RELEASE:= 1
+PKG_MD5SUM:= 90c6571b8b0309e372faa0f9f6255ea9
+PKG_SITES:= ${MASTER_SITE_GNU:=classpath/}
+
+include ../rules.mk
+
+install: ${STAGING_JAVA_HOST_DIR}/usr/share/classpath/glibj.zip
+
+$(WRKBUILD)/.configured: ${WRKDIST}/.prepared
+ (cd $(WRKBUILD); ./configure --prefix=/usr \
+ --disable-local-sockets \
+ --disable-alsa \
+ --disable-gconf-peer \
+ --disable-gtk-peer \
+ --disable-qt-peer \
+ --disable-dssi \
+ --disable-plugin \
+ --disable-examples \
+ --disable-Werror)
+ touch $@
+
+$(WRKBUILD)/.compiled: ${WRKDIST}/.configured
+ ${MAKE} -C ${WRKBUILD}
+ touch $@
+
+${STAGING_JAVA_HOST_DIR}/usr/share/classpath/glibj.zip: $(WRKBUILD)/.compiled
+ ${MAKE} -C ${WRKBUILD} DESTDIR=$(STAGING_JAVA_HOST_DIR) install
+
+include $(TOPDIR)/mk/tools.mk
diff --git a/jtools/ecj/Makefile b/jtools/ecj/Makefile
new file mode 100644
index 000000000..504c97350
--- /dev/null
+++ b/jtools/ecj/Makefile
@@ -0,0 +1,21 @@
+# This file is part of the OpenADK project. OpenADK is copyrighted
+# material, please see the LICENCE file in the top-level directory.
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:= ecj
+PKG_VERSION:= 1
+PKG_RELEASE:= 1
+PKG_MD5SUM:= 63220327925ace13756ae334c55a3baa
+
+include ../rules.mk
+
+install: ${STAGING_JAVA_HOST_DIR}/usr/bin/ecj
+
+${STAGING_JAVA_HOST_DIR}/usr/bin/ecj:
+ $(STAGING_JAVA_HOST_DIR)/usr/bin/gcj -g -static -O2 -m64 -Wl,-Bsymbolic -findirect-dispatch \
+ -o ${STAGING_JAVA_HOST_DIR}/usr/bin/ecj --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
+
+include $(TOPDIR)/mk/tools.mk
diff --git a/jtools/fastjar/Makefile b/jtools/fastjar/Makefile
new file mode 100644
index 000000000..744776eac
--- /dev/null
+++ b/jtools/fastjar/Makefile
@@ -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.
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:= fastjar
+PKG_VERSION:= 0.94
+PKG_RELEASE:= 1
+PKG_MD5SUM:= 14d4bdfac236e347d806c6743dba48c6
+PKG_SITES:= ${MASTER_SITE_SOURCEFORGE:=fastjar/}
+
+include ../rules.mk
+
+install: ${STAGING_JAVA_HOST_DIR}/usr/bin/fastjar
+
+$(WRKBUILD)/.configured: ${WRKDIST}/.prepared
+ (cd $(WRKBUILD); ./configure --prefix=/usr);
+ touch $@
+
+$(WRKBUILD)/.compiled: ${WRKDIST}/.configured
+ ${MAKE} -C ${WRKBUILD} $(MAKE_TRACE)
+ touch $@
+
+${STAGING_JAVA_HOST_DIR}/usr/bin/fastjar: $(WRKBUILD)/.compiled
+ ${MAKE} -C ${WRKBUILD} DESTDIR=$(STAGING_JAVA_HOST_DIR) install $(MAKE_TRACE)
+
+include $(TOPDIR)/mk/tools.mk
diff --git a/jtools/gcj/Makefile b/jtools/gcj/Makefile
new file mode 100644
index 000000000..ba31c27ea
--- /dev/null
+++ b/jtools/gcj/Makefile
@@ -0,0 +1,41 @@
+# This file is part of the OpenADK project. OpenADK is copyrighted
+# material, please see the LICENCE file in the top-level directory.
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:= gcj
+PKG_VERSION:= 4.5.2
+PKG_RELEASE:= 1
+PKG_MD5SUM:= d6559145853fbaaa0fd7556ed93bce9a
+PKG_SITES:= ${MASTER_SITE_GNU:=gcc/gcc-${PKG_VERSION}/}
+DISTFILES:= gcc-$(PKG_VERSION).tar.bz2
+
+WRKDIST= ${WRKDIR}/gcc-${PKG_VERSION}
+
+include ../rules.mk
+
+install: ${STAGING_JAVA_HOST_DIR}/usr/bin/gcj
+
+$(WRKBUILD)/.configured: ${WRKDIST}/.prepared
+ (cd $(WRKBUILD); \
+ wget -O ecj.jar ftp://sourceware.org/pub/java/ecj-latest.jar; \
+ ./configure --prefix=/usr --enable-java-home --enable-languages=java --with-ffi \
+ --with-mpc=$(STAGING_HOST_DIR) --with-mpfr=$(STAGING_HOST_DIR) \
+ --with-gmp=$(STAGING_HOST_DIR) \
+ --disable-libmudflap \
+ --disable-libgomp \
+ --disable-biarch \
+ --disable-decimal-float \
+ --disable-multilib \
+ );
+ touch $@
+
+$(WRKBUILD)/.compiled: ${WRKDIST}/.configured
+ ${MAKE} -C ${WRKBUILD} $(MAKE_TRACE)
+ touch $@
+
+${STAGING_JAVA_HOST_DIR}/usr/bin/gcj: $(WRKBUILD)/.compiled
+ $(INSTALL_DIR) ${STAGING_JAVA_HOST_DIR}
+ ${MAKE} -C ${WRKBUILD} DESTDIR=$(STAGING_JAVA_HOST_DIR) install $(MAKE_TRACE)
+
+include $(TOPDIR)/mk/tools.mk
diff --git a/jtools/jamvm/Makefile b/jtools/jamvm/Makefile
new file mode 100644
index 000000000..f02450fb0
--- /dev/null
+++ b/jtools/jamvm/Makefile
@@ -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.
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:= jamvm
+PKG_VERSION:= 1.5.4
+PKG_RELEASE:= 1
+PKG_MD5SUM:= 63220327925ace13756ae334c55a3baa
+PKG_SITES:= ${MASTER_SITE_SOURCEFORGE:=jamvm/}
+
+include ../rules.mk
+
+install: ${STAGING_JAVA_HOST_DIR}/usr/bin/jamvm
+
+$(WRKBUILD)/.configured: ${WRKDIST}/.prepared
+ (cd $(WRKBUILD); ./configure --prefix=/usr --with-classpath-install-dir=$(STAGING_JAVA_HOST_DIR) );
+ touch $@
+
+$(WRKBUILD)/.compiled: ${WRKDIST}/.configured
+ ${MAKE} -C ${WRKBUILD} $(MAKE_TRACE)
+ touch $@
+
+${STAGING_JAVA_HOST_DIR}/usr/bin/jamvm: $(WRKBUILD)/.compiled
+ ${MAKE} -C ${WRKBUILD} DESTDIR=$(STAGING_JAVA_HOST_DIR) install $(MAKE_TRACE)
+
+include $(TOPDIR)/mk/tools.mk
diff --git a/jtools/rules.mk b/jtools/rules.mk
new file mode 100644
index 000000000..7b1d8e866
--- /dev/null
+++ b/jtools/rules.mk
@@ -0,0 +1,7 @@
+# This file is part of the OpenADK project. OpenADK is copyrighted
+# material, please see the LICENCE file in the top-level directory.
+
+WRKDIR_BASE= ${JTOOLS_BUILD_DIR}
+WRKDIR= ${WRKDIR_BASE}
+
+include ${TOPDIR}/mk/buildhlp.mk