2006-12-31 01:02:27 +01:00
|
|
|
# Copyright (C) 2000-2006 MySQL AB
|
2000-07-31 21:29:14 +02:00
|
|
|
#
|
|
|
|
# This program is free software; you can redistribute it and/or modify
|
|
|
|
# it under the terms of the GNU General Public License as published by
|
2006-12-23 20:17:15 +01:00
|
|
|
# the Free Software Foundation; version 2 of the License.
|
2000-07-31 21:29:14 +02:00
|
|
|
#
|
|
|
|
# This program is distributed in the hope that it will be useful,
|
|
|
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
|
|
# GNU General Public License for more details.
|
|
|
|
#
|
|
|
|
# You should have received a copy of the GNU General Public License
|
|
|
|
# along with this program; if not, write to the Free Software
|
|
|
|
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
|
|
|
|
|
|
|
#called from the top level Makefile
|
|
|
|
|
|
|
|
MYSQLDATAdir = $(localstatedir)
|
|
|
|
MYSQLSHAREdir = $(pkgdatadir)
|
|
|
|
MYSQLBASEdir= $(prefix)
|
2005-11-06 13:13:06 +01:00
|
|
|
MYSQLLIBdir= $(pkglibdir)
|
2008-01-02 14:00:46 +01:00
|
|
|
pkgplugindir = $(pkglibdir)/plugin
|
2005-03-17 01:22:56 +01:00
|
|
|
INCLUDES = @ZLIB_INCLUDES@ \
|
2005-07-05 23:24:48 +02:00
|
|
|
-I$(top_builddir)/include -I$(top_srcdir)/include \
|
2007-04-03 18:39:11 +02:00
|
|
|
-I$(top_srcdir)/regex -I$(srcdir) $(openssl_includes)
|
2000-07-31 21:29:14 +02:00
|
|
|
WRAPLIBS= @WRAPLIBS@
|
|
|
|
SUBDIRS = share
|
|
|
|
libexec_PROGRAMS = mysqld
|
2007-02-15 15:44:56 +01:00
|
|
|
EXTRA_PROGRAMS = gen_lex_hash
|
2004-06-23 11:07:00 +02:00
|
|
|
bin_PROGRAMS = mysql_tzinfo_to_sql
|
2008-12-20 11:01:41 +01:00
|
|
|
DTRACEFILES = filesort.o \
|
2008-12-23 10:05:30 +01:00
|
|
|
.libs/libndb_la-ha_ndbcluster.o \
|
2008-12-20 11:01:41 +01:00
|
|
|
handler.o \
|
|
|
|
mysqld.o \
|
|
|
|
net_serv.o \
|
|
|
|
scheduler.o \
|
|
|
|
sp_head.o \
|
|
|
|
sql_cache.o \
|
|
|
|
sql_connect.o \
|
|
|
|
sql_cursor.o \
|
|
|
|
sql_delete.o \
|
2010-05-25 22:01:38 +02:00
|
|
|
sql_truncate.o \
|
2010-08-13 11:51:48 +02:00
|
|
|
sql_reload.o \
|
2008-12-20 11:01:41 +01:00
|
|
|
sql_insert.o \
|
2010-05-25 22:01:38 +02:00
|
|
|
datadict.o \
|
2008-12-20 11:01:41 +01:00
|
|
|
sql_parse.o \
|
|
|
|
sql_prepare.o \
|
|
|
|
sql_select.o \
|
|
|
|
sql_update.o
|
|
|
|
|
2009-02-26 17:24:17 +01:00
|
|
|
DTRACEFILES_DEPEND = filesort.o \
|
2009-02-27 12:04:17 +01:00
|
|
|
libndb_la-ha_ndbcluster.lo \
|
2009-02-26 17:24:17 +01:00
|
|
|
handler.o \
|
|
|
|
mysqld.o \
|
|
|
|
net_serv.o \
|
|
|
|
scheduler.o \
|
|
|
|
sp_head.o \
|
|
|
|
sql_cache.o \
|
|
|
|
sql_connect.o \
|
|
|
|
sql_cursor.o \
|
|
|
|
sql_delete.o \
|
2010-05-25 22:01:38 +02:00
|
|
|
sql_truncate.o \
|
2010-08-13 11:51:48 +02:00
|
|
|
sql_reload.o \
|
2009-02-26 17:24:17 +01:00
|
|
|
sql_insert.o \
|
2010-05-25 22:01:38 +02:00
|
|
|
datadict.o \
|
2009-02-26 17:24:17 +01:00
|
|
|
sql_parse.o \
|
|
|
|
sql_prepare.o \
|
|
|
|
sql_select.o \
|
|
|
|
sql_update.o
|
|
|
|
|
2007-06-22 17:58:27 +02:00
|
|
|
|
|
|
|
noinst_LTLIBRARIES= libndb.la \
|
|
|
|
udf_example.la
|
|
|
|
|
2007-04-04 12:42:52 +02:00
|
|
|
SUPPORTING_LIBS = $(top_builddir)/vio/libvio.a \
|
WL#1518, "make bundled zlib usable for unix builds":
required autotools macro written and deployed in all apropriate Makefile.ams.
Use cases checked:
- linux, standard location of zlib, no ndb
- linux, standard locatoin of zlib, with ndb
- linux, non-standard location of zlib, no ndb
- hpux11, use of bundled zlib, no ndb
The only non-checked case is non-standard location of zlib (or use of bundled
zlib) + ndb. I wasn't able to check it as ndb/ just won't compile on beasts
like AIX52 or HPUX11, where such a check is possible. It didn't compile
there before as these systems dont't have installed zlib, so nothing got broken ;)
2004-07-24 12:30:11 +02:00
|
|
|
$(top_builddir)/mysys/libmysys.a \
|
|
|
|
$(top_builddir)/dbug/libdbug.a \
|
|
|
|
$(top_builddir)/regex/libregex.a \
|
2006-11-02 20:26:54 +01:00
|
|
|
$(top_builddir)/strings/libmystrings.a
|
2007-06-29 21:52:43 +02:00
|
|
|
mysqld_DEPENDENCIES= @mysql_plugin_libs@ $(SUPPORTING_LIBS) libndb.la
|
2007-05-07 15:46:29 +02:00
|
|
|
LDADD = $(SUPPORTING_LIBS) @ZLIB_LIBS@ @NDB_SCI_LIBS@
|
2007-06-22 17:58:27 +02:00
|
|
|
mysqld_LDADD = libndb.la \
|
|
|
|
@MYSQLD_EXTRA_LDFLAGS@ \
|
2006-04-13 22:49:29 +02:00
|
|
|
@mysql_plugin_libs@ \
|
2005-10-18 15:43:59 +02:00
|
|
|
$(LDADD) $(CXXLDFLAGS) $(WRAPLIBS) @LIBDL@ \
|
2007-06-28 11:13:18 +02:00
|
|
|
$(yassl_libs) $(openssl_libs) @MYSQLD_EXTRA_LIBS@
|
2007-02-07 15:11:03 +01:00
|
|
|
|
2000-07-31 21:29:14 +02:00
|
|
|
noinst_HEADERS = item.h item_func.h item_sum.h item_cmpfunc.h \
|
Bug#22687 (Functions UNIQUE_USERS, GROUP_UNIQUE_USERS)
According to some internal communication, these two functions are place
holders for future enhancements. Because they use a variable number of
parameters, the implementation defined a reserved keyword for them in the
parser grammar.
Unfortunately, doing so creates a bug similar to Bug 21114 reported for the
function FORMAT.
In the 5.1 code base, due to improvements in the code implemented with bug
21114, having a reserved keyword for functions with a variable number of
arguments is not needed any more by the implementation.
As a result, this fix removes the place-holder implementation, and removes
the unnecessary reserved keywords. Should the functions UNIQUE_USERS and
GROUP_UNIQUE_USERS be finally implemented in a later release, the
implementation should sub class Create_native_func in sql/item_create.cc.
For example, see the class Create_func_concat.
2007-01-11 22:58:05 +01:00
|
|
|
item_strfunc.h item_timefunc.h \
|
2009-11-02 21:05:42 +01:00
|
|
|
item_xmlfunc.h sql_plugin_services.h \
|
2002-11-15 19:32:09 +01:00
|
|
|
item_create.h item_subselect.h item_row.h \
|
2010-03-31 16:05:33 +02:00
|
|
|
sql_priv.h item_geofunc.h sql_bitmap.h \
|
2000-07-31 21:29:14 +02:00
|
|
|
procedure.h sql_class.h sql_lex.h sql_list.h \
|
2010-07-23 22:14:35 +02:00
|
|
|
sql_string.h unireg.h \
|
2005-04-01 14:04:50 +02:00
|
|
|
sql_error.h field.h handler.h mysqld_suffix.h \
|
2010-03-31 16:05:33 +02:00
|
|
|
sql_profile.h mysqld.h sql_help.h frm_crypt.h \
|
2007-04-24 14:24:06 +02:00
|
|
|
ha_ndbcluster.h ha_ndbcluster_cond.h \
|
2007-04-24 17:42:16 +02:00
|
|
|
ha_ndbcluster_binlog.h ha_ndbcluster_tables.h \
|
2007-04-24 14:24:06 +02:00
|
|
|
ha_partition.h rpl_constants.h \
|
2009-09-29 17:38:40 +02:00
|
|
|
debug_sync.h \
|
2006-05-03 15:00:38 +02:00
|
|
|
opt_range.h protocol.h rpl_tblmap.h rpl_utility.h \
|
2010-03-31 16:05:33 +02:00
|
|
|
rpl_reporting.h sql_locale.h sql_parse.h \
|
2006-10-31 16:51:51 +01:00
|
|
|
log.h sql_show.h rpl_rli.h rpl_mi.h \
|
2006-04-29 18:33:34 +02:00
|
|
|
sql_select.h structs.h table.h sql_udf.h hash_filo.h \
|
2010-03-31 16:05:33 +02:00
|
|
|
lex.h lex_symbol.h sql_acl.h sql_crypt.h sql_base.h \
|
|
|
|
sql_table.h key.h lock.h thr_malloc.h strfunc.h \
|
|
|
|
sql_delete.h sql_insert.h sql_update.h sql_db.h \
|
|
|
|
sql_connect.h sql_rename.h sql_time.h sql_tablespace.h \
|
|
|
|
hostname.h sql_test.h records.h filesort.h \
|
|
|
|
sql_derived.h sql_load.h sql_handler.h init.h \
|
|
|
|
derror.h sql_union.h des_key_file.h sql_binlog.h \
|
|
|
|
discover.h sql_manager.h sql_do.h \
|
2007-04-13 14:55:28 +02:00
|
|
|
sql_repl.h slave.h rpl_filter.h rpl_injector.h \
|
2010-03-31 16:05:33 +02:00
|
|
|
log_event.h rpl_record.h sql_const.h \
|
2007-04-12 15:50:54 +02:00
|
|
|
log_event_old.h rpl_record_old.h \
|
2009-12-22 10:35:56 +01:00
|
|
|
sql_sort.h sql_cache.h set_var.h sys_vars_shared.h \
|
2004-06-18 08:11:31 +02:00
|
|
|
spatial.h gstream.h client_settings.h tzfile.h \
|
2009-12-22 10:35:56 +01:00
|
|
|
tztime.h my_decimal.h keycaches.h \
|
2004-05-11 22:23:49 +02:00
|
|
|
sp_head.h sp_pcontext.h sp_rcontext.h sp.h sp_cache.h \
|
2004-09-09 17:52:10 +02:00
|
|
|
parse_file.h sql_view.h sql_trigger.h \
|
2007-02-23 12:13:55 +01:00
|
|
|
sql_array.h sql_cursor.h events.h scheduler.h \
|
2006-07-13 16:24:55 +02:00
|
|
|
event_db_repository.h event_queue.h \
|
2008-05-09 09:43:02 +02:00
|
|
|
sql_plugin.h authors.h event_parse_data.h \
|
2007-02-23 12:13:55 +01:00
|
|
|
event_data_objects.h event_scheduler.h \
|
|
|
|
sql_partition.h partition_info.h partition_element.h \
|
2010-08-16 16:25:23 +02:00
|
|
|
sql_audit.h sql_alter.h sql_partition_admin.h \
|
Backport of revno 2630.28.10, 2630.28.31, 2630.28.26, 2630.33.1,
2630.39.1, 2630.28.29, 2630.34.3, 2630.34.2, 2630.34.1, 2630.29.29,
2630.29.28, 2630.31.1, 2630.28.13, 2630.28.10, 2617.23.14 and
some other minor revisions.
This patch implements:
WL#4264 "Backup: Stabilize Service Interface" -- all the
server prerequisites except si_objects.{h,cc} themselves (they can
be just copied over, when needed).
WL#4435: Support OUT-parameters in prepared statements.
(and all issues in the initial patches for these two
tasks, that were discovered in pushbuild and during testing).
Bug#39519: mysql_stmt_close() should flush all data
associated with the statement.
After execution of a prepared statement, send OUT parameters of the invoked
stored procedure, if any, to the client.
When using the binary protocol, send the parameters in an additional result
set over the wire. When using the text protocol, assign out parameters to
the user variables from the CALL(@var1, @var2, ...) specification.
The following refactoring has been made:
- Protocol::send_fields() was renamed to Protocol::send_result_set_metadata();
- A new Protocol::send_result_set_row() was introduced to incapsulate
common functionality for sending row data.
- Signature of Protocol::prepare_for_send() was changed: this operation
does not need a list of items, the number of items is fully sufficient.
The following backward incompatible changes have been made:
- CLIENT_MULTI_RESULTS is now enabled by default in the client;
- CLIENT_PS_MULTI_RESUTLS is now enabled by default in the client.
2009-10-21 22:02:06 +02:00
|
|
|
contributors.h sql_servers.h sql_signal.h records.h \
|
2009-11-30 16:55:03 +01:00
|
|
|
sql_prepare.h rpl_handler.h replication.h mdl.h \
|
2010-05-25 22:01:38 +02:00
|
|
|
sql_plist.h transaction.h sys_vars.h sql_truncate.h \
|
2010-08-18 13:29:04 +02:00
|
|
|
sql_admin.h sql_reload.h datadict.h
|
2007-04-04 12:42:52 +02:00
|
|
|
|
2005-11-07 16:25:06 +01:00
|
|
|
mysqld_SOURCES = sql_lex.cc sql_handler.cc sql_partition.cc \
|
2000-07-31 21:29:14 +02:00
|
|
|
item.cc item_sum.cc item_buff.cc item_func.cc \
|
|
|
|
item_cmpfunc.cc item_strfunc.cc item_timefunc.cc \
|
2002-11-15 19:32:09 +01:00
|
|
|
thr_malloc.cc item_create.cc item_subselect.cc \
|
2005-12-21 14:13:52 +01:00
|
|
|
item_row.cc item_geofunc.cc item_xmlfunc.cc \
|
2003-11-03 13:01:59 +01:00
|
|
|
field.cc strfunc.cc key.cc sql_class.cc sql_list.cc \
|
2003-06-04 17:28:51 +02:00
|
|
|
net_serv.cc protocol.cc sql_state.c \
|
2010-07-23 22:14:35 +02:00
|
|
|
lock.cc sql_string.cc sql_manager.cc \
|
2009-12-11 15:51:39 +01:00
|
|
|
main.cc mysqld.cc password.c hash_filo.cc hostname.cc \
|
2007-02-23 12:13:55 +01:00
|
|
|
sql_connect.cc scheduler.cc sql_parse.cc \
|
2009-12-22 10:35:56 +01:00
|
|
|
keycaches.cc set_var.cc sql_yacc.yy sys_vars.cc \
|
2000-07-31 21:29:14 +02:00
|
|
|
sql_base.cc table.cc sql_select.cc sql_insert.cc \
|
2010-08-13 11:51:48 +02:00
|
|
|
sql_reload.cc datadict.cc sql_profile.cc \
|
2006-07-26 21:33:25 +02:00
|
|
|
sql_prepare.cc sql_error.cc sql_locale.cc \
|
2001-12-17 19:47:20 +01:00
|
|
|
sql_update.cc sql_delete.cc uniques.cc sql_do.cc \
|
2010-08-16 16:25:23 +02:00
|
|
|
procedure.cc sql_test.cc sql_admin.cc \
|
2010-08-16 14:53:30 +02:00
|
|
|
sql_truncate.cc \
|
2007-04-13 14:55:28 +02:00
|
|
|
log.cc init.cc derror.cc sql_acl.cc \
|
2001-12-10 10:02:26 +01:00
|
|
|
unireg.cc des_key_file.cc \
|
2007-04-13 14:55:28 +02:00
|
|
|
log_event.cc rpl_record.cc \
|
2007-04-12 15:50:54 +02:00
|
|
|
log_event_old.cc rpl_record_old.cc \
|
2010-03-31 16:05:33 +02:00
|
|
|
discover.cc sql_time.cc opt_range.cc opt_sum.cc \
|
2000-07-31 21:29:14 +02:00
|
|
|
records.cc filesort.cc handler.cc \
|
2007-06-22 17:58:27 +02:00
|
|
|
ha_partition.cc \
|
2009-09-29 17:38:40 +02:00
|
|
|
debug_sync.cc \
|
2000-08-21 02:00:52 +02:00
|
|
|
sql_db.cc sql_table.cc sql_rename.cc sql_crypt.cc \
|
2000-07-31 21:29:14 +02:00
|
|
|
sql_load.cc mf_iocache.cc field_conv.cc sql_show.cc \
|
|
|
|
sql_udf.cc sql_analyse.cc sql_analyse.h sql_cache.cc \
|
2005-12-22 06:39:02 +01:00
|
|
|
slave.cc sql_repl.cc rpl_filter.cc rpl_tblmap.cc \
|
2006-10-31 16:51:51 +01:00
|
|
|
rpl_utility.cc rpl_injector.cc rpl_rli.cc rpl_mi.cc \
|
2007-06-09 07:19:37 +02:00
|
|
|
rpl_reporting.cc \
|
2005-03-21 22:09:42 +01:00
|
|
|
sql_union.cc sql_derived.cc \
|
2007-09-26 18:47:55 +02:00
|
|
|
sql_client.cc \
|
2010-07-23 22:14:35 +02:00
|
|
|
repl_failsafe.h repl_failsafe.cc sql_view.cc \
|
2005-09-22 00:11:21 +02:00
|
|
|
gstream.cc spatial.cc sql_help.cc sql_cursor.cc \
|
2007-09-26 18:47:55 +02:00
|
|
|
tztime.cc my_decimal.cc\
|
2003-09-16 14:26:08 +02:00
|
|
|
sp_head.cc sp_pcontext.cc sp_rcontext.cc sp.cc \
|
2004-09-09 17:52:10 +02:00
|
|
|
sp_cache.cc parse_file.cc sql_trigger.cc \
|
2006-08-17 14:22:59 +02:00
|
|
|
event_scheduler.cc event_data_objects.cc \
|
|
|
|
event_queue.cc event_db_repository.cc events.cc \
|
2005-12-22 06:39:02 +01:00
|
|
|
sql_plugin.cc sql_binlog.cc \
|
2006-12-02 01:47:45 +01:00
|
|
|
sql_builtin.cc sql_tablespace.cc partition_info.cc \
|
2009-10-23 00:30:28 +02:00
|
|
|
sql_servers.cc event_parse_data.cc sql_signal.cc \
|
Backport of:
ChangeSet@1.2703, 2007-12-07 09:35:28-05:00, cmiller@zippy.cornsilk.net +40 -0
Bug#13174: SHA2 function
Patch contributed from Bill Karwin, paper unnumbered CLA in Seattle
Implement SHA2 functions.
Chad added code to make it work with YaSSL. Also, he removed the
(probable) bug of embedded server never using SSL-dependent
functions. (libmysqld/Makefile.am didn't read ANY autoconf defs.)
Function specification:
SHA2( string cleartext, integer hash_length )
-> string hash, or NULL
where hash_length is one of 224, 256, 384, or 512. If either is
NULL or a length is unsupported, then the result is NULL. The
resulting string is always the length of the hash_length parameter
or is NULL.
Include the canonical hash examples from the NIST in the test
results.
---
Polish and address concerns of reviewers.
2010-04-13 17:04:45 +02:00
|
|
|
rpl_handler.cc mdl.cc transaction.cc sql_audit.cc \
|
2010-08-16 16:25:23 +02:00
|
|
|
sql_alter.cc sql_partition_admin.cc sha2.cc
|
2006-04-13 22:49:29 +02:00
|
|
|
|
2010-08-09 10:32:50 +02:00
|
|
|
nodist_mysqld_SOURCES = mini_client_errors.c pack.c client.c my_time.c my_user.c client_plugin.c
|
2007-09-26 18:47:55 +02:00
|
|
|
|
2007-06-22 17:58:27 +02:00
|
|
|
libndb_la_CPPFLAGS= @ndbcluster_includes@
|
|
|
|
libndb_la_SOURCES= ha_ndbcluster.cc \
|
|
|
|
ha_ndbcluster_binlog.cc \
|
|
|
|
ha_ndbcluster_cond.cc
|
|
|
|
|
2000-07-31 21:29:14 +02:00
|
|
|
gen_lex_hash_SOURCES = gen_lex_hash.cc
|
2007-04-04 12:42:52 +02:00
|
|
|
gen_lex_hash_LDFLAGS = @NOINST_LDFLAGS@
|
|
|
|
|
|
|
|
mysql_tzinfo_to_sql_SOURCES = tztime.cc
|
|
|
|
mysql_tzinfo_to_sql_CXXFLAGS= -DTZINFO2SQL
|
2000-07-31 21:29:14 +02:00
|
|
|
|
|
|
|
DEFS = -DMYSQL_SERVER \
|
2010-08-09 10:32:50 +02:00
|
|
|
-DDEFAULT_MYSQL_HOME='"$(MYSQLBASEdir)"' \
|
|
|
|
-DMYSQL_DATADIR='"$(MYSQLDATAdir)"' \
|
|
|
|
-DSHAREDIR='"$(MYSQLSHAREdir)"' \
|
|
|
|
-DPLUGINDIR='"$(pkgplugindir)"' \
|
2008-05-09 09:43:02 +02:00
|
|
|
-DHAVE_EVENT_SCHEDULER \
|
2000-07-31 21:29:14 +02:00
|
|
|
@DEFS@
|
2005-06-20 18:03:30 +02:00
|
|
|
|
Bug#21029 (Dependencies between sql_yacc.cc and dependent headers not detected)
The build scripts in general, using automake, autoconf, etc, contain several
special commands and work around all related to the way the bison code in the
parser is built, for sql/sql_yacc.yy. These work arounds, accumulated over
time during development, ultimately cause the build scripts to be unstable
and cause build defects by not enforcing dependencies.
This fix simplifies the build process and aligns it with the automake tooling,
which provides native support for bison and *.yy files.
In particular, the following problem have been fixed:
- dependencies with sql_yacc.cc were not honored (Bug 21029), leading to
corrupted builds,
- the work around introduced by Bug 24557, to cleanup the generated files
sql_yacc.h and sql_yacc.cc, has been removed,
- the generated makefile, in a source distribution, used to destroy the files
sql_yacc.h and sql_yacc.cc on a 'make clean' target. This has been fixed:
these files are now removed by make maintainer-clean.
- The root cause of the problem found with gcc 4.1 (see Bug 24619) has been
clearly documented, and the "sed" hack has been replaced by a cleaner
work around, when building the code with bison 1.875.
- Removed the file sql/sql_yacc.yy.bak, added by WL 3031 by accident.
- Removed the unnecessary AM_YFLAG= --debug introduced by WL 3432, since
the compiling option DBUG_OFF takes precedence when setting YYDEBUG.
2007-01-24 22:40:39 +01:00
|
|
|
BUILT_MAINT_SRC = sql_yacc.cc sql_yacc.h
|
2007-03-27 23:56:48 +02:00
|
|
|
BUILT_SOURCES = $(BUILT_MAINT_SRC) lex_hash.h link_sources
|
Bug#21029 (Dependencies between sql_yacc.cc and dependent headers not detected)
The build scripts in general, using automake, autoconf, etc, contain several
special commands and work around all related to the way the bison code in the
parser is built, for sql/sql_yacc.yy. These work arounds, accumulated over
time during development, ultimately cause the build scripts to be unstable
and cause build defects by not enforcing dependencies.
This fix simplifies the build process and aligns it with the automake tooling,
which provides native support for bison and *.yy files.
In particular, the following problem have been fixed:
- dependencies with sql_yacc.cc were not honored (Bug 21029), leading to
corrupted builds,
- the work around introduced by Bug 24557, to cleanup the generated files
sql_yacc.h and sql_yacc.cc, has been removed,
- the generated makefile, in a source distribution, used to destroy the files
sql_yacc.h and sql_yacc.cc on a 'make clean' target. This has been fixed:
these files are now removed by make maintainer-clean.
- The root cause of the problem found with gcc 4.1 (see Bug 24619) has been
clearly documented, and the "sed" hack has been replaced by a cleaner
work around, when building the code with bison 1.875.
- Removed the file sql/sql_yacc.yy.bak, added by WL 3031 by accident.
- Removed the unnecessary AM_YFLAG= --debug introduced by WL 3432, since
the compiling option DBUG_OFF takes precedence when setting YYDEBUG.
2007-01-24 22:40:39 +01:00
|
|
|
EXTRA_DIST = udf_example.c udf_example.def $(BUILT_MAINT_SRC) \
|
2008-10-23 17:59:22 +02:00
|
|
|
nt_servc.cc nt_servc.h \
|
|
|
|
message.mc message.h message.rc MSG00001.bin \
|
|
|
|
CMakeLists.txt
|
2006-08-18 01:08:51 +02:00
|
|
|
|
2007-03-27 23:56:48 +02:00
|
|
|
CLEANFILES = lex_hash.h sql_yacc.output link_sources
|
2007-02-19 12:25:25 +01:00
|
|
|
DISTCLEANFILES = $(EXTRA_PROGRAMS)
|
Bug#21029 (Dependencies between sql_yacc.cc and dependent headers not detected)
The build scripts in general, using automake, autoconf, etc, contain several
special commands and work around all related to the way the bison code in the
parser is built, for sql/sql_yacc.yy. These work arounds, accumulated over
time during development, ultimately cause the build scripts to be unstable
and cause build defects by not enforcing dependencies.
This fix simplifies the build process and aligns it with the automake tooling,
which provides native support for bison and *.yy files.
In particular, the following problem have been fixed:
- dependencies with sql_yacc.cc were not honored (Bug 21029), leading to
corrupted builds,
- the work around introduced by Bug 24557, to cleanup the generated files
sql_yacc.h and sql_yacc.cc, has been removed,
- the generated makefile, in a source distribution, used to destroy the files
sql_yacc.h and sql_yacc.cc on a 'make clean' target. This has been fixed:
these files are now removed by make maintainer-clean.
- The root cause of the problem found with gcc 4.1 (see Bug 24619) has been
clearly documented, and the "sed" hack has been replaced by a cleaner
work around, when building the code with bison 1.875.
- Removed the file sql/sql_yacc.yy.bak, added by WL 3031 by accident.
- Removed the unnecessary AM_YFLAG= --debug introduced by WL 3432, since
the compiling option DBUG_OFF takes precedence when setting YYDEBUG.
2007-01-24 22:40:39 +01:00
|
|
|
MAINTAINERCLEANFILES = $(BUILT_MAINT_SRC)
|
|
|
|
AM_YFLAGS = -d --verbose
|
2000-07-31 21:29:14 +02:00
|
|
|
|
2007-09-26 18:47:55 +02:00
|
|
|
# These are listed in 'nodist_mysqld_SOURCES'
|
2007-04-04 12:42:52 +02:00
|
|
|
link_sources:
|
2000-07-31 21:29:14 +02:00
|
|
|
rm -f mini_client_errors.c
|
2005-09-24 15:51:45 +02:00
|
|
|
@LN_CP_F@ $(top_srcdir)/libmysql/errmsg.c mini_client_errors.c
|
2003-04-23 16:37:33 +02:00
|
|
|
rm -f pack.c
|
2005-09-24 15:51:45 +02:00
|
|
|
@LN_CP_F@ $(top_srcdir)/sql-common/pack.c pack.c
|
2003-05-31 12:15:46 +02:00
|
|
|
rm -f client.c
|
2005-09-24 15:51:45 +02:00
|
|
|
@LN_CP_F@ $(top_srcdir)/sql-common/client.c client.c
|
2010-08-09 10:32:50 +02:00
|
|
|
rm -f client_plugin.c
|
|
|
|
@LN_CP_F@ $(top_srcdir)/sql-common/client_plugin.c client_plugin.c
|
2004-06-24 17:08:36 +02:00
|
|
|
rm -f my_time.c
|
2005-09-24 15:51:45 +02:00
|
|
|
@LN_CP_F@ $(top_srcdir)/sql-common/my_time.c my_time.c
|
2006-01-11 00:07:40 +01:00
|
|
|
rm -f my_user.c
|
|
|
|
@LN_CP_F@ $(top_srcdir)/sql-common/my_user.c my_user.c
|
2007-10-08 20:55:44 +02:00
|
|
|
echo timestamp > link_sources
|
2000-07-31 21:29:14 +02:00
|
|
|
|
2007-02-15 15:44:56 +01:00
|
|
|
# This generates lex_hash.h
|
|
|
|
# NOTE Built sources should depend on their sources not the tool
|
|
|
|
# this avoid the rebuild of the built files in a source dist
|
|
|
|
lex_hash.h: gen_lex_hash.cc lex.h
|
|
|
|
$(MAKE) $(AM_MAKEFLAGS) gen_lex_hash$(EXEEXT)
|
2007-02-07 09:46:20 +01:00
|
|
|
./gen_lex_hash$(EXEEXT) > $@-t
|
|
|
|
$(MV) $@-t $@
|
2000-07-31 21:29:14 +02:00
|
|
|
|
2006-03-10 10:41:04 +01:00
|
|
|
# For testing of udf_example.so
|
2006-07-29 04:41:50 +02:00
|
|
|
udf_example_la_SOURCES= udf_example.c
|
2006-03-10 10:41:04 +01:00
|
|
|
udf_example_la_LDFLAGS= -module -rpath $(pkglibdir)
|
|
|
|
|
2008-04-02 00:43:17 +02:00
|
|
|
# We might have some stuff not built in this build, but that we want to install
|
|
|
|
install-exec-hook:
|
|
|
|
$(mkinstalldirs) $(DESTDIR)$(libexecdir) $(DESTDIR)$(pkglibdir)
|
|
|
|
test ! -x mysqld-debug$(EXEEXT) || $(INSTALL_PROGRAM) mysqld-debug$(EXEEXT) $(DESTDIR)$(libexecdir)
|
|
|
|
test ! -f mysqld-debug.sym.gz || $(INSTALL_DATA) mysqld-debug.sym.gz $(DESTDIR)$(pkglibdir)
|
|
|
|
test ! -f mysqld.sym.gz || $(INSTALL_DATA) mysqld.sym.gz $(DESTDIR)$(pkglibdir)
|
2002-09-05 15:17:08 +02:00
|
|
|
|
2008-12-20 11:01:41 +01:00
|
|
|
if HAVE_DTRACE_DASH_G
|
2008-12-30 12:27:21 +01:00
|
|
|
libndb_la_LIBADD = probes_libndb.o
|
|
|
|
libndb_la_DEPENDENCIES = dtrace_files dtrace_providers probes_libndb.o
|
2008-12-20 11:01:41 +01:00
|
|
|
mysqld_LDADD += probes_all.o
|
2008-12-23 10:05:30 +01:00
|
|
|
mysqld_DEPENDENCIES += dtrace_files dtrace_providers probes_all.o
|
2008-12-20 11:01:41 +01:00
|
|
|
CLEANFILES += dtrace_files dtrace_providers probes_all.o
|
2009-02-21 22:13:02 +01:00
|
|
|
DTRACEPROVIDER = probes_mysql.d
|
2009-04-05 22:18:21 +02:00
|
|
|
CLEANFILES += $(DTRACEPROVIDER)
|
2008-12-20 11:01:41 +01:00
|
|
|
|
|
|
|
dtrace_files:
|
|
|
|
echo $(DTRACEFILES) > $@
|
2009-02-21 22:13:02 +01:00
|
|
|
dtrace_providers: probes_mysql.d
|
2008-12-20 11:01:41 +01:00
|
|
|
echo $(DTRACEPROVIDER) > $@
|
2009-02-21 21:32:46 +01:00
|
|
|
probes_mysql.d:
|
2009-02-20 23:11:09 +01:00
|
|
|
-$(RM) -f probes_mysql.d
|
2009-03-18 11:04:15 +01:00
|
|
|
$(CP) $(top_srcdir)/include/probes_mysql.d.base probes_mysql.d
|
2008-12-20 11:01:41 +01:00
|
|
|
|
|
|
|
DTRACEDIRS = . ../mysys $(patsubst %,$(top_builddir)/storage/%,@mysql_se_dirs@)
|
|
|
|
|
2009-02-26 17:24:17 +01:00
|
|
|
probes_all.o: probes_mysql.d $(DTRACEFILES_DEPEND)
|
2008-12-20 15:16:46 +01:00
|
|
|
providers=`(for i in $(DTRACEDIRS); do cat $$i/dtrace_providers 2>/dev/null; done) | tr " " "\n" | sort | uniq | sed -e '/^$$/d' -e 's/^/-s /'`; \
|
2008-12-23 10:05:30 +01:00
|
|
|
objects=`for i in $(DTRACEDIRS); do f=\`cat $$i/dtrace_files 2>/dev/null\`; for j in $$f; do test -f $$i/$$j && echo "$$i/$$j "; done; done`; \
|
2008-12-20 11:01:41 +01:00
|
|
|
$(DTRACE) $(DTRACEFLAGS) -G $$providers $$objects -o $@
|
2008-12-30 12:27:21 +01:00
|
|
|
|
2009-01-28 00:04:05 +01:00
|
|
|
# Can't depend directly on .libs/*.o, because there is no generated rule for
|
|
|
|
# that in the Makefile; it is a byproduct of *.lo
|
|
|
|
probes_libndb.o: probes_mysql.d libndb_la-ha_ndbcluster.lo
|
2009-03-06 16:13:11 +01:00
|
|
|
if test -f .libs/libndb_la-ha_ndbcluster.o ; then \
|
|
|
|
$(DTRACE) $(DTRACEFLAGS) -G -s probes_mysql.d .libs/libndb_la-ha_ndbcluster.o -o $@; \
|
|
|
|
fi; \
|
|
|
|
if test -f libndb_la-ha_ndbcluster.o ; then \
|
|
|
|
$(DTRACE) $(DTRACEFLAGS) -G -s probes_mysql.d libndb_la-ha_ndbcluster.o -o $@; \
|
|
|
|
fi
|
2009-03-06 13:22:25 +01:00
|
|
|
|
2008-12-20 11:01:41 +01:00
|
|
|
endif
|