You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
413 lines
11 KiB
413 lines
11 KiB
4 months ago
|
dnl Copyright 1996-2003,2005,2006,2008,2009 Alain Knaff.
|
||
|
dnl This file is part of mtools.
|
||
|
dnl
|
||
|
dnl Mtools is free software: you can redistribute it and/or modify
|
||
|
dnl it under the terms of the GNU General Public License as published by
|
||
|
dnl the Free Software Foundation, either version 3 of the License, or
|
||
|
dnl (at your option) any later version.
|
||
|
dnl
|
||
|
dnl Mtools is distributed in the hope that it will be useful,
|
||
|
dnl but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||
|
dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||
|
dnl GNU General Public License for more details.
|
||
|
dnl
|
||
|
dnl You should have received a copy of the GNU General Public License
|
||
|
dnl along with Mtools. If not, see <http://www.gnu.org/licenses/>.
|
||
|
dnl
|
||
|
dnl Process this file with autoconf to produce a configure script.
|
||
|
AC_INIT(buffer.c)
|
||
|
|
||
|
AC_CONFIG_HEADER(config.h)
|
||
|
|
||
|
dnl Checks for compiler
|
||
|
AC_PROG_CC
|
||
|
dnl AC_PROG_CXX
|
||
|
AC_PROG_GCC_TRADITIONAL
|
||
|
AC_PROG_INSTALL
|
||
|
AC_PROG_LN_S
|
||
|
|
||
|
AC_PATH_PROG(INSTALL_INFO, install-info, "")
|
||
|
|
||
|
dnl Check for Systems
|
||
|
AC_USE_SYSTEM_EXTENSIONS
|
||
|
AC_CANONICAL_SYSTEM
|
||
|
|
||
|
AC_C_CONST
|
||
|
AC_C_INLINE
|
||
|
|
||
|
dnl Check for configuration options
|
||
|
dnl Enable OS/2 extended density format disks
|
||
|
AC_ARG_ENABLE(xdf,
|
||
|
[ --enable-xdf support for OS/2 extended density format disks],
|
||
|
[if test x$enableval = xyes; then
|
||
|
AC_DEFINE([USE_XDF],1,[Define this if you want to use Xdf])
|
||
|
fi],AC_DEFINE([USE_XDF],1,[Define this if you want to use Xdf]))
|
||
|
|
||
|
|
||
|
dnl Check for configuration options
|
||
|
dnl Enable usage of vold on Solaris
|
||
|
AC_ARG_ENABLE(vold,
|
||
|
[ --enable-vold compatibility with Solaris' vold],
|
||
|
[if test x$enableval = xyes; then
|
||
|
AC_DEFINE([USING_VOLD],1,[Define this if you use mtools together with Solaris' vold])
|
||
|
fi])
|
||
|
|
||
|
|
||
|
dnl Check for configuration options
|
||
|
dnl Enable usage of vold on Solaris
|
||
|
AC_ARG_ENABLE(new-vold,
|
||
|
[ --enable-new-vold compatibility with Solaris' vold, new version],
|
||
|
[newVold=x$enableval
|
||
|
if test x$enableval = xyes; then
|
||
|
AC_DEFINE([USING_NEW_VOLD],1,[Define this if you use mtools together with the new Solaris' vold support])
|
||
|
fi])
|
||
|
|
||
|
|
||
|
dnl Check for configuration options
|
||
|
dnl Debugging
|
||
|
AC_ARG_ENABLE(debug,
|
||
|
[ --enable-debug debugging messages],
|
||
|
[if test x$enableval = xyes; then
|
||
|
AC_DEFINE([DEBUG],1,[Define for debugging messages])
|
||
|
fi])
|
||
|
|
||
|
|
||
|
dnl Check for configuration options
|
||
|
dnl Raw terminal code (enabled by default)
|
||
|
AC_ARG_ENABLE(raw_term,
|
||
|
[ --enable-raw-term raw terminal (readkey behaviour, default)],
|
||
|
[if test x$enableval = xyes; then
|
||
|
AC_DEFINE([USE_RAWTERM],1,[Define on non Unix OS'es which don't have the concept of tty's])
|
||
|
fi],
|
||
|
AC_DEFINE([USE_RAWTERM],1,[Define on non Unix OS'es which don't have the concept of tty's]))
|
||
|
|
||
|
|
||
|
dnl Checks for libraries.
|
||
|
|
||
|
dnl AC_IRIX_SUN
|
||
|
AC_CHECK_LIB(sun, getpwnam)
|
||
|
AC_CHECK_LIB(cam, cam_open_device)
|
||
|
AC_CHECK_LIB(iconv, iconv)
|
||
|
|
||
|
dnl Checks for header files.
|
||
|
AC_HEADER_STDC
|
||
|
AC_HEADER_SYS_WAIT
|
||
|
AC_CHECK_HEADERS(getopt.h sys/stat.h stdlib.h unistd.h linux/unistd.h \
|
||
|
libc.h fcntl.h limits.h sys/file.h sys/ioctl.h sys/time.h strings.h string.h \
|
||
|
sys/param.h memory.h malloc.h io.h signal.h sys/signal.h utime.h sgtty.h \
|
||
|
sys/floppy.h mntent.h sys/sysmacros.h netinet/in.h netinet/tcp.h assert.h \
|
||
|
iconv.h wctype.h wchar.h locale.h xlocale.h linux/fs.h)
|
||
|
AC_CHECK_HEADERS(termio.h sys/termio.h, [break])
|
||
|
AC_CHECK_HEADERS(termios.h sys/termios.h, [break])
|
||
|
|
||
|
dnl Check for types
|
||
|
AC_SYS_LARGEFILE
|
||
|
AC_TYPE_INT8_T
|
||
|
AC_TYPE_INT16_T
|
||
|
AC_TYPE_INT32_T
|
||
|
AC_TYPE_UINT8_T
|
||
|
AC_TYPE_UINT16_T
|
||
|
AC_TYPE_UINT32_T
|
||
|
AC_TYPE_SSIZE_T
|
||
|
AC_TYPE_SIZE_T
|
||
|
AC_TYPE_OFF_T
|
||
|
AC_TYPE_SIGNAL
|
||
|
AC_TYPE_UID_T
|
||
|
|
||
|
AC_CHECK_TYPES(caddr_t)
|
||
|
AC_CHECK_SIZEOF(size_t)
|
||
|
AC_CHECK_SIZEOF(time_t)
|
||
|
AC_CHECK_SIZEOF(long)
|
||
|
AC_CHECK_SIZEOF(long long)
|
||
|
|
||
|
dnl
|
||
|
dnl Check to see if llseek() is declared in unistd.h. On some libc's
|
||
|
dnl it is, and on others it isn't..... Thank you glibc developers....
|
||
|
dnl
|
||
|
dnl Warning! Use of --enable-gcc-wall may throw off this test.
|
||
|
dnl
|
||
|
dnl
|
||
|
AC_MSG_CHECKING(whether llseek declared in unistd.h)
|
||
|
AC_CACHE_VAL(mtools_cv_have_llseek_prototype,
|
||
|
AC_TRY_COMPILE(
|
||
|
[#include <unistd.h>], [extern int llseek(int);],
|
||
|
[mtools_cv_have_llseek_prototype=no],
|
||
|
[mtools_cv_have_llseek_prototype=yes]))
|
||
|
AC_MSG_RESULT($mtools_cv_have_llseek_prototype)
|
||
|
if test "$mtools_cv_have_llseek_prototype" = yes; then
|
||
|
AC_DEFINE([HAVE_LLSEEK_PROTOTYPE],1,[Define when you have an LLSEEK prototype])
|
||
|
fi
|
||
|
|
||
|
AC_MSG_CHECKING(whether lseek64 declared in unistd.h)
|
||
|
AC_CACHE_VAL(mtools_cv_have_lseek64_prototype,
|
||
|
AC_TRY_COMPILE(
|
||
|
[
|
||
|
#include "sysincludes.h"
|
||
|
#include <unistd.h>
|
||
|
], [extern int lseek64(int);],
|
||
|
[mtools_cv_have_lseek64_prototype=no],
|
||
|
[mtools_cv_have_lseek64_prototype=yes]))
|
||
|
AC_MSG_RESULT($mtools_cv_have_lseek64_prototype)
|
||
|
if test "$mtools_cv_have_lseek64_prototype" = yes; then
|
||
|
AC_DEFINE([HAVE_LSEEK64_PROTOTYPE],1,[Define when you have an LSEEK64 prototype])
|
||
|
fi
|
||
|
|
||
|
|
||
|
AC_CHECK_FUNCS(htons)
|
||
|
|
||
|
dnl Apparently termio before termios is preferred by A/UX, AIX and SCO
|
||
|
|
||
|
dnl Checks for typedefs, structures, and compiler characteristics.
|
||
|
AC_C_CONST
|
||
|
AC_C_INLINE
|
||
|
AC_TYPE_SIZE_T
|
||
|
AC_HEADER_TIME
|
||
|
AC_STRUCT_TM
|
||
|
|
||
|
|
||
|
dnl Checks for library functions.
|
||
|
AC_TYPE_SIGNAL
|
||
|
AC_CHECK_FUNCS(strerror random srandom strchr strrchr lockf flock \
|
||
|
strcasecmp strncasecmp strnlen atexit on_exit getpass memmove \
|
||
|
strdup strndup strcspn strspn strtoul strtol strtoll strtoi strtoui \
|
||
|
memcpy strpbrk memset setenv seteuid setresuid setpgrp \
|
||
|
tcsetattr tcflush basename fchdir media_oldaliases llseek lseek64 \
|
||
|
snprintf stat64 setlocale toupper_l strncasecmp_l \
|
||
|
wcsdup wcscasecmp wcsnlen putwc \
|
||
|
getuserid getgroupid \
|
||
|
alarm sigaction usleep)
|
||
|
|
||
|
dnl
|
||
|
dnl Check for 64-bit off_t
|
||
|
dnl
|
||
|
AC_DEFUN(SFS_CHECK_OFF_T_64,
|
||
|
[AC_CACHE_CHECK(for 64-bit off_t, sfs_cv_off_t_64,
|
||
|
AC_TRY_COMPILE([
|
||
|
#include <unistd.h>
|
||
|
#include <sys/types.h>
|
||
|
],[
|
||
|
switch (0) case 0: case (sizeof (off_t) <= 4):;
|
||
|
], sfs_cv_off_t_64=no, sfs_cv_off_t_64=yes))
|
||
|
if test $sfs_cv_off_t_64 = yes; then
|
||
|
AC_DEFINE([HAVE_OFF_T_64],1,[Define when the system has a 64 bit off_t type])
|
||
|
fi])
|
||
|
|
||
|
|
||
|
dnl ICE_CC_LOFF_T
|
||
|
dnl -------------
|
||
|
dnl
|
||
|
dnl If the CC compiler supports `loff_t' type, define `HAVE_LOFF_T'.
|
||
|
dnl
|
||
|
AC_DEFUN(ICE_CC_LOFF_T,
|
||
|
[
|
||
|
AC_MSG_CHECKING(whether ${CC} supports loff_t type)
|
||
|
AC_CACHE_VAL(ice_cv_have_loff_t,
|
||
|
[
|
||
|
AC_TRY_COMPILE([#include <sys/types.h>],[loff_t a;],
|
||
|
ice_cv_have_loff_t=yes,
|
||
|
ice_cv_have_loff_t=no)
|
||
|
])
|
||
|
AC_MSG_RESULT($ice_cv_have_loff_t)
|
||
|
if test "$ice_cv_have_loff_t" = yes; then
|
||
|
AC_DEFINE([HAVE_LOFF_T],1,[Define when the compiler supports LOFF_T type])
|
||
|
fi
|
||
|
])dnl
|
||
|
|
||
|
|
||
|
dnl ICE_CC_OFFSET_T
|
||
|
dnl -------------
|
||
|
dnl
|
||
|
dnl If the CC compiler supports `offset_t' type, define `HAVE_OFFSET_T'.
|
||
|
dnl
|
||
|
AC_DEFUN(ICE_CC_OFFSET_T,
|
||
|
[
|
||
|
AC_MSG_CHECKING(whether ${CC} supports offset_t type)
|
||
|
AC_CACHE_VAL(ice_cv_have_offset_t,
|
||
|
[
|
||
|
AC_TRY_COMPILE([#include <sys/types.h>],[offset_t a;],
|
||
|
ice_cv_have_offset_t=yes,
|
||
|
ice_cv_have_offset_t=no)
|
||
|
])
|
||
|
AC_MSG_RESULT($ice_cv_have_offset_t)
|
||
|
if test "$ice_cv_have_offset_t" = yes; then
|
||
|
AC_DEFINE([HAVE_OFFSET_T],1,[Define when the compiler supports OFFSET_T type])
|
||
|
fi
|
||
|
])dnl
|
||
|
|
||
|
dnl ICE_CC_LONG_LONG
|
||
|
dnl -------------
|
||
|
dnl
|
||
|
dnl If the CC compiler supports `long long' type, define `HAVE_LONG_LONG'.
|
||
|
dnl
|
||
|
AC_DEFUN(ICE_CC_LONG_LONG,
|
||
|
[
|
||
|
AC_MSG_CHECKING(whether ${CC} supports long long type)
|
||
|
AC_CACHE_VAL(ice_cv_have_long_long,
|
||
|
[
|
||
|
AC_TRY_COMPILE(,[long long a;],
|
||
|
ice_cv_have_long_long=yes,
|
||
|
ice_cv_have_long_long=no)
|
||
|
])
|
||
|
AC_MSG_RESULT($ice_cv_have_long_long)
|
||
|
if test "$ice_cv_have_long_long" = yes; then
|
||
|
AC_DEFINE([HAVE_LONG_LONG],1,[Define when the compiler supports LONG_LONG type])
|
||
|
fi
|
||
|
])dnl
|
||
|
|
||
|
dnl ICE_CC_OFF64_T
|
||
|
dnl -------------
|
||
|
dnl
|
||
|
dnl If the CC compiler supports `long long' type, define `HAVE_OFF64_T'.
|
||
|
dnl
|
||
|
AC_DEFUN(ICE_CC_OFF64_T,
|
||
|
[
|
||
|
AC_MSG_CHECKING(whether ${CC} supports off64_t type)
|
||
|
AC_CACHE_VAL(ice_cv_have_off64_t,
|
||
|
[
|
||
|
AC_TRY_COMPILE(,[off64_t a;],
|
||
|
ice_cv_have_off64_t=yes,
|
||
|
ice_cv_have_off64_t=no)
|
||
|
])
|
||
|
AC_MSG_RESULT($ice_cv_have_off64_t)
|
||
|
if test "$ice_cv_have_off64_t" = yes; then
|
||
|
AC_DEFINE([HAVE_OFF64_T],1,[Define when the compiler supports OFF64_T type])
|
||
|
fi
|
||
|
])dnl
|
||
|
|
||
|
|
||
|
SFS_CHECK_OFF_T_64
|
||
|
ICE_CC_LOFF_T
|
||
|
ICE_CC_OFFSET_T
|
||
|
ICE_CC_LONG_LONG
|
||
|
|
||
|
|
||
|
AC_CHECK_FUNCS(utimes utime, [break])
|
||
|
AC_CHECK_FUNCS(tzset gettimeofday)
|
||
|
|
||
|
CF_SYS_ERRLIST
|
||
|
|
||
|
[
|
||
|
host_os0=`echo $host_os | sed 's/-/_/g'`
|
||
|
host_os1=`echo $host_os0 | sed 's/\./_/g'`
|
||
|
host_os2=`echo $host_os0 | sed 's/^\([^.]*\)\..*$/\1/g'`
|
||
|
host_os3=`echo $host_os2 | sed 's/^\([^0-9]*\)[0-9]*$/\1/g'`
|
||
|
host_cpu1=`echo $host_cpu | sed 's/\./_/g'`
|
||
|
host_vendor1=`echo $host_vendor | sed 's/\./_/g'`
|
||
|
HOST_ID="-DCPU_$host_cpu1 -DVENDOR_$host_vendor1 -DOS_$host_os1"
|
||
|
if [ $host_os1 != $host_os2 ] ; then
|
||
|
HOST_ID="$HOST_ID -DOS_$host_os2"
|
||
|
fi
|
||
|
if [ $host_os1 != $host_os3 ] && [ $host_os2 != $host_os3 ] ; then
|
||
|
HOST_ID="$HOST_ID -DOS_$host_os3"
|
||
|
fi
|
||
|
|
||
|
my_host_os=`echo $host_os1 $host_os2 $host_os3 | sort -u`
|
||
|
objs=`echo $srcdir/*.c | sed 's/\.c$/.o/' `
|
||
|
if [ "X$GCC" = "Xyes" ] ; then
|
||
|
Wall=-Wall
|
||
|
if [ "$host_os3" = sunos ] ; then
|
||
|
Wall=""
|
||
|
fi
|
||
|
if [ "$host_os3" = ultrix ] ; then
|
||
|
Wall=""
|
||
|
fi
|
||
|
if [ "$host_os3" = linux ] ; then
|
||
|
CFLAGS="$CFLAGS -fno-strength-reduce"
|
||
|
fi
|
||
|
if [ "$host_os3" = aux ] ; then
|
||
|
CFLAGS="$CFLAGS -ZP"
|
||
|
MACHDEPLIBS="-lposix -UTIL"
|
||
|
fi
|
||
|
case "${host}" in
|
||
|
arm*-*-linux) CFLAGS="$CFLAGS -mstructure-size-boundary=8";;
|
||
|
esac
|
||
|
CFLAGS="$CFLAGS $Wall"
|
||
|
else
|
||
|
if [ $host_os3 = hpux ] ; then
|
||
|
CPPFLAGS="$CPPFLAGS -Ae"
|
||
|
fi
|
||
|
|
||
|
if [ $host_os3 = xenix ] ; then
|
||
|
CFLAGS="$CFLAGS -M2e"
|
||
|
fi
|
||
|
fi
|
||
|
|
||
|
if [ $host_os3 = hpux ] ; then
|
||
|
LDFLAGS="$LDFLAGS -z"
|
||
|
fi
|
||
|
|
||
|
if [ $host_os3 = xenix ] ; then
|
||
|
LDFLAGS="$LDFLAGS -M2e -i -f 5000"
|
||
|
fi
|
||
|
|
||
|
if [ $host_os2 = sysv4 ] ; then
|
||
|
SHLIB="-lc -L/usr/ucblib -lucb"
|
||
|
else
|
||
|
SHLIB=""
|
||
|
fi
|
||
|
|
||
|
if [ $host_os3 = isc ] ; then
|
||
|
CFLAGS="$CFLAGS -D_SYSV3"
|
||
|
SHLIB="-lc_s"
|
||
|
fi
|
||
|
|
||
|
if [ $host_os3 = solaris -a x$newVold = xxyes ] ; then
|
||
|
SHLIB="$SHLIB -s -lvolmgt"
|
||
|
fi
|
||
|
|
||
|
if [ $host_os3 = nextstep ] ; then
|
||
|
CFLAGS="$CFLAGS -DBSD"
|
||
|
SHLIB=""
|
||
|
fi
|
||
|
|
||
|
if [ -d /usr/5lib ] ; then
|
||
|
extralibdir=-L/usr/5lib
|
||
|
fi
|
||
|
|
||
|
]
|
||
|
|
||
|
AC_PATH_X
|
||
|
AC_PATH_XTRA
|
||
|
|
||
|
dnl Floppyd
|
||
|
AC_ARG_ENABLE(floppyd,
|
||
|
[ --enable-floppyd floppy daemon support],
|
||
|
[if test x$enableval != x; then
|
||
|
use_floppyd=$enableval
|
||
|
fi])
|
||
|
|
||
|
AC_CHECK_LIB(socket,main)
|
||
|
dnl AC_CHECK_LIB(nsl,getpwnam)
|
||
|
AC_CHECK_LIB(bsd,main)
|
||
|
AC_CHECK_HEADERS(sys/socket.h arpa/inet.h netdb.h)
|
||
|
|
||
|
if test X$use_floppyd = X -a X$no_x = X ; then
|
||
|
use_floppyd="yes"
|
||
|
fi
|
||
|
|
||
|
if test X$use_floppyd = Xyes; then
|
||
|
if test X$no_x = Xyes ; then
|
||
|
echo "Floppyd needs X support" >&2
|
||
|
echo "To compile without floppyd, use ./configure --disable-floppyd" >&2
|
||
|
exit 1
|
||
|
fi
|
||
|
FLOPPYD="floppyd floppyd_installtest"
|
||
|
BINFLOPPYD="\$(DESTDIR)\$(bindir)/floppyd \$(DESTDIR)\$(bindir)/floppyd_installtest"
|
||
|
AC_DEFINE([USE_FLOPPYD],1,[Define when you want to include floppyd support])
|
||
|
AC_FUNC_SETPGRP
|
||
|
else
|
||
|
FLOPPYD=
|
||
|
BINFLOPPYD=
|
||
|
fi
|
||
|
|
||
|
|
||
|
AC_SUBST(FLOPPYD)
|
||
|
AC_SUBST(BINFLOPPYD)
|
||
|
AC_SUBST(extraincludedir)
|
||
|
AC_SUBST(extralibdir)
|
||
|
AC_SUBST(MACHDEPLIBS)
|
||
|
AC_SUBST(SHLIB)
|
||
|
AC_SUBST(host_cpu)
|
||
|
AC_SUBST(HOST_ID)
|
||
|
AC_OUTPUT(Makefile)
|