Permalink
Browse files

GHC new build system megapatch

  • Loading branch information...
igfoo committed Apr 26, 2009
1 parent 74e1368 commit 34cc75e1a62638f2833815746ebce0a9114dc26b
Showing with 6,150 additions and 6,372 deletions.
  1. +113 −633 Makefile
  2. +2 −2 bindisttest/Makefile
  3. +18 −2 boot
  4. +31 −0 compiler/LICENSE
  5. +10 −497 compiler/Makefile
  6. +18 −1 compiler/ghc.cabal.in
  7. +432 −0 compiler/ghc.mk
  8. +18 −10 compiler/main/DriverMkDepend.hs
  9. +58 −142 compiler/main/SysTools.lhs
  10. +8 −2 compiler/rename/RnNames.lhs
  11. +109 −17 configure.ac
  12. +2 −2 distrib/configure-bin.ac
  13. +0 −3 docs/ext-core/Makefile
  14. +0 −1 docs/man/Makefile
  15. +7 −0 docs/users_guide/ghc.mk
  16. +0 −18 driver/ghc-pkg/Makefile
  17. +11 −0 driver/ghc.mk
  18. +10 −0 driver/ghc/ghc.mk
  19. +3 −63 driver/ghci/Makefile
  20. +50 −0 driver/ghci/ghc.mk
  21. +3 −26 driver/mangler/Makefile
  22. +7 −0 driver/mangler/ghc.mk
  23. +0 −14 driver/runhaskell/Makefile
  24. +3 −21 driver/split/Makefile
  25. +7 −0 driver/split/ghc.mk
  26. +841 −0 ghc.mk
  27. +3 −0 ghc.spec.in
  28. +0 −2 ghc/Main.hs
  29. +11 −150 ghc/Makefile
  30. +3 −0 ghc/ghc-bin.cabal.in
  31. +127 −0 ghc/ghc.mk
  32. +0 −2 ghc/ghc.wrapper
  33. +0 −127 gmp/Makefile
  34. +124 −0 gmp/ghc.mk
  35. BIN gmp/gmp-4.2.1-nodoc.tar.gz
  36. BIN gmp/tarball/gmp-4.2.4-nodoc.tar.bz2
  37. +3 −202 includes/Makefile
  38. +1 −1 includes/Regs.h
  39. +1 −1 includes/Stg.h
  40. +179 −0 includes/ghc.mk
  41. +3 −199 libffi/Makefile
  42. +193 −0 libffi/ghc.mk
  43. 0 libffi/{libffi-autotools-update.patch → libffi.autotools-update.patch}
  44. 0 libffi/{libffi-dllize-3.0.6.patch → libffi.dllize-3.0.6.patch}
  45. +3 −3 libffi/package.conf.in
  46. BIN libffi/{ → tarball}/libffi-3.0.6.tar.gz
  47. +0 −441 libraries/Makefile
  48. +0 −45 mk/bindist.mk
  49. +0 −82 mk/boilerplate.mk
  50. +3 −5 mk/build.mk.sample
  51. +0 −129 mk/cabal-flags.mk
  52. +0 −68 mk/cabal.mk
  53. +120 −339 mk/config.mk.in
  54. +4 −4 mk/custom-settings.mk
  55. +0 −307 mk/install.mk
  56. +1,416 −0 mk/old-config.mk.in
  57. +0 −109 mk/opts.mk
  58. +0 −315 mk/package.mk
  59. +0 −277 mk/paths.mk
  60. +143 −0 mk/project.mk.in
  61. +0 −101 mk/recurse.mk
  62. +34 −0 mk/sub-makefile.mk
  63. +0 −392 mk/suffix.mk
  64. +0 −701 mk/target.mk
  65. +2 −2 mk/validate-settings.mk
  66. +1 −1 rts/Capability.h
  67. +1 −1 rts/Interpreter.c
  68. +3 −496 rts/Makefile
  69. +393 −0 rts/ghc.mk
  70. +5 −5 rts/package.conf.in
  71. +7 −0 rules/all-target.mk
  72. +16 −0 rules/bindist.mk
  73. +48 −0 rules/build-dependencies.mk
  74. +16 −0 rules/build-package-data.mk
  75. +52 −0 rules/build-package-way.mk
  76. +135 −0 rules/build-package.mk
  77. +45 −0 rules/build-perl.mk
  78. +139 −0 rules/build-prog.mk
  79. +5 −0 rules/c-objs.mk
  80. +4 −0 rules/c-sources.mk
  81. +60 −0 rules/c-suffix-rules.mk
  82. +9 −0 rules/clean-target.mk
  83. +60 −0 rules/distdir-opts.mk
  84. +78 −0 rules/distdir-way-opts.mk
  85. +24 −0 rules/docbook.mk
  86. +27 −0 rules/haddock.mk
  87. +25 −0 rules/hi-rule.mk
  88. +5 −0 rules/hs-objs.mk
  89. +46 −0 rules/hs-sources.mk
  90. +70 −0 rules/hs-suffix-rules-srcdir.mk
  91. +17 −0 rules/hs-suffix-rules.mk
  92. +14 −0 rules/includes-sources.mk
  93. +33 −0 rules/manual-package-config.mk
  94. +41 −0 rules/package-config.mk
  95. +63 −0 rules/shell-wrapper.mk
  96. +13 −0 rules/way-prelims.mk
  97. +3 −29 utils/genapply/Makefile
  98. +16 −0 utils/genapply/ghc.mk
  99. +3 −10 utils/genprimopcode/Makefile
  100. +4 −0 utils/genprimopcode/ghc.mk
  101. +246 −0 utils/ghc-cabal/ghc-cabal.hs
  102. +54 −0 utils/ghc-cabal/ghc.mk
  103. +29 −26 utils/ghc-pkg/Main.hs
  104. +3 −21 utils/ghc-pkg/Makefile
  105. +69 −0 utils/ghc-pkg/ghc.mk
  106. +3 −5 utils/hasktags/Makefile
  107. +10 −0 utils/hasktags/ghc.mk
  108. +1 −1 utils/hp2ps/Main.h
  109. +3 −20 utils/hp2ps/Makefile
  110. +10 −0 utils/hp2ps/ghc.mk
  111. 0 utils/hpc/{Hpc.hs → Main.hs}
  112. +3 −5 utils/hpc/Makefile
  113. +7 −0 utils/hpc/ghc.mk
  114. +0 −13 utils/installPackage/Makefile
  115. +0 −28 utils/installPackage/installPackage.cabal
  116. +0 −154 utils/installPackage/installPackage.hs
  117. +3 −24 utils/mkdependC/Makefile
  118. +12 −0 utils/mkdependC/ghc.mk
  119. +2 −0 utils/mkdependC/mkdependC.prl
  120. +3 −17 utils/mkdirhier/Makefile
  121. +11 −0 utils/mkdirhier/ghc.mk
  122. +0 −2 utils/parallel/Makefile
  123. +3 −12 utils/runghc/Makefile
  124. +29 −0 utils/runghc/ghc.mk
  125. +1 −3 utils/runghc/runghc.hs
  126. +5 −0 utils/touchy/ghc.mk
  127. +1 −0 utils/touchy/touchy.c
  128. +3 −25 utils/unlit/Makefile
  129. +9 −0 utils/unlit/ghc.mk
  130. +9 −15 utils/unlit/unlit.c
  131. +6 −1 validate
View
746 Makefile

Large diffs are not rendered by default.

Oops, something went wrong.
View
@@ -6,14 +6,14 @@ default_target: all
# Ideally we'd just include something to give us variables
# for paths and arguments to tools etc, and those set in mk/build.mk.
TOP=..
-include $(TOP)/mk/boilerplate.mk
+include $(TOP)/mk/config.mk
all:
$(RM) -rf $(BIN_DIST_INST_SUBDIR)
$(RM) -rf ghc*
$(RM) HelloWorld HelloWorld.o HelloWorld.hi output
# --force-local makes tar not think that c:/foo refers to a remote file
- $(TAR) --force-local -jxf $(FPTOOLS_TOP_ABS)/$(BIN_DIST_TAR_BZ2)
+ $(TAR) --force-local -jxf $(BIN_DIST_TAR_BZ2)
ifeq "$(Windows)" "YES"
mv $(BIN_DIST_NAME) $(BIN_DIST_INST_DIR)
else
View
20 boot
@@ -4,9 +4,9 @@ set -e
# Check that we have all boot packages.
for dir in `grep "^[^# ][^ ]* *[^ ][^ ]* *[^ ][^ ]*$" packages | sed "s/ .*//"`
do
- if test ! -d $dir
+ if test ! -f $dir/LICENSE
then
- echo "Looks like you're missing $dir." >&2
+ echo "Error: $dir/LICENSE doesn't exist." >&2
echo "Maybe you haven't done './darcs-all get'?" >&2
exit 1
fi
@@ -31,3 +31,19 @@ do
fi
done
+for f in libraries/*; do
+ dir=`basename $f`
+ cabals=`echo $f/*.cabal`
+ if test -f $cabals; then
+ echo "Creating $f/ghc.mk"
+ rm -f $f/ghc.mk
+ pkg=`basename ${cabals%.cabal}`
+ echo "${f}_PACKAGE = ${pkg}" >> $f/ghc.mk
+ echo "\$(eval \$(call build-package,${f},dist-install,1))" >> $f/ghc.mk
+ rm -f $f/GNUmakefile
+ echo "Creating $f/GNUmakefile"
+ echo "dir = ${f}" >> $f/GNUmakefile
+ echo "TOP = ../.." >> $f/GNUmakefile
+ echo "include \$(TOP)/mk/sub-makefile.mk" >> $f/GNUmakefile
+ fi
+done
View
@@ -0,0 +1,31 @@
+The Glasgow Haskell Compiler License
+
+Copyright 2002, The University Court of the University of Glasgow.
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+- Redistributions of source code must retain the above copyright notice,
+this list of conditions and the following disclaimer.
+
+- Redistributions in binary form must reproduce the above copyright notice,
+this list of conditions and the following disclaimer in the documentation
+and/or other materials provided with the distribution.
+
+- Neither name of the University nor the names of its contributors may be
+used to endorse or promote products derived from this software without
+specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE UNIVERSITY COURT OF THE UNIVERSITY OF
+GLASGOW AND THE CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
+INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
+FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+UNIVERSITY COURT OF THE UNIVERSITY OF GLASGOW OR THE CONTRIBUTORS BE LIABLE
+FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
+DAMAGE.
Oops, something went wrong.

0 comments on commit 34cc75e

Please sign in to comment.