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, 59 Temple Place - Suite 330, Boston, MA
20   02111-1307, 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#endif
58#ifdef PATH_MAX
59# define LD_PATHMAX PATH_MAX
60#else
61# ifdef MAXPATHLEN
62#  define LD_PATHMAX MAXPATHLEN
63# else
64#  define LD_PATHMAX 1024
65# endif
66#endif
67
68#ifdef HAVE_REALPATH
69# define REALPATH(a,b) realpath (a, b)
70#else
71# define REALPATH(a,b) NULL
72#endif
73
74#ifdef USE_BINARY_FOPEN
75#include "fopen-bin.h"
76#else
77#include "fopen-same.h"
78#endif
79
80#ifdef NEED_DECLARATION_STRSTR
81extern char *strstr ();
82#endif
83
84#ifdef NEED_DECLARATION_FREE
85extern void free ();
86#endif
87
88#ifdef NEED_DECLARATION_GETENV
89extern char *getenv ();
90#endif
91
92#ifdef NEED_DECLARATION_ENVIRON
93extern char **environ;
94#endif
95
96#endif /* ! defined (LD_SYSDEP_H) */
97