Annotation of dietlibc/dietfeatures.h, revision 1.46
1.4 fefe 1: #ifndef _DIETFEATURES_H
2: #define _DIETFEATURES_H
1.1 cvs 3:
4: /* feel free to comment some of these out to reduce code size */
5:
1.13 fefe 6: #define WANT_FLOATING_POINT_IN_PRINTF
7: #define WANT_FLOATING_POINT_IN_SCANF
1.12 fefe 8: #define WANT_CHARACTER_CLASSES_IN_SCANF
1.1 cvs 9: #define WANT_NULL_PRINTF
1.24 fefe 10: #define WANT_LONGLONG_PRINTF
1.42 olaf 11: #define WANT_LONGLONG_SCANF
1.1 cvs 12:
1.20 fefe 13: /* 128 or 2048 bytes buffer size? */
14: /* #define WANT_SMALL_STDIO_BUFS */
15:
1.40 fefe 16: /* want fread to read() directly if size of data is larger than buffer?
17: * This costs a few bytes but is worth it if the application is already
18: * buffering. */
19: #define WANT_FREAD_OPTIMIZATION
20:
1.34 fefe 21: /* this is only for meaningful for ttyname and sysconf_cpus so far */
1.40 fefe 22: #define SLASH_PROC_OK
1.1 cvs 23:
24: /* use errno_location instead of errno */
1.20 fefe 25: #define WANT_THREAD_SAFE
1.1 cvs 26:
1.35 olaf 27: /* make the startcode, etc. dynamic aware ({con,de}structors) */
1.38 olaf 28: /* #define WANT_DYNAMIC */
1.1 cvs 29:
30: /* do you want smaller or faster string routines? */
1.2 fefe 31: /* #define WANT_FASTER_STRING_ROUTINES */
1.1 cvs 32:
1.43 fefe 33: /* define this to have strncpy zero-fill and not just zero-terminate the
34: * string */
35: /* #define WANT_FULL_POSIX_COMPAT */
36:
1.16 fefe 37: /* read the comment in lib/strncat.c for an explanation */
1.17 fefe 38: /* #define WANT_NON_COMPLIANT_STRNCAT */
1.16 fefe 39:
1.4 fefe 40: #define WANT_LINKER_WARNINGS
41:
1.7 fefe 42: /* you need to define this if you want to run your programs with large
1.31 fefe 43: * file support on kernel 2.2 or 2.0 */
1.7 fefe 44: #define WANT_LARGEFILE_BACKCOMPAT
45:
1.8 fefe 46: /* do you want localtime(3) to read /etc/localtime?
47: * Needed for daylight saving time etc. */
48: #define WANT_TZFILE_PARSER
1.1 cvs 49:
1.21 fefe 50: /* do you want the DNS routines to parse and use "domain" and "search"
51: * lines from /etc/resolv.conf? Normally not used on boot floppies and
52: * embedded environments. */
53: #define WANT_FULL_RESOLV_CONF
54:
1.45 fefe 55: /* do you want IPv6 transport support in the DNS resolver? */
56: #define WANT_IPV6_DNS
57:
1.27 fefe 58: /* do you want gethostbyname and friends to consult /etc/hosts? */
59: #define WANT_ETC_HOSTS
60:
1.46 ! fefe 61: /* do you want gethostbyname to understand dotted decimal IP numbers
! 62: * directly and not try to resolve them? */
! 63: #define WANT_INET_ADDR_DNS
! 64:
1.29 fefe 65: /* do you want math functions high precision rather than fast/small? */
66: #define WANT_HIGH_PRECISION_MATH
67:
68: /* do you want support for matherr? */
69: #define WANT_MATHERR
70:
1.30 fefe 71: /* do you want crypt(3) to use MD5 if the salt starts with "$1$"? */
72: #define WANT_CRYPT_MD5
73:
1.32 fefe 74: /* do you want diet to include a safeguard dependency to make linking
1.45 fefe 75: * against glibc fail? This may fail with older binutils. */
1.32 fefe 76: #define WANT_SAFEGUARD
1.38 olaf 77:
78: /* dy you want that malloc(0) return a pointer to a "zero-length" object
79: * that is realloc-able; means realloc(..,size) gives a NEW object (like a
80: * call to malloc(size)).
81: * WARNING: this violates C99 */
82: /* #define WANT_MALLOC_ZERO */
83:
1.32 fefe 84:
1.1 cvs 85: /* stop uncommenting here ;-) */
86: #ifndef WANT_FASTER_STRING_ROUTINES
87: #define WANT_SMALL_STRING_ROUTINES
1.4 fefe 88: #endif
89:
1.22 fefe 90: #ifdef WANT_THREAD_SAFE
1.44 fefe 91: #ifndef __ASSEMBLER__
1.22 fefe 92: #define errno (*__errno_location())
1.23 fefe 93: #define _REENTRANT
1.44 fefe 94: #endif
1.22 fefe 95: #endif
96:
1.33 olaf 97: #ifdef __DYN_LIB
1.39 olaf 98: /* with shared libraries you MUST have a dynamic aware startcode */
1.33 olaf 99: #ifndef WANT_DYNAMIC
100: #define WANT_DYNAMIC
1.35 olaf 101: #endif
102: /* saveguard crashes with shared objects ... */
103: #ifdef WANT_SAFEGUARD
104: #undef WANT_SAFEGUARD
1.33 olaf 105: #endif
106: #endif
107:
1.1 cvs 108: #endif
LinuxTV legacy CVS <linuxtv.org/cvs>