Date:2011-01-03 22:10:15 (13 years 2 months ago)
Author:David Kühling
Commit:0a1980c48217c5666dcd89e8ae4a9818cdbfa5ef
Message:Port of plplot: a plotting library supporting most scripting languages Scripting language bindings currently not build. The graphical Qt4 output device builds. Everything experimental&untested

Files: plplot/Makefile (1 diff)

Change Details

plplot/Makefile
1#
2# Copyright (C) 2011 David Kuehling <dvdkhlng TA gmx TOD de>
3#
4# License GPLv2 or later. NO WARRANTY.
5#
6# OpenWRT package for the Plplot
7
8include $(TOPDIR)/rules.mk
9
10PKG_NAME:=plplot
11PKG_VERSION:=5.9.7
12PKG_RELEASE:=1
13PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
14PKG_SOURCE_URL:=@SF/$(PKG_NAME)/$(PKG_VERSION)%20Source
15PKG_MD5SUM:=c53c484ed93ce8446513c31707551b5b
16PKG_INSTALL:=1
17PKG_FIXUP:=libtool
18
19PKG_BUILD_DEPENDS:= plplot/host libtool/host qt4 qt4-gui
20#@INSTALL_GFORTRAN
21
22include $(INCLUDE_DIR)/host-build.mk
23include $(INCLUDE_DIR)/package.mk
24
25## Need host-compiled plplot build dir for cmake to work for the target
26define Host/Configure
27    mkdir $(HOST_BUILD_DIR)/build_dir
28    cd $(HOST_BUILD_DIR)/build_dir && \
29      cmake -DCMAKE_INSTALL_PREFIX=/usr \
30             -DDEFAULT_NO_DEVICES=ON \
31        -DPKG_CONFIG_EXECUTABLE=Not-Found -DDEFAULT_NO_BINDINGS=ON \
32            $(HOST_BUILD_DIR)
33endef
34
35define Host/Compile
36    make -C $(HOST_BUILD_DIR)/build_dir
37endef
38
39define Host/Install
40    $(INSTALL_DIR) $(STAGING_DIR_HOST)/lib/cmake
41    $(CP) $(HOST_BUILD_DIR)/build_dir $(STAGING_DIR_HOST)/lib/cmake/
42endef
43
44define Package/plplot/Default
45  SECTION:=utils
46  CATEGORY:=Utilities
47
48  TITLE:=PLplot plotting library
49  URL:=http://plplot.sourceforge.net/
50# SUBMENU:=Plplot
51endef
52
53define Package/plplot/Default/description
54PLplot is a cross-platform software package for creating scientific plots. It
55comes with language bindings for many interpreter languages like Lua, Tcl,
56Python. Also it can be used as plooting backend for GNU Octave.
57endef
58
59define Package/plplot
60$(call Package/plplot/Default)
61  DEPENDS:=+qt4 +qt4-gui
62  TITLE+=
63endef
64
65define Package/plplot/description
66$(call Package/plplot/Default/description)
67 This package contains the Plplot executable files
68endef
69
70# define Package/plplot-data
71# $(call Package/plplot/Default)
72# TITLE=+ (function files)
73# endef
74
75# define Package/plplot-data/description
76# $(call Package/plplot/Default/description)
77# This package contains the platform-independant .m-files.
78# endef
79
80CONFIGURE_ARGS +=
81#MAKE_FLAGS += "LD=$(TARGET_CROSS)gcc -nostdlib"
82
83define Build/Configure
84    echo "SET(CMAKE_SYSTEM_NAME Linux)" > $(PKG_BUILD_DIR)/toolchain.cmake
85    echo "SET(CMAKE_SYSTEM_VERSION 1)" >> $(PKG_BUILD_DIR)/toolchain.cmake
86    echo "SET(CMAKE_BUILD_TYPE None)" >> $(PKG_BUILD_DIR)/toolchain.cmake
87    echo "SET(CMAKE_C_COMPILER $(TARGET_CC:ccache=))" >> $(PKG_BUILD_DIR)/toolchain.cmake
88    echo "SET(CMAKE_CXX_COMPILER $(TARGET_CC:ccache=))" >> $(PKG_BUILD_DIR)/toolchain.cmake
89    echo "SET(CMAKE_C_FLAGS \"$(TARGET_CPPFLAGS) $(EXTRA_CPPFLAGS) $(TARGET_CFLAGS) $(EXTRA_CFLAGS)\" CACHE STRING \"\" FORCE)" >> $(PKG_BUILD_DIR)/toolchain.cmake
90    echo "SET(CMAKE_CXX_FLAGS \"$(TARGET_CPPFLAGS) $(EXTRA_CPPFLAGS) $(TARGET_CFLAGS) $(EXTRA_CFLAGS)\" CACHE STRING \"\" FORCE)" >> $(PKG_BUILD_DIR)/toolchain.cmake
91    echo "SET(CMAKE_VERBOSE_MAKEFILE ON)" >> $(PKG_BUILD_DIR)/toolchain.cmake
92
93        # where is the target environment
94    echo "SET(CMAKE_FIND_ROOT_PATH $(STAGING_DIR))" >> $(PKG_BUILD_DIR)/toolchain.cmake
95    echo "SET(CMAKE_LIBRARY_PATH $(STAGING_DIR)/usr/lib $(STAGING_DIR)/lib $(STAGING_DIR_ROOT)/lib)" >> $(PKG_BUILD_DIR)/toolchain.cmake
96    echo "SET(CMAKE_INCLUDE_PATH $(STAGING_DIR)/usr/include)" >> $(PKG_BUILD_DIR)/toolchain.cmake
97
98        # search for programs in the build host directories
99    echo "SET(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)" >> $(PKG_BUILD_DIR)/toolchain.cmake
100
101        # for libraries and headers in the target directories
102    echo "SET(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)" >> $(PKG_BUILD_DIR)/toolchain.cmake
103    echo "SET(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)" >> $(PKG_BUILD_DIR)/toolchain.cmake
104    echo "SET(PL_USE_NAMESPACE 1)" >> $(PKG_BUILD_DIR)/toolchain.cmake
105
106    cd $(PKG_BUILD_DIR) && \
107      cmake -DCMAKE_INSTALL_PREFIX=/usr \
108             -DCMAKE_TOOLCHAIN_FILE=$(PKG_BUILD_DIR)/toolchain.cmake \
109        -DPKG_CONFIG_EXECUTABLE=$(STAGING_DIR_HOST)/bin/pkg-config \
110             -DDEFAULT_NO_DEVICES=ON -DPLD_ps=ON -DPLD_svg=ON \
111        -DPLD_extqt=ON \
112        -DDEFAULT_NO_BINDINGS=ON \
113        -DENABLE_cxx=ON -DNaNAwareCCompiler=ON \
114        -DQT_QMAKE_EXECUTABLE=$(STAGING_DIR_HOST)/bin/qmake \
115        -DQT_MOC_EXECUTABLE=$(STAGING_DIR_HOST)/bin/moc \
116        -DQT_UIC_EXECUTABLE=$(STAGING_DIR_HOST)/bin/uic \
117        -DQT_RCC_EXECUTABLE=$(STAGING_DIR_HOST)/bin/rcc \
118        -DENABLE_qt=ON \
119        -DCMAKE_USE_NAMESPACE=ON \
120        -DCMAKE_NATIVE_BINARY_DIR=$(STAGING_DIR_HOST)/lib/cmake/build_dir
121# -DQt4_INCLUDE_DIR=$(STAGING_DIR_ROOT)/usr/include \
122# -DQt4_LIRARY=$(STAGING_DIR_ROOT)/usr/lib/libQtGui.so \
123
124endef
125
126define Build/Compile
127    $(call Build/Compile/Default, VERBOSE=1 -j2)
128endef
129
130define Build/Install
131    $(call Build/Install/Default)
132# $(INSTALL_DATA) ./files/... $(PKG_INSTALL_DIR)/usr/share/plplot/
133endef
134
135define Build/InstallDev
136    $(INSTALL_DIR) $(1)/usr/include/plplot
137    $(CP) $(PKG_INSTALL_DIR)/usr/include/plplot/*.h \
138        $(1)/usr/include/plplot/
139
140    $(INSTALL_DIR) $(1)/usr/lib
141    $(INSTALL_DIR) $(1)/usr/lib/pkgconfig
142    $(CP) $(PKG_INSTALL_DIR)/usr/lib/lib*.so* \
143        $(1)/usr/lib/
144    $(CP) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/plplotd.pc \
145        $(1)/usr/lib/pkgconfig/plplotd.pc
146    $(SED) 's,-I$$$${includedir},,g' $(1)/usr/lib/pkgconfig/plplotd.pc
147    $(SED) 's,-L$$$${libdir},,g' $(1)/usr/lib/pkgconfig/plplotd.pc
148endef
149
150define Package/plplot/install
151    $(INSTALL_DIR) $(1)/usr
152    $(INSTALL_DIR) $(1)/usr/share/plplot$(PKG_VERSION)
153    $(CP) $(PKG_INSTALL_DIR)/usr/{bin,lib} \
154        $(1)/usr
155    $(CP) $(PKG_INSTALL_DIR)/usr/share/plplot$(PKG_VERSION)/*.{map,pal,fnt} \
156        $(1)/usr/share/plplot$(PKG_VERSION)/
157endef
158
159# define Package/plplot-data/install
160# $(INSTALL_DIR) $(1)/
161# (cd $(PKG_INSTALL_DIR)/ && tar -cf - usr/share) \
162# | (cd $(1)/ && tar -xvf -)
163# endef
164
165$(eval $(call HostBuild))
166$(eval $(call BuildPackage,plplot))
167#$(eval $(call BuildPackage,plplot-data))
168
169
170# The following comments configure the Emacs editor. Just ignore them.
171# Local Variables:
172# compile-command: "make -C ~/h/src/qi/openwrt-xburst package/plplot/compile -j2 V=99"
173# End:

Archive Download the corresponding diff file



interactive