X-Git-Url: https://git.rohieb.name/openwrt.git/blobdiff_plain/e9d41ec0cdab8ce30943aea0d7176d64d21e2004..db566810f1b2540e3588f558404e846b5a99ef52:/package/mysql/Makefile

diff --git a/package/mysql/Makefile b/package/mysql/Makefile
index c471d9c45..ad6b5297b 100644
--- a/package/mysql/Makefile
+++ b/package/mysql/Makefile
@@ -2,43 +2,36 @@
 
 include $(TOPDIR)/rules.mk
 
-PKG_NAME := mysql
-PKG_VERSION := 4.0.24
-PKG_RELEASE := 2
-PKG_MD5SUM := 408d3001ed715ddc90009c247e548638
+PKG_NAME:=mysql
+PKG_VERSION:=5.0.18
+PKG_RELEASE:=1
+PKG_MD5SUM:=f18153b0239aaa03fc5a751f2d82cb71
 
-PKG_SOURCE_SITE := \
-	http://mysql.he.net/Downloads/MySQL-4.0/ \
-	http://www.linorg.usp.br/mysql/Downloads/MySQL-4.0/ \
-	http://mysql.planetmirror.com/Downloads/MySQL-4.0/ \
-	http://mysql.holywar.net/Downloads/MySQL-4.0/ \
-	http://netmirror.org/mirror/mysql.com/Downloads/MySQL-4.0/ \
-	http://nthill.free.fr/openwrt/sources/$(PKG_NAME)/
-PKG_SOURCE_FILE := $(PKG_NAME)-$(PKG_VERSION).tar.gz
-PKG_SOURCE_CAT := zcat
-PKG_SOURCE_DIR := $(PKG_NAME)-$(PKG_VERSION)
-PKG_BUILD_DIR := $(BUILD_DIR)/$(PKG_SOURCE_DIR)
-PKG_IPK := $(PACKAGE_DIR)/libmysqlclient_$(PKG_VERSION)-$(PKG_RELEASE)_$(ARCH).ipk
-PKG_IPK_DIR := $(PKG_BUILD_DIR)/ipkg
+PKG_SOURCE_URL:=\
+	http://mysql.planetmirror.com/Downloads/MySQL-5.0/ \
+	http://mysql.he.net/Downloads/MySQL-5.0/ \
+	http://www.linorg.usp.br/mysql/Downloads/MySQL-5.0/ \
+	http://mysql.holywar.net/Downloads/MySQL-5.0/
 
-$(DL_DIR)/$(PKG_SOURCE_FILE):
-	mkdir -p $(DL_DIR)
-	$(SCRIPT_DIR)/download.pl $(DL_DIR) $(PKG_SOURCE_FILE) $(PKG_MD5SUM) $(PKG_SOURCE_SITE)
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
+PKG_CAT:=zcat
 
-$(PKG_BUILD_DIR)/.patched: $(DL_DIR)/$(PKG_SOURCE_FILE)
-	$(PKG_SOURCE_CAT) $(DL_DIR)/$(PKG_SOURCE_FILE) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) -
-	$(PATCH) $(PKG_BUILD_DIR) ./patches
-	touch $(PKG_BUILD_DIR)/.patched
+PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
+PKG_INSTALL_DIR:=$(PKG_BUILD_DIR)/ipkg-install
 
-$(PKG_BUILD_DIR)/.configured: $(PKG_BUILD_DIR)/.patched
-	(cd $(PKG_BUILD_DIR); rm -rf config.cache; \
+include $(TOPDIR)/package/rules.mk
+
+$(eval $(call PKG_template,LIBMYSQLCLIENT,libmysqlclient,$(PKG_VERSION)-$(PKG_RELEASE),$(ARCH)))
+
+$(PKG_BUILD_DIR)/.configured:
+	(cd $(PKG_BUILD_DIR); rm -rf config.{cache,status} ; \
 		touch configure.in; \
 		touch aclocal.m4; \
 		touch Makefile.in; \
 		touch config.h.in; \
 		touch configure; \
 		$(TARGET_CONFIGURE_OPTS) \
-		CFLAGS="-I$(STAGING_DIR)/usr/include" \
+		CPPFLAGS="-I$(STAGING_DIR)/usr/include" \
 		LDFLAGS="-L$(STAGING_DIR)/usr/lib" \
 		OPTIMIZE_CFLAGS="$(TARGET_CFLAGS)" \
 		OPTIMIZE_CXXFLAGS="$(TARGET_CFLAGS)" \
@@ -52,16 +45,22 @@ $(PKG_BUILD_DIR)/.configured: $(PKG_BUILD_DIR)/.patched
 		--target=$(GNU_TARGET_NAME) \
 		--host=$(GNU_TARGET_NAME) \
 		--build=$(GNU_HOST_NAME) \
-		--prefix=/ \
-		--exec-prefix=/ \
+		--program-prefix="" \
+		--program-suffix="" \
+		--prefix=/usr \
+		--exec-prefix=/usr \
 		--bindir=/usr/bin \
-		--sbindir=/usr/sbin \
-		--libexecdir=/usr/lib \
-		--sysconfdir=/etc \
 		--datadir=/usr/share \
+		--includedir=/usr/include \
+		--infodir=/usr/share/info \
+		--libdir=/usr/lib \
+		--libexecdir=/usr/lib \
 		--localstatedir=/var \
-		--mandir=/usr/man \
-		--infodir=/usr/info \
+		--mandir=/usr/share/man \
+		--sbindir=/usr/sbin \
+		--sysconfdir=/etc \
+		$(DISABLE_LARGEFILE) \
+		$(DISABLE_NLS) \
 		--enable-shared \
 		--enable-static \
 		--disable-assembler \
@@ -80,42 +79,55 @@ $(PKG_BUILD_DIR)/.configured: $(PKG_BUILD_DIR)/.patched
 		--without-docs \
 		--without-bench \
 		--without-readline \
-		$(DISABLE_NLS) \
-		$(DISABLE_LARGEFILE) \
 	);
-	touch $(PKG_BUILD_DIR)/.configured
+	touch $@
 
-$(PKG_BUILD_DIR)/libmysql/.libs/libmysqlclient.so: $(PKG_BUILD_DIR)/.configured
+$(PKG_BUILD_DIR)/.built:
+	rm -rf $(PKG_INSTALL_DIR)
+	mkdir -p $(PKG_INSTALL_DIR)
+	$(MAKE) -C "$(PKG_BUILD_DIR)" \
+		SUBDIRS="include" \
+		DESTDIR="$(PKG_INSTALL_DIR)" \
+		all install
 	$(MAKE) -C "$(PKG_BUILD_DIR)/libmysql" \
 		CC="$(HOSTCC)" \
 		LINK="$(HOSTCC) -o conf_to_src -lc" \
 		CFLAGS="" \
 		conf_to_src
 	$(MAKE) -C "$(PKG_BUILD_DIR)" \
-		SUBDIRS="include libmysql" \
-		all
-
-$(STAGING_DIR)/include/mysql/mysql.h: $(PKG_BUILD_DIR)/libmysql/.libs/libmysqlclient.so
+		SUBDIRS="libmysql" \
+		DESTDIR="$(PKG_INSTALL_DIR)" \
+		all install
 	$(MAKE) -C "$(PKG_BUILD_DIR)" \
-		DESTDIR="$(STAGING_DIR)" \
-		SUBDIRS="include libmysql" \
+		SUBDIRS="scripts" \
+		DESTDIR="$(PKG_INSTALL_DIR)" \
+		bin_SCRIPTS="mysql_config" \
 		install
+	touch $@
+
+$(IPKG_LIBMYSQLCLIENT):
+	install -d -m0755 $(IDIR_LIBMYSQLCLIENT)/usr/lib
+	$(CP) $(PKG_INSTALL_DIR)/usr/lib/mysql/libmysqlclient.so.* $(IDIR_LIBMYSQLCLIENT)/usr/lib/
+	$(RSTRIP) $(IDIR_LIBMYSQLCLIENT)
+	$(IPKG_BUILD) $(IDIR_LIBMYSQLCLIENT) $(PACKAGE_DIR)
 
-$(PKG_IPK): $(PKG_BUILD_DIR)/libmysql/.libs/libmysqlclient.so
-	$(SCRIPT_DIR)/make-ipkg-dir.sh $(PKG_IPK_DIR) libmysqlclient.control $(PKG_VERSION)-$(PKG_RELEASE) $(ARCH)
-	mkdir -p $(PKG_IPK_DIR)/usr/lib
-	cp $< $(PKG_IPK_DIR)/usr/lib/
-	mkdir -p $(PACKAGE_DIR)
-	$(IPKG_BUILD) $(PKG_IPK_DIR) $(PACKAGE_DIR)
+$(STAGING_DIR)/usr/lib/mysql/libmysqlclient.so: $(PKG_BUILD_DIR)/.built
+	mkdir -p $(STAGING_DIR)/usr/bin
+	$(CP) $(PKG_INSTALL_DIR)/usr/bin/mysql_config $(STAGING_DIR)/usr/bin/
+	mkdir -p $(STAGING_DIR)/usr/include
+	$(CP) $(PKG_INSTALL_DIR)/usr/include/mysql $(STAGING_DIR)/usr/include/
+	mkdir -p $(STAGING_DIR)/usr/lib
+	$(CP) $(PKG_INSTALL_DIR)/usr/lib/mysql $(STAGING_DIR)/usr/lib/
+	rm -f $(STAGING_DIR)/usr/lib/mysql/libmysqlclient.la
+	touch $@
 
-$(IPKG_STATE_DIR)/info/libmysqlclient.list: $(PKG_IPK)
-	$(IPKG) install $(PKG_IPK)
+install-dev: $(STAGING_DIR)/usr/lib/mysql/libmysqlclient.so
 
-source: $(DL_DIR)/$(PKG_SOURCE)
-prepare: $(PKG_BUILD_DIR)/.patched
-compile: $(STAGING_DIR)/include/mysql/mysql.h $(PKG_IPK)
-install: $(IPKG_STATE_DIR)/info/libmysqlclient.list
+uninstall-dev:
+	rm -rf \
+	  $(STAGING_DIR)/usr/bin/mysql_config \
+	  $(STAGING_DIR)/usr/include/mysql \
+	  $(STAGING_DIR)/usr/lib/mysql \
 
-clean:
-	rm -rf $(PKG_BUILD_DIR)
-	rm -f $(PKG_IPK)
+compile-targets: install-dev
+clean-targets: uninstall-dev