summaryrefslogtreecommitdiff
path: root/java/openjfx14/files/patch-build.gradle
diff options
context:
space:
mode:
Diffstat (limited to 'java/openjfx14/files/patch-build.gradle')
-rw-r--r--java/openjfx14/files/patch-build.gradle303
1 files changed, 303 insertions, 0 deletions
diff --git a/java/openjfx14/files/patch-build.gradle b/java/openjfx14/files/patch-build.gradle
new file mode 100644
index 000000000000..5cca941796d1
--- /dev/null
+++ b/java/openjfx14/files/patch-build.gradle
@@ -0,0 +1,303 @@
+--- build.gradle.orig 2020-07-17 12:21:33 UTC
++++ build.gradle
+@@ -295,6 +295,7 @@ ext.IS_64 = OS_ARCH.toLowerCase().contains("64")
+ ext.IS_MAC = OS_NAME.contains("mac") || OS_NAME.contains("darwin")
+ ext.IS_WINDOWS = OS_NAME.contains("windows")
+ ext.IS_LINUX = OS_NAME.contains("linux")
++ext.IS_BSD = OS_NAME.contains("freebsd") || OS_NAME.contains("dragonfly")
+
+ ext.MAVEN_GROUP_ID = "org.openjfx"
+
+@@ -302,7 +303,7 @@ ext.MAVEN_GROUP_ID = "org.openjfx"
+ // at present building on PI is not supported, but we would only need to make
+ // some changes on assumptions on what should be built (like SWT / Swing) and
+ // such and we could probably make it work.
+-if (!IS_MAC && !IS_WINDOWS && !IS_LINUX) fail("Unsupported build OS ${OS_NAME}")
++if (!IS_MAC && !IS_WINDOWS && !IS_LINUX && !IS_BSD) fail("Unsupported build OS ${OS_NAME}")
+ if (IS_WINDOWS && OS_ARCH != "x86" && OS_ARCH != "amd64") {
+ fail("Unknown and unsupported build architecture: $OS_ARCH")
+ } else if (IS_MAC && OS_ARCH != "x86_64") {
+@@ -385,7 +386,7 @@ defineProperty("BUILD_WORKING_LIBAV", "false")
+ ext.IS_BUILD_WORKING_LIBAV = IS_LINUX ? Boolean.parseBoolean(BUILD_WORKING_LIBAV) : false
+
+ // COMPILE_PANGO specifies whether to build javafx_font_pango.
+-defineProperty("COMPILE_PANGO", "${IS_LINUX}")
++defineProperty("COMPILE_PANGO", "${IS_LINUX || IS_BSD}")
+ ext.IS_COMPILE_PANGO = Boolean.parseBoolean(COMPILE_PANGO)
+
+ // COMPILE_HARFBUZZ specifies whether to use Harfbuzz.
+@@ -413,7 +414,8 @@ ext.SWT_FILE_NAME = IS_MAC ? "org.eclipse.swt.cocoa.ma
+ IS_WINDOWS && IS_64 ? "org.eclipse.swt.win32.win32.x86_64_3.105.3.v20170228-0512" :
+ IS_WINDOWS && !IS_64 ? "org.eclipse.swt.win32.win32.x86_3.105.3.v20170228-0512" :
+ IS_LINUX && IS_64 ? "org.eclipse.swt.gtk.linux.x86_64_3.105.3.v20170228-0512" :
+- IS_LINUX && !IS_64 ? "org.eclipse.swt.gtk.linux.x86_3.105.3.v20170228-0512" : ""
++ IS_LINUX && !IS_64 ? "org.eclipse.swt.gtk.linux.x86_3.105.3.v20170228-0512" :
++ IS_BSD ? "/usr/local/share/java/classes/swt.jar" : ""
+
+ // Specifies whether to run full tests (true) or smoke tests (false)
+ defineProperty("FULL_TEST", "false")
+@@ -495,6 +497,12 @@ if (IS_MAC) {
+ defineProperty("NUM_COMPILE_THREADS", "${Runtime.runtime.availableProcessors()}")
+ }
+
++if (IS_BSD) {
++ ext.MAKE_CMD = "gmake"
++} else {
++ ext.MAKE_CMD = "make"
++}
++
+ //
+ // The next three sections of properties are used to generate the
+ // VersionInfo class, and the Windows DLL manifest.
+@@ -558,7 +566,7 @@ defineProperty("MAVEN_VERSION", IS_MILESTONE_FCS ? "${
+ // Check whether the COMPILE_TARGETS property has been specified (if so, it was done by
+ // the user and not by this script). If it has not been defined then default
+ // to building the normal desktop build for this machine
+-project.ext.set("defaultHostTarget", IS_MAC ? "mac" : IS_WINDOWS ? "win" : IS_LINUX ? "linux" : "");
++project.ext.set("defaultHostTarget", IS_MAC ? "mac" : IS_WINDOWS ? "win" : IS_LINUX ? "linux" : IS_BSD ? "bsd" : "");
+ defineProperty("COMPILE_TARGETS", "$defaultHostTarget")
+
+ // Flag indicating whether to import cross compile tools
+@@ -704,7 +712,7 @@ void fetchExternalTools(String configName, List packag
+ def File pkgdir = file("$destdir/$basename")
+
+ if (pkgname.endsWith(".tgz") || pkgname.endsWith("tar.gz")) {
+- if (IS_LINUX || IS_MAC) {
++ if (IS_LINUX || IS_MAC || IS_BSD) {
+ // use native tar to support symlinks
+ pkgdir.mkdirs()
+ exec {
+@@ -1180,7 +1188,7 @@ compileTargets { t ->
+ if (!targetProperties.containsKey('includeMonocle')) targetProperties.includeMonocle = false
+ if (!targetProperties.containsKey('includeEGL')) targetProperties.includeEGL = false
+
+- if (!targetProperties.containsKey('includeGTK')) targetProperties.includeGTK = IS_LINUX
++ if (!targetProperties.containsKey('includeGTK')) targetProperties.includeGTK = IS_LINUX || IS_BSD
+
+ if (!targetProperties.containsKey('modLibDest')) targetProperties.modLibDest = targetProperties.libDest
+
+@@ -2067,6 +2075,11 @@ project(":graphics") {
+ }
+
+ dependencies {
++ if (IS_BSD) {
++ compile files(SWT_FILE_NAME)
++ } else {
++ compile name: SWT_FILE_NAME
++ }
+ stubCompile group: "junit", name: "junit", version: "4.8.2"
+
+ antlr group: "org.antlr", name: "antlr4", version: "4.7.2", classifier: "complete"
+@@ -2602,31 +2615,10 @@ project(":swt") {
+ commonModuleSetup(project, [ 'base', 'graphics' ])
+
+ dependencies {
+- compile name: SWT_FILE_NAME
+- }
+-
+- classes {
+- doLast {
+- // Copy all of the download libraries to libs directory for the sake of the IDEs
+- File libsDir = rootProject.file("build/libs");
+- File swtLib = new File(libsDir, "swt-debug.jar")
+- libsDir.mkdirs();
+-
+- // Skip copy if file is present.
+- if (swtLib.exists()) return;
+-
+- for (File f : configurations.compile.files) {
+- // Have to rename the swt jar because it is some platform specific name but
+- // for the sake of the IDEs we need to have a single stable name that works
+- // on every platform
+- copy {
+- into libsDir
+- from f.getParentFile()
+- include "**/*swt*.jar"
+- includeEmptyDirs = false
+- rename ".*swt.*jar", "swt-debug\\.jar"
+- }
+- }
++ if (IS_BSD) {
++ compile files(SWT_FILE_NAME)
++ } else {
++ compile name: SWT_FILE_NAME
+ }
+ }
+
+@@ -2809,7 +2801,7 @@ project(":media") {
+
+ doLast {
+ exec {
+- commandLine ("make", "${makeJobsFlag}", "-C", "${nativeSrcDir}/jfxmedia/projects/${projectDir}")
++ commandLine (MAKE_CMD, "${makeJobsFlag}", "-C", "${nativeSrcDir}/jfxmedia/projects/${projectDir}")
+ args("JAVA_HOME=${JDK_HOME}", "GENERATED_HEADERS_DIR=${generatedHeadersDir}",
+ "OUTPUT_DIR=${nativeOutputDir}", "BUILD_TYPE=${buildType}", "BASE_NAME=jfxmedia",
+ "COMPILE_PARFAIT=${compileParfait}",
+@@ -2838,7 +2830,7 @@ project(":media") {
+ enabled = IS_COMPILE_MEDIA
+ doLast {
+ exec {
+- commandLine ("make", "${makeJobsFlag}", "-C", "${nativeSrcDir}/gstreamer/projects/${projectDir}/gstreamer-lite")
++ commandLine (MAKE_CMD, "${makeJobsFlag}", "-C", "${nativeSrcDir}/gstreamer/projects/${projectDir}/gstreamer-lite")
+ args("OUTPUT_DIR=${nativeOutputDir}", "BUILD_TYPE=${buildType}", "BASE_NAME=gstreamer-lite",
+ IS_64 ? "ARCH=x64" : "ARCH=x32", "CC=${mediaProperties.compiler}",
+ "AR=${mediaProperties.ar}", "LINKER=${mediaProperties.linker}")
+@@ -2856,7 +2848,7 @@ project(":media") {
+
+ doLast {
+ exec {
+- commandLine ("make", "${makeJobsFlag}", "-C", "${nativeSrcDir}/gstreamer/projects/${projectDir}/fxplugins")
++ commandLine (MAKE_CMD, "${makeJobsFlag}", "-C", "${nativeSrcDir}/gstreamer/projects/${projectDir}/fxplugins")
+ args("OUTPUT_DIR=${nativeOutputDir}", "BUILD_TYPE=${buildType}", "BASE_NAME=fxplugins",
+ IS_64 ? "ARCH=x64" : "ARCH=x32",
+ "CC=${mediaProperties.compiler}", "AR=${mediaProperties.ar}", "LINKER=${mediaProperties.linker}")
+@@ -2879,7 +2871,7 @@ project(":media") {
+
+ buildNative.dependsOn buildPlugins
+
+- if (t.name == "linux") {
++ if (t.name == "linux" || t.name == "bsd") {
+ // Pre-defined command line arguments
+ def cfgCMDArgs = ["sh", "configure"]
+ def commonCfgArgs = ["--enable-shared", "--disable-debug", "--disable-static", "--disable-yasm", "--disable-doc", "--disable-programs", "--disable-everything"]
+@@ -2984,7 +2976,7 @@ project(":media") {
+ }
+ exec {
+ workingDir("$libavDir")
+- commandLine("make")
++ commandLine(MAKE_CMD)
+ }
+ }
+ }
+@@ -3052,7 +3044,7 @@ project(":media") {
+ }
+ exec {
+ workingDir("$libavDir")
+- commandLine("make")
++ commandLine(MAKE_CMD)
+ }
+ }
+ }
+@@ -3138,7 +3130,7 @@ project(":media") {
+ }
+ exec {
+ workingDir("$libavDir")
+- commandLine("make")
++ commandLine(MAKE_CMD)
+ }
+ }
+ }
+@@ -3172,7 +3164,7 @@ project(":media") {
+ File dir = file(libavDir)
+ if (dir.exists()) {
+ exec {
+- commandLine ("make", "${makeJobsFlag}", "-C", "${nativeSrcDir}/gstreamer/projects/linux/avplugin")
++ commandLine (MAKE_CMD, "${makeJobsFlag}", "-C", "${nativeSrcDir}/gstreamer/projects/linux/avplugin")
+ args("CC=${mediaProperties.compiler}", "LINKER=${mediaProperties.linker}",
+ "OUTPUT_DIR=${nativeOutputDir}", "BUILD_TYPE=${buildType}",
+ "BASE_NAME=avplugin", "VERSION=${version}", "LIBAV_DIR=${libavDir}",
+@@ -3186,7 +3178,7 @@ project(":media") {
+ File dir = file(libavDir)
+ if (dir.exists()) {
+ exec {
+- commandLine ("make", "${makeJobsFlag}", "-C", "${nativeSrcDir}/gstreamer/projects/linux/avplugin")
++ commandLine (MAKE_CMD, "${makeJobsFlag}", "-C", "${nativeSrcDir}/gstreamer/projects/${t.name}/avplugin")
+ args("CC=${mediaProperties.compiler}", "LINKER=${mediaProperties.linker}",
+ "OUTPUT_DIR=${nativeOutputDir}", "BUILD_TYPE=${buildType}",
+ "BASE_NAME=avplugin", "VERSION=${version}", "LIBAV_DIR=${libavDir}",
+@@ -3200,7 +3192,7 @@ project(":media") {
+ File dir = file(libavDir)
+ if (dir.exists()) {
+ exec {
+- commandLine ("make", "${makeJobsFlag}", "-C", "${nativeSrcDir}/gstreamer/projects/linux/avplugin")
++ commandLine (MAKE_CMD, "${makeJobsFlag}", "-C", "${nativeSrcDir}/gstreamer/projects/linux/avplugin")
+ args("CC=${mediaProperties.compiler}", "LINKER=${mediaProperties.linker}",
+ "OUTPUT_DIR=${nativeOutputDir}", "BUILD_TYPE=${buildType}",
+ "BASE_NAME=avplugin", "VERSION=${version}", "LIBAV_DIR=${libavDir}",
+@@ -3211,7 +3203,7 @@ project(":media") {
+ } else {
+ // Building fxavcodec plugin (libav plugin)
+ exec {
+- commandLine ("make", "${makeJobsFlag}", "-C", "${nativeSrcDir}/gstreamer/projects/linux/avplugin")
++ commandLine (MAKE_CMD, "${makeJobsFlag}", "-C", "${nativeSrcDir}/gstreamer/projects/linux/avplugin")
+ args("CC=${mediaProperties.compiler}", "LINKER=${mediaProperties.linker}",
+ "OUTPUT_DIR=${nativeOutputDir}", "BUILD_TYPE=${buildType}",
+ "BASE_NAME=avplugin", IS_64 ? "ARCH=x64" : "ARCH=x32")
+@@ -3262,7 +3254,7 @@ project(":media") {
+ doLast {
+ exec {
+ environment(WINDOWS_NATIVE_COMPILE_ENVIRONMENT)
+- commandLine ("make", "${makeJobsFlag}", "-C", "${nativeSrcDir}/gstreamer/projects/${projectDir}/glib-lite")
++ commandLine (MAKE_CMD, "${makeJobsFlag}", "-C", "${nativeSrcDir}/gstreamer/projects/${projectDir}/glib-lite")
+ args("OUTPUT_DIR=${nativeOutputDir}", "BUILD_TYPE=${buildType}", "BASE_NAME=glib-lite",
+ IS_64 ? "ARCH=x64" : "ARCH=x32", "RESOURCE=${nativeOutputDir}/${buildType}/${WIN.media.glibRcFile}",
+ "CC=${mediaProperties.compiler}", "AR=${mediaProperties.ar}", "LINKER=${mediaProperties.linker}")
+@@ -3282,7 +3274,7 @@ project(":media") {
+ }
+
+ exec {
+- commandLine ("make", "${makeJobsFlag}", "-C", "${nativeSrcDir}/gstreamer/projects/${projectDir}/glib-lite")
++ commandLine (MAKE_CMD, "${makeJobsFlag}", "-C", "${nativeSrcDir}/gstreamer/projects/${projectDir}/glib-lite")
+ args("OUTPUT_DIR=${nativeOutputDir}", "BUILD_TYPE=${buildType}", "BASE_NAME=glib-lite")
+ args ("CC=${mediaProperties.compiler}", "LINKER=${mediaProperties.linker}")
+ }
+@@ -3407,7 +3399,7 @@ project(":web") {
+ compileTargets { t ->
+ def targetProperties = project.rootProject.ext[t.upper]
+ def webkitProperties = targetProperties.webkit
+- def classifier = (t.name != "linux" && t.name != "win") ? t.name :
++ def classifier = (t.name != "linux" && t.name != "bsd" && t.name != "win") ? t.name :
+ IS_64 ? "${t.name}-amd64" : "${t.name}-i586"
+
+ def webkitOutputDir = cygpath("$buildDir/${t.name}")
+@@ -3436,13 +3428,16 @@ project(":web") {
+ environment(WINDOWS_NATIVE_COMPILE_ENVIRONMENT)
+ } else if (t.name == "mac") {
+ cmakeArgs = " $cmakeArgs -DCMAKE_OSX_DEPLOYMENT_TARGET=$MACOSX_MIN_VERSION -DCMAKE_OSX_SYSROOT=$MACOSX_SDK_PATH"
+- } else if (t.name == "linux") {
+- cmakeArgs = " $cmakeArgs -DCMAKE_SYSTEM_NAME=Linux"
+- if (IS_64) {
+- cmakeArgs = "$cmakeArgs -DCMAKE_SYSTEM_PROCESSOR=x86_64"
++ } else if (t.name == "linux" || t.name == "bsd") {
++ if (t.name == "linux") {
++ cmakeArgs = " $cmakeArgs -DCMAKE_SYSTEM_NAME=Linux"
+ } else {
+- cmakeArgs = "$cmakeArgs -DCMAKE_SYSTEM_PROCESSOR=i586"
++ cmakeArgs = " $cmakeArgs -DCMAKE_SYSTEM_NAME=FreeBSD"
+ }
++ if ( OS_ARCH != "amd64" && OS_ARCH != "i386" ) {
++ cmakeArgs = "$cmakeArgs -DENABLE_JIT=OFF"
++ }
++ cmakeArgs = " $cmakeArgs -DCMAKE_SYSTEM_PROCESSOR=$OS_ARCH"
+ // TODO: Use cflags and ldflags from all platforms
+ def cFlags = webkitProperties.ccFlags?.join(' ') ?: ''
+ def lFlags = webkitProperties.linkFlags?.join(' ') ?: ''
+@@ -3479,6 +3474,10 @@ project(":web") {
+ targetCpuBitDepthSwitch = "--32-bit"
+ }
+ cmakeArgs += " -DJAVAFX_RELEASE_VERSION=${jfxReleaseMajorVersion}"
++ cmakeArgs += " -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON"
++ cmakeArgs += " -DCMAKE_C_COMPILER:STRING=${System.getenv("CC")}"
++ cmakeArgs += " -DCMAKE_CXX_COMPILER:STRING=${System.getenv("CXX")}"
++
+ commandLine("perl", "$projectDir/src/main/native/Tools/Scripts/build-webkit",
+ "--java", "--icu-unicode", targetCpuBitDepthSwitch,
+ "--no-experimental-features", "--cmakeargs=${cmakeArgs}")
+@@ -4928,7 +4927,7 @@ compileTargets { t ->
+ // OSX media natives
+ [ "jfxmedia_qtkit", "jfxmedia_avf", "glib-lite" ].each { name ->
+ from ("${mediaProject.buildDir}/native/${t.name}/${mediaBuildType}/${library(name)}") }
+- } else if (t.name == "linux") {
++ } else if (t.name == "linux" || t.name == "bsd") {
+ from("${mediaProject.buildDir}/native/${t.name}/${mediaBuildType}") { include "libavplugin*.so" }
+ } else from ("${mediaProject.buildDir}/native/${t.name}/${mediaBuildType}/${library("glib-lite")}")
+ } else {
+@@ -4941,7 +4940,7 @@ compileTargets { t ->
+ // copy libjfxmedia_{avf,qtkit}.dylib if they exist
+ [ "jfxmedia_qtkit", "jfxmedia_avf", "glib-lite" ].each { name ->
+ from ("$MEDIA_STUB/${library(name)}") }
+- } else if (t.name == "linux") {
++ } else if (t.name == "linux" || t.name == "bsd") {
+ from(MEDIA_STUB) { include "libavplugin*.so" }
+ }
+ else if (t.name != "android" && t.name != "dalvik" ) {