2017-01-01 14:50:51 +08:00
|
|
|
dnl Copyright (C) 2012-2017 Free Software Foundation, Inc.
|
On mainline/development, also link GDBserver with -lmcheck.
This factors --enable-libmcheck related bits from GDB's configure.ac
and makes GDBserver use them too. Specifically, the 'development'
global is moved to a separate script to it can be sourced by both GDB
and GDBserver, and the --enable-libmcheck/--disable-libmcheck bits
proper are moved to a new m4 file.
I started out by defining 'development' in the m4 file, but in the end
decided against it, as a separate script has the advantage that
changing it in release branches does not require regenerating
configure, unlike today.
I had also started out by making the new GDB_AC_LIBMCHECK itself
handle the yes/no default fallback depending on release/developement,
but since I had split out 'development' to a separate script, and, GDB
needs the python checks anyway (hence we'd need to do the python
checks in gdb's configure.ac, and pass in a 'default lmcheck yes/no'
parameter to GDB_AC_LIBMCHECK anyway), I ended up keeping
GDB_AC_LIBMCHECK isolated from the 'development' global. IOW, it's
the caller's business to handle it.
Tested on x86_64 Fedora 17. Built GDB and GDBserver with and without
--enable-libmcheck, and observed --enable-libmcheck overrides the
disablement of -lmcheck caused by python supporting threads, and that
GDBserver links with -lmcheck when expected. Also observed that
changing the 'development' global, and issuing "make" triggers a
relink, and '-lmcheck' is included or not from the link accordingly.
gdb/
2013-07-03 Pedro Alves <palves@redhat.com>
* Makefile.in (config.status): Depend on development.sh.
(aclocal_m4_deps): Add libmcheck.m4.
* acinclude.m4: Include libmcheck.m4.
* configure.ac: Source development.sh instead of setting
'development' here. --enable-libmcheck/--disable-libmcheck code
factored out to GDB_AC_LIBMCHECK. Run it.
* development.sh: New file.
* libmcheck.m4: New file.
* configure: Regenerate.
gdb/gdbserver/
2013-07-03 Pedro Alves <palves@redhat.com>
* Makefile.in (config.status): Depend on development.sh.
* acinclude.m4: Include libmcheck.m4.
* configure: Regenerate.
2013-07-03 21:25:46 +08:00
|
|
|
dnl
|
|
|
|
dnl This file is part of GDB.
|
|
|
|
dnl
|
|
|
|
dnl This program is free software; you can redistribute it and/or modify
|
|
|
|
dnl it under the terms of the GNU General Public License as published by
|
|
|
|
dnl the Free Software Foundation; either version 3 of the License, or
|
|
|
|
dnl (at your option) any later version.
|
|
|
|
dnl
|
|
|
|
dnl This program is distributed in the hope that it will be useful,
|
|
|
|
dnl but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
|
dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
|
|
dnl GNU General Public License for more details.
|
|
|
|
dnl
|
|
|
|
dnl You should have received a copy of the GNU General Public License
|
|
|
|
dnl along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
|
|
|
|
|
|
dnl GDB_AC_LIBMCHECK([DEFAULT])
|
|
|
|
dnl Provide an --enable-libmcheck/--disable-libmcheck set of options
|
|
|
|
dnl allowing a user to enable this option even when building releases,
|
|
|
|
dnl or to disable it when building a snapshot.
|
|
|
|
dnl DEFAULT (yes/no) is used as default if the user doesn't set
|
|
|
|
dnl the option explicitly.
|
|
|
|
|
|
|
|
AC_DEFUN([GDB_AC_LIBMCHECK],
|
|
|
|
[
|
|
|
|
AC_ARG_ENABLE(libmcheck,
|
|
|
|
AS_HELP_STRING([--enable-libmcheck],
|
|
|
|
[Try linking with -lmcheck if available]),
|
|
|
|
[case "${enableval}" in
|
|
|
|
yes | y) ENABLE_LIBMCHECK="yes" ;;
|
|
|
|
no | n) ENABLE_LIBMCHECK="no" ;;
|
|
|
|
*) AC_MSG_ERROR(bad value ${enableval} for --enable-libmcheck) ;;
|
|
|
|
esac])
|
|
|
|
|
|
|
|
if test -z "${ENABLE_LIBMCHECK}"; then
|
|
|
|
ENABLE_LIBMCHECK=[$1]
|
|
|
|
fi
|
|
|
|
|
|
|
|
if test "$ENABLE_LIBMCHECK" = "yes" ; then
|
|
|
|
AC_CHECK_LIB(mcheck, main)
|
|
|
|
fi
|
|
|
|
])
|