diff options
-rw-r--r-- | config.h.in | 3 | ||||
-rwxr-xr-x | sysdeps/mach/hurd/configure | 34 | ||||
-rw-r--r-- | sysdeps/mach/hurd/configure.in | 26 |
3 files changed, 63 insertions, 0 deletions
diff --git a/config.h.in b/config.h.in index 475bd72a38..917674bad6 100644 --- a/config.h.in +++ b/config.h.in @@ -119,6 +119,9 @@ disabling the support as well. */ #undef USE_NONOPTION_FLAGS +/* Mach/Hurd specific: define if mig supports the `retcode' keyword. */ +#undef HAVE_MIG_RETCODE + /* */ diff --git a/sysdeps/mach/hurd/configure b/sysdeps/mach/hurd/configure index 0bf301305e..9265ea23fa 100755 --- a/sysdeps/mach/hurd/configure +++ b/sysdeps/mach/hurd/configure @@ -24,3 +24,37 @@ case "$machine" in fi ;; esac + + + +# See if mig groks `retcode'. +echo $ac_n "checking whether $MIG supports the retcode keyword""... $ac_c" 1>&6 +echo "configure:33: checking whether $MIG supports the retcode keyword" >&5 +if eval "test \"`echo '$''{'hurd_cv_mig_retcode'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + cat > conftest.defs <<\EOF +#include <mach/std_types.defs> +#include <mach/mach_types.defs> +subsystem foobar 1000; +type reply_port_t = polymorphic | MACH_MSG_TYPE_PORT_SEND_ONCE + ctype: mach_port_t; +simpleroutine foobar_reply ( + reply_port: reply_port_t; + err: kern_return_t, RetCode); +EOF +if { ac_try='CC="${CC}" ${MIG-false} -n conftest.defs 1>&5'; { (eval echo configure:47: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then + hurd_cv_mig_retcode=yes +else + hurd_cv_mig_retcode=no +fi +rm -f conftest* +fi + +echo "$ac_t""$hurd_cv_mig_retcode" 1>&6 +if test $hurd_cv_mig_retcode = yes; then + cat >> confdefs.h <<\EOF +#define HAVE_MIG_RETCODE 1 +EOF + +fi diff --git a/sysdeps/mach/hurd/configure.in b/sysdeps/mach/hurd/configure.in index 9d023dfe32..752366bf2c 100644 --- a/sysdeps/mach/hurd/configure.in +++ b/sysdeps/mach/hurd/configure.in @@ -26,3 +26,29 @@ case "$machine" in fi ;; esac + +dnl Swiped from hurd/aclocal.m4 +AC_DEFUN([hurd_MIG_RETCODE], [dnl +# See if mig groks `retcode'. +AC_CACHE_CHECK(whether $MIG supports the retcode keyword, hurd_cv_mig_retcode, +[cat > conftest.defs <<\EOF +#include <mach/std_types.defs> +#include <mach/mach_types.defs> +subsystem foobar 1000; +type reply_port_t = polymorphic | MACH_MSG_TYPE_PORT_SEND_ONCE + ctype: mach_port_t; +simpleroutine foobar_reply ( + reply_port: reply_port_t; + err: kern_return_t, RetCode); +EOF +if AC_TRY_COMMAND([CC="${CC}" ${MIG-false} -n conftest.defs 1>&AC_FD_CC]); then + hurd_cv_mig_retcode=yes +else + hurd_cv_mig_retcode=no +fi +rm -f conftest*]) +if test $hurd_cv_mig_retcode = yes; then + AC_DEFINE(HAVE_MIG_RETCODE) +fi]) + +hurd_MIG_RETCODE |