From e8c76b35182a24385949e28c76c56db0d86bb7b0 Mon Sep 17 00:00:00 2001 From: Waldemar Brodkorb Date: Fri, 1 Apr 2011 16:40:24 +0200 Subject: 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... --- jtools/Makefile | 29 +++++++++++++++++++++++++++++ jtools/cacao/Makefile | 35 +++++++++++++++++++++++++++++++++++ jtools/classpath/Makefile | 36 ++++++++++++++++++++++++++++++++++++ jtools/ecj/Makefile | 21 +++++++++++++++++++++ jtools/fastjar/Makefile | 27 +++++++++++++++++++++++++++ jtools/gcj/Makefile | 41 +++++++++++++++++++++++++++++++++++++++++ jtools/jamvm/Makefile | 27 +++++++++++++++++++++++++++ jtools/rules.mk | 7 +++++++ 8 files changed, 223 insertions(+) create mode 100644 jtools/Makefile create mode 100644 jtools/cacao/Makefile create mode 100644 jtools/classpath/Makefile create mode 100644 jtools/ecj/Makefile create mode 100644 jtools/fastjar/Makefile create mode 100644 jtools/gcj/Makefile create mode 100644 jtools/jamvm/Makefile create mode 100644 jtools/rules.mk (limited to 'jtools') 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 -- cgit v1.2.3