Go to:
Gentoo Home
Documentation
Forums
Lists
Bugs
Planet
Store
Wiki
Get Gentoo!
Gentoo's Bugzilla – Attachment 404668 Details for
Bug 456322
sys-devel/llvm: conversion to use cmake
Home
|
New
–
[Ex]
|
Browse
|
Search
|
Privacy Policy
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
second round, r1
llvm-9999-r1.ebuild (text/plain), 8.60 KB, created by
Michał Górny
on 2015-06-06 10:12:53 UTC
(
hide
)
Description:
second round, r1
Filename:
MIME Type:
Creator:
Michał Górny
Created:
2015-06-06 10:12:53 UTC
Size:
8.60 KB
patch
obsolete
># Copyright 1999-2013 Gentoo Foundation ># Distributed under the terms of the GNU General Public License v2 ># $Header: /var/cvsroot/gentoo-x86/sys-devel/llvm/llvm-9999.ebuild,v 1.71 2013/12/24 20:07:03 mgorny Exp $ > >EAPI=5 > >PYTHON_COMPAT=( python2_7 pypy ) > >inherit check-reqs cmake-utils distutils-r1 eutils flag-o-matic git-r3 multilib \ > multilib-minimal toolchain-funcs pax-utils > >DESCRIPTION="Low Level Virtual Machine" >HOMEPAGE="http://llvm.org/" >SRC_URI="" >EGIT_REPO_URI="http://llvm.org/git/llvm.git > https://github.com/llvm-mirror/llvm.git" > >LICENSE="UoI-NCSA" >SLOT="0/${PV}" >KEYWORDS="" >IUSE="clang debug doc gold libedit +libffi multitarget ncurses ocaml python > +static-analyzer test xml video_cards_radeon > kernel_Darwin" > >COMMON_DEPEND=" > sys-libs/zlib:0= > clang? ( > python? ( ${PYTHON_DEPS} ) > static-analyzer? ( > dev-lang/perl:* > ${PYTHON_DEPS} > ) > xml? ( dev-libs/libxml2:2= ) > ) > gold? ( >=sys-devel/binutils-2.22:*[cxx] ) > libffi? ( >=virtual/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] ) > ncurses? ( >=sys-libs/ncurses-5.9-r3:5=[${MULTILIB_USEDEP}] ) > ocaml? ( dev-lang/ocaml:0= )" ># configparser-3.2 breaks the build (3.3 or none at all are fine) >DEPEND="${COMMON_DEPEND} > dev-lang/perl > dev-python/sphinx > >=sys-devel/make-3.81 > >=sys-devel/flex-2.5.4 > >=sys-devel/bison-1.875d > || ( >=sys-devel/gcc-3.0 >=sys-devel/llvm-3.5 > ( >=sys-freebsd/freebsd-lib-9.1-r10 sys-libs/libcxx ) > ) > || ( >=sys-devel/binutils-2.18 >=sys-devel/binutils-apple-5.1 ) > kernel_Darwin? ( sys-libs/libcxx ) > clang? ( xml? ( virtual/pkgconfig ) ) > libffi? ( virtual/pkgconfig ) > !!<dev-python/configparser-3.3.0.2 > ${PYTHON_DEPS}" >RDEPEND="${COMMON_DEPEND} > clang? ( !<=sys-devel/clang-${PV}-r99 ) > abi_x86_32? ( !<=app-emulation/emul-linux-x86-baselibs-20130224-r2 > !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)] )" >PDEPEND="clang? ( =sys-devel/clang-${PV}-r100 )" > ># pypy gives me around 1700 unresolved tests due to open file limit ># being exceeded. probably GC does not close them fast enough. >REQUIRED_USE="${PYTHON_REQUIRED_USE} > test? ( || ( $(python_gen_useflags 'python*') ) )" > >pkg_pretend() { > # in megs > # !clang !debug !multitarget -O2 400 > # !clang !debug multitarget -O2 550 > # clang !debug !multitarget -O2 950 > # clang !debug multitarget -O2 1200 > # !clang debug multitarget -O2 5G > # clang !debug multitarget -O0 -g 12G > # clang debug multitarget -O2 16G > # clang debug multitarget -O0 -g 14G > > local build_size=550 > use clang && build_size=1200 > > if use debug; then > ewarn "USE=debug is known to increase the size of package considerably" > ewarn "and cause the tests to fail." > ewarn > > (( build_size *= 14 )) > elif is-flagq '-g?(gdb)?([1-9])'; then > ewarn "The C++ compiler -g option is known to increase the size of the package" > ewarn "considerably. If you run out of space, please consider removing it." > ewarn > > (( build_size *= 10 )) > fi > > # Multiply by number of ABIs :). > local abis=( $(multilib_get_enabled_abis) ) > (( build_size *= ${#abis[@]} )) > > local CHECKREQS_DISK_BUILD=${build_size}M > check-reqs_pkg_pretend > > if [[ ${MERGE_TYPE} != binary ]]; then > echo 'int main() {return 0;}' > "${T}"/test.cxx || die > ebegin "Trying to build a C++11 test program" > if ! $(tc-getCXX) -std=c++11 -o /dev/null "${T}"/test.cxx; then > eerror "LLVM-${PV} requires C++11-capable C++ compiler. Your current compiler" > eerror "does not seem to support -std=c++11 option. Please upgrade your compiler" > eerror "to gcc-4.7 or an equivalent version supporting C++11." > die "Currently active compiler does not support -std=c++11" > fi > eend ${?} > fi >} > >pkg_setup() { > pkg_pretend >} > >src_unpack() { > if use clang; then > git-r3_fetch "http://llvm.org/git/compiler-rt.git > https://github.com/llvm-mirror/compiler-rt.git" > git-r3_fetch "http://llvm.org/git/clang.git > https://github.com/llvm-mirror/clang.git" > git-r3_fetch "http://llvm.org/git/clang-tools-extra.git > https://github.com/llvm-mirror/clang-tools-extra.git" > fi > git-r3_fetch > > if use clang; then > git-r3_checkout http://llvm.org/git/compiler-rt.git \ > "${S}"/projects/compiler-rt > git-r3_checkout http://llvm.org/git/clang.git \ > "${S}"/tools/clang > git-r3_checkout http://llvm.org/git/clang-tools-extra.git \ > "${S}"/tools/clang/tools/extra > fi > git-r3_checkout >} > >src_prepare() { > epatch "${FILESDIR}"/${PN}-3.7-nodoctargz.patch > epatch "${FILESDIR}"/${PN}-3.5-gcc-4.9.patch > epatch "${FILESDIR}"/${PN}-3.6-gentoo-install.patch > # Make ocaml warnings non-fatal, bug #537308 > sed -e "/RUN/s/-warn-error A//" -i test/Bindings/OCaml/*ml || die > > if use clang; then > # Automatically select active system GCC's libraries, bugs #406163 and #417913 > epatch "${FILESDIR}"/clang-3.5-gentoo-runtime-gcc-detection-v3.patch > > epatch "${FILESDIR}"/clang-3.6-gentoo-install.patch > fi > > if use prefix && use clang; then > sed -i -e "/^CFLAGS /s@-Werror@-I${EPREFIX}/usr/include@" \ > projects/compiler-rt/make/platform/clang_*.mk || die > fi > > local sub_files=( > Makefile.config.in > Makefile.rules > tools/llvm-config/llvm-config.cpp > ) > use clang && sub_files+=( > tools/clang/lib/Driver/Tools.cpp > tools/clang/tools/scan-build/scan-build > ) > > # unfortunately ./configure won't listen to --mandir and the-like, so take > # care of this. > # note: we're setting the main libdir intentionally. > # where per-ABI is appropriate, we use $(GENTOO_LIBDIR) make. > einfo "Fixing install dirs" > sed -e "s,@libdir@,$(get_libdir),g" \ > -e "s,@PF@,${PF},g" \ > -e "s,@EPREFIX@,${EPREFIX},g" \ > -i "${sub_files[@]}" \ > || die "install paths sed failed" > > # User patches > epatch_user > > python_setup >} > >multilib_src_configure() { > local targets > if use multitarget; then > targets=all > else > targets='host;CppBackend' > use video_cards_radeon && targets+=';R600' > fi > > local ffi_cflags ffi_ldflags > if use libffi; then > ffi_cflags=$(pkg-config --cflags-only-I libffi) > ffi_ldflags=$(pkg-config --libs-only-L libffi) > fi > > local libdir=$(get_libdir) > local mycmakeargs=( > "${mycmakeargs[@]}" > -DLLVM_LIBDIR_SUFFIX=${libdir#lib} > > -DBUILD_SHARED_LIBS=ON > -DLLVM_ENABLE_TIMESTAMPS=OFF > -DLLVM_TARGETS_TO_BUILD="${targets}" > > -DLLVM_ENABLE_FFI=$(usex libffi) > -DLLVM_ENABLE_TERMINFO=$(usex ncurses) > -DLLVM_ENABLE_ASSERTIONS=$(usex debug) > > -DWITH_POLLY=OFF # TODO > -DLLVM_BUILD_TOOLS=$(multilib_is_native_abi && echo ON || echo OFF) > -DLLVM_BUILD_TESTS=$(usex test) > > -DLLVM_HOST_TRIPLE="${CHOST}" > > -DFFI_INCLUDE_DIR="${ffi_cflags#-I}" > -DFFI_LIBRARY_DIR="${ffi_ldflags#-L}" > > # TODO: does this really work? :) > -DHAVE_HISTEDIT_H=$(usex libedit) > -DGO_EXECUTABLE=GO_EXECUTABLE-NOTFOUND > -DOCAMLFIND=NO > ) > > if use clang; then > mycmakeargs+=( > -DCLANG_ENABLE_ARCMT=$(usex static-analyzer) > -DCLANG_ENABLE_STATIC_ANALYZER=$(usex static-analyzer) > ) > fi > > if multilib_is_native_abi && use gold; then > mycmakeargs+=( > -DLLVM_BINUTILS_INCDIR="${EPREFIX}"/usr/include > ) > fi > > cmake-utils_src_configure >} > >multilib_src_compile() { > cmake-utils_src_compile > ># if multilib_build_binaries; then ># emake -C "${S}"/docs -f Makefile.sphinx man ># use doc && emake -C "${S}"/docs -f Makefile.sphinx html ># ># cd "${S}"/utils/lit || die ># distutils-r1_src_compile ># fi >} > >multilib_src_test() { > # respect TMPDIR! > local -x LIT_PRESERVES_TMP=1 > cmake-utils_src_make check > ># pax-mark m unittests/ExecutionEngine/JIT/Release/JITTests ># pax-mark m unittests/ExecutionEngine/MCJIT/Release/MCJITTests ># pax-mark m unittests/Support/Release/SupportTests >} > >src_install() { ># local MULTILIB_WRAPPED_HEADERS=( ># /usr/include/llvm/Config/config.h ># /usr/include/llvm/Config/llvm-config.h ># ) > > multilib-minimal_src_install >} > >multilib_src_install() { > cmake-utils_src_install > ># if multilib_build_binaries; then ># # Move files back. ># if path_exists -o "${ED}"/tmp/llvm-config.*; then ># mv "${ED}"/tmp/llvm-config.* "${ED}"/usr/bin || die ># fi ># ># # Install docs. ># doman "${S}"/docs/_build/man/*.1 ># use doc && dohtml -r "${S}"/docs/_build/html/ ># ># # Symlink the gold plugin. ># if use gold; then ># dodir /usr/${CHOST}/binutils-bin/lib/bfd-plugins ># dosym ../../../../$(get_libdir)/LLVMgold.so \ ># /usr/${CHOST}/binutils-bin/lib/bfd-plugins/LLVMgold.so ># fi ># ># # Install lit for tests. ># cd "${S}"/utils/lit || die ># distutils-r1_src_install ># else ># # Preserve ABI-variant of llvm-config, ># # then drop all the executables since LLVM doesn't like to ># # clobber when installing. ># mkdir -p "${ED}"/tmp || die ># mv "${ED}"/usr/bin/llvm-config "${ED}"/tmp/llvm-config.${ABI} || die ># rm -r "${ED}"/usr/bin || die ># fi >} > >multilib_src_install_all() { > pushd utils/vim >/dev/null || die > for dir in */; do > insinto /usr/share/vim/vimfiles/${dir} > doins ${dir}/*.vim > done > popd >/dev/null || die > > # TODO: other stuffs >}
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Raw
Actions:
View
Attachments on
bug 456322
:
338408
|
338410
|
338422
|
338440
|
338444
|
338486
|
341464
|
341478
|
341480
|
341590
|
341594
|
341596
|
366362
|
404668
|
404766
|
404780