Annotation of embedaddon/istgt/configure.in, revision 1.1
1.1 ! misho 1: # -*- Autoconf -*-
! 2: # Process this file with autoconf to produce a configure script.
! 3:
! 4: AC_PREREQ(2.62)
! 5: AC_INIT(istgt, 0.4)
! 6: AC_CONFIG_SRCDIR([src/istgt.c])
! 7: AC_CONFIG_HEADERS([src/config.h])
! 8:
! 9: # Checks for programs.
! 10: AC_PROG_CC
! 11: AC_PROG_INSTALL
! 12: AC_PROG_RANLIB
! 13: AC_PROG_SED
! 14:
! 15: # Checks for libraries.
! 16: AC_CHECK_LIB([pthread], [pthread_create])
! 17: AC_CHECK_LIB([crypto], [MD5_Update])
! 18: AC_CHECK_LIB([cam], [cam_open_spec_device])
! 19:
! 20: # Checks for header files.
! 21: AC_CHECK_HEADERS([arpa/inet.h fcntl.h inttypes.h limits.h netdb.h netinet/in.h stddef.h stdint.h stdlib.h string.h sys/ioctl.h sys/param.h sys/socket.h sys/time.h syslog.h unistd.h])
! 22:
! 23: # Checks for typedefs, structures, and compiler characteristics.
! 24: AC_C_INLINE
! 25: AC_TYPE_INT32_T
! 26: AC_TYPE_INT64_T
! 27: AC_TYPE_OFF_T
! 28: AC_TYPE_PID_T
! 29: AC_TYPE_SIZE_T
! 30: AC_TYPE_SSIZE_T
! 31: AC_STRUCT_ST_BLOCKS
! 32: AC_TYPE_UINT16_T
! 33: AC_TYPE_UINT32_T
! 34: AC_TYPE_UINT64_T
! 35: AC_TYPE_UINT8_T
! 36:
! 37: # Checks for library functions.
! 38: AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK
! 39: AC_FUNC_MALLOC
! 40: AC_FUNC_REALLOC
! 41: AC_CHECK_FUNCS([ftruncate memset realpath socket strcasecmp strchr strncasecmp strspn strtol strtoull])
! 42:
! 43: # check compatibility
! 44: AC_SYS_LARGEFILE
! 45: AC_CHECK_HEADERS([aio.h sched.h uuid.h sys/disk.h sys/disklabel.h])
! 46: AC_CHECK_HEADERS([pthread.h])
! 47: AC_CHECK_HEADERS([pthread_np.h], [], [],
! 48: [#if HAVE_PTHREAD_H
! 49: #include <pthread.h>
! 50: #endif
! 51: ])
! 52: AC_CHECK_FUNCS([strlcpy arc4random srandomdev pthread_yield sched_yield])
! 53: AC_CHECK_FUNCS([pthread_set_name_np setproctitle])
! 54: AC_SUBST(MKDEP)
! 55: AC_PATH_PROG(MKDEP, "mkdep")
! 56: #if test -z "$MKDEP"; then
! 57: # AC_PATH_PROG(MKDEP, "makedepend")
! 58: #fi
! 59:
! 60: # paths
! 61: configdir="$ac_default_prefix/etc/istgt"
! 62: mediadir="/var/istgt"
! 63: if test "$prefix" != "NONE"; then
! 64: configdir="$prefix/etc/istgt"
! 65: fi
! 66: AC_ARG_WITH(configdir,
! 67: [ --with-configdir=DIR (default $ac_default_prefix/etc/istgt)],
! 68: [case $withval in
! 69: yes|no)
! 70: ;;
! 71: *)
! 72: configdir="$withval"
! 73: ;;
! 74: esac])
! 75: AC_SUBST(configdir)
! 76: AC_ARG_WITH(mediadir,
! 77: [ --with-mediadir=DIR (default /var/istgt)],
! 78: [case $withval in
! 79: yes|no)
! 80: ;;
! 81: *)
! 82: mediadir="$withval"
! 83: ;;
! 84: esac])
! 85: AC_SUBST(mediadir)
! 86:
! 87: # test for -Wall
! 88: saved_CFLAGS="$CFLAGS"
! 89: AC_MSG_CHECKING([whether the C compiler accepts -Wall])
! 90: CFLAGS="$CFLAGS -Wall"
! 91: AC_TRY_COMPILE(,,
! 92: AC_MSG_RESULT(yes); saved_CFLAGS="$CFLAGS",
! 93: AC_MSG_RESULT(no))
! 94: CFLAGS="$saved_CFLAGS"
! 95:
! 96: # check enable features
! 97: AC_MSG_CHECKING([whether to use debug mode])
! 98: AC_ARG_ENABLE(debug,
! 99: [ --enable-debug enable debug(logging) ],
! 100: AC_MSG_RESULT(yes); AC_DEFINE(DEBUG, 1, [Define if enable debug]),
! 101: AC_MSG_RESULT(no))
! 102: AC_SUBST(DEBUG)
! 103:
! 104: AC_MSG_CHECKING([which syslog facility to use])
! 105: AC_ARG_WITH(logfacility,
! 106: [ --with-logfacility syslog facility to log with (default "local7")],
! 107: [case $with_logfacility in
! 108: daemon|auth|authpriv|local0|local1|local2|local3|local4|local5|local6|local7)
! 109: logfacility=$with_logfacility
! 110: ;;
! 111: *) AC_MSG_ERROR(["unsupported facility $with_logfacility"])
! 112: ;;
! 113: esac],
! 114: [logfacility="local7"])
! 115: AC_DEFINE_UNQUOTED(DEFAULT_LOG_FACILITY, "$logfacility", [syslog facility])
! 116: AC_MSG_RESULT("$logfacility")
! 117:
! 118: AC_MSG_CHECKING([which syslog priority to use])
! 119: AC_ARG_WITH(logpriority,
! 120: [ --with-logpriority syslog priority to log with (default "info")],
! 121: [case $with_logpriority in
! 122: emerg|alert|crit|err|warning|notice|info|debug)
! 123: logpriority=$with_logpriority
! 124: ;;
! 125: *) AC_MSG_ERROR(["unsupported priority $with_logpriority"])
! 126: ;;
! 127: esac],
! 128: [logpriority="info"])
! 129: AC_DEFINE_UNQUOTED(DEFAULT_LOG_PRIORITY, "$logpriority", [syslog priority])
! 130: AC_MSG_RESULT("$logpriority")
! 131:
! 132: #AC_MSG_CHECKING([whether to use asynchronous io])
! 133: #AC_ARG_WITH(aio,
! 134: # [ --with-aio use aio (default "no")],
! 135: # [case $with_aio in
! 136: # yes)
! 137: # AC_DEFINE(USE_AIO, 1, [use aio])
! 138: # AC_MSG_RESULT(yes)
! 139: # ;;
! 140: # *)
! 141: # AC_MSG_RESULT(no)
! 142: # ;;
! 143: # esac],
! 144: # AC_MSG_RESULT(no))
! 145: #AC_SUBST(USE_AIO)
! 146:
! 147: AC_CHECK_HEADERS([sys/types.h])
! 148: AC_CHECK_HEADERS([machine/atomic.h], [], [],
! 149: [#if HAVE_SYS_TYPES_H
! 150: #include <sys/types.h>
! 151: #endif
! 152: ])
! 153: AC_CHECK_HEADERS([sys/atomic.h])
! 154:
! 155: # for FeeeBSD
! 156: #AC_CHECK_FUNCS([atomic_store_rel_int atomic_load_acq_int])
! 157: #AC_CHECK_FUNCS([atomic_cmpset_ptr atomic_cmpset_64 atomic_cmpset_32])
! 158:
! 159: # for NetBSD
! 160: #AC_CHECK_FUNCS([atomic_swap_uint atomic_or_uint_nv])
! 161: #AC_CHECK_FUNCS([atomic_cas_ptr atomic_cas_64 atomic_cas_32])
! 162:
! 163: atomic="no"
! 164: AC_MSG_CHECKING([for atomic operations])
! 165: AC_TRY_LINK([#if HAVE_SYS_TYPES_H
! 166: #include <sys/types.h>
! 167: #endif
! 168: #include <machine/atomic.h>
! 169: ],
! 170: [
! 171: int x, y;
! 172: atomic_store_rel_int(&x, 1);
! 173: y = atomic_load_acq_int(&x);
! 174: ],
! 175: [AC_DEFINE(USE_ATOMIC, [1], [Use atomic])
! 176: AC_DEFINE(HAVE_ATOMIC_STORE_REL_INT, [1], [Define 1 if you have the function.])
! 177: AC_DEFINE(HAVE_ATOMIC_LOAD_ACQ_INT, [1], [Define 1 if you have the function.])
! 178: atomic="yes"]
! 179: )
! 180: if test $atomic = "no"; then
! 181: AC_TRY_LINK([
! 182: #if HAVE_SYS_TYPES_H
! 183: #include <sys/types.h>
! 184: #endif
! 185: #include <sys/atomic.h>
! 186: ],
! 187: [
! 188: unsigned int x, y;
! 189: atomic_swap_uint(&x, 1);
! 190: y = atomic_or_uint_nv(&x, 0);
! 191: ],
! 192: [AC_DEFINE(USE_ATOMIC, [1], [Use atomic])
! 193: AC_DEFINE(HAVE_ATOMIC_SWAP_UINT, [1], [Define 1 if you have the function.])
! 194: AC_DEFINE(HAVE_ATOMIC_OR_UINT_NV, [1], [Define 1 if you have the function.])
! 195: atomic="yes"]
! 196: )
! 197: fi
! 198: AC_TRY_LINK([
! 199: #if HAVE_SYS_TYPES_H
! 200: #include <sys/types.h>
! 201: #endif
! 202: #include <sys/atomic.h>
! 203: ],
! 204: [
! 205: membar_producer();
! 206: ],
! 207: [AC_DEFINE(HAVE_MEMBAR_PRODUCER, [1], [Define 1 if you have the function.])]
! 208: )
! 209: AC_MSG_RESULT($atomic)
! 210:
! 211: AC_CONFIG_FILES([Makefile src/Makefile etc/Makefile doc/Makefile])
! 212: AC_CONFIG_FILES([src/build.h])
! 213: AC_OUTPUT
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>