mysql: Parallel build fixes
[openwrt/svn-archive/archive.git] / libs / mysql / Makefile
1 #
2 # Copyright (C) 2006-2010 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:=mysql
11 PKG_VERSION:=5.0.18
12 PKG_RELEASE:=3
13
14 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
15 PKG_SOURCE_URL:=\
16 http://mysql.planetmirror.com/Downloads/MySQL-5.0/ \
17 http://mysql.he.net/Downloads/MySQL-5.0/ \
18 http://www.linorg.usp.br/mysql/Downloads/MySQL-5.0/ \
19 http://mysql.holywar.net/Downloads/MySQL-5.0/
20 PKG_MD5SUM:=f18153b0239aaa03fc5a751f2d82cb71
21
22 PKG_BUILD_DEPENDS:=libncurses libreadline
23 PKG_BUILD_PARALLEL:=1
24 PKG_FIXUP:=libtool
25
26 include $(INCLUDE_DIR)/package.mk
27
28 define Package/libmysqlclient/Default
29 SECTION:=libs
30 CATEGORY:=Libraries
31 DEPENDS:=+zlib
32 TITLE:=MySQL client library
33 URL:=http://dev.mysql.com/
34 endef
35
36 define Package/mysql-server/Default
37 SECTION:=utils
38 CATEGORY:=Utilities
39 DEPENDS:=+zlib +libmysqlclient +uclibcxx
40 TITLE:=MySQL Server
41 URL:=http://dev.mysql.com/
42 SUBMENU:=database
43 endef
44
45 define Package/mysql-server
46 $(call Package/mysql-server/Default)
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 endef
57
58 CONFIGURE_VARS += \
59 CXXFLAGS="$$$$CXXFLAGS -fno-builtin -fno-rtti -nostdinc++" \
60 CPPFLAGS="$$$$CPPFLAGS -I$(STAGING_DIR)/usr/include/uClibc++" \
61 LDFLAGS="$$$$LDFLAGS" \
62 LIBS="-nodefaultlibs -luClibc++ -lm $(LIBGCC_S)" \
63 CLIENTCLIBS="-nodefaultlibs -luClibc++ -lm $(LIBGCC_S)" \
64
65
66 define Build/Configure
67 (cd $(PKG_BUILD_DIR); touch \
68 configure.in \
69 aclocal.m4 \
70 Makefile.in \
71 config.h.in \
72 configure \
73 );
74
75 $(call Build/Configure/Default, \
76 --enable-shared \
77 --enable-static \
78 --enable-thread-safe-client \
79 --disable-assembler \
80 --with-pthread \
81 --with-server \
82 --without-mysqlmanager \
83 --without-raid \
84 --with-mysqld-user=root \
85 --with-unix-socket-path=/tmp \
86 --without-libwrap \
87 --without-pstack \
88 --with-low-memory \
89 --without-embedded-server \
90 --without-query-cache \
91 --without-mysqlfs \
92 --without-vio \
93 --without-openssl \
94 --without-docs \
95 --without-man \
96 --without-bench \
97 --without-readline \
98 --without-debug \
99 --with-named-thread-libs=-lpthread \
100 , \
101 mysql_cv_compress=yes \
102 mysql_cv_gethostname_style=glibc2 \
103 );
104 endef
105
106 TARGET_CFLAGS += $(FPIC)
107
108 define Build/Compile
109 $(MAKE) $(PKG_JOBS) -C "$(PKG_BUILD_DIR)" \
110 SUBDIRS="include" \
111 DESTDIR="$(PKG_INSTALL_DIR)" \
112 all
113 $(MAKE) -C "$(PKG_BUILD_DIR)" \
114 SUBDIRS="include" \
115 DESTDIR="$(PKG_INSTALL_DIR)" \
116 install
117 $(MAKE) $(PKG_JOBS) -C "$(PKG_BUILD_DIR)/libmysql" \
118 CC="$(HOSTCC)" \
119 LINK="$(HOSTCC) -o conf_to_src -lc" \
120 CFLAGS="" \
121 CPPFLAGS="" \
122 conf_to_src
123 $(MAKE) $(PKG_JOBS) -C "$(PKG_BUILD_DIR)" \
124 SUBDIRS="libmysql" \
125 DESTDIR="$(PKG_INSTALL_DIR)" \
126 all
127 $(MAKE) -C "$(PKG_BUILD_DIR)" \
128 SUBDIRS="libmysql" \
129 DESTDIR="$(PKG_INSTALL_DIR)" \
130 install
131 $(MAKE) $(PKG_JOBS) -C "$(PKG_BUILD_DIR)" \
132 SUBDIRS="libmysql_r" \
133 DESTDIR="$(PKG_INSTALL_DIR)" \
134 all
135 $(MAKE) -C "$(PKG_BUILD_DIR)" \
136 SUBDIRS="libmysql_r" \
137 DESTDIR="$(PKG_INSTALL_DIR)" \
138 install
139 $(MAKE) -C "$(PKG_BUILD_DIR)" \
140 SUBDIRS="scripts" \
141 DESTDIR="$(PKG_INSTALL_DIR)" \
142 bin_SCRIPTS="mysql_config" \
143 install
144 $(MAKE) $(PKG_JOBS) -C "$(PKG_BUILD_DIR)" \
145 DESTDIR="$(PKG_INSTALL_DIR)" \
146 all
147 $(MAKE) -C "$(PKG_BUILD_DIR)" \
148 DESTDIR="$(PKG_INSTALL_DIR)" \
149 install
150 endef
151
152
153 define Build/InstallDev
154 $(INSTALL_DIR) $(2)/bin $(1)/usr/bin $(1)/usr/include $(1)/usr/lib
155 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/mysql_config $(1)/usr/bin/
156 ln -sf $(STAGING_DIR)/usr/bin/mysql_config $(2)/bin/
157 $(CP) $(PKG_INSTALL_DIR)/usr/include/mysql $(1)/usr/include/
158 # NOTE: needed for MySQL-Python
159 $(CP) $(PKG_BUILD_DIR)/include/mysqld_error.h $(1)/usr/include/mysql/
160 $(CP) $(PKG_INSTALL_DIR)/usr/lib/mysql $(1)/usr/lib/
161 rm -f $(1)/usr/lib/mysql/libmysqlclient.la
162 endef
163
164 define Package/libmysqlclient/install
165 $(INSTALL_DIR) $(1)/usr/lib
166 $(CP) $(PKG_INSTALL_DIR)/usr/lib/mysql/libmysqlclient.so.* $(1)/usr/lib/
167 endef
168 define Package/libmysqlclient_r/install
169 $(INSTALL_DIR) $(1)/usr/lib
170 $(CP) $(PKG_INSTALL_DIR)/usr/lib/mysql/libmysqlclient_r.so.* $(1)/usr/lib/
171 endef
172
173 define Package/mysql-server/install
174 $(INSTALL_DIR) $(1)/usr/bin
175 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/mysql $(1)/usr/bin/
176 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/mysqld $(1)/usr/bin/
177 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/myisamchk $(1)/usr/bin/
178 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/mysqladmin $(1)/usr/bin/
179 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/mysqldump $(1)/usr/bin/
180 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/mysql_install_db $(1)/usr/bin/
181 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/mysql_create_system_tables $(1)/usr/bin/
182 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/my_print_defaults $(1)/usr/bin/
183 $(INSTALL_DIR) $(1)/etc/init.d/
184 $(INSTALL_BIN) files/mysqld.init $(1)/etc/init.d/mysqld
185 $(INSTALL_CONF) conf/my.cnf $(1)/etc/
186 $(INSTALL_DIR) $(1)/usr/share/mysql
187 $(INSTALL_DIR) $(1)/usr/share/mysql/english
188 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/share/mysql/english/errmsg.sys $(1)/usr/share/mysql/english
189 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/share/mysql/fill_help_tables.sql $(1)/usr/share/mysql/
190 endef
191
192 $(eval $(call BuildPackage,mysql-server))
193 $(eval $(call BuildPackage,libmysqlclient))
194 $(eval $(call BuildPackage,libmysqlclient_r))