summaryrefslogtreecommitdiff
path: root/utils/hsc2hs
Commit message (Collapse)AuthorAgeFilesLines
...
* More build system changes; hasktags is now built with CabalIan Lynagh2008-07-181-50/+3
|
* Tweak the hsc2hs wrapper scriptIan Lynagh2008-07-171-1/+1
|
* Do the building and installing of hsc2hs with the stage1 compilerIan Lynagh2008-07-171-14/+19
|
* Split up Cabal configure flag variables for more flexibilityIan Lynagh2008-07-111-2/+8
|
* Define CABAL in mk/cabal-flags.mk, rather than everywhere we use itIan Lynagh2008-07-101-3/+0
|
* Typo fixedIan Lynagh2008-07-101-1/+1
|
* Add hsc2hs.wrapperIan Lynagh2008-07-051-0/+13
|
* Fix hsc2hs finding its template file on WindowsIan Lynagh2008-07-053-6/+13
|
* Build hsc2hs with CabalIan Lynagh2008-07-053-112/+45
| | | | This is very rough around teh edges at the moment.
* Use the last compiler if more than one is specifiedIan Lynagh2008-07-051-2/+1
|
* In utils/hsc2hs, add LICENSE and hsc2hs.cabal from the standalone repoIan Lynagh2008-07-042-0/+59
|
* Fix the build with GHC 6.4Ian Lynagh2008-06-231-0/+4
|
* More commandline flag improvementsIan Lynagh2008-06-161-1/+1
| | | | | | | * Allow -ffoo flags to be deprecated * Mark some -ffoo flags as deprecated * Avoid using deprecated flags in error messages, in the build system, etc * Add a flag to en/disable the deprecated flag warning
* Use MD5 checksums for recompilation checking (fixes #1372, #1959)Simon Marlow2008-05-281-0/+8
| | | | | | | | | | | | | | | | | | | | | | This is a much more robust way to do recompilation checking. The idea is to create a fingerprint of the ABI of an interface, and track dependencies by recording the fingerprints of ABIs that a module depends on. If any of those ABIs have changed, then we need to recompile. In bug #1372 we weren't recording dependencies on package modules, this patch fixes that by recording fingerprints of package modules that we depend on. Within a package there is still fine-grained recompilation avoidance as before. We currently use MD5 for fingerprints, being a good compromise between efficiency and security. We're not worried about attackers, but we are worried about accidental collisions. All the MD5 sums do make interface files a bit bigger, but compile times on the whole are about the same as before. Recompilation avoidance should be a bit more accurate than in 6.8.2 due to fixing #1959, especially when using -O.
* Mac OS X deployment target: piping opts through MakefilesManuel M T Chakravarty2008-02-211-0/+9
|
* All installed Haskell prgms have an inplace and an installed versionManuel M T Chakravarty2008-02-181-1/+8
| | | | | | | | | | | | | | | | | | | | | | | - GHC installs a range of compiled Haskell programs in addition to the actual compiler. To ensure that they all run on the platform targeted by the build (which may have different libraries installed than the build host), we need to make sure that all compiled Haskell code going into an install is build with the stage 1 compiler, not the bootstrap compiler. Getting this right is especially important on the Mac to enable builds that work on Mac OS X versions that are older than the one performing the build. - For all installed utils implemented in Haskell (i.e., ghc-pkg, hasktags, hsc2hs, runghc, hpc, and pwd) we compile two versions, an inplace version and a version for installation. The former is build by the bootstrap compiler during the stage 1 build and the latter is build by the stage 1 compiler during the stage 2 build. - This is really very much as the setup for ghc itself, only that we don't use separate stage1/ and stage2/ build directories. Instead, we clean before each build. CAVEAT: This only works properly if invoked from the toplevel Makefile. - Instead of UseStage1=YES (as used by the previous binary-dist-specific recompilation), we now use the same $(stage) variables as used for the compiler proper - to increase uniformity and to avoid extra conditionals for the install target.
* Remove some of the old compat stuff now that we assume GHC 6.4Simon Marlow2008-02-081-4/+0
|
* Add GMP_INCLUDE_DIRS in a couple of placesIan Lynagh2008-01-121-1/+9
| | | | Fixes the build on OpenBSD (trac #2009). Based on a patch from kili.
* default to installing runhaskell and hsc2hs again, but provide knobs to turn ↵Simon Marlow2007-10-251-1/+6
| | | | them off
* Remove hardtop_plat/FPTOOLS_TOP_ABS_PLATFORMIan Lynagh2007-09-061-5/+1
| | | | | | | They are now the same as hardtop/FPTOOLS_TOP_ABS, so use those instead. Also removed some substitutions of / for \, as we now use a Haskell program to find the top path, and it only makes paths with /s in.
* Use DESTDIR when installingIan Lynagh2007-08-281-1/+1
|
* compile the -inplace programs using $(HC), not $(GHC)Simon Marlow2007-07-311-1/+1
| | | | $(UseStage1) modifies $(HC) rather than $(GHC)
* Update the in-tree GMP; fixes trac #832Ian Lynagh2007-07-051-1/+1
| | | | | gmp is now in a top-level directory and we only have the tarball in the darcs repo. It gets untarred if it is needed.
* make inplace scripts less sensitive to /bin/sh quoting by avoiding \Simon Marlow2007-06-231-1/+1
|
* remove unnecessary cruftSimon Marlow2007-06-221-11/+0
|
* FIX BUILD: all builds need --template, not just WindowsSimon Marlow2007-06-221-2/+2
|
* ignore all but the last --template optionSimon Marlow2007-06-221-1/+7
|
* yet more fixes: Cygwin broke this timeSimon Marlow2007-06-211-1/+1
|
* fix bugs with hsc2hs-inplaceLemmih2007-06-211-2/+2
|
* further fixes to the inplace scriptsLemmih2007-06-211-2/+2
|
* use a binary for hsc2hs-inplace tooSimon Marlow2007-06-211-22/+20
|
* Add missing quotes in generated scriptIan Lynagh2007-06-151-1/+1
|
* Fix a -- that somehow turned into a ----Ian Lynagh2007-06-011-1/+1
|
* Fix creation of hsc2hs-inplace.batIan Lynagh2007-06-011-1/+1
|
* Fix bindist creationIan Lynagh2007-06-011-0/+7
| | | | | Bindists should now work again, when doing "make install" at least. "make in-place" is probably still broken.
* Rework the build system a bitIan Lynagh2007-05-311-62/+40
| | | | | | Key changes: * Always build as if BIN_DIST is 1. BIN_DIST is thus removed. * Libraries are configured with prefix set to $$topdir rather than $(prefix)
* Remove ghc_ge_504 (it's required to be true now anyway)Ian Lynagh2007-05-091-4/+0
|
* Fix bat-script generation for MSyssimonpj@microsoft.com2007-04-181-1/+2
| | | | | | | | | | | The bat-script generation was using the wrong paths, in ghc-inplace ghc-pkg hsc2hs plus there was a double-backslah in the latter two which was wrong. This patch fixes both. See "MSys Note 3" in compiler/Makefile
* Fixes for building the libraries with cabal on WindowsIan Lynagh2007-04-061-1/+10
| | | | | | | * configure can be told where ld is * make an hsc2hs-inplace.bat * tell Setup configure about foo.bar rather than foo on Windows * tell Setup configure to pass a --with-cc=$(CC) argument to ./configure
* Use update-alternatives for handling generic tool namessven.panne@aedion.de2007-03-151-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ATTENTION: Packagers should read the following stuff carefully! GHC, Hugs and nhc come with various tools like runhaskell or hsc2hs. On the one hand this is quite handy, avoiding lots of tiny native packages, but OTOH this leads to a few problems: * The tools are not always identical in functionality. * The tools fight for a global generic name like "/usr/bin/runhaskell". These problems are not new and not unique to Haskell implementations, so for *nix-based system there is a tool called update-alternatives which handles those cases. The idea is as follows: * Each program/man page/etc. installs itself with a very specific name like /usr/bin/hsc2hs-ghc or /usr/share/man/man1/lua5.1.1.gz, so nothing clashes. * The (un-)installation scripts call update-alternatives to notify the system about new alternatives for a generic tool/manpage/etc. * Alternatives can be grouped together ("link groups"), so e.g. switching from Sun's Java to Kaffe switches compiler, JRE, manpages etc. together. Alas, this doesn't work well with the Haskell implementations yet, because they come with different sets of tools (in addition to runFOO): GHC: hsc2hs Hugs: hsc2hs, cpphs nhc: cpphs Either these tools should be disentangled fromt the Haskell implementations or all implementations should offer the same set. Opinions and recommendations on this topic are highly welcome. * This mechanism can be used to easily switch between several versions of the same implementation, too, but we are not yet fully prepared for that. As a first step, GHC now installs hsc2hs as 'hsc2hs-ghc' and does *not* install runhaskell directly anymore, only runghc. hsc2hs and runhaskell are created via update-alternatives now. What is currently missing is a mechanism for platforms like Windows and probably Mac OS X.
* Don't use compat when compiling utils with stage1Ian Lynagh2007-02-061-1/+5
|
* remove generated files in a 'finally' mannersof@galois.com2006-09-091-4/+17
|
* remove __HUGS__ #if's (Hugs uses the standalone version)Ross Paterson2006-09-071-23/+5
|
* whitespace cleanup onlyRoss Paterson2006-08-181-28/+22
|
* Where we use $(GhcHcOpts), also add $(GhcStage1HcOpts)Simon Marlow2006-08-091-1/+1
| | | | This fixes building the compiler with -prof in $(GhcStage1HcOpts)
* Complain more loudly if any of the hsc2hs phases failDuncan Coutts2006-07-031-23/+17
| | | | | | previously hsc2hs just exits with a non-zero exit code, now if any of the compilation, linking or runing phases fail then we get a message saying so and the failing command is printed.
* Reorganisation of the source treeSimon Marlow2006-04-076-0/+1209
Most of the other users of the fptools build system have migrated to Cabal, and with the move to darcs we can now flatten the source tree without losing history, so here goes. The main change is that the ghc/ subdir is gone, and most of what it contained is now at the top level. The build system now makes no pretense at being multi-project, it is just the GHC build system. No doubt this will break many things, and there will be a period of instability while we fix the dependencies. A straightforward build should work, but I haven't yet fixed binary/source distributions. Changes to the Building Guide will follow, too.