| Commit message (Collapse) | Author | Age |
|
|
|
| |
*Config.h files are in include/ (MERGE to STABLE)
|
|
|
|
| |
distcleaning of things generated by configure
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
| |
Rename package description fields as in InstalledPackageInfo:
options-ghc -> ghc-options
options-hugs -> hugs-options
options-nhc -> nhc-options
extra-libs -> extra-libraries
|
|
|
|
|
|
|
|
|
|
|
| |
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)
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
Doc for handleToFd and fdToHandle
|
|
|
|
|
|
|
| |
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).
|
|
|
|
| |
add Cabal package descriptions
|
|
|
|
| |
update the haddock fields (this one somehow got missed)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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 :-)
|
|
|
|
| |
c_ftruncate is now in System.Posix.Internals
|
|
|
|
|
| |
Hugs only: replace the CBITS pragma (files relative to cbits) with
CFILES (files relative to the root of the package).
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
Push down more feature-tests
|
|
|
|
|
|
|
| |
Fix FFI-funniness, cf.
http://www.haskell.org/pipermail/glasgow-haskell-users/2002-February/003020.html
Noticed by: George Russell (again)
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
More getpw*_r result checks
|
|
|
|
|
| |
Push some unixisms from toplvl into package:
usleep, SunOS-handling, getpw*
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
| |
Fix bug in forkProcess: we weren't wrapping the forked IO action in
the default exception handler, so exitFailure wasn't working properly.
|
|
|
|
|
| |
- sleep, usleep: make thread-safe
- add Haddock comments
|
|
|
|
|
| |
Unbreak Hugs by moving pPrPr_disableITimers and execvpe to System.Posix.Internals
(base package) and use it from System.Posix.Process (unix package).
|
|
|
|
| |
Unbreak Hugs, 2nd try...
|
|
|
|
| |
Unbreak Hugs: execvpe.c has gone
|
|
|
|
| |
revert previous change, so now these includes don't define PACKAGE_*
|
|
|
|
| |
Tweak the PACKAGE_* #undefs in a couple of other places, too.
|
|
|
|
| |
make the evil PACKAGE_* hacks consistent
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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...
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
Unified the comments in (almost) empty aclocal.m4 files
|
|
|
|
| |
add empty aclocal.m4's (so we don't need aclocal)
|
|
|
|
| |
devolve some library-specific configuration
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
| |
Changes required be merge of backend-hacking-branch. Mostly config.h
==> ghcconfig.h.
|
|
|
|
|
|
|
| |
Inverted logic would call dlerror() after a successful dlclose() and
cause a segfault.
Noticed by: abe.egnor At gmail.com
|
|
|
|
|
| |
change the foreign import of waitpid to "safe", so that we can use it
in a non-blocking way with the threaded RTS.
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
Hugs only: use the configure-set variable INLINE_ONLY instead of
`extern inline' (which works for gcc but not C99 compilers).
|
|
|
|
| |
include dirent.h to avoid warnings when compiling System.Posix.Directory
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
| |
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... :-)
|
|
|
|
| |
Change the documentation title from "Haskell Core Libraries" to "Haskell Hierarchical Libraries".
|
|
|
|
|
|
|
| |
- 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
|
|
|
|
|
|
| |
drop cygwin #ifdef; not an issue with current versions.
merge to stable
|
|
|
|
|
|
| |
code tidyup
merge to stable
|
|
|
|
|
|
| |
fdRead: drop superfluous array copying
merge to stable
|