Missing headers from SharedMem.hsc

Simon Marlow marlowsd at gmail.com
Tue Jan 13 06:13:23 EST 2009


Don Stewart wrote:
> It was also missing HsUnix.h, so the #defines weren't propagating
> anyway.
> 
> 
> Mon Jan 12 15:07:58 PST 2009  Don Stewart <dons at galois.com>
>   * Add check for -lrt to get the shm* functions. Subst. in buildinfo
> 
> Mon Jan 12 15:47:17 PST 2009  Don Stewart <dons at galois.com>
>   * SharedMem.hsc wasn't including HsUnixConfig.h, so no #defines were propagating

I can't apply these here:

$ darcs apply ~/sharedmem.patch
darcs: Cannot apply this patch bundle, since we're missing:
Thu Nov 10 12:58:32 GMT 2005  simonmar
   * [project @ 2005-11-10 12:58:32 by simonmar]
   Some docs for System.Posix, from Bj�rn Bringert

this looks like an encoding issue, since in the history I have:

Thu Nov 10 12:58:32 GMT 2005  simonmar
   * [project @ 2005-11-10 12:58:32 by simonmar]
   Some docs for System.Posix, from Bj[_\f6_]rn Bringert

I tried with darcs 2.2.0rc1 and 1.0.9, same result.

Anyone know what's going on here?  (for the darcs-users folks, the repo to 
apply to is http://darcs.haskell.org/packages/unix).

Cheers,
	Simon
-------------- next part --------------
Mon Jan 12 15:07:58 PST 2009  Don Stewart <dons at galois.com>
  * Add check for -lrt to get the shm* functions. Subst. in buildinfo

Mon Jan 12 15:47:17 PST 2009  Don Stewart <dons at galois.com>
  * SharedMem.hsc wasn't including HsUnixConfig.h, so no #defines were propagating

New patches:

[Add check for -lrt to get the shm* functions. Subst. in buildinfo
Don Stewart <dons at galois.com>**20090112230758] hunk ./configure.ac 30
 AC_CHECK_FUNCS([nanosleep])
 AC_CHECK_FUNCS([ptsname])
 AC_CHECK_FUNCS([setitimer])
+
+# Avoid adding rt if absent or unneeded
+AC_CHECK_LIB(rt, shm_open, [EXTRA_LIBS="$EXTRA_LIBS rt" CFLAGS="$CFLAGS -lrt"])
+
+# needs -lrt on linux
 AC_CHECK_FUNCS([shm_open shm_unlink])
 
 FP_CHECK_CONSTS([SIGABRT SIGALRM SIGBUS SIGCHLD SIGCONT SIGFPE SIGHUP SIGILL SIGINT SIGKILL SIGPIPE SIGQUIT SIGSEGV SIGSTOP SIGTERM SIGTSTP SIGTTIN SIGTTOU SIGUSR1 SIGUSR2 SIGPOLL SIGPROF SIGSYS SIGTRAP SIGURG SIGVTALRM SIGXCPU SIGXFSZ SIG_BLOCK SIG_SETMASK SIG_UNBLOCK], [
[SharedMem.hsc wasn't including HsUnixConfig.h, so no #defines were propagating
Don Stewart <dons at galois.com>**20090112234717] hunk ./System/Posix/SharedMem.hsc 26
 #include <sys/mman.h>
 #include <sys/fcntl.h>
 
+#include "HsUnix.h"
+
 import System.Posix.Types
 import System.Posix.Error
 import Foreign.C

Context:

[Avoid using IOError internals
Ian Lynagh <igloo at earth.li>**20090104173221] 
[fix pthread linkage problem for openbsd
Matthias Kilian <kili at outback.escape.de>**20081129000638
 This should make my openbsd build slave happy when SplitObjs=NO.
 May be useful for other BSDs and even Linux, regardless wether you
 need -pthread or -lpthread. Time will tell...
] 
[catch up with exception changes
Simon Marlow <marlowsd at gmail.com>**20080927135428] 
[Bump version number to 2.3.1.0
Ian Lynagh <igloo at earth.li>**20080920160248] 
[TAG 6.10 branch has been forked
Ian Lynagh <igloo at earth.li>**20080919123439] 
[follow library changes
Ian Lynagh <igloo at earth.li>**20080903223616] 
[add category field
Ross Paterson <ross at soi.city.ac.uk>**20080824003014] 
[We now depend on concurrent (split off from base)
Ian Lynagh <igloo at earth.li>**20080824135158] 
[Fix the build when CONST_SIGPOLL == -1
Ian Lynagh <igloo at earth.li>**20080823160346
 We were defining, but not using, sigPOLL
] 
[Fix warnings in the unix package
Ian Lynagh <igloo at earth.li>**20080821120138] 
[move some stuff here from System.Directory, now the dependencies are reversed
Simon Marlow <marlowsd at gmail.com>**20080821144754] 
[Follow extensible exceptions changes
Ian Lynagh <igloo at earth.li>**20080623193152] 
[Allow C's unsetenv to return either void or int
Ian Lynagh <igloo at earth.li>**20080703190603
 Fixes, and patch from donn in, trac #2352.
] 
[Avoid using deprecated flags
Ian Lynagh <igloo at earth.li>**20080616145425] 
[move __hscore_{mkstemp,getrlimit,setrlimit} here from base
Ross Paterson <ross at soi.city.ac.uk>**20080615224248] 
[TAG 2008-05-28
Ian Lynagh <igloo at earth.li>**20080528004441] 
[Add a test for #2038 (resourceLimit)
Ian Lynagh <igloo at earth.li>**20080520163012] 
[Use the C wrappers for [gs]etrlimit
Ian Lynagh <igloo at earth.li>**20080520162048
 This is for #2038: macros are used in the Linux .h includes to redirect
 to a 64-bit version when large file support is enabled.
] 
[Use the __hscore_mkstemp wrapper from the base package
Ian Lynagh <igloo at earth.li>**20080520162039
 This is for #2038: macros are used in the Linux .h includes to redirect
 to a 64-bit version when large file support is enabled.
] 
[small doc tweak
Simon Marlow <simonmar at microsoft.com>**20080508114348] 
[add AC_SYS_LARGEFILE check to configure.ac
jeremy.shaw at linspireinc.com**20080213223619
 As explained in this thread:
 
 http://www.haskell.org/pipermail/haskell-cafe/2008-February/039549.html
 
 getSymbolicLinkStatus (and possibly other functions) return completely
 bogus results. This is because hsc2hs returns the offsets for stat64,
 but the library is built such that it calls the 32 bit lstat call.
 
 I copied the AC_SYS_LARGEFILE from ghc's configure.ac. So, I believe
 the library should now properly autodetect whether your system has
 large file support and do the right thing more often. I suspect that
 this would still be buggy if ghc was built without large file support,
 but the library was built with it enabled. However, as long as
 AC_SYS_LARGEFILE returns the same results for 'ghc' and 'unix', things
 should be ok ?
] 
[Throw a proper exception if getUserEntryForName fails to find an entry
Ian Lynagh <igloo at earth.li>**20080115020547
 Fixes trac #2033.
] 
[Add a test getUserEntryForName for trac #1976
Ian Lynagh <igloo at earth.li>**20080115020540] 
[protect against concurrent access to the signal handlers (#1922)
Simon Marlow <simonmar at microsoft.com>**20071204110839
 
] 
[Fix some haddock links
Ian Lynagh <igloo at earth.li>**20071126184521] 
[Throw a proper exception if getGroupEntryForName fails to find an entry
Ian Lynagh <igloo at earth.li>**20071110235805
 We used to get
  *** Exception: getGroupEntryForName: failed (Success)
 Fixes trac #1655
] 
[fix framework failures
Simon Marlow <simonmar at microsoft.com>**20071029114606] 
[Remove incorrect comment
Ian Lynagh <igloo at earth.li>**20071014101756] 
[Specify build-type: Configure
Duncan Coutts <duncan at haskell.org>**20071018125127] 
[Bump version number
Ian Lynagh <igloo at earth.li>**20071014101806] 
[Support for 57600 and 115200 baudrates
pweaver at galois.com**20071016191631] 
[Also guard the foreign declaration of __hsunix(grant|unlock)pt by HAVE_PTSNAME
Clemens Fruhwirth <clemens at endorphin.org>**20071016143846] 
[Add basic pseudoterminal support.
Bryan O'Sullivan <bos at serpentine.com>**20070925113330] 
[check for shm_open/shm_unlink (for archs like OpenBSD without them)
Don Stewart <dons at galois.com>**20070916025218] 
[Add more entries to boring file
Ian Lynagh <igloo at earth.li>**20070913210721] 
[Add a boring file
Ian Lynagh <igloo at earth.li>**20070913204658] 
[in pPrPr_disableITimers (who made up that name?) call the RTS to disable the timer
Simon Marlow <simonmar at microsoft.com>**20070912145647
 Since we switched to using timer_create() in the RTS, this function
 has been failing to disables the timer interrupts.  This turns out to
 be the cause of the random framework failures in the test suite.
 Invoking the RTS to turn off the timer signal is the right thing.
] 
[TAG ghc-6.8 branched 2007-09-03
Ian Lynagh <igloo at earth.li>**20070903155840] 
[Suppress some warnings
Ian Lynagh <igloo at earth.li>**20070902194033] 
[Remove redundant include/Makefile
Ian Lynagh <igloo at earth.li>**20070828205715] 
[add cross-referencing between posix and process modules
ijones at syntaxpolice.org**20070819073930] 
[get the SIG constants for ourselves, rather than relying on HsBaseConfig.h
Ross Paterson <ross at soi.city.ac.uk>**20070819233142] 
[FIX BUILD on OS X: Check for setitimer
Roman Leshchinskiy <rl at cse.unsw.edu.au>**20070814020033
 
 Fix suggested by Ian Lynagh
] 
[Remove bits left over from the old build system
Ian Lynagh <igloo at earth.li>**20070811135134] 
[Move System.Posix.Signals from base
Ian Lynagh <igloo at earth.li>**20070729215617
 Also adds System.Posix.Process.Internals in order to make the deps work out.
] 
[Move throwErrnoPath* functions to base:Foreign.C.Error
Ian Lynagh <igloo at earth.li>**20070722002956] 
[GHC.Handle no longer exports openFd
Ian Lynagh <igloo at earth.li>**20070722000926] 
[disable the getLoginName test, see #1487
Simon Marlow <simonmar at microsoft.com>**20070703105224] 
[Don't do "< /dev/null" when running the user001 test
Ian Lynagh <igloo at earth.li>**20070623205408
 It can cause the test to fail.
] 
[--configure-option and --ghc-option are now provided by Cabal
Ross Paterson <ross at soi.city.ac.uk>**20070604115617] 
[Add support for named semaphores and shared memory objects
Daniel Franke <df at dfranke.us>**20070503220003] 
[Remove Makefile and package.conf.in (used in the old build system)
Ian Lynagh <igloo at earth.li>**20070524142637] 
[We now depend on process
Ian Lynagh <igloo at earth.li>**20070523181544] 
[We now depend on directory
Ian Lynagh <igloo at earth.li>**20070519160513] 
[add includes: field
Simon Marlow <simonmar at microsoft.com>**20070517095025] 
[Fix calling getAllUserEntries twice (trac #1279).
Ian Lynagh <igloo at earth.li>**20070504104956
 It used to return [] on all but the first call.
 Patch from an unidentified guest.
] 
[Make it more obvious that the forkprocess01 test is really working
Ian Lynagh <igloo at earth.li>**20070418114542] 
[Follow Cabal changes in Setup.hs
Ian Lynagh <igloo at earth.li>**20070418114510] 
[Handle sysconf(3) return value -1 when checking _SC_GETGR_R_SIZE_MAX and _SC_GETPW_R_SIZE_MAX.
bjorn at bringert.net**20070416214837
 sysconf(3) returns -1 on failure, but this was not handled when checking _SC_GETGR_R_SIZE_MAX and _SC_GETPW_R_SIZE_MAX in System.Posix.User. This made getUserEntryForID, getUserEntryForName, getGroupEntryForID and getGroupEntryForName fail on OS X 10.4.9 on i386. Just checking that unistd.h defines _SC_GETGR_R_SIZE_MAX and _SC_GETPW_R_SIZE_MAX as was done before does not guarantee that sysconf(3) will succeed.
 
 sysconf(3) failure is now handled by using the same default values as were already used when sysconf(3) is not available, or the parameter names are not defined.
] 
[Added tests/user001.hs which tests all the get* functions in System.Posix.User.
bjorn at bringert.net**20070416220012
 I added this since I noticed that getUserEntryForID, getUserEntryForName,
 getGroupEntryForID and getGroupEntryForName failed on OS X 10.4.9 on i386.
] 
[Fix -Wall warnings
Ian Lynagh <igloo at earth.li>**20070411005028] 
[Add missing case in removePrefix
Ian Lynagh <igloo at earth.li>**20070411002604] 
[parse (but don't pass on) options for ./configure
Ian Lynagh <igloo at earth.li>**20070406153756] 
[make Setup suitable for building the libraries with GHC
Ian Lynagh <igloo at earth.li>**20061112214741] 
[Don't use Fd/FD in foreign decls
Ian Lynagh <igloo at earth.li>**20070404155930
 Using CInt makes it much easier to verify that it is right, and we won't
 get caught out by possible newtype switches between CInt/Int.
] 
[Fix C/Haskell type mismatches
Ian Lynagh <igloo at earth.li>**20070404003625] 
[Follow type changes in base
Ian Lynagh <igloo at earth.li>**20070403195237
 (of the dubiously exported c_access and c_fcntl_write)
] 
[fix cut-and-pasto in error message
Simon Marlow <simonmar at microsoft.com>**20070308134418] 
[add tests from GHC testsuite
Simon Marlow <simonmar at microsoft.com>**20070305145258] 
[export the file-type modes, so that createDevice can be used
Simon Marlow <simonmar at microsoft.com>**20070305113316] 
[Provide nanosleep if we have it, and use it to implement usleep
Simon Marlow <simonmar at microsoft.com>**20070302132818
 Fixes #1156
] 
[don't retry usleep() on EINTR (see #850/#1156)
Simon Marlow <simonmar at microsoft.com>**20070302114118] 
[expand docs for forkProcess
Simon Marlow <simonmar at microsoft.com>**20070301151220] 
[add C wrappers for lstat() and mknod().  Fixes #1086.
Simon Marlow <simonmar at microsoft.com>**20070226110311] 
[README about building from darcs
Ross Paterson <ross at soi.city.ac.uk>**20070218110201] 
[TAG 6.6 release
Ian Lynagh <igloo at earth.li>**20061011124740] 
[fix haddock syntax
Simon Marlow <simonmar at microsoft.com>**20060908111858] 
[Derive Show, Read, and Eq for UserEntry and GroupEntry
John Goerzen <jgoerzen at complete.org>**20060831145022] 
[bump version to 2.0
Simon Marlow <simonmar at microsoft.com>**20060831140257] 
[Fix compilation issues with new getgrent/getpwent code
John Goerzen <jgoerzen at complete.org>**20060830134517] 
[Added support for getpwent/getgrent
John Goerzen <jgoerzen at complete.org>**20060830132550] 
[Added some Haddock docs for UserEntry and GroupEntry
John Goerzen <jgoerzen at complete.org>**20060829185932] 
[Add missing field gr_passwd to GroupEntry
John Goerzen <jgoerzen at complete.org>**20060829185536] 
[Whitespace changes for better alignment in unpackUserEntry
John Goerzen <jgoerzen at complete.org>**20060829185300] 
[Added pw_passwd and pw_gecos fields to UserEntry structure
John Goerzen <jgoerzen at complete.org>**20060829185051
 System.Posix.User was missing pw_gecos and pw_passwd in UserEntry.
 
 I have added them, so now the full struct passwd is represented.
] 
[includes -> install-includes
Ross Paterson <ross at soi.city.ac.uk>**20060829123744] 
[exclude Setup.hs from build
Ross Paterson <ross at soi.city.ac.uk>**20060824183535] 
[add boilerplate Setup.hs
Ross Paterson <ross at soi.city.ac.uk>**20060824115019] 
[Added more documentation to System.Posix.Files
Johan Tibell <johan.tibell at gmail.com>**20060813102350] 
[fix markup (#854)
Ross Paterson <ross at soi.city.ac.uk>**20060820002322] 
[change test for buildability
Ross Paterson <ross at soi.city.ac.uk>**20060819144834
 
 Checking for dlfcn.h instead of creat() should make the Cabal build fail
 more gracefully under MinGW.
] 
[document args to executeFile
Simon Marlow <simonmar at microsoft.com>**20060809104559] 
[fix bogosity in getEnvironmentPrim
Simon Marlow <simonmar at microsoft.com>**20060531144640] 
[Track the GHC source tree reoganisation
Simon Marlow <simonmar at microsoft.com>**20060407041758] 
[TAG Initial conversion from CVS complete
John Goerzen <jgoerzen at complete.org>**20060112154138] 
[[project @ 2005-11-10 13:00:55 by simonmar]
simonmar**20051110130055
 some Haddock docs, from Isaac Jones.
] 
[[project @ 2005-11-10 12:58:32 by simonmar]
simonmar**20051110125832
 Some docs for System.Posix, from Bj�rn Bringert
] 
[TAG cmm-merge2
Unknown tagger**20060112152636] 
[[project @ 2005-09-20 22:54:33 by ross]
ross**20050920225433
 make the unix package independent.
] 
[[project @ 2005-09-20 16:35:26 by ross]
ross**20050920163526
 move RTLD_* tests down to unix package
] 
[[project @ 2005-09-19 23:24:31 by ross]
ross**20050919232431
 For compilers other than MSVC and GCC, assume inline has the C99 semantics.
] 
[[project @ 2005-08-10 10:07:22 by simonmar]
simonmar**20050810100722
 Fix queryFdOption
] 
[[project @ 2005-08-04 02:09:36 by wolfgang]
wolfgang**20050804020936
 Check for RTLD_DEFAULT in dlfcn.h and use it if it is available.
 (On Mac OS X its value is -2, and using NULL instead does not work.)
 
 MERGE TO STABLE
] 
[[project @ 2005-07-21 12:54:33 by simonmar]
simonmar**20050721125433
 Hack Makefiles so that 'make distclean' works even if the tree has not
 been configured, or 'make distclean' has already been run.
 
 This is to solve problems caused by 'make distclean' removing files
 that it needs itself - previously we were arranging to remove certain
 files right at the end of cleaning, but this is fragile.  So now we
 assume that e.g. the X11 library is always enabled when we're
 cleaning.
] 
[[project @ 2005-05-10 10:40:12 by simonmar]
simonmar**20050510104012
 PATH_MAX fixes from Thomas Schwinge.
] 
[TAG arity-anal-branch-point
Unknown tagger**20060112152625] 
[TAG ghc-assoc-branch-point
Unknown tagger**20060112152625] 
[[project @ 2005-03-23 14:34:21 by ross]
ross**20050323143421
 add license files for individual packages
] 
[TAG nhc98-1-18-release
Unknown tagger**20060112152623] 
[[project @ 2005-03-08 16:22:05 by simonmar]
simonmar**20050308162205
 Undo previous commit: it breaks when RLIM_INFINITY is defined to an
 expression that CPP doesn't understand.
] 
[[project @ 2005-03-08 04:45:38 by wolfgang]
wolfgang**20050308044538
 Mac OS X:
 Kill HaskellSupport.framework.
 Instead, look for GMP.framework (a framework-version of libgmp), else look
 for a normal -lgmp as usual.
 The other part of HaskellSupport.framework, dlcompat, is no longer needed
 (as of Mac OS X 10.3, it's included in libSystem).
 It's enough to just use the normal configure tests for -ldl.
 
 MERGE TO STABLE
] 
[[project @ 2005-03-05 14:32:09 by panne]
panne**20050305143209
 Warning police (for platforms where all resource limits can be
 represented, i.e. RLIM_INFINITY == RLIM_SAVED_MAX == RLIM_SAVED_CUR)
] 
[[project @ 2005-03-02 16:39:57 by ross]
ross**20050302163958
 *Config.h files are in include/ (MERGE to STABLE)
] 
[[project @ 2005-03-02 14:46:16 by simonmar]
simonmar**20050302144616
 distcleaning of things generated by configure
] 
[[project @ 2005-02-24 09:58:27 by simonmar]
simonmar**20050224095827
 nDoc fixes from Sven Panne.  Generally fixing of Haddock links, adding
 some signatures, and in some cases exporting type constructors that
 are mentioned in the types of exported identifiers.
] 
[[project @ 2005-02-18 18:30:40 by ross]
ross**20050218183040
 Rename package description fields as in InstalledPackageInfo:
 
 	options-ghc -> ghc-options
 	options-hugs -> hugs-options
 	options-nhc -> nhc-options
 	extra-libs -> extra-libraries
] 
[[project @ 2005-02-18 15:06:47 by simonmar]
simonmar**20050218150647
 Rename fields in InstalledPackageInfo for consistency with
 PackageDescription & buildInfo:
 
  extra-libs (extraLibraries) --> extra-libraries (extraLibraries)
  extra-cc-opts (extraCcOpts) --> cc-options (ccOptions)
  extra-ld-opts (extraLdOpts) --> ld-options (ldOptions)
  extra-hugs-opts (extraHugsOpts) --> hugs-options (hugsOptions)
  extra-frameworks (extraFrameworks) --> frameworks (frameworks)
] 
[[project @ 2005-02-11 01:55:58 by ross]
ross**20050211015558
 track syntax changes:
 
 * add License-File and Synopsis fields
 
 * rename Hidden-Fields as Other-Fields
 
 These files are used only by Hugs, but are also useful as examples.
] 
[[project @ 2005-02-07 12:03:44 by simonmar]
simonmar**20050207120344
 Doc for handleToFd and fdToHandle
] 
[TAG ghc-6-4-branch-point
Unknown tagger**20060112152610] 
[[project @ 2005-01-28 13:36:36 by simonmar]
simonmar**20050128133636
 Catch up with updates to platform #defines.
 
 Generally: use _HOST_ rather than _TARGET_ (except in Cabal where we
 have to retain compatibility with previous GHC versions).
] 
[[project @ 2005-01-25 17:06:40 by ross]
ross**20050125170640
 add Cabal package descriptions
] 
[[project @ 2005-01-21 12:35:38 by simonmar]
simonmar**20050121123538
 update the haddock fields (this one somehow got missed)
] 
[[project @ 2005-01-20 14:22:28 by simonmar]
simonmar**20050120142228
 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 :-)
] 
[[project @ 2005-01-06 11:27:48 by ross]
ross**20050106112748
 c_ftruncate is now in System.Posix.Internals
] 
[TAG pluggable-1-branch-point
Unknown tagger**20060112152603] 
[[project @ 2004-12-02 15:57:06 by ross]
ross**20041202155706
 Hugs only: replace the CBITS pragma (files relative to cbits) with
 CFILES (files relative to the root of the package).
] 
[[project @ 2004-11-26 16:22:12 by simonmar]
simonmar**20041126162212
 Further integration with the new package story.  GHC now supports
 pretty much everything in the package proposal.
 
   - GHC now works in terms of PackageIds (<pkg>-<version>) rather than
     just package names.  You can still specify package names without
     versions on the command line, as long as the name is unambiguous.
 
   - GHC understands hidden/exposed modules in a package, and will refuse
     to import a hidden module.  Also, the hidden/eposed status of packages
     is taken into account.
 
   - I had to remove the old package syntax from ghc-pkg, backwards
     compatibility isn't really practical.
 
   - All the package.conf.in files have been rewritten in the new syntax,
     and contain a complete list of modules in the package.  I've set all
     the versions to 1.0 for now - please check your package(s) and fix the
     version number & other info appropriately.
 
   - New options:
 
 	-hide-package P    sets the expose flag on package P to False
 	-ignore-package P  unregisters P for this compilation
 
 	For comparison, -package P sets the expose flag on package P
         to True, and also causes P to be linked in eagerly.
 
         -package-name is no longer officially supported.  Unofficially, it's
 	a synonym for -ignore-package, which has more or less the same effect
 	as -package-name used to.
 
 	Note that a package may be hidden and yet still be linked into
 	the program, by virtue of being a dependency of some other package.
 	To completely remove a package from the compiler's internal database,
         use -ignore-package.
 
 	The compiler will complain if any two packages in the
         transitive closure of exposed packages contain the same
         module.
 
 	You *must* use -ignore-package P when compiling modules for
         package P, if package P (or an older version of P) is already
         registered.  The compiler will helpfully complain if you don't.
 	The fptools build system does this.
 
    - Note: the Cabal library won't work yet.  It still thinks GHC uses
      the old package config syntax.
 
 Internal changes/cleanups:
 
    - The ModuleName type has gone away.  Modules are now just (a
      newtype of) FastStrings, and don't contain any package information.
      All the package-related knowledge is in DynFlags, which is passed
      down to where it is needed.
 
    - DynFlags manipulation has been cleaned up somewhat: there are no
      global variables holding DynFlags any more, instead the DynFlags
      are passed around properly.
 
    - There are a few less global variables in GHC.  Lots more are
      scheduled for removal.
 
    - -i is now a dynamic flag, as are all the package-related flags (but
      using them in {-# OPTIONS #-} is Officially Not Recommended).
 
    - make -j now appears to work under fptools/libraries/.  Probably
      wouldn't take much to get it working for a whole build.
] 
[[project @ 2004-11-18 16:39:54 by stolz]
stolz**20041118163954
 Push down more feature-tests
] 
[[project @ 2004-11-12 17:08:58 by stolz]
stolz**20041112170858
 Fix FFI-funniness, cf.
 http://www.haskell.org/pipermail/glasgow-haskell-users/2002-February/003020.html
 
 Noticed by: George Russell (again)
] 
[[project @ 2004-11-12 14:56:13 by stolz]
stolz**20041112145613
 Fix previous commit:
 Don't handle Solaris2-flag _POSIX_PTHREAD_SEMANTICS in configure at all
 but simply #ifdef solaris2_TARGET_OS #define ... it in the header-file.
] 
[[project @ 2004-11-12 13:22:56 by stolz]
stolz**20041112132256
 More getpw*_r result checks
] 
[[project @ 2004-11-12 12:12:53 by stolz]
stolz**20041112121253
 Push some unixisms from toplvl into package:
 usleep, SunOS-handling, getpw*
] 
[[project @ 2004-11-05 14:59:33 by stolz]
stolz**20041105145933
 Fix getpwnam_r-handling: getpwnam_r returns (always?) 0, you have
 to check result* (pppw[0])!
 
 Truss-log from querying first "root", then "" on SunOS 5.9:
 
 <- libc:__posix_getpwnam_r() = 0
 "root"
 -> libc:__posix_getpwnam_r(0xff1bf8a8, 0xff1bf460, 0xff1bf490, 0x400)
 <- libc:__posix_getpwnam_r() = 0
 
 Yes, that's 0 in both cases.  (I wasn't even able to elicit an ERANGE btw.)
 
 Reported by: Peter Simons
] 
[[project @ 2004-10-27 10:51:15 by simonmar]
simonmar**20041027105115
 Fix bug in forkProcess: we weren't wrapping the forked IO action in
 the default exception handler, so exitFailure wasn't working properly.
] 
[[project @ 2004-10-15 09:42:02 by simonmar]
simonmar**20041015094202
 - sleep, usleep: make thread-safe
 - add Haddock comments
] 
[[project @ 2004-10-09 07:51:07 by panne]
panne**20041009075107
 Unbreak Hugs by moving pPrPr_disableITimers and execvpe to System.Posix.Internals
 (base package) and use it from System.Posix.Process (unix package).
] 
[[project @ 2004-10-08 18:35:50 by panne]
panne**20041008183550
 Unbreak Hugs, 2nd try...
] 
[[project @ 2004-10-08 17:48:57 by panne]
panne**20041008174857
 Unbreak Hugs: execvpe.c has gone
] 
[[project @ 2004-10-08 12:04:49 by ross]
ross**20041008120449
 revert previous change, so now these includes don't define PACKAGE_*
] 
[[project @ 2004-10-08 08:42:53 by dons]
dons**20041008084253
 Tweak the PACKAGE_* #undefs in a couple of other places, too.
] 
[[project @ 2004-10-06 10:13:08 by ross]
ross**20041006101308
 make the evil PACKAGE_* hacks consistent
] 
[[project @ 2004-09-30 03:13:23 by dons]
dons**20040930031323
 Implement System.Posix.User.getUserEntryFor{ID,Name} on platforms
 without reentrant versions of getpw{uid,nam}. This includes all the BSDs.
 
 While I'm here, close getGroupEntryFor* "Result too large" bug on
 OpenBSD, mentioned last year:
   http://www.haskell.org/pipermail/glasgow-haskell-bugs/2003-September/003601.html
 grBufSize was too small, apparently.
 
 Thanks to Ian Lynagh for hint to do the locking.
] 
[[project @ 2004-09-29 15:50:54 by simonmar]
simonmar**20040929155055
 Process reorganisation: the System.Process library moves into base,
 and System.Cmd is re-implemented in terms of it.
 
 Thanks to Krasimir Angelov, we have a version of System.Process that
 doesn't rely on the unix or Win32 libraries.  Normally using
 unix/Win32 would be the right thing, but since we want to implement
 System.Cmd on top of this, and GHC uses System.Cmd, we can't introduce
 a bunch of .hsc dependencies into GHC's bootstrap libraries.
 
 So, the new version is larger, but has fewer dependencies.  I imagine
 it shouldn't be too hard to port to other compilers.
] 
[[project @ 2004-09-22 09:14:23 by panne]
panne**20040922091423
 As a temporary measure, use an ultra-evil sledgehammer method to silence the
 PACKAGE_FOO clashes. The correct way of doing this would be splitting up
 HsPACKAGE.h and ghcconfig.h into two parts each: One part would be generated by
 autoheader and would contain the defines which are needed during package build
 time only. The other part would contain all kinds of stuff which is needed for
 using the given package (no PACKAGE_FOO defines here). For an example of this,
 see the OpenAL package. As an additional benefit, this would keep the namespace
 much cleaner, because 2nd kind of headers is typically smaller.
 
 No time for the real thing currently, hope the current workaround works...
] 
[[project @ 2004-09-18 12:50:00 by panne]
panne**20040918125000
 Make autoupdate 2.52 happy, mainly by using the new formats of AC_INIT and
 AC_OUTPUT. This has the nice side effect that all "packages" have now a name, a
 version, a bug-report address, and a tar name, yielding better output with
 "configure --help=recursive". Nuked an unused AC_STRUCT_ST_BLKSIZE test on the
 way.
] 
[[project @ 2004-09-15 15:55:45 by stolz]
stolz**20040915155546
 Add System.Posix.Signals.Exts which re-exports S.P.Signals and adds the
 two signals SIGINFO on (*BSD) and SIGWINCH (most Unices) which are not
 in POSIX.
 You should use cpp to test if those are defined before using them. This is
 encouraged by not providing dummy-definitions on platforms which do not
 offer that particular flavour.
] 
[[project @ 2004-09-09 06:55:47 by panne]
panne**20040909065547
 Unified the comments in (almost) empty aclocal.m4 files
] 
[[project @ 2004-09-03 07:46:56 by ross]
ross**20040903074656
 add empty aclocal.m4's (so we don't need aclocal)
] 
[[project @ 2004-09-02 15:18:10 by ross]
ross**20040902151810
 devolve some library-specific configuration
] 
[[project @ 2004-08-19 11:15:51 by simonmar]
simonmar**20040819111552
 Add filenames to all errors where it makes sense.  I've added
 System.Posix.Error with a new family of error-throwing functions,
 throwErrnoPath*.  This seemed to make the most sense: they don't
 belong in Foreign.C.Error (C by itself has no notion of paths).
 
 Fixes: [ 954378 ] getFileStatus does not include the file name in IO-Error
] 
[[project @ 2004-08-13 13:29:11 by simonmar]
simonmar**20040813132911
 Changes required be merge of backend-hacking-branch.  Mostly config.h
 ==> ghcconfig.h.
] 
[[project @ 2004-05-13 09:55:59 by stolz]
stolz**20040513095559
 Inverted logic would call dlerror() after a successful dlclose() and
 cause a segfault.
 
 Noticed by: abe.egnor At gmail.com
] 
[[project @ 2004-03-09 11:37:14 by simonmar]
simonmar**20040309113714
 change the foreign import of waitpid to "safe", so that we can use it
 in a non-blocking way with the threaded RTS.
] 
[[project @ 2004-02-19 16:29:28 by stolz]
stolz**20040219162928
 Remove redundant _POSIX_PTHREAD_SEMANTICS. It's defined on the command line
 and also set too late/in the wrong place (after including system prototypes),
 anyway.
] 
[[project @ 2004-02-05 11:46:00 by ross]
ross**20040205114600
 Hugs only: use the configure-set variable INLINE_ONLY instead of
 `extern inline' (which works for gcc but not C99 compilers).
] 
[[project @ 2003-12-15 16:57:30 by ross]
ross**20031215165730
 include dirent.h to avoid warnings when compiling System.Posix.Directory
] 
[[project @ 2003-12-05 10:20:25 by ross]
ross**20031205102025
 solaris_TARGET_OS -> solaris2_TARGET_OS
 (and tweak the #define while I'm here)
 
 Works for Hugs, still untested for GHC, but presumably needed for STABLE.
] 
[[project @ 2003-11-15 22:31:18 by panne]
panne**20031115223118
 Decouple packages a bit more again: The prologue of the combined index is now
 generated via shell magic from the package prologues. As a nice side effect,
 some autoconf magic is gone, so configure.ac is effectively empty now (but not
 for long... :-)
] 
[[project @ 2003-11-10 15:32:45 by simonmar]
simonmar**20031110153245
 Change the documentation title from "Haskell Core Libraries" to "Haskell Hierarchical Libraries".
] 
[[project @ 2003-10-27 11:58:28 by stolz]
stolz**20031027115828
 - fix typo in error message
 - a bit of manual CSE for fcntl-flags
 - use Data.Bits instead of brains
 - make (unexported) function names a bit more consistent
] 
[[project @ 2003-10-24 14:46:13 by sof]
sof**20031024144613
 drop cygwin #ifdef; not an issue with current versions.
 
 merge to stable
] 
[[project @ 2003-10-24 14:38:27 by sof]
sof**20031024143827
 code tidyup
 
 merge to stable
] 
[[project @ 2003-10-23 23:32:43 by sof]
sof**20031023233243
 fdRead: drop superfluous array copying
 
 merge to stable
] 
[[project @ 2003-10-18 00:35:26 by ross]
ross**20031018003526
 Hugs only: add handleToFd
] 
[[project @ 2003-10-17 16:48:44 by ross]
ross**20031017164845
 Hugs only: add most of the rest of System.Posix
 
 (I wonder why SIG_UNBLOCK and SIG_SETMASK are switched in HsBase.h)
] 
[[project @ 2003-10-01 10:57:44 by wolfgang]
wolfgang**20031001105744
 New implementation & changed type signature of forkProcess
 
 forkProcess now has the following type:
 forkProcess :: IO () -> IO ProcessID
 
 forkProcessAll has been removed as it is unimplementable in the threaded RTS.
 
 forkProcess using the old type (IO (Maybe ProcessID)) was impossible to
 implement correctly in the non-threaded RTS and very hard to implement
 in the threaded RTS.
 The new type signature allows a clean and simple implementation.
] 
[[project @ 2003-09-24 13:42:15 by simonmar]
simonmar**20030924134215
 No reason we can't support sys/mman.h: move it to the ToDo section.
] 
[[project @ 2003-09-22 10:57:45 by simonmar]
simonmar**20030922105745
 Untested fix for Solaris to get the right versions of getgrnam_r and
 friends.
 
 I'd appreciate it if someone with a Solaris build could test this.
] 
[[project @ 2003-09-19 09:27:35 by simonmar]
simonmar**20030919092735
 Kill mktemp: it causes link warnings whenever someone uses -package
 unix on Linux & FreeBSD at least, and is bogus anyway.
 
 mktemp is still used to implement mkstemp when !GLASGOW_HASKELL and
 !HUGS.  Why is this?
] 
[[project @ 2003-09-16 13:45:02 by simonmar]
simonmar**20030916134502
 fileExist should not throw an exception if the file does not exist.
] 
[[project @ 2003-09-15 20:59:07 by dons]
dons**20030915205907
 #ifdef's for the _PC_SYNC_IO, _PC_ASYNC_IO, _PC_FILESIZEBITS,
 _PC_SYMLINK_MAX.
 
 These 4 symbols are not universal: FreeBSD and Linux and the only
 OS's that appear to have them at the moment.
] 
[[project @ 2003-09-12 13:05:20 by simonmar]
simonmar**20030912130520
 Implement pathconf()/fpathconf() wrappers.
] 
[TAG ghc-6-2-branch-point
Unknown tagger**20060112152454] 
[[project @ 2003-08-04 14:08:27 by panne]
panne**20030804140827
 Export TerminalAttributes abstractly
] 
[[project @ 2003-08-04 13:26:12 by panne]
panne**20030804132614
 More import tweaking for Haddock
] 
[[project @ 2003-08-04 13:22:05 by panne]
panne**20030804132205
 Export Module (abstractly), otherwise the user is unable to write
 signatures involving this type. Improves Haddock hyperlinks, too.
] 
[TAG ghc-6-0-OpenGL-merge3
Unknown tagger**20060112152446] 
[[project @ 2003-07-22 09:55:07 by ross]
ross**20030722095507
 jiggle to make System.Posix.Directory work for Hugs
] 
[[project @ 2003-07-16 13:04:55 by ross]
ross**20030716130455
 Sendfile is gone
] 
[[project @ 2003-06-22 09:02:15 by wolfgang]
wolfgang**20030622090215
 Revert last commit (remove "network" dependency again),
 as it was already fixed in a different way and I forgot to update... :-(
] 
[[project @ 2003-06-21 09:14:51 by wolfgang]
wolfgang**20030621091451
 Add package "network" to the list of dependencies, as it is needed by Sendfile.
 Fixes a link error when starting "ghci -package unix".
] 
[[project @ 2003-06-19 10:47:25 by simonmar]
simonmar**20030619104726
 Remove Network.Sendfile at request of Volker Stolz.  We currently have
 some build problems with it (it depends on both unix and network
 packages).  It might come back at some point in the future.
] 
[[project @ 2003-06-10 12:07:40 by simonmar]
simonmar**20030610120740
 - Use the right fdToHandle
 - some minor -Wall cleaning
] 
[[project @ 2003-06-10 10:58:06 by simonmar]
simonmar**20030610105806
 Move Network.Sendfile into the unix package to fix the build.
] 
[[project @ 2003-06-06 12:49:00 by stolz]
stolz**20030606124900
 Move System.Sendfile to Network.Sendfile:
  - Linux can sendfile() to a fd, but BSD couldn't
  - sendfile() on Linux is probably now disabled on most builds because of
      the LARGEFILE issue
  => Change API to use type Socket
] 
[[project @ 2003-06-06 12:41:12 by stolz]
stolz**20030606124112
 Obsolete
] 
[[project @ 2003-06-06 10:45:43 by stolz]
stolz**20030606104543
 Haddock: Add link to 'handleToFd'
] 
[[project @ 2003-06-03 14:01:38 by simonmar]
simonmar**20030603140138
 Hook up System.Posix.Temp.
] 
[[project @ 2003-06-03 11:31:45 by stolz]
stolz**20030603113145
 waitpid() may return EINTR, so use throwErrnoifMinus1Retry
] 
[[project @ 2003-06-03 08:55:13 by reid]
reid**20030603085513
 cvs ignorance for splits and way=p
] 
[[project @ 2003-05-28 12:36:29 by stolz]
stolz**20030528123629
 Can't use sendfile() with LARGEFILES on Linux
] 
[[project @ 2003-05-28 12:01:50 by stolz]
stolz**20030528120150
 No longer pertinent
] 
[[project @ 2003-05-27 12:59:54 by stolz]
stolz**20030527125954
 /me slaps haddock with a large piece of trout.
 Someone please remind me of running 'make html' before committing.
] 
[[project @ 2003-05-27 12:54:18 by stolz]
stolz**20030527125418
 Throw in mktemp() as well, as the non-GHC/Hugs case
 was essentially that. Advantage: At least on FreeBSD
 the linker will print out a warning whenever you use
 mktemp().
] 
[[project @ 2003-05-27 10:18:58 by ross]
ross**20030527101858
 Hugs only: use fdToHandle (like GHC)
] 
[[project @ 2003-05-27 10:18:16 by ross]
ross**20030527101816
 Hugs only: make fdToHandle available
] 
[[project @ 2003-05-27 08:59:21 by stolz]
stolz**20030527085921
 Return file name as well
 
 Suggested by: Martin Norb�ck
] 
[[project @ 2003-05-27 08:20:42 by stolz]
stolz**20030527082042
 Add mkstemp() wrapper, including (unsafe) fallback for non-GHCs
 (fdToHandle required).
 
 Suggested by: Martin Sj�gren
] 
[[project @ 2003-05-23 18:35:55 by stolz]
stolz**20030523183555
 Need flags here as well.
] 
[[project @ 2003-05-23 16:36:48 by ross]
ross**20030523163648
 fix type error
] 
[[project @ 2003-05-23 14:31:46 by stolz]
stolz**20030523143146
 No (un)setenv until SUSv3 (e.g. Solaris 2.9). (fallback untested)
] 
[[project @ 2003-05-21 16:02:44 by stolz]
stolz**20030521160244
 Solaris2 needs _POSIX_PTHREAD_SEMANTICS for the getpw*_r() prototypes.
 Make libraries/unix/Makefile use a new variable unix_SRC_HSC2HS_OPTS
 which we configure in mk/config.mk.
] 
[TAG ghc-6-0-branch-point
Unknown tagger**20060112152412] 
[[project @ 2003-05-21 15:07:55 by simonmar]
simonmar**20030521150755
 Revert previous commit, I've fixed Haddock instead.
] 
[[project @ 2003-05-21 14:58:36 by simonmar]
simonmar**20030521145836
 Flatten the doc structure a bit.
] 
[[project @ 2003-05-19 18:24:25 by reid]
reid**20030519182425
 cvs ignorance is bliss
] 
[[project @ 2003-05-18 06:47:42 by stolz]
stolz**20030518064742
 - My fault, so take ownership
 - Strip unnecessary #include while here
] 
[[project @ 2003-05-17 00:11:30 by ross]
ross**20030517001130
 Rename per-package configuration files from $(PACKAGE).conf.* to
 package.conf.*, making them easier to find (since each package is
 in a separate directory anyway).
] 
[[project @ 2003-05-16 12:03:55 by stolz]
stolz**20030516120355
 Look for 'bracket' in the right place
] 
[[project @ 2003-05-16 10:14:23 by simonmar]
simonmar**20030516101423
 Now that we have auto packages, it makes sense to keep all the
 interfaces for hierarchical libraries in the same directory tree.  So
 now, instead of putting interfaces for package P in $libdir/imports/P,
 we put them all in $libdir/imports.
 
 Interfaces for old non-auto non-hierarchical packages now go in
 $libdir/hslibs-imports/P for package P.
] 
[[project @ 2003-05-16 08:25:30 by simonmar]
simonmar**20030516082530
 Move dlfcn.h to the "supported" list.
] 
[[project @ 2003-05-16 06:41:25 by stolz]
stolz**20030516064127
 - move System.DL to System.Posix.DynamicLinker
 - take ownership
 
 There's a compiler warning when passing the 'const char*' result from
 dlerror() to peekCString (discarded qualifier). Does an FFI-expert know
 how to get rid of this warning?
] 
[[project @ 2003-05-15 13:35:12 by ross]
ross**20030515133512
 add the DL modules (or whatever they're called) to Hugs
] 
[[project @ 2003-05-12 13:19:49 by wolfgang]
wolfgang**20030512131949
 Add #ifdefs for RLIMIT_AS and RLIM_SAVED_*, which are not defined on Mac OS X.
] 
[[project @ 2003-05-08 16:00:20 by ross]
ross**20030508160020
 extra #include's
] 
[[project @ 2003-04-11 23:42:54 by ross]
ross**20030411234254
 list modules that don't yet work with Hugs.
] 
[[project @ 2003-04-11 23:37:03 by ross]
ross**20030411233703
 replace Word with CTcflag
] 
[[project @ 2003-04-11 10:17:13 by ross]
ross**20030411101713
 use System.Posix.Internals
] 
[[project @ 2003-04-11 10:11:23 by ross]
ross**20030411101124
 rename GHC.Posix as System.Posix.Internals
] 
[[project @ 2003-04-11 10:00:07 by ross]
ross**20030411100007
 move environ from C to Haskell
] 
[[project @ 2003-04-11 09:43:38 by ross]
ross**20030411094338
 add some standard #includes
] 
[TAG galois-hbm-head
Unknown tagger**20060112152340] 
[[project @ 2003-03-26 12:35:34 by simonmar]
simonmar**20030326123534
 Add getrlimit()/setrlimit() suppport
] 
[[project @ 2003-03-26 12:34:53 by simonmar]
simonmar**20030326123453
 wibble: add a newline at the end of the file
] 
[TAG before-galois-hbm
Unknown tagger**20060112152337] 
[[project @ 2003-03-17 07:52:02 by stolz]
stolz**20030317075202
 Do not export c_sendfile (might not exist)
] 
[[project @ 2003-03-16 15:07:37 by stolz]
stolz**20030316150737
 (Hopefully) Fix #ifdef'ed branch
 
 Noticed by: Kirsten Chevalier
] 
[[project @ 2003-03-09 20:19:28 by panne]
panne**20030309201930
 Fixed markup confusion ("" vs. '')
] 
[[project @ 2003-03-07 16:22:49 by stolz]
stolz**20030307162249
 - Change Handle to Fd, so it's everybodies own fault if they forget
     to call hDuplicate
 - Revert size/offset to Int as lowest common denominator
 - Add sendfileByName
] 
[[project @ 2003-03-06 14:23:09 by stolz]
stolz**20030306142309
 Monad->Control.Monad
] 
[[project @ 2003-03-06 08:33:16 by stolz]
stolz**20030306083316
 - Haddockify documentation for parameters
 - Fix 'case vs. if' braino
] 
[[project @ 2003-03-05 18:38:09 by stolz]
stolz**20030305183809
 Steal 'squirt' from Haskell Web Server as fallback
] 
[[project @ 2003-03-05 18:14:05 by stolz]
stolz**20030305181405
 Pick up Maybe & Monad from new libraries
] 
[[project @ 2003-03-03 01:51:58 by stolz]
stolz**20030303015200
 Import System/DL*
] 
[[project @ 2003-03-01 16:34:12 by stolz]
stolz**20030301163412
 s/getEnvVar/getEnv/
] 
[[project @ 2003-02-28 16:46:49 by stolz]
stolz**20030228164649
 Update comments to reflect new module System.Posix.Env
] 
[[project @ 2003-02-28 16:09:16 by stolz]
stolz**20030228160916
 Add System.Posix.Env
] 
[[project @ 2003-02-28 12:44:54 by stolz]
stolz**20030228124454
 Fix 'nice': -1 is a permissible return value in a successful situation
] 
[[project @ 2003-02-28 12:34:45 by stolz]
stolz**20030228123445
 - Rename System.Posix.Process.forkProcess to forkProcessAll
 - Move GHC.Conc.forkProcess to System.Posix with type 'Maybe ProcessID'
 
 Prompted by: George Russel
] 
[[project @ 2003-02-27 15:46:57 by stolz]
stolz**20030227154657
 - Add documentation for fd{Read,Write} & createPipe
 - Unbreak setFdOption which didn't set any options at all
] 
[[project @ 2003-02-27 13:27:50 by stolz]
stolz**20030227132750
 Move fd{Read,Write} to new layout. Use of memcpy() should bring a large
 performance increase compared to the old version.
] 
[[project @ 2003-02-17 11:43:55 by simonmar]
simonmar**20030217114355
 Comment wibbles
] 
[TAG before-speceval_2
Unknown tagger**20060112152311] 
[[project @ 2003-01-17 17:01:14 by stolz]
stolz**20030117170114
 - Add sendfile-API for pumping out data via sendfile(2)
   Currently supported are Linux (tested) & FreeBSD (not tested yet), others
   will throw a runtime error until I get around to implement a fallback.
] 
[[project @ 2002-12-26 21:01:46 by panne]
panne**20021226210146
 Once again: Make Haddock happy.
 
 Running Haddock in addition to ghc (i.e. use 'make all html' instead
 of plain 'make') before a commit would be nice, especially as buglets
 like this break a 3 hour RPM build just before it can finish...  :-(
] 
[[project @ 2002-12-26 17:52:35 by wolfgang]
wolfgang**20021226175235
 Mac OS X doesn't have the sysconfig constants _SC_GETPW_R_SIZE_MAX and _SC_GETGR_R_SIZE_MAX, so add a configure check
] 
[[project @ 2002-12-19 13:52:55 by simonmar]
simonmar**20021219135255
 Fill in some more bits in the new Unix library: specifically the
 contents of PosixTTY and PosixDB (now System.Posix.Terminal and
 System.Posix.User respectively).
 
 We're now about 95% complete w.r.t. the old posix library.  I've
 identified the reminaing bits to do in System/Posix.hs.
] 
[[project @ 2002-12-18 16:29:26 by simonmar]
simonmar**20021218162926
 "Auto" packages.
 
 The big change here is that it is no longer necessary to explicitly
 say '-package X' on the command line if X is a package containing
 hierarchical Haskell modules.  All packages marked "auto" contribute
 to the import path, so their modules are always available.  At link
 time, the compiler knows which packages are actually used by the
 program, and it links in only those libraries needed.
 
 There's one exception: one-shot linking.  If you link a program using
 
     ghc -o prog A.o B.o ...
 
 then you need to explicitly add -package flags for each package
 required (except base & haskell98) because the compiler has no
 information about the package dependencies in this case.
 
 Package configs have a new field: auto, which is either True or False.
 Non-auto packages must be mentioned on the command-line as usual.
 Non-auto packages are still required for:
 
   - non-hierarchical libraries (to avoid polluting the module namespace)
 
   - packages with no Haskell content
 
   - if you want more than one version of a package, or packages
     providing overlapping functionality where the user must decide
     which one to use.
 
 Doc changes to follow...
] 
[[project @ 2002-12-12 13:42:48 by ross]
ross**20021212134248
 Changes to the exception interface, as discussed on the libraries list.
 
 1) Move bracket and bracket_ from GHC.Exception (and hence System.IO)
    to haskell98/IO.hs.  These two should now never be used (except in
    all-H98 programs), and this will save users of the new libraries from
    having to hide them.  Use the ones in Control.Exception instead.
 
 2) Define
 
         type IOError = IOException      -- was Exception
 
    leaving the type of Prelude.ioError as IOError -> IO a,
    but adding to Control.Exception
 
         throwIO :: Exception -> IO a
 
 The result is a type distinction between the variants of catch and try:
 
 	Prelude.catch           :: IO a -> (IOError -> IO a) -> IO a
 	Control.Exception.catch :: IO a -> (Exception -> IO a) -> IO a
 	System.IO.Error.try     :: IO a -> IO (Either IOError a)
 	Control.Exception.try   :: IO a -> IO (Either Exception a)
 
 These are breaking changes: the first one affects only import lists,
 but the second will bite in the following situations:
 
 - using ioError on general Exceptions: use throwIO instead.
 
 - using throw on IOErrors: if in the IO monad, use ioError instead.
   Otherwise, use throw (IOException e), but why are you throwing
   IO exceptions outside of the IO monad?
 
 Minor changes:
 - System.IO.Error now exports catch and try
 - moved try from GHC.Exception to System.IO.Error, because it's
   portable and can be shared by Hugs.
] 
[[project @ 2002-11-18 08:37:35 by stolz]
stolz**20021118083735
 readlink(2) does not append a NUL character to buffer.
 
 Noticed by: John Meacham <john at repetae.net>
] 
[[project @ 2002-10-11 14:25:25 by stolz]
stolz**20021011142525
 'usleep' nightmare: Sometimes return type is void, sometimes int.
] 
[[project @ 2002-10-08 08:03:02 by wolfgang]
wolfgang**20021008080302
 Make the new Posix bindings compile on Mac OS X.
 Most notable, Mac OS X lacks
 *) lchown
 *) SIGPOLL
 I don't know of a replacement of either, so they are just left out when
 they are not detected by configure.
] 
[[project @ 2002-10-05 22:35:45 by panne]
panne**20021005223545
 Warning police #14: Help gcc a bit with variables which are not
 obviously always used.
] 
[[project @ 2002-09-14 09:35:00 by panne]
panne**20020914093500
 4th attempt to get a working RPM, but again: Make Haddock happy. Is
 doing a "make html" that hard before committing...?  :-]
] 
[[project @ 2002-09-13 09:12:12 by simonmar]
simonmar**20020913091212
 - #include <sys/resource.h> to get at get/setpriority.
 
 - #include "config.h", and protect other includes according to the
   configure results.
] 
[[project @ 2002-09-12 16:38:21 by simonmar]
simonmar**20020912163822
 More POSIX bits... we're getting there.
] 
[[project @ 2002-09-10 20:54:33 by panne]
panne**20020910205433
 No prologue.txt, no -p...
] 
[[project @ 2002-09-06 14:34:15 by simonmar]
simonmar**20020906143415
 Partial rewrite of the POSIX library.
 
 The main purpose of this sweep is to remove the last dependencies of
 the compiler on hslibs.  When I've committed the associated compiler
 changes, only the 'base' package will be required to bootstrap the
 compiler.  Additionally to build GHCi, the 'readline' and 'unix'
 packages will be required.
 
 The new POSIX library lives mostly in libraries/unix, with a few bits
 required for compiler bootstrapping in libraries/base.  The 'base'
 package is mostly free of hsc2hs code to make bootstrapping from HC
 files easier, but the 'unix' package will use hsc2hs liberally.
 
 The old POSIX library continues to provide more-or-less the same
 interface as before, although some of the types are more correct now
 (previously lots of POSIX types were just mapped to Int).  The new
 interface is largely the same as the old, except that some new
 functionality from the latest POSIX spec has been added (eg. symbolic
 links).
 
 So far, the new POSIX library has signal support, directory/file
 operations and lots of stuff from unistd.h.  The module names are:
 
   System.Posix
 	The main dude, exports everything
 
   System.Posix.Types
 	All the POSIX types, using the same naming scheme as
         Foreign.C.Types, Eg. CUid, COff, etc.  Many of these types
         were previously exported by GHC.Posix.
 
         Additionally exports the "nicer" names used by the old POSIX
 	library for compatibility (eg. ProcessID == CPid, FileMode ==
 	CMode, etc.)
 
 	All reasonable instances are derived for these types.
 
   System.Posix.Signals
 	Signal support, contains most of which was in PosixProcPrim before.
 	The RTS interface to the signal handling support has been
 	rationalised slightly.
 
   System.Posix.Directory
  	Directory support, most were in PosixFiles before.
 
   System.Posix.Files
 	File operations, most were in PosixFiles before.
 
   System.Posix.Unistd
 	(for want of a better name) Miscellaneous bits that mostly come
 	from the unistd.h header file.  PosixProcEnv before.
 
 The rest of the library should pan out like so:
 
   System.Posix.IO
   System.Posix.Error   (maybe)
   System.Posix.Process
   System.Posix.Terminal
 
 (I've no doubt broken Win32 support, but I'm checking the build at the moment).
] 
Patch bundle hash:
c4d4c9a6e9ae19460d5eed6dcb454f7781802c83


More information about the Libraries mailing list