[project @ 2002-12-05 23:49:43 by mthomas]
authormthomas <unknown>
Thu, 5 Dec 2002 23:49:43 +0000 (23:49 +0000)
committermthomas <unknown>
Thu, 5 Dec 2002 23:49:43 +0000 (23:49 +0000)
A new rejig script which takes arguments rather than hardwired locations.

distrib/prep-bin-dist-mingw-args [new file with mode: 0644]

diff --git a/distrib/prep-bin-dist-mingw-args b/distrib/prep-bin-dist-mingw-args
new file mode 100644 (file)
index 0000000..950f7de
--- /dev/null
@@ -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 <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.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/<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 .
+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"
+