summaryrefslogtreecommitdiff
path: root/mk
Commit message (Collapse)AuthorAgeFilesLines
* Globally replace "hackage.haskell.org" with "ghc.haskell.org"Simon Marlow2013-10-011-2/+2
|
* Implement the AMP warning (#8004)Austin Seipp2013-09-111-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | This patch implements a warning when definitions conflict with the Applicative-Monad Proposal (AMP), described in #8004. Namely, this will cause a warning iff: * You have an instance of Monad, but not Applicative * You have an instance of MonadPlus, but not Alternative * You locally defined a function named join, <*>, or pure. In GHC 7.10, these warnings will actually be enforced with superclass constraints through changes in base, so programs will fail to compile then. This warning is enabled by default. Unfortunately, not all of our upstream libraries have accepted the appropriate patches. So we temporarily fix ./validate by ignoring the AMP warning. Dan Rosén made an initial implementation of this change, and the remaining work was finished off by David Luposchainsky. I finally made some minor refactorings. Authored-by: Dan Rosén <danr@chalmers.se> Authored-by: David Luposchainsky <dluposchainsky@gmail.com> Signed-off-by: Austin Seipp <austin@well-typed.com>
* Make sure -fcmm-sink is passed to Parser properlyAustin Seipp2013-09-041-0/+2
| | | | | | | | | | | | | | | | | | | Parser.hs needs to be compiled with -fcmm-sink on x86 platforms, so the register allocator doesn't run out of stack slots. Previously, we had to do some CPP hacks in order to emit an #ifdef into the file - this is because we preprocess it once up front, and run the preprocessor again when we compile it. There's two cases: the boostrap compiler is > 7.8, and the stage1 parser needs the flag, or the stage1 compiler is compiling the stage2 Parser.hs, and needs the flag.. The previous approach was super fragile with Clang. The more principled fix is to instead do this through the build system. This fixes #8182. Signed-off-by: Austin Seipp <aseipp@pobox.com>
* Hack-fix build breakage on Linux/GCC from fc4856f9Herbert Valerio Riedel2013-09-041-1/+1
| | | | | | | | For some reason, the new `GccIsClang` variable introduced via fc4856f9e811d9a23ae9212f43a09ddf5ef12b26 for addressing #8148 isn't set explicitly to `NO`; so this simply changes the test `ifeq $(GccIsClang) NO` to `ifneq $(GccIsClang) YES` which should fix the build with and w/o Clang.
* Make validate play nice with clang (for Xcode 5 command line tools)Manuel M T Chakravarty2013-09-042-0/+10
| | | | * This partially fixes #8148. However, --with-ghc-4.8 will still not work given the rather dubious m4 macros and the failures in the test suite due to '-nodefaultlibs' still need to be fixed.
* Patch by lukexi.Gabor Greif2013-09-031-1/+1
| | | | Fixing #8217 for the unix(-like) case.
* Delete trailing whitespace in mk/config.mk.inAustin Seipp2013-08-241-12/+12
| | | | Signed-off-by: Austin Seipp <aseipp@pobox.com>
* Add support for iOS simulator (issue #8152).Austin Seipp2013-08-241-2/+2
| | | | | | | | The iOS simulator is essentially an iOS target but for an x86 machine instead. It doesn't support the native code generator either, though. Authored-by: Stephen Blackheath <...@blacksapphire.com> Signed-off-by: Austin Seipp <aseipp@pobox.com>
* iOS: generate archive files when compiling.Austin Seipp2013-08-141-5/+5
| | | | | | | | | | | When cross compiling to iOS, we generate archive files which are linked into the final executable. We already *did* generate archive files - just with the wrong suffix. Fixes #8125. Authored-by: Stephen Blackheath <...@blacksapphire.com> Signed-off-by: Austin Seipp <aseipp@pobox.com>
* mk/config.mk.in : Add powerpc-unknown-linux to NoSharedLibsPlatformList.Erik de Castro Lopo2013-08-051-1/+1
| | | | | Dynamic libraries on powerpc linux are currently broken. See: http://hackage.haskell.org/trac/ghc/ticket/8024
* Merge branch 'master' of http://darcs.haskell.org/ghcIan Lynagh2013-07-031-4/+0
|\
| * Do not build dynamic libraries with the perf-llvm BuildFlavour.Geoffrey Mainland2013-07-021-4/+0
| |
* | Change the ranlib detectionIan Lynagh2013-07-031-1/+2
|/ | | | | | | | On Windows, the ranlib in the path may not be the right ranlib (it may be the 32bit ranlib when we are making a Win64 compiler, or vice-versa). Therefore we can't leave it up to libffi to detect the right ranlib, but need to tell it which ranlib to use. This means that we need to find ranlib even if we don't actually need it ourselves.
* Suppress some more warnings from Clang.Austin Seipp2013-06-181-1/+1
| | | | | | | | | | | | | | | | It likes to think lambdas a la: foo $ \u -> ... represent a kind of unicode extended literal. It also gets confused when you have things like: ... thing ... {- comment ... (???) -} where the (???) is mistaken as a trigraph. Signed-off-by: Austin Seipp <aseipp@pobox.com>
* Add some missing clang bits to the build system.Austin Seipp2013-06-172-1/+7
| | | | Signed-off-by: Austin Seipp <aseipp@pobox.com>
* Cleaning fixes, and other build system tweaks; part of #7941Ian Lynagh2013-06-141-1/+0
|
* Change how we check that we have a suitable 'make'Ian Lynagh2013-06-091-6/+0
| | | | We now check in the same way that the testsuite does.
* Build statically when using LLVM.Geoffrey Mainland2013-05-311-0/+6
| | | | The LLVM back end does not yet work when building dynamically.
* add arm-unknown-linux to platforms which do not support shared libsKarel Gardas2013-05-301-1/+1
| | | | | | | | | This patch disables shared libs support on arm-unknown-linux platform. It unbreaks ghc-stage2 on this platform after recent Ian's changes in dynamic/shared libs domain. The reason why ghc-stage2 fails when linked with shared libs is still unknown so this is just a workaround at the moment, but it at least recovers previous "correct" behavior of ghc-stage2 on ARM/Linux
* set DYNAMIC_GHC_PROGRAMS to NO if platform does not support shared libsKarel Gardas2013-05-301-0/+2
|
* Reorganize mk/build.mk.sample a little.Austin Seipp2013-05-041-21/+23
| | | | | | | People are probably more likely to notice some useful variables if they're located closer to the top (like V=0 and stage=2.) Signed-off-by: Austin Seipp <aseipp@pobox.com>
* Set DYNAMIC_GHC_PROGRAMS=NO for FreeBSD because $ORIGIN is not resolvedGabor Pali2013-04-271-0/+4
| | | | properly (see #7819)
* pass the correct -Dxxx_HOST_ARCH and -Dxxx_HOST_OS to hsc2hs; Fixes #7761.Ian Lynagh2013-04-211-0/+3
| | | | Patch from Stephen Blackheath.
* Use different exeext variables for each stage; fixes #7709Ian Lynagh2013-04-201-1/+4
| | | | | Currently they are all set to the same value, but when cross-compiling they could be set to different values.
* Remove the Windows installerIan Lynagh2013-04-201-7/+0
| | | | We now leave making installers to the Haskell Platform.
* Some build system refactoringIan Lynagh2013-04-201-9/+3
|
* In build.mk.sample, include v in GhcLibWays even if DYNAMIC_GHC_PROGRAMS is setIan Lynagh2013-04-031-1/+1
| | | | | Although it's not technically needed, it's less confusing if the vanilla way works when people use the sample build.mk.
* ticky enhancementsNicolas Frisby2013-03-291-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * the new StgCmmArgRep module breaks a dependency cycle; I also untabified it, but made no real changes * updated the documentation in the wiki and change the user guide to point there * moved the allocation enters for ticky and CCS to after the heap check * I left LDV where it was, which was before the heap check at least once, since I have no idea what it is * standardized all (active?) ticky alloc totals to bytes * in order to avoid double counting StgCmmLayout.adjustHpBackwards no longer bumps ALLOC_HEAP_ctr * I resurrected the SLOW_CALL counters * the new module StgCmmArgRep breaks cyclic dependency between Layout and Ticky (which the SLOW_CALL counters cause) * renamed them SLOW_CALL_fast_<pattern> and VERY_SLOW_CALL * added ALLOC_RTS_ctr and _tot ticky counters * eg allocation by Storage.c:allocate or a BUILD_PAP in stg_ap_*_info * resurrected ticky counters for ALLOC_THK, ALLOC_PAP, and ALLOC_PRIM * added -ticky and -DTICKY_TICKY in ways.mk for debug ways * added a ticky counter for total LNE entries * new flags for ticky: -ticky-allocd -ticky-dyn-thunk -ticky-LNE * all off by default * -ticky-allocd: tracks allocation *of* closure in addition to allocation *by* that closure * -ticky-dyn-thunk tracks dynamic thunks as if they were functions * -ticky-LNE tracks LNEs as if they were functions * updated the ticky report format, including making the argument categories (more?) accurate again * the printed name for things in the report include the unique of their ticky parent as well as if they are not top-level
* Fix build with non-Linux ELF OSesIan Lynagh2013-03-201-1/+7
| | | | | | | We were only setting an RPATH for the RTS DLL on Linux, but as far as I can see we should be doing it for all ELF OSes. Hopefully this will fix the problem where the installed ghc-pkg can't find libffi.dll on FreeBSD.
* Be more optimistic about which platforms support shared librariesIan Lynagh2013-03-191-12/+6
| | | | | Pretty much everything does now, so list those that don't instead instead of listing those that do.
* Remove a couple of unused make variablesIan Lynagh2013-03-171-6/+0
|
* Also build the v way when DYNAMIC_GHC_PROGRAMS is YESIan Lynagh2013-03-171-2/+4
| | | | | Technically we don't need the v way, but with -dynamic-too it's cheap, and having it makes life easier.
* Disable DYNAMIC_GHC_PROGRAMS on WindowsIan Lynagh2013-03-161-0/+5
| | | | It doesn't work yet
* By default, use the dynamic way for programs in the GHC treeIan Lynagh2013-03-153-4/+11
| | | | | In particular, this means that GHCi will use DLLs, rather than loading object files itself.
* Merge branch 'master' of http://darcs.haskell.org/ghcDavid Waern2013-03-101-2/+1
|\
| * Building with -dynamic-too now works, so enable it by defaultIan Lynagh2013-03-101-2/+1
| | | | | | | | It's only actually used if both the v and dyn ways are built
* | Fix construction of ALL_ALEX_OPTS and ALL_AS_OPTSMax Bolingbroke2013-03-101-5/+4
|/ | | | Signed-off-by: David Waern <david.waern@gmail.com>
* Remove a couple of lingering references to the dead BootingFromHc variableIan Lynagh2013-03-041-5/+1
|
* Don't test BootingFromHc when setting SupportsSplitObjsIan Lynagh2013-03-041-1/+0
| | | | We no longer set BootingFromHc
* Remove unused 'PackageSourceURL' from build systemIan Lynagh2013-03-041-4/+0
|
* Remove unused CTAGS from build systemIan Lynagh2013-03-041-1/+0
|
* Remove some out-of-date commentsIan Lynagh2013-03-041-3/+0
|
* Remove the FLEX support from the build systemIan Lynagh2013-03-041-12/+0
| | | | Most of it was commented out anyway
* Use the automatic variables for touchy tooIan Lynagh2013-03-031-1/+0
|
* Automatically define _INPLACE variables for perl programs tooIan Lynagh2013-03-031-3/+0
| | | | and use them for split
* Use unlit_INPLACE rather than UNLIT in the build systemIan Lynagh2013-03-031-2/+0
|
* Use more of the automatically generated INPLACE variablesIan Lynagh2013-03-031-2/+0
|
* Define $(prog)_INPLACE variables automatically, and start using themIan Lynagh2013-03-032-16/+4
|
* Whitespace onlyIan Lynagh2013-03-031-10/+9
|
* Remove some unused build system variablesIan Lynagh2013-03-031-5/+0
|