]> granicus.if.org Git - llvm/commitdiff
[OCaml] Respect CMAKE_C_FLAGS for OCaml C files
authorMichal Gorny <mgorny@gentoo.org>
Thu, 27 Jul 2017 21:13:19 +0000 (21:13 +0000)
committerMichal Gorny <mgorny@gentoo.org>
Thu, 27 Jul 2017 21:13:19 +0000 (21:13 +0000)
Pass the values of CMAKE_C_FLAGS and CMAKE_C_FLAGS_${CMAKE_BUILD_TYPE}
as -ccopt to ocamlc. This enforces the specific flags used for the LLVM
build to be used for OCaml bindings as well, notably -O and -march
flags.

This also solves the issue of the user being unable to force specific
flags for OCaml bindings builds. Gentoo needs this to enforce -DNDEBUG
consistently between the LLVM build and the split OCaml bindings build.

Differential Revision: https://reviews.llvm.org/D35898

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@309320 91177308-0d34-0410-b5e6-96231b3b80d8

cmake/modules/AddOCaml.cmake

index 1b805c0710a39d186d5ca28f5fdb01b599c7e8bd..c691550d51c74c1527d6d3caf4fab477d9bd466d 100644 (file)
@@ -83,7 +83,7 @@ function(add_ocaml_library name)
   endforeach()
 
   string(REPLACE ";" " " ARG_CFLAGS "${ARG_CFLAGS}")
-  set(c_flags "${ARG_CFLAGS} ${LLVM_DEFINITIONS}")
+  set(c_flags "${CMAKE_C_FLAGS} ${CMAKE_C_FLAGS_${uppercase_CMAKE_BUILD_TYPE}} ${ARG_CFLAGS} ${LLVM_DEFINITIONS}")
   foreach( include_dir ${LLVM_INCLUDE_DIR} ${LLVM_MAIN_INCLUDE_DIR} )
     set(c_flags "${c_flags} -I${include_dir}")
   endforeach()