15-ios.conf 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. #### iPhoneOS/iOS
  2. #
  3. # It takes recent enough XCode to use following two targets. It shouldn't
  4. # be a problem by now, but if they don't work, original targets below
  5. # that depend on manual definition of environment variables should still
  6. # work...
  7. #
  8. my %targets = (
  9. "ios-common" => {
  10. template => 1,
  11. inherit_from => [ "darwin-common" ],
  12. sys_id => "iOS",
  13. disable => [ "engine", "async" ],
  14. },
  15. "ios-xcrun" => {
  16. inherit_from => [ "ios-common", asm("armv4_asm") ],
  17. # It should be possible to go below iOS 6 and even add -arch armv6,
  18. # thus targeting iPhone pre-3GS, but it's assumed to be irrelevant
  19. # at this point.
  20. CC => "xcrun -sdk iphoneos cc",
  21. cflags => add("-arch armv7 -mios-version-min=6.0.0 -fno-common"),
  22. perlasm_scheme => "ios32",
  23. },
  24. "ios64-xcrun" => {
  25. inherit_from => [ "ios-common", asm("aarch64_asm") ],
  26. CC => "xcrun -sdk iphoneos cc",
  27. cflags => add("-arch arm64 -mios-version-min=7.0.0 -fno-common"),
  28. bn_ops => "SIXTY_FOUR_BIT_LONG RC4_CHAR",
  29. perlasm_scheme => "ios64",
  30. },
  31. "iossimulator-xcrun" => {
  32. inherit_from => [ "ios-common" ],
  33. CC => "xcrun -sdk iphonesimulator cc",
  34. },
  35. # It takes three prior-set environment variables to make it work:
  36. #
  37. # CROSS_COMPILE=/where/toolchain/is/usr/bin/ [note ending slash]
  38. # CROSS_TOP=/where/SDKs/are
  39. # CROSS_SDK=iPhoneOSx.y.sdk
  40. #
  41. # Exact paths vary with Xcode releases, but for couple of last ones
  42. # they would look like this:
  43. #
  44. # CROSS_COMPILE=`xcode-select --print-path`/Toolchains/XcodeDefault.xctoolchain/usr/bin/
  45. # CROSS_TOP=`xcode-select --print-path`/Platforms/iPhoneOS.platform/Developer
  46. # CROSS_SDK=iPhoneOS.sdk
  47. #
  48. "iphoneos-cross" => {
  49. inherit_from => [ "ios-common" ],
  50. cflags => add("-isysroot \$(CROSS_TOP)/SDKs/\$(CROSS_SDK) -fno-common"),
  51. },
  52. "ios-cross" => {
  53. inherit_from => [ "ios-xcrun" ],
  54. CC => "cc",
  55. cflags => add("-isysroot \$(CROSS_TOP)/SDKs/\$(CROSS_SDK)"),
  56. },
  57. "ios64-cross" => {
  58. inherit_from => [ "ios64-xcrun" ],
  59. CC => "cc",
  60. cflags => add("-isysroot \$(CROSS_TOP)/SDKs/\$(CROSS_SDK)"),
  61. },
  62. );