forked from gtk-gnutella/gtk-gnutella
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathconfig_h.SH
1495 lines (1285 loc) · 42.5 KB
/
config_h.SH
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
case "$CONFIG_SH" in
'') CONFIG_SH=config.sh;;
esac
case "$CONFIG_H" in
'') CONFIG_H=config.h;;
esac
case $CONFIG in
'')
if test -f $CONFIG_SH; then TOP=.;
elif test -f ../$CONFIG_SH; then TOP=..;
elif test -f ../../$CONFIG_SH; then TOP=../..;
elif test -f ../../../$CONFIG_SH; then TOP=../../..;
elif test -f ../../../../$CONFIG_SH; then TOP=../../../..;
else
echo "Can't find $CONFIG_SH."; exit 1
fi
. $TOP/$CONFIG_SH
;;
esac
case "$0" in
*/*) cd `expr X$0 : 'X\(.*\)/'` ;;
esac
echo "Extracting $CONFIG_H (with variable substitutions)"
sed <<!GROK!THIS! >$CONFIG_H -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un-def!#undef!'
/*
* This file was produced by running the config_h.SH script, which
* gets its values from $CONFIG_SH, which is generally produced by
* running Configure.
*
* Feel free to modify any of this as the need arises. Note, however,
* that running config_h.SH again will wipe out any changes you've made.
* For a more permanent change edit $CONFIG_SH and rerun config_h.SH.
*
* \$Id$
*/
/*
* Package name : $package
* Source directory : $src
* Configuration time: $cf_time
* Configured by : $cf_by
* Target system : $myuname
*/
#ifndef _config_h_
#define _config_h_
/* VMS_SYSTEM:
* This symbol, if defined, indicates that the program is running under
* VMS. It is currently only set in conjunction with the EUNICE symbol.
*/
/* LINUX_SYSTEM:
* This symbol, if defined, indicates that the program is running under
* a Linux system.
*/
#$d_eunice VMS_SYSTEM /**/
#$d_linux LINUX_SYSTEM /**/
/* ARCHLIB_EXP:
* This symbol contains the ~name expanded version of ARCHLIB, to be used
* in programs that are not prepared to deal with ~ expansion at run-time.
*/
#$d_archlib ARCHLIB_EXP "$archlibexp" /**/
/* BIN:
* This symbol holds the path of the bin directory where the package will
* be installed. Program must be prepared to deal with ~name substitution.
*/
#define BIN "$bin" /**/
/* BYTEORDER:
* This symbol holds the hexadecimal constant defined in byteorder,
* i.e. 1234 for little-endian or 4321 for big-ending.
*/
#define BYTEORDER 0x$byteorder /* large digits for MSB */
/* CHARSIZE:
* This symbol contains the size of a char, so that the C preprocessor
* can make decisions based on it.
*/
#define CHARSIZE $charsize
/* CAT2:
* This macro catenates 2 tokens together.
*/
/* CAT3:
* This macro catenates 3 tokens together.
*/
/* STRINGIFY:
* This macro surrounds its token with double quotes.
*/
#if $cpp_stuff == 1
#define CAT2(a,b)a/**/b
#define CAT3(a,b,c)a/**/b/**/c
#define STRINGIFY(a)"a"
#define SQuoTe(a)${cpp_quote}a
#define EQuoTe(a)a${cpp_quote}
#endif
#if $cpp_stuff == 42
#define CaTiFy(a,b) a ## b
#define CAT2(a,b) CaTiFy(a,b)
#define CAT3(a,b,c) CAT2(CaTiFy(a,b),c)
#define StGiFy(a)# a
#define STRINGIFY(a)StGiFy(a)
#endif
#if $cpp_stuff != 1 && $cpp_stuff != 42
#include "Bletch: How does this C preprocessor catenate tokens?"
#endif
/* getdtablesize:
* This catches use of the getdtablesize() subroutine, and remaps it
* to either ulimit(4,0) or NOFILE, if getdtablesize() isn't available.
*/
#$d_gettblsz getdtablesize() $tablesize /**/
/* HAS_ALARM:
* This symbol, if defined, indicates that the alarm routine is
* available.
*/
#$d_alarm HAS_ALARM /**/
/* HAS_ARC4RANDOM:
* This symbol, if defined, indicates that the arc4random routine is
* available.
*/
#$d_arc4random HAS_ARC4RANDOM /**/
/* HASATTRIBUTE:
* This symbol indicates the C compiler can check for function attributes,
* such as printf formats. This is normally only supported by GNU cc.
*/
#$d_attribut HASATTRIBUTE /**/
#ifndef HASATTRIBUTE
#define __attribute__(_arg_)
#endif
/* HAS_BACKTRACE:
* This symbol, if defined, indicates that the backtrace() routine is
* available to get a stack trace. The <execinfo.h> header must be
* included to use this routine.
*/
#$d_backtrace HAS_BACKTRACE /**/
/* HAS_BCMP:
* This symbol is defined if the bcmp() routine is available to
* compare blocks of memory.
*/
#$d_bcmp HAS_BCMP /**/
/* HAS_BCOPY:
* This symbol is defined if the bcopy() routine is available to
* copy blocks of memory.
*/
#$d_bcopy HAS_BCOPY /**/
/* HAS_BFD_LIBRARY:
* This symbol, if defined, indicates that the BFD library is available
* to inspect symbols and debugging information. You can safely include
* the <bfd.h> file when this symbol is defined, making sure to define
* the PACKAGE and PACKAGE_VERSION symbols, just in case we're facing
* binutils 2.23 or higher.
*/
#$d_bfd_lib HAS_BFD_LIBRARY /**/
/* HAS_BFD_SECTION_1ARG:
* This symbol, if defined, indicates that the bfd_section_xxx() accessors
* from the BFD library takes only one argument, which is the new behaviour
* starting from BFD 2.34.
*/
#$d_bfd_section HAS_BFD_SECTION_1ARG /**/
/* HAS_BIND_TEXTDOMAIN_CODESET:
* This symbol, if defined, indicates that the bind_textdomain_codeset routine
* is available.
*/
#$d_bindtxtcode HAS_BIND_TEXTDOMAIN_CODESET /**/
/* HAS_BSEARCH:
* This symbol, if defined, indicates that the bsearch() routine
* is available to perform a binary search on a sorted array.
*/
#$d_bsearch HAS_BSEARCH /**/
/* HAS_BUILTIN_BSWAP32:
* This symbol, if defined, indicates that __builtin_bswap32 routine is
* available to byte-swap a 32-bit value (little <-> big endian).
*/
#$d_built_bswap32 HAS_BUILTIN_BSWAP32 /**/
/* HAS_BUILTIN_BSWAP64:
* This symbol, if defined, indicates that __builtin_bswap64 routine is
* available to byte-swap a 64-bit value (little <-> big endian).
*/
#$d_built_bswap64 HAS_BUILTIN_BSWAP64 /**/
/* HAS_BUILTIN_CLZ:
* This symbol, if defined, indicates that the __builtin_clz routine is
* available to count leading zeroes in a word.
*/
#$d_built_clz HAS_BUILTIN_CLZ /**/
/* HAS_BUILTIN_CTZ:
* This symbol, if defined, indicates that __builtin_ctz routine is
* available to count trailing zeroes in a word.
*/
#$d_built_ctz HAS_BUILTIN_CTZ /**/
/* HAS_BUILTIN_POPCOUNT:
* This symbol, if defined, indicates that __builtin_popcount routine is
* available to compute the amount of '1' bits in a word.
*/
#$d_built_popcount HAS_BUILTIN_POPCOUNT /**/
/* HAS_BZERO:
* This symbol is defined if the bzero() routine is available to
* set a memory block to 0.
*/
#$d_bzero HAS_BZERO /**/
/* HAS_CLEARENV:
* This symbol is defined when clearenv() is there to clear the
* environment.
*/
#$d_clearenv HAS_CLEARENV
/* HAS_CLOCK_GETRES:
* This symbol, if defined, indicates that the clock_getres() system call is
* available to fetch the granularity of available clock (CLOCK_REALTIME is
* a valid clock when the symbol is defined).
*/
#$d_clock_getres HAS_CLOCK_GETRES /**/
/* HAS_CLOCK_GETTIME:
* This symbol, if defined, indicates that the clock_gettime() system call is
* available to fetch the clock (CLOCK_REALTIME is a valid clock when the
* symbol is defined).
*/
#$d_clock_gettime HAS_CLOCK_GETTIME /**/
/* HAS_CLOSEFROM:
* This symbol is defined when closefrom() can be used.
*/
#$d_closefrom HAS_CLOSEFROM
/* HASCONST:
* This symbol, if defined, indicates that this C compiler knows about
* the const type. There is no need to actually test for that symbol
* within your programs. The mere use of the "const" keyword will
* trigger the necessary tests.
*/
#$d_const HASCONST /**/
#ifndef HASCONST
#define const
#endif
/* HAS_DEV_POLL:
* This symbol is defined when /dev/poll can be used.
*/
#$d_dev_poll HAS_DEV_POLL
/* USE_DIFFTIME:
* This symbol, if defined, indicates that the difftime routine should
* really be used to compare times.
*/
#$use_difftime USE_DIFFTIME /**/
/* HAS_DIRENT_D_NAMLEN:
* This symbol, if defined, indicates that struct dirent has an
* integer member d_namlen to hold the actual string length of d_name.
*/
#$d_dirent_d_namlen HAS_DIRENT_D_NAMLEN /**/
/* HAS_DIRENT_D_TYPE:
* This symbol, if defined, indicates that struct dirent has an
* integer member d_type. Note that DT_WHT is BSD-specific and may
* not be available. If DT_UNKNOWN is returned, the filesystem does
* not fill d_type even though it is present in the dir entry.
*/
#$d_dirent_d_type HAS_DIRENT_D_TYPE /**/
/* HAS_DIRFD:
* This symbol, if defined, indicates that the dirfd() routine is
* available to get the underlying file descriptor from a DIR *
* opened by opendir().
*/
#$d_dirfd HAS_DIRFD /**/
/* HAS_DLADDR:
* This symbol, if defined, indicates that the dladdr() routine is
* available to query the dynamic linker about a specified address.
*/
#$d_dladdr HAS_DLADDR /**/
/* HAS_END_SYMBOL:
* This symbol, if defined, indicates that the C program can declare
* extern const int end;
* and then use &end to know the end of the BSS segment.
*/
#$d_end_symbol HAS_END_SYMBOL /**/
/* HAS_EPOLL:
* This symbol is defined when epoll() can be used.
*/
#$d_epoll HAS_EPOLL
/* HAS_ETEXT_SYMBOL:
* This symbol, if defined, indicates that the C program can declare
* extern const int etext;
* and then use &etext to know the end of the text segment.
*/
#$d_etext_symbol HAS_ETEXT_SYMBOL /**/
/* HAS_FCHDIR:
* This symbol, if defined, indicates that the fchdir routine is
* available to change the working directory to that of the opened
* directory whose file descriptor is given.
*/
#$d_fchdir HAS_FCHDIR /**/
/* HAS_FDATASYNC:
* This symbol, if defined, indicates that the fdatasync routine is available
* to synchronize a file's in-core data with the storage device.
*/
#$d_fdatasync HAS_FDATASYNC /**/
/* HAS_FDOPENDIR:
* This symbol, if defined, indicates that the fdopendir() routine is
* available to open directories using an opened file descriptor already
* referring to that directory.
*/
#$d_fdopendir HAS_FDOPENDIR /**/
/* HAS_FORK:
* This symbol, if defined, indicates that the fork routine is
* available.
*/
#$d_fork HAS_FORK /**/
/* HAS_FSTATAT:
* This symbol, if defined, indicates that the fstatat() routine is
* available to do file stats with a relative path interepreted in
* the context of an opened directory.
*/
#$d_fstatat HAS_FSTATAT /**/
/* HAS_FSYNC:
* This symbol, if defined, indicates that the fsync routine is available
* to synchronize a file's in-core state with the storage device.
*/
#$d_fsync HAS_FSYNC /**/
/* HAS_GETTIMEOFDAY:
* This symbol, if defined, indicates that the gettimeofday() system
* call is available for a sub-second accuracy clock. Usually, the file
* <sys/resource.h> needs to be included (see I_SYS_RESOURCE).
* The type "Timeval" should be used to refer to "struct timeval".
*/
#$d_gettimeod HAS_GETTIMEOFDAY /**/
#ifdef HAS_GETTIMEOFDAY
#define Timeval struct timeval /* Structure used by gettimeofday() */
#endif
/* HAS_GETADDRINFO:
* This symbol is defined when getaddrinfo() can be used.
*/
#$d_getaddrinfo HAS_GETADDRINFO
/* HAS_GETEUID:
* This symbol is defined when geteuid() can be used.
*/
#$d_geteuid HAS_GETEUID
/* HAS_UNAME:
* This symbol, if defined, indicates that the C program may use the
* uname() routine to derive the host name. See also HAS_GETHOSTNAME
* and PHOSTNAME.
*/
#$d_uname HAS_UNAME /**/
/* HAS_GETIFADDRS:
* This symbol is defined when getifaddrs() and freeifaddrs() can be used.
*/
#$d_getifaddrs HAS_GETIFADDRS
/* HAS_GETINVENT:
* This symbol, if defined, indicates that the getinvent() routine is
* available.
*/
#$d_getinvent HAS_GETINVENT /**/
/* HAS_GETLOGIN:
* This symbol, if defined, indicates that the getlogin routine is
* available to get the login name.
*/
#$d_getlogin HAS_GETLOGIN /**/
/* HAS_GETNAMEINFO:
* This symbol is defined when getnameinfo() can be used.
*/
#$d_getnameinfo HAS_GETNAMEINFO
/* HAS_GETPPID:
* This symbol, if defined, indicates that the getppid routine is
* available to get the parent process ID.
*/
#$d_getppid HAS_GETPPID /**/
/* HAS_GETPROGNAME:
* This symbol is defined when getprogname() is there to get the
* program name.
*/
#$d_getprogname HAS_GETPROGNAME
/* HAS_GETPWNAM:
* This symbol, if defined, indicates that the getpwnam() routine
* is available to get the /etc/passwd structure entries for given
* user name.
*/
#$d_getpwnam HAS_GETPWNAM /**/
/* HAS_GETPWUID:
* This symbol, if defined, indicates that the getpwuid() routine
* is available to get the /etc/passwd structure entries for given
* user ID.
*/
#$d_getpwuid HAS_GETPWUID /**/
/* HAS_GETRLIMIT:
* This symbol, if defined, indicates that the getrlimit() routine is
* available to get process resource limits.
*/
#$d_getrlimit HAS_GETRLIMIT /**/
/* HAS_GETUID:
* This symbol is defined when getuid() can be used.
*/
#$d_getuid HAS_GETUID
/* HAS_GNULIBC:
* This symbol, if defined, indicates to the C program that
* the GNU C library is being used. A better check is to use
* the __GLIBC__ and __GLIBC_MINOR__ symbols supplied with glibc.
*/
#$d_gnulibc HAS_GNULIBC /**/
#if defined(HAS_GNULIBC) && !defined(_GNU_SOURCE)
#define _GNU_SOURCE
#endif
/* HAS_HERROR:
* This symbol, if defined, indicates that the herror routine is
* available.
*/
#$d_herror HAS_HERROR /**/
/* HAS_HSTRERROR:
* This symbol, if defined, indicates that the hstrerror routine is
* available.
*/
#$d_hstrerror HAS_HSTRERROR /**/
/* USE_IEEE754_FLOAT:
* When defined, this symbol indicates that float and double values are
* stored using the IEEE-754 floating point format. See IEEE754_BYTEORDER
* to determine the endianness in case these values need to be serialized.
*/
/* IEEE754_BYTEORDER:
* This symbol holds the hexadecimal constant defined in ieee754_byteorder,
* i.e. 1234 for little-endian or 4321 for big-ending floats. It is 0 when
* floats are not stored in IEEE-754 format.
*/
#$d_ieee754 USE_IEEE754_FLOAT
#define IEEE754_BYTEORDER 0x$ieee754_byteorder /* large digits for MSB */
/* USE_IP_TOS:
* This symbol, if defined, indicates that the IP TOS services are
* available and can be used. Be prepared to include <sys/socket.h>,
* either <netinet/in.h> or <sys/in.h>, and <netinet/ip.h> when
* I_NETINET_IP is defined.
*/
#$d_iptos USE_IP_TOS /**/
/* HAS_IPV6:
* This symbol is defined when IPv6 can be used
*/
#$d_ipv6 HAS_IPV6 /**/
/* HAS_ISASCII:
* This manifest constant lets the C program know that isascii
* is available.
*/
#$d_isascii HAS_ISASCII /**/
/* HAS_KEVENT_INT_UDATA:
* This symbol, if defined, indicates that struct kevent has an
* integer member udata.
*/
#$d_kevent_int_udata HAS_KEVENT_INT_UDATA /**/
/* HAS_KQUEUE:
* This symbol is defined when kqueue() can be used.
*/
#$d_kqueue HAS_KQUEUE
/* HAS_LOCALE_CHARSET:
* This symbol is defined when locale_charset() can be used.
*/
#$d_locale_charset HAS_LOCALE_CHARSET
/* HAS_LSTAT:
* This symbol, if defined, indicates that the lstat routine is
* available to do file stats on symbolic links.
*/
#$d_lstat HAS_LSTAT /**/
/* HAS_MADVISE:
* This symbol, if defined, indicates that the madvise routine is
* available.
*/
#$d_madvise HAS_MADVISE /**/
/* HAS_MEMALIGN:
* This symbol, if defined, indicates that the memalign routine is
* available to allocate aligned memory.
*/
#$d_memalign HAS_MEMALIGN /**/
/* HAS_MEMCPY:
* This symbol, if defined, indicates that the memcpy routine is available
* to copy blocks of memory.
*/
#$d_memcpy HAS_MEMCPY /**/
/* HAS_MEMMOVE:
* This symbol, if defined, indicates that the memmove routine is available
* to copy potentially overlapping blocks of memory. This should be used
* only when HAS_SAFE_BCOPY is not defined. If neither is there, roll your
* own version.
*/
#$d_memmove HAS_MEMMOVE /**/
/* HAS_MEMPCPY:
* This symbol, if defined, indicates that the mempcpy routine is available
* to copy blocks of memory, returning a pointer past the last written byte.
*/
#$d_mempcpy HAS_MEMPCPY /**/
/* HAS_MEMRCHR:
* This symbol, if defined, indicates that the memrchr routine is available
* to scan a block of memory backwards for a character.
* If undefined, roll your own.
*/
#$d_memrchr HAS_MEMRCHR /**/
/* HAS_MEMSET:
* This symbol, if defined, indicates that the memset routine is available
* to set blocks of memory.
*/
#$d_memset HAS_MEMSET /**/
/* HAS_MMAP:
* This symbol, if defined, indicates that the mmap system call is
* available to map a file into memory.
*/
#$d_mmap HAS_MMAP /**/
/* HAS_MSGHDR_MSG_FLAGS:
* This symbol, if defined, indicates that struct msghdr has a
* member msg_flags.
*/
#$d_msghdr_msg_flags HAS_MSGHDR_MSG_FLAGS /**/
/* HAS_NANOSLEEP:
* This symbol, if defined, indicates that the nanosleep() system call
* is available.
*/
#$d_nanosleep HAS_NANOSLEEP /**/
/* HAS_OPENAT:
* This symbol, if defined, indicates that the openat() routine is
* available to open files with a relative path interepreted in
* the context of an opened directory.
*/
#$d_openat HAS_OPENAT /**/
/* HAS_PAUSE:
* This symbol, if defined, indicates that the pause routine is
* available to suspend a process until a signal is received.
*/
#$d_pause HAS_PAUSE /**/
/* HAS_PIPE2:
* This symbol, if defined, indicates that the pipe routine is
* available to create an inter-process channel with O_CLOEXEC or
* O_NONBLOCK flags.
*/
#$d_pipe2 HAS_PIPE2 /**/
/* HAS_POLL:
* This symbol, if defined, indicates that the poll routine is
* available to poll active file descriptors. Please check I_POLL and
* I_SYS_POLL to know which header should be included as well.
*/
#$d_poll HAS_POLL /**/
/* HAS_POPCOUNT:
* This symbol, if defined, indicates that the popcount routine is
* available to count the amount of '1' bits in a word.
*/
#$d_popcount HAS_POPCOUNT /**/
/* HAS_POPEN:
* This symbol, if defined, indicates that the popen routine is
* available to open a pipe from a process.
*/
#$d_popen HAS_POPEN /**/
/* HAS_POSIX_FADVISE:
* This symbol is defined when posix_fadvise() can be used.
*/
#$d_posix_fadvise HAS_POSIX_FADVISE
/* HAS_POSIX_MEMALIGN:
* This symbol is defined when posix_memalign() can be used.
*/
#$d_posix_memalign HAS_POSIX_MEMALIGN
/* HAS_PREAD:
* This symbol, if defined, indicates that the pread routine is
* available to perform reads on a file descriptor at a given offset.
*/
#$d_pread HAS_PREAD /**/
/* HAS_PREADV:
* This symbol, if defined, indicates that the preadv routine is
* available to perform vectored reads on a file descriptor at a
* given offset.
*/
#$d_preadv HAS_PREADV /**/
/* HAS_PROGRAM_INVOCATION_NAME:
* This symbol is defined when the C startup sets the two variables
* program_invocation_name and program_invocation_short_name. To get
* these definitions, <errno.h> must be included with __USE_GNU defined.
*/
#$d_proginvocname HAS_PROGRAM_INVOCATION_NAME
/* HAS_PTHREAD_ATTR_SETSTACK:
* This symbol is defined when pthread_attr_setstack() can be used to set
* the thread stack. Otherwise, use obsoleted pthread_attr_setstackaddr().
*/
#$d_ptattr_setstack HAS_PTHREAD_ATTR_SETSTACK
/* HAS_PWRITE:
* This symbol, if defined, indicates that the pwrite routine is
* available to perform writes on a file descriptor at a given offset.
*/
#$d_pwrite HAS_PWRITE /**/
/* HAS_PWRITEV:
* This symbol, if defined, indicates that the pwritev routine is
* available to perform vectored writes on a file descriptor at a
* given offset.
*/
#$d_pwritev HAS_PWRITEV /**/
/* HAS_RECVMSG:
* This symbol, if defined, indicates that the recvmsg() function
* is available.
*/
#$d_recvmsg HAS_RECVMSG /**/
/* HAS_REGCOMP:
* This symbol, if defined, indicates that the regcomp() routine is
* available to do some regular patern matching (usually on POSIX.2
* conforming systems).
* When regcomp() exists, it is safe to assume regexec() and regfree()
* are also available.
*/
#$d_regcomp HAS_REGCOMP /**/
/* HAS_REGPARM:
* This symbol is defined when __attribute__((__regparm__(n))) can be used.
*/
#$d_regparm HAS_REGPARM
/* HAS_GETRUSAGE:
* This symbol, if defined, indicates that the getrusage() routine is
* available to get process statistics with a sub-second accuracy.
* Inclusion of <sys/resource.h> and <sys/time.h> may be necessary.
*/
#$d_rusage HAS_GETRUSAGE /**/
/* HAS_SBRK:
* This symbol, if defined, indicates that the sbrk system call is
* available to add/relase core. Always true on Unix.
*/
#$d_sbrk HAS_SBRK /**/
/* HAS_SCHED_YIELD:
* This symbol, if defined, indicates that the sched_yield() routine is
* available to yield the CPU.
*/
#$d_sched_yield HAS_SCHED_YIELD /**/
/* HAS_SELECT:
* This symbol, if defined, indicates that the select routine is
* available to select active file descriptors. If the timeout field
* is used, <sys/time.h> may need to be included.
*/
#$d_select HAS_SELECT /**/
/* HAS_SEMCTL:
* This symbol, if defined, indicates that the semctl() routine is
* available to perform semaphore control operations.
*/
#$d_semctl HAS_SEMCTL /**/
/* HAS_SEMGET:
* This symbol, if defined, indicates that the semget() routine is
* available to get a set of semaphores.
*/
#$d_semget HAS_SEMGET /**/
/* HAS_SEMOP:
* This symbol, if defined, indicates that the semop() routine is
* available to execute semaphore operations.
*/
/* HAS_SEMTIMEDOP:
* This symbol, if defined, indicates that the semtimedop() routine is
* available to execute semaphore operations with a timeout.
*/
#$d_semop HAS_SEMOP /**/
#$d_semtimedop HAS_SEMTIMEDOP /**/
/* HAS_SENDFILE:
* This symbol, if defined, indicates that the sendfile routine is
* available.
*/
#$d_sendfile HAS_SENDFILE /**/
/* HAS_SETENV:
* This symbol is defined when setenv() is available to change or
* add an environment variable.
*/
#$d_setenv HAS_SETENV
/* HAS_SETPROCTITLE:
* This symbol is defined when setproctitle() can be used and takes a
* format string.
*/
#$d_setproctitle HAS_SETPROCTITLE
/* HAS_SETPROGNAME:
* This symbol is defined when setprogname() is there to set the
* program name.
*/
#$d_setprogname HAS_SETPROGNAME
/* HAS_SETSID:
* This symbol, if defined, indicates that the setsid routine is
* available to set the process group ID.
*/
#$d_setsid HAS_SETSID /**/
/* HAS_SIGACTION:
* This symbol, if defined, indicates that Vr4's sigaction() routine
* is available.
*/
#$d_sigaction HAS_SIGACTION /**/
/* HAS_SIGALTSTACK:
* This symbol, if defined, indicates that the sigaltstack() routine
* is available to define an alternate signal stack.
*/
#$d_sigaltstack HAS_SIGALTSTACK /**/
/* HAS_SIGPROCMASK:
* This symbol, if defined, indicates that the sigprocmask() routine is
* available to examine and change blocked signals.
*/
#$d_sigprocmask HAS_SIGPROCMASK /**/
/* HAS_SIGSETJMP:
* This variable indicates to the C program that the sigsetjmp()
* routine is available to save the calling process's registers
* and stack environment for later use by siglongjmp(), and
* to optionally save the process's signal mask. See
* Sigjmp_buf, Sigsetjmp, and Siglongjmp.
*/
/* Sigsetjmp:
* This macro is used in the same way as sigsetjmp(), but will invoke
* traditional setjmp() if sigsetjmp isn't available.
* See HAS_SIGSETJMP.
*/
/* Siglongjmp:
* This macro is used in the same way as siglongjmp(), but will invoke
* traditional longjmp() if siglongjmp isn't available.
* See HAS_SIGSETJMP.
*/
#$d_sigsetjmp HAS_SIGSETJMP /**/
#ifdef HAS_SIGSETJMP
#define Sigjmp_buf sigjmp_buf
#define Sigsetjmp(buf,save_mask) sigsetjmp((buf),(save_mask))
#define Siglongjmp(buf,retval) siglongjmp((buf),(retval))
#else
#define Sigjmp_buf jmp_buf
#define Sigsetjmp(buf,save_mask) setjmp((buf))
#define Siglongjmp(buf,retval) longjmp((buf),(retval))
#endif
/* HAS_SOCKADDR_IN_SIN_LEN:
* This symbol is defined if struct sockaddr_in has sin_len.
*/
#$d_sockaddr_in_sin_len HAS_SOCKADDR_IN_SIN_LEN
/* HAS_SOCKADDR_UN:
* This symbol is defined if struct sockaddr_un exists, allowing the
* creation of file sockets.
*/
#$d_sockaddr_un HAS_SOCKADDR_UN
/* HAS_SOCKER_GET:
* This symbol is defined when socker_get() can be used to get sockets
* bound to privileged ports.
*/
#$d_socker_get HAS_SOCKER_GET
/* HAS_SOCKETPAIR:
* This symbol, if defined, indicates that the BSD socketpair() call is
* supported.
*/
#$d_sockpair HAS_SOCKETPAIR /**/
/* HAS_STATFS:
* This symbol, if defined, indicates that the Linux statfs() system call
* is available to get filesystem statistics.
*/
#$d_statfs HAS_STATFS /**/
/* HAS_STATVFS:
* This symbol, if defined, indicates that the POSIX statvfs() system call
* is available to get filesystem statistics.
*/
#$d_statvfs HAS_STATVFS /**/
/* HAS_INDEX:
* This symbol is defined to indicate that the index()/rindex()
* functions are available for string searching.
*/
#$d_index HAS_INDEX /**/
/* HAS_STRLCAT:
* This symbol, if defined, indicates that the strlcat routine is
* available.
*/
#$d_strlcat HAS_STRLCAT /**/
/* HAS_STRLCPY:
* This symbol, if defined, indicates that the strlcpy routine is
* available.
*/
#$d_strlcpy HAS_STRLCPY /**/
/* HAS_SYNC_ATOMIC:
* This symbol, if defined, indicates that __sync_xxx() atomic operations
* are made available by the compiler, namely __sync_synchronize() to
* issue a memory barrieer, __sync_bool_compare_and_swap() for issuing a
* test-and-set and __sync_fetch_and_add() for atomic increases of values.
*/
#$d_sync_atomic HAS_SYNC_ATOMIC /**/
/* HAS_SYSCALL:
* This symbol, if defined, indicates that the syscall routine is
* available to call arbitrary system calls. If undefined, that's tough.
*/
#$d_syscall HAS_SYSCALL /**/
/* HAS_SYSCTL:
* This symbol, if defined, indicates that the sysctl routine is
* available.
*/
#$d_sysctl HAS_SYSCTL /**/
/* HAS_SYSTEM:
* This symbol, if defined, indicates that the system routine is
* available to issue a shell command.
*/
#$d_system HAS_SYSTEM /**/
/* HAS_TIMES:
* This symbol, if defined, indicates that the times() routine exists.
* Note that this became obsolete on some systems (SUNOS), which now
* use getrusage(). It may be necessary to include <sys/times.h>.
*/
#$d_times HAS_TIMES /**/
/* HAS_TTYNAME:
* This symbol, if defined, indicates that the ttyname() routine is
* available to determine the pathname of the terminal associated with
* a file descriptor. The <unistd.h> header must be included to use
* this routine.
*/
#$d_ttyname HAS_TTYNAME /**/
/* HAS_UCONTEXT_MCONTEXT:
* This symbol, if defined, indicates that the C program can access the
* processor's general registers through some field in the uc_mcontext
* machine context field from the ucontext_t structure.
*/
#$d_uctx_mctx HAS_UCONTEXT_MCONTEXT /**/
/* HAS_UCONTEXT_MCONTEXT_GREGS:
* This symbol, if defined, indicates that the C program can access the
* processor's general registers through the gregs[] array in the uc_mcontext
* machine context field from the ucontext_t structure.
*/
#$d_uctx_mctx_gregs HAS_UCONTEXT_MCONTEXT_GREGS /**/
/* HAS_USLEEP:
* This symbol, if defined, indicates that the usleep routine is
* available to let the process sleep on a sub-second accuracy.
*/
#$d_usleep HAS_USLEEP /**/
/* HAS_VFORK:
* This symbol, if defined, indicates that vfork() exists.
*/
#$d_vfork HAS_VFORK /**/
/* HASVOLATILE:
* This symbol, if defined, indicates that this C compiler knows about
* the volatile declaration.
*/
#$d_volatile HASVOLATILE /**/
#ifndef HASVOLATILE
#define volatile
#endif
/* HAS_VSNPRINTF:
* This symbol, if defined, indicates that the vsnprintf routine is
* available.
*/
#$d_vsnprintf HAS_VSNPRINTF /**/
/* HAS_WAITPID:
* This symbol, if defined, indicates that the waitpid routine is
* available to wait for child process.
*/
#$d_waitpid HAS_WAITPID /**/
/* EBCDIC:
* This symbol, if defined, indicates that this system uses
* EBCDIC encoding.
*/
#$ebcdic EBCDIC /**/
/* ENABLE_NLS:
* This symbol, when defines, indicates that the program should enable
* Native Language Support (NLS) for internationalization (I18N).
*/
#$d_enablenls ENABLE_NLS /**/
/* I_ALLOCA:
* This symbol, if defined, indicates that <alloca.h> exists and should
* be included.
*/
#$i_alloca I_ALLOCA /**/
/* I_ARPA_INET:
* This symbol, if defined, indicates to the C program that it should
* include <arpa/inet.h> to get inet_addr and friends declarations.
*/
#$i_arpainet I_ARPA_INET /**/
/* I_DIRENT:
* This symbol, if defined, indicates to the C program that it should
* include <dirent.h>. Using this symbol also triggers the definition
* of the Direntry_t define which ends up being 'struct dirent' or
* 'struct direct' depending on the availability of <dirent.h>.
*/
#$i_dirent I_DIRENT /**/
/* I_DLFCN:
* This symbol, if defined, indicates that <dlfcn.h> exists and should
* be included.
*/
#$i_dlfcn I_DLFCN /**/
/* I_EXECINFO:
* This symbol, if defined, indicates to the C program that it should
* include <execinfo.h> for backtrace() support.
*/
#$i_execinfo I_EXECINFO /**/
/* I_FCNTL:
* This manifest constant tells the C program to include <fcntl.h>.
*/
#$i_fcntl I_FCNTL /**/
/* I_ICONV: