diff options
-rw-r--r-- | libcxxabi/CMakeLists.txt | 13 | ||||
-rw-r--r-- | libcxxabi/src/CMakeLists.txt | 4 | ||||
-rw-r--r-- | libcxxabi/test/CMakeLists.txt | 3 | ||||
-rw-r--r-- | libcxxabi/test/lit.cfg | 16 | ||||
-rw-r--r-- | libcxxabi/test/lit.site.cfg.in | 18 |
5 files changed, 30 insertions, 24 deletions
diff --git a/libcxxabi/CMakeLists.txt b/libcxxabi/CMakeLists.txt index c3262652704..667c5197df6 100644 --- a/libcxxabi/CMakeLists.txt +++ b/libcxxabi/CMakeLists.txt @@ -89,12 +89,16 @@ if (CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR) set(LLVM_INCLUDE_TESTS OFF) endif() - set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib) - set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib) + set(LIBCXXABI_LIBDIR_SUFFIX "" CACHE STRING + "Define suffix of library directory name (32/64)") + + set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib${LIBCXXABI_LIBDIR_SUFFIX}) + set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib${LIBCXXABI_LIBDIR_SUFFIX}) set(LIBCXXABI_BUILT_STANDALONE 1) else() set(LLVM_LIT "${CMAKE_SOURCE_DIR}/utils/lit/lit.py") + set(LIBCXXABI_LIBDIR_SUFFIX ${LLVM_LIBDIR_SUFFIX}) endif() #=============================================================================== @@ -142,6 +146,11 @@ set(CMAKE_MODULE_PATH # Configure compiler. include(config-ix) +set(LIBCXXABI_COMPILER ${CMAKE_CXX_COMPILER}) +set(LIBCXXABI_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}) +set(LIBCXXABI_BINARY_DIR ${CMAKE_CURRENT_BINARY_DIR}) +set(LIBCXXABI_LIBRARY_DIR ${CMAKE_BINARY_DIR}/lib${LIBCXXABI_LIBDIR_SUFFIX}) + #=============================================================================== # Setup Compiler Flags #=============================================================================== diff --git a/libcxxabi/src/CMakeLists.txt b/libcxxabi/src/CMakeLists.txt index a623a492d01..5c9e38b0c78 100644 --- a/libcxxabi/src/CMakeLists.txt +++ b/libcxxabi/src/CMakeLists.txt @@ -99,6 +99,6 @@ set_target_properties(cxxabi ) install(TARGETS cxxabi - LIBRARY DESTINATION lib${LLVM_LIBDIR_SUFFIX} - ARCHIVE DESTINATION lib${LLVM_LIBDIR_SUFFIX} + LIBRARY DESTINATION lib${LIBCXXABI_LIBDIR_SUFFIX} + ARCHIVE DESTINATION lib${LIBCXXABI_LIBDIR_SUFFIX} ) diff --git a/libcxxabi/test/CMakeLists.txt b/libcxxabi/test/CMakeLists.txt index 57468dcc849..7e833e14664 100644 --- a/libcxxabi/test/CMakeLists.txt +++ b/libcxxabi/test/CMakeLists.txt @@ -6,9 +6,6 @@ macro(pythonize_bool var) endif() endmacro() -set(LIBCXXABI_COMPILER ${CMAKE_CXX_COMPILER}) -set(LIBCXXABI_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/..) -set(LIBCXXABI_BINARY_DIR ${CMAKE_BINARY_DIR}) pythonize_bool(LIBCXXABI_ENABLE_SHARED) pythonize_bool(LIBCXXABI_ENABLE_THREADS) pythonize_bool(LIBCXXABI_USE_LLVM_UNWINDER) diff --git a/libcxxabi/test/lit.cfg b/libcxxabi/test/lit.cfg index 1b67817e3e1..9b70e292765 100644 --- a/libcxxabi/test/lit.cfg +++ b/libcxxabi/test/lit.cfg @@ -163,11 +163,11 @@ if libcxxabi_src_root is None: if libcxxabi_src_root is None: libcxxabi_src_root = os.path.dirname(config.test_source_root) -libcxxabi_obj_root = lit_config.params.get('libcxxabi_obj_root', None) -if libcxxabi_obj_root is None: - libcxxabi_obj_root = getattr(config, 'libcxxabi_obj_root', None) - if libcxxabi_obj_root is None: - libcxxabi_obj_root = libcxxabi_src_root +libcxxabi_library_root = lit_config.params.get('libcxxabi_library_root', None) +if libcxxabi_library_root is None: + libcxxabi_library_root = getattr(config, 'libcxxabi_library_root', None) + if libcxxabi_library_root is None: + lit_config.fatal("libcxxabi_library_root must be defined") libcxx_includes = lit_config.params.get('libcxx_includes', None) if libcxx_includes is None: @@ -195,7 +195,7 @@ if llvm_unwinder is None: # Compiler parameters include_paths = ['-I' + libcxxabi_src_root + '/include', '-I' + libcxx_includes] -library_paths = ['-L' + libcxxabi_obj_root + '/lib'] +library_paths = ['-L' + libcxxabi_library_root] compile_flags = ['-std=c++11'] link_flags = [] exec_env = {} @@ -277,9 +277,9 @@ if san: # Configure extra linker parameters. if sys.platform == 'darwin': - exec_env['DYLD_LIBRARY_PATH'] = os.path.join(libcxxabi_obj_root, 'lib') + exec_env['DYLD_LIBRARY_PATH'] = os.path.join(libcxxabi_library_root) elif sys.platform.startswith('linux'): - link_flags += ['-Wl,-R', libcxxabi_obj_root + '/lib'] + link_flags += ['-Wl,-R', libcxxabi_library_root] else: lit_config.fatal("unrecognized system") diff --git a/libcxxabi/test/lit.site.cfg.in b/libcxxabi/test/lit.site.cfg.in index 9753e1d9123..56ebd27feae 100644 --- a/libcxxabi/test/lit.site.cfg.in +++ b/libcxxabi/test/lit.site.cfg.in @@ -1,13 +1,13 @@ @AUTO_GEN_COMMENT@ -config.cxx_under_test = "@LIBCXXABI_COMPILER@" -config.libcxxabi_src_root = "@LIBCXXABI_SOURCE_DIR@" -config.libcxxabi_obj_root = "@LIBCXXABI_BINARY_DIR@" -config.python_executable = "@PYTHON_EXECUTABLE@" -config.enable_shared = @LIBCXXABI_ENABLE_SHARED@ -config.libcxx_includes = "@LIBCXXABI_LIBCXX_INCLUDES@" -config.llvm_unwinder = @LIBCXXABI_USE_LLVM_UNWINDER@ -config.enable_threads = @LIBCXXABI_ENABLE_THREADS@ -config.llvm_use_sanitizer = "@LLVM_USE_SANITIZER@" +config.cxx_under_test = "@LIBCXXABI_COMPILER@" +config.libcxxabi_src_root = "@LIBCXXABI_SOURCE_DIR@" +config.libcxxabi_library_root = "@LIBCXXABI_LIBRARY_DIR@" +config.python_executable = "@PYTHON_EXECUTABLE@" +config.enable_shared = @LIBCXXABI_ENABLE_SHARED@ +config.libcxx_includes = "@LIBCXXABI_LIBCXX_INCLUDES@" +config.llvm_unwinder = @LIBCXXABI_USE_LLVM_UNWINDER@ +config.enable_threads = @LIBCXXABI_ENABLE_THREADS@ +config.llvm_use_sanitizer = "@LLVM_USE_SANITIZER@" # Let the main config do the real work. lit_config.load_config(config, "@LIBCXXABI_SOURCE_DIR@/test/lit.cfg") |