Mon Jan 12 15:07:58 PST 2009 Don Stewart * Add check for -lrt to get the shm* functions. Subst. in buildinfo Mon Jan 12 15:47:17 PST 2009 Don Stewart * 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 **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 **20090112234717] hunk ./System/Posix/SharedMem.hsc 26 #include #include +#include "HsUnix.h" + import System.Posix.Types import System.Posix.Error import Foreign.C Context: [Avoid using IOError internals Ian Lynagh **20090104173221] [fix pthread linkage problem for openbsd Matthias Kilian **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 **20080927135428] [Bump version number to 2.3.1.0 Ian Lynagh **20080920160248] [TAG 6.10 branch has been forked Ian Lynagh **20080919123439] [follow library changes Ian Lynagh **20080903223616] [add category field Ross Paterson **20080824003014] [We now depend on concurrent (split off from base) Ian Lynagh **20080824135158] [Fix the build when CONST_SIGPOLL == -1 Ian Lynagh **20080823160346 We were defining, but not using, sigPOLL ] [Fix warnings in the unix package Ian Lynagh **20080821120138] [move some stuff here from System.Directory, now the dependencies are reversed Simon Marlow **20080821144754] [Follow extensible exceptions changes Ian Lynagh **20080623193152] [Allow C's unsetenv to return either void or int Ian Lynagh **20080703190603 Fixes, and patch from donn in, trac #2352. ] [Avoid using deprecated flags Ian Lynagh **20080616145425] [move __hscore_{mkstemp,getrlimit,setrlimit} here from base Ross Paterson **20080615224248] [TAG 2008-05-28 Ian Lynagh **20080528004441] [Add a test for #2038 (resourceLimit) Ian Lynagh **20080520163012] [Use the C wrappers for [gs]etrlimit Ian Lynagh **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 **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 **20080508114348] [add AC_SYS_LARGEFILE check to configure.ac jeremy.shaw@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 **20080115020547 Fixes trac #2033. ] [Add a test getUserEntryForName for trac #1976 Ian Lynagh **20080115020540] [protect against concurrent access to the signal handlers (#1922) Simon Marlow **20071204110839 ] [Fix some haddock links Ian Lynagh **20071126184521] [Throw a proper exception if getGroupEntryForName fails to find an entry Ian Lynagh **20071110235805 We used to get *** Exception: getGroupEntryForName: failed (Success) Fixes trac #1655 ] [fix framework failures Simon Marlow **20071029114606] [Remove incorrect comment Ian Lynagh **20071014101756] [Specify build-type: Configure Duncan Coutts **20071018125127] [Bump version number Ian Lynagh **20071014101806] [Support for 57600 and 115200 baudrates pweaver@galois.com**20071016191631] [Also guard the foreign declaration of __hsunix(grant|unlock)pt by HAVE_PTSNAME Clemens Fruhwirth **20071016143846] [Add basic pseudoterminal support. Bryan O'Sullivan **20070925113330] [check for shm_open/shm_unlink (for archs like OpenBSD without them) Don Stewart **20070916025218] [Add more entries to boring file Ian Lynagh **20070913210721] [Add a boring file Ian Lynagh **20070913204658] [in pPrPr_disableITimers (who made up that name?) call the RTS to disable the timer Simon Marlow **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 **20070903155840] [Suppress some warnings Ian Lynagh **20070902194033] [Remove redundant include/Makefile Ian Lynagh **20070828205715] [add cross-referencing between posix and process modules ijones@syntaxpolice.org**20070819073930] [get the SIG constants for ourselves, rather than relying on HsBaseConfig.h Ross Paterson **20070819233142] [FIX BUILD on OS X: Check for setitimer Roman Leshchinskiy **20070814020033 Fix suggested by Ian Lynagh ] [Remove bits left over from the old build system Ian Lynagh **20070811135134] [Move System.Posix.Signals from base Ian Lynagh **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 **20070722002956] [GHC.Handle no longer exports openFd Ian Lynagh **20070722000926] [disable the getLoginName test, see #1487 Simon Marlow **20070703105224] [Don't do "< /dev/null" when running the user001 test Ian Lynagh **20070623205408 It can cause the test to fail. ] [--configure-option and --ghc-option are now provided by Cabal Ross Paterson **20070604115617] [Add support for named semaphores and shared memory objects Daniel Franke **20070503220003] [Remove Makefile and package.conf.in (used in the old build system) Ian Lynagh **20070524142637] [We now depend on process Ian Lynagh **20070523181544] [We now depend on directory Ian Lynagh **20070519160513] [add includes: field Simon Marlow **20070517095025] [Fix calling getAllUserEntries twice (trac #1279). Ian Lynagh **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 **20070418114542] [Follow Cabal changes in Setup.hs Ian Lynagh **20070418114510] [Handle sysconf(3) return value -1 when checking _SC_GETGR_R_SIZE_MAX and _SC_GETPW_R_SIZE_MAX. bjorn@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@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 **20070411005028] [Add missing case in removePrefix Ian Lynagh **20070411002604] [parse (but don't pass on) options for ./configure Ian Lynagh **20070406153756] [make Setup suitable for building the libraries with GHC Ian Lynagh **20061112214741] [Don't use Fd/FD in foreign decls Ian Lynagh **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 **20070404003625] [Follow type changes in base Ian Lynagh **20070403195237 (of the dubiously exported c_access and c_fcntl_write) ] [fix cut-and-pasto in error message Simon Marlow **20070308134418] [add tests from GHC testsuite Simon Marlow **20070305145258] [export the file-type modes, so that createDevice can be used Simon Marlow **20070305113316] [Provide nanosleep if we have it, and use it to implement usleep Simon Marlow **20070302132818 Fixes #1156 ] [don't retry usleep() on EINTR (see #850/#1156) Simon Marlow **20070302114118] [expand docs for forkProcess Simon Marlow **20070301151220] [add C wrappers for lstat() and mknod(). Fixes #1086. Simon Marlow **20070226110311] [README about building from darcs Ross Paterson **20070218110201] [TAG 6.6 release Ian Lynagh **20061011124740] [fix haddock syntax Simon Marlow **20060908111858] [Derive Show, Read, and Eq for UserEntry and GroupEntry John Goerzen **20060831145022] [bump version to 2.0 Simon Marlow **20060831140257] [Fix compilation issues with new getgrent/getpwent code John Goerzen **20060830134517] [Added support for getpwent/getgrent John Goerzen **20060830132550] [Added some Haddock docs for UserEntry and GroupEntry John Goerzen **20060829185932] [Add missing field gr_passwd to GroupEntry John Goerzen **20060829185536] [Whitespace changes for better alignment in unpackUserEntry John Goerzen **20060829185300] [Added pw_passwd and pw_gecos fields to UserEntry structure John Goerzen **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 **20060829123744] [exclude Setup.hs from build Ross Paterson **20060824183535] [add boilerplate Setup.hs Ross Paterson **20060824115019] [Added more documentation to System.Posix.Files Johan Tibell **20060813102350] [fix markup (#854) Ross Paterson **20060820002322] [change test for buildability Ross Paterson **20060819144834 Checking for dlfcn.h instead of creat() should make the Cabal build fail more gracefully under MinGW. ] [document args to executeFile Simon Marlow **20060809104559] [fix bogosity in getEnvironmentPrim Simon Marlow **20060531144640] [Track the GHC source tree reoganisation Simon Marlow **20060407041758] [TAG Initial conversion from CVS complete John Goerzen **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 (-) 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 ] [[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 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