1 /* sysdep.h -- handle host dependencies for binutils
2 Copyright (C) 1991-2020 Free Software Foundation, Inc.
4 This file is part of GNU Binutils.
6 This program is free software; you can redistribute it and/or modify
7 it under the terms of the GNU General Public License as published by
8 the Free Software Foundation; either version 3 of the License, or
9 (at your option) any later version.
11 This program is distributed in the hope that it will be useful,
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 GNU General Public License for more details.
16 You should have received a copy of the GNU General Public License
17 along with this program; if not, write to the Free Software
18 Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. */
23 #include "alloca-conf.h"
26 #include <sys/types.h>
32 #ifdef USE_BINARY_FOPEN
33 #include "fopen-bin.h"
35 #include "fopen-same.h"
47 #ifdef STRING_WITH_STRINGS
57 extern char *strchr ();
58 extern char *strrchr ();
70 #ifdef HAVE_SYS_FILE_H
75 #ifdef HAVE_SYS_STAT_H
79 #include "binary-io.h"
82 extern char *stpcpy (char *, const char *);
86 extern char *strstr ();
96 extern char *getenv ();
99 #if !HAVE_DECL_ENVIRON
100 extern char **environ
;
103 #if !HAVE_DECL_FPRINTF
104 extern int fprintf (FILE *, const char *, ...);
107 #if !HAVE_DECL_SNPRINTF
108 extern int snprintf(char *, size_t, const char *, ...);
111 #if !HAVE_DECL_VSNPRINTF
112 extern int vsnprintf(char *, size_t, const char *, va_list);
115 #if !HAVE_DECL_STRNLEN
116 size_t strnlen (const char *, size_t);
139 /* The Solaris version of locale.h always includes libintl.h. If we have
140 been configured with --disable-nls then ENABLE_NLS will not be defined
141 and the dummy definitions of bindtextdomain (et al) below will conflict
142 with the defintions in libintl.h. So we define these values to prevent
143 the bogus inclusion of libintl.h. */
145 # define _LIBGETTEXT_H
151 # include <libintl.h>
152 # define _(String) gettext (String)
154 # define N_(String) gettext_noop (String)
156 # define N_(String) (String)
159 # define gettext(Msgid) (Msgid)
160 # define dgettext(Domainname, Msgid) (Msgid)
161 # define dcgettext(Domainname, Msgid, Category) (Msgid)
162 # define ngettext(Msgid1, Msgid2, n) \
163 (n == 1 ? Msgid1 : Msgid2)
164 # define dngettext(Domainname, Msgid1, Msgid2, n) \
165 (n == 1 ? Msgid1 : Msgid2)
166 # define dcngettext(Domainname, Msgid1, Msgid2, n, Category) \
167 (n == 1 ? Msgid1 : Msgid2)
168 # define textdomain(Domainname) do {} while (0)
169 # define bindtextdomain(Domainname, Dirname) do {} while (0)
170 # define _(String) (String)
171 # define N_(String) (String)
174 /* Used by ar.c and objcopy.c. */
183 /* For MAXPATHLEN. */
184 # ifdef HAVE_SYS_PARAM_H
185 # include <sys/param.h>
189 # define PATH_MAX MAXPATHLEN
191 # define PATH_MAX 1024
196 #if defined HAVE_LONG_LONG && SIZEOF_LONG_LONG > SIZEOF_LONG
197 /* We can't use any bfd types here since readelf may define BFD64 and
199 #define HOST_WIDEST_INT long long
201 #define HOST_WIDEST_INT long
204 #endif /* _BIN_SYSDEP_H */