1 |
commit: 916d01948c83d066d91ce18fa8f7d945761750ed |
2 |
Author: Brian Evans <grknight <AT> tuffmail <DOT> com> |
3 |
AuthorDate: Thu Jan 23 00:13:51 2014 +0000 |
4 |
Commit: Brian Evans <grknight <AT> lavabit <DOT> com> |
5 |
CommitDate: Thu Jan 23 00:13:51 2014 +0000 |
6 |
URL: http://git.overlays.gentoo.org/gitweb/?p=proj/mysql-extras.git;a=commit;h=916d0194 |
7 |
|
8 |
Respin elib patch for percona, mysql 5.6 and mariadb 10.0 |
9 |
|
10 |
--- |
11 |
00000_index.txt | 20 +++++ |
12 |
20006_all_cmake_elib-mariadb-10.0.7.patch | 1 + |
13 |
20006_all_cmake_elib-mysql-5.6.15.patch | 132 +++++++++++++++++++++++++++++ |
14 |
20006_all_cmake_elib-percona-5.5.35.patch | 133 ++++++++++++++++++++++++++++++ |
15 |
20006_all_cmake_elib-percona-5.6.15.patch | 132 +++++++++++++++++++++++++++++ |
16 |
5 files changed, 418 insertions(+) |
17 |
|
18 |
diff --git a/00000_index.txt b/00000_index.txt |
19 |
index 972c386..096c746 100644 |
20 |
--- a/00000_index.txt |
21 |
+++ b/00000_index.txt |
22 |
@@ -1570,3 +1570,23 @@ |
23 |
@ver 5.05.35.00 to 5.05.99.99 |
24 |
@pn mysql |
25 |
@@ Add ELIBPATH to split client and embedded libs |
26 |
+ |
27 |
+@patch 20006_all_cmake_elib-mysql-5.6.15.patch |
28 |
+@ver 5.06.15.00 to 5.05.99.99 |
29 |
+@pn mysql |
30 |
+@@ Add ELIBPATH to split client and embedded libs |
31 |
+ |
32 |
+@patch 20006_all_cmake_elib-percona-5.5.35.patch |
33 |
+@ver 5.05.35.00 to 5.05.99.99 |
34 |
+@pn percona-server |
35 |
+@@ Add ELIBPATH to split client and embedded libs |
36 |
+ |
37 |
+@patch 20006_all_cmake_elib-percona-5.6.15.patch |
38 |
+@ver 5.06.15.00 to 5.06.99.99 |
39 |
+@pn percona-server |
40 |
+@@ Add ELIBPATH to split client and embedded libs |
41 |
+ |
42 |
+@patch 20006_all_cmake_elib-mariadb-10.0.7.patch |
43 |
+@ver 10.00.07.00 to 10.00.99.99 |
44 |
+@pn mariadb |
45 |
+@@ Add ELIBPATH to split client and embedded libs |
46 |
|
47 |
diff --git a/20006_all_cmake_elib-mariadb-10.0.7.patch b/20006_all_cmake_elib-mariadb-10.0.7.patch |
48 |
new file mode 120000 |
49 |
index 0000000..fe5632d |
50 |
--- /dev/null |
51 |
+++ b/20006_all_cmake_elib-mariadb-10.0.7.patch |
52 |
@@ -0,0 +1 @@ |
53 |
+20006_all_cmake_elib-mariadb-5.5.33.patch |
54 |
\ No newline at end of file |
55 |
|
56 |
diff --git a/20006_all_cmake_elib-mysql-5.6.15.patch b/20006_all_cmake_elib-mysql-5.6.15.patch |
57 |
new file mode 100644 |
58 |
index 0000000..5dd5f0c |
59 |
--- /dev/null |
60 |
+++ b/20006_all_cmake_elib-mysql-5.6.15.patch |
61 |
@@ -0,0 +1,132 @@ |
62 |
+diff -ur mysql-old/cmake/install_layout.cmake mysql/cmake/install_layout.cmake |
63 |
+--- mysql-old/cmake/install_layout.cmake 2014-01-20 00:14:06.581799638 -0100 |
64 |
++++ mysql/cmake/install_layout.cmake 2014-01-20 00:15:27.647802721 -0100 |
65 |
+@@ -43,7 +43,8 @@ |
66 |
+ # - INSTALL_SBINDIR (directory with mysqld) |
67 |
+ # - INSTALL_SCRIPTDIR (several scripts, rarely used) |
68 |
+ # |
69 |
+-# - INSTALL_LIBDIR (directory with client end embedded libraries) |
70 |
++# - INSTALL_LIBDIR (directory with client libraries) |
71 |
++# - INSTALL_ELIBDIR (directory with embedded libraries) |
72 |
+ # - INSTALL_PLUGINDIR (directory for plugins) |
73 |
+ # |
74 |
+ # - INSTALL_INCLUDEDIR (directory for MySQL headers) |
75 |
+@@ -117,6 +118,7 @@ |
76 |
+ SET(INSTALL_SCRIPTDIR_STANDALONE "scripts") |
77 |
+ # |
78 |
+ SET(INSTALL_LIBDIR_STANDALONE "lib") |
79 |
++SET(INSTALL_ELIBDIR_STANDALONE "lib") |
80 |
+ SET(INSTALL_PLUGINDIR_STANDALONE "lib/plugin") |
81 |
+ # |
82 |
+ SET(INSTALL_INCLUDEDIR_STANDALONE "include") |
83 |
+@@ -148,9 +150,11 @@ |
84 |
+ # |
85 |
+ IF(CMAKE_SYSTEM_PROCESSOR MATCHES "x86_64") |
86 |
+ SET(INSTALL_LIBDIR_RPM "lib64") |
87 |
++ SET(INSTALL_ELIBDIR_RPM "lib64") |
88 |
+ SET(INSTALL_PLUGINDIR_RPM "lib64/mysql/plugin") |
89 |
+ ELSE() |
90 |
+ SET(INSTALL_LIBDIR_RPM "lib") |
91 |
++ SET(INSTALL_ELIBDIR_RPM "lib") |
92 |
+ SET(INSTALL_PLUGINDIR_RPM "lib/mysql/plugin") |
93 |
+ ENDIF() |
94 |
+ # |
95 |
+@@ -178,6 +182,7 @@ |
96 |
+ SET(INSTALL_SCRIPTDIR_DEB "scripts") |
97 |
+ # |
98 |
+ SET(INSTALL_LIBDIR_DEB "lib") |
99 |
++SET(INSTALL_ELIBDIR_DEB "lib") |
100 |
+ SET(INSTALL_PLUGINDIR_DEB "lib/plugin") |
101 |
+ # |
102 |
+ SET(INSTALL_INCLUDEDIR_DEB "include") |
103 |
+@@ -204,6 +209,7 @@ |
104 |
+ SET(INSTALL_SCRIPTDIR_SVR4 "scripts") |
105 |
+ # |
106 |
+ SET(INSTALL_LIBDIR_SVR4 "lib") |
107 |
++SET(INSTALL_ELIBDIR_SVR4 "lib") |
108 |
+ SET(INSTALL_PLUGINDIR_SVR4 "lib/plugin") |
109 |
+ # |
110 |
+ SET(INSTALL_INCLUDEDIR_SVR4 "include") |
111 |
+@@ -234,7 +240,7 @@ |
112 |
+ # Set INSTALL_FOODIR variables for chosen layout (for example, INSTALL_BINDIR |
113 |
+ # will be defined as ${INSTALL_BINDIR_STANDALONE} by default if STANDALONE |
114 |
+ # layout is chosen) |
115 |
+-FOREACH(var BIN SBIN LIB MYSQLSHARE SHARE PLUGIN INCLUDE SCRIPT DOC MAN |
116 |
++FOREACH(var BIN SBIN LIB ELIB MYSQLSHARE SHARE PLUGIN INCLUDE SCRIPT DOC MAN |
117 |
+ INFO MYSQLTEST SQLBENCH DOCREADME SUPPORTFILES MYSQLDATA PLUGINTEST) |
118 |
+ SET(INSTALL_${var}DIR ${INSTALL_${var}DIR_${INSTALL_LAYOUT}} |
119 |
+ CACHE STRING "${var} installation directory" ${FORCE}) |
120 |
+diff -ur mysql-old/cmake/libutils.cmake mysql/cmake/libutils.cmake |
121 |
+--- mysql-old/cmake/libutils.cmake 2014-01-20 00:14:06.581799638 -0100 |
122 |
++++ mysql/cmake/libutils.cmake 2014-01-20 00:15:27.647802721 -0100 |
123 |
+@@ -40,6 +40,8 @@ |
124 |
+ # - MERGE_LIBRARIES(target [STATIC|SHARED|MODULE] [linklib1 .... linklibN] |
125 |
+ # [EXPORTS exported_func1 .... exported_func_N] |
126 |
+ # [OUTPUT_NAME output_name] |
127 |
++# [OUTPUT_DIR output_dir] |
128 |
++ |
129 |
+ # This macro merges several static libraries into a single one or creates a shared |
130 |
+ # library from several convenience libraries |
131 |
+ |
132 |
+@@ -214,7 +216,7 @@ |
133 |
+ #) |
134 |
+ MACRO(MERGE_LIBRARIES) |
135 |
+ MYSQL_PARSE_ARGUMENTS(ARG |
136 |
+- "EXPORTS;OUTPUT_NAME;COMPONENT" |
137 |
++ "EXPORTS;OUTPUT_NAME;COMPONENT;OUTPUT_DIR" |
138 |
+ "STATIC;SHARED;MODULE;NOINSTALL" |
139 |
+ ${ARGN} |
140 |
+ ) |
141 |
+@@ -265,7 +267,11 @@ |
142 |
+ IF(ARG_COMPONENT) |
143 |
+ SET(COMP COMPONENT ${ARG_COMPONENT}) |
144 |
+ ENDIF() |
145 |
+- MYSQL_INSTALL_TARGETS(${TARGET} DESTINATION "${INSTALL_LIBDIR}" ${COMP}) |
146 |
++ IF(ARG_OUTPUT_DIR) |
147 |
++ MYSQL_INSTALL_TARGETS(${TARGET} DESTINATION "${ARG_OUTPUT_DIR}" ${COMP}) |
148 |
++ ELSE() |
149 |
++ MYSQL_INSTALL_TARGETS(${TARGET} DESTINATION "${INSTALL_LIBDIR}" ${COMP}) |
150 |
++ ENDIF() |
151 |
+ ENDIF() |
152 |
+ SET_TARGET_PROPERTIES(${TARGET} PROPERTIES LINK_INTERFACE_LIBRARIES "") |
153 |
+ |
154 |
+diff -ur mysql-old/libmysql/CMakeLists.txt mysql/libmysql/CMakeLists.txt |
155 |
+--- mysql-old/libmysql/CMakeLists.txt 2014-01-20 00:14:06.580799638 -0100 |
156 |
++++ mysql/libmysql/CMakeLists.txt 2014-01-20 00:15:27.647802721 -0100 |
157 |
+@@ -165,6 +165,6 @@ |
158 |
+ |
159 |
+ # Merge several convenience libraries into one big mysqlclient |
160 |
+-MERGE_LIBRARIES(mysqlclient STATIC ${LIBS} COMPONENT Development) |
161 |
++MERGE_LIBRARIES(mysqlclient STATIC ${LIBS} COMPONENT Development OUTPUT_DIR ${INSTALL_LIBDIR}) |
162 |
+ |
163 |
+ # Visual Studio users need debug static library for debug projects |
164 |
+ INSTALL_DEBUG_SYMBOLS(clientlib) |
165 |
+diff -ur mysql-old/libmysqld/CMakeLists.txt mysql/libmysqld/CMakeLists.txt |
166 |
+--- mysql-old/libmysqld/CMakeLists.txt 2014-01-20 00:14:06.453799634 -0100 |
167 |
++++ mysql/libmysqld/CMakeLists.txt 2014-01-20 00:25:46.375826250 -0100 |
168 |
+@@ -127,7 +127,7 @@ |
169 |
+ ENDFOREACH() |
170 |
+ |
171 |
+ MERGE_LIBRARIES(mysqlserver STATIC ${EMBEDDED_LIBS} |
172 |
+- OUTPUT_NAME ${MYSQLSERVER_OUTPUT_NAME} COMPONENT Embedded) |
173 |
++ OUTPUT_NAME ${MYSQLSERVER_OUTPUT_NAME} COMPONENT Embedded OUTPUT_DIR ${INSTALL_ELIBDIR}) |
174 |
+ |
175 |
+ # Visual Studio users need debug static library |
176 |
+ IF(MSVC) |
177 |
+@@ -135,12 +135,14 @@ |
178 |
+ ENDIF() |
179 |
+ |
180 |
+ IF(UNIX) |
181 |
+- INSTALL_DEBUG_TARGET(mysqlserver DESTINATION ${INSTALL_LIBDIR} RENAME |
182 |
++ INSTALL_DEBUG_TARGET(mysqlserver DESTINATION ${INSTALL_ELIBDIR} RENAME |
183 |
+ ${CMAKE_STATIC_LIBRARY_PREFIX}mysqld-debug) |
184 |
+ ENDIF() |
185 |
+ |
186 |
+ IF(NOT DISABLE_SHARED) |
187 |
+- MERGE_LIBRARIES(libmysqld SHARED mysqlserver EXPORTS ${CLIENT_API_FUNCTIONS}) |
188 |
++ MERGE_LIBRARIES(libmysqld SHARED mysqlserver EXPORTS ${CLIENT_API_FUNCTIONS} |
189 |
++ COMPONENT Embedded OUTPUT_DIR ${INSTALL_ELIBDIR}) |
190 |
++ |
191 |
+ IF(UNIX) |
192 |
+ # Name the shared library, handle versioning (provides same api as client library |
193 |
+ # hence the same version) |
194 |
|
195 |
diff --git a/20006_all_cmake_elib-percona-5.5.35.patch b/20006_all_cmake_elib-percona-5.5.35.patch |
196 |
new file mode 100644 |
197 |
index 0000000..8662c5e |
198 |
--- /dev/null |
199 |
+++ b/20006_all_cmake_elib-percona-5.5.35.patch |
200 |
@@ -0,0 +1,133 @@ |
201 |
+diff -ur mysql-old/cmake/install_layout.cmake mysql/cmake/install_layout.cmake |
202 |
+--- mysql-old/cmake/install_layout.cmake 2014-01-20 00:14:06.581799638 -0100 |
203 |
++++ mysql/cmake/install_layout.cmake 2014-01-20 00:15:27.647802721 -0100 |
204 |
+@@ -43,7 +43,8 @@ |
205 |
+ # - INSTALL_SBINDIR (directory with mysqld) |
206 |
+ # - INSTALL_SCRIPTDIR (several scripts, rarely used) |
207 |
+ # |
208 |
+-# - INSTALL_LIBDIR (directory with client end embedded libraries) |
209 |
++# - INSTALL_LIBDIR (directory with client libraries) |
210 |
++# - INSTALL_ELIBDIR (directory with embedded libraries) |
211 |
+ # - INSTALL_PLUGINDIR (directory for plugins) |
212 |
+ # |
213 |
+ # - INSTALL_INCLUDEDIR (directory for MySQL headers) |
214 |
+@@ -117,6 +118,7 @@ |
215 |
+ SET(INSTALL_SCRIPTDIR_STANDALONE "scripts") |
216 |
+ # |
217 |
+ SET(INSTALL_LIBDIR_STANDALONE "lib") |
218 |
++SET(INSTALL_ELIBDIR_STANDALONE "lib") |
219 |
+ SET(INSTALL_PLUGINDIR_STANDALONE "lib/mysql/plugin") |
220 |
+ # |
221 |
+ SET(INSTALL_INCLUDEDIR_STANDALONE "include") |
222 |
+@@ -148,9 +150,11 @@ |
223 |
+ # |
224 |
+ IF(CMAKE_SYSTEM_PROCESSOR MATCHES "x86_64") |
225 |
+ SET(INSTALL_LIBDIR_RPM "lib64") |
226 |
++ SET(INSTALL_ELIBDIR_RPM "lib64") |
227 |
+ SET(INSTALL_PLUGINDIR_RPM "lib64/mysql/plugin") |
228 |
+ ELSE() |
229 |
+ SET(INSTALL_LIBDIR_RPM "lib") |
230 |
++ SET(INSTALL_ELIBDIR_RPM "lib") |
231 |
+ SET(INSTALL_PLUGINDIR_RPM "lib/mysql/plugin") |
232 |
+ ENDIF() |
233 |
+ # |
234 |
+@@ -178,6 +182,7 @@ |
235 |
+ SET(INSTALL_SCRIPTDIR_DEB "scripts") |
236 |
+ # |
237 |
+ SET(INSTALL_LIBDIR_DEB "lib") |
238 |
++SET(INSTALL_ELIBDIR_DEB "lib") |
239 |
+ SET(INSTALL_PLUGINDIR_DEB "lib/mysql/plugin") |
240 |
+ # |
241 |
+ SET(INSTALL_INCLUDEDIR_DEB "include") |
242 |
+@@ -204,6 +209,7 @@ |
243 |
+ SET(INSTALL_SCRIPTDIR_SVR4 "scripts") |
244 |
+ # |
245 |
+ SET(INSTALL_LIBDIR_SVR4 "lib") |
246 |
++SET(INSTALL_ELIBDIR_SVR4 "lib") |
247 |
+ SET(INSTALL_PLUGINDIR_SVR4 "lib/plugin") |
248 |
+ # |
249 |
+ SET(INSTALL_INCLUDEDIR_SVR4 "include") |
250 |
+@@ -234,7 +240,7 @@ |
251 |
+ # Set INSTALL_FOODIR variables for chosen layout (for example, INSTALL_BINDIR |
252 |
+ # will be defined as ${INSTALL_BINDIR_STANDALONE} by default if STANDALONE |
253 |
+ # layout is chosen) |
254 |
+-FOREACH(var BIN SBIN LIB MYSQLSHARE SHARE PLUGIN INCLUDE SCRIPT DOC MAN |
255 |
++FOREACH(var BIN SBIN LIB ELIB MYSQLSHARE SHARE PLUGIN INCLUDE SCRIPT DOC MAN |
256 |
+ INFO MYSQLTEST SQLBENCH DOCREADME SUPPORTFILES MYSQLDATA PLUGINTEST) |
257 |
+ SET(INSTALL_${var}DIR ${INSTALL_${var}DIR_${INSTALL_LAYOUT}} |
258 |
+ CACHE STRING "${var} installation directory" ${FORCE}) |
259 |
+diff -ur mysql-old/cmake/libutils.cmake mysql/cmake/libutils.cmake |
260 |
+--- mysql-old/cmake/libutils.cmake 2014-01-20 00:14:06.581799638 -0100 |
261 |
++++ mysql/cmake/libutils.cmake 2014-01-20 00:15:27.647802721 -0100 |
262 |
+@@ -40,6 +40,8 @@ |
263 |
+ # - MERGE_LIBRARIES(target [STATIC|SHARED|MODULE] [linklib1 .... linklibN] |
264 |
+ # [EXPORTS exported_func1 .... exported_func_N] |
265 |
+ # [OUTPUT_NAME output_name] |
266 |
++# [OUTPUT_DIR output_dir] |
267 |
++ |
268 |
+ # This macro merges several static libraries into a single one or creates a shared |
269 |
+ # library from several convenience libraries |
270 |
+ |
271 |
+@@ -214,7 +216,7 @@ |
272 |
+ #) |
273 |
+ MACRO(MERGE_LIBRARIES) |
274 |
+ MYSQL_PARSE_ARGUMENTS(ARG |
275 |
+- "EXPORTS;OUTPUT_NAME;COMPONENT" |
276 |
++ "EXPORTS;OUTPUT_NAME;COMPONENT;OUTPUT_DIR" |
277 |
+ "STATIC;SHARED;MODULE;NOINSTALL" |
278 |
+ ${ARGN} |
279 |
+ ) |
280 |
+@@ -265,7 +267,11 @@ |
281 |
+ IF(ARG_COMPONENT) |
282 |
+ SET(COMP COMPONENT ${ARG_COMPONENT}) |
283 |
+ ENDIF() |
284 |
+- MYSQL_INSTALL_TARGETS(${TARGET} DESTINATION "${INSTALL_LIBDIR}" ${COMP}) |
285 |
++ IF(ARG_OUTPUT_DIR) |
286 |
++ MYSQL_INSTALL_TARGETS(${TARGET} DESTINATION "${ARG_OUTPUT_DIR}" ${COMP}) |
287 |
++ ELSE() |
288 |
++ MYSQL_INSTALL_TARGETS(${TARGET} DESTINATION "${INSTALL_LIBDIR}" ${COMP}) |
289 |
++ ENDIF() |
290 |
+ ENDIF() |
291 |
+ SET_TARGET_PROPERTIES(${TARGET} PROPERTIES LINK_INTERFACE_LIBRARIES "") |
292 |
+ |
293 |
+diff -ur mysql-old/libmysql/CMakeLists.txt mysql/libmysql/CMakeLists.txt |
294 |
+--- mysql-old/libmysql/CMakeLists.txt 2014-01-20 00:14:06.580799638 -0100 |
295 |
++++ mysql/libmysql/CMakeLists.txt 2014-01-20 00:15:27.647802721 -0100 |
296 |
+@@ -165,7 +165,7 @@ |
297 |
+ |
298 |
+ # Merge several convenience libraries into one big mysqlclient |
299 |
+ # and link them together into shared library. |
300 |
+-MERGE_LIBRARIES(mysqlclient STATIC ${LIBS} COMPONENT Development) |
301 |
++MERGE_LIBRARIES(mysqlclient STATIC ${LIBS} COMPONENT Development OUTPUT_DIR ${INSTALL_LIBDIR}) |
302 |
+ |
303 |
+ # Visual Studio users need debug static library for debug projects |
304 |
+ INSTALL_DEBUG_SYMBOLS(clientlib) |
305 |
+diff -ur mysql-old/libmysqld/CMakeLists.txt mysql/libmysqld/CMakeLists.txt |
306 |
+--- mysql-old/libmysqld/CMakeLists.txt 2014-01-20 00:14:06.453799634 -0100 |
307 |
++++ mysql/libmysqld/CMakeLists.txt 2014-01-20 00:25:46.375826250 -0100 |
308 |
+@@ -127,7 +127,7 @@ |
309 |
+ ENDFOREACH() |
310 |
+ |
311 |
+ MERGE_LIBRARIES(mysqlserver STATIC ${EMBEDDED_LIBS} |
312 |
+- OUTPUT_NAME ${MYSQLSERVER_OUTPUT_NAME} COMPONENT Embedded) |
313 |
++ OUTPUT_NAME ${MYSQLSERVER_OUTPUT_NAME} COMPONENT Embedded OUTPUT_DIR ${INSTALL_ELIBDIR}) |
314 |
+ |
315 |
+ # Visual Studio users need debug static library |
316 |
+ IF(MSVC) |
317 |
+@@ -135,12 +135,14 @@ |
318 |
+ ENDIF() |
319 |
+ |
320 |
+ IF(UNIX) |
321 |
+- INSTALL_DEBUG_TARGET(mysqlserver DESTINATION ${INSTALL_LIBDIR} RENAME |
322 |
++ INSTALL_DEBUG_TARGET(mysqlserver DESTINATION ${INSTALL_ELIBDIR} RENAME |
323 |
+ ${CMAKE_STATIC_LIBRARY_PREFIX}mysqld-debug) |
324 |
+ ENDIF() |
325 |
+ |
326 |
+ IF(NOT DISABLE_SHARED) |
327 |
+- MERGE_LIBRARIES(libmysqld SHARED mysqlserver EXPORTS ${CLIENT_API_FUNCTIONS}) |
328 |
++ MERGE_LIBRARIES(libmysqld SHARED mysqlserver EXPORTS ${CLIENT_API_FUNCTIONS} |
329 |
++ COMPONENT Embedded OUTPUT_DIR ${INSTALL_ELIBDIR}) |
330 |
++ |
331 |
+ IF(UNIX) |
332 |
+ # Name the shared library, handle versioning (provides same api as client library |
333 |
+ # hence the same version) |
334 |
|
335 |
diff --git a/20006_all_cmake_elib-percona-5.6.15.patch b/20006_all_cmake_elib-percona-5.6.15.patch |
336 |
new file mode 100644 |
337 |
index 0000000..cb37a3a |
338 |
--- /dev/null |
339 |
+++ b/20006_all_cmake_elib-percona-5.6.15.patch |
340 |
@@ -0,0 +1,132 @@ |
341 |
+diff -ur mysql-old/cmake/install_layout.cmake mysql/cmake/install_layout.cmake |
342 |
+--- mysql-old/cmake/install_layout.cmake 2014-01-20 00:14:06.581799638 -0100 |
343 |
++++ mysql/cmake/install_layout.cmake 2014-01-20 00:15:27.647802721 -0100 |
344 |
+@@ -43,7 +43,8 @@ |
345 |
+ # - INSTALL_SBINDIR (directory with mysqld) |
346 |
+ # - INSTALL_SCRIPTDIR (several scripts, rarely used) |
347 |
+ # |
348 |
+-# - INSTALL_LIBDIR (directory with client end embedded libraries) |
349 |
++# - INSTALL_LIBDIR (directory with client libraries) |
350 |
++# - INSTALL_ELIBDIR (directory with embedded libraries) |
351 |
+ # - INSTALL_PLUGINDIR (directory for plugins) |
352 |
+ # |
353 |
+ # - INSTALL_INCLUDEDIR (directory for MySQL headers) |
354 |
+@@ -117,6 +118,7 @@ |
355 |
+ SET(INSTALL_SCRIPTDIR_STANDALONE "scripts") |
356 |
+ # |
357 |
+ SET(INSTALL_LIBDIR_STANDALONE "lib") |
358 |
++SET(INSTALL_ELIBDIR_STANDALONE "lib") |
359 |
+ SET(INSTALL_PLUGINDIR_STANDALONE "lib/mysql/plugin") |
360 |
+ # |
361 |
+ SET(INSTALL_INCLUDEDIR_STANDALONE "include") |
362 |
+@@ -148,9 +150,11 @@ |
363 |
+ # |
364 |
+ IF(CMAKE_SYSTEM_PROCESSOR MATCHES "x86_64") |
365 |
+ SET(INSTALL_LIBDIR_RPM "lib64") |
366 |
++ SET(INSTALL_ELIBDIR_RPM "lib64") |
367 |
+ SET(INSTALL_PLUGINDIR_RPM "lib64/mysql/plugin") |
368 |
+ ELSE() |
369 |
+ SET(INSTALL_LIBDIR_RPM "lib") |
370 |
++ SET(INSTALL_ELIBDIR_RPM "lib") |
371 |
+ SET(INSTALL_PLUGINDIR_RPM "lib/mysql/plugin") |
372 |
+ ENDIF() |
373 |
+ # |
374 |
+@@ -178,6 +182,7 @@ |
375 |
+ SET(INSTALL_SCRIPTDIR_DEB "scripts") |
376 |
+ # |
377 |
+ SET(INSTALL_LIBDIR_DEB "lib") |
378 |
++SET(INSTALL_ELIBDIR_DEB "lib") |
379 |
+ SET(INSTALL_PLUGINDIR_DEB "lib/mysql/plugin") |
380 |
+ # |
381 |
+ SET(INSTALL_INCLUDEDIR_DEB "include") |
382 |
+@@ -204,6 +209,7 @@ |
383 |
+ SET(INSTALL_SCRIPTDIR_SVR4 "scripts") |
384 |
+ # |
385 |
+ SET(INSTALL_LIBDIR_SVR4 "lib") |
386 |
++SET(INSTALL_ELIBDIR_SVR4 "lib") |
387 |
+ SET(INSTALL_PLUGINDIR_SVR4 "lib/plugin") |
388 |
+ # |
389 |
+ SET(INSTALL_INCLUDEDIR_SVR4 "include") |
390 |
+@@ -234,7 +240,7 @@ |
391 |
+ # Set INSTALL_FOODIR variables for chosen layout (for example, INSTALL_BINDIR |
392 |
+ # will be defined as ${INSTALL_BINDIR_STANDALONE} by default if STANDALONE |
393 |
+ # layout is chosen) |
394 |
+-FOREACH(var BIN SBIN LIB MYSQLSHARE SHARE PLUGIN INCLUDE SCRIPT DOC MAN |
395 |
++FOREACH(var BIN SBIN LIB ELIB MYSQLSHARE SHARE PLUGIN INCLUDE SCRIPT DOC MAN |
396 |
+ INFO MYSQLTEST SQLBENCH DOCREADME SUPPORTFILES MYSQLDATA PLUGINTEST) |
397 |
+ SET(INSTALL_${var}DIR ${INSTALL_${var}DIR_${INSTALL_LAYOUT}} |
398 |
+ CACHE STRING "${var} installation directory" ${FORCE}) |
399 |
+diff -ur mysql-old/cmake/libutils.cmake mysql/cmake/libutils.cmake |
400 |
+--- mysql-old/cmake/libutils.cmake 2014-01-20 00:14:06.581799638 -0100 |
401 |
++++ mysql/cmake/libutils.cmake 2014-01-20 00:15:27.647802721 -0100 |
402 |
+@@ -40,6 +40,8 @@ |
403 |
+ # - MERGE_LIBRARIES(target [STATIC|SHARED|MODULE] [linklib1 .... linklibN] |
404 |
+ # [EXPORTS exported_func1 .... exported_func_N] |
405 |
+ # [OUTPUT_NAME output_name] |
406 |
++# [OUTPUT_DIR output_dir] |
407 |
++ |
408 |
+ # This macro merges several static libraries into a single one or creates a shared |
409 |
+ # library from several convenience libraries |
410 |
+ |
411 |
+@@ -214,7 +216,7 @@ |
412 |
+ #) |
413 |
+ MACRO(MERGE_LIBRARIES) |
414 |
+ MYSQL_PARSE_ARGUMENTS(ARG |
415 |
+- "EXPORTS;OUTPUT_NAME;COMPONENT" |
416 |
++ "EXPORTS;OUTPUT_NAME;COMPONENT;OUTPUT_DIR" |
417 |
+ "STATIC;SHARED;MODULE;NOINSTALL" |
418 |
+ ${ARGN} |
419 |
+ ) |
420 |
+@@ -265,7 +267,11 @@ |
421 |
+ IF(ARG_COMPONENT) |
422 |
+ SET(COMP COMPONENT ${ARG_COMPONENT}) |
423 |
+ ENDIF() |
424 |
+- MYSQL_INSTALL_TARGETS(${TARGET} DESTINATION "${INSTALL_LIBDIR}" ${COMP}) |
425 |
++ IF(ARG_OUTPUT_DIR) |
426 |
++ MYSQL_INSTALL_TARGETS(${TARGET} DESTINATION "${ARG_OUTPUT_DIR}" ${COMP}) |
427 |
++ ELSE() |
428 |
++ MYSQL_INSTALL_TARGETS(${TARGET} DESTINATION "${INSTALL_LIBDIR}" ${COMP}) |
429 |
++ ENDIF() |
430 |
+ ENDIF() |
431 |
+ SET_TARGET_PROPERTIES(${TARGET} PROPERTIES LINK_INTERFACE_LIBRARIES "") |
432 |
+ |
433 |
+diff -ur mysql-old/libmysql/CMakeLists.txt mysql/libmysql/CMakeLists.txt |
434 |
+--- mysql-old/libmysql/CMakeLists.txt 2014-01-20 00:14:06.580799638 -0100 |
435 |
++++ mysql/libmysql/CMakeLists.txt 2014-01-20 00:15:27.647802721 -0100 |
436 |
+@@ -165,6 +165,6 @@ |
437 |
+ |
438 |
+ # Merge several convenience libraries into one big mysqlclient |
439 |
+-MERGE_LIBRARIES(mysqlclient STATIC ${LIBS} COMPONENT Development) |
440 |
++MERGE_LIBRARIES(mysqlclient STATIC ${LIBS} COMPONENT Development OUTPUT_DIR ${INSTALL_LIBDIR}) |
441 |
+ |
442 |
+ # Visual Studio users need debug static library for debug projects |
443 |
+ INSTALL_DEBUG_SYMBOLS(clientlib) |
444 |
+diff -ur mysql-old/libmysqld/CMakeLists.txt mysql/libmysqld/CMakeLists.txt |
445 |
+--- mysql-old/libmysqld/CMakeLists.txt 2014-01-20 00:14:06.453799634 -0100 |
446 |
++++ mysql/libmysqld/CMakeLists.txt 2014-01-20 00:25:46.375826250 -0100 |
447 |
+@@ -127,7 +127,7 @@ |
448 |
+ ENDFOREACH() |
449 |
+ |
450 |
+ MERGE_LIBRARIES(mysqlserver STATIC ${EMBEDDED_LIBS} |
451 |
+- OUTPUT_NAME ${MYSQLSERVER_OUTPUT_NAME} COMPONENT Embedded) |
452 |
++ OUTPUT_NAME ${MYSQLSERVER_OUTPUT_NAME} COMPONENT Embedded OUTPUT_DIR ${INSTALL_ELIBDIR}) |
453 |
+ |
454 |
+ # Visual Studio users need debug static library |
455 |
+ IF(MSVC) |
456 |
+@@ -135,12 +135,14 @@ |
457 |
+ ENDIF() |
458 |
+ |
459 |
+ IF(UNIX) |
460 |
+- INSTALL_DEBUG_TARGET(mysqlserver DESTINATION ${INSTALL_LIBDIR} RENAME |
461 |
++ INSTALL_DEBUG_TARGET(mysqlserver DESTINATION ${INSTALL_ELIBDIR} RENAME |
462 |
+ ${CMAKE_STATIC_LIBRARY_PREFIX}mysqld-debug) |
463 |
+ ENDIF() |
464 |
+ |
465 |
+ IF(NOT DISABLE_SHARED) |
466 |
+- MERGE_LIBRARIES(libmysqld SHARED mysqlserver EXPORTS ${CLIENT_API_FUNCTIONS}) |
467 |
++ MERGE_LIBRARIES(libmysqld SHARED mysqlserver EXPORTS ${CLIENT_API_FUNCTIONS} |
468 |
++ COMPONENT Embedded OUTPUT_DIR ${INSTALL_ELIBDIR}) |
469 |
++ |
470 |
+ IF(UNIX) |
471 |
+ # Name the shared library, handle versioning (provides same api as client library |
472 |
+ # hence the same version) |