exeext='.exe'
# We assume you're using mingw32 via the gcc that comes
# with cygwin, and not the native port, so let's augment
- # the gcc command-line used here with -mno-cygwin to
- # arrange for good things to happen.
- CFLAGS="-mno-cygwin $CFLAGS"
+ # the gcc command-line used here with -mno-cygwin -mwin32
+ # to arrange for good things to happen.
+ CFLAGS="-mno-cygwin -mwin32 $CFLAGS"
+ CPPFLAGS="-mno-cygwin -mwin32 $CPPFLAGS"
;;
m68k-next-nextstep2)
HostPlatform_CPP='m68k_next_nextstep2'
HostVendor_CPP='ibm'
HostOS_CPP='aix'
;;
+powerpc-apple-macosx*)
+ HostPlatform=powerpc-apple-macosx
+ TargetPlatform=powerpc-apple-macosx #hack
+ BuildPlatform=powerpc-apple-macosx #hack
+ HostPlatform_CPP='powerpc_apple_macosx'
+ HostArch_CPP='powerpc'
+ HostVendor_CPP='apple'
+ HostOS_CPP='macosx'
+ ;;
sparc-sun-sunos4*)
HostPlatform=sparc-sun-sunos4
TargetPlatform=sparc-sun-sunos4 #hack
AC_PATH_PROG(GHC,ghc)
fi
-AC_ARG_WITH(hc,
-[ --with-hc=<haskell compiler>
- Use a command different from 'ghc' to compile generic Haskell code.
-],
-[WithHc="$withval"],
-[WithHc=$GHC]
-)
-AC_SUBST(WithHc)
-
AC_ARG_WITH(ghc,
[ --with-ghc=<haskell compiler>
Use a command different from 'ghc' to compile GHC-specific Haskell code
)
AC_SUBST(WithGhc)
+AC_ARG_WITH(hc,
+[ --with-hc=<haskell compiler>
+ Use a command different from 'ghc' to compile generic Haskell code.
+],
+[WithHc="$withval"],
+[WithHc=$WithGhc]
+)
+AC_SUBST(WithHc)
+
if test "$WithGhc" != ""; then
FPTOOLS_GHC_VERSION([GhcVersion], [GhcMajVersion], [GhcMinVersion], [GhcPatchLevel])dnl
AC_SUBST(GhcVersion)dnl
AC_DEFINE(HAVE_WIN32_DLL_SUPPORT)
fi
+dnl ** Building a Win32-friendlier compiler?
+dnl --------------------------------------------------------------
+AC_ARG_ENABLE(minimal-unix-deps,
+[ --enable-minimal-unix-deps
+ Build a compiler that minimizes dependencies on Unix-like tools
+ under Win32, allowing the user to operate the compiler without
+ having to install Cygwin toolchain (say). (You still need
+ that toolchain to build GHC from sources though).
+],
+[MinimalUnixDeps=YES],
+[MinimalUnixDeps=NO]
+)
+AC_SUBST(MinimalUnixDeps)
+
dnl ** Enable the building of the OpenGL/GLUT binding in hslibs?
dnl --------------------------------------------------------------
AC_ARG_ENABLE(hopengl,
dnl ** look for `perl', but only in /bin on Windows
case $HostOS_CPP in
cygwin32|mingw32)
- AC_CHECK_PROG(PerlCmd,perl,/bin/perl,,/bin)
- if test -z "$PerlCmd"; then
- echo "You must install the version of Perl shipped with GHC"
- echo "(or a compatible one) in /bin."
- exit 1
- fi
+ AC_CHECK_PROG(PerlCmd,perl,/bin/perl,,/bin)
+ if test -z "$PerlCmd"; then
+ echo "You must install the version of Perl shipped with GHC"
+ echo "(or a compatible one) in /bin."
+ exit 1
+ fi
;;
*)
AC_PATH_PROG(PerlCmd,perl)
dnl ** figure out how to invoke cpp directly (gcc -E is no good)
AC_PROG_CPP
+case $HostOS_CPP in
+mingw32)
+ CPP="$CPP -mno-cygwin -mwin32"
+ ;;
+esac
dnl ** figure out how to do context diffs
FPTOOLS_PROG_DIFF
dnl on the suitability of the 'yacc' returned.)
FPTOOLS_PROG_YACCY
-dnl ** Find lex command (lex or flex) and library (-ll or -lfl)
-dnl ( not that we care about the latter, see mk/config.mk.in )
-AC_PROG_LEX
-
+dnl ** Find lex command (lex or flex) - *doesn't* use autoconf's
+dnl AC_PROG_LEX, since it doesn't actually check whether 'lex'
+dnl exists if 'flex' doesn't.
+AC_PROG_LEX_STRICT
dnl ** figure out how to do a BSD-ish install
AC_PROG_INSTALL
dnl ** check for jade/openjade & determine a working catalog
AC_PATH_PROGS(JadeCmd,openjade jade,jade)
FPTOOLS_DOCBOOK_CATALOG(Catalog, $JadeCmd, docs/fptools-both.dsl,
- /etc/sgml.catalog /usr/share/sgml/CATALOG.docbkdsl $hardtop/glafp-utils/docbook/CATALOG*)
+ /etc/sgml/catalog /etc/sgml.catalog /usr/share/sgml/CATALOG.docbkdsl $hardtop/glafp-utils/docbook/CATALOG*)
if test -z "$Catalog"; then
AC_MSG_RESULT([Warning: You will not be able to build the documentation.])
fi
dnl ** check for installed happy binary + version
dnl (don't do it if we're booting from .hc files though.)
-if (test "$BootingFromHc" = "NO"); then
+if test "$BootingFromHc" = "NO"; then
FPTOOLS_HAPPY
fi;
AC_HEADER_STDC
dnl ** check for specific header (.h) files that we are interested in
-AC_CHECK_HEADERS(Files.h assert.h console.h ctype.h dirent.h errno.h fcntl.h float.h ftw.h grp.h ieee754.h inttypes.h malloc.h memory.h nlist.h pascal.h pwd.h sgtty.h siginfo.h signal.h stat.h stdint.h stdlib.h stdarg.h string.h sys/fault.h sys/file.h sys/ioctl.h sys/limits.h sys/mman.h sys/param.h sys/procfs.h sys/resource.h sys/signal.h sys/socket.h netinet/tcp.h sys/stat.h sys/syscall.h sys/time.h sys/timeb.h sys/timers.h sys/times.h sys/types.h sys/utsname.h sys/vadvise.h sys/wait.h termio.h termios.h time.h types.h unistd.h utime.h values.h vfork.h bfd.h winsock.h)
+AC_CHECK_HEADERS(Files.h arpa/inet.h assert.h console.h ctype.h dirent.h errno.h fcntl.h float.h ftw.h grp.h ieee754.h inttypes.h malloc.h memory.h nlist.h pascal.h pwd.h sgtty.h siginfo.h signal.h stat.h stdint.h stdlib.h stdarg.h string.h sys/fault.h sys/file.h sys/ioctl.h sys/limits.h sys/mman.h sys/param.h sys/procfs.h sys/resource.h sys/signal.h sys/socket.h netdb.h netinet/in.h netinet/tcp.h sys/stat.h sys/syscall.h sys/time.h sys/timeb.h sys/timers.h sys/times.h sys/types.h sys/un.h sys/utsname.h sys/vadvise.h sys/wait.h termio.h termios.h time.h types.h unistd.h utime.h values.h vfork.h bfd.h winsock.h)
AC_CHECK_HEADER(readline/readline.h, HaveReadlineReadlineH=YES, HaveReadlineReadlineH=NO)
AC_CHECK_HEADER(readline/history.h, HaveReadlineHistoryH=YES, HaveReadlineHistoryH=NO)
FPTOOLS_CHECK_HTYPE(GLclampd)
fi
+FPTOOLS_CHECK_CCONSTS(E2BIG EACCES EADDRINUSE EADDRNOTAVAIL EADV EAFNOSUPPORT EAGAIN EALREADY EBADF EBADMSG EBADRPC EBUSY ECHILD ECOMM ECONNABORTED ECONNREFUSED ECONNRESET EDEADLK EDESTADDRREQ EDIRTY EDOM EDQUOT EEXIST EFAULT EFBIG EFTYPE EHOSTDOWN EHOSTUNREACH EIDRM EILSEQ EINPROGRESS EINTR EINVAL EIO EISCONN EISDIR ELOOP EMFILE EMLINK EMSGSIZE EMULTIHOP ENAMETOOLONG ENETDOWN ENETRESET ENETUNREACH ENFILE ENOBUFS ENODATA ENODEV ENOENT ENOEXEC ENOLCK ENOLINK ENOMEM ENOMSG ENONET ENOPROTOOPT ENOSPC ENOSR ENOSTR ENOSYS ENOTBLK ENOTCONN ENOTDIR ENOTEMPTY ENOTSOCK ENOTTY ENXIO EOPNOTSUPP EPERM EPFNOSUPPORT EPIPE EPROCLIM EPROCUNAVAIL EPROGMISMATCH EPROGUNAVAIL EPROTO EPROTONOSUPPORT EPROTOTYPE ERANGE EREMCHG EREMOTE EROFS ERPCMISMATCH ERREMOTE ESHUTDOWN ESOCKTNOSUPPORT ESPIPE ESRCH ESRMNT ESTALE ETIME ETIMEDOUT ETOOMANYREFS ETXTBSY EUSERS EWOULDBLOCK EXDEV)
+
dnl ** can we open files in binary mode?
FPTOOLS_O_BINARY
if test $HaveLibTermcap = YES && test x"$HaveLibReadline" = xYES ; then
AC_DEFINE(HAVE_READLINE_LIBS,1)
- LibsReadline="-lreadline -l$LibTermcap"
+ LibsReadline="readline $LibTermcap"
else
AC_DEFINE(HAVE_READLINE_LIBS,0)
LibsReadline=
fi
AC_SUBST(LibsReadline)
+if test "$HaveLibReadline"; then
+ AC_CHECK_LIB(readline, rl_erase_empty_line,
+ [AC_DEFINE(HAVE_READLINE_4, 1)],
+ [AC_DEFINE(HAVE_READLINE_4, 0)])
+ AC_CHECK_LIB(readline, rl_free_undo_list,
+ [AC_DEFINE(HAVE_READLINE_4_2, 1)],
+ [AC_DEFINE(HAVE_READLINE_4_2, 0)])
+else
+ AC_DEFINE(HAVE_READLINE_4, 0)
+ AC_DEFINE(HAVE_READLINE_4_2, 0)
+fi
+
+dnl ** check for math library
+FPTOOLS_CHECK_LIBM()
+AC_SUBST(LIBM)
+
dnl ################################################################
dnl Check for libraries
dnl ################################################################
-FPTOOLS_CHECK_LIB_NOWARN(dl, dlopen)
-FPTOOLS_CHECK_LIB_NOWARN(dld, shl_load)
+AC_CHECK_LIB(dl, dlopen,
+ [HaveLibDL=YES
+ AC_DEFINE(HAVE_LIBDL)
+ LIBS="$LIBS -ldl"],
+ [HaveLibDL=NO])
+AC_CHECK_FUNCS(dlopen)
+AC_SUBST(HaveLibDL)
+
FPTOOLS_CHECK_LIB_NOWARN(m, atan)
dnl --------------------------------------------------
FPTOOLS_CODE_BEFORE_DATA
AC_OUTPUT(mk/config.mk, echo timestamp > mk/stamp-h )
-
-echo ''
-echo '************************************************'
-echo '*** NOW DO: gmake boot followed by gmake all'
-echo '*** (where gmake == GNU make)'
-echo '************************************************'
-exit 0