unixodbc: fix host build
[feed/packages.git] / libs / unixodbc / Makefile
1 #
2 # Copyright (C) 2014 OpenWrt.org
3 #
4 # This is free software, licensed under the GNU General Public License v2.
5 # See /LICENSE for more information.
6 #
7
8 include $(TOPDIR)/rules.mk
9
10 PKG_NAME:=unixodbc
11 PKG_VERSION:=2.3.4
12 PKG_RELEASE:=5
13
14 PKG_SOURCE_URL:=ftp://ftp.unixodbc.org/pub/unixODBC/
15 PKG_SOURCE:=unixODBC-$(PKG_VERSION).tar.gz
16 PKG_HASH:=2e1509a96bb18d248bf08ead0d74804957304ff7c6f8b2e5965309c632421e39
17 PKG_BUILD_DIR:=$(BUILD_DIR)/unixODBC-$(PKG_VERSION)
18 HOST_BUILD_DIR:=$(BUILD_DIR_HOST)/unixODBC-$(PKG_VERSION)
19 PKG_MAINTAINER:=Thomas Heil <heil@terminal-consulting.de>
20 PKG_LICENSE:=prog GPL libs LGPL
21 HOST_BUILD_DEPENDS:=unixodbc
22
23 # if your other package depends on unixodbc and needs
24 # odbc_config, add to your other Makefile
25 # PKG_BUILD_DEPENDS:=unixodbc/host
26
27 include $(INCLUDE_DIR)/package.mk
28 include $(INCLUDE_DIR)/host-build.mk
29
30 CONFIGURE_ARGS += \
31 --disable-gui \
32 --with-pic \
33 --enable-drivers \
34 --includedir=$(STAGING_DIR)/usr/include
35
36 define Package/unixodbc/Default
37 SUBMENU:=database
38 TITLE:=unixODBC
39 URL:=http://www.unixodbc.org/
40 endef
41
42 define Package/unixodbc
43 $(call Package/unixodbc/Default)
44 TITLE+= (libraries)
45 SECTION:=libs
46 CATEGORY:=Libraries
47 DEPENDS:=+libltdl +libpthread
48 endef
49
50 define Package/unixodbc/description
51 unixODBC is an Open Source ODBC sub-system and an ODBC SDK for Linux,
52 Mac OSX, and UNIX.
53 endef
54
55 define Package/unixodbc-tools
56 $(call Package/unixodbc/Default)
57 SECTION:=utils
58 CATEGORY:=Utilities
59 TITLE+= Tools
60 DEPENDS:=+unixodbc +libncurses +libreadline
61 endef
62
63 define Package/unixodbc-tools/description
64 Command Line Tools to help install a driver and work with SQL.
65 endef
66
67 define Package/pgsqlodbc
68 $(call Package/unixodbc/Default)
69 SECTION:=libs
70 CATEGORY:=Libraries
71 TITLE:=Postgresql driver for ODBC
72 DEPENDS:=+unixodbc +libpq
73 endef
74
75 define Package/pgsqlodbc/description
76 Postgresql driver for ODBC.
77 endef
78
79 define Build/Compile
80 $(MAKE) -C $(PKG_BUILD_DIR) \
81 DESTDIR="$(PKG_INSTALL_DIR)" \
82 $(MAKE_FLAGS) \
83 ARCH="$(ARCH)" \
84 CC="$(TARGET_CC)"
85 $(MAKE) -C $(PKG_BUILD_DIR) \
86 DESTDIR="$(PKG_INSTALL_DIR)" \
87 $(MAKE_FLAGS) \
88 ARCH="$(ARCH)" \
89 install -i
90 endef
91
92 define Build/InstallDev
93 $(INSTALL_DIR) $(1)/usr/include
94 $(CP) $(PKG_INSTALL_DIR)/$(STAGING_DIR)/usr/include/*.h $(1)/usr/include/
95 $(INSTALL_DIR) $(1)/usr/lib
96 $(CP) $(PKG_INSTALL_DIR)/usr/lib/* $(1)/usr/lib/
97 $(INSTALL_DIR) $(1)/etc
98 $(CP) $(PKG_INSTALL_DIR)/etc/odbc* $(1)/etc/
99 $(INSTALL_DIR) $(1)/etc/ODBCDataSources
100 $(TARGET_CC) $(TARGET_CFLAGS) -E ./files/unixodbc_conf.h | tr '@' '\#' >$(1)/usr/include/unixodbc_conf.h
101 endef
102
103 define Package/unixodbc/install
104 $(INSTALL_DIR) $(1)/usr/lib
105 $(CP) $(PKG_INSTALL_DIR)/usr/lib/libodbc[ci]*so* $(1)/usr/lib/
106 $(CP) $(PKG_INSTALL_DIR)/usr/lib/libodbc.*so* $(1)/usr/lib/
107 $(CP) $(PKG_INSTALL_DIR)/usr/lib/libnn*so* $(1)/usr/lib/
108 $(INSTALL_DIR) $(1)/etc/init.d
109 $(INSTALL_BIN) ./files/odbc.init $(1)/etc/init.d/odbc
110 $(LN) /tmp/etc/odbcinst.ini $(1)/etc/odbcinst.ini
111 endef
112
113 define Package/unixodbc-tools/install
114 $(INSTALL_DIR) $(1)/usr/bin
115 $(CP) $(PKG_INSTALL_DIR)/usr/bin/{dltest,isql,iusql,odbcinst,slencheck} $(1)/usr/bin/
116 endef
117
118 define Package/pgsqlodbc/install
119 $(INSTALL_DIR) $(1)/usr/lib
120 $(CP) $(PKG_INSTALL_DIR)/usr/lib/libodbcpsql*so* $(1)/usr/lib/
121 $(INSTALL_DIR) $(1)/etc/odbcinst.ini.d/
122 echo "[PostgreSQL]" > $(1)/etc/odbcinst.ini.d/pgsqlodbc.ini
123 echo "Description = unixODBC PostgreSQL driver" >> $(1)/etc/odbcinst.ini.d/pgsqlodbc.ini
124 echo "Driver = /usr/lib/libodbcpsql.so" >> $(1)/etc/odbcinst.ini.d/pgsqlodbc.ini
125 endef
126
127 define Host/Configure
128 $(call Host/Configure/Default)
129 cp $(PKG_BUILD_DIR)/config.h $(HOST_BUILD_DIR)
130 cp $(PKG_BUILD_DIR)/unixodbc_conf.h $(HOST_BUILD_DIR)
131 endef
132
133 define Host/Compile
134 $(MAKE) -C $(HOST_BUILD_DIR)/exe \
135 DESTDIR="$(HOST_INSTALL_DIR)" \
136 CC="$(HOSTCC)" \
137 CFLAGS="$(HOST_CFLAGS) -DUSE_UNIXODBC_CONF_H" \
138 LDFLAGS="$(HOST_LDFLAGS)" \
139 odbc_config
140 endef
141
142 define Host/Install
143 $(INSTALL_DIR) $(STAGING_DIR_HOST)/bin
144 $(CP) $(HOST_BUILD_DIR)/exe/odbc_config $(STAGING_DIR_HOST)/bin
145 endef
146
147 $(eval $(call BuildPackage,unixodbc))
148 $(eval $(call BuildPackage,unixodbc-tools))
149 $(eval $(call BuildPackage,pgsqlodbc))
150 $(eval $(call HostBuild))