mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2025-03-01 13:26:47 +08:00
I'm seeing this on F27 (a clean build from scratch): ~~~~~~~~~~~~~~~~~~~~~~~~~~~ make[3]: Entering directory '/home/pedro/brno/pedro/gdb/binutils-gdb/build/gdbsupport' CC gdb_tilde_expand.o In file included from /home/pedro/gdb/binutils-gdb/src/gdbsupport/../gnulib/import/libc-config.h:33:0, from ../gnulib/import/glob.h:544, from /home/pedro/gdb/binutils-gdb/src/gdbsupport/gdb_tilde_expand.c:22: ../bfd/config.h:7:4: error: #error config.h must be #included before system headers # error config.h must be #included before system headers ^~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~ libc-config.h, where it includes config.h, says: ~~~~~~~~~~~~~~~~~~~~~~~~~~~ /* This is intended to be a good-enough substitute for glibc system macros like those defined in <sys/cdefs.h>, so that Gnulib code shared with glibc can do this as the first #include: #ifndef _LIBC # include <libc-config.h> #endif When compiled as part of glibc this is a no-op; when compiled as part of Gnulib this includes Gnulib's <config.h> and defines macros that glibc library code would normally assume. */ #include <config.h> ~~~~~~~~~~~~~~~~~~~~~~~~~~~ The issue is that that '#include <config.h>' picks up bfd's config.h instead of gnulib's. This problem doesn't trigger in the gdb dir because there we generate config.h under that exact name so gnulib's libc-config.h ends up picking gdb's config.h instead of gnulib.c and that ends up harmless. In gdbsupport, the config.h file is really named support-config.h, so that '#include <config.h>' in libc-config.h doesn't pick it like it would if it had the conventional config.h name. This patch fixes it by simply renaming gdbserver's support-config.h to config.h. gdbsupport/ChangeLog: 2020-01-17 Pedro Alves <palves@redhat.com> * configure.ac: Generate config.h instead of support-config.h. * common-defs.h: Include <gdbsupport/config.h> instead of <gdbsupport/support-config.h>. * Makefile.in: Regenerate. * configure: Regenerate.
67 lines
2.0 KiB
Plaintext
67 lines
2.0 KiB
Plaintext
dnl Autoconf configure script for GDB support library
|
|
dnl Copyright (C) 2020 Free Software Foundation, Inc.
|
|
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 Process this file with autoconf to produce a configure script.
|
|
|
|
AC_INIT([gdbsupport], 1.0)
|
|
AC_CONFIG_SRCDIR(common-defs.h)
|
|
AC_CONFIG_HEADER(config.h:config.in)
|
|
AC_CANONICAL_SYSTEM
|
|
AM_MAINTAINER_MODE
|
|
AC_CONFIG_AUX_DIR(..)
|
|
AM_INIT_AUTOMAKE
|
|
AM_SILENT_RULES([yes])
|
|
|
|
AC_PROG_CC
|
|
AC_PROG_CXX
|
|
AC_PROG_RANLIB
|
|
|
|
AC_USE_SYSTEM_EXTENSIONS
|
|
ACX_LARGEFILE
|
|
AM_PROG_CC_STDC
|
|
|
|
# We require a C++11 compiler. Check if one is available, and if
|
|
# necessary, set CXX_DIALECT to some -std=xxx switch.
|
|
AX_CXX_COMPILE_STDCXX(11, , mandatory)
|
|
|
|
dnl Set up for gettext.
|
|
ZW_GNU_GETTEXT_SISTER_DIR
|
|
|
|
libiberty_INIT
|
|
GDB_AC_COMMON
|
|
GDB_AC_SELFTEST
|
|
AM_CONDITIONAL(SELFTEST, $enable_unittests)
|
|
|
|
# Check the return and argument types of ptrace.
|
|
GDB_AC_PTRACE
|
|
|
|
TARGET_WORD_SIZE=`sed -n 's,#define BFD_ARCH_SIZE \(.*\)$,\1,p' ../bfd/bfd-in3.h`
|
|
AC_DEFINE_UNQUOTED(TARGET_WORD_SIZE, $TARGET_WORD_SIZE,
|
|
[Define to the word size for the target.])
|
|
|
|
case ${host} in
|
|
*mingw32*)
|
|
AC_DEFINE(USE_WIN32API, 1,
|
|
[Define if we should use the Windows API, instead of the
|
|
POSIX API. On Windows, we use the Windows API when
|
|
building for MinGW, but the POSIX API when building
|
|
for Cygwin.])
|
|
;;
|
|
esac
|
|
|
|
AC_CONFIG_FILES([Makefile])
|
|
AC_OUTPUT
|