[llvm] r319176 - [cmake] Remove redundant call to cmake when building host tools.

Don Hinton via llvm-commits llvm-commits at lists.llvm.org
Tue Nov 28 16:48:54 PST 2017


Rolled back in r319268.

On Tue, Nov 28, 2017 at 5:24 PM, Don Hinton <hintonda at gmail.com> wrote:

> Okay, was able to reproduce -- the ';' separators in the list are
> disappearing when the list variable was evaluated -- my fault for not
> testing that case.
>
> Looks like I'll have to rollback until I can find a way to maintain the
> separators.
>
> On Tue, Nov 28, 2017 at 4:51 PM, Don Hinton <hintonda at gmail.com> wrote:
>
>> Right.  Looking into it.
>>
>> On Tue, Nov 28, 2017 at 4:50 PM, Galina Kistanova <gkistanova at gmail.com>
>> wrote:
>>
>>> One more builder is affected:
>>> http://lab.llvm.org:8011/builders/llvm-clang-x86_64-expensive-checks-win
>>>
>>> Thanks
>>>
>>> Galina
>>>
>>> On Tue, Nov 28, 2017 at 3:41 PM, Galina Kistanova <gkistanova at gmail.com>
>>> wrote:
>>>
>>>> Hello Don,
>>>>
>>>> This commit broke few bots.
>>>> Could you take care of this, please?
>>>>
>>>> The some of the bots are heavy and slow, so sooner you will make them
>>>> back green, the better.
>>>>
>>>> r319175 is green: http://lab.llvm.org:8011/build
>>>> ers/lld-x86_64-win7/builds/16088
>>>> r319176 is red: http://lab.llvm.org:8011/build
>>>> ers/lld-x86_64-win7/builds/16094
>>>>
>>>> . . .
>>>> FAILED: cmd.exe /C "cd /D C:\lld-x86_64_win7\lld-x86_64-win7\llvm.obj\NATIVE
>>>> && "C:\Program Files (x86)\CMake\bin\cmake.exe" -G Ninja
>>>> C:/lld-x86_64_win7/lld-x86_64-win7/llvm.src
>>>> -DLLVM_TARGET_IS_CROSSCOMPILE_HOST=TRUE -DLLVM_TARGETS_TO_BUILD=AArch64
>>>> AMDGPU ARM BPF Hexagon Lanai Mips MSP430 NVPTX PowerPC Sparc SystemZ X86
>>>> XCore -DCMAKE_BUILD_TYPE=Release"
>>>> CMake Error: The source directory "C:/lld-x86_64_win7/lld-x86_64-win7/llvm.obj/NATIVE/XCore"
>>>> does not exist.
>>>>
>>>>
>>>> Also at least two more bots are affected:
>>>>
>>>> http://lab.llvm.org:8011/builders/clang-with-thin-lto-ubuntu
>>>> /builds/6965
>>>> . . .
>>>> FAILED: NATIVE/CMakeCache.txt
>>>> cd /home/buildslave/ps4-buildslave1/clang-with-thin-lto-ubuntu/build/stage2/NATIVE
>>>> && /usr/local/bin/cmake -G Ninja /home/buildslave/ps4-buildslav
>>>> e1/clang-with-thin-lto-ubuntu/llvm.src -DLLVM_TARGET_IS_CROSSCOMPILE_HOST=TRUE
>>>> -DLLVM_TARGETS_TO_BUILD=AArch64 AMDGPU ARM BPF Hexagon Lanai Mips
>>>> MSP430 NVPTX PowerPC Sparc SystemZ X86 XCore -DCMAKE_BUILD_TYPE=Release
>>>> CMake Error: The source directory "/home/buildslave/ps4-buildsla
>>>> ve1/clang-with-thin-lto-ubuntu/build/stage2/NATIVE/XCore" does not
>>>> exist.
>>>>
>>>>
>>>> http://lab.llvm.org:8011/builders/clang-with-thin-lto-ubuntu
>>>> /builds/6970
>>>> . . .
>>>> FAILED: NATIVE/CMakeCache.txt
>>>> cd /home/buildslave/ps4-buildslave1/clang-with-thin-lto-ubuntu/build/stage2/NATIVE
>>>> && /usr/local/bin/cmake -G Ninja /home/buildslave/ps4-buildslav
>>>> e1/clang-with-thin-lto-ubuntu/llvm.src -DLLVM_TARGET_IS_CROSSCOMPILE_HOST=TRUE
>>>> -DLLVM_TARGETS_TO_BUILD=AArch64 AMDGPU ARM BPF Hexagon Lanai Mips
>>>> MSP430 NVPTX PowerPC Sparc SystemZ X86 XCore -DCMAKE_BUILD_TYPE=Release
>>>> CMake Error: The source directory "/home/buildslave/ps4-buildsla
>>>> ve1/clang-with-thin-lto-ubuntu/build/stage2/NATIVE/XCore" does not
>>>> exist.
>>>>
>>>> Thanks
>>>>
>>>> Galina
>>>>
>>>> On Tue, Nov 28, 2017 at 8:08 AM, Don Hinton via llvm-commits <
>>>> llvm-commits at lists.llvm.org> wrote:
>>>>
>>>>> Author: dhinton
>>>>> Date: Tue Nov 28 08:08:57 2017
>>>>> New Revision: 319176
>>>>>
>>>>> URL: http://llvm.org/viewvc/llvm-project?rev=319176&view=rev
>>>>> Log:
>>>>> [cmake] Remove redundant call to cmake when building host tools.
>>>>>
>>>>> Summary:
>>>>> Remove the redundant, config-time call to cmake when
>>>>> building host tools for cross compiles or optimized tablegen..
>>>>>
>>>>> The config-time call to cmake is redundant because it will always get
>>>>> called again when the CONFIGURE_LLVM_${target_name} target fires at
>>>>> build-time.  This speeds up initial configuration, but has no affect
>>>>> on build behavior.
>>>>>
>>>>> Reviewers: beanz
>>>>>
>>>>> Reviewed By: beanz
>>>>>
>>>>> Subscribers: mgorny, llvm-commits
>>>>>
>>>>> Differential Revision: https://reviews.llvm.org/D40229
>>>>>
>>>>> Modified:
>>>>>     llvm/trunk/cmake/modules/CrossCompile.cmake
>>>>>
>>>>> Modified: llvm/trunk/cmake/modules/CrossCompile.cmake
>>>>> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/cmake/modules
>>>>> /CrossCompile.cmake?rev=319176&r1=319175&r2=319176&view=diff
>>>>> ============================================================
>>>>> ==================
>>>>> --- llvm/trunk/cmake/modules/CrossCompile.cmake (original)
>>>>> +++ llvm/trunk/cmake/modules/CrossCompile.cmake Tue Nov 28 08:08:57
>>>>> 2017
>>>>> @@ -12,6 +12,14 @@ function(llvm_create_cross_target_intern
>>>>>          CACHE STRING "Toolchain file for ${target_name}")
>>>>>    endif()
>>>>>
>>>>> +  if (buildtype)
>>>>> +    set(build_type_flags "-DCMAKE_BUILD_TYPE=${buildtype}")
>>>>> +  endif()
>>>>> +  if (LLVM_EXTERNAL_CLANG_SOURCE_DIR)
>>>>> +    # Propagate LLVM_EXTERNAL_CLANG_SOURCE_DIR so that clang-tblgen
>>>>> can be built
>>>>> +    set(external_clang_dir "-DLLVM_EXTERNAL_CLANG_SOURCE_
>>>>> DIR=${LLVM_EXTERNAL_CLANG_SOURCE_DIR}")
>>>>> +  endif()
>>>>> +
>>>>>    add_custom_command(OUTPUT ${LLVM_${target_name}_BUILD}
>>>>>      COMMAND ${CMAKE_COMMAND} -E make_directory
>>>>> ${LLVM_${target_name}_BUILD}
>>>>>      COMMENT "Creating ${LLVM_${target_name}_BUILD}...")
>>>>> @@ -23,6 +31,8 @@ function(llvm_create_cross_target_intern
>>>>>      COMMAND ${CMAKE_COMMAND} -G "${CMAKE_GENERATOR}"
>>>>>          ${CROSS_TOOLCHAIN_FLAGS_${target_name}} ${CMAKE_SOURCE_DIR}
>>>>>          -DLLVM_TARGET_IS_CROSSCOMPILE_HOST=TRUE
>>>>> +        -DLLVM_TARGETS_TO_BUILD=${LLVM_TARGETS_TO_BUILD}
>>>>> +        ${build_type_flags} ${external_clang_dir}
>>>>>      WORKING_DIRECTORY ${LLVM_${target_name}_BUILD}
>>>>>      DEPENDS CREATE_LLVM_${target_name}
>>>>>      COMMENT "Configuring ${target_name} LLVM...")
>>>>> @@ -30,32 +40,6 @@ function(llvm_create_cross_target_intern
>>>>>    add_custom_target(CONFIGURE_LLVM_${target_name}
>>>>>                      DEPENDS ${LLVM_${target_name}_BUILD}/C
>>>>> MakeCache.txt)
>>>>>
>>>>> -  set_directory_properties(PROPERTIES ADDITIONAL_MAKE_CLEAN_FILES
>>>>> -                                      ${LLVM_${target_name}_BUILD})
>>>>> -
>>>>> -  if(NOT IS_DIRECTORY ${LLVM_${target_name}_BUILD})
>>>>> -
>>>>> -
>>>>> -    message(STATUS "Configuring ${target_name} build...")
>>>>> -    execute_process(COMMAND ${CMAKE_COMMAND} -E make_directory
>>>>> -      ${LLVM_${target_name}_BUILD} )
>>>>> -
>>>>> -    message(STATUS "Configuring ${target_name} targets...")
>>>>> -    if (buildtype)
>>>>> -      set(build_type_flags "-DCMAKE_BUILD_TYPE=${buildtype}")
>>>>> -    endif()
>>>>> -       if (LLVM_EXTERNAL_CLANG_SOURCE_DIR)
>>>>> -         # Propagate LLVM_EXTERNAL_CLANG_SOURCE_DIR so that
>>>>> clang-tblgen can be built
>>>>> -         set(external_clang_dir "-DLLVM_EXTERNAL_CLANG_SOURCE_
>>>>> DIR=${LLVM_EXTERNAL_CLANG_SOURCE_DIR}")
>>>>> -       endif()
>>>>> -    execute_process(COMMAND ${CMAKE_COMMAND} ${build_type_flags}
>>>>> -        -G "${CMAKE_GENERATOR}" -DLLVM_TARGETS_TO_BUILD=${LLVM
>>>>> _TARGETS_TO_BUILD}
>>>>> -        ${CROSS_TOOLCHAIN_FLAGS_${target_name}} ${CMAKE_SOURCE_DIR}
>>>>> -        -DLLVM_TARGET_IS_CROSSCOMPILE_HOST=TRUE
>>>>> -        ${external_clang_dir}
>>>>> -      WORKING_DIRECTORY ${LLVM_${target_name}_BUILD} )
>>>>> -  endif(NOT IS_DIRECTORY ${LLVM_${target_name}_BUILD})
>>>>> -
>>>>>  endfunction()
>>>>>
>>>>>  function(llvm_create_cross_target target_name sysroot)
>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> llvm-commits mailing list
>>>>> llvm-commits at lists.llvm.org
>>>>> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits
>>>>>
>>>>
>>>>
>>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20171128/78696c3e/attachment.html>


More information about the llvm-commits mailing list