3bc29e8df0afa1eaa66c07ff50ccfa013ffe2d40
[ntfsprogs.git] / configure.ac
1 AC_PREREQ(2.57)
2 AC_INIT(ntfsprogs, 200309071734, linux-ntfs-dev@lists.sourceforge.net)
3 AC_CANONICAL_TARGET([])
4 AC_CONFIG_SRCDIR([config.h.in])
5 AM_CONFIG_HEADER([config.h])
6 AM_INIT_AUTOMAKE
7
8 # This is required to get past a stupid configure bug when making the rpm.
9 # Basically it is broken to specify the host as a command line argument to
10 # configure on its own, i.e. without giving --host=. It is supposed to work
11 # but doesn't. So this sets host and erases nonopt effectively moving the
12 # standalone command line option into the --host= form.
13 if test "x$nonopt" != "xNONE"; then
14   host="$nonopt"
15   nonopt="NONE"
16 fi
17
18 AM_MAINTAINER_MODE
19 if test "$USE_MAINTAINER_MODE" = "yes";then
20   CFLAGS="$CFLAGS -ggdb3 -Wall -Wstrict-prototypes -Wsign-compare"  ## FIXME: fix all sources: -Wsign-compare
21   fi
22
23 AC_PREFIX_DEFAULT(/usr/local)
24 if test "x$prefix" = "xNONE"; then
25   prefix=$ac_default_prefix
26   ac_configure_args="$ac_configure_args --prefix $prefix"
27 fi
28
29 # Command-line options.
30 AC_ARG_ENABLE(debug,
31         [  --enable-debug          enable debugging], ,
32         enable_debug=no
33 )
34
35 AC_ARG_ENABLE(really-static,
36         [  --enable-really-static  completely static binaries], ,
37         enable_really_static=no
38 )
39
40 AM_CONDITIONAL(DEBUG, test "$enable_debug" = yes)
41 AM_CONDITIONAL(REALLYSTATIC, test "$enable_really_static" = yes)
42
43 # Checks for programs.
44 AC_PROG_CC
45 AC_PROG_INSTALL
46 AC_PROG_LN_S
47 AC_PROG_MAKE_SET
48 AC_PROG_RANLIB
49
50 # create a working libtool-script
51 if test -z "$LIBTOOL"; then
52   AC_LANG_PUSH(C)
53   AM_PROG_LIBTOOL
54   #LIBTOOL="$LIBTOOL --silent"
55   AC_LANG_POP
56   AC_SUBST(LIBTOOL_DEPS)
57   LIBTOOL_SHELL='/bin/sh ./libtool'
58 else
59   LIBTOOL_SHELL=$LIBTOOL
60 fi
61
62 # add --with-extra-includes and --with-extra-libs switch to ./configure
63 all_libraries="$all_libraries $USER_LDFLAGS"
64 all_includes="$all_includes $USER_INCLUDES"
65 AC_SUBST(all_includes)
66 AC_SUBST(all_libraries)
67
68 AC_SUBST(CFLAGS)
69 AC_SUBST(CPPFLAGS)
70 AC_SUBST(LDFLAGS)
71
72 AC_SUBST(AUTODIRS)
73
74 # Get compiler name
75 if test ! -z "$CC"; then
76         _cc="$CC"
77 else
78         _cc="gcc"
79 fi
80
81 # Check for gcc version being >= 2.96.
82 AC_MSG_CHECKING(version of $_cc)
83 cc_version=`./getgccver $_cc`
84 cc_major=`echo $cc_version | cut -d'.' -f1`
85 cc_minor=`echo $cc_version | cut -d'.' -f2`
86 if test -z "$cc_version"; then
87         cc_version="v. ?.??"
88         cc_major=1
89         cc_minor=1
90 fi
91 if test $cc_major -lt 2 -o \( $cc_major -eq 2 -a $cc_minor -lt 96 \) ; then
92 cc_version="$cc_version, bad"
93 AC_MSG_RESULT($cc_version)
94 AC_MSG_ERROR(Please upgrade your gcc compiler to gcc-2.96+ or gcc-3+ version!\
95  Earlier compiler versions will NOT work as these do not support \
96 unnamed/annonymous structures and unions which are used heavily in linux-ntfs.)
97 fi
98 cc_version="$cc_version, ok"
99 AC_MSG_RESULT($cc_version)
100
101 # Add -fms-extensions for gcc-3.2+.
102 AM_CONDITIONAL(GCC_NEEDS_MS_EXTENSIONS, test $cc_major -gt 3 -o \( $cc_major -eq 3 -a $cc_minor -ge 2 \))
103
104 # Checks for libraries.
105
106 # Checks for header files.
107 AC_HEADER_STDC
108 AC_CHECK_HEADERS([fcntl.h libintl.h limits.h locale.h mntent.h stddef.h \
109         stdint.h stdlib.h stdio.h stdarg.h string.h strings.h errno.h time.h \
110         sys/ioctl.h sys/mount.h unistd.h utime.h wchar.h getopt.h sys/stat.h \
111         sys/types.h asm/byteorder.h linux/major.h linux/fd.h])
112
113 # Checks for typedefs, structures, and compiler characteristics.
114 AC_HEADER_STDBOOL
115 AC_C_CONST
116 AC_C_INLINE
117 AC_C_LONG_DOUBLE
118 AC_TYPE_OFF_T
119 AC_TYPE_SIZE_T
120 AC_STRUCT_ST_BLOCKS
121 AC_CHECK_MEMBERS([struct stat.st_rdev])
122
123 # Checks for library functions.
124 AC_FUNC_GETMNTENT
125 AC_PROG_GCC_TRADITIONAL
126 AC_FUNC_MALLOC
127 AC_FUNC_MBRTOWC
128 AC_FUNC_MEMCMP
129 AC_FUNC_REALLOC
130 AC_FUNC_STAT
131 AC_FUNC_STRFTIME
132 AC_FUNC_UTIME_NULL
133 AC_FUNC_VPRINTF
134 AC_CHECK_FUNCS([atexit fdatasync hasmntopt memmove memset regcomp setlocale \
135         strcasecmp strchr strdup strerror strtol strtoul utime])
136
137 # Makefiles to be created by configure.
138 AC_CONFIG_FILES([
139         Makefile
140         doc/Makefile
141         include/Makefile
142         libntfs/Makefile
143         ntfsprogs/Makefile
144         ntfsprogs/mkntfs.8
145         ntfsprogs/ntfsfix.8
146         ntfsprogs/ntfsinfo.8
147         ntfsprogs/ntfslabel.8
148         ntfsprogs/ntfsprogs.8
149         ntfsprogs/ntfsresize.8
150         ntfsprogs/ntfsundelete.8
151         ntfsprogs/ntfscluster.8
152         ntfsprogs.spec
153 ])
154 AC_OUTPUT