Home | History | Annotate | Line # | Download | only in librumpuser
configure.ac revision 1.5.26.1
      1       1.1   pooka #
      2       1.1   pooka # Rump kernel POSIX hypervisor autoconf support.
      3       1.1   pooka #
      4       1.1   pooka # NOTE!  regen by doing the following
      5       1.1   pooka #   1) autoreconf -iv
      6       1.1   pooka #   2) edit rumpuser_port.h (search for RUMPUSER_CONFIG for instructions)
      7       1.1   pooka #   3) rm -rf autom4te.cache
      8  1.5.26.1  martin #   4) commit to NetBSD, pullup to https://github.com/rumpkernel/
      9       1.1   pooka #
     10       1.1   pooka 
     11       1.1   pooka AC_PREREQ([2.66])
     12  1.5.26.1  martin AC_INIT([rumpuser-posix], [999], [https://github.com/rumpkernel/])
     13       1.1   pooka 
     14       1.1   pooka AC_CONFIG_HEADERS([rumpuser_config.h])
     15       1.1   pooka AC_CONFIG_AUX_DIR([build-aux])
     16       1.1   pooka AC_CONFIG_MACRO_DIR([m4])
     17       1.1   pooka 
     18       1.1   pooka AC_LANG([C])
     19       1.1   pooka 
     20       1.1   pooka AC_SYS_LARGEFILE
     21       1.1   pooka 
     22       1.4   pooka AC_CHECK_HEADERS([sys/param.h sys/sysctl.h sys/disk.h \
     23       1.1   pooka 	sys/disklabel.h sys/dkio.h sys/atomic.h paths.h])
     24       1.1   pooka 
     25       1.1   pooka AC_CANONICAL_TARGET
     26       1.1   pooka 
     27       1.1   pooka AC_CHECK_TYPES([clockid_t, register_t])
     28       1.1   pooka 
     29       1.1   pooka AC_CHECK_FUNCS([kqueue chflags strsuftoll setprogname getprogname	\
     30       1.3   pooka 	getenv_r posix_memalign memalign aligned_alloc	\
     31       1.5   pooka 	arc4random_buf getsubopt fsync_range __quotactl utimensat])
     32       1.1   pooka 
     33       1.1   pooka AC_TRY_LINK_FUNC([clock_nanosleep],,
     34       1.1   pooka         AC_CHECK_LIB([rt], [clock_nanosleep])
     35       1.1   pooka )
     36       1.3   pooka AC_CHECK_LIB([rt], [clock_gettime],
     37       1.3   pooka 	AC_DEFINE([HAVE_CLOCK_GETTIME], 1, [clock_gettime]),
     38       1.3   pooka 	AC_TRY_LINK_FUNC([clock_gettime],
     39       1.3   pooka 	    AC_DEFINE([HAVE_CLOCK_GETTIME], 1, [clock_gettime])))
     40       1.2   pooka AC_CHECK_LIB([rt], [clock_nanosleep],
     41       1.2   pooka 	AC_DEFINE([HAVE_CLOCK_NANOSLEEP], 1, [clock_nanosleep]),
     42       1.2   pooka 	AC_TRY_LINK_FUNC([clock_nanosleep],
     43       1.2   pooka 	    AC_DEFINE([HAVE_CLOCK_NANOSLEEP], 1, [clock_nanosleep])))
     44       1.1   pooka AC_CHECK_LIB([dl], [dlinfo],
     45       1.1   pooka 	AC_DEFINE([HAVE_DLINFO], 1, [dlinfo]),
     46       1.1   pooka 	AC_TRY_LINK_FUNC([dlinfo], AC_DEFINE([HAVE_DLINFO], 1, [dlinfo])))
     47       1.1   pooka 
     48       1.1   pooka AC_CHECK_MEMBERS([struct sockaddr_in.sin_len],,,[#include <netinet/in.h>])
     49       1.1   pooka 
     50       1.1   pooka dnl
     51       1.1   pooka dnl pthread_setname() sillyness is a bit longer; we need the signature
     52       1.1   pooka dnl
     53       1.1   pooka SAVE_CFLAGS="${CFLAGS}"
     54       1.1   pooka CFLAGS="${SAVE_CFLAGS} -Werror"
     55       1.4   pooka 
     56       1.4   pooka dnl check sys/cdefs.h creatively to process only with cc, not cpp
     57       1.4   pooka dnl (sys/cdefs.h in at least in musl contains a #warning)
     58       1.4   pooka AC_CHECK_HEADERS([sys/cdefs.h], [], [], [#include <sys/cdefs.h>])
     59       1.4   pooka 
     60       1.1   pooka SAVE_LIBS="${LIBS}"
     61       1.1   pooka LIBS="${LIBS} -lpthread"
     62       1.1   pooka AC_MSG_CHECKING([for two-argument pthread_setname_np()])
     63       1.1   pooka AC_COMPILE_IFELSE(
     64       1.1   pooka 	[AC_LANG_PROGRAM(
     65       1.1   pooka 		[[#define _GNU_SOURCE
     66       1.1   pooka 		  #include <pthread.h>]],
     67       1.1   pooka 		[[pthread_t pt;]
     68       1.1   pooka 		[pthread_setname_np(pt, "x");return 0;]])
     69       1.1   pooka 	],[
     70       1.1   pooka 		AC_MSG_RESULT([yes])
     71       1.1   pooka 		AC_DEFINE(HAVE_PTHREAD_SETNAME2, [1],
     72       1.1   pooka 		    [Define to 1 if you have 2-arg pthread_setname_np()])
     73       1.1   pooka 	],[
     74       1.1   pooka 		AC_MSG_RESULT([no])
     75       1.1   pooka ])
     76       1.1   pooka AC_MSG_CHECKING([for three-argument pthread_setname_np()])
     77       1.1   pooka AC_COMPILE_IFELSE(
     78       1.1   pooka 	[AC_LANG_PROGRAM(
     79       1.1   pooka 		[[#define _GNU_SOURCE
     80       1.1   pooka 		  #include <pthread.h>]],
     81       1.1   pooka 		[[pthread_t pt;]
     82       1.1   pooka 		[pthread_setname_np(pt, "X", (void *)0);return 0;]])
     83       1.1   pooka 	],[
     84       1.1   pooka 		AC_MSG_RESULT([yes])
     85       1.1   pooka 		AC_DEFINE(HAVE_PTHREAD_SETNAME3, [1],
     86       1.1   pooka 		    [Define to 1 if you have 3-arg pthread_setname_np()])
     87       1.1   pooka 	],[
     88       1.1   pooka 		AC_MSG_RESULT([no])
     89       1.1   pooka ])
     90       1.1   pooka LIBS="${SAVELIBS}"
     91       1.1   pooka 
     92       1.1   pooka AC_MSG_CHECKING([for ioctl cmd being int])
     93       1.1   pooka AC_COMPILE_IFELSE(
     94       1.1   pooka 	[AC_LANG_PROGRAM(
     95       1.1   pooka 		[[#include <sys/ioctl.h>
     96       1.1   pooka 		  #include <unistd.h>
     97       1.1   pooka 		  int ioctl(int fd, int, ...);]],
     98       1.1   pooka 		[[]
     99       1.1   pooka 		[return 0;]])
    100       1.1   pooka 	],[
    101       1.1   pooka 		AC_MSG_RESULT([yes])
    102       1.1   pooka 		AC_DEFINE(HAVE_IOCTL_CMD_INT, [1],
    103       1.1   pooka 		    [Define to 1 if ioctl()'s cmd arg is int])
    104       1.1   pooka 	],[
    105       1.1   pooka 		AC_MSG_RESULT([no])
    106       1.1   pooka ])
    107       1.1   pooka CFLAGS="${SAVE_CFLAGS}"
    108       1.1   pooka 
    109       1.1   pooka AC_OUTPUT
    110