Use __config_site when building libc++. Also cleanup ABI versioning doc

llvm-svn: 250261
This commit is contained in:
Eric Fiselier 2015-10-14 00:22:05 +00:00
parent ebd3f44f93
commit 29ada6d178
5 changed files with 10 additions and 4 deletions

View File

@ -321,6 +321,9 @@ if (LIBCXX_NEEDS_SITE_CONFIG)
include/__config_site.in
${LIBCXX_BINARY_DIR}/__config_site
@ONLY)
# Provide the config definitions by included the generated __config_site
# file at compile time.
add_compile_flags("-include ${LIBCXX_BINARY_DIR}/__config_site")
endif()
#===============================================================================

View File

@ -49,10 +49,12 @@ macro(define_if_not condition def)
endif()
endmacro()
# Add a macro definition to the __config_site file if the specified condition
# is 'true'. Note that '-D${def}' is not added. Instead it is expected that
# the build include the '__config_site' header.
macro(config_define_if condition def)
if (${condition})
set(${def} ON)
add_definitions(-D${def})
set(LIBCXX_NEEDS_SITE_CONFIG ON)
endif()
endmacro()
@ -60,14 +62,12 @@ endmacro()
macro(config_define_if_not condition def)
if (NOT ${condition})
set(${def} ON)
add_definitions(-D${def})
set(LIBCXX_NEEDS_SITE_CONFIG ON)
endif()
endmacro()
macro(config_define value def)
set(${def} ${value})
add_definitions(-D${def}=${value})
set(LIBCXX_NEEDS_SITE_CONFIG ON)
endmacro()

View File

@ -128,6 +128,7 @@ Design Documents
:maxdepth: 1
DesignDocs/CapturingConfigInfo
DesignDocs/ABIVersioning
* `<atomic> design <http://libcxx.llvm.org/atomic_design.html>`_

View File

@ -444,7 +444,9 @@ class Configuration(object):
def configure_compile_flags_abi_version(self):
abi_version = self.get_lit_conf('abi_version', '').strip()
abi_unstable = self.get_lit_bool('abi_unstable')
if abi_version:
# Only add the ABI version when it is non-default.
# FIXME(EricWF): Get the ABI version from the "__config_site".
if abi_version and abi_version != '1':
self.cxx.compile_flags += ['-D_LIBCPP_ABI_VERSION=' + abi_version]
if abi_unstable:
self.config.available_features.add('libcpp-abi-unstable')