2018-06-12 03:10:02 +00:00
|
|
|
set(files
|
|
|
|
__bit_reference
|
|
|
|
__bsd_locale_defaults.h
|
|
|
|
__bsd_locale_fallbacks.h
|
2018-07-03 04:01:44 +00:00
|
|
|
__errc
|
2018-06-12 03:10:02 +00:00
|
|
|
__debug
|
|
|
|
__functional_03
|
|
|
|
__functional_base
|
|
|
|
__functional_base_03
|
|
|
|
__hash_table
|
|
|
|
__libcpp_version
|
|
|
|
__locale
|
|
|
|
__mutex_base
|
2018-08-01 01:33:38 +00:00
|
|
|
__node_handle
|
2018-06-12 03:10:02 +00:00
|
|
|
__nullptr
|
|
|
|
__split_buffer
|
|
|
|
__sso_allocator
|
|
|
|
__std_stream
|
|
|
|
__string
|
|
|
|
__threading_support
|
|
|
|
__tree
|
|
|
|
__tuple
|
|
|
|
__undef_macros
|
|
|
|
algorithm
|
|
|
|
any
|
|
|
|
array
|
|
|
|
atomic
|
2020-02-18 14:58:34 +00:00
|
|
|
barrier
|
2018-08-17 16:07:48 +00:00
|
|
|
bit
|
2018-06-12 03:10:02 +00:00
|
|
|
bitset
|
|
|
|
cassert
|
|
|
|
ccomplex
|
|
|
|
cctype
|
|
|
|
cerrno
|
|
|
|
cfenv
|
|
|
|
cfloat
|
2018-08-01 02:38:30 +00:00
|
|
|
charconv
|
2018-06-12 03:10:02 +00:00
|
|
|
chrono
|
|
|
|
cinttypes
|
|
|
|
ciso646
|
|
|
|
climits
|
|
|
|
clocale
|
|
|
|
cmath
|
|
|
|
codecvt
|
|
|
|
compare
|
|
|
|
complex
|
|
|
|
complex.h
|
2020-04-08 22:00:13 +00:00
|
|
|
concepts
|
2018-06-12 03:10:02 +00:00
|
|
|
condition_variable
|
|
|
|
csetjmp
|
|
|
|
csignal
|
|
|
|
cstdarg
|
|
|
|
cstdbool
|
|
|
|
cstddef
|
|
|
|
cstdint
|
|
|
|
cstdio
|
|
|
|
cstdlib
|
|
|
|
cstring
|
|
|
|
ctgmath
|
|
|
|
ctime
|
|
|
|
ctype.h
|
|
|
|
cwchar
|
|
|
|
cwctype
|
|
|
|
deque
|
|
|
|
errno.h
|
|
|
|
exception
|
2019-08-05 18:29:14 +00:00
|
|
|
execution
|
2018-06-12 03:10:02 +00:00
|
|
|
experimental/__config
|
|
|
|
experimental/__memory
|
|
|
|
experimental/algorithm
|
|
|
|
experimental/coroutine
|
|
|
|
experimental/deque
|
|
|
|
experimental/filesystem
|
|
|
|
experimental/forward_list
|
|
|
|
experimental/functional
|
|
|
|
experimental/iterator
|
|
|
|
experimental/list
|
|
|
|
experimental/map
|
|
|
|
experimental/memory_resource
|
|
|
|
experimental/propagate_const
|
|
|
|
experimental/regex
|
|
|
|
experimental/set
|
|
|
|
experimental/simd
|
|
|
|
experimental/string
|
|
|
|
experimental/type_traits
|
|
|
|
experimental/unordered_map
|
|
|
|
experimental/unordered_set
|
|
|
|
experimental/utility
|
|
|
|
experimental/vector
|
|
|
|
ext/__hash
|
|
|
|
ext/hash_map
|
|
|
|
ext/hash_set
|
2019-02-11 23:47:19 +00:00
|
|
|
fenv.h
|
2018-07-27 03:42:58 +00:00
|
|
|
filesystem
|
2018-06-12 03:10:02 +00:00
|
|
|
float.h
|
|
|
|
forward_list
|
|
|
|
fstream
|
|
|
|
functional
|
|
|
|
future
|
|
|
|
initializer_list
|
|
|
|
inttypes.h
|
|
|
|
iomanip
|
|
|
|
ios
|
|
|
|
iosfwd
|
|
|
|
iostream
|
|
|
|
istream
|
|
|
|
iterator
|
2020-02-18 14:58:34 +00:00
|
|
|
latch
|
2018-06-12 03:10:02 +00:00
|
|
|
limits
|
|
|
|
limits.h
|
|
|
|
list
|
|
|
|
locale
|
|
|
|
locale.h
|
|
|
|
map
|
|
|
|
math.h
|
|
|
|
memory
|
|
|
|
module.modulemap
|
|
|
|
mutex
|
|
|
|
new
|
2020-06-19 07:13:33 +00:00
|
|
|
numbers
|
2018-06-12 03:10:02 +00:00
|
|
|
numeric
|
|
|
|
optional
|
|
|
|
ostream
|
|
|
|
queue
|
|
|
|
random
|
|
|
|
ratio
|
|
|
|
regex
|
|
|
|
scoped_allocator
|
2020-02-18 14:58:34 +00:00
|
|
|
semaphore
|
2018-06-12 03:10:02 +00:00
|
|
|
set
|
|
|
|
setjmp.h
|
|
|
|
shared_mutex
|
2018-07-24 03:01:02 +00:00
|
|
|
span
|
2018-06-12 03:10:02 +00:00
|
|
|
sstream
|
|
|
|
stack
|
|
|
|
stdbool.h
|
|
|
|
stddef.h
|
|
|
|
stdexcept
|
|
|
|
stdint.h
|
|
|
|
stdio.h
|
|
|
|
stdlib.h
|
|
|
|
streambuf
|
|
|
|
string
|
|
|
|
string.h
|
|
|
|
string_view
|
|
|
|
strstream
|
|
|
|
system_error
|
|
|
|
tgmath.h
|
|
|
|
thread
|
|
|
|
tuple
|
|
|
|
type_traits
|
|
|
|
typeindex
|
|
|
|
typeinfo
|
|
|
|
unordered_map
|
|
|
|
unordered_set
|
|
|
|
utility
|
|
|
|
valarray
|
|
|
|
variant
|
|
|
|
vector
|
|
|
|
version
|
|
|
|
wchar.h
|
|
|
|
wctype.h
|
|
|
|
)
|
|
|
|
|
|
|
|
if(LIBCXX_INSTALL_SUPPORT_HEADERS)
|
|
|
|
set(files
|
|
|
|
${files}
|
|
|
|
support/android/locale_bionic.h
|
|
|
|
support/fuchsia/xlocale.h
|
|
|
|
support/ibm/limits.h
|
|
|
|
support/ibm/locale_mgmt_aix.h
|
|
|
|
support/ibm/support.h
|
|
|
|
support/ibm/xlocale.h
|
|
|
|
support/musl/xlocale.h
|
|
|
|
support/newlib/xlocale.h
|
|
|
|
support/solaris/floatingpoint.h
|
|
|
|
support/solaris/wchar.h
|
|
|
|
support/solaris/xlocale.h
|
|
|
|
support/win32/limits_msvc_win32.h
|
|
|
|
support/win32/locale_win32.h
|
|
|
|
support/xlocale/__nop_locale_mgmt.h
|
|
|
|
support/xlocale/__posix_l_fallback.h
|
|
|
|
support/xlocale/__strtonum_fallback.h
|
|
|
|
)
|
2013-11-15 18:34:43 +00:00
|
|
|
endif()
|
[libcxx] Capture configuration information when installing the libc++ headers
Summary:
Hi all,
This patch is a successor to D11963. However it has changed dramatically and I felt it would be best to start a new review thread.
Please read the design documentation added in this patch for a description of how it works.
Reviewers: mclow.lists, danalbert, jroelofs, EricWF
Subscribers: vkalintiris, rnk, ed, espositofulvio, asl, eugenis, cfe-commits
Differential Revision: http://reviews.llvm.org/D13407
llvm-svn: 250235
2015-10-13 22:12:02 +00:00
|
|
|
|
2018-03-10 01:20:11 +00:00
|
|
|
if (LIBCXX_NEEDS_SITE_CONFIG)
|
|
|
|
# Generate a custom __config header. The new header is created
|
|
|
|
# by prepending __config_site to the current __config header.
|
|
|
|
add_custom_command(OUTPUT ${LIBCXX_BINARY_DIR}/__generated_config
|
2020-04-28 19:50:12 +00:00
|
|
|
COMMAND ${Python3_EXECUTABLE} ${LIBCXX_SOURCE_DIR}/utils/cat_files.py
|
2018-03-10 01:20:11 +00:00
|
|
|
${LIBCXX_BINARY_DIR}/__config_site
|
|
|
|
${LIBCXX_SOURCE_DIR}/include/__config
|
|
|
|
-o ${LIBCXX_BINARY_DIR}/__generated_config
|
|
|
|
DEPENDS ${LIBCXX_SOURCE_DIR}/include/__config
|
|
|
|
${LIBCXX_BINARY_DIR}/__config_site
|
|
|
|
)
|
|
|
|
# Add a target that executes the generation commands.
|
2018-06-12 03:10:02 +00:00
|
|
|
add_custom_target(cxx-generated-config ALL
|
2018-03-10 01:20:11 +00:00
|
|
|
DEPENDS ${LIBCXX_BINARY_DIR}/__generated_config)
|
2018-06-12 03:10:02 +00:00
|
|
|
set(generated_config_deps cxx-generated-config)
|
|
|
|
else()
|
|
|
|
set(files
|
|
|
|
${files}
|
|
|
|
__config
|
|
|
|
)
|
2018-03-10 01:20:11 +00:00
|
|
|
endif()
|
|
|
|
|
2019-10-21 23:38:32 +00:00
|
|
|
# In some build configurations (like bootstrapping clang), we need to be able to
|
|
|
|
# install the libcxx headers before the CMake configuration for libcxx runs. Making
|
2019-05-23 17:06:46 +00:00
|
|
|
# the name of this target configurable allows LLVM/runtimes/CMakeLists.txt to
|
|
|
|
# add this subdirectory to the LLVM build to put libcxx's headers in place
|
|
|
|
# before libcxx's build configuration is run.
|
|
|
|
if (NOT CXX_HEADER_TARGET)
|
|
|
|
set(CXX_HEADER_TARGET cxx-headers)
|
|
|
|
endif()
|
2018-07-25 22:57:39 +00:00
|
|
|
if(NOT LIBCXX_USING_INSTALLED_LLVM AND LIBCXX_HEADER_DIR)
|
2018-06-28 03:11:52 +00:00
|
|
|
set(output_dir ${LIBCXX_HEADER_DIR}/include/c++/v1)
|
2018-06-12 03:10:02 +00:00
|
|
|
|
|
|
|
set(out_files)
|
|
|
|
foreach(f ${files})
|
|
|
|
set(src ${CMAKE_CURRENT_SOURCE_DIR}/${f})
|
|
|
|
set(dst ${output_dir}/${f})
|
|
|
|
add_custom_command(OUTPUT ${dst}
|
|
|
|
DEPENDS ${src}
|
|
|
|
COMMAND ${CMAKE_COMMAND} -E copy_if_different ${src} ${dst}
|
|
|
|
COMMENT "Copying CXX header ${f}")
|
|
|
|
list(APPEND out_files ${dst})
|
|
|
|
endforeach()
|
2018-03-10 01:20:11 +00:00
|
|
|
|
|
|
|
if (LIBCXX_NEEDS_SITE_CONFIG)
|
|
|
|
# Copy the generated header as __config into build directory.
|
2018-06-12 03:10:02 +00:00
|
|
|
set(src ${LIBCXX_BINARY_DIR}/__generated_config)
|
|
|
|
set(dst ${output_dir}/__config)
|
|
|
|
add_custom_command(OUTPUT ${dst}
|
|
|
|
DEPENDS ${src} ${generated_config_deps}
|
|
|
|
COMMAND ${CMAKE_COMMAND} -E copy_if_different ${src} ${dst}
|
|
|
|
COMMENT "Copying CXX __config")
|
|
|
|
list(APPEND out_files ${dst})
|
2018-03-10 01:20:11 +00:00
|
|
|
endif()
|
2018-06-12 03:10:02 +00:00
|
|
|
|
2019-05-23 17:06:46 +00:00
|
|
|
add_custom_target(${CXX_HEADER_TARGET} ALL DEPENDS ${out_files} ${LIBCXX_CXX_ABI_HEADER_TARGET})
|
2018-06-12 03:10:02 +00:00
|
|
|
else()
|
2019-05-23 17:06:46 +00:00
|
|
|
add_custom_target(${CXX_HEADER_TARGET})
|
2016-08-30 16:51:34 +00:00
|
|
|
endif()
|
2019-05-23 17:06:46 +00:00
|
|
|
set_target_properties(${CXX_HEADER_TARGET} PROPERTIES FOLDER "Misc")
|
2014-10-23 16:51:12 +00:00
|
|
|
|
2014-12-12 22:52:58 +00:00
|
|
|
if (LIBCXX_INSTALL_HEADERS)
|
2018-06-12 03:10:02 +00:00
|
|
|
foreach(file ${files})
|
|
|
|
get_filename_component(dir ${file} DIRECTORY)
|
|
|
|
install(FILES ${file}
|
2018-07-15 04:09:35 +00:00
|
|
|
DESTINATION ${LIBCXX_INSTALL_HEADER_PREFIX}include/c++/v1/${dir}
|
2019-05-23 17:06:46 +00:00
|
|
|
COMPONENT ${CXX_HEADER_TARGET}
|
2018-06-12 03:10:02 +00:00
|
|
|
PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ
|
|
|
|
)
|
|
|
|
endforeach()
|
[libcxx] Capture configuration information when installing the libc++ headers
Summary:
Hi all,
This patch is a successor to D11963. However it has changed dramatically and I felt it would be best to start a new review thread.
Please read the design documentation added in this patch for a description of how it works.
Reviewers: mclow.lists, danalbert, jroelofs, EricWF
Subscribers: vkalintiris, rnk, ed, espositofulvio, asl, eugenis, cfe-commits
Differential Revision: http://reviews.llvm.org/D13407
llvm-svn: 250235
2015-10-13 22:12:02 +00:00
|
|
|
|
|
|
|
if (LIBCXX_NEEDS_SITE_CONFIG)
|
|
|
|
# Install the generated header as __config.
|
|
|
|
install(FILES ${LIBCXX_BINARY_DIR}/__generated_config
|
2018-07-15 04:09:35 +00:00
|
|
|
DESTINATION ${LIBCXX_INSTALL_HEADER_PREFIX}include/c++/v1
|
[libcxx] Capture configuration information when installing the libc++ headers
Summary:
Hi all,
This patch is a successor to D11963. However it has changed dramatically and I felt it would be best to start a new review thread.
Please read the design documentation added in this patch for a description of how it works.
Reviewers: mclow.lists, danalbert, jroelofs, EricWF
Subscribers: vkalintiris, rnk, ed, espositofulvio, asl, eugenis, cfe-commits
Differential Revision: http://reviews.llvm.org/D13407
llvm-svn: 250235
2015-10-13 22:12:02 +00:00
|
|
|
PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ
|
|
|
|
RENAME __config
|
2019-05-23 17:06:46 +00:00
|
|
|
COMPONENT ${CXX_HEADER_TARGET})
|
2016-04-29 22:17:15 +00:00
|
|
|
endif()
|
|
|
|
|
|
|
|
if (NOT CMAKE_CONFIGURATION_TYPES)
|
2019-05-23 17:06:46 +00:00
|
|
|
add_custom_target(install-${CXX_HEADER_TARGET}
|
|
|
|
DEPENDS ${CXX_HEADER_TARGET} ${generated_config_deps}
|
2016-04-29 22:17:15 +00:00
|
|
|
COMMAND "${CMAKE_COMMAND}"
|
2019-05-23 17:06:46 +00:00
|
|
|
-DCMAKE_INSTALL_COMPONENT=${CXX_HEADER_TARGET}
|
2016-04-29 22:17:15 +00:00
|
|
|
-P "${CMAKE_BINARY_DIR}/cmake_install.cmake")
|
2017-12-06 21:03:42 +00:00
|
|
|
# Stripping is a no-op for headers
|
2019-05-23 17:06:46 +00:00
|
|
|
add_custom_target(install-${CXX_HEADER_TARGET}-stripped DEPENDS install-${CXX_HEADER_TARGET})
|
[libcxx] Capture configuration information when installing the libc++ headers
Summary:
Hi all,
This patch is a successor to D11963. However it has changed dramatically and I felt it would be best to start a new review thread.
Please read the design documentation added in this patch for a description of how it works.
Reviewers: mclow.lists, danalbert, jroelofs, EricWF
Subscribers: vkalintiris, rnk, ed, espositofulvio, asl, eugenis, cfe-commits
Differential Revision: http://reviews.llvm.org/D13407
llvm-svn: 250235
2015-10-13 22:12:02 +00:00
|
|
|
endif()
|
2014-12-12 22:52:58 +00:00
|
|
|
endif()
|