[pstl] Add a __pstl_config_site header to record the CMake configuration
This commit adds a __pstl_config_site header that contains the value of
macros specified at CMake configuration time. It works similarly to
libc++'s __config_site header, except we always include it as a separate
file instead of concatenating it to the main configuration header.
It is necessary to thread the includes for that header into libc++'s
lit configuration, otherwise we'd be requiring an installation step
prior to running the test suite.
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@368284 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/test/lit.site.cfg.in b/test/lit.site.cfg.in
index b5b390d..fd3d7d8 100644
--- a/test/lit.site.cfg.in
+++ b/test/lit.site.cfg.in
@@ -33,7 +33,8 @@
config.debug_build = @LIBCXX_DEBUG_BUILD@
config.libcxxabi_shared = @LIBCXXABI_ENABLE_SHARED@
config.cxx_ext_threads = @LIBCXX_BUILD_EXTERNAL_THREAD_LIBRARY@
-config.pstl_root = "@ParallelSTL_SOURCE_DIR@" if @LIBCXX_ENABLE_PARALLEL_ALGORITHMS@ else None
+config.pstl_src_root = "@ParallelSTL_SOURCE_DIR@" if @LIBCXX_ENABLE_PARALLEL_ALGORITHMS@ else None
+config.pstl_obj_root = "@ParallelSTL_BINARY_DIR@" if @LIBCXX_ENABLE_PARALLEL_ALGORITHMS@ else None
# Let the main config do the real work.
config.loaded_site_config = True
diff --git a/utils/libcxx/test/config.py b/utils/libcxx/test/config.py
index 09ba9cf..e074df3 100644
--- a/utils/libcxx/test/config.py
+++ b/utils/libcxx/test/config.py
@@ -582,10 +582,12 @@
self.cxx.compile_flags += ['-I' + support_path]
# Add includes for the PSTL headers
- pstl_root = self.get_lit_conf('pstl_root')
- if pstl_root is not None:
- self.cxx.compile_flags += ['-I' + os.path.join(pstl_root, 'include')]
- self.cxx.compile_flags += ['-I' + os.path.join(pstl_root, 'test')]
+ pstl_src_root = self.get_lit_conf('pstl_src_root')
+ pstl_obj_root = self.get_lit_conf('pstl_obj_root')
+ if pstl_src_root is not None and pstl_obj_root is not None:
+ self.cxx.compile_flags += ['-I' + os.path.join(pstl_src_root, 'include')]
+ self.cxx.compile_flags += ['-I' + os.path.join(pstl_obj_root, 'generated_headers')]
+ self.cxx.compile_flags += ['-I' + os.path.join(pstl_src_root, 'test')]
self.config.available_features.add('parallel-algorithms')
# FIXME(EricWF): variant_size.pass.cpp requires a slightly larger