dev-ml/llvm-ocaml: Fix passing NDEBUG to build for LLVMDumpType()
authorMichał Górny <mgorny@gentoo.org>
Sat, 29 Jul 2017 08:25:24 +0000 (10:25 +0200)
committerMichał Górny <mgorny@gentoo.org>
Sat, 29 Jul 2017 08:28:36 +0000 (10:28 +0200)
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.

dev-ml/llvm-ocaml/llvm-ocaml-5.0.9999.ebuild
dev-ml/llvm-ocaml/llvm-ocaml-9999.ebuild

index 052fa649710dc2ea4bc8894914d8476f60760f2a..f094afad03be368e3b3f245074de9febf158f17e 100644 (file)
@@ -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)
index b6885c5b62323522ee4087bb07458af0f0d466fb..d5f507e9e101eb04d1a8299878eb9c5da6cfc78e 100644 (file)
@@ -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)