# # Copyright (C) 2014 OpenWrt.org # # This is free software, licensed under the GNU General Public License v2. # See /LICENSE for more information. # include $(TOPDIR)/rules.mk PKG_NAME:=unixodbc PKG_VERSION:=2.3.9 PKG_RELEASE:=2 PKG_SOURCE:=unixODBC-$(PKG_VERSION).tar.gz PKG_SOURCE_URL:=http://www.unixodbc.org PKG_HASH:=52833eac3d681c8b0c9a5a65f2ebd745b3a964f208fc748f977e44015a31b207 PKG_MAINTAINER:=Thomas Heil PKG_LICENSE:=prog GPL libs LGPL PKG_CPE_ID:=cpe:/a:unixodbc:unixodbc PKG_BUILD_DIR:=$(BUILD_DIR)/unixODBC-$(PKG_VERSION) HOST_BUILD_DIR:=$(BUILD_DIR_HOST)/unixODBC-$(PKG_VERSION) HOST_BUILD_DEPENDS:=unixodbc PKG_FIXUP:=autoreconf # if your other package depends on unixodbc and needs # odbc_config, add to your other Makefile # PKG_BUILD_DEPENDS:=unixodbc/host include $(INCLUDE_DIR)/package.mk include $(INCLUDE_DIR)/host-build.mk CONFIGURE_ARGS += \ --disable-gui \ --with-pic \ --enable-drivers \ --includedir=$(STAGING_DIR)/usr/include define Package/unixodbc/Default SUBMENU:=Database TITLE:=unixODBC URL:=http://www.unixodbc.org endef define Package/unixodbc $(call Package/unixodbc/Default) TITLE+= (libraries) SECTION:=libs CATEGORY:=Libraries DEPENDS:=+libltdl +libpthread endef define Package/unixodbc/description unixODBC is an Open Source ODBC sub-system and an ODBC SDK for Linux, Mac OSX, and UNIX. endef define Package/unixodbc-tools $(call Package/unixodbc/Default) SECTION:=utils CATEGORY:=Utilities TITLE+= Tools DEPENDS:=+unixodbc +libncurses +libreadline endef define Package/unixodbc-tools/description Command Line Tools to help install a driver and work with SQL. endef define Package/pgsqlodbc $(call Package/unixodbc/Default) SECTION:=libs CATEGORY:=Libraries TITLE:=Postgresql driver for ODBC DEPENDS:=+unixodbc +libpq endef define Package/pgsqlodbc/description Postgresql driver for ODBC. endef define Build/Compile $(MAKE) -C $(PKG_BUILD_DIR) \ DESTDIR="$(PKG_INSTALL_DIR)" \ $(MAKE_FLAGS) \ ARCH="$(ARCH)" \ CC="$(TARGET_CC)" $(MAKE) -C $(PKG_BUILD_DIR) \ DESTDIR="$(PKG_INSTALL_DIR)" \ $(MAKE_FLAGS) \ ARCH="$(ARCH)" \ install -i endef define Build/InstallDev $(INSTALL_DIR) $(1)/usr/include $(CP) $(PKG_INSTALL_DIR)/$(STAGING_DIR)/usr/include/*.h $(1)/usr/include/ # Save autoconf config.h file for host build # copy target autoconf config.h and unixodbc_conf.h file for host build $(INSTALL_DIR) $(1)/tmp/unixodbc $(CP) $(PKG_BUILD_DIR)/config.h $(1)/tmp/unixodbc/ $(CP) $(PKG_BUILD_DIR)/unixodbc_conf.h $(1)/tmp/unixodbc/ $(INSTALL_DIR) $(1)/usr/lib $(CP) $(PKG_INSTALL_DIR)/usr/lib/* $(1)/usr/lib/ $(INSTALL_DIR) $(1)/etc $(CP) $(PKG_INSTALL_DIR)/etc/odbc* $(1)/etc/ $(INSTALL_DIR) $(1)/etc/ODBCDataSources $(TARGET_CC) $(TARGET_CFLAGS) -E ./files/unixodbc_conf.h | tr '@' '\#' >$(1)/usr/include/unixodbc_conf.h endef define Package/unixodbc/install $(INSTALL_DIR) $(1)/usr/lib $(CP) $(PKG_INSTALL_DIR)/usr/lib/libodbc[ci]*so* $(1)/usr/lib/ $(CP) $(PKG_INSTALL_DIR)/usr/lib/libodbc.*so* $(1)/usr/lib/ $(CP) $(PKG_INSTALL_DIR)/usr/lib/libnn*so* $(1)/usr/lib/ $(INSTALL_DIR) $(1)/etc/init.d $(INSTALL_BIN) ./files/odbc.init $(1)/etc/init.d/odbc $(LN) /tmp/etc/odbcinst.ini $(1)/etc/odbcinst.ini endef define Package/unixodbc-tools/install $(INSTALL_DIR) $(1)/usr/bin $(CP) $(PKG_INSTALL_DIR)/usr/bin/{dltest,isql,iusql,odbcinst,slencheck} $(1)/usr/bin/ endef define Package/pgsqlodbc/install $(INSTALL_DIR) $(1)/usr/lib $(CP) $(PKG_INSTALL_DIR)/usr/lib/libodbcpsql*so* $(1)/usr/lib/ $(INSTALL_DIR) $(1)/etc/odbcinst.ini.d/ echo "[PostgreSQL]" > $(1)/etc/odbcinst.ini.d/pgsqlodbc.ini echo "Description = unixODBC PostgreSQL driver" >> $(1)/etc/odbcinst.ini.d/pgsqlodbc.ini echo "Driver = /usr/lib/libodbcpsql.so" >> $(1)/etc/odbcinst.ini.d/pgsqlodbc.ini endef define Host/Configure $(call Host/Configure/Default) cp $(STAGING_DIR)/tmp/unixodbc/config.h $(HOST_BUILD_DIR) sed -i -e 's!\(LIB_PREFIX \).*$$$$!\1"$(STAGING_DIR)/usr/lib"!' $(HOST_BUILD_DIR)/config.h cp $(STAGING_DIR)/tmp/unixodbc/unixodbc_conf.h $(HOST_BUILD_DIR) endef define Host/Compile $(MAKE) -C $(HOST_BUILD_DIR)/exe \ DESTDIR="$(HOST_INSTALL_DIR)" \ CC="$(HOSTCC)" \ CFLAGS="$(HOST_CFLAGS) -DUSE_UNIXODBC_CONF_H" \ LDFLAGS="$(HOST_LDFLAGS)" \ odbc_config endef define Host/Install $(INSTALL_DIR) $(STAGING_DIR_HOST)/bin $(INSTALL_BIN) $(HOST_BUILD_DIR)/exe/odbc_config $(STAGING_DIR_HOST)/bin endef $(eval $(call BuildPackage,unixodbc)) $(eval $(call BuildPackage,unixodbc-tools)) $(eval $(call BuildPackage,pgsqlodbc)) $(eval $(call HostBuild))