mirror of
https://git.code.sf.net/p/ntfs-3g/ntfs-3g.git
synced 2024-11-27 12:03:42 +08:00
f0fd6cce62
and other little bits. - Add --disable-default-device-io-ops option to ./configure which makes for a smaller libntfs but results in ntfs_mount() always returning error with errno set to ENOTSUP. You need to use ntfs_device_mount() instead. This only makes sense with "make libs" and when an application linking statically against libntfs provides its own device io operations. (Feature requested by Christophe Grenier.) (Logical change 1.283)
244 lines
7.2 KiB
Plaintext
244 lines
7.2 KiB
Plaintext
#
|
|
# configure.ac - Source file to generate "./configure" to prepare package for
|
|
# compilation.
|
|
#
|
|
# Copyright (c) 2000-2004 Anton Altaparmakov
|
|
# Copyright (c) 2003 Jan Kratochvil
|
|
#
|
|
# This program/include file is free software; you can redistribute it and/or
|
|
# modify it under the terms of the GNU General Public License as published
|
|
# by the Free Software Foundation; either version 2 of the License, or
|
|
# (at your option) any later version.
|
|
#
|
|
# This program/include file is distributed in the hope that it will be
|
|
# useful, but WITHOUT ANY WARRANTY; without even the implied warranty
|
|
# of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
# GNU General Public License for more details.
|
|
#
|
|
# You should have received a copy of the GNU General Public License
|
|
# along with this program (in the main directory of the Linux-NTFS
|
|
# distribution in the file COPYING); if not, write to the Free Software
|
|
# Foundation,Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
|
#
|
|
|
|
AC_PREREQ(2.57)
|
|
AC_INIT(ntfsprogs, 1.8.5-WIP, linux-ntfs-dev@lists.sourceforge.net)
|
|
AC_CANONICAL_TARGET([])
|
|
AC_CONFIG_SRCDIR([config.h.in])
|
|
AM_CONFIG_HEADER([config.h])
|
|
AM_INIT_AUTOMAKE
|
|
AM_MAINTAINER_MODE
|
|
AM_ENABLE_SHARED
|
|
AM_ENABLE_STATIC
|
|
|
|
# This is required to get past a stupid configure bug when making the rpm.
|
|
# Basically it is broken to specify the host as a command line argument to
|
|
# configure on its own, i.e. without giving --host=. It is supposed to work
|
|
# but doesn't. So this sets host and erases nonopt effectively moving the
|
|
# standalone command line option into the --host= form.
|
|
if test "x$nonopt" != "xNONE"; then
|
|
host="$nonopt"
|
|
nonopt="NONE"
|
|
fi
|
|
|
|
AC_PREFIX_DEFAULT(/usr/local)
|
|
if test "x$prefix" = "xNONE"; then
|
|
prefix=$ac_default_prefix
|
|
ac_configure_args="$ac_configure_args --prefix $prefix"
|
|
fi
|
|
|
|
# Command-line options.
|
|
AC_ARG_ENABLE(debug,
|
|
AC_HELP_STRING([--enable-debug],[enable additional debugging code and
|
|
output]), ,
|
|
enable_debug=no
|
|
)
|
|
|
|
# AH_TEMPLATE is needed here because we want to have a template in config.h
|
|
# regardless of whether the option is given or not.
|
|
AH_TEMPLATE([NO_NTFS_DEVICE_DEFAULT_IO_OPS],
|
|
[Define this if you do not want the NTFS library to provide default
|
|
device io operations. This means that you cannot use ntfs_mount()
|
|
but have to use ntfs_device_mount() and provide your own device
|
|
operations.])
|
|
AC_ARG_ENABLE(default-device-io-ops,
|
|
AC_HELP_STRING([--disable-default-device-io-ops],
|
|
[do not provide default device io operations]),
|
|
if test "$enable_default_device_io_ops" == "no"; then
|
|
AC_DEFINE(NO_NTFS_DEVICE_DEFAULT_IO_OPS)
|
|
fi,
|
|
)
|
|
|
|
AC_ARG_ENABLE(gnome-vfs,
|
|
AC_HELP_STRING([--disable-gnome-vfs],
|
|
[omit Gnome-VFS-2.0 'libntfs' interface
|
|
(default=detect)]), ,
|
|
enable_gnome_vfs=auto
|
|
)
|
|
|
|
AC_ARG_ENABLE(really-static,
|
|
AC_HELP_STRING([--enable-really-static],[create completely static
|
|
binaries for the utilities]), ,
|
|
enable_really_static=no
|
|
)
|
|
AM_CONDITIONAL(REALLYSTATIC, test "$enable_really_static" = yes)
|
|
|
|
# Enable GNU extensions on systems that have them.
|
|
AH_VERBATIM([_GNU_SOURCE],
|
|
[/* Enable GNU extensions on systems that have them. */
|
|
#ifndef _GNU_SOURCE
|
|
# define _GNU_SOURCE
|
|
#endif])
|
|
AC_DEFINE(_GNU_SOURCE)
|
|
|
|
# Checks for programs.
|
|
AC_PROG_CC
|
|
AC_PROG_INSTALL
|
|
AC_PROG_LN_S
|
|
AC_PROG_MAKE_SET
|
|
AC_PROG_LIBTOOL
|
|
|
|
# Enable large file support.
|
|
AC_SYS_LARGEFILE
|
|
|
|
# Autodetect whether to build Gnome VFS or not.
|
|
compile_gnome_vfs=false
|
|
if test "$enable_gnome_vfs" != "no"; then
|
|
# Make compilation work on SuSE 9.0.
|
|
if test -d "/opt/gnome"; then
|
|
export PKG_CONFIG_PATH="/opt/gnome/lib/pkgconfig"
|
|
fi
|
|
PKG_CHECK_MODULES(LIBNTFS_GNOMEVFS, [glib-2.0 gthread-2.0 gnome-vfs-module-2.0],
|
|
[ compile_gnome_vfs=true ],
|
|
[
|
|
if test "$enable_gnome_vfs" = "yes"; then
|
|
AC_MSG_ERROR([Linux-NTFS Gnome VFS module requires glib-2.0 and gnome-vfs-module-2.0 libraries.])
|
|
else
|
|
AC_MSG_WARN([Linux-NTFS Gnome VFS module requires glib-2.0 and gnome-vfs-module-2.0 libraries.])
|
|
fi
|
|
])
|
|
fi
|
|
AM_CONDITIONAL(ENABLE_GNOME_VFS, $compile_gnome_vfs)
|
|
|
|
# add --with-extra-includes and --with-extra-libs switch to ./configure
|
|
all_libraries="$all_libraries $USER_LDFLAGS"
|
|
all_includes="$all_includes $USER_INCLUDES"
|
|
AC_SUBST(all_includes)
|
|
AC_SUBST(all_libraries)
|
|
|
|
# Get compiler name
|
|
if test ! -z "$CC"; then
|
|
_cc="$CC"
|
|
else
|
|
_cc="gcc"
|
|
fi
|
|
|
|
# Check for gcc version being >= 2.96.
|
|
AC_MSG_CHECKING(version of $_cc)
|
|
cc_version=`./getgccver $_cc`
|
|
cc_major=`echo $cc_version | cut -d'.' -f1`
|
|
cc_minor=`echo $cc_version | cut -d'.' -f2`
|
|
if test -z "$cc_version"; then
|
|
cc_version="v. ?.??"
|
|
cc_major=1
|
|
cc_minor=1
|
|
fi
|
|
if test $cc_major -lt 2 -o \( $cc_major -eq 2 -a $cc_minor -lt 96 \); then
|
|
cc_version="$cc_version, bad"
|
|
AC_MSG_RESULT($cc_version)
|
|
AC_MSG_ERROR(Please upgrade your gcc compiler to gcc-2.96+ or gcc-3+ version!\
|
|
Earlier compiler versions will NOT work as these do not support \
|
|
unnamed/annonymous structures and unions which are used heavily in linux-ntfs.)
|
|
fi
|
|
cc_version="$cc_version, ok"
|
|
AC_MSG_RESULT($cc_version)
|
|
|
|
# Add our compiler switches not discarding 'CFLAGS' as they may have been
|
|
# passed to us by rpmbuild(8).
|
|
# We add -Wall to enable compiler warnings.
|
|
CFLAGS="$CFLAGS -Wall"
|
|
|
|
# Add lots of extra warnings if in maintainer mode.
|
|
if test "$USE_MAINTAINER_MODE" = "yes";then
|
|
CFLAGS="$CFLAGS -Wpointer-arith -Wmissing-declarations -Wmissing-prototypes -Wstrict-prototypes -Wshadow -Wwrite-strings -W -Wcast-align -Waggregate-return -Wbad-function-cast -Wcast-qual -Wundef -Wredundant-decls -Wsign-compare"
|
|
fi
|
|
|
|
# Add -fms-extensions for gcc-3.2+.
|
|
if test $cc_major -gt 3 -o \( $cc_major -eq 3 -a $cc_minor -ge 2 \); then
|
|
CFLAGS="$CFLAGS -fms-extensions"
|
|
fi
|
|
|
|
# Add debugging switches if in debug mode.
|
|
if test "$enable_debug" = "yes"; then
|
|
CFLAGS="$CFLAGS -ggdb3 -DDEBUG"
|
|
fi
|
|
|
|
AC_SUBST(CFLAGS)
|
|
AC_SUBST(CPPFLAGS)
|
|
AC_SUBST(LDFLAGS)
|
|
AC_SUBST(LIBS)
|
|
|
|
AC_SUBST(LIBNTFS_GNOMEVFS_CFLAGS)
|
|
AC_SUBST(LIBNTFS_GNOMEVFS_LIBS)
|
|
|
|
AC_SUBST(AUTODIRS)
|
|
|
|
# Checks for libraries.
|
|
|
|
# Checks for header files.
|
|
AC_HEADER_STDC
|
|
AC_CHECK_HEADERS([fcntl.h libintl.h limits.h locale.h mntent.h stddef.h \
|
|
stdint.h stdlib.h stdio.h stdarg.h string.h strings.h errno.h time.h \
|
|
unistd.h utime.h wchar.h getopt.h features.h endian.h byteswap.h \
|
|
sys/endian.h sys/param.h sys/ioctl.h sys/mount.h sys/stat.h \
|
|
sys/types.h sys/vfs.h linux/major.h linux/fd.h machine/endian.h])
|
|
|
|
# Checks for typedefs, structures, and compiler characteristics.
|
|
AC_HEADER_STDBOOL
|
|
AC_C_CONST
|
|
AC_C_INLINE
|
|
AC_C_LONG_DOUBLE
|
|
AC_TYPE_OFF_T
|
|
AC_TYPE_SIZE_T
|
|
AC_STRUCT_ST_BLOCKS
|
|
AC_CHECK_MEMBERS([struct stat.st_rdev])
|
|
|
|
# Checks for library functions.
|
|
AC_FUNC_GETMNTENT
|
|
AC_PROG_GCC_TRADITIONAL
|
|
AC_FUNC_MALLOC
|
|
AC_FUNC_MBRTOWC
|
|
AC_FUNC_MEMCMP
|
|
AC_FUNC_REALLOC
|
|
AC_FUNC_STAT
|
|
AC_FUNC_STRFTIME
|
|
AC_FUNC_UTIME_NULL
|
|
AC_FUNC_VPRINTF
|
|
AC_CHECK_FUNCS([atexit fdatasync hasmntopt memmove memset regcomp setlocale \
|
|
strcasecmp strchr strdup strerror strtol strtoul utime mbsinit])
|
|
|
|
# Makefiles to be created by configure.
|
|
AC_CONFIG_FILES([
|
|
Makefile
|
|
doc/Makefile
|
|
include/Makefile
|
|
include/ntfs/Makefile
|
|
libntfs/Makefile
|
|
libntfs/libntfs.conf
|
|
libntfs/libntfs-gnomevfs.8
|
|
ntfsprogs/Makefile
|
|
ntfsprogs/mkntfs.8
|
|
ntfsprogs/ntfscat.8
|
|
ntfsprogs/ntfsclone.8
|
|
ntfsprogs/ntfscluster.8
|
|
ntfsprogs/ntfsfix.8
|
|
ntfsprogs/ntfsinfo.8
|
|
ntfsprogs/ntfslabel.8
|
|
ntfsprogs/ntfsls.8
|
|
ntfsprogs/ntfsprogs.8
|
|
ntfsprogs/ntfsresize.8
|
|
ntfsprogs/ntfsundelete.8
|
|
ntfsprogs.spec
|
|
])
|
|
AC_OUTPUT
|