diff options
-rw-r--r-- | jtools/Makefile | 2 | ||||
-rw-r--r-- | jtools/qemu/Makefile | 32 | ||||
-rw-r--r-- | mk/build.mk | 2 | ||||
-rw-r--r-- | mk/vars.mk | 7 | ||||
-rw-r--r-- | package/openjdk/Makefile | 2 | ||||
-rw-r--r-- | package/openjdk/patches/dlopen-RTLD_NOLOAD.patch | 13 | ||||
-rw-r--r-- | package/openjdk/patches/icedtea-arm-mkbc.patch | 26 | ||||
-rw-r--r-- | package/openjdk/patches/inc-path.patch | 31 |
8 files changed, 101 insertions, 14 deletions
diff --git a/jtools/Makefile b/jtools/Makefile index 7ddaf23eb..728d46dac 100644 --- a/jtools/Makefile +++ b/jtools/Makefile @@ -6,7 +6,7 @@ include $(TOPDIR)/rules.mk TARGETS:= ifneq ($(ADK_PACKAGE_OPENJDK),) # jikes is for ant -TARGETS+=fastjar gcj ecj jikes classpath jamvm ant openjdk +TARGETS+=fastjar gcj ecj jikes classpath jamvm ant openjdk qemu endif TARGETS_INSTALL:=$(patsubst %,%-install,$(TARGETS)) diff --git a/jtools/qemu/Makefile b/jtools/qemu/Makefile new file mode 100644 index 000000000..bc2f89205 --- /dev/null +++ b/jtools/qemu/Makefile @@ -0,0 +1,32 @@ +# 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:= qemu +PKG_VERSION:= 0.14.1 +PKG_RELEASE:= 1 +PKG_MD5SUM:= b6c713a8db638e173af53a62d5178640 +PKG_SITES:= http://download.savannah.gnu.org/releases/qemu/ + +include ../rules.mk + +install: ${STAGING_JAVA_HOST_DIR}/usr/bin/qemu-arm + +$(WRKBUILD)/.configured: ${WRKDIST}/.prepared + (cd $(WRKBUILD); ./configure --prefix=/usr \ + --host-cc=$(CC_FOR_BUILD) \ + --disable-system \ + --disable-sdl \ + --target-list=arm-linux-user \ + ) + touch $@ + +$(WRKBUILD)/.compiled: ${WRKDIST}/.configured + ${MAKE} -C ${WRKBUILD} $(MAKE_TRACE) + touch $@ + +${STAGING_JAVA_HOST_DIR}/usr/bin/qemu-arm: $(WRKBUILD)/.compiled + ${MAKE} -C ${WRKBUILD} DESTDIR=$(STAGING_JAVA_HOST_DIR) install $(MAKE_TRACE) + +include $(TOPDIR)/mk/tools.mk diff --git a/mk/build.mk b/mk/build.mk index cd50be90f..854fdb19d 100644 --- a/mk/build.mk +++ b/mk/build.mk @@ -266,7 +266,7 @@ ifeq ($(filter-out distclean,${MAKECMDGOALS}),) include ${TOPDIR}/mk/vars.mk else include $(TOPDIR)/prereq.mk -export BASH MAKE LANGUAGE LC_ALL OStype PATH CC_FOR_BUILD +export BASH MAKE LANGUAGE LC_ALL OStype PATH CC_FOR_BUILD QEMU endif all: menuconfig diff --git a/mk/vars.mk b/mk/vars.mk index 3776b57b4..925635d01 100644 --- a/mk/vars.mk +++ b/mk/vars.mk @@ -47,6 +47,10 @@ TARGET_PATH= ${SCRIPT_DIR}:${TOOLS_DIR}:${STAGING_HOST_DIR}/bin:${STAGING_HOST_ REAL_GNU_TARGET_NAME= $(CPU_ARCH)-$(ADK_VENDOR)-linux-$(ADK_TARGET_SUFFIX) GNU_TARGET_NAME= $(CPU_ARCH)-$(ADK_VENDOR)-linux +ifeq ($(CPU_ARCH),arm) +QEMU:= qemu-arm +endif + ifeq ($(ADK_NATIVE),y) TARGET_CROSS:= TARGET_COMPILER_PREFIX?= @@ -138,7 +142,8 @@ TARGET_CONFIGURE_OPTS= PATH='${TARGET_PATH}' \ HOST_CONFIGURE_OPTS= CC_FOR_BUILD='${CC_FOR_BUILD}' \ CPPFLAGS_FOR_BUILD='${CPPFLAGS_FOR_BUILD}' \ CFLAGS_FOR_BUILD='${CFLAGS_FOR_BUILD}' \ - LDFLAGS_FOR_BUILD='${LDFLAGS_FOR_BUILD}' + LDFLAGS_FOR_BUILD='${LDFLAGS_FOR_BUILD}' \ + QEMU='$(QEMU)' PKG_SUFFIX:= $(strip $(subst ",, $(ADK_PACKAGE_SUFFIX))) diff --git a/package/openjdk/Makefile b/package/openjdk/Makefile index 45194d4d9..2650341c5 100644 --- a/package/openjdk/Makefile +++ b/package/openjdk/Makefile @@ -26,6 +26,8 @@ PKG_SITES:= http://download.java.net/openjdk/jdk6/promoted/b22/ \ #PKG_CFLINE_OPENJDK:= depends on ADK_TARGET_LIB_GLIBC || ADK_TARGET_LIB_EGLIBC && !ADK_TARGET_SYSTEM_LEMOTE_YEELONG PKG_HOST_DEPENDS:= !darwin !cygwin !openbsd !netbsd !freebsd +PKG_ARCH_DEPENDS:= arm mips x86 x86_64 +PKG_SYSTEM_DEPENDS:= !lemote-yeelong !linksys-ag241 !fon-fon2100 # autotools infrastructure for OpenJDK ICEDTEA_NAME:= icedtea6 diff --git a/package/openjdk/patches/dlopen-RTLD_NOLOAD.patch b/package/openjdk/patches/dlopen-RTLD_NOLOAD.patch new file mode 100644 index 000000000..1baf3411b --- /dev/null +++ b/package/openjdk/patches/dlopen-RTLD_NOLOAD.patch @@ -0,0 +1,13 @@ +the option RTLOD_NOLOAD is not portable. (not available in uClibc) +https://evolvis.org/scm/viewvc.php/jalimo/trunk/oe-overlay/packages/openjdk/openjdk-6-6b18-1.8/icedtea-jdk-RTLD_NOLOAD.patch?revision=840&view=markup&pathrev=867 +--- w-openjdk-6.orig/openjdk-6/jdk/src/solaris/native/sun/security/pkcs11/j2secmod_md.c 2011-02-28 17:06:50.000000000 +0100 ++++ w-openjdk-6/openjdk-6/jdk/src/solaris/native/sun/security/pkcs11/j2secmod_md.c 2011-08-10 14:41:26.700571862 +0200 +@@ -51,7 +51,7 @@ + { + const char *libName = (*env)->GetStringUTFChars(env, jLibName, NULL); + // look up existing handle only, do not load +- void *hModule = dlopen(libName, RTLD_NOLOAD); ++ void *hModule = dlopen(libName, RTLD_LAZY); + dprintf2("-handle for %s: %u\n", libName, hModule); + (*env)->ReleaseStringUTFChars(env, jLibName, libName); + return (jlong)hModule; diff --git a/package/openjdk/patches/icedtea-arm-mkbc.patch b/package/openjdk/patches/icedtea-arm-mkbc.patch new file mode 100644 index 000000000..1d481740f --- /dev/null +++ b/package/openjdk/patches/icedtea-arm-mkbc.patch @@ -0,0 +1,26 @@ +--- w-openjdk-6-1.orig/icedtea6-1.10/patches/arm.patch 2011-02-23 23:32:32.909601440 +0100 ++++ w-openjdk-6-1/icedtea6-1.10/patches/arm.patch 2011-08-09 20:05:56.721765260 +0200 +@@ -25,7 +25,7 @@ + + + +offsets_arm.s: mkoffsets + + @echo Generating assembler offsets +-+ ./mkoffsets > $@ +++ $(QEMU) ./mkoffsets > $@ + + + +bytecodes_arm.s: bytecodes_arm.def mkbc + + @echo Generatine ARM assembler bytecode sequences +@@ -33,12 +33,12 @@ + + + +mkbc: $(GAMMADIR)/tools/mkbc.c + + @echo Compiling mkbc tool +-+ $(CC_COMPILE) -o $@ $< $(COMPILE_DONE) +++ $(CC_FOR_BUILD) -o $@ $< $(COMPILE_DONE) + + + +mkoffsets: asm_helper.cpp + + @echo Compiling offset generator + + $(QUIETLY) $(REMOVE_TARGET) +-+ $(CC_COMPILE) -DSTATIC_OFFSETS -o $@ $< $(COMPILE_DONE) +++ $(CC_COMPILE) -static -DSTATIC_OFFSETS -o $@ $< $(COMPILE_DONE) + + + +endif + + diff --git a/package/openjdk/patches/inc-path.patch b/package/openjdk/patches/inc-path.patch index 32aaa919e..06c006685 100644 --- a/package/openjdk/patches/inc-path.patch +++ b/package/openjdk/patches/inc-path.patch @@ -1,14 +1,3 @@ ---- w-openjdk-6-1.orig/openjdk-6/jdk/make/common/Defs.gmk 2011-02-28 17:06:10.000000000 +0100 -+++ w-openjdk-6-1/openjdk-6/jdk/make/common/Defs.gmk 2011-08-07 21:21:49.335286149 +0200 -@@ -173,7 +173,7 @@ - ifeq ($(DEVTOOLS_FT_DIR_EXISTS), true) - FREETYPE_HEADERS_PATH = $(DEVTOOLS_FT_DIR)/include - else -- FREETYPE_HEADERS_PATH = /usr/include -+ FREETYPE_HEADERS_PATH = /usr/include/disabled - endif - endif - endif --- w-openjdk-6-1.orig/openjdk-6/jdk/make/common/shared/Defs-linux.gmk 2011-02-28 17:06:10.000000000 +0100 +++ w-openjdk-6-1/openjdk-6/jdk/make/common/shared/Defs-linux.gmk 2011-08-08 10:07:58.975256728 +0200 @@ -170,7 +170,7 @@ @@ -20,3 +9,23 @@ # Import JDK images allow for partial builds, components not built are # imported (or copied from) these import areas when needed. +--- w-openjdk-6-1.orig/openjdk-6/jdk/make/common/Defs.gmk 2011-02-28 17:06:10.000000000 +0100 ++++ w-openjdk-6-1/openjdk-6/jdk/make/common/Defs.gmk 2011-08-10 18:50:53.248017538 +0200 +@@ -156,7 +156,7 @@ + ifeq ($(DEVTOOLS_FT_DIR_EXISTS), true) + FREETYPE_LIB_PATH = $(DEVTOOLS_FT_DIR)/lib + else +- FREETYPE_LIB_PATH = /usr/lib ++ FREETYPE_LIB_PATH = /usr/lib/disabled + USING_SYSTEM_FT_LIB=true + endif + endif +@@ -173,7 +173,7 @@ + ifeq ($(DEVTOOLS_FT_DIR_EXISTS), true) + FREETYPE_HEADERS_PATH = $(DEVTOOLS_FT_DIR)/include + else +- FREETYPE_HEADERS_PATH = /usr/include ++ FREETYPE_HEADERS_PATH = /usr/include/disabled + endif + endif + endif |