1 /* 2 * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved. 3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 * 5 * This code is free software; you can redistribute it and/or modify it 6 * under the terms of the GNU General Public License version 2 only, as 7 * published by the Free Software Foundation. Oracle designates this 8 * particular file as subject to the "Classpath" exception as provided 9 * by Oracle in the LICENSE file that accompanied this code. 10 * 11 * This code is distributed in the hope that it will be useful, but WITHOUT 12 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 13 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 14 * version 2 for more details (a copy is included in the LICENSE file that 15 * accompanied this code). 16 * 17 * You should have received a copy of the GNU General Public License version 18 * 2 along with this work; if not, write to the Free Software Foundation, 19 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 20 * 21 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 22 * or visit www.oracle.com if you need additional information or have any 23 * questions. 24 */ 25 26 ext.ARMV6SF = [:] 27 28 fetchExternalTools('ARMV6SF', [ "armv6-vfp-04.tgz" ], 29 rootProject.CROSS_TOOLS_DIR, rootProject.IS_IMPORT_CROSS_TOOLS) 30 31 // Define the location of the sdk and toolchain 32 def sdk=file("${rootProject.CROSS_TOOLS_DIR}/armv6-vfp-04") 33 34 def compilerHome=file("/opt/arm-linaro-4.7") 35 if (rootProject.hasProperty("ARMV6SF_COMPILER")) { 36 logger.quiet "Using alternate ARMV6SF_COMPILER $rootProject.ARMV6SF_COMPILER" 37 compilerHome=file(rootProject.ARMV6SF_COMPILER); 38 } 39 def compilerPrefix="arm-linux-gnueabi-" 40 if (rootProject.hasProperty("ARMV6SF_COMPILER_PREFIX")) { 41 logger.quiet "Using alternate ARMV6SF_COMPILER_PREFIX $rootProject.ARMV6SF_COMPILER_PREFIX" 42 compilerPrefix="${rootProject.ARMV6SF_COMPILER_PREFIX}" 43 } 44 def jniPlatform 45 if (IS_LINUX) { 46 jniPlatform="linux" 47 } else if (IS_MAC) { 48 jniPlatform="darwin" 49 } else { 50 println "ERROR: Cannot build on this platform" 51 return; 52 } 53 54 // Declare whether this particular target file applies to the current system 55 ARMV6SF.canBuild = (IS_LINUX || IS_MAC) && compilerHome.exists() && sdk.exists() 56 if (!ARMV6SF.canBuild) { 57 if (!compilerHome.exists()) println "ERROR: Mising compiler $compilerHome" 58 if (!sdk.exists()) println "ERROR: Mising sdk $sdk" 59 return; 60 } 61 62 // Lambda for naming the generated libs 63 ARMV6SF.library = { name -> return "lib${name}.so" as String } 64 65 // alias for this platform in legacy artifacts 66 ARMV6SF.artifactsName = "armv6-vfp" 67 68 ARMV6SF.compileSwing = false; 69 ARMV6SF.compileSWT = false; 70 ARMV6SF.compileFXPackager = false; 71 ARMV6SF.compileDesignTime = false; 72 73 // Libraries end up in the sdk/rt/lib/arm directory for arm builds 74 ARMV6SF.libDest = "lib/arm" 75 76 // TODO this is garbage. Each target file should define what it includes, 77 // not what it excludes. 78 ARMV6SF.jfxrtJarExcludes = [ 79 "**/*.hlsl", 80 "com/sun/glass/ui/win", 81 "com/sun/glass/ui/accessible/win", 82 "com/sun/prism/d3d", 83 "com/sun/prism/es2/gl/win", 84 //"com/sun/prism/null3d", 85 "com/sun/scenario/effect/impl/hw/d3d", 86 87 "com/sun/glass/events/mac", 88 "com/sun/glass/ui/mac", 89 "com/sun/glass/ui/accessible/mac", 90 "com/sun/prism/es2/gl/mac", 91 92 "com/sun/glass/ui/android", 93 94 "com/sun/glass/ui/ios", 95 96 "com/sun/glass/ui/swt", // SWT glass 97 98 "javafx/embed/swing", // Swing Interop 99 100 "javafx/embed/swt", // SWT Interop 101 102 "com/sun/prism/es2/MacGL*", 103 "com/sun/prism/es2/IOSGL*", 104 "com/sun/prism/es2/WinGL*", 105 ] 106 107 def commonFlags = [ 108 "-fno-strict-aliasing", "-fPIC", "-fno-omit-frame-pointer", // optimization flags 109 "-W", "-Wall", "-Wno-unused", "-Wno-parentheses", "-Werror=implicit-function-declaration"] // warning flags 110 // Specify the compilation parameters and link parameters 111 def ccFlags = [ 112 commonFlags, "-I$JDK_HOME/include", "-I$JDK_HOME/include/$jniPlatform", "-c", 113 IS_DEBUG_NATIVE ? ["-ggdb", "-DVERBOSE"] : "-O2"].flatten() 114 //ccFlags.addAll(["-Wnon-virtual-dtor", "-Woverloaded-virtual", "-std=c++0x"]) 115 def linkFlags = ["-shared", commonFlags].flatten() 116 117 // Specify the compilation parameters and link parameters 118 def extraCFlags = [ 119 "-I", "-L", 120 ccFlags, 121 "-march=armv6", "-mfloat-abi=softfp", "-mfpu=vfp", 122 "-I$sdk/usr/include", 123 "-D_GNU_SOURCE", "-DOMAP3"].flatten(); 124 125 //See if we should build for imx6 126 def imxHeader=file("$sdk/usr/include/linux/mxcfb.h") 127 if (imxHeader.exists()) { 128 extraCFlags = [extraCFlags,"-DIMX6_PLATFORM"].flatten(); 129 } 130 131 def extraLFlags = [ 132 "-I", "-L", 133 linkFlags, 134 "-Wl,-rpath-link", "$sdk/usr/lib", 135 "-L$sdk/usr/lib"].flatten() 136 137 def x11CFlags = [extraCFlags, "-DUSE_XSHM"].flatten() 138 def x11LFlags = [extraLFlags, "-lX11", "-lXext"].flatten() 139 def eglCFlags = [extraCFlags].flatten() 140 def eglLFlags = [extraLFlags].flatten() 141 def dfbCFlags = ["-I$sdk/usr/include/directfb"] 142 def dfbLFlags = ["-ldl"] 143 // TODO dfb.args=disable-module=ps2mouse,disable-module=keyboard 144 145 def lensLFlags = [extraLFlags, "-lpthread", "-ludev", "-ldl", "-lm"].flatten() 146 def monocleCFlags = [ 147 extraCFlags, 148 "-Werror", 149 "-I", file("modules/graphics/src/main/native-glass/monocle/")].flatten(); 150 def monocleLFlags = [extraLFlags, "-ldl", "-lm"].flatten() 151 def glassCFlags = ["-ffast-math"] 152 def glassLFlags = [] 153 154 def fontCFlags = [extraCFlags].flatten() 155 def fontLFlags = [extraLFlags].flatten() 156 157 def iioCFlags = [extraCFlags].flatten() 158 def iioLFlags = [extraLFlags].flatten() 159 160 def es2CFlags = [extraCFlags].flatten() 161 def es2LFlags = [extraLFlags, eglLFlags].flatten() 162 163 def es2EglfbCFlags = [extraCFlags, eglCFlags, "-DIS_EGLFB", "-DLINUX"].flatten() 164 def es2EglfbLFlags = [extraLFlags, eglLFlags].flatten() 165 def es2MonocleCFlags = [extraCFlags, eglCFlags, "-DIS_EGLFB", "-DLINUX"].flatten() 166 def es2MonocleFlags = [extraLFlags, eglLFlags].flatten() 167 168 def es2X11CFlags = [extraCFlags, eglCFlags, x11CFlags, "-DDEBUG", "-DIS_EGLX11", "-DLINUX"].flatten() 169 def es2X11LFlags = [extraLFlags, x11LFlags, eglLFlags, "-lXdmcp", "-lXau"].flatten() 170 171 def prismSWCFlags = [extraCFlags].flatten() 172 def prismSWLFlags = [extraLFlags].flatten() 173 174 def mediaCFlags = [extraCFlags, 175 "-I$sdk/usr/include/gstreamer-0.10", 176 "-I$sdk/usr/include/glib-2.0", 177 "-I$sdk/usr/lib/glib-2.0/include", 178 "-DENABLE_NATIVE_SOURCE=1", "-DENABLE_GST_FFMPEG=1"].flatten() 179 def mediaLFlags = [extraLFlags, "-lgstreamer-0.10", "-lgstapp-0.10", 180 "-lgstbase-0.10", "-lglib-2.0", "-lgobject-2.0", "-lgmodule-2.0", "-lgthread-2.0"].flatten() 181 182 def webCFlags = [extraCFlags].flatten() 183 def webLFlags = [extraLFlags].flatten() 184 185 // libraries to remove from the sdk 186 //deploy.trim.public.library.filter= \ 187 // fxavcodecplugin-52.so \ 188 // fxavcodecplugin-53.so \ 189 // fxplugins.so \ 190 // libjfxwebkit.so \ 191 // libgstplugins-lite.so \ 192 // libgstreamer-lite.so \ 193 // libprism-es2-eglx11.so \ 194 // libglass-lens-fb.so \ 195 196 //defineProperty("CC", "gcc"); 197 //defineProperty("PRISM_CC", "cc"); 198 //defineProperty("PRISM_SW_CC", "cc"); 199 200 def gtkCFlags = [extraCFlags].flatten() 201 def gtkLFlags = [extraLFlags].flatten() 202 setupTools("armv6sf_tools", 203 { propFile -> 204 ByteArrayOutputStream results = new ByteArrayOutputStream(); 205 exec { 206 commandLine("$sdk/bin/pkg-config", "--cflags", "gtk+-2.0", "gthread-2.0", "xtst"); 207 setStandardOutput(results); 208 } 209 propFile << "cflags=" << results.toString().trim() << "\n"; 210 211 results = new ByteArrayOutputStream(); 212 exec { 213 commandLine "$sdk/bin/pkg-config", "--libs", "gtk+-2.0", "gthread-2.0", "xtst" 214 standardOutput = results 215 } 216 propFile << "libs=" << results.toString().trim(); 217 }, 218 { properties -> 219 gtkCFlags.addAll(properties.getProperty("cflags").split(" ")) 220 gtkLFlags.addAll(properties.getProperty("libs").split(" ")) 221 } 222 ) 223 224 ARMV6SF.javafxPlatformProperties = """javafx.platform=eglfb 225 directfb.com.sun.javafx.scene.control.skin.ListViewSkin.pannable=true 226 directfb.com.sun.javafx.scene.control.skin.TreeViewSkin.pannable=true 227 directfb.com.sun.javafx.scene.control.skin.TableViewSkin.pannable=true 228 directfb.glass.platform=Lens 229 directfb.glass.lens=dfb 230 directfb.prism.order=sw 231 directfb.com.sun.javafx.isEmbedded=true 232 directfb.com.sun.javafx.scene.control.skin.FXVK.cache=true 233 eglfb.com.sun.javafx.scene.control.skin.ListViewSkin.pannable=true 234 eglfb.com.sun.javafx.scene.control.skin.TreeViewSkin.pannable=true 235 eglfb.com.sun.javafx.scene.control.skin.TableViewSkin.pannable=true 236 eglfb.maxTextureSize=2048 237 eglfb.glass.platform=Lens 238 eglfb.glass.lens=eglfb 239 eglfb.prism.order=es2 240 eglfb.prism.eglfb=true 241 eglfb.prism.lcdtext=false 242 eglfb.prism.maxvram=128m 243 eglfb.prism.targetvram=112m 244 eglfb.use.egl=true 245 eglfb.doNativeComposite=true 246 eglfb.use.gles2=true 247 eglfb.embedded=eglfb 248 eglfb.com.sun.javafx.isEmbedded=true 249 eglfb.com.sun.javafx.scene.control.skin.FXVK.cache=true 250 eglfb.prism.glDepthSize=0 251 fb.com.sun.javafx.scene.control.skin.ListViewSkin.pannable=true 252 fb.com.sun.javafx.scene.control.skin.TreeViewSkin.pannable=true 253 fb.com.sun.javafx.scene.control.skin.TableViewSkin.pannable=true 254 fb.glass.platform=Lens 255 fb.glass.lens=fb 256 fb.prism.order=sw 257 fb.com.sun.javafx.isEmbedded=true 258 fb.glass.restrictWindowToScreen=true 259 fb.com.sun.javafx.scene.control.skin.FXVK.cache=true 260 monocle.glass.platform=Monocle 261 monocle.prism.order=es2,sw 262 monocle.prism.eglfb=true 263 monocle.prism.lcdtext=false 264 monocle.prism.maxvram=128m 265 monocle.prism.targetvram=112m 266 monocle.use.egl=true 267 monocle.use.gles2=true 268 monocle.embedded=eglfb 269 monocle.com.sun.javafx.isEmbedded=true 270 monocle.doNativeComposite=true 271 monocle.com.sun.javafx.scene.control.skin.FXVK.cache=true 272 monocle.prism.glDepthSize=0 273 eglx11.com.sun.javafx.scene.control.skin.ListViewSkin.pannable=true 274 eglx11.com.sun.javafx.scene.control.skin.TreeViewSkin.pannable=true 275 eglx11.com.sun.javafx.scene.control.skin.TableViewSkin.pannable=true 276 eglx11.glass.platform=Lens 277 eglx11.glass.lens=eglx11 278 eglx11.prism.order=es2 279 eglx11.prism.eglx11=true 280 eglx11.prism.lcdtext=false 281 eglx11.prism.maxvram=128m 282 eglx11.prism.targetvram=112m 283 eglx11.use.egl=true 284 eglx11.use.gles2=true 285 eglx11.embedded=eglx11 286 eglx11.com.sun.javafx.isEmbedded=true 287 eglx11.com.sun.javafx.scene.control.skin.FXVK.cache=true 288 eglx11.prism.glDepthSize=0 289 gtk.com.sun.javafx.scene.control.skin.ListViewSkin.pannable=true 290 gtk.com.sun.javafx.scene.control.skin.TreeViewSkin.pannable=true 291 gtk.com.sun.javafx.scene.control.skin.TableViewSkin.pannable=true 292 gtk.glass.platform=gtk 293 gtk.prism.order=sw 294 gtk.com.sun.javafx.isEmbedded=true 295 gtk.com.sun.javafx.scene.control.skin.FXVK.cache=true""" 296 297 def pangoCCFlags = [extraCFlags, "-D_ENABLE_PANGO"]; 298 def pangoLinkFlags = [extraLFlags]; 299 setupTools("armv6sf_pango_tools", 300 { propFile -> 301 ByteArrayOutputStream results = new ByteArrayOutputStream(); 302 exec { 303 commandLine "$sdk/bin/pkg-config", "--cflags", "pangoft2" 304 standardOutput = results 305 } 306 propFile << "cflags=" << results.toString().trim() << "\n"; 307 308 results = new ByteArrayOutputStream(); 309 exec { 310 commandLine "$sdk/bin/pkg-config", "--libs", "pangoft2" 311 standardOutput = results 312 } 313 propFile << "libs=" << results.toString().trim(); 314 }, 315 { properties -> 316 pangoCCFlags.addAll(properties.getProperty("cflags").split(" ")) 317 pangoLinkFlags.addAll(properties.getProperty("libs").split(" ")) 318 } 319 ) 320 321 def freetypeCCFlags = [ext.COMPILE_PANGO ? "-D_ENABLE_PANGO" : 322 ext.COMPILE_HARFBUZZ ? "-D_ENABLE_HARFBUZZ" : ""] 323 def freetypeLinkFlags = [] 324 setupTools("armv6sf_freetype_tools", 325 { propFile -> 326 ByteArrayOutputStream results = new ByteArrayOutputStream(); 327 exec { 328 commandLine "$sdk/bin/pkg-config", "--cflags", "freetype2" 329 standardOutput = results 330 } 331 propFile << "cflags=" << results.toString().trim() << "\n"; 332 333 results = new ByteArrayOutputStream(); 334 exec { 335 commandLine "$sdk/bin/pkg-config", "--libs", "freetype2" 336 standardOutput = results 337 } 338 propFile << "libs=" << results.toString().trim(); 339 }, 340 { properties -> 341 freetypeCCFlags.addAll(properties.getProperty("cflags").split(" ")) 342 freetypeLinkFlags.addAll(properties.getProperty("libs").split(" ")) 343 } 344 ) 345 346 def compiler = file("$compilerHome/bin/${compilerPrefix}gcc").getAbsolutePath() 347 def linker = file("$compilerHome/bin/${compilerPrefix}g++").getAbsolutePath() 348 349 ARMV6SF.glass = [:] 350 ARMV6SF.glass.variants = ["eglfb", "directfb", "fb", "gtk", "lensport", "monocle", "monocle_x11" ] 351 ARMV6SF.glass.javahInclude = [ 352 "com/sun/glass/events/**", 353 "com/sun/glass/ui/*", 354 "com/sun/glass/ui/lens/*", 355 "com/sun/glass/ui/monocle/*", 356 "com/sun/glass/ui/monocle/linux/*", 357 "com/sun/glass/ui/monocle/util/*", 358 "com/sun/glass/ui/monocle/x11/*", 359 "com/sun/glass/ui/gtk/*", 360 "com/sun/glass/ui/accessible/gtk/*"] 361 ARMV6SF.glass.lib = "glass" 362 363 ARMV6SF.glass.lensport = [:] 364 ARMV6SF.glass.lensport.nativeSource = [ 365 file("modules/graphics/src/main/native-glass/lens/lensport") ] 366 ARMV6SF.glass.lensport.compiler = compiler 367 ARMV6SF.glass.lensport.ccFlags = ["-ffast-math", extraCFlags, "-DLINUX", "-DISEGLFB", 368 "-DLENSPORT", "-I", file("modules/graphics/src/main/native-glass/lens/")].flatten() 369 ARMV6SF.glass.lensport.linker = linker 370 ARMV6SF.glass.lensport.linkFlags = [lensLFlags].flatten() 371 ARMV6SF.glass.lensport.lib = "lens_porting" 372 373 ARMV6SF.glass.monocle = [:] 374 ARMV6SF.glass.monocle.nativeSource = [ 375 file("modules/graphics/src/main/native-glass/monocle"), 376 file("modules/graphics/src/main/native-glass/monocle/linux"), 377 file("modules/graphics/src/main/native-glass/monocle/util") ] 378 ARMV6SF.glass.monocle.compiler = compiler 379 ARMV6SF.glass.monocle.ccFlags = monocleCFlags 380 ARMV6SF.glass.monocle.linker = linker 381 ARMV6SF.glass.monocle.linkFlags = monocleLFlags 382 ARMV6SF.glass.monocle.lib = "glass_monocle" 383 384 ARMV6SF.glass.monocle_x11 = [:] 385 ARMV6SF.glass.monocle_x11.nativeSource = [ 386 file("modules/graphics/src/main/native-glass/monocle/util"), 387 file("modules/graphics/src/main/native-glass/monocle/x11") ] 388 ARMV6SF.glass.monocle_x11.compiler = compiler 389 ARMV6SF.glass.monocle_x11.ccFlags = monocleCFlags 390 ARMV6SF.glass.monocle_x11.linker = linker 391 ARMV6SF.glass.monocle_x11.linkFlags = [ monocleLFlags, "-lX11" ].flatten() 392 ARMV6SF.glass.monocle_x11.lib = "glass_monocle_x11" 393 394 ARMV6SF.glass.eglfb = [:] 395 // TODO when building headless, use lens/cursor/nullcursor/ 396 // otherwise we use lens/cursor/fbCursor/ and lens/input/udev 397 398 // TODO when USE_RFB is specified use lens/rfb 399 400 // TODO use /eglfb/x11ContainerScreen when using eglfb and EGL_X11_FB_CONTAINER 401 // TODO use /headless/headlessScreen when using headless 402 ARMV6SF.glass.eglfb.nativeSource = [ 403 file("modules/graphics/src/main/native-glass/lens"), 404 file("modules/graphics/src/main/native-glass/lens/wm"), 405 file("modules/graphics/src/main/native-glass/lens/cursor/fbCursor"), 406 file("modules/graphics/src/main/native-glass/lens/input/udev"), 407 file("modules/graphics/src/main/native-glass/lens/wm/screen/fbdevScreen.c")] 408 ARMV6SF.glass.eglfb.compiler = compiler 409 ARMV6SF.glass.eglfb.ccFlags = ["-ffast-math", extraCFlags, "-DLINUX", "-DISEGLFB"].flatten() 410 ARMV6SF.glass.eglfb.linker = linker 411 ARMV6SF.glass.eglfb.linkFlags = [lensLFlags].flatten() 412 ARMV6SF.glass.eglfb.lib = "glass_lens_eglfb" 413 414 ARMV6SF.glass.directfb = [:] 415 ARMV6SF.glass.directfb.nativeSource = [ 416 file("modules/graphics/src/main/native-glass/lens"), 417 file("modules/graphics/src/main/native-glass/lens/wm"), 418 file("modules/graphics/src/main/native-glass/lens/cursor/fbCursor"), 419 file("modules/graphics/src/main/native-glass/lens/input/udev"), 420 file("modules/graphics/src/main/native-glass/lens/wm/screen/dfbScreen.c")] 421 ARMV6SF.glass.directfb.compiler = compiler 422 ARMV6SF.glass.directfb.ccFlags = ["-ffast-math", extraCFlags, "-I$sdk/usr/include/directfb", "-DLINUX"].flatten() 423 ARMV6SF.glass.directfb.linker = linker 424 ARMV6SF.glass.directfb.linkFlags = [lensLFlags].flatten() 425 ARMV6SF.glass.directfb.lib = "glass_lens_dfb" 426 427 ARMV6SF.glass.fb = [:] 428 ARMV6SF.glass.fb.nativeSource = [ 429 file("modules/graphics/src/main/native-glass/lens"), 430 file("modules/graphics/src/main/native-glass/lens/wm"), 431 file("modules/graphics/src/main/native-glass/lens/cursor/fbCursor"), 432 file("modules/graphics/src/main/native-glass/lens/input/udev"), 433 file("modules/graphics/src/main/native-glass/lens/wm/screen/fbdevScreen.c") ] 434 ARMV6SF.glass.fb.compiler = compiler 435 ARMV6SF.glass.fb.ccFlags = ["-ffast-math", extraCFlags, "-DLINUX"].flatten() 436 ARMV6SF.glass.fb.linker = linker 437 ARMV6SF.glass.fb.linkFlags = [lensLFlags].flatten() 438 ARMV6SF.glass.fb.lib = "glass_lens_fb" 439 440 ARMV6SF.glass.eglx11 = [:] 441 ARMV6SF.glass.eglx11.nativeSource = [ 442 file("modules/graphics/src/main/native-glass/lens"), 443 file("modules/graphics/src/main/native-glass/lens/wm"), 444 file("modules/graphics/src/main/native-glass/lens/cursor/fbCursor"), 445 file("modules/graphics/src/main/native-glass/lens/input/udev"), 446 file("modules/graphics/src/main/native-glass/lens/wm/screen/x11ContainerScreen.c")] 447 ARMV6SF.glass.eglx11.compiler = compiler 448 ARMV6SF.glass.eglx11.ccFlags = ["-ffast-math", extraCFlags].flatten() 449 ARMV6SF.glass.eglx11.ccFlags = ["-ffast-math", extraCFlags, "-DLINUX"].flatten() 450 ARMV6SF.glass.eglx11.linker = linker 451 ARMV6SF.glass.eglx11.linkFlags = [lensLFlags].flatten() 452 ARMV6SF.glass.eglx11.lib = "glass_lens_eglx11" 453 454 ARMV6SF.glass.gtk = [:] 455 ARMV6SF.glass.gtk.nativeSource = file("modules/graphics/src/main/native-glass/gtk") 456 ARMV6SF.glass.gtk.compiler = compiler 457 ARMV6SF.glass.gtk.ccFlags = ["-ffast-math", gtkCFlags, "-DLINUX"].flatten() 458 ARMV6SF.glass.gtk.linker = linker 459 ARMV6SF.glass.gtk.linkFlags = [gtkLFlags, "-lstdc++"].flatten() 460 ARMV6SF.glass.gtk.lib = "glass" 461 462 ARMV6SF.decora = [:] 463 ARMV6SF.decora.compiler = compiler 464 ARMV6SF.decora.ccFlags = extraCFlags 465 ARMV6SF.decora.linker = linker 466 ARMV6SF.decora.linkFlags = extraLFlags 467 ARMV6SF.decora.lib = "decora_sse" 468 469 ARMV6SF.prism = [:] 470 ARMV6SF.prism.javahInclude = ["com/sun/prism/impl/**/*", "com/sun/prism/PresentableState*"] 471 ARMV6SF.prism.nativeSource = file("modules/graphics/src/main/native-prism") 472 ARMV6SF.prism.compiler = compiler 473 ARMV6SF.prism.ccFlags = es2CFlags 474 ARMV6SF.prism.linker = linker 475 ARMV6SF.prism.linkFlags = es2LFlags 476 ARMV6SF.prism.lib = "prism_common" 477 478 ARMV6SF.prismSW = [:] 479 ARMV6SF.prismSW.javahInclude = ["com/sun/pisces/**/*"] 480 ARMV6SF.prismSW.nativeSource = file("modules/graphics/src/main/native-prism-sw") 481 ARMV6SF.prismSW.compiler = compiler 482 ARMV6SF.prismSW.ccFlags = prismSWCFlags 483 ARMV6SF.prismSW.linker = linker 484 ARMV6SF.prismSW.linkFlags = prismSWLFlags 485 ARMV6SF.prismSW.lib = "prism_sw" 486 487 ARMV6SF.iio = [:] 488 ARMV6SF.iio.javahInclude = ["com/sun/javafx/iio/**/*"] 489 ARMV6SF.iio.nativeSource = [ 490 file("modules/graphics/src/main/native-iio"), 491 file("modules/graphics/src/main/native-iio/libjpeg7")] 492 ARMV6SF.iio.compiler = compiler 493 ARMV6SF.iio.ccFlags = iioCFlags 494 ARMV6SF.iio.linker = linker 495 ARMV6SF.iio.linkFlags = iioLFlags 496 ARMV6SF.iio.lib = "javafx_iio" 497 498 ARMV6SF.prismES2 = [:] 499 ARMV6SF.prismES2.variants = ["eglfb", "monocle"] 500 ARMV6SF.prismES2.javahInclude = ["com/sun/prism/es2/**/*"] 501 502 ARMV6SF.prismES2.eglfb = [:] 503 ARMV6SF.prismES2.eglfb.nativeSource = [ 504 file("modules/graphics/src/main/native-prism-es2"), 505 file("modules/graphics/src/main/native-prism-es2/GL"), 506 file("modules/graphics/src/main/native-prism-es2/eglfb") 507 ] 508 ARMV6SF.prismES2.eglfb.compiler = compiler 509 ARMV6SF.prismES2.eglfb.ccFlags = [ es2EglfbCFlags, "-I", ARMV6SF.glass.lensport.nativeSource ].flatten() 510 ARMV6SF.prismES2.eglfb.linker = linker 511 ARMV6SF.prismES2.eglfb.linkFlags = es2EglfbLFlags 512 ARMV6SF.prismES2.eglfb.lib = "prism_es2_eglfb" 513 514 ARMV6SF.prismES2.monocle= [:] 515 ARMV6SF.prismES2.monocle.nativeSource = [ 516 file("modules/graphics/src/main/native-prism-es2"), 517 file("modules/graphics/src/main/native-prism-es2/GL"), 518 file("modules/graphics/src/main/native-prism-es2/monocle") 519 ] 520 ARMV6SF.prismES2.monocle.compiler = compiler 521 ARMV6SF.prismES2.monocle.ccFlags = [ es2EglfbCFlags, "-I", ARMV6SF.glass.lensport.nativeSource ].flatten() 522 ARMV6SF.prismES2.monocle.linker = linker 523 ARMV6SF.prismES2.monocle.linkFlags = es2EglfbLFlags 524 ARMV6SF.prismES2.monocle.lib = "prism_es2_monocle" 525 526 ARMV6SF.prismES2.eglx11 = [:] 527 ARMV6SF.prismES2.eglx11.nativeSource = [ 528 file("modules/graphics/src/main/native-prism-es2"), 529 file("modules/graphics/src/main/native-prism-es2/GL"), 530 file("modules/graphics/src/main/native-prism-es2/eglx11") 531 ] 532 ARMV6SF.prismES2.eglx11.compiler = compiler 533 ARMV6SF.prismES2.eglx11.ccFlags = es2X11CFlags 534 ARMV6SF.prismES2.eglx11.linker = linker 535 ARMV6SF.prismES2.eglx11.linkFlags = es2X11LFlags 536 ARMV6SF.prismES2.eglx11.lib = "prism_es2_eglx11" 537 538 def closedDir = file("$projectDir/../rt-closed") 539 ARMV6SF.font = [:] 540 ARMV6SF.font.javahInclude = [ 541 "com/sun/javafx/font/**/*", 542 "com/sun/javafx/text/**/*"] 543 ARMV6SF.font.nativeSource = [file("modules/graphics/src/main/native-font")] 544 ARMV6SF.font.compiler = compiler 545 ARMV6SF.font.ccFlags = fontCFlags 546 ARMV6SF.font.linker = linker 547 ARMV6SF.font.linkFlags = fontLFlags 548 ARMV6SF.font.lib = "javafx_font" 549 550 ARMV6SF.fontT2K = [:] 551 ARMV6SF.fontT2K.javahInclude = ["com/sun/javafx/font/t2k/**/*"] 552 ARMV6SF.fontT2K.nativeSource = [ 553 file("$closedDir/javafx-font-t2k-native/src"), 554 file("$closedDir/javafx-font-t2k-native/src/layout")] 555 ARMV6SF.fontT2K.compiler = compiler 556 ARMV6SF.fontT2K.ccFlags = [fontCFlags, "-DLE_STANDALONE"].flatten() 557 ARMV6SF.fontT2K.linker = linker 558 ARMV6SF.fontT2K.linkFlags = fontLFlags 559 ARMV6SF.fontT2K.lib = "javafx_font_t2k" 560 561 ARMV6SF.fontFreetype = [:] 562 ARMV6SF.fontFreetype.javahInclude = ["com/sun/javafx/font/freetype/OSFreetype.class"] 563 ARMV6SF.fontFreetype.nativeSource = ["src/main/native-font/freetype.c"] 564 ARMV6SF.fontFreetype.compiler = compiler 565 ARMV6SF.fontFreetype.ccFlags = ["-DJFXFONT_PLUS", ccFlags, fontCFlags, freetypeCCFlags].flatten() 566 ARMV6SF.fontFreetype.linker = linker 567 ARMV6SF.fontFreetype.linkFlags = [linkFlags, fontLFlags, freetypeLinkFlags].flatten() 568 ARMV6SF.fontFreetype.lib = "javafx_font_freetype" 569 570 ARMV6SF.fontPango = [:] 571 ARMV6SF.fontPango.javahInclude = ["com/sun/javafx/font/freetype/OSPango.class"] 572 ARMV6SF.fontPango.nativeSource = ["src/main/native-font/pango.c"] 573 ARMV6SF.fontPango.compiler = compiler 574 ARMV6SF.fontPango.ccFlags = ["-DJFXFONT_PLUS", ccFlags, pangoCCFlags].flatten() 575 ARMV6SF.fontPango.linker = linker 576 ARMV6SF.fontPango.linkFlags = [linkFlags, pangoLinkFlags].flatten() 577 ARMV6SF.fontPango.lib = "javafx_font_pango" 578 579 ARMV6SF.webkit = [:] 580 ARMV6SF.webkit.binDir = "$compilerHome/bin" 581 ARMV6SF.webkit.compiler = compiler 582 ARMV6SF.webkit.linker = linker 583 ARMV6SF.webkit.ar = file("$compilerHome/bin/${compilerPrefix}ar").getAbsolutePath() 584 ARMV6SF.webkit.objcopy = file("$compilerHome/bin/${compilerPrefix}objcopy").getAbsolutePath() 585 ARMV6SF.webkit.strip = file("$compilerHome/bin/${compilerPrefix}strip").getAbsolutePath() 586 ARMV6SF.webkit.ccFlags = extraCFlags.join(' ') 587 ARMV6SF.webkit.linkFlags = extraLFlags.join(' ') 588 589 ARMV6SF.media = [:] 590 ARMV6SF.media.compiler = compiler 591 ARMV6SF.media.linker = linker 592 ARMV6SF.media.extra_cflags = mediaCFlags.join(' ') 593 ARMV6SF.media.extra_ldflags = mediaLFlags.join(' ')