]> gitweb @ CieloNegro.org - pkgsrc-ghc.git/blobdiff - patches/patch-aclocal.m4
Merge branch 'ghc-7.4.1'
[pkgsrc-ghc.git] / patches / patch-aclocal.m4
diff --git a/patches/patch-aclocal.m4 b/patches/patch-aclocal.m4
new file mode 100644 (file)
index 0000000..768cd45
--- /dev/null
@@ -0,0 +1,119 @@
+$NetBSD$
+
+Hunk #1, #2:
+  For systems having as(1) that doesn't recognise .ident
+  directives. (Already merged to the upstream)
+
+Hunk #3:
+  Don't try to find ghc-pkg when we're bootstrapping from HC.
+
+Hunk #4:
+  Don't try to build ghc-pwd when we're bootstrapping from HC.
+
+
+--- aclocal.m4.orig    2012-02-01 18:10:32.000000000 +0000
++++ aclocal.m4
+@@ -245,6 +245,16 @@ AC_DEFUN([FPTOOLS_SET_HASKELL_PLATFORM_V
+         [HaskellHaveSubsectionsViaSymbols=False
+          AC_MSG_RESULT(no)])
++    dnl ** check for .ident assembler directive
++
++    AC_MSG_CHECKING(whether your assembler supports .ident directive)
++    AC_COMPILE_IFELSE(
++        [AC_LANG_SOURCE([__asm__ (".ident \"GHC x.y.z\"");])],
++        [AC_MSG_RESULT(yes)
++         HaskellHaveIdentDirective=True],
++        [AC_MSG_RESULT(no)
++         HaskellHaveIdentDirective=False])
++
+     dnl *** check for GNU non-executable stack note support (ELF only)
+     dnl     (.section .note.GNU-stack,"",@progbits)
+@@ -277,6 +287,7 @@ AC_DEFUN([FPTOOLS_SET_HASKELL_PLATFORM_V
+     AC_SUBST(HaskellTargetArch)
+     AC_SUBST(HaskellTargetOs)
+     AC_SUBST(HaskellHaveSubsectionsViaSymbols)
++    AC_SUBST(HaskellHaveIdentDirective)
+     AC_SUBST(HaskellHaveGnuNonexecStack)
+ ])
+@@ -1415,22 +1426,28 @@ AC_SUBST([FopCmd])
+ # Try to find a ghc-pkg matching the ghc mentioned in the environment variable
+ # WithGhc. Sets the output variable GhcPkgCmd.
+ AC_DEFUN([FP_PROG_GHC_PKG],
+-[AC_CACHE_CHECK([for ghc-pkg matching $WithGhc], fp_cv_matching_ghc_pkg,
+ [
+-# If we are told to use ghc-stage2, then we're using an in-tree
+-# compiler. In this case, we just want ghc-pkg, not ghc-pkg-stage2,
+-# so we sed off -stage[0-9]$. However, if we are told to use
+-# ghc-6.12.1 then we want to use ghc-pkg-6.12.1, so we keep any
+-# other suffix.
+-fp_ghc_pkg_guess=`echo $WithGhc | sed -e 's/-stage@<:@0-9@:>@$//' -e 's,ghc\(@<:@^/\\@:>@*\)$,ghc-pkg\1,'`
+-if "$fp_ghc_pkg_guess" list > /dev/null 2>&1; then
+-  fp_cv_matching_ghc_pkg=$fp_ghc_pkg_guess
+-else
+-  AC_MSG_ERROR([Cannot find matching ghc-pkg])
+-fi])
+-GhcPkgCmd=$fp_cv_matching_ghc_pkg
+-AC_SUBST([GhcPkgCmd])
+-])# FP_PROG_GHC_PKG
++    if test "$BootingFromHc" = "YES"; then
++        GhcPkgCmd=
++    else
++        AC_CACHE_CHECK([for ghc-pkg matching $WithGhc], fp_cv_matching_ghc_pkg,
++        [
++            # If we are told to use ghc-stage2, then we're using an in-tree
++            # compiler. In this case, we just want ghc-pkg, not ghc-pkg-stage2,
++            # so we sed off -stage[0-9]$. However, if we are told to use
++            # ghc-6.12.1 then we want to use ghc-pkg-6.12.1, so we keep any
++            # other suffix.
++            fp_ghc_pkg_guess=`echo "$WithGhc" | sed -e 's/-stage@<:@0-9@:>@$//' -e 's,ghc\(@<:@^/\\@:>@*\)$,ghc-pkg\1,'`
++            if "$fp_ghc_pkg_guess" list > /dev/null 2>&1; then
++                fp_cv_matching_ghc_pkg="$fp_ghc_pkg_guess"
++            else
++                AC_MSG_ERROR([Cannot find matching ghc-pkg])
++            fi
++        ])
++        GhcPkgCmd="$fp_cv_matching_ghc_pkg"
++    fi
++    AC_SUBST([GhcPkgCmd])
++])
+ # FP_GCC_EXTRA_FLAGS
+@@ -1729,18 +1746,28 @@ fi
+ # --------------------------------------------------------------
+ AC_DEFUN([FP_INTREE_GHC_PWD],[
+-AC_MSG_NOTICE(Building in-tree ghc-pwd)
+     dnl This would be
+     dnl     make -C utils/ghc-pwd clean && make -C utils/ghc-pwd
+     dnl except we don't want to have to know what make is called. Sigh.
+     rm -rf utils/ghc-pwd/dist-boot
+     mkdir  utils/ghc-pwd/dist-boot
+-    if ! "$WithGhc" -v0 -no-user-package-conf -hidir utils/ghc-pwd/dist-boot -odir utils/ghc-pwd/dist-boot -stubdir utils/ghc-pwd/dist-boot --make utils/ghc-pwd/Main.hs -o utils/ghc-pwd/dist-boot/ghc-pwd
+-    then
+-        AC_MSG_ERROR([Building ghc-pwd failed])
+-    fi
+-    GHC_PWD=utils/ghc-pwd/dist-boot/ghc-pwd
++    if test "$BootingFromHc" = "YES"; then
++        AC_MSG_NOTICE([Using pwd instead of in-tree ghc-pwd])
++        GHC_PWD=pwd
++    else
++        AC_MSG_NOTICE(Building in-tree ghc-pwd)
++        if "$WithGhc" -v0 -no-user-package-conf \
++                      -hidir utils/ghc-pwd/dist-boot \
++                      -odir utils/ghc-pwd/dist-boot \
++                      -stubdir utils/ghc-pwd/dist-boot \
++                      --make utils/ghc-pwd/Main.hs \
++                      -o utils/ghc-pwd/dist-boot/ghc-pwd; then
++            GHC_PWD=utils/ghc-pwd/dist-boot/ghc-pwd
++        else
++            AC_MSG_ERROR([Building ghc-pwd failed])
++        fi
++    fi
+ ])
+ AC_DEFUN([FP_BINDIST_GHC_PWD],[