]> git.ipfire.org Git - thirdparty/bash.git/blob - bashansi.h
16772d226e33546ea62d00bf3390a334dc003651
[thirdparty/bash.git] / bashansi.h
1 /* bashansi.h -- Typically included information required by picky compilers. */
2
3 /* Copyright (C) 1993-2024 Free Software Foundation, Inc.
4
5 This file is part of GNU Bash, the Bourne Again SHell.
6
7 Bash is free software: you can redistribute it and/or modify
8 it under the terms of the GNU General Public License as published by
9 the Free Software Foundation, either version 3 of the License, or
10 (at your option) any later version.
11
12 Bash is distributed in the hope that it will be useful,
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 GNU General Public License for more details.
16
17 You should have received a copy of the GNU General Public License
18 along with Bash. If not, see <http://www.gnu.org/licenses/>.
19 */
20
21 #if !defined (_BASHANSI_H_)
22 #define _BASHANSI_H_
23
24 #if defined (HAVE_STRING_H)
25 # include <string.h>
26 #endif /* !HAVE_STRING_H */
27
28 #if defined (HAVE_STRINGS_H)
29 # include <strings.h>
30 #endif /* !HAVE_STRINGS_H */
31
32 #if defined (HAVE_STDLIB_H)
33 # include <stdlib.h>
34 #else
35 # include "ansi_stdlib.h"
36 #endif /* !HAVE_STDLIB_H */
37
38 /* If bool is not a compiler builtin, prefer stdbool.h if we have it */
39 #if !defined (HAVE_C_BOOL)
40 # if defined (HAVE_STDBOOL_H)
41 # include <stdbool.h>
42 # else
43 # undef bool
44 typedef unsigned char bool;
45 # define true 1
46 # define false 0
47 # endif
48 #endif
49
50 /* Include <stddef.h>, or define substitutes (config.h handles ptrdiff_t). */
51 #ifdef HAVE_STDDEF_H
52 # include <stddef.h>
53 #endif
54 /* Substitutes for definitions in stddef.h */
55 #ifndef NULL
56 # define NULL 0
57 #endif
58 #ifndef offsetof
59 # define offsetof(TYPE, MEMBER) ((size_t) &((TYPE *)0)->MEMBER)
60 #endif
61
62 #endif /* !_BASHANSI_H_ */