master xplshn/aruu / scripts / getconf.sh
  1#!/bin/sh
  2
  3ifdef() {
  4	printf 'static const struct var %s[] = {\n' "$1"
  5	awk '{printf("#ifdef %s\n\t{\"%s\",\t%s},\n#endif\n", $2, $1, $2)}'
  6	echo '};'
  7}
  8
  9ifdef confstr_l << EOF
 10PATH                           _CS_PATH
 11POSIX_V7_ILP32_OFF32_CFLAGS    _CS_POSIX_V7_ILP32_OFF32_CFLAGS
 12POSIX_V7_ILP32_OFF32_LDFLAGS   _CS_POSIX_V7_ILP32_OFF32_LDFLAGS
 13POSIX_V7_ILP32_OFF32_LIBS      _CS_POSIX_V7_ILP32_OFF32_LIBS
 14POSIX_V7_ILP32_OFFBIG_CFLAGS   _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS
 15POSIX_V7_ILP32_OFFBIG_LDFLAGS  _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS
 16POSIX_V7_ILP32_OFFBIG_LIBS     _CS_POSIX_V7_ILP32_OFFBIG_LIBS
 17POSIX_V7_LP64_OFF64_CFLAGS     _CS_POSIX_V7_LP64_OFF64_CFLAGS
 18POSIX_V7_LP64_OFF64_LDFLAGS    _CS_POSIX_V7_LP64_OFF64_LDFLAGS
 19POSIX_V7_LP64_OFF64_LIBS       _CS_POSIX_V7_LP64_OFF64_LIBS
 20POSIX_V7_LPBIG_OFFBIG_CFLAGS   _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS
 21POSIX_V7_LPBIG_OFFBIG_LDFLAGS  _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS
 22POSIX_V7_LPBIG_OFFBIG_LIBS     _CS_POSIX_V7_LPBIG_OFFBIG_LIBS
 23POSIX_V7_THREADS_CFLAGS        _CS_POSIX_V7_THREADS_CFLAGS
 24POSIX_V7_THREADS_LDFLAGS       _CS_POSIX_V7_THREADS_LDFLAGS
 25POSIX_V7_WIDTH_RESTRICTED_ENVS _CS_POSIX_V7_WIDTH_RESTRICTED_ENVS
 26V7_ENV                         _CS_V7_ENV
 27EOF
 28
 29ifdef limits_l << EOF
 30_POSIX_CLOCKRES_MIN                 _POSIX_CLOCKRES_MIN
 31_POSIX_AIO_LISTIO_MAX               _POSIX_AIO_LISTIO_MAX
 32_POSIX_AIO_MAX                      _POSIX_AIO_MAX
 33_POSIX_ARG_MAX                      _POSIX_ARG_MAX
 34_POSIX_CHILD_MAX                    _POSIX_CHILD_MAX
 35_POSIX_DELAYTIMER_MAX               _POSIX_DELAYTIMER_MAX
 36_POSIX_HOST_NAME_MAX                _POSIX_HOST_NAME_MAX
 37_POSIX_LINK_MAX                     _POSIX_LINK_MAX
 38_POSIX_LOGIN_NAME_MAX               _POSIX_LOGIN_NAME_MAX
 39_POSIX_MAX_CANON                    _POSIX_MAX_CANON
 40_POSIX_MAX_INPUT                    _POSIX_MAX_INPUT
 41_POSIX_MQ_OPEN_MAX                  _POSIX_MQ_OPEN_MAX
 42_POSIX_MQ_PRIO_MAX                  _POSIX_MQ_PRIO_MAX
 43_POSIX_NAME_MAX                     _POSIX_NAME_MAX
 44_POSIX_NGROUPS_MAX                  _POSIX_NGROUPS_MAX
 45_POSIX_OPEN_MAX                     _POSIX_OPEN_MAX
 46_POSIX_PATH_MAX                     _POSIX_PATH_MAX
 47_POSIX_PIPE_BUF                     _POSIX_PIPE_BUF
 48_POSIX_RE_DUP_MAX                   _POSIX_RE_DUP_MAX
 49_POSIX_RTSIG_MAX                    _POSIX_RTSIG_MAX
 50_POSIX_SEM_NSEMS_MAX                _POSIX_SEM_NSEMS_MAX
 51_POSIX_SEM_VALUE_MAX                _POSIX_SEM_VALUE_MAX
 52_POSIX_SIGQUEUE_MAX                 _POSIX_SIGQUEUE_MAX
 53_POSIX_SSIZE_MAX                    _POSIX_SSIZE_MAX
 54_POSIX_SS_REPL_MAX                  _POSIX_SS_REPL_MAX
 55_POSIX_STREAM_MAX                   _POSIX_STREAM_MAX
 56_POSIX_SYMLINK_MAX                  _POSIX_SYMLINK_MAX
 57_POSIX_SYMLOOP_MAX                  _POSIX_SYMLOOP_MAX
 58_POSIX_THREAD_DESTRUCTOR_ITERATIONS _POSIX_THREAD_DESTRUCTOR_ITERATIONS
 59_POSIX_THREAD_KEYS_MAX              _POSIX_THREAD_KEYS_MAX
 60_POSIX_THREAD_THREADS_MAX           _POSIX_THREAD_THREADS_MAX
 61_POSIX_TIMER_MAX                    _POSIX_TIMER_MAX
 62_POSIX_TTY_NAME_MAX                 _POSIX_TTY_NAME_MAX
 63_POSIX_TZNAME_MAX                   _POSIX_TZNAME_MAX
 64_POSIX2_BC_BASE_MAX                 _POSIX2_BC_BASE_MAX
 65_POSIX2_BC_DIM_MAX                  _POSIX2_BC_DIM_MAX
 66_POSIX2_BC_SCALE_MAX                _POSIX2_BC_SCALE_MAX
 67_POSIX2_BC_STRING_MAX               _POSIX2_BC_STRING_MAX
 68_POSIX2_CHARCLASS_NAME_MAX          _POSIX2_CHARCLASS_NAME_MAX
 69_POSIX2_COLL_WEIGHTS_MAX            _POSIX2_COLL_WEIGHTS_MAX
 70_POSIX2_EXPR_NEST_MAX               _POSIX2_EXPR_NEST_MAX
 71_POSIX2_LINE_MAX                    _POSIX2_LINE_MAX
 72_POSIX2_RE_DUP_MAX                  _POSIX2_RE_DUP_MAX
 73EOF
 74
 75ifdef sysconf_l << EOF
 76AIO_LISTIO_MAX                    _SC_AIO_LISTIO_MAX
 77AIO_MAX                           _SC_AIO_MAX
 78AIO_PRIO_DELTA_MAX                _SC_AIO_PRIO_DELTA_MAX
 79ARG_MAX                           _SC_ARG_MAX
 80ATEXIT_MAX                        _SC_ATEXIT_MAX
 81BC_BASE_MAX                       _SC_BC_BASE_MAX
 82BC_DIM_MAX                        _SC_BC_DIM_MAX
 83BC_SCALE_MAX                      _SC_BC_SCALE_MAX
 84BC_STRING_MAX                     _SC_BC_STRING_MAX
 85CHILD_MAX                         _SC_CHILD_MAX
 86COLL_WEIGHTS_MAX                  _SC_COLL_WEIGHTS_MAX
 87DELAYTIMER_MAX                    _SC_DELAYTIMER_MAX
 88EXPR_NEST_MAX                     _SC_EXPR_NEST_MAX
 89HOST_NAME_MAX                     _SC_HOST_NAME_MAX
 90IOV_MAX                           _SC_IOV_MAX
 91LINE_MAX                          _SC_LINE_MAX
 92LOGIN_NAME_MAX                    _SC_LOGIN_NAME_MAX
 93NGROUPS_MAX                       _SC_NGROUPS_MAX
 94MQ_OPEN_MAX                       _SC_MQ_OPEN_MAX
 95MQ_PRIO_MAX                       _SC_MQ_PRIO_MAX
 96OPEN_MAX                          _SC_OPEN_MAX
 97_POSIX_ADVISORY_INFO              _SC_ADVISORY_INFO
 98_POSIX_BARRIERS                   _SC_BARRIERS
 99_POSIX_ASYNCHRONOUS_IO            _SC_ASYNCHRONOUS_IO
100_POSIX_CLOCK_SELECTION            _SC_CLOCK_SELECTION
101_POSIX_CPUTIME                    _SC_CPUTIME
102_POSIX_FSYNC                      _SC_FSYNC
103_POSIX_IPV6                       _SC_IPV6
104_POSIX_JOB_CONTROL                _SC_JOB_CONTROL
105_POSIX_MAPPED_FILES               _SC_MAPPED_FILES
106_POSIX_MEMLOCK                    _SC_MEMLOCK
107_POSIX_MEMLOCK_RANGE              _SC_MEMLOCK_RANGE
108_POSIX_MEMORY_PROTECTION          _SC_MEMORY_PROTECTION
109_POSIX_MESSAGE_PASSING            _SC_MESSAGE_PASSING
110_POSIX_MONOTONIC_CLOCK            _SC_MONOTONIC_CLOCK
111_POSIX_PRIORITIZED_IO             _SC_PRIORITIZED_IO
112_POSIX_PRIORITY_SCHEDULING        _SC_PRIORITY_SCHEDULING
113_POSIX_RAW_SOCKETS                _SC_RAW_SOCKETS
114_POSIX_READER_WRITER_LOCKS        _SC_READER_WRITER_LOCKS
115_POSIX_REALTIME_SIGNALS           _SC_REALTIME_SIGNALS
116_POSIX_REGEXP                     _SC_REGEXP
117_POSIX_SAVED_IDS                  _SC_SAVED_IDS
118_POSIX_SEMAPHORES                 _SC_SEMAPHORES
119_POSIX_SHARED_MEMORY_OBJECTS      _SC_SHARED_MEMORY_OBJECTS
120_POSIX_SHELL                      _SC_SHELL
121_POSIX_SPAWN                      _SC_SPAWN
122_POSIX_SPIN_LOCKS                 _SC_SPIN_LOCKS
123_POSIX_SPORADIC_SERVER            _SC_SPORADIC_SERVER
124_POSIX_SS_REPL_MAX                _SC_SS_REPL_MAX
125_POSIX_SYNCHRONIZED_IO            _SC_SYNCHRONIZED_IO
126_POSIX_THREAD_ATTR_STACKADDR      _SC_THREAD_ATTR_STACKADDR
127_POSIX_THREAD_ATTR_STACKSIZE      _SC_THREAD_ATTR_STACKSIZE
128_POSIX_THREAD_CPUTIME             _SC_THREAD_CPUTIME
129_POSIX_THREAD_PRIO_INHERIT        _SC_THREAD_PRIO_INHERIT
130_POSIX_THREAD_PRIO_PROTECT        _SC_THREAD_PRIO_PROTECT
131_POSIX_THREAD_PRIORITY_SCHEDULING _SC_THREAD_PRIORITY_SCHEDULING
132_POSIX_THREAD_PROCESS_SHARED      _SC_THREAD_PROCESS_SHARED
133_POSIX_THREAD_ROBUST_PRIO_INHERIT _SC_THREAD_ROBUST_PRIO_INHERIT
134_POSIX_THREAD_ROBUST_PRIO_PROTECT _SC_THREAD_ROBUST_PRIO_PROTECT
135_POSIX_THREAD_SAFE_FUNCTIONS      _SC_THREAD_SAFE_FUNCTIONS
136_POSIX_THREAD_SPORADIC_SERVER     _SC_THREAD_SPORADIC_SERVER
137_POSIX_THREADS                    _SC_THREADS
138_POSIX_TIMEOUTS                   _SC_TIMEOUTS
139_POSIX_TIMERS                     _SC_TIMERS
140_POSIX_TRACE                      _SC_TRACE
141_POSIX_TRACE_EVENT_FILTER         _SC_TRACE_EVENT_FILTER
142_POSIX_TRACE_EVENT_NAME_MAX       _SC_TRACE_EVENT_NAME_MAX
143_POSIX_TRACE_INHERIT              _SC_TRACE_INHERIT
144_POSIX_TRACE_LOG                  _SC_TRACE_LOG
145_POSIX_TRACE_NAME_MAX             _SC_TRACE_NAME_MAX
146_POSIX_TRACE_SYS_MAX              _SC_TRACE_SYS_MAX
147_POSIX_TRACE_USER_EVENT_MAX       _SC_TRACE_USER_EVENT_MAX
148_POSIX_TYPED_MEMORY_OBJECTS       _SC_TYPED_MEMORY_OBJECTS
149_POSIX_VERSION                    _SC_VERSION
150_POSIX_V7_ILP32_OFF32             _SC_V7_ILP32_OFF32
151_POSIX_V7_ILP32_OFFBIG            _SC_V7_ILP32_OFFBIG
152_POSIX_V7_LP64_OFF64              _SC_V7_LP64_OFF64
153_POSIX_V7_LPBIG_OFFBIG            _SC_V7_LPBIG_OFFBIG
154_POSIX2_C_BIND                    _SC_2_C_BIND
155_POSIX2_C_DEV                     _SC_2_C_DEV
156_POSIX2_CHAR_TERM                 _SC_2_CHAR_TERM
157_POSIX2_FORT_DEV                  _SC_2_FORT_DEV
158_POSIX2_FORT_RUN                  _SC_2_FORT_RUN
159_POSIX2_LOCALEDEF                 _SC_2_LOCALEDEF
160_POSIX2_PBS                       _SC_2_PBS
161_POSIX2_PBS_ACCOUNTING            _SC_2_PBS_ACCOUNTING
162_POSIX2_PBS_CHECKPOINT            _SC_2_PBS_CHECKPOINT
163_POSIX2_PBS_LOCATE                _SC_2_PBS_LOCATE
164_POSIX2_PBS_MESSAGE               _SC_2_PBS_MESSAGE
165_POSIX2_PBS_TRACK                 _SC_2_PBS_TRACK
166_POSIX2_SW_DEV                    _SC_2_SW_DEV
167_POSIX2_UPE                       _SC_2_UPE
168_POSIX2_VERSION                   _SC_2_VERSION
169PAGE_SIZE                         _SC_PAGE_SIZE
170PAGESIZE                          _SC_PAGESIZE
171PTHREAD_DESTRUCTOR_ITERATIONS     _SC_THREAD_DESTRUCTOR_ITERATIONS
172PTHREAD_KEYS_MAX                  _SC_THREAD_KEYS_MAX
173PTHREAD_STACK_MIN                 _SC_THREAD_STACK_MIN
174PTHREAD_THREADS_MAX               _SC_THREAD_THREADS_MAX
175RE_DUP_MAX                        _SC_RE_DUP_MAX
176RTSIG_MAX                         _SC_RTSIG_MAX
177SEM_NSEMS_MAX                     _SC_SEM_NSEMS_MAX
178SEM_VALUE_MAX                     _SC_SEM_VALUE_MAX
179SIGQUEUE_MAX                      _SC_SIGQUEUE_MAX
180STREAM_MAX                        _SC_STREAM_MAX
181SYMLOOP_MAX                       _SC_SYMLOOP_MAX
182TIMER_MAX                         _SC_TIMER_MAX
183TTY_NAME_MAX                      _SC_TTY_NAME_MAX
184TZNAME_MAX                        _SC_TZNAME_MAX
185_XOPEN_CRYPT                      _SC_XOPEN_CRYPT
186_XOPEN_ENH_I18N                   _SC_XOPEN_ENH_I18N
187_XOPEN_REALTIME                   _SC_XOPEN_REALTIME
188_XOPEN_REALTIME_THREADS           _SC_XOPEN_REALTIME_THREADS
189_XOPEN_SHM                        _SC_XOPEN_SHM
190_XOPEN_STREAMS                    _SC_XOPEN_STREAMS
191_XOPEN_UNIX                       _SC_XOPEN_UNIX
192_XOPEN_UUCP                       _SC_XOPEN_UUCP
193_XOPEN_VERSION                    _SC_XOPEN_VERSION
194EOF
195
196ifdef pathconf_l << EOF
197FILESIZEBITS                _PC_FILESIZEBITS
198LINK_MAX                    _PC_LINK_MAX
199MAX_CANON                   _PC_MAX_CANON
200MAX_INPUT                   _PC_MAX_INPUT
201NAME_MAX                    _PC_NAME_MAX
202PATH_MAX                    _PC_PATH_MAX
203PIPE_BUF                    _PC_PIPE_BUF
204POSIX2_SYMLINKS             _PC_2_SYMLINKS
205POSIX_ALLOC_SIZE_MIN        _PC_ALLOC_SIZE_MIN
206POSIX_REC_INCR_XFER_SIZE    _PC_REC_INCR_XFER_SIZE
207POSIX_REC_MAX_XFER_SIZE     _PC_REC_MAX_XFER_SIZE
208POSIX_REC_MIN_XFER_SIZE     _PC_REC_MIN_XFER_SIZE
209POSIX_REC_XFER_ALIGN        _PC_REC_XFER_ALIGN
210SYMLINK_MAX                 _PC_SYMLINK_MAX
211_POSIX_CHOWN_RESTRICTED     _PC_CHOWN_RESTRICTED
212_POSIX_NO_TRUNC             _PC_NO_TRUNC
213_POSIX_VDISABLE             _PC_VDISABLE
214_POSIX_ASYNC_IO             _PC_ASYNC_IO
215_POSIX_PRIO_IO              _PC_PRIO_IO
216_POSIX_SYNC_IO              _PC_SYNC_IO
217_POSIX_TIMESTAMP_RESOLUTION _PC_TIMESTAMP_RESOLUTION
218EOF