[libc++] Add site config option for ABI macros
authorShoaib Meenai <smeenai@fb.com>
Wed, 4 Oct 2017 23:17:12 +0000 (23:17 +0000)
committerShoaib Meenai <smeenai@fb.com>
Wed, 4 Oct 2017 23:17:12 +0000 (23:17 +0000)
commit8e62812ed318b33c786c5eecf2ab9af091a4fc8e
tree31b5df19bfcdac96ac406382f10666be4775763c
parent7a930923999574d4ce02906ad68aff98c84a7689
[libc++] Add site config option for ABI macros

Some ABI macros affect headers, so it's nice to have a site config
option for them. Add a LIBCXX_ABI_DEFINES cmake macro to allow
specifying a list of ABI macros to define in the site config.

The primary design constraint (as discussed with Eric on IRC a while
back) was to not have to repeat the ABI macro names in cmake, which only
leaves a free-form cmake list as an option. A somewhat unfortunate
consequence is that we can't verify that the ABI macros being defined
actually exist, though we can at least perform some basic sanity
checking, since all the ABI macros begin with _LIBCPP_ABI_.

Differential Revision: https://reviews.llvm.org/D36719

llvm-svn: 314946
libcxx/CMakeLists.txt
libcxx/docs/BuildingLibcxx.rst
libcxx/include/__config_site.in
libcxx/utils/libcxx/test/config.py