summaryrefslogtreecommitdiff
path: root/distrib/prep-bin-dist-mingw-args
diff options
context:
space:
mode:
authormthomas <unknown>2002-12-05 23:49:43 +0000
committermthomas <unknown>2002-12-05 23:49:43 +0000
commit6e5df3a4551b8d8b83e936b3f7b52edfc778ca8a (patch)
treed6e2a5dbe7114dde8751ccc72c03c276f8422c03 /distrib/prep-bin-dist-mingw-args
parent6ff1e84bcef3c4aba42c1b6e90f2eba84c8b02ac (diff)
downloadhaskell-6e5df3a4551b8d8b83e936b3f7b52edfc778ca8a.tar.gz
[project @ 2002-12-05 23:49:43 by mthomas]
A new rejig script which takes arguments rather than hardwired locations.
Diffstat (limited to 'distrib/prep-bin-dist-mingw-args')
-rw-r--r--distrib/prep-bin-dist-mingw-args105
1 files changed, 105 insertions, 0 deletions
diff --git a/distrib/prep-bin-dist-mingw-args b/distrib/prep-bin-dist-mingw-args
new file mode 100644
index 0000000000..950f7deaf1
--- /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 <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"
+