summaryrefslogtreecommitdiff
path: root/utils
Commit message (Collapse)AuthorAgeFilesLines
* Fix the GHC package DLL-splittingIan Lynagh2013-05-141-6/+14
| | | | | | | There's now an internal -dll-split flag, which we use to tell GHC how the GHC package is split into 2 separate DLLs. This is used by Packages.isDllName to determine whether a call is within the same DLL, or whether it is a call to another DLL.
* Simplify ghc-cabalIan Lynagh2013-05-141-19/+17
| | | | | | It now consistently takes directory and distDirectory as its first 2 arguments. Also, it only supports configuring 1 package at a time now (we weren't using the ability to configure more than one at once).
* More work towards dynamic programs on WindowsIan Lynagh2013-05-121-0/+1
| | | | | | | | | | | | | | | | | | | Dynamic GHC is now working in-place, but pathologically slow due to the DLL split. (GHC assumes that all intra-package calls are in the same DLL, but that isn't true when we split the GHC package into 2 DLLs. That means that GHC's startup time is around 22 seconds, as it is doing run-time linking). Also, ghci isn't actually working yet: $ inplace/bin/ghc-stage2 --interactive GHCi, version 7.7.20130512: http://www.haskell.org/ghc/ :? for help Loading package ghc-prim ... <command line>: can't load .so/.DLL for: HSghc-prim-0.3.1.0.dll (addDLL: could not load DLL) ghc-stage2.exe: HSghc-prim-0.3.1.0: The specified module could not be found.
* Small refactoring in ghc-pkgIan Lynagh2013-04-281-6/+4
|
* Remove some old "backwards compatibility" codeIan Lynagh2013-04-281-24/+4
| | | | | | It was marked as "backwards compatibility" in 2006, so I think can be removed now. It allowed using old field names when looking at fields with ghc-pkg.
* Make "ghc-pkg field pkg field --simple-output" do something usefulIan Lynagh2013-04-281-16/+20
| | | | It used to just ignore the --simple-output flag
* Fix the inplace name of ghc-cabalIan Lynagh2013-04-251-1/+1
| | | | We had inplace/bin/ghc-cabalghc-cabal
* Use different exeext variables for each stage; fixes #7709Ian Lynagh2013-04-202-3/+4
| | | | | Currently they are all set to the same value, but when cross-compiling they could be set to different values.
* Small build system refactoringIan Lynagh2013-04-201-5/+6
|
* Add a check that the Windows DLL split is OK; fixes #7780Ian Lynagh2013-04-073-0/+124
|
* ticky enhancementsNicolas Frisby2013-03-291-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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
* Remove some directories that used to be used by GUMIan Lynagh2013-03-1734-9748/+0
| | | | This hasn't been used for some time
* Finish adding support for 2 DLLs in the ghc package; fixes #5987Ian Lynagh2013-03-131-2/+25
|
* Follow changes in CabalIan Lynagh2013-03-121-28/+17
|
* Update CabalIan Lynagh2013-03-113-17/+27
|
* Remove old ltx and verbatim utilsIan Lynagh2013-03-074-321/+0
|
* Automatically add the $(exeext) to program namesIan Lynagh2013-03-0315-18/+16
| | | | | | | 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).
* installation fixesIan Lynagh2013-03-031-0/+2
|
* Use unlit_INPLACE rather than UNLIT in the build systemIan Lynagh2013-03-031-1/+1
|
* Use more of the automatically generated INPLACE variablesIan Lynagh2013-03-032-3/+5
|
* Define $(prog)_INPLACE variables automatically, and start using themIan Lynagh2013-03-034-18/+18
|
* Rename $(Windows) to $(Windows_Host)Ian Lynagh2013-03-012-2/+2
|
* Remove utils/lndir/Makefile (part of the old build system)Ian Lynagh2013-02-171-11/+0
|
* Remove the MACOSX_DEPLOYMENT stuff; fixes #7559Ian Lynagh2013-02-171-6/+0
| | | | | If anyone wants to do this in the future, they should just set appropriate CC_OPTS/LD_OPTS variables instead.
* Remove utils/MakefileIan Lynagh2013-02-171-113/+0
| | | | It required the old build system, so didn't work.
* Finish removing BootingFromHcIan Lynagh2013-02-171-6/+0
|
* Define utils/ghc-pkg_dist_PROG correctly for WindowsIan Lynagh2013-02-161-3/+1
|
* Build the stage0 ghc-pkg with CabalIan Lynagh2013-02-161-56/+13
| | | | | | | This solves the problem of how to define MIN_VERSION_base for the binary package. Also fixed a couple of build system bugs along the way.
* Whitespace tweakIan Lynagh2013-02-161-1/+1
|
* Build system tweak: Do the package checks at configure timeIan Lynagh2013-02-151-1/+1
| | | | | | | | This removes the '.PHONY' rule, so means that "make" in a built tree won't repeat the check. We also now check the .cabal files for the executables as well as the libraries.
* Stop using the deprecated System.CmdIan Lynagh2013-02-152-3/+2
|
* Merge branch 'master' of darcs.haskell.org:/home/darcs/ghcSimon Peyton Jones2013-02-141-0/+3
|\
| * Separate StablePtr and StableName tables (#7674)Simon Marlow2013-02-141-0/+3
| | | | | | | | To improve performance of StablePtr.
* | Follow changes to HsPatSimon Peyton Jones2013-02-141-1/+1
|/
* install ghc-pkg correctly when Stage1Only=YES (#7639)Simon Marlow2013-02-051-20/+27
|
* Add a primop attribute llvm_only.Geoffrey Mainland2013-02-011-6/+6
| | | | | The llvm_only attribute indicates that a primop is only available when using the LLVM back-end.
* Add support for passing SSE vectors in registers.Geoffrey Mainland2013-02-011-0/+6
| | | | | | | This patch adds support for 6 XMM registers on x86-64 which overlap with the F and D registers and may hold 128-bit wide SIMD vectors. Because there is not a good way to attach type information to STG registers, we aggressively bitcast in the LLVM back-end.
* Add the Int64X2# primitive type and associated primops.Geoffrey Mainland2013-02-011-0/+2
|
* Add the DoubleX2# primitive type and associated primops.Geoffrey Mainland2013-02-011-4/+6
|
* Add the Int32X4# primitive type and associated primops.Paul Monday2013-02-011-2/+5
|
* Add the Float32X4# primitive type and associated primops.Geoffrey Mainland2013-02-011-5/+23
| | | | | | | | | | | | | This patch lays the groundwork needed for primop support for SIMD vectors. In addition to the groundwork, we add support for the FloatX4# primitive type and associated primops. * Add the FloatX4# primitive type and associated primops. * Add CodeGen support for Float vectors. * Compile vector operations to LLVM vector operations in the LLVM code generator. * Make the x86 native backend fail gracefully when encountering vector primops. * Only generate primop wrappers for vector primops when using LLVM.
* Always pass vector values on the stack.Geoffrey Mainland2013-02-011-28/+38
| | | | | Vector values are now always passed on the stack. This isn't particularly efficient, but it will have to do for now.
* Try to make ghc-pkg and ghc-cabal use the same flags when bootstrapping.Simon Marlow2013-02-012-2/+2
| | | | | They share modules in Cabal, and unless they use exactly the same flags GHC recompiles the modules.
* add $(CrossCompilePrefix) to hp2ps (#7639)Simon Marlow2013-02-011-1/+1
|
* We should be including HaskellMachRegs.h here, not RtsMachRegs.hSimon Marlow2013-01-301-1/+1
| | | | | | This was causing GenApply.hs to use the host architecture's register settings rather than the target's, with the result that some cross-compiled programs would crash.
* Tidy up cross-compilingSimon Marlow2013-01-171-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We have two cases: 1. building a cross-compiler 2. compiling GHC to run on a foreign platform These two are done with almost the same setup: (1) is the stage 1 compiler, and (2) is the stage 2 compiler, when CrossCompiling=YES. The only difference between (1) and (2) is that you if you set up the build for (1), then it stops before stage 2 and you can 'make install' to install stage 1. Unfortunately, (2) didn't work, and the build system code needed some tidying up. Change to the way the build is set up: Before ------ To build a cross-compiler: ./configure --target=<..> To compile a foreign GHC: ./configure --host=<..> --target=<..> Now --- To build a cross-compiler: ./configure --target=<..> And set "Stage1Only=YES" in mk/build.mk To compile a foreign GHC: ./configure --target=<..>
* Update dependenciesIan Lynagh2012-11-302-2/+2
|
* Make ghc-pkg print less on error.Ben Millwood2012-11-301-5/+6
|
* Add a --reset-hpcdirs flag to hpcIan Lynagh2012-11-236-6/+17
|
* de-tab hpcIan Lynagh2012-11-238-335/+335
|