Package wafadmin :: Package Tools :: Module osx
[hide private]
[frames] | no frames]

Module osx

source code

MacOSX related tools

To compile an executable into a Mac application bundle (a .app), set its 'mac_app' attribute
  obj.mac_app = True

To make a bundled shared library (a .bundle), set the 'mac_bundle' attribute:
  obj.mac_bundle = True

Functions [hide private]
 
create_task_macapp(self) source code
 
apply_link_osx(self)
Use env['MACAPP'] to force *all* executables to be transformed into Mac applications or use obj.mac_app = True to build specific targets as Mac apps
source code
 
apply_bundle(self)
the uselib system cannot modify a few things, use env['MACBUNDLE'] to force all shlibs into mac bundles or use obj.mac_bundle = True for specific targets only
source code
 
apply_bundle_remove_dynamiclib(self) source code
 
app_build(task) source code
 
install_shlib(task)
see http://code.google.com/p/waf/issues/detail?id=173
source code
 
install_target_osx_cshlib(self) source code
Variables [hide private]
  app_dirs = ['Contents', os.path.join('Contents', 'MacOS'), os....
  app_info = ...
Function Details [hide private]

create_task_macapp(self)

source code 
Decorators:
  • @taskgen

apply_link_osx(self)

source code 

Use env['MACAPP'] to force *all* executables to be transformed into Mac applications or use obj.mac_app = True to build specific targets as Mac apps

Decorators:
  • @taskgen
  • @after('apply_link')
  • @feature('cc', 'cxx')

apply_bundle(self)

source code 

the uselib system cannot modify a few things, use env['MACBUNDLE'] to force all shlibs into mac bundles or use obj.mac_bundle = True for specific targets only

Decorators:
  • @taskgen
  • @before('apply_link')
  • @before('apply_lib_vars')
  • @feature('cc', 'cxx')

apply_bundle_remove_dynamiclib(self)

source code 
Decorators:
  • @taskgen
  • @after('apply_link')
  • @feature('cc', 'cxx')

install_target_osx_cshlib(self)

source code 
Decorators:
  • @taskgen
  • @feature('osx')
  • @after('install_target_cshlib')

Variables Details [hide private]

app_dirs

Value:
['Contents', os.path.join('Contents', 'MacOS'), os.path.join('Contents\
', 'Resources')]

app_info

Value:
'''
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist SYSTEM "file://localhost/System/Library/DTDs/PropertyL\
ist.dtd">
<plist version="0.9">
<dict>
	<key>CFBundlePackageType</key>
	<string>APPL</string>
...