1*de572d98SGarrett D'Amore# 2*de572d98SGarrett D'Amore# This file and its contents are supplied under the terms of the 3*de572d98SGarrett D'Amore# Common Development and Distribution License ("CDDL"), version 1.0. 4*de572d98SGarrett D'Amore# You may only use this file in accordance with the terms of version 5*de572d98SGarrett D'Amore# 1.0 of the CDDL. 6*de572d98SGarrett D'Amore# 7*de572d98SGarrett D'Amore# A full copy of the text of the CDDL should have accompanied this 8*de572d98SGarrett D'Amore# source. A copy of the CDDL is also available via the Internet at 9*de572d98SGarrett D'Amore# http://www.illumos.org/license/CDDL. 10*de572d98SGarrett D'Amore# 11*de572d98SGarrett D'Amore 12*de572d98SGarrett D'Amore# 13*de572d98SGarrett D'Amore# Copyright 2015 Garrett D'Amore <garrett@damore.org> 14*de572d98SGarrett D'Amore# 15*de572d98SGarrett D'Amore 16*de572d98SGarrett D'Amore# 17*de572d98SGarrett D'Amore# Compilation environments. 18*de572d98SGarrett D'Amore# 19*de572d98SGarrett D'Amore# Each compilation environment is declared using the keyword "env", like 20*de572d98SGarrett D'Amore# this: 21*de572d98SGarrett D'Amore# 22*de572d98SGarrett D'Amore# env | <name> | <std> | <defs> 23*de572d98SGarrett D'Amore# 24*de572d98SGarrett D'Amore# <name> is just a symbolic name for environment. 25*de572d98SGarrett D'Amore# <std> indicates either c89 or c99, i.e. which C standard to compile 26*de572d98SGarrett D'Amore# under. This infuences choice of compiler and switches. 27*de572d98SGarrett D'Amore# <defs> is a list of CPP style -D or -U flags to define C preprocessor 28*de572d98SGarrett D'Amore# symbols. 29*de572d98SGarrett D'Amore# 30*de572d98SGarrett D'Amore# Groups of compilation environments can be named, using the "env_group" 31*de572d98SGarrett D'Amore# keyword (this can also be used to create aliases): 32*de572d98SGarrett D'Amore# 33*de572d98SGarrett D'Amore# env_group | <name> | <envs> 34*de572d98SGarrett D'Amore# 35*de572d98SGarrett D'Amore# <name> is a name for the group or alias 36*de572d98SGarrett D'Amore# <envs> is a whitespace separated list of previously declared environments 37*de572d98SGarrett D'Amore# or environment groups (or aliases). 38*de572d98SGarrett D'Amore# 39*de572d98SGarrett D'Amore 40*de572d98SGarrett D'Amoreenv | XPG3 | c89 | -D_XOPEN_SOURCE 41*de572d98SGarrett D'Amoreenv | XPG4 | c89 | -D_XOPEN_SOURCE -D_XOPEN_VERSION=4 42*de572d98SGarrett D'Amoreenv | SUSv1 | c89 | -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED=1 43*de572d98SGarrett D'Amoreenv | SUSv2 | c89 | -D_XOPEN_SOURCE=500 44*de572d98SGarrett D'Amoreenv | SUSv3 | c99 | -D_XOPEN_SOURCE=600 45*de572d98SGarrett D'Amoreenv | SUSv4 | c99 | -D_XOPEN_SOURCE=700 46*de572d98SGarrett D'Amoreenv | POSIX-1990 | c89 | -D_POSIX_SOURCE 47*de572d98SGarrett D'Amoreenv | POSIX-1992 | c89 | -D_POSIX_SOURCE -D_POSIX_C_SOURCE=2 48*de572d98SGarrett D'Amoreenv | POSIX-1993 | c89 | -D_POSIX_C_SOURCE=199309L 49*de572d98SGarrett D'Amoreenv | POSIX-1995 | c89 | -D_POSIX_C_SOURCE=199506L 50*de572d98SGarrett D'Amoreenv | POSIX-2001 | c99 | -D_POSIX_C_SOURCE=200112L 51*de572d98SGarrett D'Amoreenv | POSIX-2008 | c99 | -D_POSIX_C_SOURCE=200809L 52*de572d98SGarrett D'Amoreenv | C90 | c89 | 53*de572d98SGarrett D'Amoreenv | C99 | c99 | 54*de572d98SGarrett D'Amore 55*de572d98SGarrett D'Amore# 56*de572d98SGarrett D'Amore# These are ordered from less inclusive (most recent) to most inclusive. 57*de572d98SGarrett D'Amore# This allows for us to "include" by reference. 58*de572d98SGarrett D'Amore# 59*de572d98SGarrett D'Amoreenv_group | POSIX-2008+ | POSIX-2008 60*de572d98SGarrett D'Amoreenv_group | POSIX-2001+ | POSIX-2008+ POSIX-2001 61*de572d98SGarrett D'Amoreenv_group | POSIX-1995+ | POSIX-2001+ POSIX-1995 62*de572d98SGarrett D'Amoreenv_group | POSIX-1993+ | POSIX-1995+ POSIX-1993 63*de572d98SGarrett D'Amoreenv_group | POSIX-1992+ | POSIX-1993+ POSIX-1992 64*de572d98SGarrett D'Amoreenv_group | POSIX-1990+ | POSIX-1992+ POSIX-1990 65*de572d98SGarrett D'Amoreenv_group | POSIX+ | POSIX-1990+ 66*de572d98SGarrett D'Amoreenv_group | SUSv4+ | SUSv4 POSIX-2008+ 67*de572d98SGarrett D'Amoreenv_group | SUSv3+ | SUSv3 SUSv4+ POSIX-2001+ 68*de572d98SGarrett D'Amoreenv_group | SUSv2+ | SUSv2 SUSv3+ 69*de572d98SGarrett D'Amoreenv_group | SUSv1+ | SUSv1 SUSv2+ 70*de572d98SGarrett D'Amoreenv_group | SUS+ | SUSv1+ 71*de572d98SGarrett D'Amoreenv_group | XPG4+ | XPG4 SUSv1+ 72*de572d98SGarrett D'Amoreenv_group | XPG3+ | XPG3 XPG4+ 73*de572d98SGarrett D'Amoreenv_group | C99+ | C99 POSIX-2001+ SUSv3+ 74*de572d98SGarrett D'Amoreenv_group | C+ | C90 C99 POSIX+ SUS+ 75*de572d98SGarrett D'Amoreenv_group | ALL | C+ 76*de572d98SGarrett D'Amore 77*de572d98SGarrett D'Amore# 78*de572d98SGarrett D'Amore# Aliases. 79*de572d98SGarrett D'Amore# 80*de572d98SGarrett D'Amoreenv_group | XPG4v2 | SUSv1 81*de572d98SGarrett D'Amoreenv_group | XPG4v2+ | SUSv1+ 82*de572d98SGarrett D'Amoreenv_group | XPG5 | SUSv2 83*de572d98SGarrett D'Amoreenv_group | XPG5+ | SUSv2+ 84*de572d98SGarrett D'Amoreenv_group | XPG6 | SUSv3 85*de572d98SGarrett D'Amoreenv_group | XPG6+ | SUSv3+ 86*de572d98SGarrett D'Amoreenv_group | XPG7 | SUSv4 87*de572d98SGarrett D'Amoreenv_group | XPG7+ | SUSv4+ 88