mirror of
https://github.com/MariaDB/server.git
synced 2025-10-27 05:56:07 +03:00
unnecessarily
The problem is that libmysqlclient.so is built with THREAD
undefined, while a client compiling against the same header
files will see THREAD as defined and definitions in
my_pthread.h will be included, possibly resulting in undefined
symbols that cannot be resolved with libmysqlclient.so.
The suggested solution is to require that clients wanting to
link with libmysqlclient.so should be built with
MYSQL_CLIENT_NO_THREADS defined. This requires a documentation
change, and more details for this will be supplied if this
patch is approved.
The MYSQL_CLIENT_NO_THREADS define was renamed from
UNDEF_THREADS_HACK, to get a more suitable (less suspicious)
name for the define. (The UNDEF_THREADS_HACK is retained for
backwards compatibility, though.)
This patch is also in anticipation of WL#4958, which will
remove this problem altogether by dropping the building of
libmysqlclient.
66 lines
2.1 KiB
Makefile
66 lines
2.1 KiB
Makefile
# Copyright (C) 2000-2006 MySQL AB
|
|
#
|
|
# This library is free software; you can redistribute it and/or
|
|
# modify it under the terms of the GNU Library General Public
|
|
# License as published by the Free Software Foundation; version 2
|
|
# of the License.
|
|
#
|
|
# This library 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
|
|
# Library General Public License for more details.
|
|
#
|
|
# You should have received a copy of the GNU Library General Public
|
|
# License along with this library; if not, write to the Free
|
|
# Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
|
|
# MA 02111-1307, USA
|
|
|
|
## Process this file with automake to create Makefile.in
|
|
|
|
|
|
if THREAD_SAFE_CLIENT
|
|
LIBMYSQLCLIENT_LA = $(top_builddir)/libmysql_r/libmysqlclient_r.la
|
|
else
|
|
LIBMYSQLCLIENT_LA = $(top_builddir)/libmysql/libmysqlclient.la
|
|
endif
|
|
|
|
EXTRA_DIST = auto_increment.res auto_increment.tst \
|
|
function.res function.tst lock_test.pl lock_test.res \
|
|
export.pl big_record.pl \
|
|
fork2_test.pl fork_big.pl \
|
|
insert_and_repair.pl \
|
|
grant.pl grant.res test_delayed_insert.pl \
|
|
pmail.pl mail_to_db.pl table_types.pl \
|
|
myisam-big-rows.tst \
|
|
CMakeLists.txt
|
|
|
|
bin_PROGRAMS = mysql_client_test
|
|
noinst_PROGRAMS = insert_test select_test thread_test bug25714
|
|
|
|
INCLUDES = -I$(top_builddir)/include -I$(top_srcdir)/include \
|
|
$(openssl_includes)
|
|
LIBS = @CLIENT_LIBS@
|
|
LDADD = @CLIENT_EXTRA_LDFLAGS@ \
|
|
$(LIBMYSQLCLIENT_LA)
|
|
|
|
mysql_client_test_LDADD= $(LDADD) $(CXXLDFLAGS)
|
|
mysql_client_test_SOURCES= mysql_client_test.c\
|
|
$(top_srcdir)/mysys/my_memmem.c
|
|
|
|
insert_test_SOURCES= insert_test.c
|
|
select_test_SOURCES= select_test.c
|
|
insert_test_DEPENDENCIES= $(LIBRARIES) $(pkglib_LTLIBRARIES)
|
|
select_test_DEPENDENCIES= $(LIBRARIES) $(pkglib_LTLIBRARIES)
|
|
|
|
bug25714_SOURCES= bug25714.c
|
|
bug25714_DEPENDENCIES= $(LIBRARIES) $(pkglib_LTLIBRARIES)
|
|
|
|
# Fix for mit-threads
|
|
DEFS = -DMYSQL_CLIENT_NO_THREADS
|
|
|
|
thread_test.o: thread_test.c
|
|
$(COMPILE) -c $(INCLUDES) $<
|
|
|
|
# Don't update the files from bitkeeper
|
|
%::SCCS/s.%
|