X-Git-Url: https://git.cielonegro.org/gitweb.cgi?a=blobdiff_plain;f=patches%2Fpatch-aclocal.m4;fp=patches%2Fpatch-aclocal.m4;h=768cd4582af4406b490a95bbdd73d13359b063a3;hb=ed8454824e2b9eabe0ed6deebff5b57d97373028;hp=0000000000000000000000000000000000000000;hpb=2cc2db8deb54ee91ac126e3e66c59be2facb848d;p=pkgsrc-ghc.git diff --git a/patches/patch-aclocal.m4 b/patches/patch-aclocal.m4 new file mode 100644 index 0000000..768cd45 --- /dev/null +++ b/patches/patch-aclocal.m4 @@ -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],[