| 1 | AC_PREREQ(2.50) |
| 2 | AC_INIT([libnfs], [1.9.2], [ronniesahlberg@gmail.com]) |
| 3 | AC_CONFIG_HEADERS([config.h]) |
| 4 | AM_INIT_AUTOMAKE([foreign]) |
| 5 | AC_CANONICAL_HOST |
| 6 | |
| 7 | # Work around stupid autoconf default cflags. pt 1 |
| 8 | SAVE_CFLAGS="x${CFLAGS}" |
| 9 | |
| 10 | AC_PROG_CC |
| 11 | AC_PROG_LIBTOOL |
| 12 | |
| 13 | AM_PROG_CC_C_O |
| 14 | PKG_PROG_PKG_CONFIG |
| 15 | |
| 16 | # Work around stupid autoconf default cflags. pt 2 |
| 17 | if test "$SAVE_CFLAGS" = "x"; then |
| 18 | CFLAGS="" |
| 19 | fi |
| 20 | |
| 21 | # We always want 64 bit file offsets |
| 22 | CFLAGS="${CFLAGS} -D_FILE_OFFSET_BITS=64" |
| 23 | |
| 24 | #option: examples |
| 25 | AC_ARG_ENABLE([examples], |
| 26 | [AC_HELP_STRING([--enable-examples], |
| 27 | [Build example programs])], |
| 28 | [ENABLE_EXAMPLES=$enableval], |
| 29 | [ENABLE_EXAMPLES="no"]) |
| 30 | |
| 31 | # We need popt to compile the examples |
| 32 | if test x$ENABLE_EXAMPLES = xyes; then |
| 33 | AC_MSG_CHECKING(whether libpopt is available) |
| 34 | ac_save_CFLAGS="$CFLAGS" |
| 35 | ac_save_LIBS="$LIBS" |
| 36 | CFLAGS="$CFLAGS $GLIB_CFLAGS" |
| 37 | LIBS="$GLIB_LIBS $LIBS -lpopt" |
| 38 | AC_TRY_RUN([ |
| 39 | /* |
| 40 | * Just see if we can compile/link with popt |
| 41 | */ |
| 42 | #include <popt.h> |
| 43 | |
| 44 | int main(int argc, const char *argv[]) |
| 45 | { |
| 46 | struct poptOption popt_options[] = { |
| 47 | POPT_TABLEEND |
| 48 | }; |
| 49 | poptGetContext(argv[0], argc, argv, popt_options, POPT_CONTEXT_KEEP_FIRST); |
| 50 | |
| 51 | return 0; |
| 52 | } |
| 53 | ], ac_cv_have_popt=yes, ac_cv_have_popt=no, |
| 54 | [echo $ac_n "compile with POPT. Assuming OK... $ac_c" |
| 55 | ac_cv_have_popt=yes]) |
| 56 | CFLAGS="$ac_save_CFLAGS" |
| 57 | LIBS="$ac_save_LIBS" |
| 58 | if test "$ac_cv_have_popt" = yes ; then |
| 59 | AC_MSG_RESULT(yes) |
| 60 | MAYBE_EXAMPLES="examples" |
| 61 | else |
| 62 | AC_MSG_RESULT(no) |
| 63 | AC_MSG_NOTICE(You need libpopt to compile the sample libnfs clients.) |
| 64 | AC_MSG_NOTICE(Only the library will be compiled and installed.) |
| 65 | fi |
| 66 | fi |
| 67 | |
| 68 | AC_SUBST(MAYBE_EXAMPLES) |
| 69 | |
| 70 | |
| 71 | case $host in |
| 72 | *solaris*) |
| 73 | AC_CHECK_HEADERS([sys/filio.h]) |
| 74 | AC_CHECK_HEADERS([sys/sockio.h]) |
| 75 | if test x$ENABLE_EXAMPLES = xyes; then |
| 76 | AC_CHECK_LIB([socket], [main], , [AC_MSG_ERROR([Can not find required library])]) |
| 77 | AC_CHECK_LIB([nsl], [main], , [AC_MSG_ERROR([Can not find required library])]) |
| 78 | fi |
| 79 | ;; |
| 80 | *) |
| 81 | ;; |
| 82 | esac |
| 83 | |
| 84 | # check for poll.h |
| 85 | dnl Check for poll.h |
| 86 | AC_CHECK_HEADERS([poll.h]) |
| 87 | |
| 88 | # check for unistd.h |
| 89 | dnl Check for unistd.h |
| 90 | AC_CHECK_HEADERS([unistd.h]) |
| 91 | |
| 92 | # check for netdb.h |
| 93 | dnl Check for netdb.h |
| 94 | AC_CHECK_HEADERS([netdb.h]) |
| 95 | |
| 96 | # check for utime.h |
| 97 | dnl Check for utime.h |
| 98 | AC_CHECK_HEADERS([utime.h]) |
| 99 | |
| 100 | # check for net/if.h |
| 101 | dnl Check for net/if.h |
| 102 | AC_CHECK_HEADERS([net/if.h]) |
| 103 | |
| 104 | # check for sys/time.h |
| 105 | dnl Check for sys/time.h |
| 106 | AC_CHECK_HEADERS([sys/time.h]) |
| 107 | |
| 108 | # check for sys/ioctl.h |
| 109 | dnl Check for sys/ioctl.h |
| 110 | AC_CHECK_HEADERS([sys/ioctl.h]) |
| 111 | |
| 112 | # check for sys/vfs.h |
| 113 | dnl Check for sys/vfs.h |
| 114 | AC_CHECK_HEADERS([sys/vfs.h]) |
| 115 | |
| 116 | # check for sys/statvfs.h |
| 117 | dnl Check for sys/statvfs.h |
| 118 | AC_CHECK_HEADERS([sys/statvfs.h]) |
| 119 | |
| 120 | # check for sys/socket.h |
| 121 | dnl Check for sys/socket.h |
| 122 | AC_CHECK_HEADERS([sys/socket.h]) |
| 123 | |
| 124 | # check for netinet/tcp.h |
| 125 | dnl Check for netinet/tcp.h |
| 126 | AC_CHECK_HEADERS([netinet/tcp.h]) |
| 127 | |
| 128 | # check for netinet/in.h |
| 129 | dnl Check for netinet/in.h |
| 130 | AC_CHECK_HEADERS([netinet/in.h]) |
| 131 | |
| 132 | # check for arpa/inet.h |
| 133 | dnl Check for arpa/inet.h |
| 134 | AC_CHECK_HEADERS([arpa/inet.h]) |
| 135 | |
| 136 | # check for SA_LEN |
| 137 | dnl Check if sockaddr data structure includes a "sa_len" |
| 138 | AC_CHECK_MEMBER([struct sockaddr.sa_len], |
| 139 | [ AC_DEFINE(HAVE_SOCKADDR_LEN,1,[Whether sockaddr struct has sa_len]) ], |
| 140 | [], |
| 141 | [ |
| 142 | #include <sys/types.h> |
| 143 | #include <sys/socket.h> |
| 144 | ]) |
| 145 | |
| 146 | # check for sockaddr_storage |
| 147 | dnl Check if sockaddr structure includes a "ss_family" |
| 148 | AC_CHECK_MEMBER([struct sockaddr_storage.ss_family], |
| 149 | [ AC_DEFINE(HAVE_SOCKADDR_STORAGE,1,[Whether we have sockaddr_Storage]) ], |
| 150 | [], |
| 151 | [ |
| 152 | #include <sys/types.h> |
| 153 | #include <sys/socket.h> |
| 154 | ]) |
| 155 | |
| 156 | #output |
| 157 | AC_CONFIG_FILES([Makefile] |
| 158 | [include/Makefile] |
| 159 | [lib/Makefile] |
| 160 | [mount/Makefile] |
| 161 | [nfs/Makefile] |
| 162 | [nlm/Makefile] |
| 163 | [nsm/Makefile] |
| 164 | [portmap/Makefile] |
| 165 | [rquota/Makefile] |
| 166 | [examples/Makefile] |
| 167 | ) |
| 168 | |
| 169 | AC_OUTPUT([libnfs.pc]) |