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