Split out config_site logic so libc++abi can use it
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@250312 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
f0cd203bdc
commit
56c1f9b8e5
@ -414,10 +414,20 @@ class Configuration(object):
|
||||
support_path = os.path.join(self.libcxx_src_root, 'test/support')
|
||||
self.cxx.compile_flags += ['-I' + support_path]
|
||||
self.cxx.compile_flags += ['-include', os.path.join(support_path, 'nasty_macros.hpp')]
|
||||
self.configure_config_site_header()
|
||||
libcxx_headers = self.get_lit_conf(
|
||||
'libcxx_headers', os.path.join(self.libcxx_src_root, 'include'))
|
||||
if not os.path.isdir(libcxx_headers):
|
||||
self.lit_config.fatal("libcxx_headers='%s' is not a directory."
|
||||
% libcxx_headers)
|
||||
self.cxx.compile_flags += ['-I' + libcxx_headers]
|
||||
|
||||
def configure_config_site_header(self):
|
||||
# Check for a possible __config_site in the build directory. We
|
||||
# use this if it exists.
|
||||
config_site_header = os.path.join(self.libcxx_obj_root, '__config_site')
|
||||
if os.path.isfile(config_site_header):
|
||||
if not os.path.isfile(config_site_header):
|
||||
return
|
||||
contained_macros = self.parse_config_site_and_add_features(
|
||||
config_site_header)
|
||||
self.lit_config.note('Using __config_site header %s with macros: %r'
|
||||
@ -426,13 +436,6 @@ class Configuration(object):
|
||||
# 'parse_config_site_and_add_features(...)' in order for it to work.
|
||||
self.cxx.compile_flags += ['-include', config_site_header]
|
||||
|
||||
libcxx_headers = self.get_lit_conf(
|
||||
'libcxx_headers', os.path.join(self.libcxx_src_root, 'include'))
|
||||
if not os.path.isdir(libcxx_headers):
|
||||
self.lit_config.fatal("libcxx_headers='%s' is not a directory."
|
||||
% libcxx_headers)
|
||||
self.cxx.compile_flags += ['-I' + libcxx_headers]
|
||||
|
||||
def parse_config_site_and_add_features(self, header):
|
||||
""" parse_config_site_and_add_features - Deduce and add the test
|
||||
features that that are implied by the #define's in the __config_site
|
||||
|
Loading…
Reference in New Issue
Block a user