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.8) 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 "SunOS") OS_VERSION=solaris ;; "Linux") 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 ;; "GNU") OS_VERSION=linux ;; "AIX") OS_VERSION=sysvr4 ;; "OpenBSD") 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="$datadir" # $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/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) 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) # Usefull, but special to newlib/MSVC AC_CHECK_FUNCS(strlwr) dnl *** output to disk *** AC_OUTPUT