Merge pull request #27 from Karlson2k/Win32x64
[deb_libnfs.git] / configure.ac
1 AC_PREREQ(2.50)
2 AC_INIT([libnfs], [1.3.0], [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 AC_CHECK_PROG([HAVE_RPCGEN], [rpcgen], [yes], [no])
25 if test x$HAVE_RPCGEN != xyes; then
26 AC_MSG_ERROR([Can not find required program])
27 fi
28
29 #option: examples
30 AC_ARG_ENABLE([examples],
31 [AC_HELP_STRING([--enable-examples],
32 [Build example programs])],
33 [ENABLE_EXAMPLES=$enableval],
34 [ENABLE_EXAMPLES="no"])
35
36 # We need popt to compile the examples
37 if test x$ENABLE_EXAMPLES = xyes; then
38 AC_MSG_CHECKING(whether libpopt is available)
39 ac_save_CFLAGS="$CFLAGS"
40 ac_save_LIBS="$LIBS"
41 CFLAGS="$CFLAGS $GLIB_CFLAGS"
42 LIBS="$GLIB_LIBS $LIBS -lpopt"
43 AC_TRY_RUN([
44 /*
45 * Just see if we can compile/link with popt
46 */
47 #include <popt.h>
48
49 int main(int argc, const char *argv[])
50 {
51 struct poptOption popt_options[] = {
52 POPT_TABLEEND
53 };
54 poptGetContext(argv[0], argc, argv, popt_options, POPT_CONTEXT_KEEP_FIRST);
55
56 return 0;
57 }
58 ], ac_cv_have_popt=yes, ac_cv_have_popt=no,
59 [echo $ac_n "compile with POPT. Assuming OK... $ac_c"
60 ac_cv_have_popt=yes])
61 CFLAGS="$ac_save_CFLAGS"
62 LIBS="$ac_save_LIBS"
63 if test "$ac_cv_have_popt" = yes ; then
64 AC_MSG_RESULT(yes)
65 MAYBE_EXAMPLES="examples"
66 else
67 AC_MSG_RESULT(no)
68 AC_MSG_NOTICE(You need libpopt to compile the sample libnfs clients.)
69 AC_MSG_NOTICE(Only the library will be compiled and installed.)
70 fi
71 fi
72
73 AC_SUBST(MAYBE_EXAMPLES)
74
75
76 AC_ARG_ENABLE(tirpc,
77 [AC_HELP_STRING([--enable-tirpc],
78 [enable use of TI-RPC @<:@default=no@:>@])],
79 enable_tirpc=$enableval,
80 enable_tirpc='no')
81
82 case $host in
83 *darwin*)
84 RPCGENFLAGS=-DU_INT64_PLATTFORM_TYPE="u_int64_t"
85 ;;
86 *cygwin*)
87 RPCGENFLAGS=-DU_INT64_PLATTFORM_TYPE="u_int64_t"
88 ;;
89 *solaris*)
90 AC_CHECK_HEADERS([sys/filio.h])
91 AC_CHECK_HEADERS([sys/sockio.h])
92 if test x$ENABLE_EXAMPLES = xyes; then
93 AC_CHECK_LIB([socket], [main], , [AC_MSG_ERROR([Can not find required library])])
94 AC_CHECK_LIB([nsl], [main], , [AC_MSG_ERROR([Can not find required library])])
95 fi
96 ;;
97 *)
98 ;;
99 esac
100
101 AC_SUBST(RPCGENFLAGS)
102
103 # check for SA_LEN
104 dnl Check if sockaddr data structure includes a "sa_len"
105 AC_CHECK_MEMBER([struct sockaddr.sa_len],
106 [ AC_DEFINE(HAVE_SOCKADDR_LEN,1,[Whether sockaddr struct has sa_len]) ],
107 [],
108 [
109 #include <sys/types.h>
110 #include <sys/socket.h>
111 ])
112
113 LIBNFS_PC_REQ_PRIVATE=
114
115 if test "$enable_tirpc" = "yes"; then
116 PKG_CHECK_MODULES(TIRPC, libtirpc, [],
117 AC_MSG_ERROR([unable to locate libtirpc files]))
118 CFLAGS="${CFLAGS} ${TIRPC_CFLAGS}"
119 LIBS="${LIBS} ${TIRPC_LIBS}"
120 LIBNFS_PC_REQ_PRIVATE="${LIBNFS_PC_REQ_PRIVATE} libtirpc"
121 fi
122
123 AC_SUBST(LIBNFS_PC_REQ_PRIVATE)
124
125 #output
126 AC_CONFIG_FILES([Makefile]
127 [include/Makefile]
128 [lib/Makefile]
129 [mount/Makefile]
130 [nfs/Makefile]
131 [nlm/Makefile]
132 [portmap/Makefile]
133 [rquota/Makefile]
134 [examples/Makefile]
135 )
136
137 AC_OUTPUT([libnfs.pc])