mirror of
https://git.freebsd.org/ports.git
synced 2025-05-15 00:31:51 -04:00
OpenJFX is an open source, next generation client application platform for desktop and embedded systems based on JavaSE. It is a collaborative effort by many individuals and companies with the goal of producing a modern, efficient, and fully featured toolkit for developing rich client applications. PR: 248248
303 lines
18 KiB
Groovy
303 lines
18 KiB
Groovy
--- 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" ) {
|