< prev index next >
buildSrc/linux.gradle
Print this page
*** 52,86 ****
// Specify the compilation parameters and link parameters
def ccFlags = [
commonFlags, "-I$JDK_HOME/include", "-I$JDK_HOME/include/linux", "-c",
"-ffunction-sections", "-fdata-sections",
IS_DEBUG_NATIVE ? ["-ggdb", "-DVERBOSE"] : ["-O2", "-DNDEBUG"]].flatten()
//ccFlags.addAll(["-Wnon-virtual-dtor", "-Woverloaded-virtual", "-std=c++0x"])
def linkFlags = ["-static-libgcc", "-static-libstdc++", "-shared", commonFlags,
"-Wl,--gc-sections"].flatten()
def defaultLinkFlags = linkFlags.flatten()
// Create $buildDir/linux_tools.properties file and load props from it
! setupTools("linux_tools",
{ propFile ->
! ByteArrayOutputStream results = new ByteArrayOutputStream();
exec {
! commandLine("pkg-config", "--cflags", "gtk+-2.0", "gthread-2.0", "xtst");
! setStandardOutput(results);
}
! propFile << "cflags=" << results.toString().trim() << "\n";
! results = new ByteArrayOutputStream();
exec {
! commandLine "pkg-config", "--libs", "gtk+-2.0", "gthread-2.0", "xtst"
! standardOutput = results
}
! propFile << "libs=" << results.toString().trim();
},
{ properties ->
! ccFlags.addAll(properties.getProperty("cflags").split(" "))
! linkFlags.addAll(properties.getProperty("libs").split(" "))
}
)
def pangoCCFlags = ["-D_ENABLE_PANGO"];
def pangoLinkFlags = [];
--- 52,125 ----
// Specify the compilation parameters and link parameters
def ccFlags = [
commonFlags, "-I$JDK_HOME/include", "-I$JDK_HOME/include/linux", "-c",
"-ffunction-sections", "-fdata-sections",
IS_DEBUG_NATIVE ? ["-ggdb", "-DVERBOSE"] : ["-O2", "-DNDEBUG"]].flatten()
+ def ccFlagsGTK3 = ccFlags
//ccFlags.addAll(["-Wnon-virtual-dtor", "-Woverloaded-virtual", "-std=c++0x"])
def linkFlags = ["-static-libgcc", "-static-libstdc++", "-shared", commonFlags,
"-Wl,--gc-sections"].flatten()
def defaultLinkFlags = linkFlags.flatten()
+ def gtk2CCFlags = [ ];
+ def gtk3CCFlags = [ "-Wno-deprecated-declarations" ];
+ def gtk2LinkFlags = [ ];
+ def gtk3LinkFlags = [ ];
+ LINUX.buildGTK3 = true
+
// Create $buildDir/linux_tools.properties file and load props from it
! setupTools("linux_gtk2",
{ propFile ->
! ByteArrayOutputStream results1 = new ByteArrayOutputStream();
exec {
! commandLine("pkg-config", "--cflags", "gtk+-2.0", "gthread-2.0", "xtst")
! setStandardOutput(results1);
}
! propFile << "cflagsGTK2=" << results1.toString().trim() << "\n";
! ByteArrayOutputStream results3 = new ByteArrayOutputStream();
exec {
! commandLine("pkg-config", "--libs", "gtk+-2.0", "gthread-2.0", "xtst")
! setStandardOutput(results3);
}
! propFile << "libsGTK2=" << results3.toString().trim() << "\n";
! },
! { properties ->
! gtk2CCFlags.addAll(properties.getProperty("cflagsGTK2").split(" "))
! gtk2LinkFlags.addAll(properties.getProperty("libsGTK2").split(" "))
! }
! )
!
! setupTools("linux_gtk3",
! { propFile ->
! ByteArrayOutputStream results2 = new ByteArrayOutputStream();
! exec {
! commandLine("pkg-config", "--cflags", "gtk+-3.0", "gthread-2.0", "xtst")
! setStandardOutput(results2);
! ignoreExitValue(true)
! }
! propFile << "cflagsGTK3=" << results2.toString().trim() << "\n";
!
! ByteArrayOutputStream results4 = new ByteArrayOutputStream();
! exec {
! commandLine("pkg-config", "--libs", "gtk+-3.0", "gthread-2.0", "xtst")
! setStandardOutput(results4);
! ignoreExitValue(true)
! }
! propFile << "libsGTK3=" << results4.toString().trim() << "\n";
!
},
{ properties ->
! String ccflags = properties.getProperty("cflagsGTK3")
! String ldflags = properties.getProperty("libsGTK3")
! if (ccflags != null && ! ccflags.equals("")) {
! gtk3CCFlags.addAll(properties.getProperty("cflagsGTK3").split(" "))
! gtk3LinkFlags.addAll(properties.getProperty("libsGTK3").split(" "))
! } else {
! logger.info("Warning: GTK3 development packages not found, not building GTK3 support");
! LINUX.buildGTK3 = false
! }
}
)
def pangoCCFlags = ["-D_ENABLE_PANGO"];
def pangoLinkFlags = [];
*** 133,152 ****
def compiler = IS_COMPILE_PARFAIT ? "parfait-gcc" : "gcc";
def linker = IS_COMPILE_PARFAIT ? "parfait-g++" : "g++";
LINUX.glass = [:]
LINUX.glass.javahInclude = [
"com/sun/glass/events/**",
"com/sun/glass/ui/*",
"com/sun/glass/ui/gtk/*"]
! LINUX.glass.nativeSource = file("modules/graphics/src/main/native-glass/gtk")
! LINUX.glass.compiler = compiler
! LINUX.glass.ccFlags = [ccFlags, "-Werror"].flatten()
! LINUX.glass.linker = linker
! LINUX.glass.linkFlags = [linkFlags].flatten()
! LINUX.glass.lib = "glass"
LINUX.decora = [:]
LINUX.decora.compiler = compiler
LINUX.decora.ccFlags = [ccFlags, "-ffast-math"].flatten()
LINUX.decora.linker = linker
--- 172,224 ----
def compiler = IS_COMPILE_PARFAIT ? "parfait-gcc" : "gcc";
def linker = IS_COMPILE_PARFAIT ? "parfait-g++" : "g++";
LINUX.glass = [:]
+ LINUX.glass.variants = ["glass", "glassgtk2"]
+ if (LINUX.buildGTK3) {
+ logger.info("Building libglassgtk3")
+ LINUX.glass.variants += "glassgtk3"
+ } else {
+ logger.warn("NOT Building libglassgtk3")
+ }
+
+ FileTree ft_gtk_launcher = fileTree("${project(":graphics").projectDir}/src/main/native-glass/gtk/") {
+ include("**/launcher.c")
+ }
+
+ FileTree ft_gtk = fileTree("${project(":graphics").projectDir}/src/main/native-glass/gtk/") {
+ exclude("**/launcher.c")
+ }
+
+ LINUX.glass.glass = [:]
LINUX.glass.javahInclude = [
"com/sun/glass/events/**",
"com/sun/glass/ui/*",
"com/sun/glass/ui/gtk/*"]
! LINUX.glass.glass.nativeSource = ft_gtk_launcher.getFiles()
! LINUX.glass.glass.compiler = compiler
! LINUX.glass.glass.ccFlags = [ccFlags, gtk2CCFlags, "-Werror"].flatten()
! LINUX.glass.glass.linker = linker
! LINUX.glass.glass.linkFlags = [linkFlags, "-lX11", "-ldl" ].flatten()
! LINUX.glass.glass.lib = "glass"
!
! LINUX.glass.glassgtk2 = [:]
! LINUX.glass.glassgtk2.nativeSource = ft_gtk.getFiles()
! LINUX.glass.glassgtk2.compiler = compiler
! LINUX.glass.glassgtk2.ccFlags = [ccFlags, gtk2CCFlags, "-Werror"].flatten()
! LINUX.glass.glassgtk2.linker = linker
! LINUX.glass.glassgtk2.linkFlags = [linkFlags, gtk2LinkFlags ].flatten()
! LINUX.glass.glassgtk2.lib = "glassgtk2"
!
! LINUX.glass.glassgtk3 = [:]
! LINUX.glass.glassgtk3.nativeSource = ft_gtk.getFiles()
! LINUX.glass.glassgtk3.compiler = compiler
! LINUX.glass.glassgtk3.ccFlags = [ccFlags, gtk3CCFlags, "-Werror"].flatten()
! LINUX.glass.glassgtk3.linker = linker
! LINUX.glass.glassgtk3.linkFlags = [linkFlags, gtk3LinkFlags ].flatten()
! LINUX.glass.glassgtk3.lib = "glassgtk3"
LINUX.decora = [:]
LINUX.decora.compiler = compiler
LINUX.decora.ccFlags = [ccFlags, "-ffast-math"].flatten()
LINUX.decora.linker = linker
< prev index next >