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 37extern char *strchr (); 38extern 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 84extern char *strstr (); 85#endif 86 87#if !HAVE_DECL_FREE 88extern void free (); 89#endif 90 91#if !HAVE_DECL_GETENV 92extern char *getenv (); 93#endif 94 95#if !HAVE_DECL_ENVIRON 96extern char **environ; 97#endif 98 99#endif /* ! defined (LD_SYSDEP_H) */ 100