summaryrefslogtreecommitdiffstats
path: root/recipes-core/openjdk/openjdk-6-common.inc
diff options
context:
space:
mode:
Diffstat (limited to 'recipes-core/openjdk/openjdk-6-common.inc')
-rw-r--r--recipes-core/openjdk/openjdk-6-common.inc110
1 files changed, 68 insertions, 42 deletions
diff --git a/recipes-core/openjdk/openjdk-6-common.inc b/recipes-core/openjdk/openjdk-6-common.inc
index 257fe56..1a3c52b 100644
--- a/recipes-core/openjdk/openjdk-6-common.inc
+++ b/recipes-core/openjdk/openjdk-6-common.inc
@@ -10,7 +10,7 @@ ICEDTEA = "NEEDS TO BE SET"
10S = "${WORKDIR}/${ICEDTEA}" 10S = "${WORKDIR}/${ICEDTEA}"
11B = "${S}/build" 11B = "${S}/build"
12 12
13INC_PR = "r12" 13INC_PR = "r13"
14 14
15SRC_URI = "\ 15SRC_URI = "\
16 ${ICEDTEA_URI} \ 16 ${ICEDTEA_URI} \
@@ -19,6 +19,7 @@ SRC_URI = "\
19 ${JAF_URI} \ 19 ${JAF_URI} \
20 ${JAXP_URI} \ 20 ${JAXP_URI} \
21 ${CACAO_URI} \ 21 ${CACAO_URI} \
22 ${JAMVM_URI} \
22 ${OEPATCHES} \ 23 ${OEPATCHES} \
23 ${ICEDTEAPATCHES} \ 24 ${ICEDTEAPATCHES} \
24 file://jvm.cfg \ 25 file://jvm.cfg \
@@ -33,7 +34,7 @@ PROVIDES += "${JDKPN} ${PACKAGES}"
33DEPENDS = "giflib libpng jpeg cups \ 34DEPENDS = "giflib libpng jpeg cups \
34 xalan-j xerces-j rhino \ 35 xalan-j xerces-j rhino \
35 freetype libxinerama libxt libxp libxrender libxtst libxi \ 36 freetype libxinerama libxt libxp libxrender libxtst libxi \
36 alsa-lib libffi llvm2.9\ 37 alsa-lib libffi llvm2.8 \
37 ant-native \ 38 ant-native \
38 fastjar-native \ 39 fastjar-native \
39 icedtea6-native \ 40 icedtea6-native \
@@ -88,7 +89,7 @@ EXTRA_OECONF = "\
88 --with-java=${STAGING_LIBDIR_JVM_NATIVE}/icedtea6-native/bin/java \ 89 --with-java=${STAGING_LIBDIR_JVM_NATIVE}/icedtea6-native/bin/java \
89 --with-javac=${STAGING_LIBDIR_JVM_NATIVE}/icedtea6-native/bin/javac \ 90 --with-javac=${STAGING_LIBDIR_JVM_NATIVE}/icedtea6-native/bin/javac \
90 --with-javah=${STAGING_LIBDIR_JVM_NATIVE}/icedtea6-native/bin/javah \ 91 --with-javah=${STAGING_LIBDIR_JVM_NATIVE}/icedtea6-native/bin/javah \
91 --with-jar=${STAGING_BINDIR_NATIVE}/fastjar \ 92 --with-jar=${STAGING_LIBDIR_JVM_NATIVE}/icedtea6-native/bin/jar \
92 --with-rmic=${STAGING_LIBDIR_JVM_NATIVE}/icedtea6-native/bin/rmic \ 93 --with-rmic=${STAGING_LIBDIR_JVM_NATIVE}/icedtea6-native/bin/rmic \
93 --with-xalan2-jar=${STAGING_DATADIR_JAVA}/xalan2.jar \ 94 --with-xalan2-jar=${STAGING_DATADIR_JAVA}/xalan2.jar \
94 --with-xalan2-serializer-jar=${STAGING_DATADIR_JAVA}/serializer.jar \ 95 --with-xalan2-serializer-jar=${STAGING_DATADIR_JAVA}/serializer.jar \
@@ -103,7 +104,7 @@ EXTRA_OECONF = "\
103 --with-pkgversion=${PV} \ 104 --with-pkgversion=${PV} \
104 --with-cc-for-build=${BUILD_CC} \ 105 --with-cc-for-build=${BUILD_CC} \
105 --enable-zero \ 106 --enable-zero \
106 --with-additional-vms=shark,cacao \ 107 --with-additional-vms=${WITH_ADDITIONAL_VMS} \
107 --enable-openjdk-cross-compilation \ 108 --enable-openjdk-cross-compilation \
108 " 109 "
109 110
@@ -238,12 +239,12 @@ EXTRA_OEMAKE += 'DIST_NAME="${DIST_NAME}" DIST_ID="${DIST_ID}"'
238 239
239# llvm configure and compiles stuff 240# llvm configure and compiles stuff
240 241
241export WANT_LLVM_RELEASE = "2.9" 242export WANT_LLVM_RELEASE = "2.8"
242 243
243# Provides the target architecture to the configure script. 244# Provides the target architecture to the configure script.
244export LLVM_CONFIGURE_ARCH="${@get_llvm_configure_arch(d)}" 245export LLVM_CONFIGURE_ARCH="${@get_llvm_configure_arch(d)}"
245 246
246OE_LAUNCHER_LDFLAGS = "-Wl,-rpath-link,${STAGING_LIBDIR}/llvm2.9" 247OE_LAUNCHER_LDFLAGS = "-Wl,-rpath-link,${STAGING_LIBDIR}/llvm${WANT_LLVM_RELEASE} -Wl,-rpath,/usr/lib/llvm${WANT_LLVM_RELEASE}"
247 248
248EXTRA_OEMAKE += 'OE_LAUNCHER_LDFLAGS="${OE_LAUNCHER_LDFLAGS}"' 249EXTRA_OEMAKE += 'OE_LAUNCHER_LDFLAGS="${OE_LAUNCHER_LDFLAGS}"'
249 250
@@ -253,9 +254,6 @@ QEMU = "qemu-${TARGET_ARCH} ${QEMU_OPTIONS} -s 1048576 -L ${STAGING_DIR_TARGET}"
253 254
254EXTRA_OEMAKE += 'QEMU="${QEMU}"' 255EXTRA_OEMAKE += 'QEMU="${QEMU}"'
255 256
256# Name of the directory containing the compiled output
257BUILD_DIR = "build/linux-${JDK_ARCH}"
258
259# The build of OpenJDK is a 3-part process. For better restartability and overrideability they have been split into 257# The build of OpenJDK is a 3-part process. For better restartability and overrideability they have been split into
260# three functions. 258# three functions.
261# 1. compile Hotspot or Cacao (this one is supposed to be implemented according to wanted VM) 259# 1. compile Hotspot or Cacao (this one is supposed to be implemented according to wanted VM)
@@ -277,12 +275,12 @@ do_compilestepone() {
277 rm -rf bootstrap/ecj/jre/lib/${JDK_ARCH} || true 275 rm -rf bootstrap/ecj/jre/lib/${JDK_ARCH} || true
278 276
279 # Provide a symlink to the target arch's libjvm.so (to link against) 277 # Provide a symlink to the target arch's libjvm.so (to link against)
280 ln -s `pwd`/openjdk-ecj/${BUILD_DIR}/j2sdk-image/jre/lib/${JDK_ARCH} bootstrap/jdk1.6.0/jre/lib/${JDK_ARCH} 278 ln -s `pwd`/${BUILD_DIR_ECJ}/j2sdk-image/jre/lib/${JDK_ARCH} bootstrap/jdk1.6.0/jre/lib/${JDK_ARCH}
281 279
282 # fake j2sdk-image 280 # fake j2sdk-image
283 rm openjdk-ecj/${BUILD_DIR}/j2sdk-image/include || true 281 rm ${BUILD_DIR_ECJ}/j2sdk-image/include || true
284 cp -ar openjdk-ecj/${BUILD_DIR}/hotspot/import/include openjdk-ecj/${BUILD_DIR}/j2sdk-image/ 282 cp -ar ${BUILD_DIR_ECJ}/hotspot/import/include ${BUILD_DIR_ECJ}/j2sdk-image/
285 install -d openjdk-ecj/${BUILD_DIR}/j2sdk-image/bin 283 install -d ${BUILD_DIR_ECJ}/j2sdk-image/bin
286} 284}
287addtask compilestepone after do_configure before do_compilesteptwo 285addtask compilestepone after do_configure before do_compilesteptwo
288 286
@@ -294,7 +292,7 @@ do_compilesteptwo() {
294 rm stamps/icedtea-against-ecj.stamp stamps/icedtea-ecj.stamp || true 292 rm stamps/icedtea-against-ecj.stamp stamps/icedtea-ecj.stamp || true
295 oe_runmake icedtea-against-ecj 293 oe_runmake icedtea-against-ecj
296 294
297 ln -sf ../openjdk-ecj/${BUILD_DIR}/j2sdk-image bootstrap/icedtea 295 ln -sf ../${BUILD_DIR_ECJ}/j2sdk-image bootstrap/icedtea
298 296
299 # Replace all executables with symlinks to their native equivalents. 297 # Replace all executables with symlinks to their native equivalents.
300 for F in `find ${STAGING_LIBDIR_JVM_NATIVE}/icedtea6-native/bin -type f` 298 for F in `find ${STAGING_LIBDIR_JVM_NATIVE}/icedtea6-native/bin -type f`
@@ -316,7 +314,7 @@ do_compile() {
316 314
317do_install() { 315do_install() {
318 install -d ${D}${libdir_jvm} 316 install -d ${D}${libdir_jvm}
319 cp -R ${S}/build/openjdk/${BUILD_DIR}/j2sdk-image ${D}${JDK_HOME} 317 cp -R ${S}/build/${BUILD_DIR}/j2sdk-image ${D}${JDK_HOME}
320 318
321 chmod u+rw -R ${D}${JDK_HOME} 319 chmod u+rw -R ${D}${JDK_HOME}
322 320
@@ -360,6 +358,7 @@ PACKAGES = " \
360 ${JDKPN}-vm-shark \ 358 ${JDKPN}-vm-shark \
361 ${JDKPN}-vm-zero \ 359 ${JDKPN}-vm-zero \
362 ${JDKPN}-vm-cacao \ 360 ${JDKPN}-vm-cacao \
361 ${JDKPN}-vm-jamvm \
363 ${JDKPN}-common \ 362 ${JDKPN}-common \
364 " 363 "
365 364
@@ -401,6 +400,8 @@ FILES_${JDKPN}-vm-shark = "${JDK_HOME}/jre/lib/arm/shark/"
401 400
402FILES_${JDKPN}-vm-cacao = "${JDK_HOME}/jre/lib/arm/cacao/" 401FILES_${JDKPN}-vm-cacao = "${JDK_HOME}/jre/lib/arm/cacao/"
403 402
403FILES_${JDKPN}-vm-jamvm = "${JDK_HOME}/jre/lib/arm/jamvm/"
404
404FILES_${JDKPN}-common = "${JDK_HOME}/jre/ASSEMBLY_EXCEPTION \ 405FILES_${JDKPN}-common = "${JDK_HOME}/jre/ASSEMBLY_EXCEPTION \
405 ${JDK_HOME}/jre/THIRD_PARTY_README \ 406 ${JDK_HOME}/jre/THIRD_PARTY_README \
406 ${JDK_HOME}/jre/LICENSE \ 407 ${JDK_HOME}/jre/LICENSE \
@@ -425,6 +426,7 @@ RDEPENDS_${JDKPN}-common = "librhino-java"
425RPROVIDES_${JDKPN}-vm-shark = "java2-vm" 426RPROVIDES_${JDKPN}-vm-shark = "java2-vm"
426RPROVIDES_${JDKPN}-vm-zero = "java2-vm" 427RPROVIDES_${JDKPN}-vm-zero = "java2-vm"
427RPROVIDES_${JDKPN}-vm-cacao = "java2-vm" 428RPROVIDES_${JDKPN}-vm-cacao = "java2-vm"
429RPROVIDES_${JDKPN}-vm-jamvm = "java2-vm"
428 430
429# Even though a vm is a hard dependency it is set as RRECOMMENDS so a single vm can get uninstalled: 431# Even though a vm is a hard dependency it is set as RRECOMMENDS so a single vm can get uninstalled:
430# root@beaglebone:~/java# opkg remove openjdk-6-vm-shark 432# root@beaglebone:~/java# opkg remove openjdk-6-vm-shark
@@ -439,11 +441,13 @@ RRECOMMENDS_${JDKPN}-java = "java2-vm"
439# So we add that manually. 441# So we add that manually.
440RDEPENDS_${JDKPN}-vm-shark = "${JDKPN}-common" 442RDEPENDS_${JDKPN}-vm-shark = "${JDKPN}-common"
441RDEPENDS_${JDKPN}-vm-cacao = "${JDKPN}-common" 443RDEPENDS_${JDKPN}-vm-cacao = "${JDKPN}-common"
444RDEPENDS_${JDKPN}-vm-jamvm = "${JDKPN}-common"
442 445
443# There is a symlink to a .so but this one is valid. 446# There is a symlink to a .so but this one is valid.
444INSANE_SKIP_${JDKPN}-vm-shark = "dev-so" 447INSANE_SKIP_${JDKPN}-vm-shark = "dev-so"
445INSANE_SKIP_${JDKPN}-vm-zero = "dev-so" 448INSANE_SKIP_${JDKPN}-vm-zero = "dev-so"
446INSANE_SKIP_${JDKPN}-vm-cacao = "dev-so" 449INSANE_SKIP_${JDKPN}-vm-cacao = "dev-so"
450INSANE_SKIP_${JDKPN}-vm-jamvm = "dev-so"
447INSANE_SKIP_${JDKPN}-common = "dev-so" 451INSANE_SKIP_${JDKPN}-common = "dev-so"
448 452
449FILES_${JDKPN}-jdk = " \ 453FILES_${JDKPN}-jdk = " \
@@ -459,53 +463,75 @@ RDEPENDS_${JDKPN}-jdk = "${JDKPN}-jre"
459FILES_${JDKPN}-doc = "${JDK_HOME}/man" 463FILES_${JDKPN}-doc = "${JDK_HOME}/man"
460 464
461pkg_postinst_${JDKPN}-vm-shark () { 465pkg_postinst_${JDKPN}-vm-shark () {
462 if grep -q "\-cacao KNOWN" ${JDK_HOME}/jre/lib/arm/jvm.cfg && grep -q "\-server ERROR" ${JDK_HOME}/jre/lib/arm/jvm.cfg; then 466 if grep -q "\-server ERROR" ${JDK_HOME}/jre/lib/arm/jvm.cfg && ! grep -q "KNOWN" ${JDK_HOME}/jre/lib/arm/jvm.cfg; then
463 sed -i -e "/\-cacao KNOWN/d" ${JDK_HOME}/jre/lib/arm/jvm.cfg 467 sed -i -e "/\-shark.*/d" -e "s|\(^\-server*\)|\-shark KNOWN\n\1|" -e "/^$/d" ${JDK_HOME}/jre/lib/arm/jvm.cfg
464 echo "-cacao KNOWN" >> ${JDK_HOME}/jre/lib/arm/jvm.cfg 468 else
469 sed -i -e "/\-shark.*/\-shark KNOWN/d" ${JDK_HOME}/jre/lib/arm/jvm.cfg
465 fi 470 fi
466
467 sed -i -e "/\-shark.*/d" -e "s|\(^\-server*\)|\-shark KNOWN\n\1|" -e "/^$/d" ${JDK_HOME}/jre/lib/arm/jvm.cfg
468} 471}
469 472
470pkg_prerm_${JDKPN}-vm-shark () { 473pkg_prerm_${JDKPN}-vm-shark () {
471 sed -i -e "/^\-shark.*/d" -e "/^$/d" ${JDK_HOME}/jre/lib/arm/jvm.cfg 474 sed -i -e "/^\-shark.*/d" -e "/^$/d" ${JDK_HOME}/jre/lib/arm/jvm.cfg
472 if grep -q "\-cacao KNOWN" ${JDK_HOME}/jre/lib/arm/jvm.cfg && grep -q "\-server ERROR" ${JDK_HOME}/jre/lib/arm/jvm.cfg; then 475 if grep -q "KNOWN" ${JDK_HOME}/jre/lib/arm/jvm.cfg && grep -q "\-server ERROR" ${JDK_HOME}/jre/lib/arm/jvm.cfg; then
473 sed -i -e "/\-cacao KNOWN/d" -e "s|\(^\-server*\)|\-cacao KNOWN\n\1|" ${JDK_HOME}/jre/lib/arm/jvm.cfg 476 FIRST_KNOWN=`grep "KNOWN" ${JDK_HOME}/jre/lib/arm/jvm.cfg | head -1`
477 sed -i -e "/${FIRST_KNOWN}/d" -e "s|\(^\-server*\)|${FIRST_KNOWN}\n\1|" ${JDK_HOME}/jre/lib/arm/jvm.cfg
474 fi 478 fi
479
480 echo "-shark ERROR" >> ${JDK_HOME}/jre/lib/arm/jvm.cfg
475} 481}
476 482
477pkg_postinst_${JDKPN}-vm-cacao () { 483pkg_postinst_${JDKPN}-vm-cacao () {
478 if grep -q "\-server ERROR" ${JDK_HOME}/jre/lib/arm/jvm.cfg && ! grep -q "\-shark KNOWN" ${JDK_HOME}/jre/lib/arm/jvm.cfg; then 484 if grep -q "\-server ERROR" ${JDK_HOME}/jre/lib/arm/jvm.cfg && ! grep -q "KNOWN" ${JDK_HOME}/jre/lib/arm/jvm.cfg; then
479 sed -i -e "/\-cacao.*/d" -e "s|\(^\-server*\)|\-cacao KNOWN\n\1|" -e "/^$/d" ${JDK_HOME}/jre/lib/arm/jvm.cfg 485 sed -i -e "/\-cacao.*/d" -e "s|\(^\-server*\)|\-cacao KNOWN\n\1|" -e "/^$/d" ${JDK_HOME}/jre/lib/arm/jvm.cfg
480 else 486 else
481 sed -i -e "s|^\-cacao.*|\-cacao KNOWN|" -e "/^$/d" ${JDK_HOME}/jre/lib/arm/jvm.cfg 487 sed -i -e "/\-cacao.*/\-cacao KNOWN/d" ${JDK_HOME}/jre/lib/arm/jvm.cfg
482 fi 488 fi
483} 489}
484 490
485pkg_prerm_${JDKPN}-vm-cacao () { 491pkg_prerm_${JDKPN}-vm-cacao () {
486 if grep -q "\-server ERROR" ${JDK_HOME}/jre/lib/arm/jvm.cfg && ! grep -q "\-shark KNOWN" ${JDK_HOME}/jre/lib/arm/jvm.cfg; then 492 sed -i -e "/^\-cacao.*/d" -e "/^$/d" ${JDK_HOME}/jre/lib/arm/jvm.cfg
487 sed -i -e "/\-cacao.*/d" -e "/^$/d" ${JDK_HOME}/jre/lib/arm/jvm.cfg 493 if grep -q "KNOWN" ${JDK_HOME}/jre/lib/arm/jvm.cfg && grep -q "\-server ERROR" ${JDK_HOME}/jre/lib/arm/jvm.cfg; then
494 FIRST_KNOWN=`grep "KNOWN" ${JDK_HOME}/jre/lib/arm/jvm.cfg | head -1`
495 sed -i -e "/${FIRST_KNOWN}/d" -e "s|\(^\-server*\)|${FIRST_KNOWN}\n\1|" ${JDK_HOME}/jre/lib/arm/jvm.cfg
496 fi
497
488 echo "-cacao ERROR" >> ${JDK_HOME}/jre/lib/arm/jvm.cfg 498 echo "-cacao ERROR" >> ${JDK_HOME}/jre/lib/arm/jvm.cfg
489 else 499}
490 sed -i -e "s|^\-cacao.*|\-cacao ERROR|" -e "/^$/d" ${JDK_HOME}/jre/lib/arm/jvm.cfg 500
491 fi 501pkg_postinst_${JDKPN}-vm-jamvm () {
502 if grep -q "\-server ERROR" ${JDK_HOME}/jre/lib/arm/jvm.cfg && ! grep -q "KOWN" ${JDK_HOME}/jre/lib/arm/jvm.cfg; then
503 sed -i -e "/\-jamvm.*/d" -e "s|\(^\-server*\)|\-jamvm KNOWN\n\1|" -e "/^$/d" ${JDK_HOME}/jre/lib/arm/jvm.cfg
504 else
505 sed -i -e "/\-jamvm.*/\-jamvm KNOWN/d" ${JDK_HOME}/jre/lib/arm/jvm.cfg
506 fi
507}
508
509pkg_prerm_${JDKPN}-vm-jamvm () {
510 sed -i -e "/^\-jamvm.*/d" -e "/^$/d" ${JDK_HOME}/jre/lib/arm/jvm.cfg
511 if grep -q "KNOWN" ${JDK_HOME}/jre/lib/arm/jvm.cfg && grep -q "\-server ERROR" ${JDK_HOME}/jre/lib/arm/jvm.cfg; then
512 FIRST_KNOWN=`grep "KNOWN" ${JDK_HOME}/jre/lib/arm/jvm.cfg | head -1`
513 sed -i -e "/${FIRST_KNOWN}/d" -e "s|\(^\-server*\)|${FIRST_KNOWN}\n\1|" ${JDK_HOME}/jre/lib/arm/jvm.cfg
514 fi
515
516 echo "-jamvm ERROR" >> ${JDK_HOME}/jre/lib/arm/jvm.cfg
492} 517}
493 518
494pkg_postinst_${JDKPN}-vm-zero () { 519pkg_postinst_${JDKPN}-vm-zero () {
495 if grep -q "\-cacao KNOWN" ${JDK_HOME}/jre/lib/arm/jvm.cfg && ! grep -q "\-shark KNOWN" ${JDK_HOME}/jre/lib/arm/jvm.cfg; then 520 if grep -q "KNOWN" ${JDK_HOME}/jre/lib/arm/jvm.cfg && grep -q "\-server ERROR" ${JDK_HOME}/jre/lib/arm/jvm.cfg; then
496 sed -i -e "/\-cacao KNOWN/d" ${JDK_HOME}/jre/lib/arm/jvm.cfg 521 FIRST_KNOWN=`grep "KNOWN" ${JDK_HOME}/jre/lib/arm/jvm.cfg | head -1`
497 echo "-cacao KNOWN" >> ${JDK_HOME}/jre/lib/arm/jvm.cfg 522 sed -i -e "/${FIRST_KNOWN}/d" -e "/^$/d" ${JDK_HOME}/jre/lib/arm/jvm.cfg
498 fi 523 echo ${FIRST_KNOWN} >> ${JDK_HOME}/jre/lib/arm/jvm.cfg
524 fi
499 525
500 sed -i -e "s|^\-server.*|\-server KNOWN|" -e "/^$/d" ${JDK_HOME}/jre/lib/arm/jvm.cfg 526 sed -i -e "s|^\-server.*|\-server KNOWN|" -e "/^$/d" ${JDK_HOME}/jre/lib/arm/jvm.cfg
501} 527}
502 528
503pkg_prerm_${JDKPN}-vm-zero () { 529pkg_prerm_${JDKPN}-vm-zero () {
504 if grep -q "\-cacao KNOWN" ${JDK_HOME}/jre/lib/arm/jvm.cfg && ! grep -q "\-shark KNOWN" ${JDK_HOME}/jre/lib/arm/jvm.cfg; then 530 sed -i -e "/^\-server.*/\-server ERROR" ${JDK_HOME}/jre/lib/arm/jvm.cfg
505 sed -i -e "/\-cacao KNOWN/d" -e "s|\(^\-server*\)|\-cacao KNOWN\n\1|" ${JDK_HOME}/jre/lib/arm/jvm.cfg 531 if grep -q "KNOWN" ${JDK_HOME}/jre/lib/arm/jvm.cfg; then
506 fi 532 FIRST_KNOWN=`grep "KNOWN" ${JDK_HOME}/jre/lib/arm/jvm.cfg | head -1`
507 533 sed -i -e "/${FIRST_KNOWN}/d" -e "s|\(^\-server*\)|${FIRST_KNOWN}\n\1|" ${JDK_HOME}/jre/lib/arm/jvm.cfg
508 sed -i -e "s|^\-server.*|\-server ERROR|" -e "/^$/d" ${JDK_HOME}/jre/lib/arm/jvm.cfg 534 fi
509} 535}
510 536
511pkg_postinst_${JDKPN}-jre () { 537pkg_postinst_${JDKPN}-jre () {