| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
|
|
|
|
|
| |
This fixes a problem where patches altering the darcs-all script break
on Windows as the file is open. The script is now also slightly nicer,
on balance.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
target for
publish-binary-dist
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
| |
Rather than building complex sh stuff and echoing what we're doing
ourselves, use make rules to do the looping and let make print things
out.
|
|
|
|
|
|
| |
Rather than building complex sh stuff and echoing what we're doing
ourselves, use make rules to do the looping and let make print things
out.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
For non-release builds, we want to append a date to the version number
(e.g. 6.7.20070206). Previously this was done by the nightly build
script, this new method figures out the snapshot version by querying
the darcs repository and finding the date of the most recent patch
(actually it finds the most recent of the last 100 patches, but that
should be good enough). This is done by the configure script.
To handle source distributions, we create a file VERSION in the
top-level directory that contains the version number, and ship this in
the source distribution. The configure script picks up the version
from this file if it doesn't see a _darcs directory.
|
|
|
|
|
| |
Moving functionality that was previously in the nightly build scripts
into the top-level Makefile, so it's easier to use from BuildBot.
|
|
|
|
|
|
| |
This version does all its work in a subdirectory (no more destructive
'make distclean' in the current build tree), and results in the exact
-src.tar.bz2 distributions that we will put up for download.
|
| |
|
|
|
|
| |
To catch the case of not running darcs-all get.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
|
| |
Set BINDIST_DOC_WAYS appropriately depending on which doc-building
tools are available. The default is to build all of html, ps & pdf if
possible.
|
|
|
|
| |
BINDIST_DOC_WAYS: permit variable to be overridden (in a mk/build.mk, perhaps); merge to STABLE
|
|
|
|
|
|
| |
Mac OS X: Make bindist work with dynamic libraries
MERGE TO STABLE
|
|
|
|
| |
Allow for optional binary installation
|
|
|
|
| |
on second thoughts, don't clean mk/config.mk yet
|
|
|
|
| |
Some more distcleaning
|
|
|
|
| |
add mk/fix_install_names.sh to source dist
|
|
|
|
| |
Fix doc building for binary distributions
|
|
|
|
| |
updates to hc-file-bundle target
|
|
|
|
| |
hc-file-bundle: need to track ghc/lib too
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Fill in the haddock-interfaces and haddock-html fields in the
package.conf files.
To do this I had to make some changes:
- haddock-interfaces requires the value of $(datadir). We can't
just plug this in, because $(datadir) might change at install-time
(eg. a Windows installer can be placed anywhere, as can a Unix
binary .tar.gz distribution). The current trick is for the
compiler to splice in the value of $libdir in package.conf at
runtime. So we could extend this mechanism and tell the compiler
the value of $datadir via a command-line option, but that seems
ugly.
On Windows, $datadir==$libdir, so we don't need any changes:
package.conf still uses $libdir, and a Windows installation is
independent of its absolute location. Even 'make install' on
Windows should have this property.
On Unix:
- for 'make install' and in-place execution, we just use
absolute paths in package.conf
- for a binary dist, we generate a package.conf that refers
to $libdir and $datadir, and splice in the values at
install-time (distrib/Makefile-bin.in).
- Also, I renamed $libdir to $topdir to more closely reflect its
actual meaning. This is somewhat malicious in that it will flush
out all those clients using $libdir when they really shouldn't
be :-)
|
|
|
|
| |
-jN friendliness
|
|
|
|
| |
Add mk/fptools.css to $(SRC_DIST_FILES)
|
|
|
|
|
|
|
|
|
| |
ghc/mk/config.mk was never being included in ordinary Makefiles. It
was only included in the top-level fptools/Makefile for the purposes
of obtaining binary distribution settings.
This fixes that problem, and now as a side-effect $(GhcHasReadline)
will start working again.
|
|
|
|
| |
Check for shell scripts first - they don't exist on my Windows nightly build.
|
|
|
|
|
| |
* Added new target for creating *.bz2 source distributions
* Cleanup *.tar.gz / *.tar.bz2 when things go wrong
|
|
|
|
| |
Makefile.config is dead, so don't include it in SRC_DIST_FILES.
|