Some fixes to OpenJDK

Builds ok (if you have an older version installed), but runs out of
memory during INSTALL. Help welcome.
This commit is contained in:
Adrien Destugues
2017-12-19 22:02:27 +01:00
parent c93efc50b1
commit f2bc78a187
3 changed files with 70 additions and 2 deletions

View File

@@ -13,34 +13,41 @@ REVISION="2"
SOURCE_URI="https://bitbucket.org/hamishm/haiku-jdk8u/get/6e3a7c2446ea.zip"
CHECKSUM_SHA256="68cb8171d84b1a0c12e20b2ecc968a12ed8f64d39858a6e3af9e287877c2245e"
SOURCE_DIR="hamishm-haiku-jdk8u-6e3a7c2446ea"
PATCHES="openjdk-1.8.u40_b27.patchset"
SOURCE_URI_2="https://bitbucket.org/hamishm/haiku-jdk8u-hotspot/get/e5ab6f7ff241.zip"
CHECKSUM_SHA256_2="241b78f84c7d39a1b93c78e5bf0e02414aae92574450fd043fa6771a9bf18103"
SOURCE_DIR_2="hamishm-haiku-jdk8u-hotspot-e5ab6f7ff241"
SOURCE_URI_3="https://bitbucket.org/hamishm/haiku-jdk8u-jdk/get/9b3967c76020.zip"
CHECKSUM_SHA256_3="a64e0109b51f4bf9e5902a7053ea69fe3caa58df03146c2dc0d3c586e389ee86"
SOURCE_DIR_3="hamishm-haiku-jdk8u-jdk-9b3967c76020"
PATCHES_3="openjdk-1.8.u40_b27-source3.patchset"
SOURCE_URI_4="http://hg.openjdk.java.net/jdk8u/jdk8u/langtools/archive/jdk8u40-b27.tar.bz2"
CHECKSUM_SHA256_4="5a9ee52b24bd3bf42ff7e0fa355ac4bc9327d1da3d60499897300129ca984366"
SOURCE_DIR_4="langtools-jdk8u40-b27"
SOURCE_FILENAME_4="langtools-jdk8u40-b27.tar.bz2"
SOURCE_URI_5="http://hg.openjdk.java.net/jdk8u/jdk8u/corba/archive/jdk8u40-b27.tar.bz2"
CHECKSUM_SHA256_5="4e9b83d2716d41d5af3b86ddae9302c6516a6c9ba96c8724c84a32b6c2bc8e87"
SOURCE_DIR_5="corba-jdk8u40-b27"
SOURCE_FILENAME_5="corba-jdk8u40-b27.tar.bz2"
SOURCE_URI_6="http://hg.openjdk.java.net/jdk8u/jdk8u/jaxp/archive/jdk8u40-b27.tar.bz2"
CHECKSUM_SHA256_6="408880924559130f714dbd5fc5ac6d3ec9b060490f20d3886490f92f6c0067b8"
SOURCE_DIR_6="jaxp-jdk8u40-b27"
SOURCE_FILENAME_6="jaxp-jdk8u40-b27.tar.bz2"
SOURCE_URI_7="http://hg.openjdk.java.net/jdk8u/jdk8u/jaxws/archive/jdk8u40-b27.tar.bz2"
CHECKSUM_SHA256_7="31a95d3e6ed051e58d919c7d800e396cfbd48d43389dc955e10574d0e50151f9"
SOURCE_DIR_7="jaxws-jdk8u40-b27"
SOURCE_FILENAME_7="jaxws-jdk8u40-b27.tar.bz2"
SOURCE_URI_8="http://hg.openjdk.java.net/jdk8u/jdk8u/nashorn/archive/jdk8u40-b27.tar.bz2"
CHECKSUM_SHA256_8="07fc791ea33a06b949a63d438479cb401762c4fd3334beecc77e4bf7ed4e2389"
SOURCE_DIR_8="nashorn-jdk8u40-b27"
SOURCE_FILENAME_8="nashorn-jdk8u40-b27.tar.bz2"
ADDITIONAL_FILES="
elf.h
jexec.rdef
"
ARCHITECTURES="!x86_gcc2 ?x86"
SECONDARY_ARCHITECTURES="?x86" # circular dependency - needs fixing
SECONDARY_ARCHITECTURES="?x86"
DISABLE_SOURCE_PACKAGE=yes
# at least as long as Ant and a complete SDK image are part of the sources
@@ -130,7 +137,6 @@ BUILD_PREREQUIRES="
BUILD()
{
# prepare the directory structure
cd $(dirname $sourceDir)/jdk
ln -sfn $sourceDir2 hotspot
ln -sfn $sourceDir3 jdk
ln -sfn $sourceDir4 langtools
@@ -153,6 +159,12 @@ BUILD()
freeTypeHeaders=$(finddir B_SYSTEM_HEADERS_DIRECTORY)$secondaryArchSubDir/freetype2
freeTypeLib=$(finddir B_SYSTEM_DEVELOP_DIRECTORY)/lib$secondaryArchSubDir
#OpenJDK has an internal limitation of 256 characters in a path. And with the default src dir we go past it.
#cd ..
#mv $sourceDir src
#cd src
#ln -s src $sourceDir
bash ./common/autoconf/autogen.sh
bash ./configure --with-boot-jdk-jvmargs="-Xmx${maxHeapSize}" \
--with-freetype-include="${freeTypeHeaders}" \
@@ -163,6 +175,7 @@ BUILD()
INSTALL()
{
export DISABLE_ASLR=1
# install the generated SDK image dir
jdkDir=$libDir/openjdk

View File

@@ -0,0 +1,32 @@
From 5e89e2168b1467524a2957ffc1255306ee1c8c12 Mon Sep 17 00:00:00 2001
From: Adrien Destugues <pulkomandy@pulkomandy.tk>
Date: Tue, 19 Dec 2017 21:40:01 +0100
Subject: Fix build on current Haiku.
BMediaRecorder is not private anymore.
diff --git a/src/haiku/native/com/sun/media/sound/PLATFORM_API_HaikuOS_PCM.cpp b/src/haiku/native/com/sun/media/sound/PLATFORM_API_HaikuOS_PCM.cpp
index 0788c05..ad09030 100644
--- a/src/haiku/native/com/sun/media/sound/PLATFORM_API_HaikuOS_PCM.cpp
+++ b/src/haiku/native/com/sun/media/sound/PLATFORM_API_HaikuOS_PCM.cpp
@@ -35,7 +35,7 @@ extern "C" {
#include <MediaDefs.h>
#include <MediaNode.h>
#include <MediaRoster.h>
-#include <private/media/MediaRecorder.h>
+#include <MediaRecorder.h>
#include <SoundPlayer.h>
#include <TimeSource.h>
@@ -43,8 +43,6 @@ extern "C" {
#if USE_DAUDIO == TRUE
-using BPrivate::media::BMediaRecorder;
-
AudioDeviceCache cache;
extern "C" {
--
2.15.0

View File

@@ -0,0 +1,23 @@
From 6db58c603805660216318d0d657665d845d84fdb Mon Sep 17 00:00:00 2001
From: Adrien Destugues <pulkomandy@pulkomandy.tk>
Date: Tue, 19 Dec 2017 21:38:49 +0100
Subject: Fix detection of number of CPUs
For some reason awk says "Binary" which is not a number. Use wc.
diff --git a/common/autoconf/build-performance.m4 b/common/autoconf/build-performance.m4
index 4abbe4b..c8c7ad3 100644
--- a/common/autoconf/build-performance.m4
+++ b/common/autoconf/build-performance.m4
@@ -45,7 +45,7 @@ AC_DEFUN([BPERF_CHECK_CORES],
NUM_CORES=`/usr/sbin/prtconf | grep "^Number Of Processors" | awk '{ print [$]4 }'`
FOUND_CORES=yes
elif test "x$OPENJDK_BUILD_OS" = xhaiku; then
- NUM_CORES=`sysinfo -cpu | grep "running at" | awk '{print [$]1}'`
+ NUM_CORES=`sysinfo -cpu | grep "CPU" | wc -l`
FOUND_CORES=yes
elif test -n "$NUMBER_OF_PROCESSORS"; then
# On windows, look in the env
--
2.15.0