Top Level Namespace

Constant Summary collapse

BRIDGESUPPORT_FILE =

TODO: Find a good home for the .bridgesupport file

'./objc-runtime.bridgesupport'
SDK_DIR =
"Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator%s.sdk"
OBJC_INCLUDE_DIR =
'usr/include/objc'

Instance Method Summary collapse

Instance Method Details

#generate_bridgesupport(config) ⇒ Object

TODO: Regenerate bridgesupport when relevant settings have changed



12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
# File 'lib/motion-objc-runtime.rb', line 12

def generate_bridgesupport(config)
  return BRIDGESUPPORT_FILE if File.exist? BRIDGESUPPORT_FILE

  sdk = File.join(config['xcode_dir'], SDK_DIR % config['sdk_version'])
  objc_include_dir = File.join(sdk, OBJC_INCLUDE_DIR)
   = '/usr/bin/gen_bridge_metadata'
  opts = '--format complete --no-64-bit'
  cflags = "-I#{objc_include_dir}"
  cflags << " -miphoneos-version-min=#{config['deployment_target']}"
  opts << %' --cflags "#{cflags}"'
  header = "#{objc_include_dir}/runtime.h"

  # see man gen_bridge_metadata
  `RUBYOPT='' #{} #{opts} #{header} > #{BRIDGESUPPORT_FILE}`
end