From: mthomas Date: Thu, 5 Dec 2002 23:49:43 +0000 (+0000) Subject: [project @ 2002-12-05 23:49:43 by mthomas] X-Git-Tag: Approx_11550_changesets_converted~1385 X-Git-Url: http://git.megacz.com/?a=commitdiff_plain;h=6e5df3a4551b8d8b83e936b3f7b52edfc778ca8a;p=ghc-hetmet.git [project @ 2002-12-05 23:49:43 by mthomas] A new rejig script which takes arguments rather than hardwired locations. --- diff --git a/distrib/prep-bin-dist-mingw-args b/distrib/prep-bin-dist-mingw-args new file mode 100644 index 0000000..950f7de --- /dev/null +++ b/distrib/prep-bin-dist-mingw-args @@ -0,0 +1,105 @@ +#!/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 +# foo$ make binary-dist Project=Ghc +# foo$ cd ghc- +# foo$ ../distrib/prep-bin-dist-mingw-args +# + +# 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- ; ../distrib/prep-bin-dist-mingw" + exit 1; +fi; + +echo "Removing configure script files...not needed" +rm -f config.guess config.sub configure configure.in 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// 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 . +cp ${mingw_bin}/gcc-2.exe 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" +