buildSrc/armv7hf.gradle

Print this page
rev 7322 : RT-37594: Make lens build optional
Reviewed-by:


  44     fetchExternalTools('ARMV7HF',
  45             ["${crossLibsPackage}.tgz"],
  46             rootProject.CROSS_TOOLS_DIR, rootProject.IS_IMPORT_CROSS_TOOLS)
  47 
  48     compilerHome=file("/usr/local/arm-linux")
  49     compilerPrefix="arm-linux-"
  50     jniPlatform="darwin"
  51 } else {
  52     fail("armv7hf Cannot build on this platform")
  53 }
  54 
  55 if (rootProject.hasProperty("ARMV7HF_COMPILER")) {
  56     logger.quiet "Using alternate ARMV7HF_COMPILER $rootProject.ARMV7HF_COMPILER"
  57     compilerHome=file(rootProject.ARMV7HF_COMPILER);
  58 }
  59 if (rootProject.hasProperty("ARMV7HF_COMPILER_PREFIX")) {
  60     logger.quiet "Using alternate ARMV7HF_COMPILER_PREFIX $rootProject.ARMV7HF_COMPILER_PREFIX"
  61     compilerPrefix="${rootProject.ARMV7HF_COMPILER_PREFIX}"
  62 }
  63 



  64 // Declare whether this particular target file applies to the current system
  65 ARMV7HF.canBuild = (IS_LINUX || IS_MAC) && compilerHome.exists() && sdk.exists()
  66 if (!ARMV7HF.canBuild) {
  67     if (!compilerHome.exists()) println "ERROR: Missing compiler $compilerHome"
  68     if (!sdk.exists()) println "ERROR: Missing sdk $sdk"
  69     fail("armv7hf missing required tools")
  70 }
  71 
  72 // Lambda for naming the generated libs
  73 ARMV7HF.library = { name -> return "lib${name}.so" as String }
  74 
  75 ARMV7HF.compileSwing = false;
  76 ARMV7HF.compileSWT = false;
  77 ARMV7HF.compileFXPackager = false;
  78 ARMV7HF.compileDesignTime = false;
  79 ARMV7HF.compileWebnodeNative = false;
  80 ARMV7HF.compileMediaNative = false;
  81 
  82 ARMV7HF.includeLens = true

  83 ARMV7HF.includeNull3d = true
  84 ARMV7HF.includeEGL = true
  85 ARMV7HF.includeSwing = false
  86 ARMV7HF.includeSWT = false
  87 


  88 // Libraries end up in the sdk/rt/lib/arm directory for arm builds
  89 ARMV7HF.arch = "arm"
  90 ARMV7HF.libDest = "lib/arm"
  91 
  92 def commonFlags = [
  93         "-fno-strict-aliasing", "-fPIC", "-fno-omit-frame-pointer", // optimization flags
  94         "-W", "-Wall", "-Wno-unused", "-Wno-parentheses", "-Werror=implicit-function-declaration"] // warning flags
  95 // Specify the compilation parameters and link parameters
  96 def ccFlags = [
  97         commonFlags, "-I$JDK_HOME/include", "-I$JDK_HOME/include/$jniPlatform", "-c",
  98         IS_DEBUG_NATIVE ? ["-ggdb", "-DVERBOSE"] : ["-O2", "-DNDEBUG"]].flatten()
  99 //ccFlags.addAll(["-Wnon-virtual-dtor", "-Woverloaded-virtual", "-std=c++0x"])
 100 def linkFlags = ["-shared", commonFlags].flatten()
 101 
 102 // Specify the compilation parameters and link parameters
 103 def extraCFlags = [
 104         "-I", "-L",
 105         ccFlags,
 106         "-mthumb", "-march=armv7-a", "-mfloat-abi=hard", "-mfpu=vfp",
 107         "-I$sdk/usr/include",


 139 
 140 def es2EglfbCFlags = [extraCFlags, "-DIS_EGLFB", "-DLINUX"].flatten()
 141 def es2EglfbLFlags = [extraLFlags].flatten()
 142 
 143 def es2X11CFlags = [extraCFlags, "-DUSE_XSHM", "-DDEBUG", "-DIS_EGLX11", "-DLINUX"].flatten()
 144 def es2X11LFlags = [extraLFlags, "-lX11", "-lXext", "-lXdmcp", "-lXau"].flatten()
 145 
 146 def mediaCFlags = [extraCFlags,
 147     "-I$sdk/usr/include/gstreamer-0.10",
 148     "-I$sdk/usr/include/glib-2.0",
 149     "-I$sdk/usr/lib/arm-linux-gnueabihf/glib-2.0/include",
 150     "-DENABLE_NATIVE_SOURCE=1", "-DENABLE_GST_FFMPEG=1"].flatten()
 151 def mediaLFlags = [extraLFlags, "-lgstreamer-0.10", "-lgstapp-0.10",
 152     "-lgstbase-0.10", "-lglib-2.0", "-lgobject-2.0", "-lgmodule-2.0", "-lgthread-2.0"].flatten()
 153 
 154 def webCFlags = [extraCFlags].flatten()
 155 def webLFlags = [extraLFlags].flatten()
 156 
 157 def gtkCFlags = [extraCFlags].flatten()
 158 def gtkLFlags = [extraLFlags].flatten()
 159 setupTools("armv6hf_tools",
 160     { propFile ->
 161         ByteArrayOutputStream results = new ByteArrayOutputStream();
 162         exec {
 163             commandLine("$sdk/bin/pkg-config", "--cflags", "gtk+-2.0", "gthread-2.0", "xtst");
 164             setStandardOutput(results);
 165         }
 166         propFile << "cflags=" << results.toString().trim() << "\n";
 167 
 168         results = new ByteArrayOutputStream();
 169         exec {
 170             commandLine "$sdk/bin/pkg-config", "--libs", "gtk+-2.0", "gthread-2.0", "xtst"
 171             standardOutput = results
 172         }
 173         propFile << "libs=" << results.toString().trim();
 174     },
 175     { properties ->
 176         gtkCFlags.addAll(properties.getProperty("cflags").split(" "))
 177         gtkLFlags.addAll(properties.getProperty("libs").split(" "))
 178     }
 179 )
 180 
 181 ARMV7HF.javafxPlatformProperties ="""javafx.platform=monocle


















 182 directfb.com.sun.javafx.scene.control.skin.ListViewSkin.pannable=true
 183 directfb.com.sun.javafx.scene.control.skin.TreeViewSkin.pannable=true
 184 directfb.com.sun.javafx.scene.control.skin.TableViewSkin.pannable=true
 185 directfb.glass.platform=Lens
 186 directfb.glass.lens=dfb
 187 directfb.prism.order=sw
 188 directfb.com.sun.javafx.isEmbedded=true
 189 directfb.com.sun.javafx.scene.control.skin.FXVK.cache=true
 190 directfb.com.sun.javafx.gestures.zoom=true
 191 directfb.com.sun.javafx.gestures.rotate=true
 192 directfb.com.sun.javafx.gestures.scroll=true
 193 eglfb.com.sun.javafx.scene.control.skin.ListViewSkin.pannable=true
 194 eglfb.com.sun.javafx.scene.control.skin.TreeViewSkin.pannable=true
 195 eglfb.com.sun.javafx.scene.control.skin.TableViewSkin.pannable=true
 196 eglfb.glass.platform=Lens
 197 eglfb.glass.lens=eglfb
 198 eglfb.prism.order=es2
 199 eglfb.prism.eglfb=true
 200 eglfb.prism.lcdtext=false
 201 eglfb.prism.maxvram=128m
 202 eglfb.prism.targetvram=112m
 203 eglfb.use.egl=true
 204 eglfb.use.gles2=true
 205 eglfb.embedded=eglfb
 206 eglfb.com.sun.javafx.isEmbedded=true
 207 eglfb.doNativeComposite=true
 208 eglfb.com.sun.javafx.scene.control.skin.FXVK.cache=true

 209 eglfb.com.sun.javafx.gestures.zoom=true
 210 eglfb.com.sun.javafx.gestures.rotate=true
 211 eglfb.com.sun.javafx.gestures.scroll=true
 212 eglfb.prism.glDepthSize=0
 213 fb.com.sun.javafx.scene.control.skin.ListViewSkin.pannable=true
 214 fb.com.sun.javafx.scene.control.skin.TreeViewSkin.pannable=true
 215 fb.com.sun.javafx.scene.control.skin.TableViewSkin.pannable=true
 216 fb.glass.platform=Lens
 217 fb.glass.lens=fb
 218 fb.prism.order=sw
 219 fb.com.sun.javafx.isEmbedded=true
 220 fb.glass.restrictWindowToScreen=true
 221 fb.com.sun.javafx.scene.control.skin.FXVK.cache=true
 222 fb.com.sun.javafx.gestures.zoom=true
 223 fb.com.sun.javafx.gestures.rotate=true
 224 fb.com.sun.javafx.gestures.scroll=true
 225 monocle.glass.platform=Monocle
 226 monocle.prism.order=es2,sw
 227 monocle.prism.eglfb=true
 228 monocle.prism.lcdtext=false
 229 monocle.prism.maxvram=128m
 230 monocle.prism.targetvram=112m
 231 monocle.use.egl=true
 232 monocle.use.gles2=true
 233 monocle.embedded=monocle
 234 monocle.com.sun.javafx.isEmbedded=true
 235 monocle.doNativeComposite=true
 236 monocle.com.sun.javafx.scene.control.skin.FXVK.cache=true
 237 monocle.com.sun.javafx.gestures.zoom=true
 238 monocle.com.sun.javafx.gestures.rotate=true
 239 monocle.com.sun.javafx.gestures.scroll=true
 240 monocle.prism.glDepthSize=0
 241 eglx11.com.sun.javafx.scene.control.skin.ListViewSkin.pannable=true
 242 eglx11.com.sun.javafx.scene.control.skin.TreeViewSkin.pannable=true
 243 eglx11.com.sun.javafx.scene.control.skin.TableViewSkin.pannable=true
 244 eglx11.glass.platform=Lens
 245 eglx11.glass.lens=eglx11
 246 eglx11.prism.order=es2
 247 eglx11.prism.eglx11=true
 248 eglx11.prism.lcdtext=false
 249 eglx11.prism.maxvram=128m
 250 eglx11.prism.targetvram=112m
 251 eglx11.use.egl=true
 252 eglx11.use.gles2=true
 253 eglx11.embedded=eglx11
 254 eglx11.com.sun.javafx.isEmbedded=true
 255 eglx11.com.sun.javafx.scene.control.skin.FXVK.cache=true

 256 eglx11.com.sun.javafx.gestures.zoom=true
 257 eglx11.com.sun.javafx.gestures.rotate=true
 258 eglx11.com.sun.javafx.gestures.scroll=true
 259 eglx11.prism.glDepthSize=0

 260 gtk.com.sun.javafx.scene.control.skin.ListViewSkin.pannable=true
 261 gtk.com.sun.javafx.scene.control.skin.TreeViewSkin.pannable=true
 262 gtk.com.sun.javafx.scene.control.skin.TableViewSkin.pannable=true
 263 gtk.glass.platform=gtk
 264 gtk.prism.order=sw
 265 gtk.com.sun.javafx.isEmbedded=true
 266 gtk.com.sun.javafx.scene.control.skin.FXVK.cache=true
 267 gtk.com.sun.javafx.gestures.zoom=true
 268 gtk.com.sun.javafx.gestures.rotate=true
 269 gtk.com.sun.javafx.gestures.scroll=true"""
 270 
 271 def pangoCCFlags = [extraCFlags, "-D_ENABLE_PANGO"];
 272 def pangoLinkFlags = [extraLFlags];
 273 setupTools("armv6hf_pango_tools",
 274     { propFile ->
 275         ByteArrayOutputStream results = new ByteArrayOutputStream();
 276         exec {
 277             commandLine "$sdk/bin/pkg-config", "--cflags", "pangoft2"
 278             standardOutput = results
 279         }
 280         propFile << "cflags=" << results.toString().trim() << "\n";
 281 
 282         results = new ByteArrayOutputStream();
 283         exec {
 284             commandLine "$sdk/bin/pkg-config", "--libs", "pangoft2"
 285             standardOutput = results
 286         }
 287         propFile << "libs=" << results.toString().trim();
 288     },
 289     { properties ->
 290         pangoCCFlags.addAll(properties.getProperty("cflags").split(" "))
 291         pangoLinkFlags.addAll(properties.getProperty("libs").split(" "))
 292     }
 293 )
 294 
 295 def freetypeCCFlags = [ext.IS_COMPILE_PANGO ? "-D_ENABLE_PANGO" :
 296                        ext.IS_COMPILE_HARFBUZZ ? "-D_ENABLE_HARFBUZZ" : ""]
 297 def freetypeLinkFlags = []
 298 setupTools("armv6hf_freetype_tools",
 299     { propFile ->
 300         ByteArrayOutputStream results = new ByteArrayOutputStream();
 301         exec {
 302             commandLine "$sdk/bin/pkg-config", "--cflags", "freetype2"
 303             standardOutput = results
 304         }
 305         propFile << "cflags=" << results.toString().trim() << "\n";
 306 
 307         results = new ByteArrayOutputStream();
 308         exec {
 309             commandLine "$sdk/bin/pkg-config", "--libs", "freetype2"
 310             standardOutput = results
 311         }
 312         propFile << "libs=" << results.toString().trim();
 313     },
 314     { properties ->
 315         freetypeCCFlags.addAll(properties.getProperty("cflags").split(" "))
 316         freetypeLinkFlags.addAll(properties.getProperty("libs").split(" "))
 317     }
 318 )
 319 
 320 def compiler = file("$compilerHome/bin/${compilerPrefix}gcc").getAbsolutePath()
 321 def linker = file("$compilerHome/bin/${compilerPrefix}g++").getAbsolutePath()
 322 
 323 ARMV7HF.glass = [:]
 324 ARMV7HF.glass.variants = ["eglfb", "directfb", "fb", "gtk", "lensport", "monocle", "monocle_x11" ]
 325 ARMV7HF.glass.javahInclude = [
 326     "com/sun/glass/events/**",
 327     "com/sun/glass/ui/*",
 328     "com/sun/glass/ui/lens/*",











 329     "com/sun/glass/ui/monocle/linux/*",
 330     "com/sun/glass/ui/monocle/util/*",
 331     "com/sun/glass/ui/monocle/x11/*",
 332     "com/sun/glass/ui/gtk/*"]







 333 ARMV7HF.glass.lib = "glass"
 334 
 335 ARMV7HF.glass.lensport = [:]
 336 ARMV7HF.glass.lensport.nativeSource = [
 337     file("modules/graphics/src/main/native-glass/lens/lensport") ]
 338 ARMV7HF.glass.lensport.compiler = compiler
 339 ARMV7HF.glass.lensport.ccFlags = ["-ffast-math", extraCFlags, "-DLINUX", "-DISEGLFB",
 340     "-DLENSPORT", "-I", file("modules/graphics/src/main/native-glass/lens/") ].flatten()
 341 ARMV7HF.glass.lensport.linker = linker
 342 ARMV7HF.glass.lensport.linkFlags = [lensLFlags].flatten()
 343 ARMV7HF.glass.lensport.lib = "lens_porting"
 344 
 345 ARMV7HF.glass.monocle = [:]
 346 ARMV7HF.glass.monocle.nativeSource = [
 347         file("modules/graphics/src/main/native-glass/monocle/linux"),
 348         file("modules/graphics/src/main/native-glass/monocle/util") ]
 349 ARMV7HF.glass.monocle.compiler = compiler
 350 ARMV7HF.glass.monocle.ccFlags = monocleCFlags
 351 ARMV7HF.glass.monocle.linker = linker
 352 ARMV7HF.glass.monocle.linkFlags = monocleLFlags




  44     fetchExternalTools('ARMV7HF',
  45             ["${crossLibsPackage}.tgz"],
  46             rootProject.CROSS_TOOLS_DIR, rootProject.IS_IMPORT_CROSS_TOOLS)
  47 
  48     compilerHome=file("/usr/local/arm-linux")
  49     compilerPrefix="arm-linux-"
  50     jniPlatform="darwin"
  51 } else {
  52     fail("armv7hf Cannot build on this platform")
  53 }
  54 
  55 if (rootProject.hasProperty("ARMV7HF_COMPILER")) {
  56     logger.quiet "Using alternate ARMV7HF_COMPILER $rootProject.ARMV7HF_COMPILER"
  57     compilerHome=file(rootProject.ARMV7HF_COMPILER);
  58 }
  59 if (rootProject.hasProperty("ARMV7HF_COMPILER_PREFIX")) {
  60     logger.quiet "Using alternate ARMV7HF_COMPILER_PREFIX $rootProject.ARMV7HF_COMPILER_PREFIX"
  61     compilerPrefix="${rootProject.ARMV7HF_COMPILER_PREFIX}"
  62 }
  63 
  64 def compiler = file("$compilerHome/bin/${compilerPrefix}gcc").getAbsolutePath()
  65 def linker = file("$compilerHome/bin/${compilerPrefix}g++").getAbsolutePath()
  66 
  67 // Declare whether this particular target file applies to the current system
  68 ARMV7HF.canBuild = (IS_LINUX || IS_MAC) && compilerHome.exists() && sdk.exists()
  69 if (!ARMV7HF.canBuild) {
  70     if (!compilerHome.exists()) println "ERROR: Missing compiler $compilerHome"
  71     if (!sdk.exists()) println "ERROR: Missing sdk $sdk"
  72     fail("armv7hf missing required tools")
  73 }
  74 
  75 // Lambda for naming the generated libs
  76 ARMV7HF.library = { name -> return "lib${name}.so" as String }
  77 
  78 ARMV7HF.compileSwing = false;
  79 ARMV7HF.compileSWT = false;
  80 ARMV7HF.compileFXPackager = false;
  81 ARMV7HF.compileDesignTime = false;
  82 ARMV7HF.compileWebnodeNative = false;
  83 ARMV7HF.compileMediaNative = false;
  84 
  85 ARMV7HF.includeLens = true
  86 ARMV7HF.includeMonocle = true
  87 ARMV7HF.includeNull3d = true
  88 ARMV7HF.includeEGL = true
  89 ARMV7HF.includeSwing = false
  90 ARMV7HF.includeSWT = false
  91 
  92 ARMV7HF.javafxPlatformDefault="monocle"
  93 
  94 // Libraries end up in the sdk/rt/lib/arm directory for arm builds
  95 ARMV7HF.arch = "arm"
  96 ARMV7HF.libDest = "lib/arm"
  97 
  98 def commonFlags = [
  99         "-fno-strict-aliasing", "-fPIC", "-fno-omit-frame-pointer", // optimization flags
 100         "-W", "-Wall", "-Wno-unused", "-Wno-parentheses", "-Werror=implicit-function-declaration"] // warning flags
 101 // Specify the compilation parameters and link parameters
 102 def ccFlags = [
 103         commonFlags, "-I$JDK_HOME/include", "-I$JDK_HOME/include/$jniPlatform", "-c",
 104         IS_DEBUG_NATIVE ? ["-ggdb", "-DVERBOSE"] : ["-O2", "-DNDEBUG"]].flatten()
 105 //ccFlags.addAll(["-Wnon-virtual-dtor", "-Woverloaded-virtual", "-std=c++0x"])
 106 def linkFlags = ["-shared", commonFlags].flatten()
 107 
 108 // Specify the compilation parameters and link parameters
 109 def extraCFlags = [
 110         "-I", "-L",
 111         ccFlags,
 112         "-mthumb", "-march=armv7-a", "-mfloat-abi=hard", "-mfpu=vfp",
 113         "-I$sdk/usr/include",


 145 
 146 def es2EglfbCFlags = [extraCFlags, "-DIS_EGLFB", "-DLINUX"].flatten()
 147 def es2EglfbLFlags = [extraLFlags].flatten()
 148 
 149 def es2X11CFlags = [extraCFlags, "-DUSE_XSHM", "-DDEBUG", "-DIS_EGLX11", "-DLINUX"].flatten()
 150 def es2X11LFlags = [extraLFlags, "-lX11", "-lXext", "-lXdmcp", "-lXau"].flatten()
 151 
 152 def mediaCFlags = [extraCFlags,
 153     "-I$sdk/usr/include/gstreamer-0.10",
 154     "-I$sdk/usr/include/glib-2.0",
 155     "-I$sdk/usr/lib/arm-linux-gnueabihf/glib-2.0/include",
 156     "-DENABLE_NATIVE_SOURCE=1", "-DENABLE_GST_FFMPEG=1"].flatten()
 157 def mediaLFlags = [extraLFlags, "-lgstreamer-0.10", "-lgstapp-0.10",
 158     "-lgstbase-0.10", "-lglib-2.0", "-lgobject-2.0", "-lgmodule-2.0", "-lgthread-2.0"].flatten()
 159 
 160 def webCFlags = [extraCFlags].flatten()
 161 def webLFlags = [extraLFlags].flatten()
 162 
 163 def gtkCFlags = [extraCFlags].flatten()
 164 def gtkLFlags = [extraLFlags].flatten()
 165 setupTools("armv7hf_tools",
 166     { propFile ->
 167         ByteArrayOutputStream results = new ByteArrayOutputStream();
 168         exec {
 169             commandLine("$sdk/bin/pkg-config", "--cflags", "gtk+-2.0", "gthread-2.0", "xtst");
 170             setStandardOutput(results);
 171         }
 172         propFile << "cflags=" << results.toString().trim() << "\n";
 173 
 174         results = new ByteArrayOutputStream();
 175         exec {
 176             commandLine "$sdk/bin/pkg-config", "--libs", "gtk+-2.0", "gthread-2.0", "xtst"
 177             standardOutput = results
 178         }
 179         propFile << "libs=" << results.toString().trim();
 180     },
 181     { properties ->
 182         gtkCFlags.addAll(properties.getProperty("cflags").split(" "))
 183         gtkLFlags.addAll(properties.getProperty("libs").split(" "))
 184     }
 185 )
 186 
 187 def monoclePlatformAdditions = """
 188 monocle.glass.platform=Monocle
 189 monocle.prism.order=es2,sw
 190 monocle.prism.eglfb=true
 191 monocle.prism.lcdtext=false
 192 monocle.prism.maxvram=128m
 193 monocle.prism.targetvram=112m
 194 monocle.use.egl=true
 195 monocle.use.gles2=true
 196 monocle.embedded=monocle
 197 monocle.com.sun.javafx.isEmbedded=true
 198 monocle.doNativeComposite=true
 199 monocle.com.sun.javafx.scene.control.skin.FXVK.cache=true
 200 monocle.prism.glDepthSize=0
 201 monocle.com.sun.javafx.gestures.zoom=true
 202 monocle.com.sun.javafx.gestures.rotate=true
 203 monocle.com.sun.javafx.gestures.scroll=true"""
 204 
 205 def lensPlatformAdditions = """
 206 directfb.com.sun.javafx.scene.control.skin.ListViewSkin.pannable=true
 207 directfb.com.sun.javafx.scene.control.skin.TreeViewSkin.pannable=true
 208 directfb.com.sun.javafx.scene.control.skin.TableViewSkin.pannable=true
 209 directfb.glass.platform=Lens
 210 directfb.glass.lens=dfb
 211 directfb.prism.order=sw
 212 directfb.com.sun.javafx.isEmbedded=true
 213 directfb.com.sun.javafx.scene.control.skin.FXVK.cache=true
 214 directfb.com.sun.javafx.gestures.zoom=true
 215 directfb.com.sun.javafx.gestures.rotate=true
 216 directfb.com.sun.javafx.gestures.scroll=true
 217 eglfb.com.sun.javafx.scene.control.skin.ListViewSkin.pannable=true
 218 eglfb.com.sun.javafx.scene.control.skin.TreeViewSkin.pannable=true
 219 eglfb.com.sun.javafx.scene.control.skin.TableViewSkin.pannable=true
 220 eglfb.glass.platform=Lens
 221 eglfb.glass.lens=eglfb
 222 eglfb.prism.order=es2
 223 eglfb.prism.eglfb=true
 224 eglfb.prism.lcdtext=false
 225 eglfb.prism.maxvram=128m
 226 eglfb.prism.targetvram=112m
 227 eglfb.use.egl=true
 228 eglfb.use.gles2=true
 229 eglfb.embedded=eglfb
 230 eglfb.com.sun.javafx.isEmbedded=true
 231 eglfb.doNativeComposite=true
 232 eglfb.com.sun.javafx.scene.control.skin.FXVK.cache=true
 233 eglfb.prism.glDepthSize=0
 234 eglfb.com.sun.javafx.gestures.zoom=true
 235 eglfb.com.sun.javafx.gestures.rotate=true
 236 eglfb.com.sun.javafx.gestures.scroll=true

 237 fb.com.sun.javafx.scene.control.skin.ListViewSkin.pannable=true
 238 fb.com.sun.javafx.scene.control.skin.TreeViewSkin.pannable=true
 239 fb.com.sun.javafx.scene.control.skin.TableViewSkin.pannable=true
 240 fb.glass.platform=Lens
 241 fb.glass.lens=fb
 242 fb.prism.order=sw
 243 fb.com.sun.javafx.isEmbedded=true
 244 fb.glass.restrictWindowToScreen=true
 245 fb.com.sun.javafx.scene.control.skin.FXVK.cache=true
 246 fb.com.sun.javafx.gestures.zoom=true
 247 fb.com.sun.javafx.gestures.rotate=true
 248 fb.com.sun.javafx.gestures.scroll=true
















 249 eglx11.com.sun.javafx.scene.control.skin.ListViewSkin.pannable=true
 250 eglx11.com.sun.javafx.scene.control.skin.TreeViewSkin.pannable=true
 251 eglx11.com.sun.javafx.scene.control.skin.TableViewSkin.pannable=true
 252 eglx11.glass.platform=Lens
 253 eglx11.glass.lens=eglx11
 254 eglx11.prism.order=es2
 255 eglx11.prism.eglx11=true
 256 eglx11.prism.lcdtext=false
 257 eglx11.prism.maxvram=128m
 258 eglx11.prism.targetvram=112m
 259 eglx11.use.egl=true
 260 eglx11.use.gles2=true
 261 eglx11.embedded=eglx11
 262 eglx11.com.sun.javafx.isEmbedded=true
 263 eglx11.com.sun.javafx.scene.control.skin.FXVK.cache=true
 264 eglx11.prism.glDepthSize=0
 265 eglx11.com.sun.javafx.gestures.zoom=true
 266 eglx11.com.sun.javafx.gestures.rotate=true
 267 eglx11.com.sun.javafx.gestures.scroll=true"""
 268 
 269 def gtkPlatformAdditions = """
 270 gtk.com.sun.javafx.scene.control.skin.ListViewSkin.pannable=true
 271 gtk.com.sun.javafx.scene.control.skin.TreeViewSkin.pannable=true
 272 gtk.com.sun.javafx.scene.control.skin.TableViewSkin.pannable=true
 273 gtk.glass.platform=gtk
 274 gtk.prism.order=sw
 275 gtk.com.sun.javafx.isEmbedded=true
 276 gtk.com.sun.javafx.scene.control.skin.FXVK.cache=true
 277 gtk.com.sun.javafx.gestures.zoom=true
 278 gtk.com.sun.javafx.gestures.rotate=true
 279 gtk.com.sun.javafx.gestures.scroll=true"""
 280 
 281 def pangoCCFlags = [extraCFlags, "-D_ENABLE_PANGO"];
 282 def pangoLinkFlags = [extraLFlags];
 283 setupTools("armv7hf_pango_tools",
 284     { propFile ->
 285         ByteArrayOutputStream results = new ByteArrayOutputStream();
 286         exec {
 287             commandLine "$sdk/bin/pkg-config", "--cflags", "pangoft2"
 288             standardOutput = results
 289         }
 290         propFile << "cflags=" << results.toString().trim() << "\n";
 291 
 292         results = new ByteArrayOutputStream();
 293         exec {
 294             commandLine "$sdk/bin/pkg-config", "--libs", "pangoft2"
 295             standardOutput = results
 296         }
 297         propFile << "libs=" << results.toString().trim();
 298     },
 299     { properties ->
 300         pangoCCFlags.addAll(properties.getProperty("cflags").split(" "))
 301         pangoLinkFlags.addAll(properties.getProperty("libs").split(" "))
 302     }
 303 )
 304 
 305 def freetypeCCFlags = [ext.IS_COMPILE_PANGO ? "-D_ENABLE_PANGO" :
 306                        ext.IS_COMPILE_HARFBUZZ ? "-D_ENABLE_HARFBUZZ" : ""]
 307 def freetypeLinkFlags = []
 308 setupTools("armv7hf_freetype_tools",
 309     { propFile ->
 310         ByteArrayOutputStream results = new ByteArrayOutputStream();
 311         exec {
 312             commandLine "$sdk/bin/pkg-config", "--cflags", "freetype2"
 313             standardOutput = results
 314         }
 315         propFile << "cflags=" << results.toString().trim() << "\n";
 316 
 317         results = new ByteArrayOutputStream();
 318         exec {
 319             commandLine "$sdk/bin/pkg-config", "--libs", "freetype2"
 320             standardOutput = results
 321         }
 322         propFile << "libs=" << results.toString().trim();
 323     },
 324     { properties ->
 325         freetypeCCFlags.addAll(properties.getProperty("cflags").split(" "))
 326         freetypeLinkFlags.addAll(properties.getProperty("libs").split(" "))
 327     }
 328 )
 329 
 330 ARMV7HF.javafxPlatformProperties = "javafx.platform=${ARMV7HF.javafxPlatformDefault}"

 331 
 332 ARMV7HF.glass = [:]

 333 ARMV7HF.glass.javahInclude = [
 334     "com/sun/glass/events/**",
 335     "com/sun/glass/ui/*"]
 336 ARMV7HF.glass.variants = [ ]
 337 if (ARMV7HF.includeLens) { 
 338     ARMV7HF.glass.variants.addAll("eglfb", "directfb", "fb", "lensport" );
 339     ARMV7HF.glass.javahInclude.addAll("com/sun/glass/ui/lens/*");
 340     ARMV7HF.javafxPlatformProperties = ARMV7HF.javafxPlatformProperties + lensPlatformAdditions
 341 }
 342 if (ARMV7HF.includeMonocle) { 
 343     ARMV7HF.glass.variants.addAll("monocle", "monocle_x11");
 344     ARMV7HF.glass.javahInclude.addAll(
 345         "com/sun/glass/ui/monocle/*",
 346         "com/sun/glass/ui/monocle/dispman/*",
 347         "com/sun/glass/ui/monocle/mx6/*",
 348         "com/sun/glass/ui/monocle/linux/*",
 349         "com/sun/glass/ui/monocle/util/*",
 350         "com/sun/glass/ui/monocle/x11/*");
 351     ARMV7HF.javafxPlatformProperties = ARMV7HF.javafxPlatformProperties + monoclePlatformAdditions
 352 }
 353 if (ARMV7HF.includeGTK) {
 354     ARMV7HF.glass.variants.addAll("gtk");
 355     ARMV7HF.glass.javahInclude.addAll("com/sun/glass/ui/gtk/*");
 356     ARMV7HF.javafxPlatformProperties = ARMV7HF.javafxPlatformProperties + gtkPlatformAdditions
 357 }
 358 
 359 ARMV7HF.glass.lib = "glass"
 360 
 361 ARMV7HF.glass.lensport = [:]
 362 ARMV7HF.glass.lensport.nativeSource = [
 363     file("modules/graphics/src/main/native-glass/lens/lensport") ]
 364 ARMV7HF.glass.lensport.compiler = compiler
 365 ARMV7HF.glass.lensport.ccFlags = ["-ffast-math", extraCFlags, "-DLINUX", "-DISEGLFB",
 366     "-DLENSPORT", "-I", file("modules/graphics/src/main/native-glass/lens/") ].flatten()
 367 ARMV7HF.glass.lensport.linker = linker
 368 ARMV7HF.glass.lensport.linkFlags = [lensLFlags].flatten()
 369 ARMV7HF.glass.lensport.lib = "lens_porting"
 370 
 371 ARMV7HF.glass.monocle = [:]
 372 ARMV7HF.glass.monocle.nativeSource = [
 373         file("modules/graphics/src/main/native-glass/monocle/linux"),
 374         file("modules/graphics/src/main/native-glass/monocle/util") ]
 375 ARMV7HF.glass.monocle.compiler = compiler
 376 ARMV7HF.glass.monocle.ccFlags = monocleCFlags
 377 ARMV7HF.glass.monocle.linker = linker
 378 ARMV7HF.glass.monocle.linkFlags = monocleLFlags