changeset 2476:8301bc66941a

Enable checking for syscalls during configure and compiling against them. 2011-09-21 Andrew John Hughes <ahughes@redhat.com> * Makefile.am: (ICEDTEA_ENV): Set COMPILE_AGAINST_SYSCALLS if USE_SYSCALL_COMPILATION is set. * acinclude.m4: (IT_CHECK_FOR_SYSCALLS): Add --enable-compile-against-syscalls which checks for various syscalls (epolling, extended attributes, *at). * configure.ac: Call IT_CHECK_FOR_SYSCALLS.
author Andrew John Hughes <ahughes@redhat.com>
date Wed, 21 Sep 2011 18:50:13 +0100
parents 772a1342ad73
children e8227389e2e0
files ChangeLog Makefile.am acinclude.m4 configure.ac
diffstat 4 files changed, 38 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog	Wed Sep 21 16:16:01 2011 +0100
+++ b/ChangeLog	Wed Sep 21 18:50:13 2011 +0100
@@ -1,3 +1,14 @@
+2011-09-21  Andrew John Hughes  <ahughes@redhat.com>
+
+	* Makefile.am:
+	(ICEDTEA_ENV): Set COMPILE_AGAINST_SYSCALLS
+	if USE_SYSCALL_COMPILATION is set.
+	* acinclude.m4:
+	(IT_CHECK_FOR_SYSCALLS): Add --enable-compile-against-syscalls
+	which checks for various syscalls (epolling, extended attributes,
+	*at).
+	* configure.ac: Call IT_CHECK_FOR_SYSCALLS.
+
 2011-09-21  Andrew John Hughes  <ahughes@redhat.com>
 
 	* Makefile.am:
--- a/Makefile.am	Wed Sep 21 16:16:01 2011 +0100
+++ b/Makefile.am	Wed Sep 21 18:50:13 2011 +0100
@@ -570,6 +570,11 @@
 	FONTCONFIG_CFLAGS="${FONTCONFIG_CFLAGS}"
 endif
 
+if USE_SYSCALL_COMPILATION
+ICEDTEA_ENV += \
+	COMPILE_AGAINST_SYSCALLS="true"
+endif
+
 # OpenJDK boot build environment.
 ICEDTEA_ENV_BOOT = $(ICEDTEA_ENV) \
 	BOOTCLASSPATH_CLS_RT="-bootclasspath $(CLS_DIR_BOOT):$(RUNTIME)" \
--- a/acinclude.m4	Wed Sep 21 16:16:01 2011 +0100
+++ b/acinclude.m4	Wed Sep 21 18:50:13 2011 +0100
@@ -2147,6 +2147,27 @@
   AC_SUBST(CUPS_LIBS)
 ])
 
+AC_DEFUN_ONCE([IT_CHECK_FOR_SYSCALLS],
+[
+  AC_MSG_CHECKING([whether to build against the required syscalls])
+  AC_ARG_ENABLE([compile-against-syscalls],
+	      [AS_HELP_STRING(--enable-compile-against-syscalls,compile against syscalls [[default=yes]])],
+  [
+    ENABLE_SYSCALL_COMPILATION="${enableval}"
+  ],
+  [
+    ENABLE_SYSCALL_COMPILATION="yes"
+  ])
+  AC_MSG_RESULT(${ENABLE_SYSCALL_COMPILATION})
+  if test x"${ENABLE_SYSCALL_COMPILATION}" = "xyes"; then
+    dnl Check for syscalls
+    AC_CHECK_FUNCS([openat64 fstatat64 fgetxattr fsetxattr fremovexattr flistxattr unlinkat renameat futimesat fdopendir epoll_create epoll_ctl epoll_wait],,
+      [AC_MSG_ERROR([Could not find required syscalls; check config.log and use --disable-compile-against-syscalls if necessary.])])
+  fi
+  AM_CONDITIONAL(USE_SYSCALL_COMPILATION, test x"${ENABLE_SYSCALL_COMPILATION}" = "xyes")
+  AC_SUBST(ENABLE_SYSCALL_COMPILATION)
+])
+
 AC_DEFUN([IT_ENABLE_JAMVM],
 [
   AC_MSG_CHECKING(whether to use JamVM as VM)
--- a/configure.ac	Wed Sep 21 16:16:01 2011 +0100
+++ b/configure.ac	Wed Sep 21 18:50:13 2011 +0100
@@ -174,6 +174,7 @@
 IT_CHECK_FOR_GIO
 IT_CHECK_FOR_FONTCONFIG
 IT_CHECK_FOR_CUPS
+IT_CHECK_FOR_SYSCALLS
 AC_CONFIG_FILES([remove-intree-libraries.sh])
 
 dnl Check for Xproto headers and libraries.