diff -uNr mysql-5.0.76-old/client/Makefile.am mysql-5.0.76/client/Makefile.am --- mysql-5.0.76-old/client/Makefile.am 2009-01-15 16:44:51.000000000 -0100 +++ mysql-5.0.76/client/Makefile.am 2009-03-15 23:29:17.000000000 -0100 @@ -37,7 +37,7 @@ $(top_srcdir)/mysys/my_copy.c \ $(top_srcdir)/mysys/my_mkdir.c -mysqltest_LDADD = $(top_builddir)/regex/libregex.a $(LDADD) +mysqltest_LDADD = $(top_builddir)/regex/libregex.la $(LDADD) mysqlbinlog_SOURCES = mysqlbinlog.cc \ $(top_srcdir)/mysys/mf_tempdir.c \ $(top_srcdir)/mysys/my_new.cc diff -uNr mysql-5.0.76-old/config/ac-macros/ha_innodb.m4 mysql-5.0.76/config/ac-macros/ha_innodb.m4 --- mysql-5.0.76-old/config/ac-macros/ha_innodb.m4 2009-01-15 16:44:57.000000000 -0100 +++ mysql-5.0.76/config/ac-macros/ha_innodb.m4 2009-03-16 02:00:11.000000000 -0100 @@ -25,40 +25,40 @@ dnl Some libs are listed several times, in order for gcc to sort out dnl circular references. innodb_libs="\ - \$(top_builddir)/innobase/usr/libusr.a\ - \$(top_builddir)/innobase/srv/libsrv.a\ - \$(top_builddir)/innobase/dict/libdict.a\ - \$(top_builddir)/innobase/que/libque.a\ - \$(top_builddir)/innobase/srv/libsrv.a\ - \$(top_builddir)/innobase/ibuf/libibuf.a\ - \$(top_builddir)/innobase/row/librow.a\ - \$(top_builddir)/innobase/pars/libpars.a\ - \$(top_builddir)/innobase/btr/libbtr.a\ - \$(top_builddir)/innobase/trx/libtrx.a\ - \$(top_builddir)/innobase/read/libread.a\ - \$(top_builddir)/innobase/usr/libusr.a\ - \$(top_builddir)/innobase/buf/libbuf.a\ - \$(top_builddir)/innobase/ibuf/libibuf.a\ - \$(top_builddir)/innobase/eval/libeval.a\ - \$(top_builddir)/innobase/log/liblog.a\ - \$(top_builddir)/innobase/fsp/libfsp.a\ - \$(top_builddir)/innobase/fut/libfut.a\ - \$(top_builddir)/innobase/fil/libfil.a\ - \$(top_builddir)/innobase/lock/liblock.a\ - \$(top_builddir)/innobase/mtr/libmtr.a\ - \$(top_builddir)/innobase/page/libpage.a\ - \$(top_builddir)/innobase/rem/librem.a\ - \$(top_builddir)/innobase/thr/libthr.a\ - \$(top_builddir)/innobase/sync/libsync.a\ - \$(top_builddir)/innobase/data/libdata.a\ - \$(top_builddir)/innobase/mach/libmach.a\ - \$(top_builddir)/innobase/ha/libha.a\ - \$(top_builddir)/innobase/dyn/libdyn.a\ - \$(top_builddir)/innobase/mem/libmem.a\ - \$(top_builddir)/innobase/sync/libsync.a\ - \$(top_builddir)/innobase/ut/libut.a\ - \$(top_builddir)/innobase/os/libos.a\ - \$(top_builddir)/innobase/ut/libut.a" + \$(top_builddir)/innobase/usr/libusr.la\ + \$(top_builddir)/innobase/srv/libsrv.la\ + \$(top_builddir)/innobase/dict/libdict.la\ + \$(top_builddir)/innobase/que/libque.la\ + \$(top_builddir)/innobase/srv/libsrv.la\ + \$(top_builddir)/innobase/ibuf/libibuf.la\ + \$(top_builddir)/innobase/row/librow.la\ + \$(top_builddir)/innobase/pars/libpars.la\ + \$(top_builddir)/innobase/btr/libbtr.la\ + \$(top_builddir)/innobase/trx/libtrx.la\ + \$(top_builddir)/innobase/read/libread.la\ + \$(top_builddir)/innobase/usr/libusr.la\ + \$(top_builddir)/innobase/buf/libbuf.la\ + \$(top_builddir)/innobase/ibuf/libibuf.la\ + \$(top_builddir)/innobase/eval/libeval.la\ + \$(top_builddir)/innobase/log/liblog.la\ + \$(top_builddir)/innobase/fsp/libfsp.la\ + \$(top_builddir)/innobase/fut/libfut.la\ + \$(top_builddir)/innobase/fil/libfil.la\ + \$(top_builddir)/innobase/lock/liblock.la\ + \$(top_builddir)/innobase/mtr/libmtr.la\ + \$(top_builddir)/innobase/page/libpage.la\ + \$(top_builddir)/innobase/rem/librem.la\ + \$(top_builddir)/innobase/thr/libthr.la\ + \$(top_builddir)/innobase/sync/libsync.la\ + \$(top_builddir)/innobase/data/libdata.la\ + \$(top_builddir)/innobase/mach/libmach.la\ + \$(top_builddir)/innobase/ha/libha.la\ + \$(top_builddir)/innobase/dyn/libdyn.la\ + \$(top_builddir)/innobase/mem/libmem.la\ + \$(top_builddir)/innobase/sync/libsync.la\ + \$(top_builddir)/innobase/ut/libut.la\ + \$(top_builddir)/innobase/os/libos.la\ + \$(top_builddir)/innobase/ut/libut.la" AC_CHECK_LIB(rt, aio_read, [innodb_system_libs="-lrt"]) ;; diff -uNr mysql-5.0.76-old/configure.in mysql-5.0.76/configure.in --- mysql-5.0.76-old/configure.in 2009-01-15 16:44:57.000000000 -0100 +++ mysql-5.0.76/configure.in 2009-03-15 23:29:17.000000000 -0100 @@ -574,6 +574,9 @@ # We need an ANSI C compiler AM_PROG_CC_STDC +# Testing as sugggested by Diego +AM_PROG_CC_C_O + # We need an assembler, too AM_PROG_AS CCASFLAGS="$CCASFLAGS $ASFLAGS" @@ -2692,9 +2695,9 @@ if test "$THREAD_SAFE_CLIENT" = "no" then - sql_client_dirs="strings regex mysys dbug extra libmysql client" + sql_client_dirs="strings regex dbug mysys extra libmysql client" else - sql_client_dirs="strings regex mysys dbug extra libmysql libmysql_r client" + sql_client_dirs="strings regex dbug mysys extra libmysql libmysql_r client" linked_client_targets="$linked_client_targets linked_libmysql_r_sources" AC_CONFIG_FILES(libmysql_r/Makefile) AC_DEFINE([THREAD_SAFE_CLIENT], [1], [Should be client be thread safe]) @@ -2723,13 +2726,11 @@ export CC CXX CFLAGS CXXFLAGS LD LDFLAGS AR ac_configure_args="$ac_configure_args CFLAGS='$CFLAGS' CXXFLAGS='$CXXFLAGS'" +AM_CONDITIONAL([NEED_THREADS], [test x"$with_server" != xno -o x"$THREAD_SAFE_CLIENT" != xno]) if test "$with_server" != "no" -o "$THREAD_SAFE_CLIENT" != "no" then AC_DEFINE([THREAD], [1], [Define if you want to have threaded code. This may be undef on client code]) - # Avoid _PROGRAMS names - THREAD_LOBJECTS="thr_alarm.o thr_lock.o thr_mutex.o thr_rwlock.o my_pthread.o my_thr_init.o mf_keycache.o" - AC_SUBST(THREAD_LOBJECTS) fi if test "$with_server" = "no" @@ -2737,7 +2738,7 @@ AM_CONDITIONAL([BUILD_INNODB_TOOLS], [false]) else server_scripts="mysqld_safe mysql_install_db" - sql_server_dirs="strings mysys dbug extra regex" + sql_server_dirs="strings dbug mysys extra regex" # diff -uNr mysql-5.0.76-old/dbug/Makefile.am mysql-5.0.76/dbug/Makefile.am --- mysql-5.0.76-old/dbug/Makefile.am 2009-01-15 16:44:57.000000000 -0100 +++ mysql-5.0.76/dbug/Makefile.am 2009-03-15 23:29:17.000000000 -0100 @@ -16,10 +16,9 @@ # MA 02111-1307, USA INCLUDES = -I$(top_builddir)/include -I$(top_srcdir)/include -LDADD = libdbug.a ../mysys/libmysys.a ../strings/libmystrings.a -pkglib_LIBRARIES = libdbug.a +noinst_LTLIBRARIES = libdbug.la noinst_HEADERS = dbug_long.h -libdbug_a_SOURCES = dbug.c sanity.c +libdbug_la_SOURCES = dbug.c sanity.c EXTRA_DIST = example1.c example2.c example3.c \ user.r monty.doc readme.prof dbug_add_tags.pl \ my_main.c main.c factorial.c dbug_analyze.c \ @@ -31,11 +30,11 @@ # Must be linked with libs that are not compiled yet -noinst_PROGRAMS = factorial dbug_analyze +EXTRA_PROGRAMS = factorial dbug_analyze factorial_SOURCES = my_main.c factorial.c dbug_analyze_SOURCES = dbug_analyze.c -all: user.t user.ps +check-local: user.t user.ps user.t: user.r $(NROFF_INC) -nroff -mm user.r > $@ diff -uNr mysql-5.0.76-old/extra/Makefile.am mysql-5.0.76/extra/Makefile.am --- mysql-5.0.76-old/extra/Makefile.am 2009-01-15 16:44:58.000000000 -0100 +++ mysql-5.0.76/extra/Makefile.am 2009-03-15 23:29:17.000000000 -0100 @@ -15,8 +15,7 @@ INCLUDES = -I$(top_builddir)/include -I$(top_srcdir)/include \ @ndbcluster_includes@ -I$(top_srcdir)/sql -LDADD = @CLIENT_EXTRA_LDFLAGS@ ../mysys/libmysys.a \ - ../dbug/libdbug.a ../strings/libmystrings.a \ +LDADD = @CLIENT_EXTRA_LDFLAGS@ ../mysys/libmysys.la \ $(ZLIB_LIBS) BUILT_SOURCES= $(top_builddir)/include/mysqld_error.h \ $(top_builddir)/include/sql_state.h \ diff -uNr mysql-5.0.76-old/heap/Makefile.am mysql-5.0.76/heap/Makefile.am --- mysql-5.0.76-old/heap/Makefile.am 2009-01-15 16:45:05.000000000 -0100 +++ mysql-5.0.76/heap/Makefile.am 2009-03-15 23:29:17.000000000 -0100 @@ -14,14 +14,13 @@ # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA INCLUDES = -I$(top_builddir)/include -I$(top_srcdir)/include -LDADD = libheap.a ../mysys/libmysys.a ../dbug/libdbug.a \ - ../strings/libmystrings.a -pkglib_LIBRARIES = libheap.a +LDADD = libheap.la ../mysys/libmysys.la +pkglib_LTLIBRARIES = libheap.la noinst_PROGRAMS = hp_test1 hp_test2 hp_test1_LDFLAGS = @NOINST_LDFLAGS@ hp_test2_LDFLAGS = @NOINST_LDFLAGS@ noinst_HEADERS = heapdef.h -libheap_a_SOURCES = hp_open.c hp_extra.c hp_close.c hp_panic.c hp_info.c \ +libheap_la_SOURCES = hp_open.c hp_extra.c hp_close.c hp_panic.c hp_info.c \ hp_rrnd.c hp_scan.c hp_update.c hp_write.c hp_delete.c \ hp_rsame.c hp_create.c hp_rename.c hp_rfirst.c \ hp_rnext.c hp_rlast.c hp_rprev.c hp_clear.c \ diff -uNr mysql-5.0.76-old/include/keycache.h mysql-5.0.76/include/keycache.h --- mysql-5.0.76-old/include/keycache.h 2009-01-15 16:45:06.000000000 -0100 +++ mysql-5.0.76/include/keycache.h 2009-03-15 23:29:17.000000000 -0100 @@ -39,7 +39,7 @@ /* The key cache structure It also contains read-only statistics parameters. -*/ +*/ typedef struct st_key_cache { diff -uNr mysql-5.0.76-old/include/m_ctype.h mysql-5.0.76/include/m_ctype.h --- mysql-5.0.76-old/include/m_ctype.h 2009-01-15 16:45:06.000000000 -0100 +++ mysql-5.0.76/include/m_ctype.h 2009-03-15 23:29:17.000000000 -0100 @@ -77,7 +77,7 @@ #define MY_CS_UNICODE 128 /* is a charset is full unicode */ #define MY_CS_READY 256 /* if a charset is initialized */ #define MY_CS_AVAILABLE 512 /* If either compiled-in or loaded*/ -#define MY_CS_CSSORT 1024 /* if case sensitive sort order */ +#define MY_CS_CSSORT 1024 /* if case sensitive sort order */ #define MY_CS_PUREASCII 2048 /* if a charset is pure ascii */ #define MY_CHARSET_UNDEFINED 0 @@ -103,14 +103,14 @@ enum my_lex_states { - MY_LEX_START, MY_LEX_CHAR, MY_LEX_IDENT, + MY_LEX_START, MY_LEX_CHAR, MY_LEX_IDENT, MY_LEX_IDENT_SEP, MY_LEX_IDENT_START, MY_LEX_REAL, MY_LEX_HEX_NUMBER, MY_LEX_BIN_NUMBER, MY_LEX_CMP_OP, MY_LEX_LONG_CMP_OP, MY_LEX_STRING, MY_LEX_COMMENT, MY_LEX_END, MY_LEX_OPERATOR_OR_IDENT, MY_LEX_NUMBER_IDENT, MY_LEX_INT_OR_REAL, - MY_LEX_REAL_OR_POINT, MY_LEX_BOOL, MY_LEX_EOL, MY_LEX_ESCAPE, - MY_LEX_LONG_COMMENT, MY_LEX_END_LONG_COMMENT, MY_LEX_SEMICOLON, - MY_LEX_SET_VAR, MY_LEX_USER_END, MY_LEX_HOSTNAME, MY_LEX_SKIP, + MY_LEX_REAL_OR_POINT, MY_LEX_BOOL, MY_LEX_EOL, MY_LEX_ESCAPE, + MY_LEX_LONG_COMMENT, MY_LEX_END_LONG_COMMENT, MY_LEX_SEMICOLON, + MY_LEX_SET_VAR, MY_LEX_USER_END, MY_LEX_HOSTNAME, MY_LEX_SKIP, MY_LEX_USER_VARIABLE_DELIMITER, MY_LEX_SYSTEM_VAR, MY_LEX_IDENT_OR_KEYWORD, MY_LEX_IDENT_OR_HEX, MY_LEX_IDENT_OR_BIN, MY_LEX_IDENT_OR_NCHAR, @@ -132,10 +132,10 @@ my_bool diff_if_only_endspace_difference); int (*strnxfrm)(struct charset_info_st *, uchar *, uint, const uchar *, uint); - uint (*strnxfrmlen)(struct charset_info_st *, uint); + uint (*strnxfrmlen)(struct charset_info_st *, uint); my_bool (*like_range)(struct charset_info_st *, const char *s, uint s_length, - pchar w_prefix, pchar w_one, pchar w_many, + pchar w_prefix, pchar w_one, pchar w_many, uint res_length, char *min_str, char *max_str, uint *min_len, uint *max_len); @@ -145,15 +145,15 @@ int escape,int w_one, int w_many); int (*strcasecmp)(struct charset_info_st *, const char *, const char *); - + uint (*instr)(struct charset_info_st *, const char *b, uint b_length, const char *s, uint s_length, my_match_t *match, uint nmatch); - + /* Hash calculation */ void (*hash_sort)(struct charset_info_st *cs, const uchar *key, uint len, - ulong *nr1, ulong *nr2); + ulong *nr1, ulong *nr2); my_bool (*propagate)(struct charset_info_st *cs, const uchar *str, uint len); } MY_COLLATION_HANDLER; @@ -177,13 +177,13 @@ uint nchars, int *error); uint (*lengthsp)(struct charset_info_st *, const char *ptr, uint length); uint (*numcells)(struct charset_info_st *, const char *b, const char *e); - + /* Unicode convertion */ int (*mb_wc)(struct charset_info_st *cs,my_wc_t *wc, const unsigned char *s,const unsigned char *e); int (*wc_mb)(struct charset_info_st *cs,my_wc_t wc, unsigned char *s,unsigned char *e); - + /* Functions for case and sort convertion */ uint (*caseup_str)(struct charset_info_st *, char *); uint (*casedn_str)(struct charset_info_st *, char *); @@ -191,7 +191,7 @@ char *dst, uint dstlen); uint (*casedn)(struct charset_info_st *, char *src, uint srclen, char *dst, uint dstlen); - + /* Charset dependant snprintf() */ int (*snprintf)(struct charset_info_st *, char *to, uint n, const char *fmt, ...) ATTRIBUTE_FORMAT_FPTR(printf, 4, 5); @@ -199,9 +199,9 @@ long int val); int (*longlong10_to_str)(struct charset_info_st *, char *to, uint n, int radix, longlong val); - + void (*fill)(struct charset_info_st *, char *to, uint len, int fill); - + /* String-to-number convertion routines */ long (*strntol)(struct charset_info_st *, const char *s, uint l, int base, char **e, int *err); @@ -257,10 +257,10 @@ uint16 max_sort_char; /* For LIKE optimization */ uchar pad_char; my_bool escape_with_backslash_is_dangerous; - + MY_CHARSET_HANDLER *cset; MY_COLLATION_HANDLER *coll; - + } CHARSET_INFO; @@ -297,8 +297,8 @@ /* declarations for simple charsets */ extern int my_strnxfrm_simple(CHARSET_INFO *, uchar *, uint, const uchar *, - uint); -uint my_strnxfrmlen_simple(CHARSET_INFO *, uint); + uint); +uint my_strnxfrmlen_simple(CHARSET_INFO *, uint); extern int my_strnncoll_simple(CHARSET_INFO *, const uchar *, uint, const uchar *, uint, my_bool); @@ -308,7 +308,7 @@ extern void my_hash_sort_simple(CHARSET_INFO *cs, const uchar *key, uint len, - ulong *nr1, ulong *nr2); + ulong *nr1, ulong *nr2); extern uint my_lengthsp_8bit(CHARSET_INFO *cs, const char *ptr, uint length); @@ -354,13 +354,13 @@ longlong my_strtoll10_8bit(CHARSET_INFO *cs, const char *nptr, char **endptr, int *error); -longlong my_strtoll10_ucs2(CHARSET_INFO *cs, +longlong my_strtoll10_ucs2(CHARSET_INFO *cs, const char *nptr, char **endptr, int *error); ulonglong my_strntoull10rnd_8bit(CHARSET_INFO *cs, const char *str, uint length, int unsigned_fl, char **endptr, int *error); -ulonglong my_strntoull10rnd_ucs2(CHARSET_INFO *cs, +ulonglong my_strntoull10rnd_ucs2(CHARSET_INFO *cs, const char *str, uint length, int unsigned_fl, char **endptr, int *error); diff -uNr mysql-5.0.76-old/innobase/btr/Makefile.am mysql-5.0.76/innobase/btr/Makefile.am --- mysql-5.0.76-old/innobase/btr/Makefile.am 2009-01-15 16:45:09.000000000 -0100 +++ mysql-5.0.76/innobase/btr/Makefile.am 2009-03-16 03:06:45.000000000 -0100 @@ -15,9 +15,9 @@ include ../include/Makefile.i -noinst_LIBRARIES = libbtr.a +pkglib_LTLIBRARIES = libbtr.la -libbtr_a_SOURCES = btr0btr.c btr0cur.c btr0pcur.c btr0sea.c +libbtr_la_SOURCES = btr0btr.c btr0cur.c btr0pcur.c btr0sea.c EXTRA_PROGRAMS = diff -uNr mysql-5.0.76-old/innobase/buf/Makefile.am mysql-5.0.76/innobase/buf/Makefile.am --- mysql-5.0.76-old/innobase/buf/Makefile.am 2009-01-15 16:45:09.000000000 -0100 +++ mysql-5.0.76/innobase/buf/Makefile.am 2009-03-16 01:42:05.000000000 -0100 @@ -15,9 +15,9 @@ include ../include/Makefile.i -noinst_LIBRARIES = libbuf.a +noinst_LTLIBRARIES = libbuf.la -libbuf_a_SOURCES = buf0buf.c buf0flu.c buf0lru.c buf0rea.c +libbuf_la_SOURCES = buf0buf.c buf0flu.c buf0lru.c buf0rea.c EXTRA_PROGRAMS = diff -uNr mysql-5.0.76-old/innobase/data/Makefile.am mysql-5.0.76/innobase/data/Makefile.am --- mysql-5.0.76-old/innobase/data/Makefile.am 2009-01-15 16:45:09.000000000 -0100 +++ mysql-5.0.76/innobase/data/Makefile.am 2009-03-16 01:42:18.000000000 -0100 @@ -15,9 +15,9 @@ include ../include/Makefile.i -noinst_LIBRARIES = libdata.a +noinst_LTLIBRARIES = libdata.la -libdata_a_SOURCES = data0data.c data0type.c +libdata_la_SOURCES = data0data.c data0type.c EXTRA_PROGRAMS = diff -uNr mysql-5.0.76-old/innobase/dict/Makefile.am mysql-5.0.76/innobase/dict/Makefile.am --- mysql-5.0.76-old/innobase/dict/Makefile.am 2009-01-15 16:45:10.000000000 -0100 +++ mysql-5.0.76/innobase/dict/Makefile.am 2009-03-16 01:42:34.000000000 -0100 @@ -15,9 +15,9 @@ include ../include/Makefile.i -noinst_LIBRARIES = libdict.a +noinst_LTLIBRARIES = libdict.la -libdict_a_SOURCES = dict0boot.c dict0crea.c dict0dict.c dict0load.c\ +libdict_la_SOURCES = dict0boot.c dict0crea.c dict0dict.c dict0load.c\ dict0mem.c EXTRA_PROGRAMS = diff -uNr mysql-5.0.76-old/innobase/dyn/Makefile.am mysql-5.0.76/innobase/dyn/Makefile.am --- mysql-5.0.76-old/innobase/dyn/Makefile.am 2009-01-15 16:45:10.000000000 -0100 +++ mysql-5.0.76/innobase/dyn/Makefile.am 2009-03-16 01:42:52.000000000 -0100 @@ -15,9 +15,9 @@ include ../include/Makefile.i -noinst_LIBRARIES = libdyn.a +noinst_LTLIBRARIES = libdyn.la -libdyn_a_SOURCES = dyn0dyn.c +libdyn_la_SOURCES = dyn0dyn.c EXTRA_PROGRAMS = diff -uNr mysql-5.0.76-old/innobase/eval/Makefile.am mysql-5.0.76/innobase/eval/Makefile.am --- mysql-5.0.76-old/innobase/eval/Makefile.am 2009-01-15 16:45:10.000000000 -0100 +++ mysql-5.0.76/innobase/eval/Makefile.am 2009-03-16 01:43:06.000000000 -0100 @@ -15,9 +15,9 @@ include ../include/Makefile.i -noinst_LIBRARIES = libeval.a +noinst_LTLIBRARIES = libeval.la -libeval_a_SOURCES = eval0eval.c eval0proc.c +libeval_la_SOURCES = eval0eval.c eval0proc.c EXTRA_PROGRAMS = diff -uNr mysql-5.0.76-old/innobase/fil/Makefile.am mysql-5.0.76/innobase/fil/Makefile.am --- mysql-5.0.76-old/innobase/fil/Makefile.am 2009-01-15 16:45:10.000000000 -0100 +++ mysql-5.0.76/innobase/fil/Makefile.am 2009-03-16 01:43:30.000000000 -0100 @@ -15,9 +15,9 @@ include ../include/Makefile.i -noinst_LIBRARIES = libfil.a +noinst_LTLIBRARIES = libfil.la -libfil_a_SOURCES = fil0fil.c +libfil_la_SOURCES = fil0fil.c EXTRA_PROGRAMS = diff -uNr mysql-5.0.76-old/innobase/fsp/Makefile.am mysql-5.0.76/innobase/fsp/Makefile.am --- mysql-5.0.76-old/innobase/fsp/Makefile.am 2009-01-15 16:45:10.000000000 -0100 +++ mysql-5.0.76/innobase/fsp/Makefile.am 2009-03-16 01:43:42.000000000 -0100 @@ -16,9 +16,9 @@ include ../include/Makefile.i -noinst_LIBRARIES = libfsp.a +noinst_LTLIBRARIES = libfsp.la -libfsp_a_SOURCES = fsp0fsp.c +libfsp_la_SOURCES = fsp0fsp.c EXTRA_PROGRAMS = diff -uNr mysql-5.0.76-old/innobase/fut/Makefile.am mysql-5.0.76/innobase/fut/Makefile.am --- mysql-5.0.76-old/innobase/fut/Makefile.am 2009-01-15 16:45:10.000000000 -0100 +++ mysql-5.0.76/innobase/fut/Makefile.am 2009-03-16 01:43:55.000000000 -0100 @@ -15,9 +15,9 @@ include ../include/Makefile.i -noinst_LIBRARIES = libfut.a +noinst_LTLIBRARIES = libfut.la -libfut_a_SOURCES = fut0fut.c fut0lst.c +libfut_la_SOURCES = fut0fut.c fut0lst.c EXTRA_PROGRAMS = diff -uNr mysql-5.0.76-old/innobase/ha/Makefile.am mysql-5.0.76/innobase/ha/Makefile.am --- mysql-5.0.76-old/innobase/ha/Makefile.am 2009-01-15 16:45:10.000000000 -0100 +++ mysql-5.0.76/innobase/ha/Makefile.am 2009-03-16 01:44:11.000000000 -0100 @@ -15,9 +15,9 @@ include ../include/Makefile.i -noinst_LIBRARIES = libha.a +noinst_LTLIBRARIES = libha.la -libha_a_SOURCES = ha0ha.c hash0hash.c +libha_la_SOURCES = ha0ha.c hash0hash.c EXTRA_PROGRAMS = diff -uNr mysql-5.0.76-old/innobase/ibuf/Makefile.am mysql-5.0.76/innobase/ibuf/Makefile.am --- mysql-5.0.76-old/innobase/ibuf/Makefile.am 2009-01-15 16:45:11.000000000 -0100 +++ mysql-5.0.76/innobase/ibuf/Makefile.am 2009-03-16 01:44:24.000000000 -0100 @@ -15,9 +15,9 @@ include ../include/Makefile.i -noinst_LIBRARIES = libibuf.a +noinst_LTLIBRARIES = libibuf.la -libibuf_a_SOURCES = ibuf0ibuf.c +libibuf_la_SOURCES = ibuf0ibuf.c EXTRA_PROGRAMS = diff -uNr mysql-5.0.76-old/innobase/lock/Makefile.am mysql-5.0.76/innobase/lock/Makefile.am --- mysql-5.0.76-old/innobase/lock/Makefile.am 2009-01-15 16:45:16.000000000 -0100 +++ mysql-5.0.76/innobase/lock/Makefile.am 2009-03-16 01:44:48.000000000 -0100 @@ -15,9 +15,9 @@ include ../include/Makefile.i -noinst_LIBRARIES = liblock.a +noinst_LTLIBRARIES = liblock.la -liblock_a_SOURCES = lock0lock.c +liblock_la_SOURCES = lock0lock.c EXTRA_PROGRAMS = diff -uNr mysql-5.0.76-old/innobase/log/Makefile.am mysql-5.0.76/innobase/log/Makefile.am --- mysql-5.0.76-old/innobase/log/Makefile.am 2009-01-15 16:45:16.000000000 -0100 +++ mysql-5.0.76/innobase/log/Makefile.am 2009-03-16 01:45:02.000000000 -0100 @@ -15,9 +15,9 @@ include ../include/Makefile.i -noinst_LIBRARIES = liblog.a +noinst_LTLIBRARIES = liblog.la -liblog_a_SOURCES = log0log.c log0recv.c +liblog_la_SOURCES = log0log.c log0recv.c EXTRA_PROGRAMS = diff -uNr mysql-5.0.76-old/innobase/mach/Makefile.am mysql-5.0.76/innobase/mach/Makefile.am --- mysql-5.0.76-old/innobase/mach/Makefile.am 2009-01-15 16:45:17.000000000 -0100 +++ mysql-5.0.76/innobase/mach/Makefile.am 2009-03-16 01:45:14.000000000 -0100 @@ -15,9 +15,9 @@ include ../include/Makefile.i -noinst_LIBRARIES = libmach.a +noinst_LTLIBRARIES = libmach.la -libmach_a_SOURCES = mach0data.c +libmach_la_SOURCES = mach0data.c EXTRA_PROGRAMS = diff -uNr mysql-5.0.76-old/innobase/mem/Makefile.am mysql-5.0.76/innobase/mem/Makefile.am --- mysql-5.0.76-old/innobase/mem/Makefile.am 2009-01-15 16:45:17.000000000 -0100 +++ mysql-5.0.76/innobase/mem/Makefile.am 2009-03-16 01:45:28.000000000 -0100 @@ -15,9 +15,9 @@ include ../include/Makefile.i -noinst_LIBRARIES = libmem.a +noinst_LTLIBRARIES = libmem.la -libmem_a_SOURCES = mem0mem.c mem0pool.c +libmem_la_SOURCES = mem0mem.c mem0pool.c EXTRA_DIST = mem0dbg.c diff -uNr mysql-5.0.76-old/innobase/mtr/Makefile.am mysql-5.0.76/innobase/mtr/Makefile.am --- mysql-5.0.76-old/innobase/mtr/Makefile.am 2009-01-15 16:45:17.000000000 -0100 +++ mysql-5.0.76/innobase/mtr/Makefile.am 2009-03-16 01:45:44.000000000 -0100 @@ -15,9 +15,9 @@ include ../include/Makefile.i -noinst_LIBRARIES = libmtr.a +noinst_LTLIBRARIES = libmtr.la -libmtr_a_SOURCES = mtr0mtr.c mtr0log.c +libmtr_la_SOURCES = mtr0mtr.c mtr0log.c EXTRA_PROGRAMS = diff -uNr mysql-5.0.76-old/innobase/os/Makefile.am mysql-5.0.76/innobase/os/Makefile.am --- mysql-5.0.76-old/innobase/os/Makefile.am 2009-01-15 16:45:17.000000000 -0100 +++ mysql-5.0.76/innobase/os/Makefile.am 2009-03-16 01:46:10.000000000 -0100 @@ -15,9 +15,9 @@ include ../include/Makefile.i -noinst_LIBRARIES = libos.a +noinst_LTLIBRARIES = libos.la -libos_a_SOURCES = os0proc.c os0sync.c os0thread.c os0file.c +libos_la_SOURCES = os0proc.c os0sync.c os0thread.c os0file.c EXTRA_PROGRAMS = diff -uNr mysql-5.0.76-old/innobase/page/Makefile.am mysql-5.0.76/innobase/page/Makefile.am --- mysql-5.0.76-old/innobase/page/Makefile.am 2009-01-15 16:45:17.000000000 -0100 +++ mysql-5.0.76/innobase/page/Makefile.am 2009-03-16 01:46:25.000000000 -0100 @@ -15,9 +15,9 @@ include ../include/Makefile.i -noinst_LIBRARIES = libpage.a +noinst_LTLIBRARIES = libpage.la -libpage_a_SOURCES = page0page.c page0cur.c +libpage_la_SOURCES = page0page.c page0cur.c EXTRA_PROGRAMS = diff -uNr mysql-5.0.76-old/innobase/pars/Makefile.am mysql-5.0.76/innobase/pars/Makefile.am --- mysql-5.0.76-old/innobase/pars/Makefile.am 2009-01-15 16:45:17.000000000 -0100 +++ mysql-5.0.76/innobase/pars/Makefile.am 2009-03-16 01:46:51.000000000 -0100 @@ -15,11 +15,11 @@ include ../include/Makefile.i -noinst_LIBRARIES = libpars.a +noinst_LTLIBRARIES = libpars.la noinst_HEADERS = pars0grm.h -libpars_a_SOURCES = pars0grm.c lexyy.c pars0opt.c pars0pars.c pars0sym.c +libpars_la_SOURCES = pars0grm.c lexyy.c pars0opt.c pars0pars.c pars0sym.c EXTRA_PROGRAMS = diff -uNr mysql-5.0.76-old/innobase/que/Makefile.am mysql-5.0.76/innobase/que/Makefile.am --- mysql-5.0.76-old/innobase/que/Makefile.am 2009-01-15 16:45:18.000000000 -0100 +++ mysql-5.0.76/innobase/que/Makefile.am 2009-03-16 01:47:05.000000000 -0100 @@ -15,9 +15,9 @@ include ../include/Makefile.i -noinst_LIBRARIES = libque.a +noinst_LTLIBRARIES = libque.la -libque_a_SOURCES = que0que.c +libque_la_SOURCES = que0que.c EXTRA_PROGRAMS = diff -uNr mysql-5.0.76-old/innobase/read/Makefile.am mysql-5.0.76/innobase/read/Makefile.am --- mysql-5.0.76-old/innobase/read/Makefile.am 2009-01-15 16:45:18.000000000 -0100 +++ mysql-5.0.76/innobase/read/Makefile.am 2009-03-16 01:47:22.000000000 -0100 @@ -15,9 +15,9 @@ include ../include/Makefile.i -noinst_LIBRARIES = libread.a +noinst_LTLIBRARIES = libread.la -libread_a_SOURCES = read0read.c +libread_la_SOURCES = read0read.c EXTRA_PROGRAMS = diff -uNr mysql-5.0.76-old/innobase/rem/Makefile.am mysql-5.0.76/innobase/rem/Makefile.am --- mysql-5.0.76-old/innobase/rem/Makefile.am 2009-01-15 16:45:18.000000000 -0100 +++ mysql-5.0.76/innobase/rem/Makefile.am 2009-03-16 01:47:48.000000000 -0100 @@ -15,9 +15,9 @@ include ../include/Makefile.i -noinst_LIBRARIES = librem.a +noinst_LTLIBRARIES = librem.la -librem_a_SOURCES = rem0rec.c rem0cmp.c +librem_la_SOURCES = rem0rec.c rem0cmp.c EXTRA_PROGRAMS = diff -uNr mysql-5.0.76-old/innobase/row/Makefile.am mysql-5.0.76/innobase/row/Makefile.am --- mysql-5.0.76-old/innobase/row/Makefile.am 2009-01-15 16:45:18.000000000 -0100 +++ mysql-5.0.76/innobase/row/Makefile.am 2009-03-16 01:48:06.000000000 -0100 @@ -15,9 +15,9 @@ include ../include/Makefile.i -noinst_LIBRARIES = librow.a +noinst_LTLIBRARIES = librow.la -librow_a_SOURCES = row0ins.c row0mysql.c row0purge.c row0row.c row0sel.c\ +librow_la_SOURCES = row0ins.c row0mysql.c row0purge.c row0row.c row0sel.c\ row0uins.c row0umod.c row0undo.c row0upd.c row0vers.c EXTRA_PROGRAMS = diff -uNr mysql-5.0.76-old/innobase/srv/Makefile.am mysql-5.0.76/innobase/srv/Makefile.am --- mysql-5.0.76-old/innobase/srv/Makefile.am 2009-01-15 16:45:18.000000000 -0100 +++ mysql-5.0.76/innobase/srv/Makefile.am 2009-03-16 01:48:22.000000000 -0100 @@ -15,9 +15,9 @@ include ../include/Makefile.i -noinst_LIBRARIES = libsrv.a +noinst_LTLIBRARIES = libsrv.la -libsrv_a_SOURCES = srv0srv.c srv0que.c srv0start.c +libsrv_la_SOURCES = srv0srv.c srv0que.c srv0start.c EXTRA_PROGRAMS = diff -uNr mysql-5.0.76-old/innobase/sync/Makefile.am mysql-5.0.76/innobase/sync/Makefile.am --- mysql-5.0.76-old/innobase/sync/Makefile.am 2009-01-15 16:45:19.000000000 -0100 +++ mysql-5.0.76/innobase/sync/Makefile.am 2009-03-16 01:48:36.000000000 -0100 @@ -15,9 +15,9 @@ include ../include/Makefile.i -noinst_LIBRARIES = libsync.a +noinst_LTLIBRARIES = libsync.la -libsync_a_SOURCES = sync0arr.c sync0rw.c sync0sync.c +libsync_la_SOURCES = sync0arr.c sync0rw.c sync0sync.c EXTRA_PROGRAMS = diff -uNr mysql-5.0.76-old/innobase/thr/Makefile.am mysql-5.0.76/innobase/thr/Makefile.am --- mysql-5.0.76-old/innobase/thr/Makefile.am 2009-01-15 16:45:19.000000000 -0100 +++ mysql-5.0.76/innobase/thr/Makefile.am 2009-03-16 01:48:48.000000000 -0100 @@ -15,9 +15,9 @@ include ../include/Makefile.i -noinst_LIBRARIES = libthr.a +noinst_LTLIBRARIES = libthr.la -libthr_a_SOURCES = thr0loc.c +libthr_la_SOURCES = thr0loc.c EXTRA_PROGRAMS = diff -uNr mysql-5.0.76-old/innobase/trx/Makefile.am mysql-5.0.76/innobase/trx/Makefile.am --- mysql-5.0.76-old/innobase/trx/Makefile.am 2009-01-15 16:45:19.000000000 -0100 +++ mysql-5.0.76/innobase/trx/Makefile.am 2009-03-16 01:49:00.000000000 -0100 @@ -15,9 +15,9 @@ include ../include/Makefile.i -noinst_LIBRARIES = libtrx.a +noinst_LTLIBRARIES = libtrx.la -libtrx_a_SOURCES = trx0purge.c trx0rec.c trx0roll.c trx0rseg.c\ +libtrx_la_SOURCES = trx0purge.c trx0rec.c trx0roll.c trx0rseg.c\ trx0sys.c trx0trx.c trx0undo.c EXTRA_PROGRAMS = diff -uNr mysql-5.0.76-old/innobase/usr/Makefile.am mysql-5.0.76/innobase/usr/Makefile.am --- mysql-5.0.76-old/innobase/usr/Makefile.am 2009-01-15 16:45:19.000000000 -0100 +++ mysql-5.0.76/innobase/usr/Makefile.am 2009-03-16 01:49:13.000000000 -0100 @@ -15,9 +15,9 @@ include ../include/Makefile.i -noinst_LIBRARIES = libusr.a +noinst_LTLIBRARIES = libusr.la -libusr_a_SOURCES = usr0sess.c +libusr_la_SOURCES = usr0sess.c EXTRA_PROGRAMS = diff -uNr mysql-5.0.76-old/innobase/ut/Makefile.am mysql-5.0.76/innobase/ut/Makefile.am --- mysql-5.0.76-old/innobase/ut/Makefile.am 2009-01-15 16:45:19.000000000 -0100 +++ mysql-5.0.76/innobase/ut/Makefile.am 2009-03-16 01:49:27.000000000 -0100 @@ -15,9 +15,9 @@ include ../include/Makefile.i -noinst_LIBRARIES = libut.a +noinst_LTLIBRARIES = libut.la -libut_a_SOURCES = ut0byte.c ut0dbg.c ut0mem.c ut0rnd.c ut0ut.c +libut_la_SOURCES = ut0byte.c ut0dbg.c ut0mem.c ut0rnd.c ut0ut.c EXTRA_PROGRAMS = diff -uNr mysql-5.0.76-old/libmysql/Makefile.am mysql-5.0.76/libmysql/Makefile.am --- mysql-5.0.76-old/libmysql/Makefile.am 2009-01-15 16:45:19.000000000 -0100 +++ mysql-5.0.76/libmysql/Makefile.am 2009-03-15 23:29:17.000000000 -0100 @@ -106,8 +106,8 @@ echo "# This file is autogenerated from Makefile.am" >> $$dir/Makefile; \ echo 'CFLAGS= -I. -DUNDEF_THREADS_HACK' >>$$dir/Makefile; \ echo "obj=$$objs" >>$$dir/Makefile; \ - echo 'all: libmysql.a' >>$$dir/Makefile; \ - echo 'libmysql.a: $$(obj)' >>$$dir/Makefile; \ + echo 'all: libmysql.la' >>$$dir/Makefile; \ + echo 'libmysql.la: $$(obj)' >>$$dir/Makefile; \ echo ' $$(AR) r $$@ $$?' >>$$dir/Makefile; \ gtar cvzf $$dir.tar.gz $$dir; \ cd $$dir; gmake diff -uNr mysql-5.0.76-old/libmysqld/Makefile.am mysql-5.0.76/libmysqld/Makefile.am --- mysql-5.0.76-old/libmysqld/Makefile.am 2009-01-15 16:45:20.000000000 -0100 +++ mysql-5.0.76/libmysqld/Makefile.am 2009-03-15 23:38:39.000000000 -0100 @@ -32,8 +32,8 @@ -I$(top_srcdir)/regex \ $(openssl_includes) @ZLIB_INCLUDES@ -noinst_LIBRARIES = libmysqld_int.a -pkglib_LIBRARIES = libmysqld.a +noinst_LTLIBRARIES = libmysqld_int.la +pkglib_LTLIBRARIES = libmysqld.la SUBDIRS = . examples libmysqld_sources= libmysqld.c lib_sql.cc emb_qcache.cc libmysqlsources = errmsg.c get_password.c libmysql.c client.c pack.c \ @@ -66,50 +66,21 @@ parse_file.cc sql_view.cc sql_trigger.cc my_decimal.cc \ ha_blackhole.cc ha_archive.cc my_user.c -libmysqld_int_a_SOURCES= $(libmysqld_sources) $(libmysqlsources) $(sqlsources) $(sqlexamplessources) -libmysqld_a_SOURCES= +libmysqld_int_la_SOURCES= $(libmysqld_sources) $(libmysqlsources) $(sqlsources) $(sqlexamplessources) +libmysqld_la_SOURCES= # automake misses these sql_yacc.cc sql_yacc.h: $(top_srcdir)/sql/sql_yacc.yy -# The following libraries should be included in libmysqld.a -INC_LIB= $(top_builddir)/regex/libregex.a \ - $(top_builddir)/myisam/libmyisam.a \ - $(top_builddir)/myisammrg/libmyisammrg.a \ - $(top_builddir)/heap/libheap.a \ +# The following libraries should be included in libmysqld.la +libmysqld_la_LIBADD= $(top_builddir)/regex/libregex.la \ + $(top_builddir)/myisam/libmyisam.la \ + $(top_builddir)/myisammrg/libmyisammrg.la \ + $(top_builddir)/heap/libheap.la \ @innodb_libs@ @bdb_libs_with_path@ \ - $(top_builddir)/mysys/libmysys.a \ - $(top_builddir)/strings/libmystrings.a \ - $(top_builddir)/dbug/libdbug.a \ - $(top_builddir)/vio/libvio.a @NDB_SCI_LIBS@ - - -# -# To make it easy for the end user to use the embedded library we -# generate a total libmysqld.a from all library files, - -# note - InnoDB libraries have circular dependencies, so in INC_LIB -# few libraries are present two times. Metrowerks linker doesn't like -# it at all. Traditional ar has no problems with it, but still there's no -# need to add the same file twice to the library, so 'sort -u' save us -# some time and spares unnecessary work. - -libmysqld.a: libmysqld_int.a $(INC_LIB) -if DARWIN_MWCC - mwld -lib -o $@ libmysqld_int.a `echo $(INC_LIB) | sort -u` -else - -rm -f libmysqld.a - if test "$(host_os)" = "netware" ; \ - then \ - $(libmysqld_a_AR) libmysqld.a libmysqld_int.a $(INC_LIB) ; \ - else \ - for arc in ./libmysqld_int.a $(INC_LIB); do \ - arpath=`echo $$arc|sed 's|[^/]*$$||'`; \ - $(AR) t $$arc|sed "s|^|$$arpath|"; \ - done | sort -u | xargs $(AR) cq libmysqld.a ; \ - $(RANLIB) libmysqld.a ; \ - fi -endif + $(top_builddir)/mysys/libmysys.la \ + $(top_builddir)/vio/libvio.la @NDB_SCI_LIBS@ \ + libmysqld_int.la ## XXX: any time the client interface changes, we'll need to bump ## the version info for libmysqld; however, it's possible for the diff -uNr mysql-5.0.76-old/myisam/Makefile.am mysql-5.0.76/myisam/Makefile.am --- mysql-5.0.76-old/myisam/Makefile.am 2009-01-15 16:45:21.000000000 -0100 +++ mysql-5.0.76/myisam/Makefile.am 2009-03-15 23:29:17.000000000 -0100 @@ -16,27 +16,27 @@ EXTRA_DIST = mi_test_all.sh mi_test_all.res ft_stem.c CMakeLists.txt pkgdata_DATA = mi_test_all mi_test_all.res -INCLUDES = -I$(top_builddir)/include -I$(top_srcdir)/include -LDADD = @CLIENT_EXTRA_LDFLAGS@ libmyisam.a \ - $(top_builddir)/mysys/libmysys.a \ - $(top_builddir)/dbug/libdbug.a \ - $(top_builddir)/strings/libmystrings.a @ZLIB_LIBS@ -pkglib_LIBRARIES = libmyisam.a +INCLUDES = -I$(top_builddir)/include -I$(top_srcdir)/include \ + -I$(top_builddir)/sql -I$(top_srcdir)/sql +LDADD = @CLIENT_EXTRA_LDFLAGS@ libmyisam.la \ + $(top_builddir)/mysys/libmysys.la \ + $(ZLIB_LIBS) +noinst_LTLIBRARIES = libmyisam.la bin_PROGRAMS = myisamchk myisamlog myisampack myisam_ftdump -myisamchk_DEPENDENCIES= $(LIBRARIES) -myisamlog_DEPENDENCIES= $(LIBRARIES) -myisampack_DEPENDENCIES=$(LIBRARIES) +myisamchk_DEPENDENCIES= $(LTLIBRARIES) +myisamlog_DEPENDENCIES= $(LTLIBRARIES) +myisampack_DEPENDENCIES=$(LTLIBRARIES) noinst_PROGRAMS = mi_test1 mi_test2 mi_test3 rt_test sp_test #ft_test1 ft_eval noinst_HEADERS = myisamdef.h rt_index.h rt_key.h rt_mbr.h sp_defs.h fulltext.h ftdefs.h ft_test1.h ft_eval.h -mi_test1_DEPENDENCIES= $(LIBRARIES) -mi_test2_DEPENDENCIES= $(LIBRARIES) -mi_test3_DEPENDENCIES= $(LIBRARIES) -#ft_test1_DEPENDENCIES= $(LIBRARIES) -#ft_eval_DEPENDENCIES= $(LIBRARIES) -myisam_ftdump_DEPENDENCIES= $(LIBRARIES) -rt_test_DEPENDENCIES= $(LIBRARIES) -sp_test_DEPENDENCIES= $(LIBRARIES) -libmyisam_a_SOURCES = mi_open.c mi_extra.c mi_info.c mi_rkey.c \ +mi_test1_DEPENDENCIES= $(LTLIBRARIES) +mi_test2_DEPENDENCIES= $(LTLIBRARIES) +mi_test3_DEPENDENCIES= $(LTLIBRARIES) +#ft_test1_DEPENDENCIES= $(LTLIBRARIES) +#ft_eval_DEPENDENCIES= $(LTLIBRARIES) +myisam_ftdump_DEPENDENCIES= $(LTLIBRARIES) +rt_test_DEPENDENCIES= $(LTLIBRARIES) +sp_test_DEPENDENCIES= $(LTLIBRARIES) +libmyisam_la_SOURCES = mi_open.c mi_extra.c mi_info.c mi_rkey.c \ mi_rnext.c mi_rnext_same.c \ mi_search.c mi_page.c mi_key.c mi_locking.c \ mi_rrnd.c mi_scan.c mi_cache.c \ diff -uNr mysql-5.0.76-old/myisammrg/Makefile.am mysql-5.0.76/myisammrg/Makefile.am --- mysql-5.0.76-old/myisammrg/Makefile.am 2009-01-15 16:45:25.000000000 -0100 +++ mysql-5.0.76/myisammrg/Makefile.am 2009-03-15 23:29:17.000000000 -0100 @@ -14,9 +14,9 @@ # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA INCLUDES = -I$(top_builddir)/include -I$(top_srcdir)/include -pkglib_LIBRARIES = libmyisammrg.a +noinst_LTLIBRARIES = libmyisammrg.la noinst_HEADERS = myrg_def.h -libmyisammrg_a_SOURCES = myrg_open.c myrg_extra.c myrg_info.c myrg_locking.c \ +libmyisammrg_la_SOURCES = myrg_open.c myrg_extra.c myrg_info.c myrg_locking.c \ myrg_rrnd.c myrg_update.c myrg_delete.c myrg_rsame.c \ myrg_panic.c myrg_close.c myrg_create.c myrg_static.c \ myrg_rkey.c myrg_rfirst.c myrg_rlast.c myrg_rnext.c \ diff -uNr mysql-5.0.76-old/mysys/Makefile.am mysql-5.0.76/mysys/Makefile.am --- mysql-5.0.76-old/mysys/Makefile.am 2009-01-15 16:47:01.000000000 -0100 +++ mysql-5.0.76/mysys/Makefile.am 2009-03-15 23:29:17.000000000 -0100 @@ -18,14 +18,12 @@ MYSQLBASEdir= $(prefix) INCLUDES = @ZLIB_INCLUDES@ -I$(top_builddir)/include \ -I$(top_srcdir)/include -I$(srcdir) -pkglib_LIBRARIES = libmysys.a -LDADD = libmysys.a ../dbug/libdbug.a \ - ../strings/libmystrings.a +pkglib_LTLIBRARIES = libmysys.la noinst_HEADERS = mysys_priv.h my_static.h \ my_os2cond.c my_os2dirsrch.c my_os2dirsrch.h \ my_os2dlfcn.c my_os2file64.c my_os2mutex.c \ my_os2thread.c my_os2tls.c -libmysys_a_SOURCES = my_init.c my_getwd.c mf_getdate.c my_mmap.c \ +libmysys_la_SOURCES = my_init.c my_getwd.c mf_getdate.c my_mmap.c \ mf_path.c mf_loadpath.c my_file.c \ my_open.c my_create.c my_dup.c my_seek.c my_read.c \ my_pread.c my_write.c my_getpagesize.c \ @@ -49,21 +47,26 @@ my_quick.c my_lockmem.c my_static.c \ my_sync.c my_getopt.c my_mkdir.c \ default_modify.c default.c \ - my_compress.c checksum.c raid.cc \ + my_compress.c checksum.c raid.cc \ my_net.c my_port.c my_sleep.c \ charset.c charset-def.c my_bitmap.c my_bit.c md5.c \ my_gethostbyname.c rijndael.c my_aes.c sha1.c \ my_handler.c my_netware.c my_largepage.c \ - my_memmem.c \ - my_windac.c my_access.c base64.c my_libwrap.c + my_memmem.c my_windac.c my_access.c base64.c \ + my_libwrap.c +libmysys_la_LIBADD = $(top_builddir)/dbug/libdbug.la $(top_builddir)/strings/libmystrings.la \ + $(ZLIB_LIBS) +if NEED_THREADS +libmysys_la_SOURCES += thr_alarm.c thr_lock.c thr_mutex.c thr_rwlock.c my_pthread.c my_thr_init.c +endif + EXTRA_DIST = thr_alarm.c thr_lock.c my_pthread.c my_thr_init.c \ thr_mutex.c thr_rwlock.c mf_soundex.c my_conio.c \ my_wincond.c my_winthread.c CMakeLists.txt -libmysys_a_LIBADD = @THREAD_LOBJECTS@ -# test_dir_DEPENDENCIES= $(LIBRARIES) -# testhash_DEPENDENCIES= $(LIBRARIES) -# test_charset_DEPENDENCIES= $(LIBRARIES) -# charset2html_DEPENDENCIES= $(LIBRARIES) +# test_dir_DEPENDENCIES= $(LTLIBRARIES) +# testhash_DEPENDENCIES= $(LTLIBRARIES) +# test_charset_DEPENDENCIES= $(LTLIBRARIES) +# charset2html_DEPENDENCIES= $(LTLIBRARIES) EXTRA_PROGRAMS = DEFS = -DDEFAULT_BASEDIR=\"$(prefix)\" \ -DDATADIR="\"$(MYSQLDATAdir)\"" \ @@ -74,8 +77,6 @@ -DDEFAULT_SYSCONFDIR="\"$(sysconfdir)\"" \ @DEFS@ -libmysys_a_DEPENDENCIES= @THREAD_LOBJECTS@ - # I hope this always does the right thing. Otherwise this is only test programs FLAGS=$(DEFS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS) @NOINST_LDFLAGS@ @@ -84,41 +85,41 @@ # which automaticly removes the object files you use to compile a final program # -test_thr_alarm$(EXEEXT): thr_alarm.c $(LIBRARIES) +test_thr_alarm$(EXEEXT): thr_alarm.c $(LTLIBRARIES) $(CP) $(srcdir)/thr_alarm.c ./test_thr_alarm.c $(LINK) $(FLAGS) -DMAIN ./test_thr_alarm.c $(LDADD) $(LIBS) $(RM) -f ./test_thr_alarm.c -test_thr_lock$(EXEEXT): thr_lock.c $(LIBRARIES) +test_thr_lock$(EXEEXT): thr_lock.c $(LTLIBRARIES) $(CP) $(srcdir)/thr_lock.c test_thr_lock.c $(LINK) $(FLAGS) -DMAIN ./test_thr_lock.c $(LDADD) $(LIBS) $(RM) -f ./test_thr_lock.c -test_vsnprintf$(EXEEXT): my_vsnprintf.c $(LIBRARIES) +test_vsnprintf$(EXEEXT): my_vsnprintf.c $(LTLIBRARIES) $(CP) $(srcdir)/my_vsnprintf.c test_vsnprintf.c $(LINK) $(FLAGS) -DMAIN ./test_vsnprintf.c $(LDADD) $(LIBS) $(RM) -f test_vsnprintf.c -test_io_cache$(EXEEXT): mf_iocache.c $(LIBRARIES) +test_io_cache$(EXEEXT): mf_iocache.c $(LTLIBRARIES) $(CP) $(srcdir)/mf_iocache.c test_io_cache.c $(LINK) $(FLAGS) -DMAIN ./test_io_cache.c $(LDADD) $(LIBS) $(RM) -f test_io_cache.c -test_dir$(EXEEXT): test_dir.c $(LIBRARIES) +test_dir$(EXEEXT): test_dir.c $(LTLIBRARIES) $(LINK) $(FLAGS) -DMAIN $(srcdir)/test_dir.c $(LDADD) $(LIBS) -test_charset$(EXEEXT): test_charset.c $(LIBRARIES) +test_charset$(EXEEXT): test_charset.c $(LTLIBRARIES) $(LINK) $(FLAGS) -DMAIN $(srcdir)/test_charset.c $(LDADD) $(LIBS) -testhash$(EXEEXT): testhash.c $(LIBRARIES) +testhash$(EXEEXT): testhash.c $(LTLIBRARIES) $(LINK) $(FLAGS) -DMAIN $(srcdir)/testhash.c $(LDADD) $(LIBS) -test_gethwaddr$(EXEEXT): my_gethwaddr.c $(LIBRARIES) +test_gethwaddr$(EXEEXT): my_gethwaddr.c $(LTLIBRARIES) $(CP) $(srcdir)/my_gethwaddr.c ./test_gethwaddr.c $(LINK) $(FLAGS) -DMAIN ./test_gethwaddr.c $(LDADD) $(LIBS) $(RM) -f ./test_gethwaddr.c -test_base64$(EXEEXT): base64.c $(LIBRARIES) +test_base64$(EXEEXT): base64.c $(LTLIBRARIES) $(CP) $(srcdir)/base64.c ./test_base64.c $(LINK) $(FLAGS) -DMAIN ./test_base64.c $(LDADD) $(LIBS) $(RM) -f ./test_base64.c diff -uNr mysql-5.0.76-old/netware/Makefile.am mysql-5.0.76/netware/Makefile.am --- mysql-5.0.76-old/netware/Makefile.am 2009-01-15 16:48:03.000000000 -0100 +++ mysql-5.0.76/netware/Makefile.am 2009-03-15 23:29:17.000000000 -0100 @@ -16,14 +16,13 @@ if HAVE_NETWARE INCLUDES = -I$(top_builddir)/include -I$(top_srcdir)/include -I.. -LDADD = @CLIENT_EXTRA_LDFLAGS@ ../mysys/libmysys.a \ - ../dbug/libdbug.a ../strings/libmystrings.a +LDADD = @CLIENT_EXTRA_LDFLAGS@ ../mysys/libmysys.la bin_PROGRAMS = mysqld_safe mysql_install_db mysql_test_run libmysql mysqld_safe_SOURCES= mysqld_safe.c my_manage.c mysql_install_db_SOURCES= mysql_install_db.c my_manage.c mysql_test_run_SOURCES= mysql_test_run.c my_manage.c libmysql_SOURCES= libmysqlmain.c -libmysql_LDADD = ../libmysql/.libs/libmysqlclient.a \ +libmysql_LDADD = ../libmysql/.libs/libmysqlclient.la \ @openssl_libs@ @yassl_libs@ netware_build_files = client/mysql.def client/mysqladmin.def \ diff -uNr mysql-5.0.76-old/pstack/Makefile.am mysql-5.0.76/pstack/Makefile.am --- mysql-5.0.76-old/pstack/Makefile.am 2009-01-15 16:48:04.000000000 -0100 +++ mysql-5.0.76/pstack/Makefile.am 2009-03-15 23:29:17.000000000 -0100 @@ -27,8 +27,8 @@ EXTRA_DIST= $(SRC) if COMPILE_PSTACK -pkglib_LIBRARIES = libpstack.a -libpstack_a_SOURCES = bucomm.c filemode.c linuxthreads.c rddbg.c debug.c ieee.c pstack.c stabs.c +pkglib_LTLIBRARIES = libpstack.la +libpstack_la_SOURCES = bucomm.c filemode.c linuxthreads.c rddbg.c debug.c ieee.c pstack.c stabs.c endif # Don't update the files from bitkeeper diff -uNr mysql-5.0.76-old/regex/Makefile.am mysql-5.0.76/regex/Makefile.am --- mysql-5.0.76-old/regex/Makefile.am 2009-01-15 16:48:05.000000000 -0100 +++ mysql-5.0.76/regex/Makefile.am 2009-03-15 23:29:17.000000000 -0100 @@ -16,10 +16,10 @@ # MA 02111-1307, USA INCLUDES = -I$(top_builddir)/include -I$(top_srcdir)/include -noinst_LIBRARIES = libregex.a -LDADD= libregex.a $(top_builddir)/strings/libmystrings.a +noinst_LTLIBRARIES = libregex.la +LDADD= libregex.la $(top_builddir)/strings/libmystrings.la noinst_HEADERS = cclass.h cname.h regex2.h utils.h engine.c my_regex.h -libregex_a_SOURCES = regerror.c regcomp.c regexec.c regfree.c reginit.c +libregex_la_SOURCES = regerror.c regcomp.c regexec.c regfree.c reginit.c noinst_PROGRAMS = re re_SOURCES = split.c debug.c main.c re_LDFLAGS= @NOINST_LDFLAGS@ diff -uNr mysql-5.0.76-old/sql/field.h mysql-5.0.76/sql/field.h --- mysql-5.0.76-old/sql/field.h 2009-01-15 16:48:09.000000000 -0100 +++ mysql-5.0.76/sql/field.h 2009-03-15 23:29:17.000000000 -0100 @@ -55,7 +55,7 @@ char *ptr; // Position to field in record uchar *null_ptr; // Byte where null_bit is /* - Note that you can use table->in_use as replacement for current_thd member + Note that you can use table->in_use as replacement for current_thd member only inside of val_*() and store() members (e.g. you can't use it in cons) */ struct st_table *table; // Pointer for table @@ -65,10 +65,10 @@ query_id_t query_id; // For quick test of used fields /* Field is part of the following keys */ key_map key_start,part_of_key,part_of_sortkey; - /* - We use three additional unireg types for TIMESTAMP to overcome limitation - of current binary format of .frm file. We'd like to be able to support - NOW() as default and on update value for such fields but unable to hold + /* + We use three additional unireg types for TIMESTAMP to overcome limitation + of current binary format of .frm file. We'd like to be able to support + NOW() as default and on update value for such fields but unable to hold this info anywhere except unireg_check field. This issue will be resolved in more clean way with transition to new text based .frm format. See also comment for Field_timestamp::Field_timestamp(). @@ -141,7 +141,7 @@ null_bit == field->null_bit && field->type() == type()); } virtual bool eq_def(Field *field); - + /* pack_length() returns size (in bytes) used to store field data in memory (i.e. it returns the maximum size of the field in a row of the table, @@ -349,13 +349,13 @@ virtual void set_derivation(enum Derivation derivation_arg) { } bool set_warning(MYSQL_ERROR::enum_warning_level, unsigned int code, int cuted_increment); - void set_datetime_warning(MYSQL_ERROR::enum_warning_level, uint code, + void set_datetime_warning(MYSQL_ERROR::enum_warning_level, uint code, const char *str, uint str_len, timestamp_type ts_type, int cuted_increment); - void set_datetime_warning(MYSQL_ERROR::enum_warning_level, uint code, + void set_datetime_warning(MYSQL_ERROR::enum_warning_level, uint code, longlong nr, timestamp_type ts_type, int cuted_increment); - void set_datetime_warning(MYSQL_ERROR::enum_warning_level, const uint code, + void set_datetime_warning(MYSQL_ERROR::enum_warning_level, const uint code, double nr, timestamp_type ts_type); inline bool check_overflow(int op_result) { @@ -417,8 +417,8 @@ my_decimal *val_decimal(my_decimal *); int check_int(CHARSET_INFO *cs, const char *str, int length, const char *int_end, int error); - bool get_int(CHARSET_INFO *cs, const char *from, uint len, - longlong *rnd, ulonglong unsigned_max, + bool get_int(CHARSET_INFO *cs, const char *from, uint len, + longlong *rnd, ulonglong unsigned_max, longlong signed_min, longlong signed_max); }; @@ -533,7 +533,7 @@ Constructors take max_length of the field as a parameter - not the precision as the number of decimal digits allowed. So for example we need to count length from precision handling - CREATE TABLE ( DECIMAL(x,y)) + CREATE TABLE ( DECIMAL(x,y)) */ Field_new_decimal(char *ptr_arg, uint32 len_arg, uchar *null_ptr_arg, uchar null_bit_arg, @@ -564,7 +564,7 @@ bool zero_pack() const { return 0; } void sql_type(String &str) const; uint32 max_display_length() { return field_length; } - uint size_of() const { return sizeof(*this); } + uint size_of() const { return sizeof(*this); } uint32 pack_length() const { return (uint32) bin_size; } }; @@ -1217,12 +1217,12 @@ The number of bytes used to represent the length of the blob. */ uint packlength; - + /** The 'value'-object is a cache fronting the storage engine. */ String value; - + public: Field_blob(char *ptr_arg, uchar *null_ptr_arg, uchar null_bit_arg, enum utype unireg_check_arg, const char *field_name_arg, @@ -1457,7 +1457,7 @@ String *val_str(String*, String *); my_decimal *val_decimal(my_decimal *); int cmp(const char *a, const char *b) - { + { DBUG_ASSERT(ptr == a); return Field_bit::key_cmp((const byte *) b, bytes_in_rec+test(bit_len)); } @@ -1468,7 +1468,7 @@ int cmp_binary_offset(uint row_offset) { return cmp_offset(row_offset); } void get_image(char *buff, uint length, CHARSET_INFO *cs) - { get_key_image(buff, length, itRAW); } + { get_key_image(buff, length, itRAW); } void set_image(char *buff,uint length, CHARSET_INFO *cs) { Field_bit::store(buff, length, cs); } uint get_key_image(char *buff, uint length, imagetype type); @@ -1534,7 +1534,7 @@ enum enum_field_types sql_type; /* At various stages in execution this can be length of field in bytes or - max number of characters. + max number of characters. */ ulong length; /* @@ -1604,7 +1604,7 @@ Copy_field() {} ~Copy_field() {} - void set(Field *to,Field *from,bool save); // Field to field + void set(Field *to,Field *from,bool save); // Field to field void set(char *to,Field *from); // Field to string void (*do_copy)(Copy_field *); void (*do_copy2)(Copy_field *); // Used to handle null values diff -uNr mysql-5.0.76-old/sql/item.h mysql-5.0.76/sql/item.h --- mysql-5.0.76-old/sql/item.h 2009-01-15 16:48:13.000000000 -0100 +++ mysql-5.0.76/sql/item.h 2009-03-15 23:29:17.000000000 -0100 @@ -50,7 +50,7 @@ CHARSET_INFO *collation; enum Derivation derivation; uint repertoire; - + void set_repertoire_from_charset(CHARSET_INFO *cs) { repertoire= cs->state & MY_CS_PUREASCII ? @@ -69,7 +69,7 @@ set_repertoire_from_charset(collation_arg); } void set(DTCollation &dt) - { + { collation= dt.collation; derivation= dt.derivation; repertoire= dt.repertoire; @@ -271,7 +271,7 @@ for the purpose of name resolution. The first and last name resolution table references allow us to search only in a sub-tree of the nested join tree in a FROM clause. This is needed for NATURAL JOIN, JOIN ... USING - and JOIN ... ON. + and JOIN ... ON. */ TABLE_LIST *first_name_resolution_table; /* @@ -425,7 +425,7 @@ argp in/out IN: Analysis parameter OUT: Parameter to be passed to the transformer - RETURN + RETURN TRUE Invoke the transformer FALSE Don't do it @@ -458,7 +458,7 @@ enum cond_result { COND_UNDEF,COND_OK,COND_TRUE,COND_FALSE }; enum traverse_order { POSTFIX, PREFIX }; - + /* Reuse size, only used by SP local variable assignment, otherwize 0 */ uint rsize; @@ -680,16 +680,16 @@ virtual uint decimal_precision() const; inline int decimal_int_part() const { return my_decimal_int_part(decimal_precision(), decimals); } - /* + /* Returns true if this is constant (during query execution, i.e. its value will not change until next fix_fields) and its value is known. */ virtual bool const_item() const { return used_tables() == 0; } - /* + /* Returns true if this is constant but its value may be not known yet. (Can be used for parameters of prep. stmts or of stored procedures.) */ - virtual bool const_during_execution() const + virtual bool const_during_execution() const { return (used_tables() & ~PARAM_TABLE_BIT) == 0; } /* This is an essential method for correct functioning of VIEWS. @@ -716,8 +716,8 @@ virtual bool get_date_result(MYSQL_TIME *ltime,uint fuzzydate) { return get_date(ltime,fuzzydate); } /* - The method allows to determine nullness of a complex expression - without fully evaluating it, instead of calling val/result*() then + The method allows to determine nullness of a complex expression + without fully evaluating it, instead of calling val/result*() then checking null_value. Used in Item_func_isnull/Item_func_isnotnull and Item_sum_count/Item_sum_count_distinct. Any new item which can be NULL must implement this method. @@ -769,10 +769,10 @@ /* This function performs a generic "compilation" of the Item tree. - The process of compilation is assumed to go as follows: - + The process of compilation is assumed to go as follows: + compile() - { + { if (this->*some_analyzer(...)) { compile children if any; @@ -781,7 +781,7 @@ } i.e. analysis is performed top-down while transformation is done - bottom-up. + bottom-up. */ virtual Item* compile(Item_analyzer analyzer, byte **arg_p, Item_transformer transformer, byte *arg_t) @@ -806,10 +806,10 @@ virtual bool reset_query_id_processor(byte *query_id_arg) { return 0; } virtual bool is_expensive_processor(byte *arg) { return 0; } virtual bool subst_argument_checker(byte **arg) - { + { if (*arg) - *arg= NULL; - return TRUE; + *arg= NULL; + return TRUE; } virtual Item *equal_fields_propagator(byte * arg) { return this; } @@ -873,7 +873,7 @@ virtual Field::geometry_type get_geometry_type() const { return Field::GEOM_GEOMETRY; }; String *check_well_formed_result(String *str, bool send_error= 0); - bool eq_by_collation(Item *item, bool binary_cmp, CHARSET_INFO *cs); + bool eq_by_collation(Item *item, bool binary_cmp, CHARSET_INFO *cs); }; @@ -939,12 +939,12 @@ public: inline void make_field(Send_field *field); - + inline bool const_item() const; - + inline int save_in_field(Field *field, bool no_conversions); inline bool send(Protocol *protocol, String *str); -}; +}; /***************************************************************************** Item_sp_variable inline implementation. @@ -991,7 +991,7 @@ Item_result m_result_type; enum_field_types m_field_type; public: - /* + /* Position of this reference to SP variable in the statement (the statement itself is in sp_instr_stmt::m_query). This is valid only for references to SP variables in statements, @@ -1112,9 +1112,9 @@ /* - NAME_CONST(given_name, const_value). - This 'function' has all properties of the supplied const_value (which is - assumed to be a literal constant), and the name given_name. + NAME_CONST(given_name, const_value). + This 'function' has all properties of the supplied const_value (which is + assumed to be a literal constant), and the name given_name. This is used to replace references to SP variables when we write PROCEDURE statements into the binary log. @@ -1186,10 +1186,10 @@ class Item_ident :public Item { protected: - /* + /* We have to store initial values of db_name, table_name and field_name - to be able to restore them during cleanup() because they can be - updated during fix_fields() to values from Field object and life-time + to be able to restore them during cleanup() because they can be + updated during fix_fields() to values from Field object and life-time of those is shorter than life-time of Item_field. */ const char *orig_db_name; @@ -1202,9 +1202,9 @@ const char *table_name; const char *field_name; bool alias_name_used; /* true if item was resolved against alias */ - /* - Cached value of index for this field in table->field array, used by prep. - stmts for speeding up their re-execution. Holds NO_CACHED_FIELD_INDEX + /* + Cached value of index for this field in table->field array, used by prep. + stmts for speeding up their re-execution. Holds NO_CACHED_FIELD_INDEX if index value is not known. */ uint cached_field_index; @@ -1402,7 +1402,7 @@ { save_in_field(result_field, no_conversions); } -}; +}; /* Item represents one placeholder ('?') of prepared statement */ @@ -1766,9 +1766,9 @@ enum_field_types field_type() const { return MYSQL_TYPE_VARCHAR; } bool basic_const_item() const { return 1; } bool eq(const Item *item, bool binary_cmp) const; - Item *clone_item() + Item *clone_item() { - return new Item_string(name, str_value.ptr(), + return new Item_string(name, str_value.ptr(), str_value.length(), collation.collation); } Item *safe_charset_converter(CHARSET_INFO *tocs); @@ -1842,8 +1842,8 @@ Item_hex_string(const char *str,uint str_length); enum Type type() const { return VARBIN_ITEM; } double val_real() - { - DBUG_ASSERT(fixed == 1); + { + DBUG_ASSERT(fixed == 1); return (double) (ulonglong) Item_hex_string::val_int(); } longlong val_int(); @@ -1907,14 +1907,14 @@ This constructor is used in two scenarios: A) *item = NULL No initialization is performed, fix_fields() call will be necessary. - - B) *item points to an Item this Item_ref will refer to. This is + + B) *item points to an Item this Item_ref will refer to. This is used for GROUP BY. fix_fields() will not be called in this case, so we call set_properties to make this item "fixed". set_properties performs a subset of action Item_ref::fix_fields does, and this subset is enough for Item_ref's used in GROUP BY. - - TODO we probably fix a superset of problems like in BUG#6658. Check this + + TODO we probably fix a superset of problems like in BUG#6658. Check this with Bar, and if we have a more broader set of problems like this. */ Item_ref(Name_resolution_context *context_arg, Item **item, @@ -1926,7 +1926,7 @@ :Item_ident(thd, item), result_field(item->result_field), ref(item->ref) {} enum Type type() const { return REF_ITEM; } bool eq(const Item *item, bool binary_cmp) const - { + { Item *it= ((Item *) item)->real_item(); return ref && (*ref)->eq(it, binary_cmp); } @@ -1952,14 +1952,14 @@ Field *get_tmp_table_field() { return result_field ? result_field : (*ref)->get_tmp_table_field(); } Item *get_tmp_table_item(THD *thd); - table_map used_tables() const + table_map used_tables() const { - return depended_from ? OUTER_REF_TABLE_BIT : (*ref)->used_tables(); + return depended_from ? OUTER_REF_TABLE_BIT : (*ref)->used_tables(); } - void update_used_tables() - { - if (!depended_from) - (*ref)->update_used_tables(); + void update_used_tables() + { + if (!depended_from) + (*ref)->update_used_tables(); } table_map not_null_tables() const { return (*ref)->not_null_tables(); } void set_result_field(Field *field) { result_field= field; } @@ -1999,7 +1999,7 @@ } bool check_cols(uint c) { - return ref && result_type() == ROW_RESULT ? (*ref)->check_cols(c) + return ref && result_type() == ROW_RESULT ? (*ref)->check_cols(c) : Item::check_cols(c); } bool null_inside() @@ -2007,7 +2007,7 @@ return ref && result_type() == ROW_RESULT ? (*ref)->null_inside() : 0; } void bring_value() - { + { if (ref && result_type() == ROW_RESULT) (*ref)->bring_value(); } @@ -2166,9 +2166,9 @@ The following class is used to optimize comparing of date and bigint columns We need to save the original item ('ref') to be able to call ref->save_in_field(). This is used to create index search keys. - + An instance of Item_int_with_ref may have signed or unsigned integer value. - + */ class Item_int_with_ref :public Item_int @@ -2230,7 +2230,7 @@ int err; return null_value ? LL(0) : my_strntoll(str_value.charset(),str_value.ptr(), str_value.length(),10, (char**) 0, - &err); + &err); } String *val_str(String*); my_decimal *val_decimal(my_decimal *); @@ -2362,7 +2362,7 @@ { return Item_field::save_in_field(field_arg, no_conversions); } - /* + /* We use RAND_TABLE_BIT to prevent Item_insert_value from being treated as a constant and precalculated before execution */ @@ -2478,14 +2478,14 @@ Item *example; table_map used_table_map; /* - Field that this object will get value from. This is set/used by - index-based subquery engines to detect and remove the equality injected + Field that this object will get value from. This is set/used by + index-based subquery engines to detect and remove the equality injected by IN->EXISTS transformation. For all other uses of Item_cache, cached_field doesn't matter. - */ + */ Field *cached_field; public: - Item_cache(): example(0), used_table_map(0), cached_field(0) + Item_cache(): example(0), used_table_map(0), cached_field(0) { fixed= 1; null_value= 1; } @@ -2510,8 +2510,8 @@ table_map used_tables() const { return used_table_map; } virtual void keep_array() {} void print(String *str); - bool eq_def(Field *field) - { + bool eq_def(Field *field) + { return cached_field ? cached_field->eq_def (field) : FALSE; } bool eq(const Item *item, bool binary_cmp) const @@ -2575,7 +2575,7 @@ char buffer[STRING_BUFFER_USUAL_SIZE]; String *value, value_buff; bool is_varbinary; - + public: Item_cache_str(const Item *item) : Item_cache(), value(0), @@ -2602,9 +2602,9 @@ public: Item_cache_row() :Item_cache(), values(0), item_count(2), save_array(0) {} - + /* - 'allocate' used only in row transformer, to preallocate space for row + 'allocate' used only in row transformer, to preallocate space for row cache. */ bool allocate(uint num); @@ -2641,7 +2641,7 @@ }; enum Item_result result_type() const { return ROW_RESULT; } - + uint cols() { return item_count; } Item *element_index(uint i) { return values[i]; } Item **addr(uint i) { return (Item **) (values + i); } diff -uNr mysql-5.0.76-old/sql/item_sum.h mysql-5.0.76/sql/item_sum.h --- mysql-5.0.76-old/sql/item_sum.h 2009-01-15 16:48:14.000000000 -0100 +++ mysql-5.0.76/sql/item_sum.h 2009-03-15 23:29:17.000000000 -0100 @@ -30,13 +30,13 @@ GENERAL NOTES A set function cannot be used in certain positions where expressions are - accepted. There are some quite explicable restrictions for the usage of + accepted. There are some quite explicable restrictions for the usage of set functions. In the query: SELECT AVG(b) FROM t1 WHERE SUM(b) > 20 GROUP by a the usage of the set function AVG(b) is legal, while the usage of SUM(b) - is illegal. A WHERE condition must contain expressions that can be + is illegal. A WHERE condition must contain expressions that can be evaluated for each row of the table. Yet the expression SUM(b) can be evaluated only for each group of rows with the same value of column a. In the query: @@ -61,19 +61,19 @@ The problem of finding the query where to aggregate a particular set function is not so simple as it seems to be. - In the query: + In the query: SELECT t1.a FROM t1 GROUP BY t1.a HAVING t1.a > ALL(SELECT t2.c FROM t2 GROUP BY t2.c HAVING SUM(t1.a) < t2.c) the set function can be evaluated for both outer and inner selects. If we evaluate SUM(t1.a) for the outer query then we get the value of t1.a - multiplied by the cardinality of a group in table t1. In this case + multiplied by the cardinality of a group in table t1. In this case in each correlated subquery SUM(t1.a) is used as a constant. But we also can evaluate SUM(t1.a) for the inner query. In this case t1.a will be a constant for each correlated subquery and summation is performed for each group of table t2. (Here it makes sense to remind that the query - SELECT c FROM t GROUP BY a HAVING SUM(1) < a + SELECT c FROM t GROUP BY a HAVING SUM(1) < a is quite legal in our SQL). So depending on what query we assign the set function to we @@ -115,7 +115,7 @@ 3. SELECT t1.a FROM t1 GROUP BY t1.a HAVING t1.a > ALL(SELECT t2.b FROM t2 - WHERE t2.b > ALL (SELECT t3.c FROM t3 + WHERE t2.b > ALL (SELECT t3.c FROM t3 WHERE SUM(t1.a+t2.b) < t3.c)) In this query evaluation of SUM(t1.a+t2.b) is not legal neither in the second nor in the third subqueries. So this query is invalid. @@ -144,7 +144,7 @@ SELECT t2.c FROM t2 GROUP BY t2.c HAVING AVG(t2.c+s) than returns some result set. - By the same reason the following query with a subquery + By the same reason the following query with a subquery SELECT t1.a FROM t1 GROUP BY t1.a HAVING t1.a IN (SELECT t2.c FROM t2 GROUP BY t2.c HAVING AVG(SUM(t1.b)) > 20) @@ -210,12 +210,12 @@ Exploiting the fact that the members mentioned above are used in one recursive function we could have allocated them on the thread stack. Yet we don't do it now. - + We assume that the nesting level of subquries does not exceed 127. TODO: to catch queries where the limit is exceeded to make the - code clean here. - -*/ + code clean here. + +*/ class st_select_lex; @@ -230,8 +230,8 @@ Item **ref_by; /* pointer to a ref to the object used to register it */ Item_sum *next; /* next in the circular chain of registered objects */ - Item_sum *in_sum_func; /* embedding set function if any */ - st_select_lex * aggr_sel; /* select where the function is aggregated */ + Item_sum *in_sum_func; /* embedding set function if any */ + st_select_lex * aggr_sel; /* select where the function is aggregated */ int8 nest_level; /* number of the nesting level of the set function */ int8 aggr_level; /* nesting level of the aggregating subquery */ int8 max_arg_level; /* max level of unbound column references */ @@ -245,19 +245,19 @@ */ List outer_fields; -protected: +protected: uint arg_count; Item **args, *tmp_args[2]; - /* + /* Copy of the arguments list to hold the original set of arguments. - Used in EXPLAIN EXTENDED instead of the current argument list because + Used in EXPLAIN EXTENDED instead of the current argument list because the current argument list can be altered by usage of temporary tables. */ Item **orig_args, *tmp_orig_args[2]; table_map used_tables_cache; bool forced_const; -public: +public: void mark_as_sum_func(); Item_sum() :quick_group(1), arg_count(0), forced_const(FALSE) @@ -343,16 +343,16 @@ { return new Item_field(field); } table_map used_tables() const { return used_tables_cache; } void update_used_tables (); - void cleanup() - { + void cleanup() + { Item::cleanup(); - forced_const= FALSE; + forced_const= FALSE; } bool is_null() { return null_value; } - void make_const () - { - used_tables_cache= 0; - forced_const= TRUE; + void make_const () + { + used_tables_cache= 0; + forced_const= TRUE; } virtual bool const_item() const { return forced_const; } void make_field(Send_field *field); @@ -378,7 +378,7 @@ bool init_sum_func_check(THD *thd); bool check_sum_func(THD *thd, Item **ref); bool register_sum_func(THD *thd, Item **ref); - st_select_lex *depended_from() + st_select_lex *depended_from() { return (nest_level == aggr_level ? 0 : aggr_sel); } Item *get_arg(int i) { return args[i]; } @@ -391,20 +391,20 @@ { protected: /* - val_xxx() functions may be called several times during the execution of a + val_xxx() functions may be called several times during the execution of a query. Derived classes that require extensive calculation in val_xxx() - maintain cache of aggregate value. This variable governs the validity of + maintain cache of aggregate value. This variable governs the validity of that cache. */ bool is_evaluated; public: Item_sum_num() :Item_sum(),is_evaluated(FALSE) {} - Item_sum_num(Item *item_par) + Item_sum_num(Item *item_par) :Item_sum(item_par), is_evaluated(FALSE) {} Item_sum_num(Item *a, Item* b) :Item_sum(a,b),is_evaluated(FALSE) {} - Item_sum_num(List &list) + Item_sum_num(List &list) :Item_sum(list), is_evaluated(FALSE) {} - Item_sum_num(THD *thd, Item_sum_num *item) + Item_sum_num(THD *thd, Item_sum_num *item) :Item_sum(thd, item),is_evaluated(item->is_evaluated) {} bool fix_fields(THD *, Item **); longlong val_int() @@ -559,8 +559,8 @@ void clear(); void no_rows_in_result() { count=0; } bool add(); - void make_const(longlong count_arg) - { + void make_const(longlong count_arg) + { count=count_arg; Item_sum::make_const(); } @@ -594,7 +594,7 @@ */ longlong count; /* - Following is 0 normal object and pointer to original one for copy + Following is 0 normal object and pointer to original one for copy (to correctly free resources) */ Item_sum_count_distinct *original; @@ -617,7 +617,7 @@ :Item_sum_int(thd, item), table(item->table), field_lengths(item->field_lengths), tmp_table_param(item->tmp_table_param), - force_copy_fields(0), tree(item->tree), count(item->count), + force_copy_fields(0), tree(item->tree), count(item->count), original(item), tree_key_length(item->tree_key_length), always_null(item->always_null) {} @@ -740,15 +740,15 @@ = sum (ai - avg(a))^2 / count(a) ) = sum (ai^2 - 2*ai*avg(a) + avg(a)^2) / count(a) - = (sum(ai^2) - sum(2*ai*avg(a)) + sum(avg(a)^2))/count(a) = - = (sum(ai^2) - 2*avg(a)*sum(a) + count(a)*avg(a)^2)/count(a) = - = (sum(ai^2) - 2*sum(a)*sum(a)/count(a) + count(a)*sum(a)^2/count(a)^2 )/count(a) = - = (sum(ai^2) - 2*sum(a)^2/count(a) + sum(a)^2/count(a) )/count(a) = + = (sum(ai^2) - sum(2*ai*avg(a)) + sum(avg(a)^2))/count(a) = + = (sum(ai^2) - 2*avg(a)*sum(a) + count(a)*avg(a)^2)/count(a) = + = (sum(ai^2) - 2*sum(a)*sum(a)/count(a) + count(a)*sum(a)^2/count(a)^2 )/count(a) = + = (sum(ai^2) - 2*sum(a)^2/count(a) + sum(a)^2/count(a) )/count(a) = = (sum(ai^2) - sum(a)^2/count(a))/count(a) But, this falls prey to catastrophic cancellation. Instead, use the recurrence formulas - M_{1} = x_{1}, ~ M_{k} = M_{k-1} + (x_{k} - M_{k-1}) / k newline + M_{1} = x_{1}, ~ M_{k} = M_{k-1} + (x_{k} - M_{k-1}) / k newline S_{1} = 0, ~ S_{k} = S_{k-1} + (x_{k} - M_{k-1}) times (x_{k} - M_{k}) newline for 2 <= k <= n newline ital variance = S_{n} / (n-1) @@ -1118,7 +1118,7 @@ enum Sumfunctype sum_func () const { return UDF_SUM_FUNC; } double val_real() { DBUG_ASSERT(fixed == 1); return 0.0; } void clear() {} - bool add() { return 0; } + bool add() { return 0; } void update_field() {} }; @@ -1135,7 +1135,7 @@ longlong val_int() { DBUG_ASSERT(fixed == 1); return 0; } double val_real() { DBUG_ASSERT(fixed == 1); return 0; } void clear() {} - bool add() { return 0; } + bool add() { return 0; } void update_field() {} }; @@ -1175,7 +1175,7 @@ void fix_length_and_dec() { maybe_null=1; max_length=0; } enum Sumfunctype sum_func () const { return UDF_SUM_FUNC; } void clear() {} - bool add() { return 0; } + bool add() { return 0; } void update_field() {} }; @@ -1194,7 +1194,7 @@ /** If DISTINCT is used with this GROUP_CONCAT, this member is used to filter - out duplicates. + out duplicates. @see Item_func_group_concat::setup @see Item_func_group_concat::add @see Item_func_group_concat::clear diff -uNr mysql-5.0.76-old/sql/Makefile.am mysql-5.0.76/sql/Makefile.am --- mysql-5.0.76-old/sql/Makefile.am 2009-01-15 16:48:09.000000000 -0100 +++ mysql-5.0.76/sql/Makefile.am 2009-03-16 01:24:26.000000000 -0100 @@ -22,25 +22,24 @@ @bdb_includes@ @innodb_includes@ @ndbcluster_includes@ \ -I$(top_builddir)/include -I$(top_srcdir)/include \ -I$(top_srcdir)/regex -I$(srcdir) \ - $(openssl_includes) + $(openssl_includes) WRAPLIBS= @WRAPLIBS@ SUBDIRS = share libexec_PROGRAMS = mysqld EXTRA_PROGRAMS = gen_lex_hash bin_PROGRAMS = mysql_tzinfo_to_sql gen_lex_hash_LDFLAGS = @NOINST_LDFLAGS@ -LDADD = $(top_builddir)/myisam/libmyisam.a \ - $(top_builddir)/myisammrg/libmyisammrg.a \ - $(top_builddir)/heap/libheap.a \ - $(top_builddir)/vio/libvio.a \ - $(top_builddir)/mysys/libmysys.a \ - $(top_builddir)/dbug/libdbug.a \ - $(top_builddir)/regex/libregex.a \ - $(top_builddir)/strings/libmystrings.a @ZLIB_LIBS@ @NDB_SCI_LIBS@ +LDADD = $(top_builddir)/myisam/libmyisam.la \ + $(top_builddir)/myisammrg/libmyisammrg.la \ + $(top_builddir)/heap/libheap.la \ + $(top_builddir)/vio/libvio.la \ + $(top_builddir)/mysys/libmysys.la \ + $(top_builddir)/regex/libregex.la \ + @ZLIB_LIBS@ @NDB_SCI_LIBS@ -mysqld_LDADD = @MYSQLD_EXTRA_LDFLAGS@ \ +mysqld_LDADD = @MYSQLD_EXTRA_LDFLAGS@ \ @bdb_libs@ @innodb_libs@ @pstack_libs@ \ - @innodb_system_libs@ \ + @innodb_system_libs@ \ @ndbcluster_libs@ @ndbcluster_system_libs@ \ $(LDADD) $(CXXLDFLAGS) $(WRAPLIBS) @LIBDL@ \ $(yassl_libs) $(openssl_libs) @MYSQLD_EXTRA_LIBS@ @@ -52,43 +51,35 @@ procedure.h sql_class.h sql_lex.h sql_list.h \ sql_manager.h sql_map.h sql_string.h unireg.h \ sql_error.h field.h handler.h mysqld_suffix.h \ - ha_myisammrg.h\ - ha_heap.h ha_myisam.h ha_berkeley.h ha_innodb.h \ - ha_ndbcluster.h ha_ndbcluster_cond.h \ - opt_range.h protocol.h \ - sql_select.h structs.h table.h sql_udf.h hash_filo.h\ - lex.h lex_symbol.h sql_acl.h sql_crypt.h \ - log_event.h sql_repl.h slave.h \ - stacktrace.h sql_sort.h sql_cache.h set_var.h \ - spatial.h gstream.h client_settings.h tzfile.h \ - tztime.h my_decimal.h\ + ha_heap.h ha_berkeley.h ha_innodb.h \ + ha_ndbcluster.h ha_ndbcluster_cond.h opt_range.h \ + protocol.h sql_select.h structs.h table.h sql_udf.h \ + hash_filo.h lex.h lex_symbol.h sql_acl.h sql_crypt.h \ + log_event.h sql_repl.h slave.h stacktrace.h sql_sort.h \ + sql_cache.h set_var.h spatial.h gstream.h \ + client_settings.h tzfile.h tztime.h my_decimal.h\ sp_head.h sp_pcontext.h sp_rcontext.h sp.h sp_cache.h \ parse_file.h sql_view.h sql_trigger.h \ - sql_array.h sql_cursor.h \ - examples/ha_example.h ha_archive.h \ - examples/ha_tina.h ha_blackhole.h \ + sql_array.h sql_cursor.h examples/ha_example.h \ + ha_archive.h examples/ha_tina.h ha_blackhole.h \ ha_federated.h -mysqld_SOURCES = sql_lex.cc sql_handler.cc \ - item.cc item_sum.cc item_buff.cc item_func.cc \ - item_cmpfunc.cc item_strfunc.cc item_timefunc.cc \ - thr_malloc.cc item_create.cc item_subselect.cc \ - item_row.cc item_geofunc.cc \ - field.cc strfunc.cc key.cc sql_class.cc sql_list.cc \ - net_serv.cc protocol.cc sql_state.c \ - lock.cc my_lock.c \ - sql_string.cc sql_manager.cc sql_map.cc \ - mysqld.cc password.c hash_filo.cc hostname.cc \ - set_var.cc sql_parse.cc sql_yacc.yy \ - sql_base.cc table.cc sql_select.cc sql_insert.cc \ - sql_prepare.cc sql_error.cc sql_locale.cc \ - sql_update.cc sql_delete.cc uniques.cc sql_do.cc \ - procedure.cc item_uniq.cc sql_test.cc \ +mysqld_SOURCES = sql_lex.cc sql_handler.cc item.cc item_sum.cc \ + item_buff.cc item_func.cc item_cmpfunc.cc \ + item_strfunc.cc item_timefunc.cc thr_malloc.cc \ + item_create.cc item_subselect.cc item_row.cc \ + item_geofunc.cc field.cc strfunc.cc key.cc \ + sql_class.cc sql_list.cc net_serv.cc protocol.cc \ + sql_state.c lock.cc my_lock.c sql_string.cc \ + sql_manager.cc sql_map.cc mysqld.cc password.c \ + hash_filo.cc hostname.cc set_var.cc sql_parse.cc \ + sql_yacc.yy sql_base.cc table.cc sql_select.cc \ + sql_insert.cc sql_prepare.cc sql_error.cc \ + sql_locale.cc sql_update.cc sql_delete.cc uniques.cc \ + sql_do.cc procedure.cc item_uniq.cc sql_test.cc \ log.cc log_event.cc init.cc derror.cc sql_acl.cc \ - unireg.cc des_key_file.cc \ - discover.cc time.cc opt_range.cc opt_sum.cc \ - records.cc filesort.cc handler.cc \ - ha_heap.cc ha_myisam.cc ha_myisammrg.cc \ - ha_berkeley.cc ha_innodb.cc \ + unireg.cc des_key_file.cc discover.cc time.cc \ + opt_range.cc opt_sum.cc records.cc filesort.cc \ + handler.cc ha_heap.cc ha_berkeley.cc ha_innodb.cc \ ha_ndbcluster.cc ha_ndbcluster_cond.cc \ sql_db.cc sql_table.cc sql_rename.cc sql_crypt.cc \ sql_load.cc mf_iocache.cc field_conv.cc sql_show.cc \ @@ -96,14 +87,13 @@ slave.cc sql_repl.cc sql_union.cc sql_derived.cc \ client.c sql_client.cc mini_client_errors.c pack.c\ stacktrace.c repl_failsafe.h repl_failsafe.cc \ - sql_olap.cc sql_view.cc \ - gstream.cc spatial.cc sql_help.cc sql_cursor.cc \ - tztime.cc my_time.c my_user.c my_decimal.cc\ - sp_head.cc sp_pcontext.cc sp_rcontext.cc sp.cc \ - sp_cache.cc parse_file.cc sql_trigger.cc \ - examples/ha_example.cc ha_archive.cc \ - examples/ha_tina.cc ha_blackhole.cc \ - ha_federated.cc + sql_olap.cc sql_view.cc gstream.cc spatial.cc \ + sql_help.cc sql_cursor.cc tztime.cc my_time.c \ + my_user.c my_decimal.cc sp_head.cc sp_pcontext.cc \ + sp_rcontext.cc sp.cc sp_cache.cc parse_file.cc \ + sql_trigger.cc examples/ha_example.cc ha_archive.cc \ + examples/ha_tina.cc ha_blackhole.cc ha_federated.cc \ + ha_myisam.cc ha_myisammrg.cc gen_lex_hash_SOURCES = gen_lex_hash.cc gen_lex_hash_LDADD = $(LDADD) $(CXXLDFLAGS) diff -uNr mysql-5.0.76-old/sql/set_var.h mysql-5.0.76/sql/set_var.h --- mysql-5.0.76-old/sql/set_var.h 2009-01-15 16:48:16.000000000 -0100 +++ mysql-5.0.76/sql/set_var.h 2009-03-15 23:29:17.000000000 -0100 @@ -43,16 +43,16 @@ struct my_option *option_limits; /* Updated by by set_var_init() */ uint name_length; /* Updated by by set_var_init() */ const char *name; - + sys_after_update_func after_update; bool no_support_one_shot; /* - true if the value is in character_set_filesystem, + true if the value is in character_set_filesystem, false otherwise. - Note that we can't use a pointer to the charset as the system var is + Note that we can't use a pointer to the charset as the system var is instantiated in global scope and the charset pointers are initialized later. - */ + */ bool is_os_charset; sys_var(const char *name_arg, sys_after_update_func func= NULL) :name(name_arg), after_update(func) @@ -261,8 +261,8 @@ public: sys_var_const_os_str(const char *name_arg, const char *value_arg) :sys_var_const_str(name_arg, value_arg) - { - is_os_charset= TRUE; + { + is_os_charset= TRUE; } }; @@ -302,14 +302,14 @@ sys_var_const_os_str_ptr(const char *name_arg, char **value_arg) :sys_var_const_str_ptr(name_arg, value_arg) { - is_os_charset= TRUE; + is_os_charset= TRUE; } }; class sys_var_enum :public sys_var { - uint *value; + uint *value; TYPELIB *enum_names; public: sys_var_enum(const char *name_arg, uint *value_arg, @@ -515,7 +515,7 @@ public: ulonglong bit_flag; bool reverse; - sys_var_thd_bit(const char *name_arg, + sys_var_thd_bit(const char *name_arg, sys_check_func c_func, sys_update_func u_func, ulonglong bit, bool reverse_arg=0) :sys_var_thd(name_arg), check_func(c_func), update_func(u_func), @@ -674,7 +674,7 @@ { public: sys_var_character_set_results(const char *name_arg) : - sys_var_character_set(name_arg) + sys_var_character_set(name_arg) { nullable= 1; } void set_default(THD *thd, enum_var_type type); CHARSET_INFO **ci_ptr(THD *thd, enum_var_type type); @@ -807,7 +807,7 @@ sys_var_readonly(const char *name_arg, enum_var_type type, SHOW_TYPE show_type_arg, sys_value_ptr_func value_ptr_func_arg) - :sys_var(name_arg), var_type(type), + :sys_var(name_arg), var_type(type), show_type_value(show_type_arg), value_ptr_func(value_ptr_func_arg) {} bool update(THD *thd, set_var *var) { return 1; } @@ -840,7 +840,7 @@ { public: sys_var_thd_time_zone(const char *name_arg): - sys_var_thd(name_arg) + sys_var_thd(name_arg) { no_support_one_shot= 0; } @@ -889,7 +889,7 @@ { public: sys_var_thd_lc_time_names(const char *name_arg): - sys_var_thd(name_arg) + sys_var_thd(name_arg) { #if MYSQL_VERSION_ID < 50000 no_support_one_shot= 0; @@ -954,7 +954,7 @@ if (value_arg && value_arg->type() == Item::FIELD_ITEM) { Item_field *item= (Item_field*) value_arg; - if (!(value=new Item_string(item->field_name, + if (!(value=new Item_string(item->field_name, (uint) strlen(item->field_name), item->collation.collation))) value=value_arg; /* Give error message later */ diff -uNr mysql-5.0.76-old/sql/sql_list.h mysql-5.0.76/sql/sql_list.h --- mysql-5.0.76-old/sql/sql_list.h 2009-01-15 16:48:21.000000000 -0100 +++ mysql-5.0.76/sql/sql_list.h 2009-03-15 23:29:17.000000000 -0100 @@ -13,7 +13,6 @@ along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ - #ifdef USE_PRAGMA_INTERFACE #pragma interface /* gcc class implementation */ #endif @@ -252,7 +251,7 @@ check_list() name Name to print to trace file - RETURN + RETURN 1 The list is Ok. 0 List invariants are not met. */ @@ -267,7 +266,7 @@ { if (!node->info) { - DBUG_PRINT("list_invariants",("%s: error: NULL element in the list", + DBUG_PRINT("list_invariants",("%s: error: NULL element in the list", name)); return FALSE; } @@ -313,11 +312,11 @@ ls.elements= elm; } public: - base_list_iterator() + base_list_iterator() :list(0), el(0), prev(0), current(0) {} - base_list_iterator(base_list &list_par) + base_list_iterator(base_list &list_par) { init(list_par); } inline void init(base_list &list_par) @@ -556,7 +555,7 @@ public: I_List() :base_ilist() {} inline void empty() { base_ilist::empty(); } - inline bool is_empty() { return base_ilist::is_empty(); } + inline bool is_empty() { return base_ilist::is_empty(); } inline void append(T* a) { base_ilist::append(a); } inline void push_back(T* a) { base_ilist::push_back(a); } inline T* get() { return (T*) base_ilist::get(); } diff -uNr mysql-5.0.76-old/strings/Makefile.am mysql-5.0.76/strings/Makefile.am --- mysql-5.0.76-old/strings/Makefile.am 2009-01-15 16:48:34.000000000 -0100 +++ mysql-5.0.76/strings/Makefile.am 2009-03-15 23:29:17.000000000 -0100 @@ -16,7 +16,7 @@ # This file is public domain and comes with NO WARRANTY of any kind INCLUDES = -I$(top_builddir)/include -I$(top_srcdir)/include -pkglib_LIBRARIES = libmystrings.a +noinst_LTLIBRARIES = libmystrings.la # Exact one of ASSEMBLER_X if ASSEMBLER_x86 @@ -37,7 +37,7 @@ endif endif -libmystrings_a_SOURCES = $(ASRCS) $(CSRCS) +libmystrings_la_SOURCES = $(ASRCS) $(CSRCS) noinst_PROGRAMS = conf_to_src # Default charset definitions EXTRA_DIST = ctype-big5.c ctype-cp932.c ctype-czech.c ctype-eucjpms.c ctype-euc_kr.c ctype-win1250ch.c \ @@ -54,25 +54,25 @@ strnmov-sparc.s strstr-sparc.s strxmov-sparc.s \ t_ctype.h CMakeLists.txt -libmystrings_a_LIBADD= -conf_to_src_SOURCES = conf_to_src.c xml.c ctype.c bcmp.c -conf_to_src_LDADD= +libmystrings_la_LIBADD= +conf_to_src_SOURCES = conf_to_src.c +conf_to_src_LDADD = libmystrings.la #force static linking of conf_to_src - essential when linking against #custom installation of libc -conf_to_src_LDFLAGS= @NOINST_LDFLAGS@ +#conf_to_src_LDFLAGS= @NOINST_LDFLAGS@ # This is because the dependency tracking misses @FOO@ vars in sources. #strtoull.o: @CHARSET_OBJS@ -FLAGS=$(DEFS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS) @NOINST_LDFLAGS@ +FLAGS=$(DEFS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS) -str_test: str_test.c $(pkglib_LIBRARIES) - $(LINK) $(FLAGS) -DMAIN $(INCLUDES) $(srcdir)/str_test.c $(LDADD) $(pkglib_LIBRARIES) +str_test: str_test.c $(pkglib_LTLIBRARIES) + $(LINK) $(FLAGS) -DMAIN $(INCLUDES) $(srcdir)/str_test.c $(LDADD) $(pkglib_LTLIBRARIES) -test_decimal$(EXEEXT): decimal.c $(pkglib_LIBRARIES) +test_decimal$(EXEEXT): decimal.c $(pkglib_LTLIBRARIES) $(CP) $(srcdir)/decimal.c ./test_decimal.c - $(LINK) $(FLAGS) -DMAIN ./test_decimal.c $(LDADD) $(pkglib_LIBRARIES) + $(LINK) $(FLAGS) -DMAIN ./test_decimal.c $(LDADD) $(pkglib_LTLIBRARIES) $(RM) -f ./test_decimal.c # Don't update the files from bitkeeper diff -uNr mysql-5.0.76-old/tests/Makefile.am mysql-5.0.76/tests/Makefile.am --- mysql-5.0.76-old/tests/Makefile.am 2009-01-15 16:48:39.000000000 -0100 +++ mysql-5.0.76/tests/Makefile.am 2009-03-15 23:29:17.000000000 -0100 @@ -42,11 +42,11 @@ insert_test_SOURCES= insert_test.c select_test_SOURCES= select_test.c -insert_test_DEPENDENCIES= $(LIBRARIES) $(pkglib_LTLIBRARIES) -select_test_DEPENDENCIES= $(LIBRARIES) $(pkglib_LTLIBRARIES) +insert_test_DEPENDENCIES= $(LTLIBRARIES) $(pkglib_LTLIBRARIES) +select_test_DEPENDENCIES= $(LTLIBRARIES) $(pkglib_LTLIBRARIES) bug25714_SOURCES= bug25714.c -bug25714_DEPENDENCIES= $(LIBRARIES) $(pkglib_LTLIBRARIES) +bug25714_DEPENDENCIES= $(LTLIBRARIES) $(pkglib_LTLIBRARIES) # Fix for mit-threads DEFS = -DUNDEF_THREADS_HACK diff -uNr mysql-5.0.76-old/tools/Makefile.am mysql-5.0.76/tools/Makefile.am --- mysql-5.0.76-old/tools/Makefile.am 2009-01-15 16:48:40.000000000 -0100 +++ mysql-5.0.76/tools/Makefile.am 2009-03-15 23:29:17.000000000 -0100 @@ -23,7 +23,7 @@ bin_PROGRAMS= mysqltestmanager mysqltestmanager_SOURCES= mysqlmanager.c -mysqltestmanager_DEPENDENCIES= $(LIBRARIES) $(pkglib_LTLIBRARIES) +mysqltestmanager_DEPENDENCIES= $(LTLIBRARIES) $(pkglib_LTLIBRARIES) DEF= -DUNDEF_THREADS_HACK # Don't update the files from bitkeeper diff -uNr mysql-5.0.76-old/vio/Makefile.am mysql-5.0.76/vio/Makefile.am --- mysql-5.0.76-old/vio/Makefile.am 2009-01-15 16:48:40.000000000 -0100 +++ mysql-5.0.76/vio/Makefile.am 2009-03-15 23:29:17.000000000 -0100 @@ -16,11 +16,11 @@ INCLUDES = -I$(top_builddir)/include -I$(top_srcdir)/include \ $(openssl_includes) LDADD = @CLIENT_EXTRA_LDFLAGS@ $(openssl_libs) $(yassl_libs) -pkglib_LIBRARIES = libvio.a +pkglib_LTLIBRARIES = libvio.la noinst_HEADERS = vio_priv.h -libvio_a_SOURCES = vio.c viosocket.c viossl.c viosslfactories.c +libvio_la_SOURCES = vio.c viosocket.c viossl.c viosslfactories.c EXTRA_DIST= CMakeLists.txt