1f756b99ebbbeb05ebc86ded9ea47f102796d9d5
[packages.git] / libs / mysql / Makefile
1 #
2 # Copyright (C) 2006-2013 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 include $(INCLUDE_DIR)/uclibc++.mk
10
11 PKG_NAME:=mysql
12 PKG_VERSION:=5.1.68
13 PKG_RELEASE:=1
14
15 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
16 PKG_SOURCE_URL:=\
17         http://mysql.he.net/Downloads/MySQL-5.1/ \
18         http://www.linorg.usp.br/mysql/Downloads/MySQL-5.1/ \
19         http://www.mirrorservice.org/sites/ftp.mysql.com/Downloads/MySQL-5.1/ \
20         http://mirror.switch.ch/ftp/mirror/mysql/Downloads/MySQL-5.1/ \
21         http://downloads.mysql.com/archives/mysql-5.1/
22
23 PKG_MD5SUM:=3a4a627d0865ce7660504728a15b0fb9
24
25 PKG_BUILD_DEPENDS:=libncurses libreadline
26 PKG_BUILD_PARALLEL:=1
27
28 PKG_FIXUP:=libtool
29
30 include $(INCLUDE_DIR)/package.mk
31
32 define Package/libmysqlclient/Default
33   SECTION:=libs
34   CATEGORY:=Libraries
35   DEPENDS:=$(CXX_DEPENDS) +zlib
36   TITLE:=MySQL client library
37   URL:=http://dev.mysql.com/
38 endef
39
40 define Package/mysql-server
41   SECTION:=utils
42   CATEGORY:=Utilities
43   DEPENDS:=+libmysqlclient +libpthread +libncursesw +libreadline
44   TITLE:=MySQL Server
45   URL:=http://dev.mysql.com/
46   SUBMENU:=database
47 endef
48
49 define Package/libmysqlclient
50   $(call Package/libmysqlclient/Default)
51 endef
52
53 define Package/libmysqlclient-r
54   $(call Package/libmysqlclient/Default)
55   TITLE += threadsafe
56   DEPENDS+= +libpthread
57 endef
58
59 TARGET_CXX=g++-uc
60
61 TARGET_CFLAGS += $(FPIC)
62
63 CONFIGURE_ARGS += \
64         --enable-shared \
65         --enable-static \
66         --enable-thread-safe-client \
67         --disable-assembler \
68         --with-pthread \
69         --with-server \
70         --without-mysqlmanager \
71         --without-raid \
72         --with-mysqld-user=root \
73         --with-unix-socket-path=/tmp \
74         --without-libwrap \
75         --without-pstack \
76         --with-low-memory \
77         --without-embedded-server \
78         --without-query-cache \
79         --without-mysqlfs \
80         --without-vio \
81         --without-ssl \
82         --without-docs \
83         --without-man \
84         --without-bench \
85         --without-readline \
86         --without-debug \
87         --with-named-thread-libs=-lpthread
88
89 CONFIGURE_VARS += \
90         mysql_cv_compress=yes \
91         mysql_cv_gethostname_style=glibc2 \
92         mysql_cv_gcc_atomic_builtins=yes \
93         mysql_cv_gcc_atomic_builtins_pthread_t=yes \
94         ac_cv_c_stack_direction=-1
95
96 define Build/Compile
97         +$(MAKE) $(PKG_JOBS) -C "$(PKG_BUILD_DIR)" \
98                 SUBDIRS="include" \
99                 DESTDIR="$(PKG_INSTALL_DIR)" \
100                 all
101         $(MAKE) -C "$(PKG_BUILD_DIR)" \
102                 SUBDIRS="include" \
103                 DESTDIR="$(PKG_INSTALL_DIR)" \
104                 install
105         g++ -I $(PKG_BUILD_DIR)/include \
106                 -o $(PKG_BUILD_DIR)/sql/gen_lex_hash \
107                 $(PKG_BUILD_DIR)/sql/gen_lex_hash.cc
108         +$(MAKE) $(PKG_JOBS) -C "$(PKG_BUILD_DIR)/libmysql" \
109                 CC="g++" \
110                 CFLAGS="$(HOST_CFLAGS)" \
111                 CPPFLAGS="$(HOST_CFLAGS)" \
112                 LDFLAGS="$(HOST_LDFLAGS)" \
113                 conf_to_src
114         +$(MAKE) $(PKG_JOBS) -C "$(PKG_BUILD_DIR)" \
115                 SUBDIRS="libmysql" \
116                 DESTDIR="$(PKG_INSTALL_DIR)" \
117                 all
118         $(MAKE) -C "$(PKG_BUILD_DIR)" \
119                 SUBDIRS="libmysql" \
120                 DESTDIR="$(PKG_INSTALL_DIR)" \
121                 install
122         +$(MAKE) $(PKG_JOBS) -C "$(PKG_BUILD_DIR)" \
123                 SUBDIRS="libmysql_r" \
124                 DESTDIR="$(PKG_INSTALL_DIR)" \
125                 all
126         $(MAKE) -C "$(PKG_BUILD_DIR)" \
127                 SUBDIRS="libmysql_r" \
128                 DESTDIR="$(PKG_INSTALL_DIR)" \
129                 install
130         $(MAKE) -C "$(PKG_BUILD_DIR)" \
131                 SUBDIRS="scripts" \
132                 DESTDIR="$(PKG_INSTALL_DIR)" \
133                 bin_SCRIPTS="mysql_config" \
134                 install
135         +$(MAKE) $(PKG_JOBS) -C "$(PKG_BUILD_DIR)" \
136                 DESTDIR="$(PKG_INSTALL_DIR)" \
137                 all
138         $(MAKE) -C "$(PKG_BUILD_DIR)" \
139                 DESTDIR="$(PKG_INSTALL_DIR)" \
140                 install
141 endef
142
143
144 define Build/InstallDev
145         $(INSTALL_DIR) $(2)/bin $(1)/usr/bin $(1)/usr/include $(1)/usr/lib
146         $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/mysql_config $(1)/usr/bin/
147         ln -sf $(STAGING_DIR)/usr/bin/mysql_config $(2)/bin/
148         $(CP) $(PKG_INSTALL_DIR)/usr/include/mysql $(1)/usr/include/
149         # NOTE: needed for MySQL-Python
150         $(CP) $(PKG_BUILD_DIR)/include/mysqld_error.h $(1)/usr/include/mysql/
151         $(CP) $(PKG_INSTALL_DIR)/usr/lib/mysql $(1)/usr/lib/
152         rm -f $(1)/usr/lib/mysql/libmysqlclient.la
153 endef
154
155 define Package/libmysqlclient/install
156         $(INSTALL_DIR) $(1)/usr/lib
157         $(CP) $(PKG_INSTALL_DIR)/usr/lib/mysql/libmysqlclient.so.* $(1)/usr/lib/
158 endef
159 define Package/libmysqlclient-r/install
160         $(INSTALL_DIR) $(1)/usr/lib
161         $(CP) $(PKG_INSTALL_DIR)/usr/lib/mysql/libmysqlclient_r.so.* $(1)/usr/lib/
162 endef
163
164 define Package/mysql-server/install
165         $(INSTALL_DIR) $(1)/usr/bin
166         $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/mysql $(1)/usr/bin/
167         $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/mysqld $(1)/usr/bin/
168         $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/myisamchk $(1)/usr/bin/
169         $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/mysqladmin $(1)/usr/bin/
170         $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/mysqldump $(1)/usr/bin/
171         $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/mysql_install_db $(1)/usr/bin/
172         $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/my_print_defaults $(1)/usr/bin/
173         $(INSTALL_DIR) $(1)/etc/init.d/
174         $(INSTALL_BIN) files/mysqld.init $(1)/etc/init.d/mysqld
175         $(INSTALL_CONF) conf/my.cnf $(1)/etc/
176         $(INSTALL_DIR) $(1)/usr/share/mysql
177         $(INSTALL_DIR) $(1)/usr/share/mysql/english
178         $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/share/mysql/english/errmsg.sys $(1)/usr/share/mysql/english
179         $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/share/mysql/fill_help_tables.sql $(1)/usr/share/mysql/
180         $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/share/mysql/mysql_system_tables.sql $(1)/usr/share/mysql/
181         $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/share/mysql/mysql_system_tables_data.sql $(1)/usr/share/mysql/
182 endef
183
184 define Package/mysql-server/conffiles
185 /etc/my.cnf
186 endef
187
188 $(eval $(call BuildPackage,mysql-server))
189 $(eval $(call BuildPackage,libmysqlclient))
190 $(eval $(call BuildPackage,libmysqlclient-r))