1 /* sysdep.h -- handle host dependencies for the GNU linker 2 Copyright 1995, 1996, 1997, 1999, 2002, 2003 3 Free Software Foundation, Inc. 4 5 This file is part of GLD, the Gnu Linker. 6 7 GLD 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 2, or (at your option) 10 any later version. 11 12 GLD 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 GLD; see the file COPYING. If not, write to the Free 19 Software Foundation, 51 Franklin Street - Fifth Floor, Boston, MA 20 02110-1301, USA. */ 21 22 #ifndef LD_SYSDEP_H 23 #define LD_SYSDEP_H 24 25 #include "config.h" 26 27 #include <stdio.h> 28 #include <sys/types.h> 29 #include <sys/stat.h> 30 31 #ifdef HAVE_STRING_H 32 #include <string.h> 33 #else 34 #ifdef HAVE_STRINGS_H 35 #include <strings.h> 36 #else 37 extern char *strchr (); 38 extern char *strrchr (); 39 #endif 40 #endif 41 42 #ifdef HAVE_STDLIB_H 43 #include <stdlib.h> 44 #endif 45 46 #ifdef HAVE_UNISTD_H 47 #include <unistd.h> 48 #endif 49 50 /* for PATH_MAX */ 51 #ifdef HAVE_LIMITS_H 52 #include <limits.h> 53 #endif 54 /* for MAXPATHLEN */ 55 #ifdef HAVE_SYS_PARAM_H 56 #include <sys/param.h> 57 #ifndef __PAST_END 58 # define __PAST_END(array, offset) (((typeof(*(array)) *)(array))[offset]) 59 #endif 60 #endif 61 #ifdef PATH_MAX 62 # define LD_PATHMAX PATH_MAX 63 #else 64 # ifdef MAXPATHLEN 65 # define LD_PATHMAX MAXPATHLEN 66 # else 67 # define LD_PATHMAX 1024 68 # endif 69 #endif 70 71 #ifdef HAVE_REALPATH 72 # define REALPATH(a,b) realpath (a, b) 73 #else 74 # define REALPATH(a,b) NULL 75 #endif 76 77 #ifdef USE_BINARY_FOPEN 78 #include "fopen-bin.h" 79 #else 80 #include "fopen-same.h" 81 #endif 82 83 #if !HAVE_DECL_STRSTR 84 extern char *strstr (); 85 #endif 86 87 #if !HAVE_DECL_FREE 88 extern void free (); 89 #endif 90 91 #if !HAVE_DECL_GETENV 92 extern char *getenv (); 93 #endif 94 95 #if !HAVE_DECL_ENVIRON 96 extern char **environ; 97 #endif 98 99 #endif /* ! defined (LD_SYSDEP_H) */ 100