1 /*
   2  * Copyright (c) 2013, 2018, 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.IOS = [:]
  27 
  28 if (BUILD_CLOSED) {
  29     fetchExternalTools('IOS',
  30       ["ios-libs-08.tgz"],
  31       rootProject.CROSS_TOOLS_DIR, rootProject.IS_IMPORT_CROSS_TOOLS)
  32 }
  33 
  34 // TODO Check for presence of iOS tools
  35 IOS.canBuild = IS_MAC
  36 if (!IOS.canBuild) return;
  37 
  38 IOS.compileSwing = false;
  39 IOS.compileSWT = false;
  40 
  41 defineProperty("USE_LIPO", "false")
  42 IOS.useLipo = Boolean.parseBoolean(USE_LIPO)
  43 
  44 defineProperty("GENERATE_SYMBOLS", "false")
  45 IOS.generateSymbols = Boolean.parseBoolean(GENERATE_SYMBOLS)
  46 
  47 defineProperty("BUILD_IOS_TOOLS", "true")
  48 ext.IS_BUILD_IOS_TOOLS = Boolean.parseBoolean(BUILD_IOS_TOOLS)
  49 
  50 IOS.generateSymbolsExcludes = [
  51     "libprism_sw.a",
  52     "libdecora_sse_armv7.a"
  53 ]
  54 
  55 defineProperty("IOS_VERSION", "7.0")
  56 
  57 // Lambda for naming the generated libs
  58 IOS.library = { name -> return "lib${name}.a" as String }
  59 
  60 IOS.libDest = "lib"
  61 
  62 IOS.jfxrtJarExcludes = [
  63     "**/*.hlsl",
  64     "com/sun/glass/ui/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/prism/es2/gl/mac",
  73     "com/sun/glass/ui/android",
  74     "com/sun/glass/ui/gtk",
  75 
  76     "com/sun/glass/ui/lens",
  77     "com/sun/prism/es2/gl/eglfb",
  78     "com/sun/prism/es2/gl/eglx11",
  79     "com/sun/prism/es2/gl/x11",
  80 
  81     "com/sun/glass/ui/swt", // SWT glass
  82 
  83     "javafx/embed/swing", // Swing Interop
  84 
  85     "javafx/embed/swt", // SWT Interop
  86 ]
  87 
  88 def archArm = "armv7"
  89 def archArm64 = "arm64"
  90 def archX86 = "i386"
  91 def archX86_64 = "x86_64"
  92 def iPhoneOS = "iPhoneOS"
  93 def iPhoneSim = "iPhoneSimulator"
  94 
  95 String sdkPath(String platform) {
  96     return "/Applications/Xcode.app/Contents/Developer/Platforms/${platform}.platform/Developer/SDKs/${platform}${IOS_VERSION}.sdk";
  97 }
  98 
  99 def linkFlags = [
 100     "-static",
 101     "-framework", "Foundation",
 102     "-framework", "CoreGraphics",
 103     "-framework", "CoreText",
 104     "-framework", "UIKit",
 105     "-framework", "QuartzCore",
 106     "-framework", "OpenGLES"].flatten()
 107 
 108 def ccFlags = [
 109     "-miphoneos-version-min=6.0", "-fmessage-length=0", "-std=c99", "-fno-common",
 110     "-Wall", "-fno-strict-aliasing", "-fwrapv", "-fpascal-strings", "-fobjc-abi-version=2", "-fobjc-legacy-dispatch",
 111     "-I$JDK_HOME/include", "-I$JDK_HOME/include/darwin", "-c",
 112     IS_DEBUG_NATIVE ? ["-O0", "-DDEBUG", "-g"] : ["-O3", "-DNDEBUG"]].flatten()
 113 
 114 def compiler = "clang"
 115 def linker = "libtool"
 116 
 117 IOS.javafxPlatformProperties ="""javafx.platform=ios
 118 ios.javax.xml.stream.XMLInputFactory=com.sun.xml.stream.ZephyrParserFactory
 119 ios.javax.xml.stream.XMLOutputFactory=com.sun.xml.stream.ZephyrWriterFactory
 120 ios.javax.xml.stream.XMLEventFactory=com.sun.xml.stream.events.ZephyrEventFactory
 121 ios.jfxmedia.platforms=IOSPlatform
 122 ios.glass.platform=ios
 123 ios.prism.allowhidpi=true
 124 ios.prism.mintexturesize=16
 125 ios.prism.verbose=true
 126 ios.prism.static.libraries=true
 127 ios.prism.useNativeIIO=false"""
 128 
 129 IOS.glass = [:]
 130 IOS.glass.variants = ["arm", "arm64", "x86", "x86_64"];
 131 IOS.glass.javahInclude = [
 132     "com/sun/glass/events/**",
 133     "com/sun/glass/ui/*",
 134     "com/sun/glass/ui/ios/*"]
 135 IOS.glass.lib = "glass"
 136 
 137 IOS.glass.arm = [:]
 138 IOS.glass.arm.nativeSource = file("${project("graphics").projectDir}/src/main/native-glass/ios")
 139 IOS.glass.arm.compiler = compiler
 140 IOS.glass.arm.ccFlags = ["-x", "objective-c", ccFlags, "-arch", archArm, "-isysroot", sdkPath(iPhoneOS)].flatten()
 141 IOS.glass.arm.linker = linker
 142 IOS.glass.arm.linkFlags = ["-arch_only", archArm, "-syslibroot", sdkPath(iPhoneOS), linkFlags, "-L${sdkPath(iPhoneOS)}/usr/lib"].flatten()
 143 IOS.glass.arm.lib = "glass_${archArm}"
 144 
 145 IOS.glass.arm64 = [:]
 146 IOS.glass.arm64.nativeSource = file("${project("graphics").projectDir}/src/main/native-glass/ios")
 147 IOS.glass.arm64.compiler = compiler
 148 IOS.glass.arm64.ccFlags = ["-x", "objective-c", ccFlags, "-arch", archArm64, "-isysroot", sdkPath(iPhoneOS)].flatten()
 149 IOS.glass.arm64.linker = linker
 150 IOS.glass.arm64.linkFlags = ["-arch_only", archArm64, "-syslibroot", sdkPath(iPhoneOS), linkFlags, "-L${sdkPath(iPhoneOS)}/usr/lib"].flatten()
 151 IOS.glass.arm64.lib = "glass_${archArm64}"
 152 
 153 IOS.glass.x86 = [:]
 154 IOS.glass.x86.nativeSource = file("${project("graphics").projectDir}/src/main/native-glass/ios")
 155 IOS.glass.x86.compiler = compiler
 156 IOS.glass.x86.ccFlags = ["-x", "objective-c", ccFlags, "-arch", archX86, "-isysroot", sdkPath(iPhoneSim)].flatten()
 157 IOS.glass.x86.linker = linker
 158 IOS.glass.x86.linkFlags = ["-arch_only", archX86, "-syslibroot", sdkPath(iPhoneSim), linkFlags, "-L${sdkPath(iPhoneSim)}/usr/lib"].flatten()
 159 IOS.glass.x86.lib = "glass_${archX86}"
 160 
 161 IOS.glass.x86_64 = [:]
 162 IOS.glass.x86_64.nativeSource = file("${project("graphics").projectDir}/src/main/native-glass/ios")
 163 IOS.glass.x86_64.compiler = compiler
 164 IOS.glass.x86_64.ccFlags = ["-x", "objective-c", ccFlags, "-arch", archX86_64, "-isysroot", sdkPath(iPhoneSim)].flatten()
 165 IOS.glass.x86_64.linker = linker
 166 IOS.glass.x86_64.linkFlags = ["-arch_only", archX86_64, "-syslibroot", sdkPath(iPhoneSim), linkFlags, "-L${sdkPath(iPhoneSim)}/usr/lib"].flatten()
 167 IOS.glass.x86_64.lib = "glass_${archX86_64}"
 168 
 169 IOS.extensions = [:]
 170 IOS.extensions.variants = ["arm", "arm64", "x86", "x86_64"];
 171 IOS.extensions.javahSource = files("${project("extensions").buildDir}/classes/ios")
 172 IOS.extensions.javahClasspath = files("${project("extensions").buildDir}/classes/ios/")
 173 IOS.extensions.javahInclude = ["com/sun/javafx/ext/device/ios/**/*"]
 174 IOS.extensions.lib = "extensions_ios"
 175 
 176 IOS.extensions.arm = [:]
 177 IOS.extensions.arm.nativeSource = file("${project("extensions").projectDir}/src/ios/native-device/ios")
 178 IOS.extensions.arm.compiler = compiler
 179 IOS.extensions.arm.ccFlags = ["-x", "objective-c", ccFlags, "-arch", archArm, "-isysroot", sdkPath(iPhoneOS)].flatten()
 180 IOS.extensions.arm.linker = linker
 181 IOS.extensions.arm.linkFlags = ["-arch_only", archArm, "-syslibroot", sdkPath(iPhoneOS), linkFlags, "-L${sdkPath(iPhoneOS)}/usr/lib"].flatten()
 182 IOS.extensions.arm.lib = "extensions_ios_${archArm}"
 183 
 184 IOS.extensions.arm64 = [:]
 185 IOS.extensions.arm64.nativeSource = file("${project("extensions").projectDir}/src/ios/native-device/ios")
 186 IOS.extensions.arm64.compiler = compiler
 187 IOS.extensions.arm64.ccFlags = ["-x", "objective-c", ccFlags, "-arch", archArm64, "-isysroot", sdkPath(iPhoneOS)].flatten()
 188 IOS.extensions.arm64.linker = linker
 189 IOS.extensions.arm64.linkFlags = ["-arch_only", archArm64, "-syslibroot", sdkPath(iPhoneOS), linkFlags, "-L${sdkPath(iPhoneOS)}/usr/lib"].flatten()
 190 IOS.extensions.arm64.lib = "extensions_ios_${archArm64}"
 191 
 192 IOS.extensions.x86 = [:]
 193 IOS.extensions.x86.nativeSource = file("${project("extensions").projectDir}/src/ios/native-device/ios")
 194 IOS.extensions.x86.compiler = compiler
 195 IOS.extensions.x86.ccFlags = ["-x", "objective-c", ccFlags, "-arch", archX86, "-isysroot", sdkPath(iPhoneSim)].flatten()
 196 IOS.extensions.x86.linker = linker
 197 IOS.extensions.x86.linkFlags = ["-arch_only", archX86, "-syslibroot", sdkPath(iPhoneSim), linkFlags, "-L${sdkPath(iPhoneSim)}/usr/lib"].flatten()
 198 IOS.extensions.x86.lib = "extensions_ios_${archX86}"
 199 
 200 IOS.extensions.x86_64 = [:]
 201 IOS.extensions.x86_64.nativeSource = file("${project("extensions").projectDir}/src/ios/native-device/ios")
 202 IOS.extensions.x86_64.compiler = compiler
 203 IOS.extensions.x86_64.ccFlags = ["-x", "objective-c", ccFlags, "-arch", archX86_64, "-isysroot", sdkPath(iPhoneSim)].flatten()
 204 IOS.extensions.x86_64.linker = linker
 205 IOS.extensions.x86_64.linkFlags = ["-arch_only", archX86_64, "-syslibroot", sdkPath(iPhoneSim), linkFlags, "-L${sdkPath(iPhoneSim)}/usr/lib"].flatten()
 206 IOS.extensions.x86_64.lib = "extensions_ios_${archX86_64}"
 207 
 208 IOS.decora = [:]
 209 IOS.decora.variants = ["arm", "arm64"];
 210 IOS.decora.lib = "decora_sse"
 211 
 212 IOS.decora.arm = [:]
 213 IOS.decora.arm.compiler = compiler
 214 IOS.decora.arm.ccFlags = [ccFlags, "-arch", archArm, "-isysroot", sdkPath(iPhoneOS), "-ffast-math"].flatten()
 215 IOS.decora.arm.linker = linker
 216 IOS.decora.arm.linkFlags = ["-arch_only", archArm, "-syslibroot", sdkPath(iPhoneOS), linkFlags].flatten()
 217 IOS.decora.arm.lib = "decora_sse_${archArm}"
 218 
 219 IOS.decora.arm64 = [:]
 220 IOS.decora.arm64.compiler = compiler
 221 IOS.decora.arm64.ccFlags = [ccFlags, "-arch", archArm64, "-isysroot", sdkPath(iPhoneOS), "-ffast-math"].flatten()
 222 IOS.decora.arm64.linker = linker
 223 IOS.decora.arm64.linkFlags = ["-arch_only", archArm64, "-syslibroot", sdkPath(iPhoneOS), linkFlags].flatten()
 224 IOS.decora.arm64.lib = "decora_sse_${archArm64}"
 225 
 226 IOS.prism = [:]
 227 IOS.prism.lib = "prism_common"
 228 IOS.prism.javahInclude = ["com/sun/prism/impl/**/*", "com/sun/prism/PresentableState*"]
 229 IOS.prism.variants = ["arm", "arm64", "x86", "x86_64"];
 230 
 231 IOS.prism.arm = [:]
 232 IOS.prism.arm.nativeSource = file("${project("graphics").projectDir}/src/main/native-prism")
 233 IOS.prism.arm.compiler = compiler
 234 IOS.prism.arm.ccFlags = [ccFlags, "-arch", archArm, "-isysroot", sdkPath(iPhoneOS), "-DINLINE=inline"].flatten()
 235 IOS.prism.arm.linker = linker
 236 IOS.prism.arm.linkFlags = ["-arch_only", archArm, "-syslibroot", sdkPath(iPhoneOS), linkFlags].flatten()
 237 IOS.prism.arm.lib = "prism_common_${archArm}"
 238 
 239 IOS.prism.arm64 = [:]
 240 IOS.prism.arm64.nativeSource = file("${project("graphics").projectDir}/src/main/native-prism")
 241 IOS.prism.arm64.compiler = compiler
 242 IOS.prism.arm64.ccFlags = [ccFlags, "-arch", archArm64, "-isysroot", sdkPath(iPhoneOS), "-DINLINE=inline"].flatten()
 243 IOS.prism.arm64.linker = linker
 244 IOS.prism.arm64.linkFlags = ["-arch_only", archArm64, "-syslibroot", sdkPath(iPhoneOS), linkFlags].flatten()
 245 IOS.prism.arm64.lib = "prism_common_${archArm64}"
 246 
 247 IOS.prism.x86 = [:]
 248 IOS.prism.x86.nativeSource = file("${project("graphics").projectDir}/src/main/native-prism")
 249 IOS.prism.x86.compiler = compiler
 250 IOS.prism.x86.ccFlags = [ccFlags, "-arch", archX86, "-isysroot", sdkPath(iPhoneSim), "-DINLINE=inline"].flatten()
 251 IOS.prism.x86.linker = linker
 252 IOS.prism.x86.linkFlags = ["-arch_only", archX86, "-syslibroot", sdkPath(iPhoneSim), linkFlags].flatten()
 253 IOS.prism.x86.lib = "prism_common_${archX86}"
 254 
 255 IOS.prism.x86_64 = [:]
 256 IOS.prism.x86_64.nativeSource = file("${project("graphics").projectDir}/src/main/native-prism")
 257 IOS.prism.x86_64.compiler = compiler
 258 IOS.prism.x86_64.ccFlags = [ccFlags, "-arch", archX86_64, "-isysroot", sdkPath(iPhoneSim), "-DINLINE=inline"].flatten()
 259 IOS.prism.x86_64.linker = linker
 260 IOS.prism.x86_64.linkFlags = ["-arch_only", archX86_64, "-syslibroot", sdkPath(iPhoneSim), linkFlags].flatten()
 261 IOS.prism.x86_64.lib = "prism_common_${archX86_64}"
 262 
 263 IOS.prismSW = [:]
 264 IOS.prismSW.lib = "prism_sw"
 265 IOS.prismSW.javahInclude = ["com/sun/pisces/**/*"]
 266 IOS.prismSW.variants = ["arm", "arm64", "x86", "x86_64"];
 267 
 268 IOS.prismSW.arm = [:]
 269 IOS.prismSW.arm.nativeSource = file("${project("graphics").projectDir}/src/main/native-prism-sw")
 270 IOS.prismSW.arm.compiler = compiler
 271 IOS.prismSW.arm.ccFlags = [IOS.prism.arm.ccFlags].flatten()
 272 IOS.prismSW.arm.linker = linker
 273 IOS.prismSW.arm.linkFlags = [IOS.prism.arm.linkFlags].flatten()
 274 IOS.prismSW.arm.lib = "prism_sw_${archArm}"
 275 
 276 IOS.prismSW.arm64 = [:]
 277 IOS.prismSW.arm64.nativeSource = file("${project("graphics").projectDir}/src/main/native-prism-sw")
 278 IOS.prismSW.arm64.compiler = compiler
 279 IOS.prismSW.arm64.ccFlags = [IOS.prism.arm64.ccFlags].flatten()
 280 IOS.prismSW.arm64.linker = linker
 281 IOS.prismSW.arm64.linkFlags = [IOS.prism.arm64.linkFlags].flatten()
 282 IOS.prismSW.arm64.lib = "prism_sw_${archArm64}"
 283 
 284 IOS.prismSW.x86 = [:]
 285 IOS.prismSW.x86.nativeSource = file("${project("graphics").projectDir}/src/main/native-prism-sw")
 286 IOS.prismSW.x86.compiler = compiler
 287 IOS.prismSW.x86.ccFlags = [IOS.prism.x86.ccFlags].flatten()
 288 IOS.prismSW.x86.linker = linker
 289 IOS.prismSW.x86.linkFlags = [IOS.prism.x86.linkFlags].flatten()
 290 IOS.prismSW.x86.lib = "prism_sw_${archX86}"
 291 
 292 IOS.prismSW.x86_64 = [:]
 293 IOS.prismSW.x86_64.nativeSource = file("${project("graphics").projectDir}/src/main/native-prism-sw")
 294 IOS.prismSW.x86_64.compiler = compiler
 295 IOS.prismSW.x86_64.ccFlags = [IOS.prism.x86_64.ccFlags].flatten()
 296 IOS.prismSW.x86_64.linker = linker
 297 IOS.prismSW.x86_64.linkFlags = [IOS.prism.x86_64.linkFlags].flatten()
 298 IOS.prismSW.x86_64.lib = "prism_sw_${archX86_64}"
 299 
 300 IOS.iio = [:]
 301 IOS.iio.lib = "javafx_iio"
 302 IOS.iio.javahInclude = ["com/sun/javafx/iio/**/*"]
 303 IOS.iio.variants = ["arm", "arm64", "x86", "x86_64"];
 304 
 305 IOS.iio.arm = [:]
 306 IOS.iio.arm.nativeSource = [
 307     file("${project("graphics").projectDir}/src/main/native-iio"),
 308     file("${project("graphics").projectDir}/src/main/native-iio/ios"),
 309     file("${project("graphics").projectDir}/src/main/native-iio/libjpeg7")]
 310 IOS.iio.arm.compiler = compiler
 311 IOS.iio.arm.ccFlags = ["-x", "objective-c", ccFlags, "-arch", archArm, "-isysroot", sdkPath(iPhoneOS), "-ffast-math"].flatten()
 312 IOS.iio.arm.linker = linker
 313 IOS.iio.arm.linkFlags = ["-arch_only", archArm, "-syslibroot", sdkPath(iPhoneOS), linkFlags].flatten()
 314 IOS.iio.arm.lib = "javafx_iio_${archArm}"
 315 
 316 IOS.iio.arm64 = [:]
 317 IOS.iio.arm64.nativeSource = [IOS.iio.arm.nativeSource].flatten()
 318 IOS.iio.arm64.compiler = compiler
 319 IOS.iio.arm64.ccFlags = ["-x", "objective-c", ccFlags, "-arch", archArm64, "-isysroot", sdkPath(iPhoneOS), "-ffast-math"].flatten()
 320 IOS.iio.arm64.linker = linker
 321 IOS.iio.arm64.linkFlags = ["-arch_only", archArm64, "-syslibroot", sdkPath(iPhoneOS), linkFlags].flatten()
 322 IOS.iio.arm64.lib = "javafx_iio_${archArm64}"
 323 
 324 IOS.iio.x86 = [:]
 325 IOS.iio.x86.nativeSource = [IOS.iio.arm.nativeSource].flatten()
 326 IOS.iio.x86.compiler = compiler
 327 IOS.iio.x86.ccFlags = ["-x", "objective-c", ccFlags, "-arch", archX86, "-isysroot", sdkPath(iPhoneSim), "-ffast-math"].flatten()
 328 IOS.iio.x86.linker = linker
 329 IOS.iio.x86.linkFlags = ["-arch_only", archX86, "-syslibroot", sdkPath(iPhoneSim), linkFlags].flatten()
 330 IOS.iio.x86.lib = "javafx_iio_${archX86}"
 331 
 332 IOS.iio.x86_64 = [:]
 333 IOS.iio.x86_64.nativeSource = [IOS.iio.arm.nativeSource].flatten()
 334 IOS.iio.x86_64.compiler = compiler
 335 IOS.iio.x86_64.ccFlags = ["-x", "objective-c", ccFlags, "-arch", archX86_64, "-isysroot", sdkPath(iPhoneSim), "-ffast-math"].flatten()
 336 IOS.iio.x86_64.linker = linker
 337 IOS.iio.x86_64.linkFlags = ["-arch_only", archX86_64, "-syslibroot", sdkPath(iPhoneSim), linkFlags].flatten()
 338 IOS.iio.x86_64.lib = "javafx_iio_${archX86_64}"
 339 
 340 IOS.prismES2 = [:]
 341 IOS.prismES2.lib = "prism_es2"
 342 IOS.prismES2.javahInclude = ["com/sun/prism/es2/**/*"]
 343 IOS.prismES2.variants = ["arm", "arm64", "x86", "x86_64"];
 344 
 345 IOS.prismES2.arm = [:]
 346 IOS.prismES2.arm.nativeSource = [
 347     file("${project("graphics").projectDir}/src/main/native-prism-es2"),
 348     file("${project("graphics").projectDir}/src/main/native-prism-es2/GL"),
 349     file("${project("graphics").projectDir}/src/main/native-prism-es2/ios")
 350 ]
 351 IOS.prismES2.arm.compiler = compiler
 352 IOS.prismES2.arm.ccFlags = ["-x", "objective-c", ccFlags, "-arch", archArm, "-isysroot", sdkPath(iPhoneOS)].flatten()
 353 IOS.prismES2.arm.linker = linker
 354 IOS.prismES2.arm.linkFlags = ["-arch_only", archArm, "-syslibroot", sdkPath(iPhoneOS), linkFlags].flatten()
 355 IOS.prismES2.arm.lib = "prism_es2_${archArm}"
 356 
 357 IOS.prismES2.arm64 = [:]
 358 IOS.prismES2.arm64.nativeSource = [IOS.prismES2.arm.nativeSource].flatten()
 359 IOS.prismES2.arm64.compiler = compiler
 360 IOS.prismES2.arm64.ccFlags = ["-x", "objective-c", ccFlags, "-arch", archArm64, "-isysroot", sdkPath(iPhoneOS)].flatten()
 361 IOS.prismES2.arm64.linker = linker
 362 IOS.prismES2.arm64.linkFlags = ["-arch_only", archArm64, "-syslibroot", sdkPath(iPhoneOS), linkFlags].flatten()
 363 IOS.prismES2.arm64.lib = "prism_es2_${archArm64}"
 364 
 365 IOS.prismES2.x86 = [:]
 366 IOS.prismES2.x86.nativeSource = [IOS.prismES2.arm.nativeSource].flatten()
 367 IOS.prismES2.x86.compiler = compiler
 368 IOS.prismES2.x86.ccFlags = ["-x", "objective-c", ccFlags, "-arch", archX86, "-isysroot", sdkPath(iPhoneSim)].flatten()
 369 IOS.prismES2.x86.linker = linker
 370 IOS.prismES2.x86.linkFlags = ["-arch_only", archX86, "-syslibroot", sdkPath(iPhoneSim), linkFlags].flatten()
 371 IOS.prismES2.x86.lib = "prism_es2_${archX86}"
 372 
 373 IOS.prismES2.x86_64 = [:]
 374 IOS.prismES2.x86_64.nativeSource = [IOS.prismES2.arm.nativeSource].flatten()
 375 IOS.prismES2.x86_64.compiler = compiler
 376 IOS.prismES2.x86_64.ccFlags = ["-x", "objective-c", ccFlags, "-arch", archX86_64, "-isysroot", sdkPath(iPhoneSim)].flatten()
 377 IOS.prismES2.x86_64.linker = linker
 378 IOS.prismES2.x86_64.linkFlags = ["-arch_only", archX86_64, "-syslibroot", sdkPath(iPhoneSim), linkFlags].flatten()
 379 IOS.prismES2.x86_64.lib = "prism_es2_${archX86_64}"
 380 
 381 def closedDir = file("$projectDir/../rt-closed")
 382 IOS.font = [:]
 383 IOS.font.lib = "javafx_font"
 384 IOS.font.javahInclude = [
 385         "com/sun/javafx/font/**/*",
 386         "com/sun/javafx/text/**/*"]
 387 IOS.font.variants = ["arm", "arm64", "x86", "x86_64"];
 388 
 389 IOS.font.arm = [:]
 390 IOS.font.arm.nativeSource = [file("${project("graphics").projectDir}/src/main/native-font")]
 391 IOS.font.arm.compiler = compiler
 392 IOS.font.arm.ccFlags = ["-DJFXFONT_PLUS", ccFlags, "-arch", archArm, "-isysroot", sdkPath(iPhoneOS)].flatten()
 393 IOS.font.arm.linker = linker
 394 IOS.font.arm.linkFlags = ["-arch_only", archArm, "-syslibroot", sdkPath(iPhoneOS), linkFlags].flatten()
 395 IOS.font.arm.lib = "javafx_font_${archArm}"
 396 
 397 IOS.font.arm64 = [:]
 398 IOS.font.arm64.nativeSource = [IOS.font.arm.nativeSource].flatten()
 399 IOS.font.arm64.compiler = compiler
 400 IOS.font.arm64.ccFlags = ["-DJFXFONT_PLUS", ccFlags, "-arch", archArm64, "-isysroot", sdkPath(iPhoneOS)].flatten()
 401 IOS.font.arm64.linker = linker
 402 IOS.font.arm64.linkFlags = ["-arch_only", archArm64, "-syslibroot", sdkPath(iPhoneOS), linkFlags].flatten()
 403 IOS.font.arm64.lib = "javafx_font_${archArm64}"
 404 
 405 IOS.font.x86 = [:]
 406 IOS.font.x86.nativeSource = [IOS.font.arm.nativeSource].flatten()
 407 IOS.font.x86.compiler = compiler
 408 IOS.font.x86.ccFlags = ["-DJFXFONT_PLUS", ccFlags, "-arch", archX86, "-isysroot", sdkPath(iPhoneSim)].flatten()
 409 IOS.font.x86.linker = linker
 410 IOS.font.x86.linkFlags = ["-arch_only", archX86, "-syslibroot", sdkPath(iPhoneSim), linkFlags].flatten()
 411 IOS.font.x86.lib = "javafx_font_${archX86}"
 412 
 413 IOS.font.x86_64 = [:]
 414 IOS.font.x86_64.nativeSource = [IOS.font.arm.nativeSource].flatten()
 415 IOS.font.x86_64.compiler = compiler
 416 IOS.font.x86_64.ccFlags = ["-DJFXFONT_PLUS", ccFlags, "-arch", archX86_64, "-isysroot", sdkPath(iPhoneSim)].flatten()
 417 IOS.font.x86_64.linker = linker
 418 IOS.font.x86_64.linkFlags = ["-arch_only", archX86_64, "-syslibroot", sdkPath(iPhoneSim), linkFlags].flatten()
 419 IOS.font.x86_64.lib = "javafx_font_${archX86_64}"
 420 
 421 IOS.webview = [:]
 422 IOS.webview.lib = "javafx_ios_webnode"
 423 IOS.webview.javahInclude = ["javafx/scene/web/*"]
 424 IOS.webview.variants = ["arm", "arm64", "x86", "x86_64"];
 425 
 426 IOS.webview.arm = [:]
 427 IOS.webview.arm.nativeSource = file("${project("web").projectDir}/src/ios/native")
 428 IOS.webview.arm.compiler = compiler
 429 IOS.webview.arm.ccFlags = [ccFlags, "-arch", archArm, "-isysroot", sdkPath(iPhoneOS)].flatten()
 430 IOS.webview.arm.linker = linker
 431 IOS.webview.arm.linkFlags = ["-arch_only", archArm, "-syslibroot", sdkPath(iPhoneOS), linkFlags].flatten()
 432 IOS.webview.arm.lib = "javafx_ios_webnode_${archArm}"
 433 
 434 IOS.webview.arm64 = [:]
 435 IOS.webview.arm64.nativeSource = file("${project("web").projectDir}/src/ios/native")
 436 IOS.webview.arm64.compiler = compiler
 437 IOS.webview.arm64.ccFlags = [ccFlags, "-arch", archArm64, "-isysroot", sdkPath(iPhoneOS)].flatten()
 438 IOS.webview.arm64.linker = linker
 439 IOS.webview.arm64.linkFlags = ["-arch_only", archArm64, "-syslibroot", sdkPath(iPhoneOS), linkFlags].flatten()
 440 IOS.webview.arm64.lib = "javafx_ios_webnode_${archArm64}"
 441 
 442 IOS.webview.x86 = [:]
 443 IOS.webview.x86.nativeSource = [IOS.webview.arm.nativeSource].flatten()
 444 IOS.webview.x86.compiler = compiler
 445 IOS.webview.x86.ccFlags = [ccFlags, "-arch", archX86, "-isysroot", sdkPath(iPhoneSim)].flatten()
 446 IOS.webview.x86.linker = linker
 447 IOS.webview.x86.linkFlags = ["-arch_only", archX86, "-syslibroot", sdkPath(iPhoneSim), linkFlags].flatten()
 448 IOS.webview.x86.lib = "javafx_ios_webnode_${archX86}"
 449 
 450 IOS.webview.x86_64 = [:]
 451 IOS.webview.x86_64.nativeSource = [IOS.webview.arm.nativeSource].flatten()
 452 IOS.webview.x86_64.compiler = compiler
 453 IOS.webview.x86_64.ccFlags = [ccFlags, "-arch", archX86_64, "-isysroot", sdkPath(iPhoneSim)].flatten()
 454 IOS.webview.x86_64.linker = linker
 455 IOS.webview.x86_64.linkFlags = ["-arch_only", archX86_64, "-syslibroot", sdkPath(iPhoneSim), linkFlags].flatten()
 456 IOS.webview.x86_64.lib = "javafx_ios_webnode_${archX86_64}"
 457 
 458 IOS.media = [:]
 459 IOS.media.lib = "jfxmedia"
 460 IOS.media.javahSource = files("${project("media").buildDir}/classes/main")
 461 IOS.media.javahClasspath = files("${project("media").buildDir}/classes/main")
 462 IOS.media.javahInclude = ["com/sun/media/jfxmediaimpl/*"]
 463 IOS.media.variants = ["arm", "arm64", "x86", "x86_64"];
 464 
 465 IOS.media.arm = [:]
 466 IOS.media.arm.nativeSource = [
 467     file("${project("media").projectDir}/src/main/native/jfxmedia/platform/ios"),
 468     file("${project("media").projectDir}/src/main/native/jfxmedia/platform/ios/jni")
 469 ]
 470 IOS.media.arm.compiler = compiler
 471 IOS.media.arm.ccFlags = ["-x", "objective-c", ccFlags, "-arch", archArm, "-isysroot", sdkPath(iPhoneOS)].flatten()
 472 IOS.media.arm.linker = linker
 473 IOS.media.arm.linkFlags = ["-arch_only", archArm, "-syslibroot", sdkPath(iPhoneOS), linkFlags].flatten()
 474 IOS.media.arm.lib = "jfxmedia_${archArm}"
 475 
 476 IOS.media.arm64 = [:]
 477 IOS.media.arm64.nativeSource = [IOS.media.arm.nativeSource].flatten()
 478 IOS.media.arm64.compiler = compiler
 479 IOS.media.arm64.ccFlags = ["-x", "objective-c", ccFlags, "-arch", archArm64, "-isysroot", sdkPath(iPhoneOS)].flatten()
 480 IOS.media.arm64.linker = linker
 481 IOS.media.arm64.linkFlags = ["-arch_only", archArm64, "-syslibroot", sdkPath(iPhoneOS), linkFlags].flatten()
 482 IOS.media.arm64.lib = "jfxmedia_${archArm64}"
 483 
 484 IOS.media.x86 = [:]
 485 IOS.media.x86.nativeSource = [IOS.media.arm.nativeSource].flatten()
 486 IOS.media.x86.compiler = compiler
 487 IOS.media.x86.ccFlags = ["-x", "objective-c", ccFlags, "-arch", archX86, "-isysroot", sdkPath(iPhoneSim)].flatten()
 488 IOS.media.x86.linker = linker
 489 IOS.media.x86.linkFlags = ["-arch_only", archX86, "-syslibroot", sdkPath(iPhoneSim), linkFlags].flatten()
 490 IOS.media.x86.lib = "jfxmedia_${archX86}"
 491 
 492 IOS.media.x86_64 = [:]
 493 IOS.media.x86_64.nativeSource = [IOS.media.arm.nativeSource].flatten()
 494 IOS.media.x86_64.compiler = compiler
 495 IOS.media.x86_64.ccFlags = ["-x", "objective-c", ccFlags, "-arch", archX86_64, "-isysroot", sdkPath(iPhoneSim)].flatten()
 496 IOS.media.x86_64.linker = linker
 497 IOS.media.x86_64.linkFlags = ["-arch_only", archX86_64, "-syslibroot", sdkPath(iPhoneSim), linkFlags].flatten()
 498 IOS.media.x86_64.lib = "jfxmedia_${archX86_64}"
 499