AC_SUBST([CONFIGURE_ARGS], [$ac_configure_args])
+dnl ----------------------------------------------------------
+dnl ** Find unixy sort and find commands,
+dnl ** which are needed by FP_SETUP_PROJECT_VERSION
+
+dnl ** Find find command (for Win32's benefit)
+FP_PROG_FIND
+
+dnl ** Find sort command (for the benefit of Win32 environs)
+FP_PROG_SORT
+
+dnl ----------------------------------------------------------
FP_SETUP_PROJECT_VERSION
# Hmmm, we fix the RPM release number to 1 here... Is this convenient?
exit 1
fi
-dnl--------------------------------------------------------------------
-dnl * Deal with arguments telling us gmp is somewhere odd
-dnl--------------------------------------------------------------------
-
-FP_ARG_GMP
-
-GMP_INCLUDE_DIRS=
-GMP_LIB_DIRS=
-if test "x$gmp_libraries" != "xNONE"; then
- LDFLAGS="-L$gmp_libraries $LDFLAGS"
- GMP_LIB_DIRS=$gmp_libraries
-fi
-if test "x$gmp_includes" != "xNONE"; then
- CPPFLAGS="-I$gmp_includes $CPPFLAGS"
- GMP_INCLUDE_DIRS=$gmp_includes
-fi
-AC_SUBST(GMP_INCLUDE_DIRS)
-AC_SUBST(GMP_LIB_DIRS)
-
dnl --------------------------------------------------------------
dnl * Project specific configuration options
dnl --------------------------------------------------------------
fi
AC_SUBST([WithGhc])
+dnl ** Without optimization some INLINE trickery fails for GHCi
+SRC_CC_OPTS="-O"
+
dnl--------------------------------------------------------------------
dnl * Choose host(/target/build) platform
dnl--------------------------------------------------------------------
then
if test "${WithGhc}" != ""
then
- build=`${WithGhc} +RTS --info | grep '^ ,("Target platform"' | sed -e 's/.*, "//' -e 's/")//'`
+ build=`${WithGhc} +RTS --info | grep '^ ,("Target platform"' | sed -e 's/.*, "//' -e 's/")//' | tr -d '\r'`
echo "Build platform inferred as: $build"
else
echo "Can't work out build platform"
then
if test "${WithGhc}" != ""
then
- host=`${WithGhc} +RTS --info | grep '^ ,("Target platform"' | sed -e 's/.*, "//' -e 's/")//'`
+ host=`${WithGhc} +RTS --info | grep '^ ,("Target platform"' | sed -e 's/.*, "//' -e 's/")//' | tr -d '\r'`
echo "Host platform inferred as: $host"
else
echo "Can't work out host platform"
then
if test "${WithGhc}" != ""
then
- target=`${WithGhc} +RTS --info | grep '^ ,("Target platform"' | sed -e 's/.*, "//' -e 's/")//'`
+ target=`${WithGhc} +RTS --info | grep '^ ,("Target platform"' | sed -e 's/.*, "//' -e 's/")//' | tr -d '\r'`
echo "Target platform inferred as: $target"
else
echo "Can't work out target platform"
exeext=''
soext='.so'
-case $HostPlatform in
+case $host in
*-unknown-cygwin32)
AC_MSG_WARN([GHC does not support the Cygwin target at the moment])
AC_MSG_WARN([I'm assuming you wanted to build for i386-unknown-mingw32])
;;
i386-apple-darwin|powerpc-apple-darwin)
soext='.dylib'
+ CFLAGS="$CFLAGS -m32"
+ LDFLAGS="$LDFLAGS -m32"
+ SRC_CC_OPTS="$SRC_CC_OPTS -m32"
+ SRC_LD_OPTS="$SRC_LD_OPTS -m32"
;;
x86_64-apple-darwin)
soext='.dylib'
CFLAGS="$CFLAGS -m64"
LDFLAGS="$LDFLAGS -m64"
+ SRC_CC_OPTS="$SRC_CC_OPTS -m64"
+ SRC_LD_OPTS="$SRC_LD_OPTS -m64"
;;
esac
linux|freebsd|netbsd|openbsd|osf1|osf3|hpux|linuxaout|kfreebsdgnu|freebsd2|solaris2|cygwin32|mingw32|darwin|gnu|nextstep2|nextstep3|sunos4|ultrix|irix|aix)
;;
*)
- echo "Unknown OS $1"
+ echo "Unknown OS '$1'"
exit 1
;;
esac
BuildArch=`echo "$build" | sed 's/-.*//'`
BuildVendor=`echo "$build" | sed -e 's/.*-\(.*\)-.*/\1/'`
BuildOS=`echo "$build" | sed 's/.*-//'`
-BuildPlatform_CPP=`echo "$BuildPlatform" | sed 's/\.\|-/_/g'`
-BuildArch_CPP=`echo "$BuildArch" | sed 's/\.\|-/_/g'`
-BuildVendor_CPP=`echo "$BuildVendor" | sed 's/\.\|-/_/g'`
-BuildOS_CPP=`echo "$BuildOS" | sed 's/\.\|-/_/g'`
+BuildPlatform_CPP=`echo "$BuildPlatform" | sed -e 's/\./_/g' -e 's/-/_/g'`
+BuildArch_CPP=` echo "$BuildArch" | sed -e 's/\./_/g' -e 's/-/_/g'`
+BuildVendor_CPP=` echo "$BuildVendor" | sed -e 's/\./_/g' -e 's/-/_/g'`
+BuildOS_CPP=` echo "$BuildOS" | sed -e 's/\./_/g' -e 's/-/_/g'`
checkArch "$BuildArch"
checkVendor "$BuildVendor"
HostArch=`echo "$host" | sed 's/-.*//'`
HostVendor=`echo "$host" | sed -e 's/.*-\(.*\)-.*/\1/'`
HostOS=`echo "$host" | sed 's/.*-//'`
-HostPlatform_CPP=`echo "$HostPlatform" | sed 's/\.\|-/_/g'`
-HostArch_CPP=`echo "$HostArch" | sed 's/\.\|-/_/g'`
-HostVendor_CPP=`echo "$HostVendor" | sed 's/\.\|-/_/g'`
-HostOS_CPP=`echo "$HostOS" | sed 's/\.\|-/_/g'`
+HostPlatform_CPP=`echo "$HostPlatform" | sed -e 's/\./_/g' -e 's/-/_/g'`
+HostArch_CPP=` echo "$HostArch" | sed -e 's/\./_/g' -e 's/-/_/g'`
+HostVendor_CPP=` echo "$HostVendor" | sed -e 's/\./_/g' -e 's/-/_/g'`
+HostOS_CPP=` echo "$HostOS" | sed -e 's/\./_/g' -e 's/-/_/g'`
checkArch "$HostArch"
checkVendor "$HostVendor"
TargetArch=`echo "$target" | sed 's/-.*//'`
TargetVendor=`echo "$target" | sed -e 's/.*-\(.*\)-.*/\1/'`
TargetOS=`echo "$target" | sed 's/.*-//'`
-TargetPlatform_CPP=`echo "$TargetPlatform" | sed 's/\.\|-/_/g'`
-TargetArch_CPP=`echo "$TargetArch" | sed 's/\.\|-/_/g'`
-TargetVendor_CPP=`echo "$TargetVendor" | sed 's/\.\|-/_/g'`
-TargetOS_CPP=`echo "$TargetOS" | sed 's/\.\|-/_/g'`
+TargetPlatform_CPP=`echo "$TargetPlatform" | sed -e 's/\./_/g' -e 's/-/_/g'`
+TargetArch_CPP=` echo "$TargetArch" | sed -e 's/\./_/g' -e 's/-/_/g'`
+TargetVendor_CPP=` echo "$TargetVendor" | sed -e 's/\./_/g' -e 's/-/_/g'`
+TargetOS_CPP=` echo "$TargetOS" | sed -e 's/\./_/g' -e 's/-/_/g'`
checkArch "$TargetArch"
checkVendor "$TargetVendor"
[FP_PROG_LD()]
)
-dnl ** Build shared and/or static libs?
-dnl --------------------------------------------------------------
-AC_ARG_ENABLE(shared,
-[AC_HELP_STRING([--enable-shared],
-[Build shared libraries, if available (EXPERIMENTAL, non-working). [default=no]])],
-[ if test x"$enableval" = x"yes"; then
- AC_MSG_WARN([--enable-shared is experimental and not fully supported at this time])
- BuildSharedLibs=YES
- else
- BuildSharedLibs=NO
- fi
-],
-[BuildSharedLibs=NO]
-)
-AC_SUBST(BuildSharedLibs)
-
-# ToDo later:
-# AC_ARG_ENABLE(static,
-# [AC_HELP_STRING([--enable-static],
-# [Build static libraries. [default=yes]])],
-# [ if test x"$enableval" = x"yes"; then
-# BuildStaticLibs=YES
-# else
-# BuildStaticLibs=NO
-# fi
-# ],
-# [BuildStaticLibs=YES]
-# )
-# AC_SUBST(BuildStaticLibs)
-
dnl ** Booting from .hc files?
dnl --------------------------------------------------------------
AC_ARG_ENABLE(hc-boot,
dnl ** figure out how to invoke cpp directly (gcc -E is no good)
AC_PROG_CPP
-dnl ** Without optimization some INLINE trickery fails for GHCi
-SRC_CC_OPTS="-O"
-
-SRC_CC_OPTS="$SRC_CC_OPTS $CFLAGS"
-SRC_LD_OPTS="$SRC_LD_OPTS $LDFLAGS"
-
AC_SUBST(SRC_CC_OPTS)
AC_SUBST(SRC_LD_OPTS)
dnl ** figure out how to do context diffs
FP_PROG_CONTEXT_DIFF
-dnl ** Find find command (for Win32's benefit)
-FP_PROG_FIND
-
-dnl ** Find sort command (for the benefit of Win32 environs)
-FP_PROG_SORT
-
dnl Let's make sure install-sh is executable here. If we got it from
dnl a darcs repo, it might not be (see bug #978).
chmod +x install-sh
dnl ** check for DocBook toolchain
FP_CHECK_DOCBOOK_DTD
-FP_DIR_DOCBOOK_XSL([/usr/share/xml/docbook/stylesheet/nwalsh/current /usr/share/xml/docbook/stylesheet/nwalsh /usr/share/xml/docbook/xsl-stylesheets* /usr/share/sgml/docbook/docbook-xsl-stylesheets* /usr/share/sgml/docbook/xsl-stylesheets* /opt/kde?/share/apps/ksgmltools2/docbook/xsl /usr/share/docbook-xsl /usr/share/sgml/docbkxsl /usr/local/share/xsl/docbook /sw/share/xml/xsl/docbook-xsl /opt/local/share/xsl/docbook-xsl])
-
+FP_DOCBOOK_XSL
FP_PROG_DBLATEX
FP_PROG_HSTAGS
dnl ** check for more functions
dnl ** The following have been verified to be used in ghc/, but might be used somewhere else, too.
-AC_CHECK_FUNCS([getclock getrusage gettimeofday setitimer siginterrupt sysconf times ctime_r, sched_setaffinity])
+AC_CHECK_FUNCS([getclock getrusage gettimeofday setitimer siginterrupt sysconf times ctime_r sched_setaffinity setlocale])
AC_TRY_RUN([
#include <sys/types.h>
#define _POSIX_C_SOURCE 199506L
#include <time.h>])
-dnl ** For ghc/rts/gmp:
-AC_CHECK_FUNCS([getpagesize])
-
-dnl ** check whether this machine has gmp3 installed
-AC_CHECK_LIB(gmp, __gmpz_fdiv_qr, HaveLibGmp=YES; LibGmp=gmp,
- AC_CHECK_LIB(gmp3, __gmpz_fdiv_qr, HaveLibGmp=YES; LibGmp=gmp3,
- HaveLibGmp=NO; LibGmp=not-installed))
- if test $HaveLibGmp = YES; then
- AC_DEFINE([HAVE_LIB_GMP], [1], [Define to 1 if GMP library is installed.])
- fi;
-AC_SUBST(HaveLibGmp)
-AC_SUBST(LibGmp)
-
-dnl ** (Mac OS X only: check for GMP.framework)
-HaveFrameworkGMP=NO
-case $HostPlatform in
-*-apple-darwin)
- AC_MSG_CHECKING([for GMP.framework])
- save_libs="$LIBS"
- LIBS="-framework GMP"
- AC_TRY_LINK_FUNC(__gmpz_fdiv_qr, HaveFrameworkGMP=YES,)
- if test $HaveFrameworkGMP = YES; then
- AC_DEFINE([HAVE_FRAMEWORK_GMP], [1], [Define to 1 if GMP.framework is installed (Mac OS X only).])
- fi;
- LIBS="$save_libs"
- AC_MSG_RESULT([$HaveFrameworkGMP])
- ;;
-esac
-AC_SUBST(HaveFrameworkGMP)
-
dnl ** check for mingwex library
AC_CHECK_LIB(mingwex, closedir, HaveLibMingwEx=YES, HaveLibMingwEx=NO)
AC_SUBST(HaveLibMingwEx)
AC_DEFINE([HAVE_MINGWEX], [1], [Define to 1 if you have the mingwex library.])
fi
-if test "$HaveLibGmp" = "NO"; then
-if test "$HostArch_CPP" = "ia64" -o "$HostArch_CPP" = "mipseb" ; then
-AC_MSG_ERROR([You need to install libgmp (the in-tree version does not work on IA64 or mips64).])
-fi;
-fi;
-
dnl ** check whether this machine has BFD and liberty installed (used for debugging)
dnl the order of these tests matters: bfd needs liberty
AC_CHECK_LIB(iberty, xmalloc)
AC_SUBST(HavePapiLib)
AC_SUBST(HavePapiHeader)
+AC_CHECK_FUNCS(__mingw_vfprintf)
+
if test "$HavePapiLib" = "YES" -a "$HavePapiHeader" = "YES"; then
HavePapi=YES
else
fi
AC_SUBST(HavePapi)
-if test "$DIR_DOCBOOK_XSL" = "" ||
+if test "$HAVE_DOCBOOK_XSL" = "NO" ||
test "$XsltprocCmd" = ""
then
BUILD_DOCBOOK_HTML=NO
AC_SUBST(BUILD_DOCBOOK_PS)
AC_SUBST(BUILD_DOCBOOK_PDF)
-AC_CONFIG_FILES([mk/config.mk mk/project.mk compiler/ghc.cabal ghc/ghc-bin.cabal ghc.spec extra-gcc-opts docs/users_guide/ug-book.xml])
+if grep ' ' compiler/ghc.cabal.in 2>&1 >/dev/null; then
+ AC_MSG_ERROR([compiler/ghc.cabal.in contains tab characters; please remove them])
+fi
+
+AC_CONFIG_FILES([mk/config.mk mk/install.mk mk/project.mk compiler/ghc.cabal ghc/ghc-bin.cabal ghc.spec extra-gcc-opts docs/users_guide/ug-book.xml distrib/ghc.iss])
AC_CONFIG_COMMANDS([mk/stamp-h],[echo timestamp > mk/stamp-h])
AC_OUTPUT
which is version : $GccVersion
ld : $LdCmd
- Happy : $HappyCmd
- Alex : $AlexCmd
+ Happy : $HappyCmd ($HappyVersion)
+ Alex : $AlexCmd ($AlexVersion)
Python : $PythonCmd
- Perl : $PerlCmd"]
+ Perl : $PerlCmd
+ dblatex : $DblatexCmd
+ xsltproc : $XsltprocCmd"]
if test "$HSCOLOUR" = ""; then
echo ["
"]
fi
-echo "Building DocBook HTML documentation: $BUILD_DOCBOOK_HTML"
-echo "Building DocBook PS documentation: $BUILD_DOCBOOK_PS"
-echo "Building DocBook PDF documentation: $BUILD_DOCBOOK_PDF"
-
-echo ["Building shared libraries : $BuildSharedLibs"]
+echo ["\
+ Building DocBook HTML documentation : $BUILD_DOCBOOK_HTML
+ Building DocBook PS documentation : $BUILD_DOCBOOK_PS
+ Building DocBook PDF documentation : $BUILD_DOCBOOK_PDF"]
echo ["----------------------------------------------------------------------
"]