kumquat-buildroot/package/cdrkit/cdrkit.mk
Thomas Petazzoni 0eae20b7be cdrkit: fix TARGET_CC/TARGET_CFLAGS for CMake
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@free-electrons.com>
2010-07-29 16:04:38 +02:00

72 lines
2.2 KiB
Makefile

CDRKIT_VERSION=1.1.10
CDRKIT_SOURCE=cdrkit-$(CDRKIT_VERSION).tar.gz
CDRKIT_SITE=http://www.cdrkit.org/releases/
CDRKIT_DEPENDENCIES=libcap bzip2 host-cmake zlib
HOST_CDRKIT_DEPENDENCIES=host-libcap host-cmake host-bzip2 host-zlib
ifeq ($(BR2_ENDIAN),"BIG")
CMAKE_ENDIAN_OPT=-DBITFIELDS_HTOL=1
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="$(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)" \
-DCMAKE_FIND_ROOT_PATH:PATH="$(STAGING_DIR)" \
-DCMAKE_INSTALL_PREFIX:PATH="$(TARGET_DIR)/usr" \
$(CMAKE_ENDIAN_OPT) \
)
endef
define CDRKIT_BUILD_CMDS
$(TARGET_MAKE_ENV) $(MAKE) -C $(@D)/build
endef
define CDRKIT_INSTALL_TARGET_CMDS
$(TARGET_MAKE_ENV) $(MAKE) -C $(@D)/build install
endef
define HOST_CDRKIT_CONFIGURE_CMDS
-mkdir $(@D)/build
(cd $(@D)/build ; \
$(HOST_DIR)/usr/bin/cmake .. \
-Wno-dev \
-DCMAKE_C_FLAGS="$(HOST_CFLAGS)" \
-DCMAKE_EXE_LINKER_FLAGS:STRING="$(HOST_LDFLAGS)" \
-DCMAKE_MODULE_LINKER_FLAGS:STRING="$(HOST_LDFLAGS)" \
-DCMAKE_SHARED_LINKER_FLAGS:STRING="$(HOST_LDFLAGS)" \
-DCMAKE_INSTALL_PREFIX:STRING="$(HOST_DIR)/usr" \
)
endef
define HOST_CDRKIT_BUILD_CMDS
$(HOST_MAKE_ENV) $(MAKE) -C $(@D)/build
endef
define HOST_CDRKIT_INSTALL_CMDS
$(HOST_MAKE_ENV) $(MAKE) -C $(@D)/build install
endef
$(eval $(call GENTARGETS,package,cdrkit))
$(eval $(call GENTARGETS,package,cdrkit,host))