default features: make musl usable without feature test macros

the old behavior of exposing nothing except plain ISO C can be
obtained by defining __STRICT_ANSI__ or using a compiler option (such
as -std=c99) that predefines it. the new default featureset is POSIX
with XSI plus _BSD_SOURCE. any explicit feature test macros will
inhibit the default.

installation docs have also been updated to reflect this change.
This commit is contained in:
Rich Felker 2012-09-07 23:13:55 -04:00
commit c1a9658bd1
48 changed files with 102 additions and 129 deletions

View file

@ -4,6 +4,8 @@
extern "C" {
#endif
#include <features.h>
#define __NEED_uid_t
#define __NEED_gid_t
#define __NEED_mode_t

View file

@ -4,6 +4,8 @@
extern "C" {
#endif
#include <features.h>
#define __NEED_mode_t
#define __NEED_size_t
#define __NEED_off_t

View file

@ -5,6 +5,8 @@
extern "C" {
#endif
#include <features.h>
#define __NEED_id_t
#define __NEED_time_t
#define __NEED_struct_timeval

View file

@ -4,6 +4,8 @@
extern "C" {
#endif
#include <features.h>
#define __NEED_size_t
#define __NEED_pid_t
#define __NEED_time_t

View file

@ -5,6 +5,7 @@
extern "C" {
#endif
#include <features.h>
#include <unistd.h>
ssize_t sendfile(int, int, off_t *, size_t);

View file

@ -5,6 +5,8 @@
extern "C" {
#endif
#include <features.h>
#define __NEED_time_t
#define __NEED_size_t
#define __NEED_pid_t

View file

@ -4,11 +4,7 @@
extern "C" {
#endif
#if __STDC_VERSION__ >= 199901L
#define __restrict restrict
#elif !defined(__GNUC__)
#define __restrict
#endif
#include <features.h>
#define __NEED_dev_t
#define __NEED_ino_t

View file

@ -5,6 +5,8 @@
extern "C" {
#endif
#include <features.h>
#include <sys/statvfs.h>
typedef struct {

View file

@ -5,11 +5,7 @@
extern "C" {
#endif
#if __STDC_VERSION__ >= 199901L
#define __restrict restrict
#elif !defined(__GNUC__)
#define __restrict
#endif
#include <features.h>
#define __NEED_fsblkcnt_t
#define __NEED_fsfilcnt_t

View file

@ -4,11 +4,7 @@
extern "C" {
#endif
#if __STDC_VERSION__ >= 199901L
#define __restrict restrict
#elif !defined(__GNUC__)
#define __restrict
#endif
#include <features.h>
#include <sys/select.h>

View file

@ -4,6 +4,8 @@
extern "C" {
#endif
#include <features.h>
#define __NEED_ino_t
#define __NEED_dev_t
#define __NEED_uid_t

View file

@ -5,6 +5,8 @@
extern "C" {
#endif
#include <features.h>
#define __NEED_size_t
#define __NEED_ssize_t
#define __NEED_struct_iovec

View file

@ -5,6 +5,8 @@
extern "C" {
#endif
#include <features.h>
struct utsname
{
char sysname[65];

View file

@ -4,6 +4,8 @@
extern "C" {
#endif
#include <features.h>
#include <signal.h>
#define __NEED_pid_t