summaryrefslogtreecommitdiff
path: root/rules/build-perl.mk
Commit message (Collapse)AuthorAgeFilesLines
* Build system: also put scripts in libexecdir/binThomas Miedema2015-12-171-3/+3
| | | | | | | | | This follows a similar change in 4905b83a2d448c65ccced385343d4e8124548a3b, where binaries are installed in libexecdir/bin instead of libexecdir. This fixes a problem with ghc not able to find ghc-split, when SplitObjs=YES.
* Build system: implement `make install-strip` (#1851)Thomas Miedema2015-09-041-2/+5
| | | | | | Reviewed by: bgamari Differential Revision: https://phabricator.haskell.org/D1209
* Fix the build when SplitObjs=YESThomas Miedema2015-06-061-1/+1
| | | | | | | The default (perf) build, which sets SplitObjs=YES, was broken with commit 5dd02864a844bcf6fe0018755ff261affdef3fea. I accidently removed the wrong `endif`. This should fix it.
* Build: remove more unnecessary CLEANING/=YES checksThomas Miedema2015-06-041-2/+0
| | | | | | | | | | | | | All these checks that CLEANING/=YES are no longer needed, because nowadays $1_$2_PROGNAME is always set explicitly, and $1_$2_PROG isn't. They were once introduce to allow `make clean` before `./configure`. I checked, and it still works. Remove the checks to make the build system a tiny bit shorter, and to no longer wonder why they are there. Differential Revision: https://phabricator.haskell.org/D941
* Build: remove unnecessary CLEANING/=YES checkThomas Miedema2015-06-041-4/+0
| | | | | | | | | | | | | | | | | | | The comment "INPLACE_BIN might be empty if we're distcleaning" is no longer true, and the check that CLEANING isn't YES isn't necessary. It was introduced in cd12c32de77ac18a69ed1733a558095567ec5ba8, to "make repeated 'make distclean' not fail", and and later revised in 39253008705e3ca590afdfa1b87bfbb5a16da7e7. It was needed because INPLACE_BIN was defined in config.mk. Commit 6793a033e1ce41f77316675e8f7aa83196a9b211 however, two days later, introduced a better solution to this problem: "Move the fixed paths out of config.mk, so cleaning works without configuring" So here we remove the original comment and check. One less thing to worry about when trying to understand the build system. Differential Revision: https://phabricator.haskell.org/D940
* Build system: check $CLEANING instead of $MAKECMDGOALSThomas Miedema2015-05-301-1/+1
| | | | | | | To check if we're cleaning, always check the $CLEANING variable, instead of sometimes $CLEANING, sometimes $MAKECMDGOALS. [skip ci]
* Fix installation of ghc-split (#8760)Austin Seipp2014-02-201-1/+9
| | | | | | | | | The rules weren't correctly setting INSTALL_TOPDIRS, and on top of that the dependencies were wrong when BINDIST=YES. Authored-by: Evan Hauck <khyperia@live.com> Authored-by: Austin Seipp <austin@well-typed.com> Signed-off-by: Austin Seipp <austin@well-typed.com>
* Globally replace "hackage.haskell.org" with "ghc.haskell.org"Simon Marlow2013-10-011-2/+2
|
* Automatically add the $(exeext) to program namesIan Lynagh2013-03-031-1/+11
| | | | | | | We now define _PROGNAME, and _PROG is automatically defined with $(exeext). This will shortly automatically use the right exeext depending on what stage it is being compiled with (exeext may be different for different stages when cross-compiling).
* Automatically define _INPLACE variables for perl programs tooIan Lynagh2013-03-031-2/+7
| | | | and use them for split
* Remove the _INSTALL_IN support in the build systemIan Lynagh2013-03-031-10/+0
| | | | | It doesn't seem to do anything that _INSTALL and _INSTALL_INPLACE can't do.
* Use unlit_INPLACE rather than UNLIT in the build systemIan Lynagh2013-03-031-2/+2
|
* Improve the way we call "rm" in the build system; fixes trac #4916Ian Lynagh2011-11-191-1/+1
| | | | | | | | | | We avoid calling "rm -rf" with no file arguments; this fixes cleaning on Solaris, where that fails. We also check for suspicious arguments: anything containing "..", starting "/", or containing a "*" (you need to call $(wildcard ...) yourself now if you really want globbing). This should make things a little safer.
* Add build system profiling to build systemIan Lynagh2011-01-231-0/+2
|
* Simplify the build system, and remove 2 phasesIan Lynagh2011-01-221-2/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | From http://hackage.haskell.org/trac/ghc/wiki/Building/Architecture/Idiom/PhaseOrdering Phase 0: Includes: package-data.mk files for things built by the bootstrapping compiler. Builds: the dependency files for hsc2hs and genprimopcode. We need to do this now, as hsc2hs needs to be buildable in phase 1's includes (so that we can make the hpc library's .hs source files, which in turn is necessary for making its dependency files), and genprimopcode needs to be buildable in phase 1's includes (so that we can make the primop-*.hs-incl files, which are sources for the stage1 compiler library, and thus necessary for making its dependency files). Phase 1: Includes: dependency files for things built by the bootstrapping compiler. Builds: package-data.mk files for everything else. Note that this requires configuring the packages, which means telling cabal which ghc to use, and thus the stage1 compiler gets built during this phase. Phase "": Includes: dependency files for everything else. Builds: Everything else.
* Build system improvementsIan Lynagh2011-01-151-0/+2
| | | | | | | | | We no longer use dummy-ghc; instead we don't configure most packages until the stage1 compiler is available. We also now use Cabal for building the ghc-bin package. There are a couple more sanity checks too.
* On Cygwin, use a Cygwin-style path for /bin/install's destinationIan Lynagh2011-01-061-2/+2
| | | | | | | | | | | | | | | | | cygwin's /bin/install doesn't set file modes correctly if the destination path is a C: style path: $ /bin/install -c -m 644 foo /cygdrive/c/cygwin/home/ian/foo2 $ /bin/install -c -m 644 foo c:/cygwin/home/ian/foo3 $ ls -l foo* -rw-r--r-- 1 ian None 0 2011-01-06 18:28 foo -rw-r--r-- 1 ian None 0 2011-01-06 18:29 foo2 -rwxrwxrwx 1 ian None 0 2011-01-06 18:29 foo3 This causes problems for bindisttest/checkBinaries.sh which then thinks that e.g. the userguide HTML files are binaries. We therefore use a /cygdrive path if we are on cygwin
* add a simple trace facility to the build systemSimon Marlow2010-09-211-0/+1
| | | | | | | | | saying make TRACE=1 prints most of the macro calls and their arguments. It's easy to trace new macros; see rules/trace.mk.
* Add new LLVM code generator to GHC. (Version 2)David Terei2010-06-151-0/+1
| | | | | | | | | | | | | | | | | | This was done as part of an honours thesis at UNSW, the paper describing the work and results can be found at: http://www.cse.unsw.edu.au/~pls/thesis/davidt-thesis.pdf A Homepage for the backend can be found at: http://hackage.haskell.org/trac/ghc/wiki/Commentary/Compiler/Backends/LLVM Quick summary of performance is that for the 'nofib' benchmark suite, runtimes are within 5% slower than the NCG and generally better than the C code generator. For some code though, such as the DPH projects benchmark, the LLVM code generator outperforms the NCG and C code generator by about a 25% reduction in run times.
* Change how perl scripts get installed; partially fixes #3863Ian Lynagh2010-03-241-1/+11
| | | | | We now regenerate them when installing, which means the path for perl doesn't get baked in
* Build and install inplace the count_lines and compareSizes utilsIan Lynagh2009-12-161-3/+3
|
* Use "order only constraints" for directoriesIan Lynagh2009-10-021-4/+2
| | | | There are now 104 calls to mkdirhier, down from 1201, when validating.
* Make our install variables etc compliant with GNU standards; fixes #1924Ian Lynagh2009-08-141-2/+2
|
* remove unnecessary $(RM)sSimon Marlow2009-07-011-2/+0
|
* eliminate "warning: overriding commnds..." from make when we're cleaningSimon Marlow2009-06-161-0/+3
|
* Quote commands that we run, so they work if there are space in their pathsIan Lynagh2009-05-301-7/+7
| | | | | I've also added some missing $s to some makefiles. These aren't technically necessary, but it's nice to be consistent.
* Add a header to all build system files:Simon Marlow2009-04-281-0/+12
| | | | | | | | | | | | | | # ----------------------------------------------------------------------------- # # (c) 2009 The University of Glasgow # # This file is part of the GHC build system. # # To understand how the build system works and how to modify it, see # http://hackage.haskell.org/trac/ghc/wiki/Building/Architecture # http://hackage.haskell.org/trac/ghc/wiki/Building/Modifying # # -----------------------------------------------------------------------------
* GHC new build system megapatchIan Lynagh2009-04-261-0/+45