| # Testing configuration for back-deployment against the system-provided libunwind. |
| # |
| # Under this configuration, we compile and link all the test suite against the just-built |
| # libunwind, but we run against the system libunwind. |
| |
| import os, site |
| site.addsitedir(os.path.join('@LIBUNWIND_LIBCXX_PATH@', 'utils')) |
| import libcxx.test.params, libcxx.test.config, libcxx.test.dsl |
| |
| lit_config.load_config(config, '@CMAKE_CURRENT_BINARY_DIR@/cmake-bridge.cfg') |
| |
| config.substitutions.append(('%{flags}', |
| '-isysroot {}'.format('@CMAKE_OSX_SYSROOT@') if '@CMAKE_OSX_SYSROOT@' else '' |
| )) |
| config.substitutions.append(('%{compile_flags}', |
| '-nostdinc++ -I %{include}' |
| )) |
| config.substitutions.append(('%{link_flags}', |
| '-nostdlib++ -L %{lib} -lc++ -lunwind' |
| )) |
| config.substitutions.append(('%{exec}', |
| '%{executor} --execdir %T -- ' |
| )) |
| |
| config.stdlib = 'apple-libc++' |
| config.using_system_stdlib = True |
| |
| # TODO: This is a giant hack, but we need to change the install_name of libunwind.dylib because the |
| # upstream configuration can't currently produce a libunwind.dylib that is compatible with the |
| # Apple system one. |
| import subprocess |
| subprocess.check_call(['install_name_tool', '-id', '/usr/lib/system/libunwind.dylib', '@LIBUNWIND_TESTING_INSTALL_PREFIX@/lib/libunwind.dylib']) |
| |
| import os, site |
| import libcxx.test.params, libcxx.test.config |
| libcxx.test.config.configure( |
| libcxx.test.params.DEFAULT_PARAMETERS, |
| libcxx.test.features.DEFAULT_FEATURES, |
| config, |
| lit_config |
| ) |