summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--libcxxabi/CMakeLists.txt13
-rw-r--r--libcxxabi/src/CMakeLists.txt4
-rw-r--r--libcxxabi/test/CMakeLists.txt3
-rw-r--r--libcxxabi/test/lit.cfg16
-rw-r--r--libcxxabi/test/lit.site.cfg.in18
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")
OpenPOWER on IntegriCloud