mariadb/mysys
unknown 0de9a4abab MWL#74: Shared libmysqld.so library.
Switch makefiles to use libtool to build libmysqld.so, as well as all its
dependencies.

The previous MYSQL_PLUGIN_DEPENDS_ON_MYSQL_INTERNALS() declaration is removed,
as it does not work well with a libtool build. Instead, plugins that need it
can specify an alternate object in MYSQL_PLUGIN_STATIC() that will be used for
embedded library. The plugin must then take care itself of compiling the
special object for embedded, rebuilding the source files previously listed in
MYSQL_PLUGIN_DEPENDS_ON_MYSQL_INTERNALS() with @plugin_embedded_defs@ in
CFLAGS/CXXFLAGS. The extra target @XXX_embedded_static_target@ is available
for the special object, this will be empty when --without-embedded-server.

All in-tree plugins are changed to build their static targets with libtool.
Additional plugins that want to work with libmysqld.so will need to be
similarly modified to build with libtool (or otherwise provide an -fPIC
object). Dynamically loaded plugins are not affected.

The old libraries like libmysys.a, libmyisam.a and similar libraries, which
were installed by `make install` though this is of little use, are still built
and installed to not break package scripts etc. that expect them. These
libraries are kept static to avoid introducing new .so dependencies.

The patch also fixes a handfull of duplicate symbol linker errors, where we
included some object twice during linking; these for one reason or another did
not produce errors before but caused problems on some platforms with this
patch (eg. Mac OS X linker is more strict for shared objects).

This patch only does what is necessary to build libmysqld.so. There are some
more cleanups that are possible now that we are using libtool more fully,
which could done in subsequent patches (though we may not bother as we are
switching from autotools to CMake anyway):

 - In libmysql_r/, we should be able to just link libmysys.la etc, instead of
   symlinking and re-compiling sources into the directory.

 - In libmysql/, we can similarly avoid symlinking and recompiling sources if
   we instead build a libmysys_nothread.la library with appropriate CFLAGS and
   link that.

 - In sql/, we can build a separate target libmysql_int.la with appropriate
   CFLAGS for embedded and use that in libmysqld/ instead of symlinking
   sources.

 - libmysys.a, libmyisam.a and similar libraries could be installed as .so
   also to save on code size; or alternatively could be not installed at all.


client/Makefile.am:
  Updated for using libtool
config/ac-macros/plugins.m4:
  Replace MUSQL_PLUGIN_DEPENDS_ON_MYSQL_INTERNALS with mechanism for plugins
  to specify alternate object for embedded.
configure.in:
  Fix linking duplicate objects related to THREAD_LOBJECTS.
dbug/Makefile.am:
  Updated for using libtool
extra/Makefile.am:
  Fix relative paths.
libmysqld/Makefile.am:
  Build libmysqld.la using libtool
libmysqld/examples/Makefile.am:
  Updated to use libtool
mysys/Makefile.am:
  Updated to use libtool.
  Fix linking duplicate objects related to THREAD_LOBJECTS.
mysys/my_uuid.c:
  Fix conflicting global mutex name by making it static.
regex/Makefile.am:
  Updated to use libtool
sql/Makefile.am:
  Updated to use libtool
sql/item_func.cc:
  Fix conflicting mutex name.
sql/mysql_priv.h:
  Fix conflicting mutex name
sql/mysqld.cc:
  Fix conflicting mutex name.
  Add missing call of my_uuid_end().
storage/archive/Makefile.am:
  Updated to use libtool
storage/archive/plug.in:
  Updated to use libtool
storage/blackhole/Makefile.am:
  Updated to use libtool
storage/blackhole/plug.in:
  Updated to use libtool
storage/csv/Makefile.am:
  Updated to use libtool
storage/csv/plug.in:
  Updated to use libtool
storage/example/Makefile.am:
  Updated to use libtool
storage/federated/Makefile.am:
  Updated to use libtool
storage/federated/plug.in:
  Updated to use libtool
storage/federatedx/Makefile.am:
  Updated to use libtool
storage/federatedx/plug.in:
  Updated to use libtool
storage/heap/Makefile.am:
  Updated to use libtool
storage/heap/plug.in:
  Updated to use libtool
storage/innobase/Makefile.am:
  Updated to use libtool
storage/innobase/plug.in.disabled:
  Updated to use libtool
storage/innodb_plugin/Makefile.am:
  Updated to use libtool
storage/maria/CMakeLists.txt:
  Fix linking duplicate object in maria_dump_log, causes failure on Mac OS X
storage/maria/Makefile.am:
  Updated to use libtool
  Fix linking duplicate object in maria_dump_log, causes link failure on Mac OS X
storage/maria/ma_loghandler.c:
  Move maria_dump_log code to separate file to fix duplicate object link failures.
storage/maria/ma_loghandler.h:
  Move maria_dump_log code to separate file to fix duplicate object link failures.
storage/maria/maria_dump_log.c:
  Move maria_dump_log code to separate file to fix duplicate object link failures.
storage/maria/plug.in:
  Updated to use libtool
storage/myisam/Makefile.am:
  Updated to use libtool
storage/myisam/plug.in:
  Updated to use libtool
storage/myisammrg/Makefile.am:
  Updated to use libtool
storage/myisammrg/plug.in:
  Updated to use libtool
storage/pbxt/plug.in:
  Updated to use libtool
storage/pbxt/src/Makefile.am:
  Updated to use libtool
storage/xtradb/Makefile.am:
  Updated to use libtool
storage/xtradb/plug.in:
  Updated to use libtool
strings/Makefile.am:
  Updated to use libtool
unittest/unit.pl:
  Don't attempt to run libtool internal files as unit tests.
vio/Makefile.am:
  Updated to use libtool
2010-11-17 13:24:20 +01:00
..
.cvsignore
array.c Merge MySQL 5.1.39 into MariaDB 5.1. 2009-10-15 23:38:29 +02:00
base64.c fixed compilation warnings. addendum to the fix for bug 29125 2009-03-20 16:27:53 +02:00
ChangeLog
charset-def.c Added more general support for sorting 2 characters as one (contractions) 2009-11-30 14:42:24 +02:00
charset.c Merge MySQL 5.1.46 into MariaDB. 2010-04-28 14:52:24 +02:00
checksum.c Bug#29125 Windows Server X64: so many compiler warnings 2009-02-13 11:41:47 -05:00
CMakeLists.txt Implement an NSIS based installer 2010-06-25 15:09:45 +02:00
default.c Recommit of Bug#49447. 2010-02-04 13:39:42 +01:00
default_modify.c Bug#29125 Windows Server X64: so many compiler warnings 2009-02-13 11:41:47 -05:00
errors.c Merge with MySQL 5.1.50 2010-08-27 17:12:44 +03:00
hash.c Additional fix for bug #45613: handle failures from my_hash_insert 2009-11-23 17:32:10 +02:00
lf_alloc-pin.c post-review fixes 2009-01-15 22:27:36 +01:00
lf_dynarray.c Windows fixes 2008-01-10 13:21:53 +01:00
lf_hash.c Remove compiler warnings (Including some warnings from -Wstrict-aliasing) 2009-11-30 01:08:56 +02:00
list.c
make-ccc
make-conf.c
Makefile.am MWL#74: Shared libmysqld.so library. 2010-11-17 13:24:20 +01:00
md5.c Bug #42434: license of mysys MD5 implementation is not GPL-compatible 2009-03-09 20:57:03 +02:00
mf_arr_appstr.c Bug #20748: Configuration files should not be read more than once 2007-11-07 15:23:50 -07:00
mf_brkhant.c
mf_cache.c
mf_dirname.c
mf_fn_ext.c
mf_format.c BUG#43949 Initialization of slave produces a warning message in Valgrind 2009-04-19 02:21:33 +01:00
mf_getdate.c Merge from 5.0-bugteam 2009-05-13 08:48:00 -07:00
mf_iocache.c Merge with MySQL 5.1.50 2010-08-27 17:12:44 +03:00
mf_iocache2.c Merge MySQL->MariaDB 2009-09-08 00:50:10 +04:00
mf_keycache.c Removed compiler warning 2010-03-30 15:36:49 +03:00
mf_keycaches.c
mf_loadpath.c Bug#53445: Build with -Wall and fix warnings that it generates 2010-07-02 15:30:47 -03:00
mf_pack.c Bug#53445: Build with -Wall and fix warnings that it generates 2010-07-02 15:30:47 -03:00
mf_path.c
mf_qsort.c We are now using Valgrind rather than purify, and have for quite some time. 2009-05-06 14:03:24 +02:00
mf_qsort2.c
mf_radix.c
mf_same.c
mf_sort.c Merge polly.(none):/home/kaa/src/maint/mysql-5.0-maint 2007-10-18 14:32:43 +04:00
mf_soundex.c
mf_tempdir.c Bug#29125 Windows Server X64: so many compiler warnings 2009-02-13 11:41:47 -05:00
mf_tempfile.c
mf_unixpath.c
mf_util.c
mf_wcomp.c
mf_wfile.c Bug#42733: Type-punning warnings when compiling MySQL -- 2010-06-10 17:16:43 -03:00
mulalloc.c
my_access.c
my_aes.c
my_alarm.c
my_alloc.c Merge with MySQL 5.1.49 2010-08-02 12:01:24 +03:00
my_append.c Bug#29125 Windows Server X64: so many compiler warnings 2009-02-13 11:41:47 -05:00
my_atomic.c Bug#22320: my_atomic-t unit test fails 2010-07-05 09:00:39 -03:00
my_bit.c
my_bitmap.c Fix for Bug#43152 "Assertion `bitmap_is_set_all(&table->s->all_set)' failed in handler::ha_reset" 2010-10-06 11:45:30 +03:00
my_chmod.c Added wrapper for chmod(): my_chmod() 2008-01-03 09:45:46 +02:00
my_chsize.c
my_clock.c
my_compress.c Fix most Compiler warnings seen in buildbot. 2009-09-03 15:20:22 +02:00
my_conio.c Bug#29125 Windows Server X64: so many compiler warnings 2009-02-13 11:41:47 -05:00
my_copy.c mysqltest now gives error messages with error code for my_delete, my_rename, my_copy etc. 2010-09-15 15:48:15 +03:00
my_crc32.c
my_create.c Merge a88-113-38-195.elisa-laajakaista.fi:/home/my/bk/mysql-5.1-main 2008-03-13 23:35:52 +02:00
my_delete.c Merge a88-113-38-195.elisa-laajakaista.fi:/home/my/bk/mysql-5.1-main 2007-12-16 17:03:44 +02:00
my_div.c
my_dup.c
my_error.c Merged with mysql-5.1 tree. 2009-04-25 13:05:32 +03:00
my_file.c Merge with MySQL 5.1.47 2010-05-26 21:55:40 +03:00
my_fopen.c Fixed several bugs in page CRC handling 2007-12-18 03:21:32 +02:00
my_fstream.c Merge BUG#22082 from 5.0-bugteam to 5.1-bugteam 2009-03-06 17:38:14 +08:00
my_gethostbyname.c Added missing space from last push 2010-03-31 23:50:54 +03:00
my_gethwaddr.c Bug#53445: Build with -Wall and fix warnings that it generates 2010-07-02 15:30:47 -03:00
my_getncpus.c Windows fixes 2008-01-10 13:21:53 +01:00
my_getopt.c Fix for: LP #634955: Assert in _ma_update_at_original_place() 2010-11-02 17:22:57 +02:00
my_getpagesize.c
my_getsystime.c Merge mysql.com:/home/my/mysql-5.1 2008-04-28 19:24:05 +03:00
my_getwd.c missing DBUG_RETURNs 2010-08-14 18:44:45 +04:00
my_handler.c Merge with MySQL 5.1.50 2010-08-27 17:12:44 +03:00
my_handler_errors.h Merge MySQL->MariaDB 2009-09-08 00:50:10 +04:00
my_init.c Merge MySQL 5.1.46 into MariaDB. 2010-04-28 14:52:24 +02:00
my_largepage.c Bug #43606: 4GB Limit on huge_pages shared memory set-up 2009-09-18 11:19:02 +04:00
my_lib.c Merge polly.(none):/home/kaa/src/maint/mysql-5.0-maint 2007-10-18 14:32:43 +04:00
my_libwrap.c
my_lock.c Added versioning of Maria index 2008-06-26 08:18:28 +03:00
my_lockmem.c
my_malloc.c Merge with MySQL 5.1.49 2010-08-02 12:01:24 +03:00
my_memmem.c
my_messnc.c
my_mkdir.c
my_mmap.c
my_net.c
my_netware.c
my_new.cc Bug#43461: invalid comparison with string literal in default.c 2009-03-19 17:20:15 -03:00
my_once.c Fix build error after last push with --with-debug=full due to SAFEMALLOC now being 2009-03-31 10:06:51 +02:00
my_open.c
my_port.c
my_pread.c Merged with mysql-5.1 tree. 2009-04-25 13:05:32 +03:00
my_pthread.c WL#3262 add mutex lock order checking to safemutex (also called safe_mutex_deadlock_detector) 2008-12-03 00:02:52 +02:00
my_quick.c Bug#29125 Windows Server X64: so many compiler warnings 2009-02-13 11:41:47 -05:00
my_read.c Merged with mysql-5.1 tree. 2009-04-25 13:05:32 +03:00
my_realloc.c Fix build error after last push with --with-debug=full due to SAFEMALLOC now being 2009-03-31 10:06:51 +02:00
my_redel.c Added option BACKUP_ALL to mysqld --myisam-recover to also get a backup of the index file before it's repaired. 2010-11-07 14:25:29 +02:00
my_rename.c
my_rnd.c We are now using Valgrind rather than purify, and have for quite some time. 2009-05-06 14:03:24 +02:00
my_safehash.c
my_safehash.h
my_seek.c Added error handling for my_seek() & my_tell() failures 2009-11-07 12:34:19 +02:00
my_sleep.c WL#3262 add mutex lock order checking to safemutex (also called safe_mutex_deadlock_detector) 2008-12-03 00:02:52 +02:00
my_static.c Added --sync-sys=0 option for mysqld to skip sync() calls for faster testing 2010-08-09 20:05:42 +03:00
my_static.h Bug#35616: memory overrun on 64-bit linux on setting large values for keybuffer-size 2008-08-19 15:56:41 +02:00
my_symlink.c Merge with MySQL 5.1.47 2010-05-26 21:55:40 +03:00
my_symlink2.c Fix for: LP #634955: Assert in _ma_update_at_original_place() 2010-11-02 17:22:57 +02:00
my_sync.c Fixed typo that caused compile failure on Mac 2010-08-10 19:06:34 +03:00
my_thr_init.c Merge MySQL 5.1.44 into MariaDB. 2010-03-04 09:03:07 +01:00
my_uuid.c MWL#74: Shared libmysqld.so library. 2010-11-17 13:24:20 +01:00
my_vle.c
my_wincond.c Merge with MySQL 5.1, with following additions: 2009-11-16 21:49:51 +01:00
my_windac.c
my_winthread.c Merge MySQL 5.1.44 into MariaDB. 2010-03-04 09:03:07 +01:00
my_write.c merge of 5.1-main into 5.1-maria. MyISAM changes are propagated to Maria except 2009-04-01 11:34:52 +02:00
mysys_priv.h WL#3262 add mutex lock order checking to safemutex (also called safe_mutex_deadlock_detector) 2008-12-03 00:02:52 +02:00
ptr_cmp.c
queues.c Fix for server bug experienced in Maria (wrong "Truncated incorrect <var_name> 2008-02-18 23:29:39 +01:00
rijndael.c
safemalloc.c Merge with MySQL 5.1.49 2010-08-02 12:01:24 +03:00
sha1.c
stacktrace.c Bug#45288: pb2 returns a lot of compilation warnings on linux 2010-07-30 17:33:10 -03:00
string.c Bug#29125 Windows Server X64: so many compiler warnings 2009-02-13 11:41:47 -05:00
test_charset.c
test_dir.c
test_fn.c
test_thr_mutex.c Add missing file: Testing of mutex-wrong-usage-detector 2008-12-03 00:09:37 +02:00
test_xml.c
testhash.c
thr_alarm.c Bug#54667: Unnecessary signal handler redefinition 2010-07-01 12:02:00 +04:00
thr_lock.c Fixed compiler & valgrind warnings from my previous push. 2010-11-03 14:14:02 +02:00
thr_mutex.c Fixed LPBUG#485443 --with-fast-mutexes and without safe mutexes (debug build) maria do not builds 2009-11-26 01:18:23 +02:00
thr_rwlock.c wt needs to use its own implementation of rwlocks with 2008-10-24 12:34:08 +02:00
tree.c Safety change to ensure read/black trees (used with heap tables) works on 64 bit setups where ulong <> size_t 2009-11-16 17:34:08 +02:00
trie.c
typelib.c Merge the last bit of MySQL 5.1.41 into MariaDB. 2009-11-18 12:47:59 +01:00
waiting_threads.c compilation fixes 2009-01-19 16:27:49 +01:00
wqueue.c Debug code fixed. 2008-04-21 17:43:38 +03:00