[Buildroot] [PATCH 08/19] cdrkit: fix TARGET_CC/TARGET_CFLAGS for CMake
Thomas Petazzoni
thomas.petazzoni at free-electrons.com
Thu Jul 29 21:48:51 UTC 2010
Since the reorganization of the variables in package/Makefile.in,
TARGET_CC and TARGET_CXX now directly contain the --sysroot= option in
addition to the compiler path. This is due to some ./configure scripts
using just $(TARGET_CC) for some tests instead of $(TARGET_CC)
$(TARGET_CFLAGS).
However, in the case of CMake, this fails as CMake really only wants
the path of the compiler in its CMAKE_C_COMPILER and
CMAKE_CXX_COMPILER variables. So here, we recompute proper values for
CMake by removing the --sysroot option from the compiler variables and
re-adding it to the flags variables.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni at free-electrons.com>
---
package/cdrkit/cdrkit.mk | 14 +++++++++++---
1 files changed, 11 insertions(+), 3 deletions(-)
diff --git a/package/cdrkit/cdrkit.mk b/package/cdrkit/cdrkit.mk
index f7e21b0..a0ce9cb 100644
--- a/package/cdrkit/cdrkit.mk
+++ b/package/cdrkit/cdrkit.mk
@@ -11,15 +11,23 @@ else
CMAKE_ENDIAN_OPT=-DBITFIELDS_HTOL=0
endif
+# CMake doesn't support having the --sysroot option directly in the
+# compiler path, so move this option to the CFLAGS/CXXFLAGS variables.
+CDRKIT_TARGET_CC = $(filter-out --sysroot=%,$(TARGET_CC))
+CDRKIT_TARGET_CXX = $(filter-out --sysroot=%,$(TARGET_CXX))
+CDRKIT_TARGET_CFLAGS = $(filter --sysroot=%,$(TARGET_CC)) $(TARGET_CFLAGS)
+CDRKIT_TARGET_CXXFLAGS = $(filter --sysroot=%,$(TARGET_CXX)) $(TARGET_CXXFLAGS)
+
define CDRKIT_CONFIGURE_CMDS
-mkdir $(@D)/build
(cd $(@D)/build ; \
$(HOST_DIR)/usr/bin/cmake .. \
-Wno-dev \
-DCMAKE_SYSTEM_NAME:STRING="Linux" \
- -DCMAKE_C_COMPILER:FILEPATH="$(TARGET_CC)" \
- -DCMAKE_CXX_COMPILER:FILEPATH="$(TARGET_CXX)" \
- -DCMAKE_C_FLAGS:STRING="$(TARGET_CFLAGS)" \
+ -DCMAKE_C_COMPILER:FILEPATH="$(CDRKIT_TARGET_CC)" \
+ -DCMAKE_CXX_COMPILER:FILEPATH="$(CDRKIT_TARGET_CXX)" \
+ -DCMAKE_C_FLAGS:STRING="$(CDRKIT_TARGET_CFLAGS)" \
+ -DCMAKE_CXX_FLAGS:STRING="$(CDRKIT_TARGET_CXXFLAGS)" \
-DCMAKE_EXE_LINKER_FLAGS:STRING="$(TARGET_LDFLAGS)" \
-DCMAKE_MODULE_LINKER_FLAGS:STRING="$(TARGET_LDFLAGS)" \
-DCMAKE_SHARED_LINKER_FLAGS:STRING="$(TARGET_LDFLAGS)" \
--
1.7.0.4
More information about the buildroot
mailing list