c2b6677d7b
Change-Id: I8868e19a75376d5abf2d62eda1774c9bd2defa4c
220 lines
5.2 KiB
Text
220 lines
5.2 KiB
Text
|
|
dnl Process this file with autoconf to produce a configure script.
|
|
AC_PREREQ(2.59)
|
|
|
|
dnl Set the package version
|
|
dnl Don't forget to update the PACKAGE, VERSION and BUILDINFO macros in
|
|
dnl dmake/win95/microsft/config.h to keep the native Microsoft C++
|
|
dnl compiler build happy.
|
|
AC_INIT(dmake, 4.12)
|
|
AC_CANONICAL_BUILD
|
|
BUILDINFO="$build"
|
|
|
|
AC_CONFIG_SRCDIR(man/dmake.tf)
|
|
AM_INIT_AUTOMAKE
|
|
|
|
AM_MAINTAINER_MODE
|
|
dnl Use this instead of AC_PROG_.. version
|
|
AM_PROG_CC_C_O
|
|
|
|
AC_CONFIG_HEADER(config.h)
|
|
|
|
dnl Extra parameters
|
|
AC_ARG_ENABLE(dbug,
|
|
[ --enable-dbug: Enable build with dbug macros.
|
|
],,)
|
|
|
|
AC_ARG_ENABLE(spawn,
|
|
[ --enable-spawn: Enables the use of spawn instead of fork/exec
|
|
if it is supported.
|
|
],,)
|
|
dnl Checks for programs.
|
|
AC_PROG_CPP
|
|
AC_PROG_INSTALL
|
|
AC_PROG_LN_S
|
|
AC_PROG_MAKE_SET
|
|
AC_PROG_RANLIB
|
|
|
|
dnl Checks for utilities.
|
|
AC_PROG_AWK
|
|
|
|
dnl Checks for OS
|
|
AC_MSG_CHECKING([the operating system])
|
|
|
|
_os=`uname`
|
|
|
|
if test `echo $_os | $AWK -F_ '{ print $1 }'` = "CYGWIN"; then
|
|
if test "$GCC" = "yes"; then
|
|
if test `$CC -dumpmachine | $AWK -F- '{ print $3 }'` = "mingw32"; then
|
|
_os="MINGW"
|
|
else
|
|
_os="CYGWIN"
|
|
fi
|
|
else
|
|
_os="MSVC6"
|
|
fi
|
|
fi
|
|
|
|
|
|
## At the moment all except mingw builds are OS_TYPE unix
|
|
OS_TYPE=unix
|
|
|
|
## The following allows like systems to share settings this is not meant to
|
|
## Imply that these OS are the same thing.
|
|
case "$_os" in
|
|
"OS/2")
|
|
OS_VERSION=os2
|
|
CASE_INSENSITIVE_FS=true
|
|
;;
|
|
"SunOS")
|
|
OS_VERSION=solaris
|
|
;;
|
|
Linux|GNU|GNU/*)
|
|
OS_VERSION=linux
|
|
;;
|
|
"CYGWIN")
|
|
OS_VERSION=cygwin
|
|
CASE_INSENSITIVE_FS=true
|
|
;;
|
|
"MINGW")
|
|
OS_VERSION=mingw
|
|
OS_TYPE=winnt
|
|
BUILDINFO="Windows / MinGW"
|
|
CASE_INSENSITIVE_FS=true
|
|
;;
|
|
"MSVC6")
|
|
OS_VERSION=msvc6
|
|
OS_TYPE=winnt
|
|
BUILDINFO="Windows / MS Visual C++"
|
|
CASE_INSENSITIVE_FS=true
|
|
;;
|
|
"Darwin")
|
|
OS_VERSION=macosx
|
|
# MacOSX is not garuanteed to be case insensitive, assume it's case
|
|
# sensitive, see issue 73661 for details.
|
|
;;
|
|
"FreeBSD")
|
|
OS_VERSION=linux
|
|
;;
|
|
"OSF1")
|
|
OS_VERSION=sysvr4
|
|
;;
|
|
"NetBSD")
|
|
OS_VERSION=linux
|
|
;;
|
|
"IRIX")
|
|
OS_VERSION=sysvr4
|
|
;;
|
|
"IRIX64")
|
|
OS_VERSION=sysvr4
|
|
;;
|
|
"AIX")
|
|
OS_VERSION=sysvr4
|
|
;;
|
|
"OpenBSD"|DragonFly)
|
|
OS_VERSION=linux
|
|
;;
|
|
*)
|
|
AC_MSG_ERROR([$_os operating system is not suitable to build dmake!])
|
|
;;
|
|
esac
|
|
|
|
AC_MSG_RESULT([checked ($_os)])
|
|
|
|
dnl Set OS dependent settings
|
|
AM_CONDITIONAL(OSTYPEUNIX, test x$OS_TYPE = xunix)
|
|
AM_CONDITIONAL(OSTYPEWIN32, test x$OS_TYPE = xwinnt)
|
|
|
|
AC_SUBST(OS_TYPE)
|
|
AC_SUBST(OS_VERSION)
|
|
AC_DEFINE_UNQUOTED(BUILDINFO, "$BUILDINFO", [Build info string])
|
|
|
|
if test x$CASE_INSENSITIVE_FS = xtrue; then
|
|
dnl Mac OSX with HFS+ and Windows FS are case insensitive (although case
|
|
dnl preserving).
|
|
AC_DEFINE(CASE_INSENSITIVE_FS, 1, [Assume case insensitive file system.])
|
|
fi
|
|
|
|
dnl =============================================
|
|
dnl Enable dbug
|
|
dnl =============================================
|
|
AC_MSG_CHECKING([whether to do a build with dbug macros])
|
|
if test -n "$enable_dbug" && test "$enable_dbug" != "no"; then
|
|
DBUG="1"
|
|
CPPFLAGS="$CPPFLAGS -DDBUG=1 -I\$(top_srcdir)/dbug/dbug"
|
|
AC_MSG_RESULT([yes])
|
|
else
|
|
DBUG=""
|
|
AC_MSG_RESULT([no])
|
|
fi
|
|
AM_CONDITIONAL(DBUG, test -n "$DBUG")
|
|
|
|
dnl =============================================
|
|
dnl Enable spawn
|
|
dnl =============================================
|
|
AC_MSG_CHECKING([if spawn shall be used])
|
|
if test -n "$enable_spawn" && test "$enable_spawn" != "no"; then
|
|
AC_DEFINE(ENABLE_SPAWN, 1, [Enables the use of spawn instead of fork/exec if it is supported.])
|
|
AC_MSG_RESULT([yes])
|
|
else
|
|
AC_MSG_RESULT([no])
|
|
fi
|
|
|
|
dnl Predefine the DMAKEROOT macro for unix targets.
|
|
eval dmakerootprefix="$datarootdir"
|
|
# $datadir is ${prefix}/share if not overridden
|
|
test "x$dmakerootprefix" != "x${dmakerootprefix##NONE}" && dmakerootprefix=${ac_default_prefix}/share
|
|
|
|
if test x$OS_TYPE = xunix; then
|
|
DMAKEROOT_H_LINE1='"DMAKEROOT := '${dmakerootprefix}'/startup",'
|
|
fi
|
|
AC_SUBST(DMAKEROOT_H_LINE1)
|
|
|
|
dnl List (all possible) *.in files
|
|
AC_CONFIG_FILES(dmakeroot.h Makefile startup/config.mk \
|
|
startup/Makefile startup/unix/Makefile \
|
|
startup/unix/linux/Makefile startup/unix/solaris/Makefile \
|
|
startup/unix/macosx/Makefile startup/unix/sysvr4/Makefile \
|
|
startup/unix/cygwin/Makefile \
|
|
startup/unix/os2/Makefile \
|
|
startup/winnt/Makefile startup/winnt/mingw/Makefile \
|
|
startup/winnt/msvc6/Makefile \
|
|
tests/Makefile)
|
|
|
|
dnl Checks for libraries.
|
|
|
|
dnl Initialize libtool
|
|
#AM_PROG_LIBTOOL
|
|
|
|
dnl Checks for header files.
|
|
AC_HEADER_DIRENT
|
|
AC_HEADER_STDC
|
|
AC_CHECK_HEADERS(fcntl.h limits.h strings.h sys/types.h sys/stat.h unistd.h errno.h utime.h spawn.h wait.h sys/wait.h sys/time.h cygwin/process.h)
|
|
|
|
dnl Checks for typedefs, structures, and compiler characteristics.
|
|
AC_C_CONST
|
|
AC_TYPE_OFF_T
|
|
AC_TYPE_SIZE_T
|
|
AC_CHECK_TYPES(int8)
|
|
AC_CHECK_TYPES(uint8)
|
|
AC_CHECK_TYPES(int16)
|
|
AC_CHECK_TYPES(uint16)
|
|
AC_CHECK_TYPES(int32)
|
|
AC_CHECK_TYPES(uint32)
|
|
AC_HEADER_TIME
|
|
AC_CHECK_SIZEOF(short, 2)
|
|
AC_CHECK_SIZEOF(int, 4)
|
|
AC_CHECK_SIZEOF(long, 4)
|
|
|
|
dnl Checks for library functions.
|
|
AC_FUNC_MEMCMP
|
|
AC_TYPE_SIGNAL
|
|
AC_FUNC_UTIME_NULL
|
|
AC_FUNC_VPRINTF
|
|
AC_CHECK_FUNCS(getcwd getwd strerror setvbuf tzset settz mkstemp tempnam gettimeofday setenv)
|
|
# Usefull, but special to newlib/MSVC
|
|
AC_CHECK_FUNCS(strlwr)
|
|
|
|
dnl *** output to disk ***
|
|
AC_OUTPUT
|
|
|