Просмотр исходного кода

add openjdk native build to jtools, add jikes for ant compile tests

Waldemar Brodkorb 14 лет назад
Родитель
Сommit
29b1e2852b

+ 1 - 1
jtools/Makefile

@@ -5,7 +5,7 @@ include $(TOPDIR)/rules.mk
 
 TARGETS:=
 ifneq ($(ADK_PACKAGE_OPENJDK),)
-TARGETS+=fastjar gcj classpath ecj
+TARGETS+=fastjar gcj jikes classpath ecj openjdk
 endif
 
 TARGETS_INSTALL:=$(patsubst %,%-install,$(TARGETS))

+ 30 - 0
jtools/jikes/Makefile

@@ -0,0 +1,30 @@
+# 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:=		jikes
+PKG_VERSION:=		1.22
+PKG_RELEASE:=		1
+PKG_MD5SUM:=		14d4bdfac236e347d806c6743dba48c6
+PKG_SITES:=		${MASTER_SITE_SOURCEFORGE:=jikes/Jikes/2.22/}
+#http://sourceforge.net/projects/jikes/files/Jikes/1.22/jikes-1.22.tar.bz2/download
+
+DISTFILES:=		$(PKG_NAME)-$(PKG_VERSION).tar.bz2
+
+include ../rules.mk
+
+install: ${STAGING_JAVA_HOST_DIR}/usr/bin/jikes
+
+$(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/jikes: $(WRKBUILD)/.compiled
+	${MAKE} -C ${WRKBUILD} DESTDIR=$(STAGING_JAVA_HOST_DIR) install $(MAKE_TRACE)
+
+include $(TOPDIR)/mk/tools.mk

+ 90 - 0
jtools/openjdk/Makefile

@@ -0,0 +1,90 @@
+# 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:=		openjdk
+PKG_VERSION:=		6
+PKG_EXTRAVER:=		b22-28_feb_2011
+PKG_RELEASE:=		1
+PKG_MD5SUM:=		2d2bbbb0f9b81f1fec41ec730da8a933 \
+			fd3f35e8a8a2ef9a64c035ed66cea06d \
+			ef7a8b3624ea904bf584bc46d79b5e75 \
+			bc95c133620bd68c161cac9891592901 \
+			91adfd41e6f001add4f92ae31216b1e3 \
+			d526d0848c88607ce4e3a0a4edb75d50
+PKG_DESCR:=		OpenJDK Java VM
+PKG_SECTION:=		lang
+PKG_URL:=		http://openjdk.org/
+PKG_SITES:=		http://download.java.net/openjdk/jdk6/promoted/b22/ \
+			http://mirror.netcologne.de/apache.org/xml/xalan-j/binaries/ \
+			http://icedtea.classpath.org/download/drops/ \
+			http://icedtea.classpath.org/download/source/
+
+# autotools infrastructure for OpenJDK
+ICEDTEA_NAME:=		icedtea6
+ICEDTEA_VERSION:=	1.10
+
+# bootstrap JARs
+XALAN_NAME=		xalan-j
+XALAN_VERSION=		2_7_0
+
+# override generic extraction
+EXTRACT_OVERRIDE:=	1
+DISTFILES:=		openjdk-$(PKG_VERSION)-src-$(PKG_EXTRAVER).tar.gz \
+			$(ICEDTEA_NAME)-$(ICEDTEA_VERSION).tar.gz \
+			jaxp144_01.zip \
+			jdk6-jaf-b20.zip \
+			jdk6-jaxws-b20.zip \
+			${XALAN_NAME}_${XALAN_VERSION}-bin.tar.gz
+
+WRKDIST=		${WRKDIR}
+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+=	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
+
+install: ${STAGING_JAVA_HOST_DIR}/bootstrap-jdk/bin/java
+
+$(WRKDIST)/.extract:
+	cd ${WRKDIST}; mkdir openjdk-$(PKG_VERSION); \
+		tar xzf $(TOPDIR)/dl/openjdk-$(PKG_VERSION)-src-$(PKG_EXTRAVER).tar.gz -C openjdk-$(PKG_VERSION)
+	cd $(WRKDIST); tar xzf $(TOPDIR)/dl/$(ICEDTEA_NAME)-$(ICEDTEA_VERSION).tar.gz
+	cd ${WRKDIST}; tar xzf ${TOPDIR}/dl/${XALAN_NAME}_${XALAN_VERSION}-bin.tar.gz
+	mkdir -p ${WRKBUILD}/drops
+	cd ${TOPDIR}/dl; cp jaxp144_01.zip jdk6-jaf-b20.zip jdk6-jaxws-b20.zip ${WRKBUILD}/drops
+	cd $(WRKDIST); patch -p0 < ${TOPDIR}/jtools/openjdk/patches/*.patch
+	touch $@
+
+$(WRKDIST)/.configured: ${WRKDIST}/.extract
+	cd ${WRKBUILD}; rm -rf config.{cache,status}; \
+	export ${OPENJDK_NATIVE_ENV}; ./configure \
+		--enable-bootstrap \
+		--enable-zero \
+		--disable-openjdk-cross-compilation \
+		--with-openjdk-src-dir=$(WRKDIST)/$(PKG_NAME)-$(PKG_VERSION) \
+		--with-jdk-home=$(STAGING_JAVA_HOST_DIR)/usr/lib/jvm \
+		--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-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 \
+		--without-rhino \
+		--disable-docs
+	touch $@
+
+$(WRKBUILD)/.compiled: ${WRKDIST}/.configured
+	export ${OPENJDK_NATIVE_ENV}; $(MAKE) -C $(WRKBUILD)
+	touch $@
+
+${STAGING_JAVA_HOST_DIR}/bootstrap-jdk/bin/java: $(WRKBUILD)/.compiled
+	$(CP) $(WRKSRC)/openjdk.build/j2sdk-image $(STAGING_JAVA_HOST_DIR)/bootstrap-jdk
+	touch $@
+
+include ${TOPDIR}/mk/pkg-bottom.mk

+ 0 - 0
jtools/openjdk/do-extract


+ 54 - 0
jtools/openjdk/patches/openjdk.patch

@@ -0,0 +1,54 @@
+diff -Nur openjdk-6.orig/Makefile openjdk-6/Makefile
+--- openjdk-6.orig/Makefile	2011-02-28 17:02:07.000000000 +0100
++++ openjdk-6/Makefile	2011-04-06 19:47:19.261818496 +0200
+@@ -25,9 +25,7 @@
+ 
+ BUILD_PARENT_DIRECTORY=.
+ 
+-ifndef TOPDIR
+-  TOPDIR:=.
+-endif
++TOPDIR:=.
+ 
+ ifndef JDK_TOPDIR
+   JDK_TOPDIR=$(TOPDIR)/jdk
+diff -Nur icedtea6-1.10.orig/Makefile.in icedtea6-1.10/Makefile.in
+--- icedtea6-1.10.orig/Makefile.in	2011-03-02 20:48:45.161291458 +0100
++++ icedtea6-1.10/Makefile.in	2011-04-06 20:10:40.581819545 +0200
+@@ -1329,7 +1329,7 @@
+ @OPENJDK_SRC_DIR_FOUND_TRUE@	  cp -pPR $(OPENJDK_SRC_DIR_LINK) $(OPENJDK_SRC_DIR) openjdk ; \
+ @OPENJDK_SRC_DIR_FOUND_TRUE@	fi
+ @OPENJDK_SRC_DIR_FOUND_FALSE@@USE_HG_TRUE@	if ! test -d openjdk ; then \
+-@OPENJDK_SRC_DIR_FOUND_FALSE@@USE_HG_TRUE@	  cp -pPRl openjdk.hg openjdk ; \
++@OPENJDK_SRC_DIR_FOUND_FALSE@@USE_HG_TRUE@	  cp -pPR openjdk.hg openjdk ; \
+ @OPENJDK_SRC_DIR_FOUND_FALSE@@USE_HG_TRUE@	fi
+ @OPENJDK_SRC_DIR_FOUND_FALSE@@USE_HG_FALSE@	set -e ; \
+ @OPENJDK_SRC_DIR_FOUND_FALSE@@USE_HG_FALSE@	if ! test -d openjdk ; \
+@@ -1576,7 +1576,7 @@
+ # FIXME (missing): Rename to clone-ecj.
+ stamps/extract-ecj.stamp: $(OPENJDK_TREE)
+ 	if ! test -d openjdk-ecj ; then \
+-	    cp -pPRl openjdk openjdk-ecj ; \
++	    cp -pPR openjdk openjdk-ecj ; \
+ 	fi
+ 	mkdir -p stamps
+ 	touch stamps/extract-ecj.stamp
+@@ -1643,10 +1643,14 @@
+ 
+ stamps/native-ecj.stamp: 
+ 	mkdir -p stamps ; \
+-	if test "x$(GCJ)" != "xno"; then \
+-	  $(GCJ) $(IT_CFLAGS) -Wl,-Bsymbolic -findirect-dispatch -o native-ecj \
+-	    --main=org.eclipse.jdt.internal.compiler.batch.Main ${ECJ_JAR} ; \
+-	fi ; \
++	if test -n "${ADK_ECJ}" && test -x "${ADK_ECJ}"; then \
++		ln -s "${ADK_ECJ}" native-ecj; \
++	else \
++		if test "x$(GCJ)" != "xno"; then \
++		  $(GCJ) $(IT_CFLAGS) -Wl,-Bsymbolic -findirect-dispatch -o native-ecj \
++		    --main=org.eclipse.jdt.internal.compiler.batch.Main ${ECJ_JAR} ; \
++		fi ; \
++	fi; \
+ 	touch stamps/native-ecj.stamp
+ 
+ clean-native-ecj:

+ 5 - 38
package/openjdk/Makefile

@@ -15,8 +15,8 @@ PKG_MD5SUM:=		2d2bbbb0f9b81f1fec41ec730da8a933 \
 			d526d0848c88607ce4e3a0a4edb75d50
 PKG_DESCR:=		OpenJDK Java VM
 PKG_SECTION:=		lang
-PKG_BUILDDEP:=		alsa-lib xproto jpeg zlib libX11 libpng freetype cups
-PKG_BUILDDEP+=		libXt libXp libXinerama libXrender libXtst
+PKG_BUILDDEP:=		alsa-lib xproto jpeg zlib giflib libpng freetype cups
+PKG_BUILDDEP+=		libX11 libXt libXp libXinerama libXrender libXtst
 PKG_URL:=		http://openjdk.org/
 PKG_SITES:=		http://download.java.net/openjdk/jdk6/promoted/b22/ \
 			http://mirror.netcologne.de/apache.org/xml/xalan-j/binaries/ \
@@ -54,9 +54,8 @@ include $(TOPDIR)/mk/package.mk
 
 $(eval $(call PKG_template,OPENJDK,openjdk,$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
 
-BUILD_STYLE:=		manual
-INSTALL_STYLE:=		manual
 TARGET_CFLAGS:=         $(filter-out -fhonour-copts,$(TARGET_CFLAGS))
+BOOTSTRAPJDK:=		${STAGING_JAVA_HOST_DIR}/bootstrap-jdk
 
 ifeq ($(ADK_PACKAGE_OPENJDK_ZERO),y)
 CONFIGURE_ARGS+=	--enable-zero
@@ -65,7 +64,6 @@ ifeq ($(ADK_PACKAGE_OPENJDK_SHARK),y)
 CONFIGURE_ARGS+=	--enable-shark
 endif
 
-BOOTSTRAPJDK:=		${WRKDIST}/bootstrap-jdk
 CONFIGURE_ARGS+=	--disable-docs \
 			--enable-bootstrap \
 			--enable-openjdk-cross-compilation \
@@ -83,12 +81,7 @@ CONFIGURE_ARGS+=	--disable-docs \
 			--with-native2ascii=$(BOOTSTRAPJDK)/bin/native2ascii \
 			--without-rhino
 
-OPENJDK_NATIVE_ENV+=	JAVACFLAGS="-cp ${STAGING_JAVA_HOST_DIR}/usr/share/java/libgcj-4.5.2.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
-
-OPENJDK_BUILD_ENV+=	ALT_COMPILER_PATH=$(STAGING_HOST_DIR)/$(REAL_GNU_TARGET_NAME)/bin
+MAKE_ENV+=		ALT_COMPILER_PATH=$(STAGING_HOST_DIR)/usr/$(REAL_GNU_TARGET_NAME)/bin
 
 do-extract:
 	cd ${WRKDIST}; mkdir $(PKG_NAME)-$(PKG_VERSION); \
@@ -96,33 +89,7 @@ do-extract:
 	cd $(WRKDIST); tar xzf $(TOPDIR)/dl/$(ICEDTEA_NAME)-$(ICEDTEA_VERSION).tar.gz
 	cd ${WRKDIST}; tar xzf ${TOPDIR}/dl/${XALAN_NAME}_${XALAN_VERSION}-bin.tar.gz
 	mkdir -p ${WRKBUILD}/drops
-	cd ${TOPDIR}/dl; cp jaxp144_01.zip jdk6-jaf-b20.zip jdk6-jaxws-b20.zip \
-	    ${WRKBUILD}/drops
-
-pre-configure:
-	cd ${WRKBUILD}; rm -rf config.{cache,status}; \
-	export ${OPENJDK_NATIVE_ENV}; ./configure \
-		--enable-bootstrap \
-		--enable-zero \
-		--disable-openjdk-cross-compilation \
-		--with-openjdk-src-dir=$(WRKDIST)/$(PKG_NAME)-$(PKG_VERSION) \
-		--with-jdk-home=$(STAGING_JAVA_HOST_DIR)/usr/lib/jvm \
-		--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-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 \
-		--without-rhino \
-		--disable-docs \
-	&& $(MAKE) && $(CP) $(WRKSRC)/openjdk.build/j2sdk-image ${WRKDIST}/bootstrap-jdk && $(MAKE) clean && rm -rf ${WRKBUILD}/openjdk-old
-
-do-build:
-	cd ${WRKBUILD}; export $(OPENJDK_BUILD_ENV); make
-
-do-install:
-	cd ${WRKBUILD}; make install
+	cd ${TOPDIR}/dl; cp jaxp144_01.zip jdk6-jaf-b20.zip jdk6-jaxws-b20.zip ${WRKBUILD}/drops
 
 openjdk-install:
 	$(INSTALL_DIR) $(IDIR_OPENJDK)/usr/bin