diff options
Diffstat (limited to 'dmake/configure.in')
-rwxr-xr-x | dmake/configure.in | 220 |
1 files changed, 220 insertions, 0 deletions
diff --git a/dmake/configure.in b/dmake/configure.in new file mode 100755 index 000000000000..498c7b2372de --- /dev/null +++ b/dmake/configure.in @@ -0,0 +1,220 @@ + +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") + 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) + +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 + |