# GHC is passed to Cabal, so we need a native path
if test "${WithGhc}" != ""
then
- ghc_host=`${WithGhc} +RTS --info | grep 'Host platform' | sed -e 's/.*, "//' -e 's/")//'`
+ ghc_host=`"${WithGhc}" +RTS --info | grep 'Host platform' | sed -e 's/.*, "//' -e 's/")//'`
if test "$ghc_host" = "i386-unknown-mingw32"
then
WithGhc=`echo "${WithGhc}" | sed "s#^/\([a-zA-Z]\)/#\1:/#"`
else
# Canonicalise to <drive>:/path/to/ghc
- WithGhc=`cygpath -m ${WithGhc}`
+ WithGhc=`cygpath -m "${WithGhc}"`
fi
echo "GHC path canonicalised to: ${WithGhc}"
fi
then
if test "${WithGhc}" != ""
then
- build=`${WithGhc} +RTS --info | grep '^ ,("Target platform"' | sed -e 's/.*, "//' -e 's/")//' | tr -d '\r'`
+ 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/")//' | tr -d '\r'`
+ 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/")//' | tr -d '\r'`
+ 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"
checkOS() {
case $1 in
- linux|freebsd|netbsd|openbsd|osf1|osf3|hpux|linuxaout|kfreebsdgnu|freebsd2|solaris2|cygwin32|mingw32|darwin|gnu|nextstep2|nextstep3|sunos4|ultrix|irix|aix)
+ linux|freebsd|netbsd|openbsd|dragonfly|osf1|osf3|hpux|linuxaout|kfreebsdgnu|freebsd2|solaris2|cygwin32|mingw32|darwin|gnu|nextstep2|nextstep3|sunos4|ultrix|irix|aix)
;;
*)
echo "Unknown OS '$1'"
test inplace/mingw -ot ghc-tarballs/mingw/gcc-core*.tar.gz ||
test inplace/mingw -ot ghc-tarballs/mingw/libcrypt*.tar.bz2 ||
test inplace/mingw -ot ghc-tarballs/mingw/mingw-runtime*.tar.gz ||
- test inplace/mingw -ot ghc-tarballs/mingw/perl*.tar.bz2 ||
test inplace/mingw -ot ghc-tarballs/mingw/w32api*.tar.gz
then
AC_MSG_NOTICE([Making in-tree mingw tree])
tar -zxf ../../ghc-tarballs/mingw/gcc-core*.tar.gz &&
tar -jxf ../../ghc-tarballs/mingw/libcrypt*.tar.bz2 &&
tar -zxf ../../ghc-tarballs/mingw/mingw-runtime*.tar.gz &&
- tar -jxf ../../ghc-tarballs/mingw/perl*.tar.bz2 &&
tar -zxf ../../ghc-tarballs/mingw/w32api*.tar.gz &&
mv bin/gcc.exe bin/realgcc.exe
)
inplace/mingw/bin/realgcc.exe driver/gcc/gcc.c driver/utils/getLocation.c -Idriver/utils -o inplace/mingw/bin/gcc.exe
AC_MSG_NOTICE([In-tree mingw tree created])
fi
+ if ! test -d inplace/perl ||
+ test inplace/perl -ot ghc-tarballs/perl/ghc-perl*.tar.gz
+ then
+ AC_MSG_NOTICE([Making in-tree perl tree])
+ rm -rf inplace/perl
+ mkdir inplace
+ mkdir inplace/perl
+ (
+ cd inplace/perl &&
+ tar -zxf ../../ghc-tarballs/perl/ghc-perl*.tar.gz
+ )
+ AC_MSG_NOTICE([In-tree perl tree created])
+ fi
fi
dnl ** Which gcc to use?
dnl ** Find the path to sed
-AC_PATH_PROG(SedCmd,sed)
+AC_PATH_PROGS(SedCmd,gsed sed,sed)
dnl ** check for time command
dnl ** check for tar
dnl if GNU tar is named gtar, look for it first.
-AC_PATH_PROGS(TarCmd,gtar tar,tar)
+AC_PATH_PROGS(TarCmd,gnutar gtar tar,tar)
dnl ** check for patch
dnl if GNU patch is named gpatch, look for it first