buildSrc/armv6hf.gradle

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


  44     fetchExternalTools('ARMV6HF',
  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("armv6hf Cannot build on this platform")
  53 }
  54 
  55 if (rootProject.hasProperty("ARMV6HF_COMPILER")) {
  56     logger.quiet "Using alternate ARMV6HF_COMPILER $rootProject.ARMV6HF_COMPILER"
  57     compilerHome=file(rootProject.ARMV6HF_COMPILER);
  58 }
  59 if (rootProject.hasProperty("ARMV6HF_COMPILER_PREFIX")) {
  60     logger.quiet "Using alternate ARMV6HF_COMPILER_PREFIX $rootProject.ARMV6HF_COMPILER_PREFIX"
  61     compilerPrefix="${rootProject.ARMV6HF_COMPILER_PREFIX}"
  62 }
  63 



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

  81 ARMV6HF.includeNull3d = true
  82 ARMV6HF.includeEGL = true
  83 ARMV6HF.includeSwing = false
  84 ARMV6HF.includeSWT = false
  85 ARMV6HF.includeGTK = true
  86 


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


 168         }
 169         propFile << "cflags=" << results.toString().trim() << "\n";
 170 
 171         results = new ByteArrayOutputStream();
 172         exec {
 173             commandLine "$sdk/bin/pkg-config", "--libs", "gtk+-2.0", "gthread-2.0", "xtst"
 174             standardOutput = results
 175         }
 176         propFile << "libs=" << results.toString().trim();
 177     },
 178     { properties ->
 179         if (properties.getProperty("cflags") == null || properties.getProperty("libs") == null ) {
 180             fail("pkg-config failed for tools")
 181              throw new GradleException("FAIL: pkg-config failed for tools")
 182         }
 183         gtkCFlags.addAll(properties.getProperty("cflags").split(" "))
 184         gtkLFlags.addAll(properties.getProperty("libs").split(" "))
 185     }
 186 )
 187 
 188 ARMV6HF.javafxPlatformProperties ="""javafx.platform=monocle


















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


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


 267 gtk.com.sun.javafx.scene.control.skin.ListViewSkin.pannable=true
 268 gtk.com.sun.javafx.scene.control.skin.TreeViewSkin.pannable=true
 269 gtk.com.sun.javafx.scene.control.skin.TableViewSkin.pannable=true
 270 gtk.glass.platform=gtk
 271 gtk.prism.order=sw
 272 gtk.com.sun.javafx.isEmbedded=true
 273 gtk.com.sun.javafx.scene.control.skin.FXVK.cache=true
 274 gtk.com.sun.javafx.gestures.zoom=true
 275 gtk.com.sun.javafx.gestures.rotate=true
 276 gtk.com.sun.javafx.gestures.scroll=true"""
 277 
 278 def pangoCCFlags = [extraCFlags, "-D_ENABLE_PANGO"];
 279 def pangoLinkFlags = [extraLFlags];
 280 setupTools("armv6hf_pango_tools",
 281     { propFile ->
 282         ByteArrayOutputStream results = new ByteArrayOutputStream();
 283         exec {
 284             commandLine "$sdk/bin/pkg-config", "--cflags", "pangoft2"
 285             standardOutput = results
 286         }


 307         ByteArrayOutputStream results = new ByteArrayOutputStream();
 308         exec {
 309             commandLine "$sdk/bin/pkg-config", "--cflags", "freetype2"
 310             standardOutput = results
 311         }
 312         propFile << "cflags=" << results.toString().trim() << "\n";
 313 
 314         results = new ByteArrayOutputStream();
 315         exec {
 316             commandLine "$sdk/bin/pkg-config", "--libs", "freetype2"
 317             standardOutput = results
 318         }
 319         propFile << "libs=" << results.toString().trim();
 320     },
 321     { properties ->
 322         freetypeCCFlags.addAll(properties.getProperty("cflags").split(" "))
 323         freetypeLinkFlags.addAll(properties.getProperty("libs").split(" "))
 324     }
 325 )
 326 
 327 def compiler = file("$compilerHome/bin/${compilerPrefix}gcc").getAbsolutePath()
 328 def linker = file("$compilerHome/bin/${compilerPrefix}g++").getAbsolutePath()
 329 
 330 ARMV6HF.glass = [:]
 331 ARMV6HF.glass.variants = ["eglfb", "directfb", "fb", "gtk", "lensport", "monocle", "monocle_x11" ]
 332 ARMV6HF.glass.javahInclude = [
 333     "com/sun/glass/events/**",
 334     "com/sun/glass/ui/*",
 335     "com/sun/glass/ui/lens/*",








 336     "com/sun/glass/ui/monocle/*",
 337     "com/sun/glass/ui/monocle/dispman/*",
 338     "com/sun/glass/ui/monocle/mx6/*",
 339     "com/sun/glass/ui/monocle/linux/*",
 340     "com/sun/glass/ui/monocle/util/*",
 341     "com/sun/glass/ui/monocle/x11/*",
 342     "com/sun/glass/ui/gtk/*"]







 343 ARMV6HF.glass.lib = "glass"
 344 
 345 ARMV6HF.glass.lensport = [:]
 346 ARMV6HF.glass.lensport.nativeSource = [
 347     file("modules/graphics/src/main/native-glass/lens/lensport") ]
 348 ARMV6HF.glass.lensport.compiler = compiler
 349 ARMV6HF.glass.lensport.ccFlags = ["-ffast-math", extraCFlags, "-DLINUX", "-DISEGLFB",
 350     "-DLENSPORT", "-I", file("modules/graphics/src/main/native-glass/lens/") ].flatten()
 351 ARMV6HF.glass.lensport.linker = linker
 352 ARMV6HF.glass.lensport.linkFlags = [lensLFlags].flatten()
 353 ARMV6HF.glass.lensport.lib = "lens_porting"
 354 
 355 ARMV6HF.glass.monocle = [:]
 356 ARMV6HF.glass.monocle.nativeSource = [
 357         file("modules/graphics/src/main/native-glass/monocle"),
 358         file("modules/graphics/src/main/native-glass/monocle/dispman"),
 359         file("modules/graphics/src/main/native-glass/monocle/mx6"),
 360         file("modules/graphics/src/main/native-glass/monocle/linux"),
 361         file("modules/graphics/src/main/native-glass/monocle/util") ]
 362 ARMV6HF.glass.monocle.compiler = compiler




  44     fetchExternalTools('ARMV6HF',
  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("armv6hf Cannot build on this platform")
  53 }
  54 
  55 if (rootProject.hasProperty("ARMV6HF_COMPILER")) {
  56     logger.quiet "Using alternate ARMV6HF_COMPILER $rootProject.ARMV6HF_COMPILER"
  57     compilerHome=file(rootProject.ARMV6HF_COMPILER);
  58 }
  59 if (rootProject.hasProperty("ARMV6HF_COMPILER_PREFIX")) {
  60     logger.quiet "Using alternate ARMV6HF_COMPILER_PREFIX $rootProject.ARMV6HF_COMPILER_PREFIX"
  61     compilerPrefix="${rootProject.ARMV6HF_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 ARMV6HF.canBuild = (IS_LINUX || IS_MAC) && compilerHome.exists() && sdk.exists()
  69 if (!ARMV6HF.canBuild) {
  70     if (!compilerHome.exists()) println "ERROR: Missing compiler $compilerHome"
  71     if (!sdk.exists()) println "ERROR: Missing sdk $sdk"
  72     fail("armv6hf missing required tools")
  73 }
  74 
  75 // Lambda for naming the generated libs
  76 ARMV6HF.library = { name -> return "lib${name}.so" as String }
  77 
  78 ARMV6HF.compileSwing = false;
  79 ARMV6HF.compileSWT = false;
  80 ARMV6HF.compileFXPackager = false;
  81 ARMV6HF.compileDesignTime = false;
  82 
  83 ARMV6HF.includeLens = true
  84 ARMV6HF.includeMonocle = true
  85 ARMV6HF.includeNull3d = true
  86 ARMV6HF.includeEGL = true
  87 ARMV6HF.includeSwing = false
  88 ARMV6HF.includeSWT = false
  89 ARMV6HF.includeGTK = true
  90 
  91 ARMV6HF.javafxPlatformDefault="monocle"
  92 
  93 // Libraries end up in the sdk/rt/lib/arm directory for arm builds
  94 ARMV6HF.arch = "arm"
  95 ARMV6HF.libDest = "lib/arm"
  96 
  97 def commonFlags = [
  98         "-fno-strict-aliasing", "-fPIC", "-fno-omit-frame-pointer", // optimization flags
  99         "-W", "-Wall", "-Wno-unused", "-Wno-parentheses", "-Werror=implicit-function-declaration"] // warning flags
 100 // Specify the compilation parameters and link parameters
 101 def ccFlags = [
 102         commonFlags, "-I$JDK_HOME/include", "-I$JDK_HOME/include/$jniPlatform", "-c",
 103         IS_DEBUG_NATIVE ? ["-ggdb", "-DVERBOSE"] : ["-O2", "-DNDEBUG"]].flatten()
 104 //ccFlags.addAll(["-Wnon-virtual-dtor", "-Woverloaded-virtual", "-std=c++0x"])
 105 def linkFlags = ["-shared", commonFlags].flatten()
 106 
 107 // Specify the compilation parameters and link parameters
 108 def extraCFlags = [
 109         "-I", "-L",
 110         ccFlags,
 111         "-marm", "-mfloat-abi=hard", "-mfpu=vfp",
 112         "-I$sdk/usr/include",


 174         }
 175         propFile << "cflags=" << results.toString().trim() << "\n";
 176 
 177         results = new ByteArrayOutputStream();
 178         exec {
 179             commandLine "$sdk/bin/pkg-config", "--libs", "gtk+-2.0", "gthread-2.0", "xtst"
 180             standardOutput = results
 181         }
 182         propFile << "libs=" << results.toString().trim();
 183     },
 184     { properties ->
 185         if (properties.getProperty("cflags") == null || properties.getProperty("libs") == null ) {
 186             fail("pkg-config failed for tools")
 187              throw new GradleException("FAIL: pkg-config failed for tools")
 188         }
 189         gtkCFlags.addAll(properties.getProperty("cflags").split(" "))
 190         gtkLFlags.addAll(properties.getProperty("libs").split(" "))
 191     }
 192 )
 193 
 194 def monoclePlatformAdditions = """
 195 monocle.glass.platform=Monocle
 196 monocle.prism.order=es2,sw
 197 monocle.prism.eglfb=true
 198 monocle.prism.lcdtext=false
 199 monocle.prism.maxvram=128m
 200 monocle.prism.targetvram=112m
 201 monocle.use.egl=true
 202 monocle.use.gles2=true
 203 monocle.embedded=monocle
 204 monocle.com.sun.javafx.isEmbedded=true
 205 monocle.doNativeComposite=true
 206 monocle.com.sun.javafx.scene.control.skin.FXVK.cache=true
 207 monocle.prism.glDepthSize=0
 208 monocle.com.sun.javafx.gestures.zoom=true
 209 monocle.com.sun.javafx.gestures.rotate=true
 210 monocle.com.sun.javafx.gestures.scroll=true"""
 211 
 212 def lensPlatformAdditions = """
 213 directfb.com.sun.javafx.scene.control.skin.ListViewSkin.pannable=true
 214 directfb.com.sun.javafx.scene.control.skin.TreeViewSkin.pannable=true
 215 directfb.com.sun.javafx.scene.control.skin.TableViewSkin.pannable=true
 216 directfb.glass.platform=Lens
 217 directfb.glass.lens=dfb
 218 directfb.prism.order=sw
 219 directfb.com.sun.javafx.isEmbedded=true
 220 directfb.com.sun.javafx.scene.control.skin.FXVK.cache=true
 221 directfb.com.sun.javafx.gestures.zoom=true
 222 directfb.com.sun.javafx.gestures.rotate=true
 223 directfb.com.sun.javafx.gestures.scroll=true
 224 eglfb.com.sun.javafx.scene.control.skin.ListViewSkin.pannable=true
 225 eglfb.com.sun.javafx.scene.control.skin.TreeViewSkin.pannable=true
 226 eglfb.com.sun.javafx.scene.control.skin.TableViewSkin.pannable=true
 227 eglfb.glass.platform=Lens
 228 eglfb.glass.lens=eglfb
 229 eglfb.prism.order=es2
 230 eglfb.prism.eglfb=true
 231 eglfb.prism.lcdtext=false
 232 eglfb.prism.maxvram=128m


 236 eglfb.embedded=eglfb
 237 eglfb.com.sun.javafx.isEmbedded=true
 238 eglfb.doNativeComposite=true
 239 eglfb.com.sun.javafx.scene.control.skin.FXVK.cache=true
 240 eglfb.prism.glDepthSize=0
 241 eglfb.com.sun.javafx.gestures.zoom=true
 242 eglfb.com.sun.javafx.gestures.rotate=true
 243 eglfb.com.sun.javafx.gestures.scroll=true
 244 fb.com.sun.javafx.scene.control.skin.ListViewSkin.pannable=true
 245 fb.com.sun.javafx.scene.control.skin.TreeViewSkin.pannable=true
 246 fb.com.sun.javafx.scene.control.skin.TableViewSkin.pannable=true
 247 fb.glass.platform=Lens
 248 fb.glass.lens=fb
 249 fb.prism.order=sw
 250 fb.com.sun.javafx.isEmbedded=true
 251 fb.glass.restrictWindowToScreen=true
 252 fb.com.sun.javafx.scene.control.skin.FXVK.cache=true
 253 fb.com.sun.javafx.gestures.zoom=true
 254 fb.com.sun.javafx.gestures.rotate=true
 255 fb.com.sun.javafx.gestures.scroll=true
















 256 eglx11.com.sun.javafx.scene.control.skin.ListViewSkin.pannable=true
 257 eglx11.com.sun.javafx.scene.control.skin.TreeViewSkin.pannable=true
 258 eglx11.com.sun.javafx.scene.control.skin.TableViewSkin.pannable=true
 259 eglx11.glass.platform=Lens
 260 eglx11.glass.lens=eglx11
 261 eglx11.prism.order=es2
 262 eglx11.prism.eglx11=true
 263 eglx11.prism.lcdtext=false
 264 eglx11.prism.maxvram=128m
 265 eglx11.prism.targetvram=112m
 266 eglx11.use.egl=true
 267 eglx11.use.gles2=true
 268 eglx11.embedded=eglx11
 269 eglx11.com.sun.javafx.isEmbedded=true
 270 eglx11.com.sun.javafx.scene.control.skin.FXVK.cache=true
 271 eglx11.prism.glDepthSize=0
 272 eglx11.com.sun.javafx.gestures.zoom=true
 273 eglx11.com.sun.javafx.gestures.rotate=true
 274 eglx11.com.sun.javafx.gestures.scroll=true"""
 275 
 276 def gtkPlatformAdditions = """
 277 gtk.com.sun.javafx.scene.control.skin.ListViewSkin.pannable=true
 278 gtk.com.sun.javafx.scene.control.skin.TreeViewSkin.pannable=true
 279 gtk.com.sun.javafx.scene.control.skin.TableViewSkin.pannable=true
 280 gtk.glass.platform=gtk
 281 gtk.prism.order=sw
 282 gtk.com.sun.javafx.isEmbedded=true
 283 gtk.com.sun.javafx.scene.control.skin.FXVK.cache=true
 284 gtk.com.sun.javafx.gestures.zoom=true
 285 gtk.com.sun.javafx.gestures.rotate=true
 286 gtk.com.sun.javafx.gestures.scroll=true"""
 287 
 288 def pangoCCFlags = [extraCFlags, "-D_ENABLE_PANGO"];
 289 def pangoLinkFlags = [extraLFlags];
 290 setupTools("armv6hf_pango_tools",
 291     { propFile ->
 292         ByteArrayOutputStream results = new ByteArrayOutputStream();
 293         exec {
 294             commandLine "$sdk/bin/pkg-config", "--cflags", "pangoft2"
 295             standardOutput = results
 296         }


 317         ByteArrayOutputStream results = new ByteArrayOutputStream();
 318         exec {
 319             commandLine "$sdk/bin/pkg-config", "--cflags", "freetype2"
 320             standardOutput = results
 321         }
 322         propFile << "cflags=" << results.toString().trim() << "\n";
 323 
 324         results = new ByteArrayOutputStream();
 325         exec {
 326             commandLine "$sdk/bin/pkg-config", "--libs", "freetype2"
 327             standardOutput = results
 328         }
 329         propFile << "libs=" << results.toString().trim();
 330     },
 331     { properties ->
 332         freetypeCCFlags.addAll(properties.getProperty("cflags").split(" "))
 333         freetypeLinkFlags.addAll(properties.getProperty("libs").split(" "))
 334     }
 335 )
 336 
 337 ARMV6HF.javafxPlatformProperties = "javafx.platform=${ARMV6HF.javafxPlatformDefault}"

 338 
 339 ARMV6HF.glass = [:]

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