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 40 // Declare whether this particular target file applies to the current system 41 ARMV6SF.canBuild = IS_LINUX && compilerHome.exists() && sdk.exists() 42 if (!ARMV6SF.canBuild) { 43 if (!compilerHome.exists()) println "ERROR: Mising compiler $compilerHome" 44 if (!sdk.exists()) println "ERROR: Mising sdk $sdk" 45 return; 46 } 47 48 // Lambda for naming the generated libs 49 ARMV6SF.library = { name -> return "lib${name}.so" as String } 50 51 // alias for this platform in legacy artifacts 52 ARMV6SF.artifactsName = "armv6-vfp" 53 54 ARMV6SF.compileSwing = false; 55 ARMV6SF.compileSWT = false; 56 ARMV6SF.compileFXPackager = false; 57 ARMV6SF.compileDesignTime = false; 58 59 // Libraries end up in the sdk/rt/lib/arm directory for arm builds 60 ARMV6SF.libDest = "lib/arm" 61 62 // TODO this is garbage. Each target file should define what it includes, 63 // not what it excludes. 64 ARMV6SF.jfxrtJarExcludes = [ 65 "**/*.hlsl", 66 "com/sun/glass/ui/win", 67 "com/sun/glass/ui/accessible/win", 68 "com/sun/prism/d3d", 69 "com/sun/prism/es2/gl/win", 70 //"com/sun/prism/null3d", 71 "com/sun/scenario/effect/impl/hw/d3d", 72 73 "com/sun/glass/events/mac", 74 "com/sun/glass/ui/mac", 75 "com/sun/glass/ui/accessible/mac", 76 "com/sun/prism/es2/gl/mac", 77 78 "com/sun/glass/ui/android", 79 80 "com/sun/glass/ui/ios", 81 82 "com/sun/glass/ui/swt", // SWT glass 83 84 "javafx/embed/swing", // Swing Interop 85 86 "javafx/embed/swt", // SWT Interop 87 88 "com/sun/prism/es2/MacGL*", 89 "com/sun/prism/es2/IOSGL*", 90 "com/sun/prism/es2/WinGL*", 91 ] 92 93 def commonFlags = [ 94 "-fno-strict-aliasing", "-fPIC", "-fno-omit-frame-pointer", // optimization flags 95 "-W", "-Wall", "-Wno-unused", "-Wno-parentheses", "-Werror=implicit-function-declaration"] // warning flags 96 // Specify the compilation parameters and link parameters 97 def ccFlags = [ 98 commonFlags, "-I$JDK_HOME/include", "-I$JDK_HOME/include/linux", "-c", 99 IS_DEBUG_NATIVE ? ["-ggdb", "-DVERBOSE"] : "-O2"].flatten() 100 //ccFlags.addAll(["-Wnon-virtual-dtor", "-Woverloaded-virtual", "-std=c++0x"]) 101 def linkFlags = ["-shared", commonFlags].flatten() 102 103 // Specify the compilation parameters and link parameters 104 def extraCFlags = [ 105 "-I", "-L", 106 ccFlags, 107 "-march=armv6", "-mfloat-abi=softfp", "-mfpu=vfp", 108 "-I$sdk/usr/include", 109 "-D_GNU_SOURCE", "-DOMAP3"].flatten(); 110 111 //See if we should build for imx6 112 def imxHeader=file("$sdk/usr/include/linux/mxcfb.h") 113 if (imxHeader.exists()) { 114 extraCFlags = [extraCFlags,"-DIMX6_PLATFORM"].flatten(); 115 } 116 117 def extraLFlags = [ 118 "-I", "-L", 119 linkFlags, 120 "-Wl,-rpath-link", "$sdk/usr/lib", 121 "-L$sdk/usr/lib"].flatten() 122 123 def x11CFlags = [extraCFlags, "-DUSE_XSHM"].flatten() 124 def x11LFlags = [extraLFlags, "-lX11", "-lXext"].flatten() 125 def eglCFlags = [extraCFlags].flatten() 126 def eglLFlags = [extraLFlags].flatten() 127 def dfbCFlags = ["-I$sdk/usr/include/directfb"] 128 def dfbLFlags = ["-ldl"] 129 // TODO dfb.args=disable-module=ps2mouse,disable-module=keyboard 130 131 def lensLFlags = [extraLFlags, "-lpthread", "-ludev", "-ldl", "-lm"].flatten() 132 def glassCFlags = ["-ffast-math"] 133 def glassLFlags = [] 134 135 def fontCFlags = [extraCFlags].flatten() 136 def fontLFlags = [extraLFlags].flatten() 137 138 def iioCFlags = [extraCFlags].flatten() 139 def iioLFlags = [extraLFlags].flatten() 140 141 def es2CFlags = [extraCFlags].flatten() 142 def es2LFlags = [extraLFlags, x11LFlags, eglLFlags].flatten() 143 144 def es2EglfbCFlags = [extraCFlags, eglCFlags, "-DIS_EGLFB", "-DLINUX"].flatten() 145 def es2EglfbLFlags = [extraLFlags, eglLFlags].flatten() 146 147 def es2X11CFlags = [extraCFlags, eglCFlags, x11CFlags, "-DDEBUG", "-DIS_EGLX11", "-DLINUX"].flatten() 148 def es2X11LFlags = [extraLFlags, x11LFlags, eglLFlags, "-lXdmcp", "-lXau"].flatten() 149 150 def prismSWCFlags = [extraCFlags].flatten() 151 def prismSWLFlags = [extraLFlags].flatten() 152 153 def mediaCFlags = [extraCFlags, 154 "-I$sdk/usr/include/gstreamer-0.10", 155 "-I$sdk/usr/include/glib-2.0", 156 "-I$sdk/usr/lib/glib-2.0/include", 157 "-DENABLE_NATIVE_SOURCE=1", "-DENABLE_GST_FFMPEG=1"].flatten() 158 def mediaLFlags = [extraLFlags, "-lgstreamer-0.10", "-lgstapp-0.10", 159 "-lgstbase-0.10", "-lglib-2.0", "-lgobject-2.0", "-lgmodule-2.0", "-lgthread-2.0"].flatten() 160 161 def webCFlags = [extraCFlags].flatten() 162 def webLFlags = [extraLFlags].flatten() 163 164 // libraries to remove from the sdk 165 //deploy.trim.public.library.filter= \ 166 // fxavcodecplugin-52.so \ 167 // fxavcodecplugin-53.so \ 168 // fxplugins.so \ 169 // libjfxwebkit.so \ 170 // libgstplugins-lite.so \ 171 // libgstreamer-lite.so \ 172 // libprism-es2-eglx11.so \ 173 // libglass-lens-fb.so \ 174 175 //defineProperty("CC", "gcc"); 176 //defineProperty("PRISM_CC", "cc"); 177 //defineProperty("PRISM_SW_CC", "cc"); 178 179 def gtkCFlags = [extraCFlags].flatten() 180 def gtkLFlags = [extraLFlags].flatten() 181 setupTools("armv6sf_tools", 182 { propFile -> 183 ByteArrayOutputStream results = new ByteArrayOutputStream(); 184 exec { 185 commandLine("$sdk/bin/pkg-config", "--cflags", "gtk+-2.0", "gthread-2.0", "xtst"); 186 setStandardOutput(results); 187 } 188 propFile << "cflags=" << results.toString().trim() << "\n"; 189 190 results = new ByteArrayOutputStream(); 191 exec { 192 commandLine "$sdk/bin/pkg-config", "--libs", "gtk+-2.0", "gthread-2.0", "xtst" 193 standardOutput = results 194 } 195 propFile << "libs=" << results.toString().trim(); 196 }, 197 { properties -> 198 gtkCFlags.addAll(properties.getProperty("cflags").split(" ")) 199 gtkLFlags.addAll(properties.getProperty("libs").split(" ")) 200 } 201 ) 202 203 ARMV6SF.javafxPlatformProperties = """javafx.platform=eglfb 204 directfb.glass.platform=Lens 205 directfb.glass.lens=dfb 206 directfb.prism.order=sw 207 directfb.com.sun.javafx.isEmbedded=true 208 directfb.com.sun.javafx.scene.control.skin.FXVK.cache=true 209 eglfb.maxTextureSize=2048 210 eglfb.glass.platform=Lens 211 eglfb.glass.lens=eglfb 212 eglfb.prism.order=es2 213 eglfb.prism.eglfb=true 214 eglfb.prism.lcdtext=false 215 eglfb.prism.maxvram=128m 216 eglfb.prism.targetvram=112m 217 eglfb.use.egl=true 218 eglfb.doNativeComposite=true 219 eglfb.use.gles2=true 220 eglfb.embedded=eglfb 221 eglfb.com.sun.javafx.isEmbedded=true 222 eglfb.com.sun.javafx.scene.control.skin.FXVK.cache=true 223 eglfb.prism.glDepthSize=0 224 fb.glass.platform=Lens 225 fb.glass.lens=fb 226 fb.prism.order=sw 227 fb.com.sun.javafx.isEmbedded=true 228 fb.glass.restrictWindowToScreen=true 229 fb.com.sun.javafx.scene.control.skin.FXVK.cache=true 230 eglx11.glass.platform=Lens 231 eglx11.glass.lens=eglx11 232 eglx11.prism.order=es2 233 eglx11.prism.eglx11=true 234 eglx11.prism.lcdtext=false 235 eglx11.prism.maxvram=128m 236 eglx11.prism.targetvram=112m 237 eglx11.use.egl=true 238 eglx11.use.gles2=true 239 eglx11.embedded=eglx11 240 eglx11.com.sun.javafx.isEmbedded=true 241 eglx11.com.sun.javafx.scene.control.skin.FXVK.cache=true 242 eglx11.prism.glDepthSize=0 243 gtk.glass.platform=gtk 244 gtk.prism.order=sw 245 gtk.com.sun.javafx.isEmbedded=true 246 gtk.com.sun.javafx.scene.control.skin.FXVK.cache=true""" 247 248 def pangoCCFlags = [extraCFlags, "-D_ENABLE_PANGO"]; 249 def pangoLinkFlags = [extraLFlags]; 250 setupTools("armv6sf_pango_tools", 251 { propFile -> 252 ByteArrayOutputStream results = new ByteArrayOutputStream(); 253 exec { 254 commandLine "$sdk/bin/pkg-config", "--cflags", "pangoft2" 255 standardOutput = results 256 } 257 propFile << "cflags=" << results.toString().trim() << "\n"; 258 259 results = new ByteArrayOutputStream(); 260 exec { 261 commandLine "$sdk/bin/pkg-config", "--libs", "pangoft2" 262 standardOutput = results 263 } 264 propFile << "libs=" << results.toString().trim(); 265 }, 266 { properties -> 267 pangoCCFlags.addAll(properties.getProperty("cflags").split(" ")) 268 pangoLinkFlags.addAll(properties.getProperty("libs").split(" ")) 269 } 270 ) 271 272 def freetypeCCFlags = [ext.COMPILE_PANGO ? "-D_ENABLE_PANGO" : 273 ext.COMPILE_HARFBUZZ ? "-D_ENABLE_HARFBUZZ" : ""] 274 def freetypeLinkFlags = [] 275 setupTools("armv6sf_freetype_tools", 276 { propFile -> 277 ByteArrayOutputStream results = new ByteArrayOutputStream(); 278 exec { 279 commandLine "$sdk/bin/pkg-config", "--cflags", "freetype2" 280 standardOutput = results 281 } 282 propFile << "cflags=" << results.toString().trim() << "\n"; 283 284 results = new ByteArrayOutputStream(); 285 exec { 286 commandLine "$sdk/bin/pkg-config", "--libs", "freetype2" 287 standardOutput = results 288 } 289 propFile << "libs=" << results.toString().trim(); 290 }, 291 { properties -> 292 freetypeCCFlags.addAll(properties.getProperty("cflags").split(" ")) 293 freetypeLinkFlags.addAll(properties.getProperty("libs").split(" ")) 294 } 295 ) 296 297 def compiler = file("$compilerHome/bin/arm-linux-gnueabi-gcc").getAbsolutePath() 298 def linker = file("$compilerHome/bin/arm-linux-gnueabi-g++").getAbsolutePath() 299 300 ARMV6SF.glass = [:] 301 ARMV6SF.glass.variants = ["eglfb", "directfb", "fb", "gtk", "lensport" ] 302 ARMV6SF.glass.javahInclude = [ 303 "com/sun/glass/events/**", 304 "com/sun/glass/ui/*", 305 "com/sun/glass/ui/lens/*", 306 "com/sun/glass/ui/gtk/*", 307 "com/sun/glass/ui/accessible/gtk/*"] 308 ARMV6SF.glass.lib = "glass" 309 310 ARMV6SF.glass.lensport = [:] 311 ARMV6SF.glass.lensport.nativeSource = [ 312 file("modules/graphics/src/main/native-glass/lens/lensport") ] 313 ARMV6SF.glass.lensport.compiler = compiler 314 ARMV6SF.glass.lensport.ccFlags = ["-ffast-math", extraCFlags, "-DLINUX", "-DISEGLFB", 315 "-DLENSPORT", "-I", file("modules/graphics/src/main/native-glass/lens/")].flatten() 316 ARMV6SF.glass.lensport.linker = linker 317 ARMV6SF.glass.lensport.linkFlags = [lensLFlags].flatten() 318 ARMV6SF.glass.lensport.lib = "lens_porting" 319 320 ARMV6SF.glass.eglfb = [:] 321 // TODO when building headless, use lens/cursor/nullcursor/ 322 // otherwise we use lens/cursor/fbCursor/ and lens/input/udev 323 324 // TODO when USE_RFB is specified use lens/rfb 325 326 // TODO use /eglfb/x11ContainerScreen when using eglfb and EGL_X11_FB_CONTAINER 327 // TODO use /headless/headlessScreen when using headless 328 ARMV6SF.glass.eglfb.nativeSource = [ 329 file("modules/graphics/src/main/native-glass/lens"), 330 file("modules/graphics/src/main/native-glass/lens/wm"), 331 file("modules/graphics/src/main/native-glass/lens/cursor/fbCursor"), 332 file("modules/graphics/src/main/native-glass/lens/input/udev"), 333 file("modules/graphics/src/main/native-glass/lens/wm/screen/fbdevScreen.c")] 334 ARMV6SF.glass.eglfb.compiler = compiler 335 ARMV6SF.glass.eglfb.ccFlags = ["-ffast-math", extraCFlags, "-DLINUX", "-DISEGLFB"].flatten() 336 ARMV6SF.glass.eglfb.linker = linker 337 ARMV6SF.glass.eglfb.linkFlags = [lensLFlags].flatten() 338 ARMV6SF.glass.eglfb.lib = "glass_lens_eglfb" 339 340 ARMV6SF.glass.directfb = [:] 341 ARMV6SF.glass.directfb.nativeSource = [ 342 file("modules/graphics/src/main/native-glass/lens"), 343 file("modules/graphics/src/main/native-glass/lens/wm"), 344 file("modules/graphics/src/main/native-glass/lens/cursor/fbCursor"), 345 file("modules/graphics/src/main/native-glass/lens/input/udev"), 346 file("modules/graphics/src/main/native-glass/lens/wm/screen/dfbScreen.c")] 347 ARMV6SF.glass.directfb.compiler = compiler 348 ARMV6SF.glass.directfb.ccFlags = ["-ffast-math", extraCFlags, "-I$sdk/usr/include/directfb", "-DLINUX"].flatten() 349 ARMV6SF.glass.directfb.linker = linker 350 ARMV6SF.glass.directfb.linkFlags = [lensLFlags].flatten() 351 ARMV6SF.glass.directfb.lib = "glass_lens_dfb" 352 353 ARMV6SF.glass.fb = [:] 354 ARMV6SF.glass.fb.nativeSource = [ 355 file("modules/graphics/src/main/native-glass/lens"), 356 file("modules/graphics/src/main/native-glass/lens/wm"), 357 file("modules/graphics/src/main/native-glass/lens/cursor/fbCursor"), 358 file("modules/graphics/src/main/native-glass/lens/input/udev"), 359 file("modules/graphics/src/main/native-glass/lens/wm/screen/fbdevScreen.c") ] 360 ARMV6SF.glass.fb.compiler = compiler 361 ARMV6SF.glass.fb.ccFlags = ["-ffast-math", extraCFlags, "-DLINUX"].flatten() 362 ARMV6SF.glass.fb.linker = linker 363 ARMV6SF.glass.fb.linkFlags = [lensLFlags].flatten() 364 ARMV6SF.glass.fb.lib = "glass_lens_fb" 365 366 ARMV6SF.glass.eglx11 = [:] 367 ARMV6SF.glass.eglx11.nativeSource = [ 368 file("modules/graphics/src/main/native-glass/lens"), 369 file("modules/graphics/src/main/native-glass/lens/wm"), 370 file("modules/graphics/src/main/native-glass/lens/cursor/fbCursor"), 371 file("modules/graphics/src/main/native-glass/lens/input/udev"), 372 file("modules/graphics/src/main/native-glass/lens/wm/screen/x11ContainerScreen.c")] 373 ARMV6SF.glass.eglx11.compiler = compiler 374 ARMV6SF.glass.eglx11.ccFlags = ["-ffast-math", extraCFlags].flatten() 375 ARMV6SF.glass.eglx11.ccFlags = ["-ffast-math", extraCFlags, "-DLINUX"].flatten() 376 ARMV6SF.glass.eglx11.linker = linker 377 ARMV6SF.glass.eglx11.linkFlags = [lensLFlags].flatten() 378 ARMV6SF.glass.eglx11.lib = "glass_lens_eglx11" 379 380 ARMV6SF.glass.gtk = [:] 381 ARMV6SF.glass.gtk.nativeSource = file("modules/graphics/src/main/native-glass/gtk") 382 ARMV6SF.glass.gtk.compiler = compiler 383 ARMV6SF.glass.gtk.ccFlags = ["-ffast-math", gtkCFlags, "-DLINUX"].flatten() 384 ARMV6SF.glass.gtk.linker = linker 385 ARMV6SF.glass.gtk.linkFlags = [gtkLFlags, "-lstdc++"].flatten() 386 ARMV6SF.glass.gtk.lib = "glass" 387 388 ARMV6SF.decora = [:] 389 ARMV6SF.decora.compiler = compiler 390 ARMV6SF.decora.ccFlags = extraCFlags 391 ARMV6SF.decora.linker = linker 392 ARMV6SF.decora.linkFlags = extraLFlags 393 ARMV6SF.decora.lib = "decora_sse" 394 395 ARMV6SF.prism = [:] 396 ARMV6SF.prism.javahInclude = ["com/sun/prism/impl/**/*", "com/sun/prism/PresentableState*"] 397 ARMV6SF.prism.nativeSource = file("modules/graphics/src/main/native-prism") 398 ARMV6SF.prism.compiler = compiler 399 ARMV6SF.prism.ccFlags = es2CFlags 400 ARMV6SF.prism.linker = linker 401 ARMV6SF.prism.linkFlags = es2LFlags 402 ARMV6SF.prism.lib = "prism_common" 403 404 ARMV6SF.prismSW = [:] 405 ARMV6SF.prismSW.javahInclude = ["com/sun/pisces/**/*"] 406 ARMV6SF.prismSW.nativeSource = file("modules/graphics/src/main/native-prism-sw") 407 ARMV6SF.prismSW.compiler = compiler 408 ARMV6SF.prismSW.ccFlags = prismSWCFlags 409 ARMV6SF.prismSW.linker = linker 410 ARMV6SF.prismSW.linkFlags = prismSWLFlags 411 ARMV6SF.prismSW.lib = "prism_sw" 412 413 ARMV6SF.iio = [:] 414 ARMV6SF.iio.javahInclude = ["com/sun/javafx/iio/**/*"] 415 ARMV6SF.iio.nativeSource = [ 416 file("modules/graphics/src/main/native-iio"), 417 file("modules/graphics/src/main/native-iio/libjpeg7")] 418 ARMV6SF.iio.compiler = compiler 419 ARMV6SF.iio.ccFlags = iioCFlags 420 ARMV6SF.iio.linker = linker 421 ARMV6SF.iio.linkFlags = iioLFlags 422 ARMV6SF.iio.lib = "javafx_iio" 423 424 ARMV6SF.prismES2 = [:] 425 ARMV6SF.prismES2.variants = ["eglfb"] 426 ARMV6SF.prismES2.javahInclude = ["com/sun/prism/es2/**/*"] 427 428 ARMV6SF.prismES2.eglfb = [:] 429 ARMV6SF.prismES2.eglfb.nativeSource = [ 430 file("modules/graphics/src/main/native-prism-es2"), 431 file("modules/graphics/src/main/native-prism-es2/GL"), 432 file("modules/graphics/src/main/native-prism-es2/eglfb") 433 ] 434 ARMV6SF.prismES2.eglfb.compiler = compiler 435 ARMV6SF.prismES2.eglfb.ccFlags = [ es2EglfbCFlags, "-I", ARMV6SF.glass.lensport.nativeSource ].flatten() 436 ARMV6SF.prismES2.eglfb.linker = linker 437 ARMV6SF.prismES2.eglfb.linkFlags = es2EglfbLFlags 438 ARMV6SF.prismES2.eglfb.lib = "prism_es2_eglfb" 439 440 ARMV6SF.prismES2.eglx11 = [:] 441 ARMV6SF.prismES2.eglx11.nativeSource = [ 442 file("modules/graphics/src/main/native-prism-es2"), 443 file("modules/graphics/src/main/native-prism-es2/GL"), 444 file("modules/graphics/src/main/native-prism-es2/eglx11") 445 ] 446 ARMV6SF.prismES2.eglx11.compiler = compiler 447 ARMV6SF.prismES2.eglx11.ccFlags = es2X11CFlags 448 ARMV6SF.prismES2.eglx11.linker = linker 449 ARMV6SF.prismES2.eglx11.linkFlags = es2X11LFlags 450 ARMV6SF.prismES2.eglx11.lib = "prism_es2_eglx11" 451 452 def closedDir = file("$projectDir/../rt-closed") 453 ARMV6SF.font = [:] 454 ARMV6SF.font.javahInclude = [ 455 "com/sun/javafx/font/**/*", 456 "com/sun/javafx/text/**/*"] 457 ARMV6SF.font.nativeSource = [file("modules/graphics/src/main/native-font")] 458 ARMV6SF.font.compiler = compiler 459 ARMV6SF.font.ccFlags = fontCFlags 460 ARMV6SF.font.linker = linker 461 ARMV6SF.font.linkFlags = fontLFlags 462 ARMV6SF.font.lib = "javafx_font" 463 464 ARMV6SF.fontT2K = [:] 465 ARMV6SF.fontT2K.javahInclude = ["com/sun/javafx/font/t2k/**/*"] 466 ARMV6SF.fontT2K.nativeSource = [ 467 file("$closedDir/javafx-font-t2k-native/src"), 468 file("$closedDir/javafx-font-t2k-native/src/layout")] 469 ARMV6SF.fontT2K.compiler = compiler 470 ARMV6SF.fontT2K.ccFlags = [fontCFlags, "-DLE_STANDALONE"].flatten() 471 ARMV6SF.fontT2K.linker = linker 472 ARMV6SF.fontT2K.linkFlags = fontLFlags 473 ARMV6SF.fontT2K.lib = "javafx_font_t2k" 474 475 ARMV6SF.fontFreetype = [:] 476 ARMV6SF.fontFreetype.javahInclude = ["com/sun/javafx/font/freetype/OSFreetype.class"] 477 ARMV6SF.fontFreetype.nativeSource = ["src/main/native-font/freetype.c"] 478 ARMV6SF.fontFreetype.compiler = compiler 479 ARMV6SF.fontFreetype.ccFlags = ["-DJFXFONT_PLUS", ccFlags, fontCFlags, freetypeCCFlags].flatten() 480 ARMV6SF.fontFreetype.linker = linker 481 ARMV6SF.fontFreetype.linkFlags = [linkFlags, fontLFlags, freetypeLinkFlags].flatten() 482 ARMV6SF.fontFreetype.lib = "javafx_font_freetype" 483 484 ARMV6SF.fontPango = [:] 485 ARMV6SF.fontPango.javahInclude = ["com/sun/javafx/font/freetype/OSPango.class"] 486 ARMV6SF.fontPango.nativeSource = ["src/main/native-font/pango.c"] 487 ARMV6SF.fontPango.compiler = compiler 488 ARMV6SF.fontPango.ccFlags = ["-DJFXFONT_PLUS", ccFlags, pangoCCFlags].flatten() 489 ARMV6SF.fontPango.linker = linker 490 ARMV6SF.fontPango.linkFlags = [linkFlags, pangoLinkFlags].flatten() 491 ARMV6SF.fontPango.lib = "javafx_font_pango" 492 493 ARMV6SF.webkit = [:] 494 ARMV6SF.webkit.binDir = "$compilerHome/bin" 495 ARMV6SF.webkit.compiler = compiler 496 ARMV6SF.webkit.linker = linker 497 ARMV6SF.webkit.ar = file("$compilerHome/bin/arm-linux-gnueabi-ar").getAbsolutePath() 498 ARMV6SF.webkit.objcopy = file("$compilerHome/bin/arm-linux-gnueabi-objcopy").getAbsolutePath() 499 ARMV6SF.webkit.strip = file("$compilerHome/bin/arm-linux-gnueabi-strip").getAbsolutePath() 500 ARMV6SF.webkit.ccFlags = extraCFlags.join(' ') 501 ARMV6SF.webkit.linkFlags = extraLFlags.join(' ') 502 503 ARMV6SF.media = [:] 504 ARMV6SF.media.compiler = compiler 505 ARMV6SF.media.linker = linker 506 ARMV6SF.media.extra_cflags = mediaCFlags.join(' ') 507 ARMV6SF.media.extra_ldflags = mediaLFlags.join(' ')