From: Michał Górny Date: Sat, 29 Jul 2017 08:25:24 +0000 (+0200) Subject: dev-ml/llvm-ocaml: Fix passing NDEBUG to build for LLVMDumpType() X-Git-Url: http://git.tremily.us/gitweb.cgi?a=commitdiff_plain;h=ee3556fed02985b10a1550b548f0ed82f9ccf0b4;p=gentoo.git dev-ml/llvm-ocaml: Fix passing NDEBUG to build for LLVMDumpType() Add USE=debug that controls -DNDEBUG since upstream started defining dump functions conditionally to debug being enabled. We therefore need to disable dumps in OCaml bindings if LLVM was built without them. --- diff --git a/dev-ml/llvm-ocaml/llvm-ocaml-5.0.9999.ebuild b/dev-ml/llvm-ocaml/llvm-ocaml-5.0.9999.ebuild index 052fa649710d..f094afad03be 100644 --- a/dev-ml/llvm-ocaml/llvm-ocaml-5.0.9999.ebuild +++ b/dev-ml/llvm-ocaml/llvm-ocaml-5.0.9999.ebuild @@ -26,12 +26,12 @@ LLVM_TARGET_USEDEPS=${ALL_LLVM_TARGETS[@]/%/?} LICENSE="UoI-NCSA" SLOT="0/${PV}" KEYWORDS="" -IUSE="test ${ALL_LLVM_TARGETS[*]}" +IUSE="debug test ${ALL_LLVM_TARGETS[*]}" RDEPEND=" >=dev-lang/ocaml-4.00.0:0= dev-ml/ocaml-ctypes:= - ~sys-devel/llvm-${PV}:=[${LLVM_TARGET_USEDEPS// /,}] + ~sys-devel/llvm-${PV}:=[${LLVM_TARGET_USEDEPS// /,},debug?] !sys-devel/llvm[ocaml(-)]" # configparser-3.2 breaks the build (3.3 or none at all are fine) DEPEND="${RDEPEND} @@ -81,7 +81,7 @@ src_configure() { -DLLVM_ENABLE_TERMINFO=OFF -DHAVE_HISTEDIT_H=NO -DWITH_POLLY=OFF - -DLLVM_ENABLE_ASSERTIONS=OFF + -DLLVM_ENABLE_ASSERTIONS=$(usex debug) -DLLVM_ENABLE_EH=ON -DLLVM_ENABLE_RTTI=ON @@ -97,6 +97,9 @@ src_configure() { -DLIT_COMMAND="${EPREFIX}/usr/bin/lit" ) + # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844 + # also: custom rules for OCaml do not work for CPPFLAGS + use debug || local -x CFLAGS="${CFLAGS} -DNDEBUG" cmake-utils_src_configure local llvm_libdir=$(llvm-config --libdir) diff --git a/dev-ml/llvm-ocaml/llvm-ocaml-9999.ebuild b/dev-ml/llvm-ocaml/llvm-ocaml-9999.ebuild index b6885c5b6232..d5f507e9e101 100644 --- a/dev-ml/llvm-ocaml/llvm-ocaml-9999.ebuild +++ b/dev-ml/llvm-ocaml/llvm-ocaml-9999.ebuild @@ -25,12 +25,12 @@ LLVM_TARGET_USEDEPS=${ALL_LLVM_TARGETS[@]/%/?} LICENSE="UoI-NCSA" SLOT="0/${PV}" KEYWORDS="" -IUSE="test ${ALL_LLVM_TARGETS[*]}" +IUSE="debug test ${ALL_LLVM_TARGETS[*]}" RDEPEND=" >=dev-lang/ocaml-4.00.0:0= dev-ml/ocaml-ctypes:= - ~sys-devel/llvm-${PV}:=[${LLVM_TARGET_USEDEPS// /,}] + ~sys-devel/llvm-${PV}:=[${LLVM_TARGET_USEDEPS// /,},debug?] !sys-devel/llvm[ocaml(-)]" # configparser-3.2 breaks the build (3.3 or none at all are fine) DEPEND="${RDEPEND} @@ -80,7 +80,7 @@ src_configure() { -DLLVM_ENABLE_TERMINFO=OFF -DHAVE_HISTEDIT_H=NO -DWITH_POLLY=OFF - -DLLVM_ENABLE_ASSERTIONS=OFF + -DLLVM_ENABLE_ASSERTIONS=$(usex debug) -DLLVM_ENABLE_EH=ON -DLLVM_ENABLE_RTTI=ON @@ -96,6 +96,9 @@ src_configure() { -DLIT_COMMAND="${EPREFIX}/usr/bin/lit" ) + # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844 + # also: custom rules for OCaml do not work for CPPFLAGS + use debug || local -x CFLAGS="${CFLAGS} -DNDEBUG" cmake-utils_src_configure local llvm_libdir=$(llvm-config --libdir)