r253721 - [CMake] Add support for specifying arguments to the bootstrap build.

Sean Silva via cfe-commits cfe-commits at lists.llvm.org
Fri Nov 20 20:12:58 PST 2015


On Fri, Nov 20, 2015 at 2:09 PM, Chris Bieneman via cfe-commits <
cfe-commits at lists.llvm.org> wrote:

> Author: cbieneman
> Date: Fri Nov 20 16:09:06 2015
> New Revision: 253721
>
> URL: http://llvm.org/viewvc/llvm-project?rev=253721&view=rev
> Log:
> [CMake] Add support for specifying arguments to the bootstrap build.
>
> This adds support for three types of argument specifications for bootstrap
> builds:
>
> (1) Arguments prefixed with BOOTSTRAP_* will be passed through with the
> leading BOOTSTRAP_ removed.
> (2) CLANG_BOOTSTRAP_PASSTHROUGH can specify a list of variables to be
> passed through as they are set.
> (3) BOOTSTRAP_DEFAULT_PASSTHROUGH is a list of some default passthrough
> variables that are always passed through. Those variables include the
> version string and should only specify variables that are always expected
> to be the same between the stage1 and stage2
>
> Modified:
>     cfe/trunk/CMakeLists.txt
>
> Modified: cfe/trunk/CMakeLists.txt
> URL:
> http://llvm.org/viewvc/llvm-project/cfe/trunk/CMakeLists.txt?rev=253721&r1=253720&r2=253721&view=diff
>
> ==============================================================================
> --- cfe/trunk/CMakeLists.txt (original)
> +++ cfe/trunk/CMakeLists.txt Fri Nov 20 16:09:06 2015
> @@ -652,6 +652,36 @@ if (CLANG_ENABLE_BOOTSTRAP)
>      set(verbose -DCMAKE_VERBOSE_MAKEFILE=On)
>    endif()
>
> +  set(BOOTSTRAP_DEFAULT_PASSTHROUGH
> +    PACKAGE_VERSION
> +    LLVM_VERSION_MAJOR
> +    LLVM_VERSION_MINOR
> +    LLVM_VERSION_PATCH
> +    LLVM_VERSION_SUFFIX
> +    CLANG_REPOSITORY_STRING
> +    CMAKE_MAKE_PROGRAM)
> +
> +  # Find all variables that start with BOOTSTRAP_ and populate a variable
> with
> +  # them.
> +  get_cmake_property(variableNames VARIABLES)
> +  foreach(varaibleName ${variableNames})
> +    if(varaibleName MATCHES "^BOOTSTRAP_")
> +      string(SUBSTRING ${varaibleName} 10 -1 varName)
> +      string(REPLACE ";" "\;" value "${${varaibleName}}")
> +      list(APPEND PASSTHROUGH_VARIABLES
> +        -D${varName}=${value})
> +    endif()
> +  endforeach()
> +
> +  # Populate the passthrough variables
> +  foreach(varaibleName ${CLANG_BOOTSTRAP_PASSTHROUGH}
> ${BOOTSTRAP_DEFAULT_PASSTHROUGH})
> +    if(${varaibleName})
>

typo: "varaibleName".

I saw one in r253720 as well.

-- Sean Silva


> +      string(REPLACE ";" "\;" value ${${varaibleName}})
> +      list(APPEND PASSTHROUGH_VARIABLES
> +        -D${varaibleName}=${value})
> +    endif()
> +  endforeach()
> +
>    ExternalProject_Add(bootstrap
>      DEPENDS clang ${LTO_DEP}
>      PREFIX bootstrap
> @@ -664,6 +694,7 @@ if (CLANG_ENABLE_BOOTSTRAP)
>                  # seem to work, so instead I'm passing this through
>                  -DCMAKE_INSTALL_PREFIX=${CMAKE_INSTALL_PREFIX}
>                  ${CLANG_BOOTSTRAP_CMAKE_ARGS}
> +                ${PASSTHROUGH_VARIABLES}
>                  -DCMAKE_CXX_COMPILER=${LLVM_RUNTIME_OUTPUT_INTDIR}/clang++
>                  -DCMAKE_C_COMPILER=${LLVM_RUNTIME_OUTPUT_INTDIR}/clang
>                  -DCMAKE_ASM_COMPILER=${LLVM_RUNTIME_OUTPUT_INTDIR}/clang
>
>
> _______________________________________________
> cfe-commits mailing list
> cfe-commits at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20151120/108e0b63/attachment.html>


More information about the cfe-commits mailing list