buildSrc/armv5sf.gradle

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


  34 
  35 def compilerHome=file("/opt/arm-linaro-4.7")
  36 if (rootProject.hasProperty("ARMV5SF_COMPILER")) {
  37     logger.quiet "Using alternate ARMV5SF_COMPILER $rootProject.ARMV5SF_COMPILER"
  38     compilerHome=file(rootProject.ARMV5SF_COMPILER);
  39 }
  40 def compilerPrefix="arm-linux-gnueabi-"
  41 if (rootProject.hasProperty("ARMV5SF_COMPILER_PREFIX")) {
  42     logger.quiet "Using alternate ARMV5SF_COMPILER_PREFIX $rootProject.ARMV5SF_COMPILER_PREFIX"
  43     compilerPrefix="${rootProject.ARMV5SF_COMPILER_PREFIX}"
  44 }
  45 def jniPlatform
  46 if (IS_LINUX) {
  47     jniPlatform="linux"
  48 } else if (IS_MAC) {
  49     jniPlatform="darwin"
  50 } else {
  51     fail( "armv5sf Cannot build on this platform")
  52 }
  53 



  54 // Declare whether this particular target file applies to the current system
  55 ARMV5SF.canBuild = (IS_LINUX || IS_MAC) && compilerHome.exists() && sdk.exists()
  56 if (!ARMV5SF.canBuild) {
  57     if (!compilerHome.exists()) println "armv5sf Missing compiler $compilerHome"
  58     if (!sdk.exists()) println "armv5sf Missing sdk $sdk"
  59     fail("armv5sF missing required tools")
  60 }
  61 
  62 // Lambda for naming the generated libs
  63 ARMV5SF.library = { name -> return "lib${name}.so" as String }
  64 
  65 ARMV5SF.compileSwing = false;
  66 ARMV5SF.compileSWT = false;
  67 ARMV5SF.compileFXPackager = false;
  68 ARMV5SF.compileDesignTime = false;
  69 ARMV5SF.compileWebnodeNative = false;
  70 ARMV5SF.compileMediaNative = false;
  71 
  72 ARMV5SF.includeLens = true

  73 ARMV5SF.includeNull3d = true
  74 ARMV5SF.includeEGL = true
  75 ARMV5SF.includeSwing = false
  76 ARMV5SF.includeSWT = false
  77 

  78 
  79 // Libraries end up in the sdk/rt/lib/arm directory for arm builds
  80 ARMV5SF.arch = "arm"
  81 ARMV5SF.libDest = "lib/arm"
  82 
  83 def commonFlags = [
  84         "-fno-strict-aliasing", "-fPIC", "-fno-omit-frame-pointer", // optimization flags
  85         "-W", "-Wall", "-Wno-unused", "-Wno-parentheses", "-Werror=implicit-function-declaration"] // warning flags
  86 // Specify the compilation parameters and link parameters
  87 def ccFlags = [
  88         commonFlags, "-I$JDK_HOME/include", "-I$JDK_HOME/include/$jniPlatform", "-c",
  89         IS_DEBUG_NATIVE ? ["-ggdb", "-DVERBOSE"] : ["-O2", "-DNDEBUG"]].flatten()
  90 //ccFlags.addAll(["-Wnon-virtual-dtor", "-Woverloaded-virtual", "-std=c++0x"])
  91 def linkFlags = ["-shared", commonFlags].flatten()
  92 
  93 // Specify the compilation parameters and link parameters
  94 def extraCFlags = [
  95         "-I", "-L",
  96         ccFlags,
  97         "-march=armv5", "-mfloat-abi=softfp", "-mfpu=vfp",


 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 ARMV5SF.javafxPlatformProperties = """javafx.platform=monocle


















 188 directfb.com.sun.javafx.scene.control.skin.ListViewSkin.pannable=true
 189 directfb.com.sun.javafx.scene.control.skin.TreeViewSkin.pannable=true
 190 directfb.com.sun.javafx.scene.control.skin.TableViewSkin.pannable=true
 191 directfb.glass.platform=Lens
 192 directfb.glass.lens=dfb
 193 directfb.prism.order=sw
 194 directfb.com.sun.javafx.isEmbedded=true
 195 directfb.com.sun.javafx.scene.control.skin.FXVK.cache=true
 196 directfb.com.sun.javafx.gestures.zoom=true
 197 directfb.com.sun.javafx.gestures.rotate=true
 198 directfb.com.sun.javafx.gestures.scroll=true
 199 eglfb.com.sun.javafx.scene.control.skin.ListViewSkin.pannable=true
 200 eglfb.com.sun.javafx.scene.control.skin.TreeViewSkin.pannable=true
 201 eglfb.com.sun.javafx.scene.control.skin.TableViewSkin.pannable=true
 202 eglfb.maxTextureSize=2048
 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
 209 eglfb.prism.targetvram=112m
 210 eglfb.use.egl=true
 211 eglfb.doNativeComposite=true
 212 eglfb.use.gles2=true
 213 eglfb.embedded=eglfb
 214 eglfb.com.sun.javafx.isEmbedded=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("ARMV5SF_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 ARMV5SF.glass = [:]
 331 ARMV5SF.glass.variants = ["eglfb", "directfb", "fb", "gtk", "lensport", "monocle", "monocle_x11" ]
 332 ARMV5SF.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/linux/*",
 338     "com/sun/glass/ui/monocle/util/*",
 339     "com/sun/glass/ui/monocle/x11/*",
 340     "com/sun/glass/ui/gtk/*"]







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




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


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

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
















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


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

 337 
 338 ARMV5SF.glass = [:]

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