Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Fetching contributors…

Cannot retrieve contributors at this time

108 lines (89 sloc) 2.847 kb
#!/bin/sh
#
# Running 'binary-dist' gives us a tree which
# isn't quite right for the purposes of creating
# a mingw/win32 install tree. This script rejigs
# the tree.
#
# To use:
#
# foo$ cd <top of fptools build tree>
# foo$ make binary-dist Project=Ghc
# foo$ cd ghc-<version>
# foo$ ../distrib/prep-bin-dist-mingw-args <perl-dir> <mingw-top> <mingw-gcc-lib>
#
# Directory where a (cygwin-free) perl binary resides.
export perl_dir=$1
# Top of the MinGW32 compiler directory
export mingw_top=$2
# The gcc-lib directory of the mingw tree you want to
# include with the binary dist.
export gcc_lib=$mingw_top/$3
#
# The mingw include, lib, and bin directories.
#
export mingw_include=$mingw_top/include
export mingw_lib=$mingw_top/lib
export mingw_bin=$mingw_top/bin
# Play safe
if [ ! -d bin/i386-unknown-mingw32 ] ; then
echo "Doesn't look as if I'm in the toplevel directory of a mingw tree"
echo "Usage: cd ghc-<version> ; ../distrib/prep-bin-dist-mingw"
exit 1;
fi;
echo "Removing configure script files...not needed"
rm -f config.guess config.sub configure configure.ac mkdirhier
rm -f Makefile-bin.in Makefile.in aclocal.m4 install-sh
rm -rf autom4te.cache
echo "rejig bin/"
mv bin/i386-unknown-mingw32/* bin/
rmdir bin/i386-unknown-mingw32
strip bin/ghc.exe
echo "rejig lib/"
mv lib/i386-unknown-mingw32/* .
rmdir lib/i386-unknown-mingw32
rmdir lib
# mv ghc-asm.prl ghc-asm
# mv ghc-split.prl ghc-split
echo "create gcc-lib/"
#
# A bunch of stuff gets lumped into gcc-lib:
#
# - the gcc-lib/ + gcc-lib/include of the gcc you
# intend to ship (normally located as
# lib/gcc-lib/mingw/<gcc version>/ in your mingw tree.)
# - the contents of mingw/lib/
# - ld.exe, as.exe, dlltool.exe, dllwrap.exe from mingw/bin
#
mkdir gcc-lib
cp $gcc_lib/* gcc-lib/
cp $gcc_lib/include/ gcc-lib/
cp $mingw_lib/* gcc-lib/
cp $mingw_bin/as.exe gcc-lib/
cp $mingw_bin/ld.exe gcc-lib/
# Note: later versions of dlltool.exe depend on a bfd helper DLL.
cp $mingw_bin/dllwrap.exe gcc-lib/
cp $mingw_bin/dlltool.exe gcc-lib/
echo "extra header files inside of include/"
#
# contains mingw/include
mkdir include/mingw
cp -Rf $mingw_include/* include/mingw
#
# g++-3/ subdir causes problems with installer tool (+ being a
# troublesome character); leave out for now.
# rm -rf include/mingw/g++-3/ || echo "g++-3/ not there"
rm -rf include/mingw/c++ || echo "c++/ not there"
echo "add gcc"
cp ${mingw_bin}/gcc.exe .
echo "copy in perl too"
cp ${perl_dir}/perl.exe .
cp ${perl_dir}/perl56.dll .
# For reasons unknown, duplicate copies of misc package files in share/
# (leave them be for now.)
echo "formatting documentation"
cp README README.txt
mv share doc
cp ../ghc/docs/users_guide/users_guide.pdf doc/ || echo "No User Guide PDF doc found"
cp ../hslibs/doc/hslibs.pdf doc/ || echo "No HSLIBS PDF doc found"
exit 0
Jump to Line
Something went wrong with that request. Please try again.