summaryrefslogtreecommitdiff
path: root/rts/PosixSource.h
Commit message (Collapse)AuthorAgeFilesLines
* rts: Remove use of __USE_MINGW_ANSI_STDIOBen Gamari2018-06-161-13/+0
| | | | | | As pointed out in #12951, this was a temporary measure to allow GHC to be bootstrapped on Windows with GHC 7.10. This release is now out of our bootstrap support window so let's remove it.
* cpp: Use #pragma once instead of #ifndef guardsBen Gamari2017-04-231-4/+1
| | | | | | | | | | | | | | This both says what we mean and silences a bunch of spurious CPP linting warnings. This pragma is supported by all CPP implementations which we support. Reviewers: austin, erikd, simonmar, hvr Reviewed By: simonmar Subscribers: rwbarton, thomie Differential Revision: https://phabricator.haskell.org/D3482
* rts/PosixSource.h: Define __USE_MINGW_ANSI_STDIO on WindowsBen Gamari2016-12-081-0/+13
| | | | | | | | | | | | | | | | | This was removed in 8dc72f3c33b0e724ddb690c9d494969980c10afd which cleaned up PosixSource.h. Strangely, this only started breaking for me now. Test Plan: Validate on Windows Reviewers: simonmar, erikd, austin, Phyx Reviewed By: Phyx Subscribers: thomie Differential Revision: https://phabricator.haskell.org/D2812 GHC Trac Issues: #12951
* Cleanup PosixSource.hMoritz Angermann2016-10-091-10/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | When trying to build arm64-apple-iso, the build fell over `strdup`, as the arm64-apple-ios build did not fall into `darwin_HOST_OS`, and would need `ios_HOST_OS`. This diff tries to clean up PosixSource.h, instead of layering another define on top. As we use `strnlen` in sources that include PosixSource.h, and `strnlen` is defined in POSIX.1-2008, the `_POSIX_C_SOURCE` and `_XOPEN_SOURCE` are increased accordingly. Furthermore the `_DARWIN_C_SOURCE` (required for `u_char`, etc. used in sysctl.h) define is moved into `OSThreads.h` alongside a similar ifdef for freebsd. Test Plan: Build on all supported platforms. Reviewers: austin, simonmar, erikd, kgardas, bgamari Reviewed By: simonmar, erikd, kgardas, bgamari Subscribers: Phyx, hvr, thomie Differential Revision: https://phabricator.haskell.org/D2579 GHC Trac Issues: #12624
* Revert "Cleanup PosixSource.h"Ben Gamari2016-07-221-2/+23
| | | | | | This reverts commit cac3fb06f4b282eee21159c364c4d08e8fdedce9. This breaks OS X and Windows.
* Cleanup PosixSource.hMoritz Angermann2016-07-201-23/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | When trying to build arm64-apple-iso, the build fell over `strdup`, as the arm64-apple-ios build did not fall into `darwin_HOST_OS`, and would need `ios_HOST_OS`. This diff tries to clean up PosixSource.h, instead of layering another define on top. As we use `strnlen` in sources that include PosixSource.h, and `strnlen` is defined in POSIX.1-2008, the `_POSIX_C_SOURCE` and `_XOPEN_SOURCE` are increased accordingly. Furthermore the `_DARWIN_C_SOURCE` (required for `u_char`, etc. used in sysctl.h) define is moved into `OSThreads.h` alongside a similar ifdef for freebsd. Test Plan: Build on all supported platforms. Reviewers: rwbarton, erikd, austin, hvr, simonmar, bgamari Reviewed By: simonmar, bgamari Subscribers: thomie Differential Revision: https://phabricator.haskell.org/D2375
* cleanup POSIX/XOPEN defines for switch to C99Karel Gardas2016-03-291-16/+12
| | | | | | | | | | | | | | | | | | | | Summary: This patch cleans up various POSIX and XOPEN defines. We aim to switch to C99 solely and for this the lowest version of supported POSIX/XOPEN is: _XOPEN_SOURCE 600 _POSIX_C_SOURCE 200112L Test Plan: tested on Solaris 11 and OpenBSD 5.9. Should be good also on Solaris 10, FreeBSD and DragonFlyBSD. We need to test on Mac OS X, Linux and MinGW Reviewers: austin, bgamari, erikd, hvr Subscribers: thomie Differential Revision: https://phabricator.haskell.org/D2056
* fix compilation failure on Solaris 11Karel Gardas2016-03-291-1/+1
| | | | | | | | | | | | | Summary: Solaris is quite picky about C and POSIX version combination. For recent change to C99 we need to switch _XPG6 on which means _XOPEN_SOURCE should be defined to 600 Reviewers: austin, bgamari, erikd Subscribers: thomie Differential Revision: https://phabricator.haskell.org/D2053
* Revert "rts: add Emacs 'Local Variables' to every .c file"Simon Marlow2014-09-291-8/+0
| | | | This reverts commit 39b5c1cbd8950755de400933cecca7b8deb4ffcd.
* rts: add Emacs 'Local Variables' to every .c fileAustin Seipp2014-07-281-0/+8
| | | | | | | | This will hopefully help ensure some basic consistency in the forward by overriding buffer variables. In particular, it sets the wrap length, the offset to 4, and turns off tabs. Signed-off-by: Austin Seipp <austin@well-typed.com>
* rts: delint/detab/dewhitespace PosixSource.hAustin Seipp2014-07-281-1/+1
| | | | Signed-off-by: Austin Seipp <austin@well-typed.com>
* Switch to using the 'rubenvb' mingw buildsIan Lynagh2012-06-171-0/+4
|
* Add dragonfly support; based on a patch from Goetz IsenmannIan Lynagh2012-02-111-1/+1
|
* In PosixSource.h, conditionally define things based on platformIan Lynagh2010-06-171-3/+5
| | | | | This may not be ideal, but it should get GHC building on all platforms again.
* Another attempt to get these #defines rightSimon Marlow2010-05-251-0/+11
| | | | | Apparently on Solaris it is an error to omit _ISOC99_SOURCE when using _POSIX_C_SOURCE==200112L.
* Change our #defines to work on FreeBSD tooSimon Marlow2010-05-241-6/+2
| | | | | | | | | With glibc, things like _POSIX_C_SOURCE and _ISOC99_SOURCE are additive, but on FreeBSD they are mutually exclusive. However, it turns out we only need to define _POSIX_C_SOURCE and _XOPEN_SOURCE to get all the C99 stuff we need too, so there's no need for any #ifdefs. Submitted by: Gabor PALI <pgj@FreeBSD.org>
* Fix the build on OS XIan Lynagh2009-08-071-0/+10
|
* RTS tidyup sweep, first phaseSimon Marlow2009-08-021-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The first phase of this tidyup is focussed on the header files, and in particular making sure we are exposinng publicly exactly what we need to, and no more. - Rts.h now includes everything that the RTS exposes publicly, rather than a random subset of it. - Most of the public header files have moved into subdirectories, and many of them have been renamed. But clients should not need to include any of the other headers directly, just #include the main public headers: Rts.h, HsFFI.h, RtsAPI.h. - All the headers needed for via-C compilation have moved into the stg subdirectory, which is self-contained. Most of the headers for the rest of the RTS APIs have moved into the rts subdirectory. - I left MachDeps.h where it is, because it is so widely used in Haskell code. - I left a deprecated stub for RtsFlags.h in place. The flag structures are now exposed by Rts.h. - Various internal APIs are no longer exposed by public header files. - Various bits of dead code and declarations have been removed - More gcc warnings are turned on, and the RTS code is more warning-clean. - More source files #include "PosixSource.h", and hence only use standard POSIX (1003.1c-1995) interfaces. There is a lot more tidying up still to do, this is just the first pass. I also intend to standardise the names for external RTS APIs (e.g use the rts_ prefix consistently), and declare the internal APIs as hidden for shared libraries.
* Reorganisation of the source treeSimon Marlow2006-04-071-0/+18
Most of the other users of the fptools build system have migrated to Cabal, and with the move to darcs we can now flatten the source tree without losing history, so here goes. The main change is that the ghc/ subdir is gone, and most of what it contained is now at the top level. The build system now makes no pretense at being multi-project, it is just the GHC build system. No doubt this will break many things, and there will be a period of instability while we fix the dependencies. A straightforward build should work, but I haven't yet fixed binary/source distributions. Changes to the Building Guide will follow, too.