From 8562ce89152234b39c54eeec81b0abcf0e08d5cf Mon Sep 17 00:00:00 2001 From: simonmar Date: Fri, 30 Jun 2000 09:34:09 +0000 Subject: [PATCH] [project @ 2000-06-30 09:34:09 by simonmar] Check the version of the installed ghc, and set GhcVersion, GhcMajVersion, GhcMinVersion and GhcPatchLevel make variables. --- aclocal.m4 | 29 ++++++++++++++++++++++++++++- configure.in | 8 +++++++- mk/config.mk.in | 5 +++++ 3 files changed, 40 insertions(+), 2 deletions(-) diff --git a/aclocal.m4 b/aclocal.m4 index 8cec317..e636a5c 100644 --- a/aclocal.m4 +++ b/aclocal.m4 @@ -1,4 +1,4 @@ -dnl $Id: aclocal.m4,v 1.51 2000/06/29 13:40:17 simonmar Exp $ +dnl $Id: aclocal.m4,v 1.52 2000/06/30 09:34:09 simonmar Exp $ dnl dnl Extra autoconf macros for the Glasgow fptools dnl @@ -350,6 +350,33 @@ fi rm -fr conftest* ]) +dnl Test for version of installed ghc. Uses $GHC. Largely pinched from c2hs. +dnl +AC_DEFUN(FPTOOLS_GHC_VERSION, +[ AC_CACHE_CHECK([version of ghc], fptools_cv_ghc_version, [ + fptools_cv_ghc_version=`$GHC --version 2>&1 | sed -e 's/.*\([[0-9]]\)\.\([[0-9]]*\)\([[.-]]\([[0-9]]*\)\)\?.*/\1.\2.\4/'` + ]) + ghc_maj_vers=`echo $fptools_cv_ghc_version | sed -e 's/^\([[0-9]]\).*/\1/'` + ghc_min_vers=`echo $fptools_cv_ghc_version | sed -e 's/^[[0-9]]\.\([[0-9]]*\).*/\1/'` + ghc_patch_level=`echo $fptools_cv_ghc_version | sed -e 's/^[[0-9]]\.[[0-9]]*\.\([[0-9]]*\)/\1/'` + + if test "$ghc_patch_level" = ""; then + GhcVersion=$ghc_maj_vers.$ghc_min_vers + ghc_patch_level="0" + else + GhcVersion=$ghc_maj_vers.$ghc_min_vers.$ghc_patch_level + fi + + GhcMajVersion=$ghc_maj_vers + GhcMinVersion=$ghc_min_vers + GhcPatchLevel=$ghc_patch_level + + AC_SUBST(GhcVersion) + AC_SUBST(GhcMajVersion) + AC_SUBST(GhcMinVersion) + AC_SUBST(GhcPatchLevel) +]) + dnl ** figure out the alignment restriction of a type dnl (required SIZEOF test but AC_CHECK_SIZEOF doesn't call PROVIDE dnl so we can't call REQUIRE) diff --git a/configure.in b/configure.in index a33ec32..6b91132 100644 --- a/configure.in +++ b/configure.in @@ -322,7 +322,13 @@ dnl AC_SUBST(TargetVendor_CPP) AC_SUBST(exeext) -AC_PATH_PROG(GHC,ghc) +if test "$GHC" = ""; then + AC_PATH_PROG(GHC,ghc) +fi +if test "$GHC" != ""; then + FPTOOLS_GHC_VERSION +fi + AC_PATH_PROGS(NHC,nhc nhc98) AC_PATH_PROG(HBC,hbc) diff --git a/mk/config.mk.in b/mk/config.mk.in index 7647f26..0eec930 100644 --- a/mk/config.mk.in +++ b/mk/config.mk.in @@ -509,6 +509,11 @@ HSTAGS_PREFIX = $(FPTOOLS_TOP)/ghc/utils/hstags/ # $(MKDEPENDHS) is the Haskell dependency generator (ghc -M). GHC = @GHC@ +GhcVersion = @GhcVersion@ +GhcMajVersion = @GhcMajVersion@ +GhcMinVersion = @GhcMinVersion@ +GhcPatchLevel = @GhcPatchLevel@ + HBC = @HBC@ NHC = @NHC@ -- 1.7.10.4