Эх сурвалжийг харах

more qemu archs for OpenJDK

Waldemar Brodkorb 14 жил өмнө
parent
commit
9637f77464

+ 9 - 0
mk/vars.mk

@@ -50,6 +50,15 @@ GNU_TARGET_NAME=	$(CPU_ARCH)-$(ADK_VENDOR)-linux
 ifeq ($(CPU_ARCH),arm)
 QEMU:=			qemu-arm
 endif
+ifeq ($(CPU_ARCH),mipsel)
+QEMU:=			qemu-mipsel
+endif
+ifeq ($(CPU_ARCH),i586)
+QEMU:=			qemu-i386
+endif
+ifeq ($(CPU_ARCH),i686)
+QEMU:=			qemu-i386
+endif
 
 ifeq ($(ADK_NATIVE),y) 
 TARGET_CROSS:=

+ 5 - 1
package/openjdk/Makefile

@@ -52,7 +52,7 @@ WRKSRC=			${WRKDIST}/${ICEDTEA_NAME}-${ICEDTEA_VERSION}
 PKG_SUBPKGS:=		OPENJDK
 PKG_CHOICES_OPENJDK:=	ZERO SHARK CACAO
 PKGCD_ZERO:=		zero-assembly backend
-PKGCD_SHARK:=		Shark JIT backend
+PKGCD_SHARK:=		Shark JIT backend (needs eglibc/glibc)
 PKGCB_SHARK:=		llvm
 PKGCD_CACAO:=		Cacao JIT backend
 PKGCD_JAMVM:=		JamVM backend
@@ -61,6 +61,7 @@ include $(TOPDIR)/mk/package.mk
 
 $(eval $(call PKG_template,OPENJDK,openjdk,$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
 
+
 TARGET_CFLAGS:=         $(filter-out -fhonour-copts,$(TARGET_CFLAGS))
 BOOTSTRAPJDK:=		${STAGING_JAVA_HOST_DIR}/bootstrap-jdk
 
@@ -110,6 +111,9 @@ ALL_TARGET:=		icedtea
 
 # add include path for Xrender.h from staging directory
 post-patch:
+ifeq ($(QEMU),)
+	$(error Fatal error: $$QEMU not set!)
+endif
 	$(SED) "s#@ADK_TARGETDIR@#$(STAGING_TARGET_DIR)#" ${WRKDIST}/$(PKG_NAME)-$(PKG_VERSION)/jdk/make/sun/xawt/Makefile
 
 do-extract:

+ 20 - 0
package/openjdk/patches/shark-adlc-cross-compile.patch

@@ -0,0 +1,20 @@
+--- w-openjdk-6.orig/openjdk-6/hotspot/make/linux/makefiles/adlc.make	2011-02-28 17:03:13.000000000 +0100
++++ w-openjdk-6/openjdk-6/hotspot/make/linux/makefiles/adlc.make	2011-08-17 13:05:55.317470977 +0200
+@@ -103,7 +103,7 @@
+ 
+ $(EXEC) : $(OBJECTS)
+ 	@echo Making adlc
+-	$(QUIETLY) $(LINK_NOPROF.CC) -o $(EXEC) $(OBJECTS)
++	$(QUIETLY) $(LINK_NOPROF.CC) -static -o $(EXEC) $(OBJECTS)
+ 
+ # Random dependencies:
+ $(OBJECTS): opcodes.hpp classes.hpp adlc.hpp adlcVMDeps.hpp adlparse.hpp archDesc.hpp arena.hpp dict2.hpp filebuff.hpp forms.hpp formsopt.hpp formssel.hpp
+@@ -170,7 +170,7 @@
+ #
+ refresh_adfiles: $(EXEC) $(SOURCE.AD) $(ADLC_UPDATER)
+ 	@rm -rf $(TEMPDIR); mkdir $(TEMPDIR)
+-	$(QUIETLY) $(EXEC) $(ADLCFLAGS) $(SOURCE.AD) \
++	$(QEMU) $(EXEC) $(ADLCFLAGS) $(SOURCE.AD) \
+  -c$(TEMPDIR)/ad_$(Platform_arch_model).cpp -h$(TEMPDIR)/ad_$(Platform_arch_model).hpp -a$(TEMPDIR)/dfa_$(Platform_arch_model).cpp -v$(TEMPDIR)/adGlobals_$(Platform_arch_model).hpp \
+ 	    || { rm -rf $(TEMPDIR); exit 1; }
+ 	$(QUIETLY) ./$(ADLC_UPDATER) ad_$(Platform_arch_model).cpp $(TEMPDIR) $(OUTDIR)