Plan 9 from Bell Labs’s /usr/web/sources/contrib/fernan/nhc98/docs/hmake/changes.html

Copyright © 2021 Plan 9 Foundation.
Distributed under the MIT License.
Download the Plan 9 distribution.


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><title>hmake versions</title></head>
<body bgcolor=white text=black>
<table><tr><td width=500>

<center>
<h1><em>hmake</em> versions</h1>
</center>
<hr>

<table>

<tr>
<td valign=top><b>3.13</b></td>
  <td valign=top>
	<ul>
	<li> No, really fix hmake to build with ghc-6.6.
	</ul>
</td></tr><tr>

<tr>
<td valign=top><b>3.12</b></td>
  <td valign=top>
	<ul>
	<li> New feature: hmake -M dependency analysis now adds
                        "# -cpp" if cpp is required.
	<li> Fix to enable hmake to build with ghc-6.6.
	</ul>
</td></tr><tr>

<td valign=top><b>3.11</b></td>
  <td valign=top>
	<ul>
        <li> New: the #! runhs script 'interpreter'.
        <li> Bugfix: now finds dependency B in
             <tt>module A where { import B; ... }</tt>
        <li> Bugfixes: for compatibility problems with gcc-4.0.
        <li> Re-organised the internal cpphs library.
	</ul>
</td></tr><tr>

<td valign=top><b>3.10</b></td>
  <td valign=top>
	<ul>
        <li> Improved the extraction of import decls from source files:
             now accepts corner cases like multiple imports on a single line.
        <li> Source file scanning is now lazier - it stops at the first line
             that indicates no further import decls are possible.  This fixes
             some bugs dealing with .hsc files, and .ly files.
        <li> Takes care of the new package story in ghc-6.4.
        <li> Now interprets the compiler options <tt>-odir=foo</tt>
             option as well as passing it on to the compiler.
	</ul>
</td></tr><tr>

<td valign=top><b>3.09</b></td>
  <td valign=top>
	<ul>
        <li> Some fixes so that <em>hi</em> now works under Cygwin/GHC.
        <li> Now interprets a <tt>-hidir=foo</tt> option as well as passing
             it on to the compiler.
        <li> Improvements to the internal documentation of the APIs
             (thanks to Isaac Jones).
        <li> Improved handling of C pre-processor directives (thanks
             to cpphs).
	</ul>
</td></tr><tr>

<td valign=top><b>3.08</b></td>
  <td valign=top>
	<ul>
        <li> Hmake should now build cleanly with GHC 6.0.
        <li> In hmake-interactive, if the readline library is not available,
             the simple line editor now has a history mechanism.
	</ul>
</td></tr><tr>

<td valign=top><b>3.07</b></td>
  <td valign=top>
	<ul>
        <li> Hmake should now build cleanly with GHC under Cygwin.
        <li> Better handling of config files.  Your personal config file
             is now used as an override for the system-wide config file,
             rather than being used instead of it.  Hence, any global
             config updates are now automatically propagated to all users.
        <li> The new command <tt>hmake-config new</tt> is now needed to
             begin a fresh personal config file.
        <li> <tt>hmake-config list</tt> can now take a specific compiler
             argument to show detailed info for that compiler.
	</ul>
</td></tr><tr>

<td valign=top><b>3.06</b></td>
  <td valign=top>
	<ul>
        <li> Better handling of package libraries.  Previously, the package
             import directories were detected at installation time, so the
             addition of a new package required a re-configure of hmake.
             Also, because all of the package dirs were searched on every
             invocation, hmake could not warn of a missing `package' flag.
             Now, package dirs are detected at runtime, and only for the
             requested packages - this fixes both problems.
        <li> Added the cmdline option `list' to <tt>hmake-config</tt> to
             display the set of Haskell compilers known to <tt>hmake</tt>.
        <li> Bugfix for the -hat option.  Ensure that if a file goes through
             cpp before hat-trans, the resulting .hx file is moved from the
             temporary dir back to the build dir.
        <li> Bugfix, to ensure that hmake isn't confused by the escaped
             character \\ in a literal string.
	</ul>
</td></tr><tr>

<td valign=top><b>3.05</b></td>
  <td valign=top>
	<ul>
        <li> Some small fixes for the cpp preprocessor config.  Always give
             it the -traditional option, to cope with single quote marks.
             Also, if cpp is required before hat-trans, give it an input
             filename!
	</ul>
</td></tr><tr>

<td valign=top><b>3.04</b></td>
  <td valign=top>
	<ul>
        <li> Remove the use of the Posix package under GHC.  It is not
             available on Windows platforms, and only one feature is needed
             anyway, which can easily be coded directly using the FFI.
	</ul>
</td></tr><tr>

<td valign=top><b>3.03</b></td>
  <td valign=top>
	<ul>
        <li> The -P option to hmake (which specifies a directory in which
             there are interface files, but no sources) should be translated
             automatically to -i when the compiler is either ghc or hbc.
        <li> Some problems with hmake-config not detecting compilers correctly
             on Solaris and BSD machines are now fixed.
	</ul>
</td></tr><tr>

<td valign=top><b>3.02</b></td>
  <td valign=top>
	<ul>
        <li> An automatic invocation of a pre-processor should supply
             default options to it.  Also fix the dependency determination
             to correctly use the un-pre-processed file modification time.
        <li> When the hmake option <em>-hat</em> is used, add
             <em>-package hat</em> to the generated calls to the compiler.
        <li> Minor configuration fix to ease building under Cygwin.
	</ul>
</td></tr><tr>

<td valign=top><b>3.01</b></td>
  <td valign=top>
	<ul>
        <li> When detecting ghc 5.00 or later, hmake-config now uses the
             relevant ghc-pkg tool to discover import directories.
        <li> An hmake command with no specified compiler no longer fails
             if the location of the config file (to provide a default
	     compiler) cannot be discovered correctly.
        <li> If a <tt>.hs.cpp</tt> file is discovered, use the <tt>-x c</tt>
             option correctly (was missing a space before).
	</ul>
</td></tr><tr>

<td valign=top><b>3.00</b></td>
  <td valign=top>
	<ul>
        <li> The mechanism by which <em>hmake</em> knows about installed
             Haskell compilers has been completely revamped.  It is now
             possible to have more than one compiler of the same type
             (e.g. ghc-4.08 and ghc-5.02) installed simultaneously.
        <li> A new configuration utility <em>hmake-config</em>
	     is provided.  This allows an individual user to have a
	     personalised set-up telling hmake about new compilers,
	     removing old compilers, and changing the default compiler.
        <li> <em>hmake</em> now knows about many more preprocessors for
             Haskell - happy, hsc2hs, c2hs, greencard.  If it finds the
             appropriate file extension (.ly, .hsc, .chs, .gc) it now
             calls the preprocessor before the compiler.
        <li> The new <em>-hat</em> flag is for the Hat tracing system, if
             you have it installed.  With this option, hmake calls the
             tracing transformation tool <em>hat-trans</em> between
             any preprocessor and the compiler.  The resulting program
             generates a trace file suitable for viewing with the
             hat browsers.
	</ul>
</td></tr><tr>

<td valign=top><b>2.03</b></td>
  <td valign=top>
	<ul>
        <li> Updated the configure script to understand ghc-5.02's
             location.
        <li> Incorporates other small bugfixes.
	</ul>
</td></tr><tr>

<td valign=top><b>2.02</b></td>
  <td valign=top>
	<ul>
        <li> Note: <font color=red>patch-2.02-devnull</font> must be
             applied to fix the unfortunate behaviour that the
             configure script destroys <tt>/dev/null</tt> if you
             run it as root.
        <li> Improved the error-reporting in <em>hmake</em>.  When
		a module cannot be found, it now shows where the
		demand for the module arose, and which directories
		were searched.
        <li> Added knowledge of extended file suffixes like <em>.p.o</em>,
		<em>.T.o</em>, and <em>.T.hi</em> to <em>hmake</em>.
        <li> Fixed a bug in the generation of Makefile dependencies in
		the presence of a <em>-I</em> option.
        <li> Ghc's options <tt>-syslib n</tt> and <tt>-package n</tt> no
		longer need to be enclosed in double quotes.
	</ul>
</td></tr><tr>

<td valign=top><b>2.01</b></td>
  <td valign=top>
	<ul>
        <li> If you build <em>hi</em> with ghc, the automatic
             configuration now detects and links in the <em>readline</em>
             library for command-line editing.  (Thanks to Simon Marlow
             for the code changes.)
        <li> <em>hi</em> now uses unique temporary filenames so that
             multiple users on one machine do not conflict with each other.
             (Thanks to Kamo Hiroyasu for the suggestion.)  Temporaries
             are also now tidied up afterwards.
	</ul>
</td></tr><tr>

<td valign=top><b>2.00</b></td>
  <td valign=top>
	<ul>
        <li> Many improvements to <em>hi</em>, which moves out of
             alpha-testing to beta.  We think this is worth an
             increment to the major version number.
	</ul>
</td></tr><tr>

<td valign=top><b>1.9</b></td>
  <td valign=top>
	<ul>
        <li> New options: -clean and -realclean, which remove relevant
               .o files (or both .o and .hi files).
        <li> Addition of a simple line editor to <em>hi</em>.
        <li> Bugfix: the auto-configuration of <em>hi</em> was erratic,
               but should now work much more smoothly.
        <li> Bugfix: all the nasty possibilities of unmatched comment
	       characters inside strings and unmatched quote chars
	       inside comments no longer cause hmake to give up on
	       trying to extract dependencies from a file.
	</ul>
</td></tr><tr>

<td valign=top><b>1.8</b></td>
  <td valign=top>
	<ul>
        <li> New addition: hmake interactive, or <em>hi</em> for short.
               Looks and feels like Hugs, but uses hmake + any Haskell
               compiler as a backend.
	<li> Small bugfixes, for instance to allow #-} at the beginning
               of a line (previously interpreted as a cpp directive!).
	</ul>
</td></tr><tr>

<td valign=top><b>1.7.2</b></td>
  <td valign=top>
	<ul>
	<li> Small configure script patch for BUILDWITH variable.
	<li> Small driver script patch to permit -N option again.
	</ul>
</td></tr><tr>

<td valign=top><b>1.7.1</b></td>
  <td valign=top>
	<ul>
	<li> Small configuration patch for hmake built from C sources.
	</ul>
</td></tr><tr>

<td valign=top><b>1.7</b></td>
  <td valign=top>
	<ul>
	<li> The previous patch for detecting hbc 0.9999.5 was wrong, now fixed.
	<li> However, you cannot build hmake with hbc 0.9999.5 (at least on
	     linux-libc6), as that compiler has buggy libraries.  A binary
	     distribution built with ghc is available for this platform as
	     an alternative.
	<li> It often makes sense to have the default compiler called by
	     hmake to be the same as the one that built it.  This is now
	     enabled by default.  You can override it by editing the COMP
             variable in your hmake.config file, or by setting your HC
             environment variable at runtime.
	<li> Treatment of the <b>-i</b><em>dir</em> option has been changed:
	     it is now identical to the <b>-I</b><em>dir</em> option, for
	     compatibility with hbc and ghc.
	</ul>
</td></tr><tr>

<td valign=top><b>1.6.2</b></td>
  <td valign=top>
	<ul>
	<li> Small patch for detecting hbc version >= 0.9999.5 correctly.
	</ul>
</td></tr><tr>

<td valign=top><b>1.6.1</b></td>
  <td valign=top>
	<ul>
	<li> Small cosmetic patch to fix the -g flag (module dependency
             graph) whose output had multiple entries for some imports
             (depending on how many blank lines preceded it).
	</ul>
</td></tr><tr>

<td valign=top><b>1.6</b></td>
  <td valign=top>
	<ul>
	<li> Import determination is no longer confused by {- -} nested
             comments, end-of-line comments, or line-breaks between the
             "import"/"qualified" keywords and module name.
	<li> <em>hmake</em> driver script now returns true exit status.
	</ul>
</td></tr><tr>

<td valign=top><b>1.5</b></td>
  <td valign=top>
	<ul>
	<li> Configuration now automatically determines which Haskell
             compilers are available, where they live, and so on - no
             editing of files required.
	<li> Some minor bugfixes.
	</ul>
</td></tr><tr>

<td valign=top><b>1.4</b></td>
  <td valign=top>
	<ul>
	<li> Symbol error in GetDep.hs when compiling with ghc, fixed.
	</ul>
</td></tr><tr>

<td valign=top><b>1.3</b></td>
  <td valign=top>
	<ul>
	<li> Cpp-emulation now understands numeric comparisons.
	<li> Compiler cpp symbols (e.g. <tt>__HBC__</tt>) are not defined twice now.
	<li> Revert to allowing <em>both</em> GHCINCDIR and GHCINCPATH.
	</ul>
</td></tr><tr>

<td valign=top><b>1.2</b></td>
  <td valign=top>
	<ul>
	<li> Allow "<tt>import A-- comment</tt>", "<tt>import A;</tt>",
             "<tt>import A{-comment-}</tt>".
	<li> Change GHCINCDIR to GHCINCPATH to allow multiple directories
             for prelude .hi files.
	</ul>
</td></tr><tr>

<td valign=top><b>1.1</b></td>
  <td valign=top>	Minor bug fixes.
</td></tr><tr>

<td valign=top><b>1.0</b></td>
  <td valign=top>	Initial release (separated from nhc98/nhc13).
</td></tr></table>

<hr>
<p>
The latest updates to this software are available on the WWW from
<a href="http://www.haskell.org/hmake/">
<tt>http://www.haskell.org/hmake/</tt></a><br>
<a href="http://www.cs.york.ac.uk/fp/hmake/">
<tt>http://www.cs.york.ac.uk/fp/hmake/</tt></a>

<p>
Information last updated: 1st Nov 2006<br>
<a href="http://www.cs.york.ac.uk/fp/">
York Functional Programming Group</a><br>
Malcolm.Wallace@cs.york.ac.uk

</td></tr></table>

</body></html>

Bell Labs OSI certified Powered by Plan 9

(Return to Plan 9 Home Page)

Copyright © 2021 Plan 9 Foundation. All Rights Reserved.
Comments to webmaster@9p.io.