Index: gdb/gdbserver/configure.ac |
diff --git a/gdb/gdbserver/configure.ac b/gdb/gdbserver/configure.ac |
index 30666ec40651b58b291a86f6e15abcb6a5ebbb0d..7013a21248bf255d756e730a754636568b9d60db 100644 |
--- a/gdb/gdbserver/configure.ac |
+++ b/gdb/gdbserver/configure.ac |
@@ -22,7 +22,8 @@ AC_PREREQ(2.59)dnl |
AC_INIT(server.c) |
AC_CONFIG_HEADER(config.h:config.in) |
-AC_CONFIG_LIBOBJ_DIR(../gnulib) |
+ |
+AM_MAINTAINER_MODE |
AC_PROG_CC |
AC_GNU_SOURCE |
@@ -30,6 +31,7 @@ AC_GNU_SOURCE |
AC_CANONICAL_SYSTEM |
AC_PROG_INSTALL |
+AC_PROG_RANLIB |
AC_ARG_PROGRAM |
@@ -37,14 +39,25 @@ AC_HEADER_STDC |
AC_HEADER_DIRENT |
AC_FUNC_ALLOCA |
+ |
+# Check for the 'make' the user wants to use. |
+AC_CHECK_PROGS(MAKE, make) |
+ |
+# Configure gnulib. We can't use AC_CONFIG_SUBDIRS as that'd expect |
+# to find the the source subdir to be configured directly under |
+# gdbserver/. We need to build gnulib under some other directory not |
+# "gnulib", to avoid the problem of both GDB and GDBserver wanting to |
+# build it in the same directory, when building in the source dir. |
+ACX_CONFIGURE_DIR(["../gnulib"], ["build-gnulib-gdbserver"]) |
+ |
AC_CHECK_HEADERS(sgtty.h termio.h termios.h sys/reg.h string.h dnl |
proc_service.h sys/procfs.h thread_db.h linux/elf.h dnl |
stdlib.h unistd.h dnl |
errno.h fcntl.h signal.h sys/file.h malloc.h dnl |
sys/ioctl.h netinet/in.h sys/socket.h netdb.h dnl |
- netinet/tcp.h arpa/inet.h sys/wait.h) |
-AC_CHECK_FUNCS(pread pwrite pread64) |
-AC_REPLACE_FUNCS(memmem vasprintf vsnprintf) |
+ netinet/tcp.h arpa/inet.h sys/wait.h sys/un.h) |
+AC_CHECK_FUNCS(pread pwrite pread64 readlink) |
+AC_REPLACE_FUNCS(vasprintf vsnprintf) |
# Check for UST |
ustlibs="" |
@@ -161,13 +174,17 @@ AC_TRY_LINK([ |
[AC_MSG_RESULT(no)]) |
fi |
-AC_CHECK_DECLS([strerror, perror, memmem, vasprintf, vsnprintf]) |
+AC_CHECK_DECLS([strerror, perror, vasprintf, vsnprintf]) |
AC_CHECK_TYPES(socklen_t, [], [], |
[#include <sys/types.h> |
#include <sys/socket.h> |
]) |
+AC_CHECK_TYPES([Elf32_auxv_t, Elf64_auxv_t], [], [], |
+#include <elf.h> |
+) |
+ |
ACX_PKGVERSION([GDB]) |
ACX_BUGURL([http://www.gnu.org/software/gdb/bugs/]) |
AC_DEFINE_UNQUOTED([PKGVERSION], ["$PKGVERSION"], [Additional package description]) |
@@ -268,6 +285,16 @@ if test "$ac_cv_header_sys_procfs_h" = yes; then |
BFD_HAVE_SYS_PROCFS_TYPE(elf_fpregset_t) |
fi |
+dnl Some systems (e.g., Android) have lwpid_t defined in libthread_db.h. |
+if test "$bfd_cv_have_sys_procfs_type_lwpid_t" != yes; then |
+ GDBSERVER_HAVE_THREAD_DB_TYPE(lwpid_t) |
+fi |
+ |
+dnl Some systems (e.g., Android) have psaddr_t defined in libthread_db.h. |
+if test "$bfd_cv_have_sys_procfs_type_psaddr_t" != yes; then |
+ GDBSERVER_HAVE_THREAD_DB_TYPE(psaddr_t) |
+fi |
+ |
dnl Check for libdl, but do not add it to LIBS as only gdbserver |
dnl needs it (and gdbreplay doesn't). |
old_LIBS="$LIBS" |
@@ -419,6 +446,14 @@ AC_SUBST(srv_xmlfiles) |
AC_SUBST(IPA_DEPFILES) |
AC_SUBST(extra_libraries) |
+GNULIB=build-gnulib-gdbserver/import |
+ |
+GNULIB_STDINT_H= |
+if test x"$STDINT_H" != x; then |
+ GNULIB_STDINT_H=$GNULIB/$STDINT_H |
+fi |
+AC_SUBST(GNULIB_STDINT_H) |
+ |
AC_OUTPUT(Makefile, |
[case x$CONFIG_HEADERS in |
xconfig.h:config.in) |