Makefile 6.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168
  1. # This file is part of the OpenADK project. OpenADK is copyrighted
  2. # material, please see the LICENCE file in the top-level directory.
  3. include $(TOPDIR)/rules.mk
  4. PKG_NAME:= openjdk
  5. PKG_VERSION:= 6
  6. PKG_EXTRAVER:= b22-28_feb_2011
  7. PKG_RELEASE:= 2
  8. PKG_MD5SUM:= 2d2bbbb0f9b81f1fec41ec730da8a933 \
  9. fd3f35e8a8a2ef9a64c035ed66cea06d \
  10. ef7a8b3624ea904bf584bc46d79b5e75 \
  11. bc95c133620bd68c161cac9891592901 \
  12. 91adfd41e6f001add4f92ae31216b1e3 \
  13. d526d0848c88607ce4e3a0a4edb75d50
  14. PKG_DESCR:= OpenJDK Java VM
  15. PKG_SECTION:= lang
  16. PKG_BUILDDEP:= alsa-lib xproto jpeg zlib giflib libpng freetype cups
  17. PKG_BUILDDEP+= libX11 libXt libXp libXinerama libXrender libXtst libiconv
  18. PKG_DEPENDS:= zlib libstdcxx libffi libpthread
  19. PKG_URL:= http://openjdk.org/
  20. PKG_SITES:= http://download.java.net/openjdk/jdk6/promoted/b22/ \
  21. http://mirror.netcologne.de/apache.org/xml/xalan-j/binaries/ \
  22. http://icedtea.classpath.org/download/drops/ \
  23. http://icedtea.classpath.org/download/source/
  24. #PKG_CFLINE_OPENJDK:= depends on ADK_TARGET_LIB_GLIBC || ADK_TARGET_LIB_EGLIBC && !ADK_TARGET_SYSTEM_LEMOTE_YEELONG
  25. PKG_HOST_DEPENDS:= !darwin !cygwin !openbsd !netbsd !freebsd
  26. PKG_ARCH_DEPENDS:= arm mips x86 x86_64
  27. PKG_SYSTEM_DEPENDS:= !lemote-yeelong !linksys-ag241 !fon-fon2100
  28. # autotools infrastructure for OpenJDK
  29. ICEDTEA_NAME:= icedtea6
  30. ICEDTEA_VERSION:= 1.10
  31. # bootstrap JARs
  32. XALAN_NAME= xalan-j
  33. XALAN_VERSION= 2_7_0
  34. # override generic extraction
  35. EXTRACT_OVERRIDE:= 1
  36. DISTFILES:= $(PKG_NAME)-$(PKG_VERSION)-src-$(PKG_EXTRAVER).tar.gz \
  37. $(ICEDTEA_NAME)-$(ICEDTEA_VERSION).tar.gz \
  38. jaxp144_01.zip \
  39. jdk6-jaf-b20.zip \
  40. jdk6-jaxws-b20.zip \
  41. ${XALAN_NAME}_${XALAN_VERSION}-bin.tar.gz
  42. WRKDIST= ${WRKDIR}
  43. WRKSRC= ${WRKDIST}/${ICEDTEA_NAME}-${ICEDTEA_VERSION}
  44. PKG_SUBPKGS:= OPENJDK
  45. PKG_CHOICES_OPENJDK:= ZERO SHARK CACAO
  46. PKGCD_ZERO:= zero-assembly backend
  47. PKGCD_SHARK:= Shark JIT backend (needs eglibc/glibc)
  48. PKGCB_SHARK:= llvm
  49. PKGCD_CACAO:= Cacao JIT backend
  50. PKGCD_JAMVM:= JamVM backend
  51. include $(TOPDIR)/mk/package.mk
  52. $(eval $(call PKG_template,OPENJDK,openjdk,$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
  53. TARGET_CFLAGS:= $(filter-out -fhonour-copts,$(TARGET_CFLAGS))
  54. BOOTSTRAPJDK:= ${STAGING_JAVA_HOST_DIR}/bootstrap-jdk
  55. ifeq ($(ADK_PACKAGE_OPENJDK_ZERO),y)
  56. CONFIGURE_BACKEND:= --enable-zero
  57. endif
  58. ifeq ($(ADK_PACKAGE_OPENJDK_SHARK),y)
  59. CONFIGURE_BACKEND:= --enable-shark \
  60. --with-llvm-config=$(STAGING_TARGET_DIR)/usr/bin/llvm-config
  61. endif
  62. ifeq ($(ADK_PACKAGE_OPENJDK_CACAO),y)
  63. CONFIGURE_BACKEND:= --enable-cacao
  64. endif
  65. ifeq ($(ADK_PACKAGE_OPENJDK_JAMVM),y)
  66. CONFIGURE_BACKEND:= --enable-jamvm
  67. endif
  68. CONFIGURE_ARGS+= $(CONFIGURE_BACKEND)
  69. CONFIGURE_ARGS+= --disable-docs \
  70. --disable-bootstrap \
  71. --enable-openjdk-cross-compilation \
  72. --with-openjdk-src-dir=$(WRKDIST)/$(PKG_NAME)-$(PKG_VERSION) \
  73. --with-xalan2-jar=${WRKDIST}/${XALAN_NAME}_${XALAN_VERSION}/xalan.jar \
  74. --with-xalan2-serializer-jar=${WRKDIST}/${XALAN_NAME}_${XALAN_VERSION}/serializer.jar \
  75. --with-xerces2-jar=${WRKDIST}/${XALAN_NAME}_${XALAN_VERSION}/xercesImpl.jar \
  76. --with-jdk-home=$(BOOTSTRAPJDK) \
  77. --with-java=$(BOOTSTRAPJDK)/bin/java \
  78. --with-javac=$(BOOTSTRAPJDK)/bin/javac \
  79. --with-javah=$(BOOTSTRAPJDK)/bin/javah \
  80. --with-jar=$(BOOTSTRAPJDK)/bin/jar \
  81. --with-rmic=$(BOOTSTRAPJDK)/bin/rmic \
  82. --with-native2ascii=$(BOOTSTRAPJDK)/bin/native2ascii \
  83. --with-gcj=$(STAGING_JAVA_HOST_DIR)/usr/bin/gcj \
  84. --without-rhino
  85. CONFIGURE_ENV+= PATH=$(STAGING_JAVA_HOST_DIR)/usr/bin:$${PATH}:${STAGING_TARGET_DIR}/usr/bin
  86. MAKE_ENV+= ALT_COMPILER_PATH=$(STAGING_HOST_DIR)/$(REAL_GNU_TARGET_NAME) \
  87. ADK_ECJ=$(STAGING_JAVA_HOST_DIR)/usr/bin/ecj \
  88. PATH=$(STAGING_JAVA_HOST_DIR)/usr/bin:$${PATH}:${STAGING_TARGET_DIR}/usr/bin \
  89. GCC_HONOUR_COPTS=s \
  90. TARGET_ALIAS=$(GNU_TARGET_NAME) BUILD_ALIAS=$(GNU_HOST_NAME) HOST_ALIAS=$(GNU_TARGET_NAME)
  91. OPENJDK_NATIVE_ENV+= ALT_COMPILER_PATH=$(STAGING_HOST_DIR)/$(REAL_GNU_TARGET_NAME) \
  92. ADK_ECJ=$(STAGING_JAVA_HOST_DIR)/usr/bin/ecj \
  93. PATH=$(STAGING_JAVA_HOST_DIR)/usr/bin:$${PATH}:${STAGING_TARGET_DIR}/usr/bin \
  94. GCC_HONOUR_COPTS=s CROSS_COMPILE_ARCH=$(ARCH) \
  95. TARGET_ALIAS=$(GNU_TARGET_NAME) BUILD_ALIAS=$(GNU_HOST_NAME) HOST_ALIAS=$(GNU_TARGET_NAME)
  96. ALL_TARGET:= icedtea
  97. # add include path for Xrender.h from staging directory
  98. post-patch:
  99. ifeq ($(QEMU),)
  100. $(error Fatal error: $$QEMU not set!)
  101. endif
  102. $(SED) "s#@ADK_TARGETDIR@#$(STAGING_TARGET_DIR)#" ${WRKDIST}/$(PKG_NAME)-$(PKG_VERSION)/jdk/make/sun/xawt/Makefile
  103. do-extract:
  104. cd ${WRKDIST}; mkdir $(PKG_NAME)-$(PKG_VERSION); \
  105. tar xzf $(TOPDIR)/dl/$(PKG_NAME)-$(PKG_VERSION)-src-$(PKG_EXTRAVER).tar.gz -C $(PKG_NAME)-$(PKG_VERSION)
  106. cd $(WRKDIST); tar xzf $(TOPDIR)/dl/$(ICEDTEA_NAME)-$(ICEDTEA_VERSION).tar.gz
  107. cd ${WRKDIST}; tar xzf ${TOPDIR}/dl/${XALAN_NAME}_${XALAN_VERSION}-bin.tar.gz
  108. mkdir -p ${WRKBUILD}/drops
  109. cd ${TOPDIR}/dl; cp jaxp144_01.zip jdk6-jaf-b20.zip jdk6-jaxws-b20.zip ${WRKBUILD}/drops
  110. pre-configure:
  111. cd ${WRKBUILD}; rm -rf config.{cache,status}; \
  112. export $(MAKE_ENV) ${OPENJDK_NATIVE_ENV} ; ./configure \
  113. ${CONFIGURE_TRIPLE} \
  114. $(CONFIGURE_BACKEND) \
  115. --prefix=/usr \
  116. --bindir=/usr/bin \
  117. --datadir=/usr/share \
  118. --mandir=/usr/share/man \
  119. --libexecdir=/usr/libexec \
  120. --localstatedir=/var \
  121. --sysconfdir=/etc \
  122. --enable-bootstrap \
  123. --enable-openjdk-cross-compilation \
  124. --with-openjdk-src-dir=$(WRKDIST)/$(PKG_NAME)-$(PKG_VERSION) \
  125. --with-xalan2-jar=${WRKDIST}/${XALAN_NAME}_${XALAN_VERSION}/xalan.jar \
  126. --with-xalan2-serializer-jar=${WRKDIST}/${XALAN_NAME}_${XALAN_VERSION}/serializer.jar \
  127. --with-xerces2-jar=${WRKDIST}/${XALAN_NAME}_${XALAN_VERSION}/xercesImpl.jar \
  128. --with-jdk-home=$(BOOTSTRAPJDK) \
  129. --with-java=$(BOOTSTRAPJDK)/bin/java \
  130. --with-javac=$(BOOTSTRAPJDK)/bin/javac \
  131. --with-javah=$(BOOTSTRAPJDK)/bin/javah \
  132. --with-jar=$(BOOTSTRAPJDK)/bin/jar \
  133. --with-rmic=$(BOOTSTRAPJDK)/bin/rmic \
  134. --with-native2ascii=$(BOOTSTRAPJDK)/bin/native2ascii \
  135. --with-gcj=$(STAGING_JAVA_HOST_DIR)/usr/bin/gcj \
  136. --with-ecj-jar=$(STAGING_JAVA_HOST_DIR)/usr/share/java/ecj.jar \
  137. --without-rhino ;\
  138. env ${OPENJDK_NATIVE_ENV} $(MAKE) icedtea-ecj
  139. # fixup symlinks to bootstrap jdk
  140. ln -sf $(BOOTSTRAPJDK)/bin/java $(WRKBUILD)/openjdk.build-ecj/j2sdk-image/bin/java
  141. ln -sf $(BOOTSTRAPJDK)/bin/javac $(WRKBUILD)/openjdk.build-ecj/j2sdk-image/bin/javac
  142. ln -sf $(BOOTSTRAPJDK)/bin/javah $(WRKBUILD)/openjdk.build-ecj/j2sdk-image/bin/javah
  143. ln -sf $(BOOTSTRAPJDK)/bin/jar $(WRKBUILD)/openjdk.build-ecj/j2sdk-image/bin/jar
  144. openjdk-install:
  145. $(INSTALL_DIR) $(IDIR_OPENJDK)/usr
  146. $(CP) $(WRKBUILD)/openjdk.build/j2re-image/* $(IDIR_OPENJDK)/usr
  147. include ${TOPDIR}/mk/pkg-bottom.mk