| Commit message (Collapse) | Author | Age |
| |
|
| |
|
| |
|
|
|
|
|
| |
This is now possible since we now use `AC_USE_SYSTEM_EXTENSIONS`, which
indirectly enables _XOPEN_SOURCE
|
| |
|
|
|
|
|
|
| |
We haven't properly supported Windows for some time now, and we wouldn't
have any way to test anyway, since GHC doesn't support Cygwin anymore
either.
|
| |
|
| |
|
| |
|
|
|
|
| |
Follow-up to 11eb5aabcc3c98eddf1b375c4184fe0df58d7eab
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
`AC_USE_SYSTEM_EXTENSIONS` takes care of defining feature_test_macros(7)
thereby allowing us to remove a few manual `#define`s
|
|
|
|
|
|
|
|
|
|
|
|
| |
It seems these two signals have not been working since at least
2009. Detection of these signals seems to have never been added to
the configure.ac script and the code guarded by #ifdef then bit-rotted
(the idiom used to handle these signals seems to have been abandoned
for something simpler/better in 2009). This fix simply handles these
signals the same way the other signals are handled in
System/Posix/Signals.hsc.
Closes #30 and #31
|
| |
|
|
|
|
|
| |
This is needed in case `<unistd.h>` was included before "execvpe.h"
w/o `_GNU_SOURCE` set (on Glibc systems)
|
|
|
|
|
|
| |
Turns out `process` reuses `unix`'s execvpe() implementation,
and the refactoring in f24ba78f68b2cbc4f4afadc8dd60fc2935357255
broke process.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The previous code was prone to conflicts with when the platform happens
to expose a `execvpe(3)` implementation in its libc.
This commit renames the internal implementation to `__hsunix_execvpe` as
well as adding an autoconf-detection for the presence of `execvpe(3)`,
in which case `__hsunix_execvpe()` forwards the call to `execvpe(3)`.
Moreover, the code has been cleaned up to remove likely bitrotted CPP
conditionals.
This should fix #22
(This also partially addresses #11 on platforms which have a
libc-provided `execvpe(3)`)
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
libutil.h is deprecated in recent releases of libbsd
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
functions need to be given a new name, and the header files contain
some __asm hackery in order to let the program call the correct function.
This mean that you need to use the header files in order to call the
correct system functions, which prevents things like "foreign import ccall" from working.
Ghc solves this with wrapper functions for some of the renamed functions,
but it has not been updated for newer versions of NetBSD that has recently
versioned some more functions.
The attached patches introduces wrapper functions for all currently
NetBSD-versioned functions used in libraries/unix. Solves ~20 testsuite
failures.
Contributed by: Krister Walfridsson <krister.walfridsson@gmail.com>
|
|
|
|
|
|
| |
If they are included into a C file which also has certain symbols
defined, then the behaviour of the HsUnix.h functions can change
(e.g. lstat can become the 32bit, rather than 64bit, version).
|
| |
|
|
|
|
| |
Fixes, and patch from donn in, trac #2352.
|
| |
|
| |
|
| |
|
|
|
|
| |
Also adds System.Posix.Process.Internals in order to make the deps work out.
|
| |
|
|
|
|
| |
make the unix package independent.
|
|
|
|
| |
For compilers other than MSVC and GCC, assume inline has the C99 semantics.
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
*Config.h files are in include/ (MERGE to STABLE)
|
|
|
|
|
|
|
| |
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).
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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...
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
devolve some library-specific configuration
|
|
|
|
|
| |
Changes required be merge of backend-hacking-branch. Mostly config.h
==> ghcconfig.h.
|