mirror of
git://projects.qi-hardware.com/openwrt-packages.git
synced 2024-11-26 00:00:36 +02:00
plplot: make compile again with openwrt trunk; switch to using cmake.mk
This commit is contained in:
parent
c33acf0a30
commit
01b5b157bd
@ -16,6 +16,7 @@ PKG_MD5SUM:=c53c484ed93ce8446513c31707551b5b
|
|||||||
PKG_INSTALL:=1
|
PKG_INSTALL:=1
|
||||||
|
|
||||||
PKG_BUILD_PARALLEL:=1
|
PKG_BUILD_PARALLEL:=1
|
||||||
|
HOST_BUILD_PARALLEL:=1
|
||||||
|
|
||||||
PKG_FIXUP:=libtool
|
PKG_FIXUP:=libtool
|
||||||
PKG_REMOVE_FILES:=
|
PKG_REMOVE_FILES:=
|
||||||
@ -25,26 +26,56 @@ PKG_BUILD_DEPENDS:= plplot/host libltdl swig/host
|
|||||||
|
|
||||||
include $(INCLUDE_DIR)/host-build.mk
|
include $(INCLUDE_DIR)/host-build.mk
|
||||||
include $(INCLUDE_DIR)/package.mk
|
include $(INCLUDE_DIR)/package.mk
|
||||||
|
include $(INCLUDE_DIR)/cmake.mk
|
||||||
|
|
||||||
CMAKE_HOST_FLAGS=-DCMAKE_INSTALL_PREFIX=/usr \
|
|
||||||
|
# # workaround for cmake.mk bug
|
||||||
|
# ifneq ($(CONFIG_CCACHE),)
|
||||||
|
# CMAKE_C_COMPILER:=ccache
|
||||||
|
# CMAKE_CXX_COMPILER:=ccache
|
||||||
|
# endif
|
||||||
|
|
||||||
|
# plplot does not support CMAKE_C_COMPILER_ARG1 etc. for some test-cases so
|
||||||
|
# we have to disable ccache usage for plplot :'(
|
||||||
|
ifneq ($(CONFIG_CCACHE),)
|
||||||
|
CMAKE_C_COMPILER:=$(TOOLCHAIN_DIR)/bin/$(filter-out ccache,$(TARGET_CC))
|
||||||
|
CMAKE_CXX_COMPILER:=$(TOOLCHAIN_DIR)/bin/$(filter-out ccache,$(TARGET_CC))
|
||||||
|
CMAKE_C_COMPILER_ARG1 :=
|
||||||
|
CMAKE_CXX_COMPILER_ARG1 :=
|
||||||
|
endif
|
||||||
|
|
||||||
|
CMAKE_HOST_FLAGS=\
|
||||||
|
-DCMAKE_INSTALL_PREFIX=/usr \
|
||||||
|
-DCMAKE_EXE_LINKER_FLAGS="$(HOST_LDFLAGS)" \
|
||||||
|
-DCMAKE_MODULE_LINKER_FLAGS="$(HOST_LDFLAGS)" \
|
||||||
|
-DCMAKE_SHARED_LINKER_FLAGS="$(HOST_LDFLAGS)" \
|
||||||
-DDEFAULT_NO_DEVICES=ON \
|
-DDEFAULT_NO_DEVICES=ON \
|
||||||
-DPKG_CONFIG_EXECUTABLE=Not-Found -DDEFAULT_NO_BINDINGS=ON
|
-DPKG_CONFIG_EXECUTABLE=Not-Found \
|
||||||
|
-DDEFAULT_NO_BINDINGS=ON \
|
||||||
|
|
||||||
## Need host-compiled plplot build dir for cmake to work for the target
|
## Need host-compiled plplot build dir for cmake to work for the target
|
||||||
|
## todo: should this be moved into cmake.mk? or a 'host-cmake.mk' ?
|
||||||
define Host/Configure
|
define Host/Configure
|
||||||
mkdir -p $(HOST_BUILD_DIR)/build_dir
|
mkdir -p $(HOST_BUILD_DIR)/build_dir
|
||||||
cd $(HOST_BUILD_DIR)/build_dir && \
|
cd $(HOST_BUILD_DIR)/build_dir && \
|
||||||
|
CFLAGS="$(HOST_CFLAGS)" \
|
||||||
|
CXXFLAGS="$(HOST_CFLAGS)" \
|
||||||
cmake $(CMAKE_HOST_FLAGS) \
|
cmake $(CMAKE_HOST_FLAGS) \
|
||||||
$(HOST_BUILD_DIR)
|
$(HOST_BUILD_DIR)
|
||||||
endef
|
endef
|
||||||
|
|
||||||
|
# plplot tries to find 'libm' via directory search, but that won't work since
|
||||||
|
# in newer linuxes (ubuntu 11.04) libm is in /lib/<cpu-arch>/lib
|
||||||
|
HOST_LDFLAGS += -lm
|
||||||
|
CMAKE_HOST_FLAGS += -DMATH_LIB:FILEPATH=m
|
||||||
|
|
||||||
define Host/Compile/Octave
|
define Host/Compile/Octave
|
||||||
$(MAKE) -C $(HOST_BUILD_DIR)/bindings/octave massage
|
$(MAKE) -C $(HOST_BUILD_DIR)/bindings/octave massage
|
||||||
endef
|
endef
|
||||||
|
|
||||||
define Host/Compile
|
define Host/Compile
|
||||||
$(if $(CONFIG_PACKAGE_plplot-octave),$(Host/Compile/Octave),)
|
$(if $(CONFIG_PACKAGE_plplot-octave),$(Host/Compile/Octave),)
|
||||||
$(MAKE) -C $(HOST_BUILD_DIR)/build_dir VERBOSE=1 -j4
|
$(MAKE) -C $(HOST_BUILD_DIR)/build_dir VERBOSE=1
|
||||||
endef
|
endef
|
||||||
|
|
||||||
define Host/Install/Octave
|
define Host/Install/Octave
|
||||||
@ -77,7 +108,7 @@ endef
|
|||||||
|
|
||||||
define Package/plplot
|
define Package/plplot
|
||||||
$(call Package/plplot/Default)
|
$(call Package/plplot/Default)
|
||||||
DEPENDS:=+libltdl +zlib +libfreetype @BROKEN
|
DEPENDS:=+libltdl +zlib +libfreetype
|
||||||
TITLE+=
|
TITLE+=
|
||||||
endef
|
endef
|
||||||
|
|
||||||
@ -182,10 +213,10 @@ endef
|
|||||||
|
|
||||||
TARGET_CFLAGS += -Wl,-rpath-link=$(STAGING_DIR)/usr/lib
|
TARGET_CFLAGS += -Wl,-rpath-link=$(STAGING_DIR)/usr/lib
|
||||||
|
|
||||||
CMAKE_FLAGS := \
|
CMAKE_OPTIONS += \
|
||||||
-Wdev \
|
-Wdev \
|
||||||
|
-DPL_USE_NAMESPACE=1 \
|
||||||
-DCMAKE_INSTALL_PREFIX=/usr \
|
-DCMAKE_INSTALL_PREFIX=/usr \
|
||||||
-DCMAKE_TOOLCHAIN_FILE=$(PKG_BUILD_DIR)/toolchain.cmake \
|
|
||||||
-DPKG_CONFIG_EXECUTABLE=$(STAGING_DIR_HOST)/bin/pkg-config \
|
-DPKG_CONFIG_EXECUTABLE=$(STAGING_DIR_HOST)/bin/pkg-config \
|
||||||
-DSWIG_EXECUTABLE=$(STAGING_DIR_HOST)/bin/swig \
|
-DSWIG_EXECUTABLE=$(STAGING_DIR_HOST)/bin/swig \
|
||||||
-DDEFAULT_NO_DEVICES=ON \
|
-DDEFAULT_NO_DEVICES=ON \
|
||||||
@ -199,16 +230,24 @@ CMAKE_FLAGS := \
|
|||||||
-DCMAKE_USE_NAMESPACE=ON \
|
-DCMAKE_USE_NAMESPACE=ON \
|
||||||
-DCMAKE_NATIVE_BINARY_DIR=$(STAGING_DIR_HOST)/lib/$(PKG_NAME)-$(PKG_VERSION)/build_dir
|
-DCMAKE_NATIVE_BINARY_DIR=$(STAGING_DIR_HOST)/lib/$(PKG_NAME)-$(PKG_VERSION)/build_dir
|
||||||
|
|
||||||
|
# plplot tries to find 'libm', 'libdl' and probably other libs via directory
|
||||||
|
# search, but that won't work since in openwrt trunk, it's in the toolchain
|
||||||
|
# directory. For the ltdl stuff see plplot's FindLTDL.cmake file.
|
||||||
|
CMAKE_OPTIONS += \
|
||||||
|
-DMATH_LIB:FILEPATH=$(TOOLCHAIN_DIR)/lib/libm.so \
|
||||||
|
-DLTDL_LTDL_ADDLIB1:FILEPATH=$(TOOLCHAIN_DIR)/lib/libdl.so \
|
||||||
|
-DLUA_MATH_LIBRARY:FILEPATH=$(TOOLCHAIN_DIR)/lib/libm.so
|
||||||
|
|
||||||
# everything done under unstall target!
|
# everything done under unstall target!
|
||||||
ifdef CONFIG_PACKAGE_plplot-demo
|
ifdef CONFIG_PACKAGE_plplot-demo
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifdef CONFIG_PACKAGE_plplot-cxx
|
ifdef CONFIG_PACKAGE_plplot-cxx
|
||||||
CMAKE_FLAGS += -DENABLE_cxx=ON
|
CMAKE_OPTIONS += -DENABLE_cxx=ON
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifdef CONFIG_PACKAGE_plplot-qt
|
ifdef CONFIG_PACKAGE_plplot-qt
|
||||||
CMAKE_FLAGS += \
|
CMAKE_OPTIONS += \
|
||||||
-DPLD_qtwidget=ON \
|
-DPLD_qtwidget=ON \
|
||||||
-DPLD_extqt=ON \
|
-DPLD_extqt=ON \
|
||||||
-DENABLE_qt=ON \
|
-DENABLE_qt=ON \
|
||||||
@ -219,24 +258,24 @@ ifdef CONFIG_PACKAGE_plplot-qt
|
|||||||
endif
|
endif
|
||||||
|
|
||||||
ifdef CONFIG_PACKAGE_plplot-linuxvga
|
ifdef CONFIG_PACKAGE_plplot-linuxvga
|
||||||
CMAKE_FLAGS += \
|
CMAKE_OPTIONS += \
|
||||||
-DPLD_linuxvga=ON
|
-DPLD_linuxvga=ON
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifdef CONFIG_PACKAGE_plplot-lua
|
ifdef CONFIG_PACKAGE_plplot-lua
|
||||||
CMAKE_FLAGS += -DENABLE_lua=ON
|
CMAKE_OPTIONS += -DENABLE_lua=ON
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifdef CONFIG_PACKAGE_plplot-python
|
ifdef CONFIG_PACKAGE_plplot-python
|
||||||
CMAKE_FLAGS += -DENABLE_python=ON
|
CMAKE_OPTIONS += -DENABLE_python=ON
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifdef CONFIG_PACKAGE_plplot-tcl
|
ifdef CONFIG_PACKAGE_plplot-tcl
|
||||||
CMAKE_FLAGS += -DENABLE_tcl=ON
|
CMAKE_OPTIONS += -DENABLE_tcl=ON
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifdef CONFIG_PACKAGE_plplot-octave
|
ifdef CONFIG_PACKAGE_plplot-octave
|
||||||
CMAKE_FLAGS += \
|
CMAKE_OPTIONS += \
|
||||||
-DENABLE_octave=ON \
|
-DENABLE_octave=ON \
|
||||||
-DMKOCTFILE=$(STAGING_DIR)/usr/bin/mkoctfile \
|
-DMKOCTFILE=$(STAGING_DIR)/usr/bin/mkoctfile \
|
||||||
-DOCTAVE_OCT_DIR=/usr/lib/octave/site/oct/$(OPTIMIZE_FOR_CPU)-openwrt-linux-gnu \
|
-DOCTAVE_OCT_DIR=/usr/lib/octave/site/oct/$(OPTIMIZE_FOR_CPU)-openwrt-linux-gnu \
|
||||||
@ -245,7 +284,7 @@ endif
|
|||||||
|
|
||||||
# $(if $(CONFIG_PACKAGE_libX11),FEATURE_XLOCK=y,FEATURE_XLOCK=n) \
|
# $(if $(CONFIG_PACKAGE_libX11),FEATURE_XLOCK=y,FEATURE_XLOCK=n) \
|
||||||
|
|
||||||
define Build/Configure
|
define Build/Configure/Deprecated
|
||||||
echo "SET(CMAKE_SYSTEM_NAME Linux)" > $(PKG_BUILD_DIR)/toolchain.cmake
|
echo "SET(CMAKE_SYSTEM_NAME Linux)" > $(PKG_BUILD_DIR)/toolchain.cmake
|
||||||
echo "SET(CMAKE_SYSTEM_VERSION 1)" >> $(PKG_BUILD_DIR)/toolchain.cmake
|
echo "SET(CMAKE_SYSTEM_VERSION 1)" >> $(PKG_BUILD_DIR)/toolchain.cmake
|
||||||
echo "SET(CMAKE_BUILD_TYPE None)" >> $(PKG_BUILD_DIR)/toolchain.cmake
|
echo "SET(CMAKE_BUILD_TYPE None)" >> $(PKG_BUILD_DIR)/toolchain.cmake
|
||||||
@ -273,14 +312,24 @@ define Build/Configure
|
|||||||
echo "SET(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)" >> $(PKG_BUILD_DIR)/toolchain.cmake
|
echo "SET(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)" >> $(PKG_BUILD_DIR)/toolchain.cmake
|
||||||
echo "SET(PL_USE_NAMESPACE 1)" >> $(PKG_BUILD_DIR)/toolchain.cmake
|
echo "SET(PL_USE_NAMESPACE 1)" >> $(PKG_BUILD_DIR)/toolchain.cmake
|
||||||
|
|
||||||
cd $(PKG_BUILD_DIR) && cmake $(CMAKE_FLAGS)
|
cd $(PKG_BUILD_DIR) && cmake $(CMAKE_OPTIONS)
|
||||||
|
endef
|
||||||
|
|
||||||
|
TARGET_CFLAGS+=-I$(STAGING_DIR)/usr/include
|
||||||
|
TARGET_LDFLAGS+=-L$(STAGING_DIR)/usr/lib
|
||||||
|
|
||||||
|
# Another cmake (or cmake.mk or plplot) bug workaround: CMAKE_CXX_COMPILER is
|
||||||
|
# not picked up. Giving it CXX with the environment works better. However,
|
||||||
|
# this breaks with ccache, so we have to disable ccache. Uggh.
|
||||||
|
define Build/Configure
|
||||||
|
export CXX="$(TOOLCHAIN_DIR)/bin/$(filter-out ccache,$(TARGET_CC))"; \
|
||||||
|
$(call Build/Configure/Default)
|
||||||
endef
|
endef
|
||||||
|
|
||||||
define Build/Compile
|
define Build/Compile
|
||||||
$(call Build/Compile/Default, VERBOSE=1 -j4)
|
$(call Build/Compile/Default, VERBOSE=1)
|
||||||
endef
|
endef
|
||||||
|
|
||||||
|
|
||||||
define Build/Install
|
define Build/Install
|
||||||
$(call Build/Install/Default)
|
$(call Build/Install/Default)
|
||||||
# $(INSTALL_DATA) ./files/... $(PKG_INSTALL_DIR)/usr/share/plplot/
|
# $(INSTALL_DATA) ./files/... $(PKG_INSTALL_DIR)/usr/share/plplot/
|
||||||
|
Loading…
Reference in New Issue
Block a user