Index: cfe/trunk/cmake/caches/Apple-stage2.cmake =================================================================== --- cfe/trunk/cmake/caches/Apple-stage2.cmake +++ cfe/trunk/cmake/caches/Apple-stage2.cmake @@ -60,7 +60,7 @@ clang LTO clang-format - clang-headers + clang-resource-headers cxx-headers ${LLVM_TOOLCHAIN_TOOLS} CACHE STRING "") Index: cfe/trunk/cmake/caches/BaremetalARM.cmake =================================================================== --- cfe/trunk/cmake/caches/BaremetalARM.cmake +++ cfe/trunk/cmake/caches/BaremetalARM.cmake @@ -41,7 +41,7 @@ set(LLVM_DISTRIBUTION_COMPONENTS clang lld - clang-headers + clang-resource-headers builtins-armv6m-none-eabi builtins-armv7m-none-eabi builtins-armv7em-none-eabi Index: cfe/trunk/cmake/caches/DistributionExample-stage2.cmake =================================================================== --- cfe/trunk/cmake/caches/DistributionExample-stage2.cmake +++ cfe/trunk/cmake/caches/DistributionExample-stage2.cmake @@ -23,7 +23,7 @@ clang LTO clang-format - clang-headers + clang-resource-headers builtins runtimes ${LLVM_TOOLCHAIN_TOOLS} Index: cfe/trunk/cmake/caches/Fuchsia-stage2.cmake =================================================================== --- cfe/trunk/cmake/caches/Fuchsia-stage2.cmake +++ cfe/trunk/cmake/caches/Fuchsia-stage2.cmake @@ -167,7 +167,7 @@ LTO clang-apply-replacements clang-format - clang-headers + clang-resource-headers clang-include-fixer clang-refactor clang-tidy Index: cfe/trunk/cmake/modules/AddClang.cmake =================================================================== --- cfe/trunk/cmake/modules/AddClang.cmake +++ cfe/trunk/cmake/modules/AddClang.cmake @@ -133,7 +133,7 @@ endif() add_clang_executable(${name} ${ARGN}) - add_dependencies(${name} clang-headers) + add_dependencies(${name} clang-resource-headers) if (CLANG_BUILD_TOOLS) if(${name} IN_LIST LLVM_DISTRIBUTION_COMPONENTS OR Index: cfe/trunk/docs/LibTooling.rst =================================================================== --- cfe/trunk/docs/LibTooling.rst +++ cfe/trunk/docs/LibTooling.rst @@ -187,8 +187,8 @@ does. Thus, the default location to look for builtin headers is in a path ``$(dirname /path/to/tool)/../lib/clang/3.3/include`` relative to the tool binary. This works out-of-the-box for tools running from llvm's toplevel -binary directory after building clang-headers, or if the tool is running from -the binary directory of a clang install next to the clang binary. +binary directory after building clang-resource-headers, or if the tool is +running from the binary directory of a clang install next to the clang binary. Tips: if your tool fails to find ``stddef.h`` or similar headers, call the tool with ``-v`` and look at the search paths it looks through. Index: cfe/trunk/docs/ReleaseNotes.rst =================================================================== --- cfe/trunk/docs/ReleaseNotes.rst +++ cfe/trunk/docs/ReleaseNotes.rst @@ -131,7 +131,7 @@ - ... OpenMP Support in Clang ----------------------------------- +----------------------- - Added emission of the debug information for NVPTX target devices. @@ -147,6 +147,17 @@ Clang. If upgrading an external codebase that uses Clang as a library, this section should help get you past the largest hurdles of upgrading. +Build System Changes +-------------------- + +These are major changes to the build system that have happened since the 8.0.0 +release of Clang. Users of the build system should adjust accordingly. + +- In 8.0.0 and below, the install-clang-headers target would install clang's + resource directory headers. This installation is now performed by the + install-clang-resource-headers target. Users of the old install-clang-headers + target should switch to the new install-clang-resource-headers target. + - ... AST Matchers Index: cfe/trunk/examples/clang-interpreter/CMakeLists.txt =================================================================== --- cfe/trunk/examples/clang-interpreter/CMakeLists.txt +++ cfe/trunk/examples/clang-interpreter/CMakeLists.txt @@ -16,7 +16,7 @@ ) add_dependencies(clang-interpreter - clang-headers + clang-resource-headers ) target_link_libraries(clang-interpreter Index: cfe/trunk/lib/Headers/CMakeLists.txt =================================================================== --- cfe/trunk/lib/Headers/CMakeLists.txt +++ cfe/trunk/lib/Headers/CMakeLists.txt @@ -157,8 +157,8 @@ # Generate arm_fp16.h clang_generate_header(-gen-arm-fp16 arm_fp16.td arm_fp16.h) -add_custom_target(clang-headers ALL DEPENDS ${out_files}) -set_target_properties(clang-headers PROPERTIES +add_custom_target(clang-resource-headers ALL DEPENDS ${out_files}) +set_target_properties(clang-resource-headers PROPERTIES FOLDER "Misc" RUNTIME_OUTPUT_DIRECTORY "${output_dir}") @@ -167,10 +167,10 @@ install( DIRECTORY ${output_dir} DESTINATION ${header_install_dir} - COMPONENT clang-headers) + COMPONENT clang-resource-headers) if (NOT LLVM_ENABLE_IDE) - add_llvm_install_targets(install-clang-headers - DEPENDS clang-headers - COMPONENT clang-headers) + add_llvm_install_targets(install-clang-resource-headers + DEPENDS clang-resource-headers + COMPONENT clang-resource-headers) endif() Index: cfe/trunk/test/CMakeLists.txt =================================================================== --- cfe/trunk/test/CMakeLists.txt +++ cfe/trunk/test/CMakeLists.txt @@ -46,7 +46,7 @@ endif () list(APPEND CLANG_TEST_DEPS - clang clang-headers + clang clang-resource-headers clang-format c-index-test diagtool clang-tblgen Index: cfe/trunk/tools/driver/CMakeLists.txt =================================================================== --- cfe/trunk/tools/driver/CMakeLists.txt +++ cfe/trunk/tools/driver/CMakeLists.txt @@ -60,7 +60,7 @@ export_executable_symbols(clang) endif() -add_dependencies(clang clang-headers) +add_dependencies(clang clang-resource-headers) if(NOT CLANG_LINKS_TO_CREATE) set(CLANG_LINKS_TO_CREATE clang++ clang-cl clang-cpp) Index: cfe/trunk/tools/libclang/CMakeLists.txt =================================================================== --- cfe/trunk/tools/libclang/CMakeLists.txt +++ cfe/trunk/tools/libclang/CMakeLists.txt @@ -92,7 +92,7 @@ add_clang_library(libclang ${ENABLE_SHARED} ${ENABLE_STATIC} OUTPUT_NAME ${output_name} ${SOURCES} - DEPENDS clang-headers + DEPENDS clang-resource-headers LINK_LIBS ${LIBS} Index: clang-tools-extra/trunk/clang-tidy/tool/CMakeLists.txt =================================================================== --- clang-tools-extra/trunk/clang-tidy/tool/CMakeLists.txt +++ clang-tools-extra/trunk/clang-tidy/tool/CMakeLists.txt @@ -9,7 +9,7 @@ ClangTidyMain.cpp ) add_dependencies(clang-tidy - clang-headers + clang-resource-headers ) target_link_libraries(clang-tidy PRIVATE Index: clang-tools-extra/trunk/test/CMakeLists.txt =================================================================== --- clang-tools-extra/trunk/test/CMakeLists.txt +++ clang-tools-extra/trunk/test/CMakeLists.txt @@ -59,7 +59,7 @@ # For the clang-tidy libclang integration test. c-index-test # clang-tidy tests require it. - clang-headers + clang-resource-headers clang-tidy ) Index: compiler-rt/trunk/test/CMakeLists.txt =================================================================== --- compiler-rt/trunk/test/CMakeLists.txt +++ compiler-rt/trunk/test/CMakeLists.txt @@ -20,7 +20,7 @@ if(NOT COMPILER_RT_STANDALONE_BUILD AND NOT RUNTIMES_BUILD) # Use LLVM utils and Clang from the same build tree. list(APPEND SANITIZER_COMMON_LIT_TEST_DEPS - clang clang-headers FileCheck count not llvm-config llvm-nm llvm-objdump + clang clang-resource-headers FileCheck count not llvm-config llvm-nm llvm-objdump llvm-readobj llvm-symbolizer compiler-rt-headers sancov) if (WIN32) list(APPEND SANITIZER_COMMON_LIT_TEST_DEPS KillTheDoctor) Index: lldb/trunk/cmake/modules/LLDBFramework.cmake =================================================================== --- lldb/trunk/cmake/modules/LLDBFramework.cmake +++ lldb/trunk/cmake/modules/LLDBFramework.cmake @@ -98,10 +98,10 @@ # Copy vendor-specific headers from clang (without staging). if(NOT IOS AND NOT LLDB_BUILT_STANDALONE) - add_dependencies(lldb-framework clang-headers) + add_dependencies(lldb-framework clang-resource-headers) add_custom_command(TARGET lldb-framework POST_BUILD COMMAND ${CMAKE_COMMAND} -E copy_directory - $ + $ $/Resources/Clang/include COMMENT "LLDB.framework: copy clang vendor-specific headers" ) Index: lldb/trunk/lldb.xcodeproj/project.pbxproj =================================================================== --- lldb/trunk/lldb.xcodeproj/project.pbxproj +++ lldb/trunk/lldb.xcodeproj/project.pbxproj @@ -7618,7 +7618,7 @@ ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "/usr/bin/python $SRCROOT/scripts/Xcode/package-clang-headers.py $TARGET_BUILD_DIR $LLVM_BUILD_DIR/x86_64\n"; + shellScript = "/usr/bin/python $SRCROOT/scripts/Xcode/package-clang-resource-headers.py $TARGET_BUILD_DIR $LLVM_BUILD_DIR/x86_64\n"; }; 4C3326CA18B2A2B800EB5DD7 /* ShellScript */ = { isa = PBXShellScriptBuildPhase; Index: lldb/trunk/scripts/Xcode/package-clang-headers.py =================================================================== --- lldb/trunk/scripts/Xcode/package-clang-headers.py +++ lldb/trunk/scripts/Xcode/package-clang-headers.py @@ -1,85 +0,0 @@ -#! /usr/bin/env python - -# package-clang-headers.py -# -# The Clang module loader depends on built-in headers for the Clang compiler. -# We grab these from the Clang build and move them into the LLDB module. - -# TARGET_DIR is where the lldb framework/shared library gets put. -# LLVM_BUILD_DIR is where LLVM and Clang got built -# LLVM_BUILD_DIR/lib/clang should exist and contain headers - -import os -import re -import shutil -import sys - -import lldbbuild - -if len(sys.argv) != 3: - print "usage: " + sys.argv[0] + " TARGET_DIR LLVM_BUILD_DIR" - sys.exit(1) - -target_dir = sys.argv[1] -llvm_build_dir = lldbbuild.expected_package_build_path_for("llvm") - -if not os.path.isdir(target_dir): - print target_dir + " doesn't exist" - sys.exit(1) - -if not os.path.isdir(llvm_build_dir): - llvm_build_dir = re.sub("-macosx-", "-iphoneos-", llvm_build_dir) - -if not os.path.isdir(llvm_build_dir): - llvm_build_dir = re.sub("-iphoneos-", "-appletvos-", llvm_build_dir) - -if not os.path.isdir(llvm_build_dir): - llvm_build_dir = re.sub("-appletvos-", "-watchos-", llvm_build_dir) - -if not os.path.isdir(llvm_build_dir): - llvm_build_dir = re.sub("-watchos-", "-bridgeos-", llvm_build_dir) - -if not os.path.isdir(llvm_build_dir): - print llvm_build_dir + " doesn't exist" - sys.exit(1) - -resources = os.path.join(target_dir, "LLDB.framework", "Resources") - -if not os.path.isdir(resources): - print resources + " must exist" - sys.exit(1) - -clang_dir = os.path.join(llvm_build_dir, "lib", "clang") - -if not os.path.isdir(clang_dir): - print clang_dir + " must exist" - sys.exit(1) - -version_dir = None - -for subdir in os.listdir(clang_dir): - if (re.match("^[0-9]+(\.[0-9]+)*$", subdir)): - version_dir = os.path.join(clang_dir, subdir) - break - -if version_dir is None: - print "Couldn't find a subdirectory of the form #(.#)... in " + clang_dir - sys.exit(1) - -if not os.path.isdir(version_dir): - print version_dir + " is not a directory" - sys.exit(1) - -# Just checking... we're actually going to copy all of version_dir -include_dir = os.path.join(version_dir, "include") - -if not os.path.isdir(include_dir): - print version_dir + " is not a directory" - sys.exit(1) - -clang_resources = os.path.join(resources, "Clang") - -if os.path.isdir(clang_resources): - shutil.rmtree(clang_resources) - -shutil.copytree(version_dir, clang_resources) Index: lldb/trunk/scripts/Xcode/package-clang-resource-headers.py =================================================================== --- lldb/trunk/scripts/Xcode/package-clang-resource-headers.py +++ lldb/trunk/scripts/Xcode/package-clang-resource-headers.py @@ -0,0 +1,85 @@ +#! /usr/bin/env python + +# package-clang-resource-headers.py +# +# The Clang module loader depends on built-in headers for the Clang compiler. +# We grab these from the Clang build and move them into the LLDB module. + +# TARGET_DIR is where the lldb framework/shared library gets put. +# LLVM_BUILD_DIR is where LLVM and Clang got built +# LLVM_BUILD_DIR/lib/clang should exist and contain headers + +import os +import re +import shutil +import sys + +import lldbbuild + +if len(sys.argv) != 3: + print "usage: " + sys.argv[0] + " TARGET_DIR LLVM_BUILD_DIR" + sys.exit(1) + +target_dir = sys.argv[1] +llvm_build_dir = lldbbuild.expected_package_build_path_for("llvm") + +if not os.path.isdir(target_dir): + print target_dir + " doesn't exist" + sys.exit(1) + +if not os.path.isdir(llvm_build_dir): + llvm_build_dir = re.sub("-macosx-", "-iphoneos-", llvm_build_dir) + +if not os.path.isdir(llvm_build_dir): + llvm_build_dir = re.sub("-iphoneos-", "-appletvos-", llvm_build_dir) + +if not os.path.isdir(llvm_build_dir): + llvm_build_dir = re.sub("-appletvos-", "-watchos-", llvm_build_dir) + +if not os.path.isdir(llvm_build_dir): + llvm_build_dir = re.sub("-watchos-", "-bridgeos-", llvm_build_dir) + +if not os.path.isdir(llvm_build_dir): + print llvm_build_dir + " doesn't exist" + sys.exit(1) + +resources = os.path.join(target_dir, "LLDB.framework", "Resources") + +if not os.path.isdir(resources): + print resources + " must exist" + sys.exit(1) + +clang_dir = os.path.join(llvm_build_dir, "lib", "clang") + +if not os.path.isdir(clang_dir): + print clang_dir + " must exist" + sys.exit(1) + +version_dir = None + +for subdir in os.listdir(clang_dir): + if (re.match("^[0-9]+(\.[0-9]+)*$", subdir)): + version_dir = os.path.join(clang_dir, subdir) + break + +if version_dir is None: + print "Couldn't find a subdirectory of the form #(.#)... in " + clang_dir + sys.exit(1) + +if not os.path.isdir(version_dir): + print version_dir + " is not a directory" + sys.exit(1) + +# Just checking... we're actually going to copy all of version_dir +include_dir = os.path.join(version_dir, "include") + +if not os.path.isdir(include_dir): + print version_dir + " is not a directory" + sys.exit(1) + +clang_resources = os.path.join(resources, "Clang") + +if os.path.isdir(clang_resources): + shutil.rmtree(clang_resources) + +shutil.copytree(version_dir, clang_resources) Index: lldb/trunk/source/API/CMakeLists.txt =================================================================== --- lldb/trunk/source/API/CMakeLists.txt +++ lldb/trunk/source/API/CMakeLists.txt @@ -152,7 +152,7 @@ endif() if (NOT LLDB_BUILT_STANDALONE) - add_dependencies(liblldb clang-headers) + add_dependencies(liblldb clang-resource-headers) endif() if(LLDB_BUILD_FRAMEWORK) Index: llvm/trunk/docs/Docker.rst =================================================================== --- llvm/trunk/docs/Docker.rst +++ llvm/trunk/docs/Docker.rst @@ -79,7 +79,7 @@ ./llvm/utils/docker/build_docker_image.sh \ --source debian8 \ --docker-repository clang-debian8 --docker-tag "staging" \ - -p clang -i install-clang -i install-clang-headers \ + -p clang -i install-clang -i install-clang-resource-headers \ -- \ -DCMAKE_BUILD_TYPE=Release @@ -95,11 +95,11 @@ ./build_docker_image.sh \ --source debian8 \ --docker-repository clang-debian8 --docker-tag "staging" \ - -p clang -i stage2-install-clang -i stage2-install-clang-headers \ + -p clang -i stage2-install-clang -i stage2-install-clang-resource-headers \ -- \ -DLLVM_TARGETS_TO_BUILD=Native -DCMAKE_BUILD_TYPE=Release \ -DBOOTSTRAP_CMAKE_BUILD_TYPE=Release \ - -DCLANG_ENABLE_BOOTSTRAP=ON -DCLANG_BOOTSTRAP_TARGETS="install-clang;install-clang-headers" + -DCLANG_ENABLE_BOOTSTRAP=ON -DCLANG_BOOTSTRAP_TARGETS="install-clang;install-clang-resource-headers" This will produce a new image ``clang-debian8:staging`` from the latest upstream revision. @@ -165,7 +165,7 @@ ./llvm/utils/docker/build_docker_image.sh \ -s debian8 --d clang-debian8 -t "staging" \ --branch branches/google/stable \ - -p clang -i install-clang -i install-clang-headers \ + -p clang -i install-clang -i install-clang-resource-headers \ -- \ -DCMAKE_BUILD_TYPE=Release Index: llvm/trunk/runtimes/CMakeLists.txt =================================================================== --- llvm/trunk/runtimes/CMakeLists.txt +++ llvm/trunk/runtimes/CMakeLists.txt @@ -273,11 +273,11 @@ if(compiler_rt_path) if(NOT LLVM_BUILTIN_TARGETS) builtin_default_target(${compiler_rt_path} - DEPENDS clang-headers) + DEPENDS clang-resource-headers) else() if("default" IN_LIST LLVM_BUILTIN_TARGETS) builtin_default_target(${compiler_rt_path} - DEPENDS clang-headers) + DEPENDS clang-resource-headers) list(REMOVE_ITEM LLVM_BUILTIN_TARGETS "default") else() add_custom_target(builtins) @@ -287,7 +287,7 @@ foreach(target ${LLVM_BUILTIN_TARGETS}) builtin_register_target(${compiler_rt_path} ${target} - DEPENDS clang-headers) + DEPENDS clang-resource-headers) add_dependencies(builtins builtins-${target}) add_dependencies(install-builtins install-builtins-${target}) Index: llvm/trunk/utils/docker/build_docker_image.sh =================================================================== --- llvm/trunk/utils/docker/build_docker_image.sh +++ llvm/trunk/utils/docker/build_docker_image.sh @@ -55,7 +55,7 @@ For example, running: $ build_docker_image.sh -s debian8 -d mydocker/debian8-clang -t latest \ - -p clang -i install-clang -i install-clang-headers + -p clang -i install-clang -i install-clang-resource-headers will produce two docker images: mydocker/debian8-clang-build:latest - an intermediate image used to compile clang. @@ -66,12 +66,12 @@ To get a 2-stage clang build, you could use this command: $ ./build_docker_image.sh -s debian8 -d mydocker/clang-debian8 -t "latest" \ - -p clang -i stage2-install-clang -i stage2-install-clang-headers \ + -p clang -i stage2-install-clang -i stage2-install-clang-resource-headers \ -- \ -DLLVM_TARGETS_TO_BUILD=Native -DCMAKE_BUILD_TYPE=Release \ -DBOOTSTRAP_CMAKE_BUILD_TYPE=Release \ -DCLANG_ENABLE_BOOTSTRAP=ON \ - -DCLANG_BOOTSTRAP_TARGETS="install-clang;install-clang-headers" + -DCLANG_BOOTSTRAP_TARGETS="install-clang;install-clang-resource-headers" EOF } Index: openmp/trunk/cmake/OpenMPTesting.cmake =================================================================== --- openmp/trunk/cmake/OpenMPTesting.cmake +++ openmp/trunk/cmake/OpenMPTesting.cmake @@ -167,7 +167,7 @@ add_lit_testsuite(${target} ${comment} ${ARG_UNPARSED_ARGUMENTS} - DEPENDS clang clang-headers FileCheck ${ARG_DEPENDS} + DEPENDS clang clang-resource-headers FileCheck ${ARG_DEPENDS} ARGS ${ARG_ARGS} ) endif()