[libcxx] r226237 - [libc++] Add support for cross compiling.
Pete Cooper
peter_cooper at apple.com
Thu Jan 15 18:13:22 PST 2015
Hi Dan
I think this commit broke the buildbot. I can’t see any others in the blame list that look likely.
Can you please take a look?
http://lab.llvm.org:8080/green/job/clang-stage1-cmake-RA_build/807/console
Thanks,
Pete
> On Jan 15, 2015, at 4:55 PM, Dan Albert <danalbert at google.com> wrote:
>
> Author: danalbert
> Date: Thu Jan 15 18:55:15 2015
> New Revision: 226237
>
> URL: http://llvm.org/viewvc/llvm-project?rev=226237&view=rev
> Log:
> [libc++] Add support for cross compiling.
>
> Reviewers: EricWF, jroelofs
>
> Reviewed By: jroelofs
>
> Subscribers: cfe-commits
>
> Differential Revision: http://reviews.llvm.org/D6990
>
> Modified:
> libcxx/trunk/CMakeLists.txt
> libcxx/trunk/test/libcxx/test/config.py
> libcxx/trunk/test/lit.site.cfg.in
>
> Modified: libcxx/trunk/CMakeLists.txt
> URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/CMakeLists.txt?rev=226237&r1=226236&r2=226237&view=diff
> ==============================================================================
> --- libcxx/trunk/CMakeLists.txt (original)
> +++ libcxx/trunk/CMakeLists.txt Thu Jan 15 18:55:15 2015
> @@ -57,6 +57,8 @@ option(LIBCXX_ENABLE_MONOTONIC_CLOCK
> This option may only be used when LIBCXX_ENABLE_THREADS=OFF." ON)
> option(LIBCXX_INSTALL_HEADERS "Install the libc++ headers." ON)
> option(LIBCXX_INSTALL_SUPPORT_HEADERS "Install libc++ support headers." ON)
> +set(LIBCXX_SYSROOT "" CACHE STRING "Use alternate sysroot.")
> +set(LIBCXX_GCC_TOOLCHAIN "" CACHE STRING "Use alternate GCC toolchain.")
> if (LIBCXX_BUILT_STANDALONE)
> set(LLVM_USE_SANITIZER "" CACHE STRING
> "Define the sanitizer used to build the library and tests")
> @@ -277,6 +279,11 @@ if (LIBCXX_BUILT_STANDALONE)
> endif()
> endif()
>
> +list(APPEND LIBCXX_CXX_FLAGS "-target ${LIBCXX_TARGET_TRIPLE}")
> +append_if(LIBCXX_CXX_FLAGS LIBCXX_SYSROOT "--sysroot ${LIBCXX_SYSROOT}")
> +append_if(LIBCXX_CXX_FLAGS LIBCXX_GCC_TOOLCHAIN
> + "-gcc-toolchain ${LIBCXX_GCC_TOOLCHAIN}")
> +
> string(REPLACE ";" " " LIBCXX_CXX_FLAGS "${LIBCXX_CXX_FLAGS}")
> set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${LIBCXX_CXX_FLAGS}")
>
>
> Modified: libcxx/trunk/test/libcxx/test/config.py
> URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/libcxx/test/config.py?rev=226237&r1=226236&r2=226237&view=diff
> ==============================================================================
> --- libcxx/trunk/test/libcxx/test/config.py (original)
> +++ libcxx/trunk/test/libcxx/test/config.py Thu Jan 15 18:55:15 2015
> @@ -230,9 +230,9 @@ class Configuration(object):
> locale.setlocale(locale.LC_ALL, default_locale)
>
> # Write an "available feature" that combines the triple when
> - # use_system_cxx_lib is enabled. This is so that we can easily write XFAIL
> - # markers for tests that are known to fail with versions of libc++ as
> - # were shipped with a particular triple.
> + # use_system_cxx_lib is enabled. This is so that we can easily write
> + # XFAIL markers for tests that are known to fail with versions of
> + # libc++ as were shipped with a particular triple.
> if self.use_system_cxx_lib:
> self.config.available_features.add(
> 'with_system_cxx_lib=%s' % self.config.target_triple)
> @@ -288,7 +288,7 @@ class Configuration(object):
> if not enable_threads:
> self.configure_compile_flags_no_threads()
> if not enable_monotonic_clock:
> - self.configure_compile_flags_no_monotonic_clock()
> + self.configure_compile_flags_no_monotonic_clock()
> elif not enable_monotonic_clock:
> self.lit_config.fatal('enable_monotonic_clock cannot be false when'
> ' enable_threads is true.')
> @@ -298,6 +298,15 @@ class Configuration(object):
> compile_flags_str = self.get_lit_conf('compile_flags', '')
> self.compile_flags += shlex.split(compile_flags_str)
>
> + sysroot = self.get_lit_conf('sysroot')
> + if sysroot:
> + self.compile_flags += ['--sysroot', sysroot]
> + gcc_toolchain = self.get_lit_conf('gcc_toolchain')
> + if gcc_toolchain:
> + self.compile_flags += ['-gcc-toolchain', gcc_toolchain]
> +
> + self.compile_flags += ['-target', self.config.target_triple]
> +
> def configure_compile_flags_header_includes(self):
> self.compile_flags += ['-I' + self.libcxx_src_root + '/test/support']
> libcxx_headers = self.get_lit_conf('libcxx_headers',
>
> Modified: libcxx/trunk/test/lit.site.cfg.in
> URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/lit.site.cfg.in?rev=226237&r1=226236&r2=226237&view=diff
> ==============================================================================
> --- libcxx/trunk/test/lit.site.cfg.in (original)
> +++ libcxx/trunk/test/lit.site.cfg.in Thu Jan 15 18:55:15 2015
> @@ -14,6 +14,9 @@ config.cxx_abi = "@LIBC
> config.use_sanitizer = "@LLVM_USE_SANITIZER@"
> config.abi_library_path = "@LIBCXX_CXX_ABI_LIBRARY_PATH@"
> config.configuration_variant = "@LIBCXX_LIT_VARIANT@"
> +config.target_triple = "@LIBCXX_TARGET_TRIPLE@"
> +config.sysroot = "@LIBCXX_SYSROOT@"
> +config.gcc_toolchain = "@LIBCXX_GCC_TOOLCHAIN@"
>
> # Let the main config do the real work.
> lit_config.load_config(config, "@LIBCXX_SOURCE_DIR@/test/lit.cfg")
>
>
> _______________________________________________
> cfe-commits mailing list
> cfe-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
More information about the cfe-commits
mailing list