Home | History | Annotate | Download | only in ld
      1 /* sysdep.h -- handle host dependencies for the GNU linker
      2    Copyright (C) 1995-2016 Free Software Foundation, Inc.
      3 
      4    This file is part of the GNU Binutils.
      5 
      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.
     10 
     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.
     15 
     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,
     19    MA 02110-1301, USA.  */
     20 
     21 #ifndef LD_SYSDEP_H
     22 #define LD_SYSDEP_H
     23 
     24 #ifdef PACKAGE
     25 #error sysdep.h must be included in lieu of config.h
     26 #endif
     27 
     28 #include "config.h"
     29 
     30 #include <stdio.h>
     31 #include <sys/types.h>
     32 #include <sys/stat.h>
     33 #include <stdarg.h>
     34 
     35 #ifdef STRING_WITH_STRINGS
     36 #include <string.h>
     37 #include <strings.h>
     38 #else
     39 #ifdef HAVE_STRING_H
     40 #include <string.h>
     41 #else
     42 #ifdef HAVE_STRINGS_H
     43 #include <strings.h>
     44 #else
     45 extern char *strchr ();
     46 extern char *strrchr ();
     47 #endif
     48 #endif
     49 #endif
     50 
     51 #ifdef HAVE_STDLIB_H
     52 #include <stdlib.h>
     53 #endif
     54 
     55 #ifdef HAVE_UNISTD_H
     56 #include <unistd.h>
     57 #endif
     58 
     59 #ifdef HAVE_REALPATH
     60 # define REALPATH(a,b) realpath (a, b)
     61 #else
     62 # define REALPATH(a,b) NULL
     63 #endif
     64 
     65 #ifdef USE_BINARY_FOPEN
     66 #include "fopen-bin.h"
     67 #else
     68 #include "fopen-same.h"
     69 #endif
     70 
     71 #ifdef HAVE_FCNTL_H
     72 #include <fcntl.h>
     73 #else
     74 #ifdef HAVE_SYS_FILE_H
     75 #include <sys/file.h>
     76 #endif
     77 #endif
     78 
     79 #ifdef HAVE_DLFCN_H
     80 #include <dlfcn.h>
     81 #endif
     82 
     83 #ifndef O_RDONLY
     84 #define O_RDONLY 0
     85 #endif
     86 #ifndef O_WRONLY
     87 #define O_WRONLY 1
     88 #endif
     89 #ifndef O_RDWR
     90 #define O_RDWR 2
     91 #endif
     92 #ifndef O_ACCMODE
     93 #define O_ACCMODE (O_RDONLY | O_WRONLY | O_RDWR)
     94 #endif
     95 /* Systems that don't already define this, don't need it.  */
     96 #ifndef O_BINARY
     97 #define O_BINARY 0
     98 #endif
     99 
    100 #ifndef SEEK_SET
    101 #define SEEK_SET 0
    102 #endif
    103 #ifndef SEEK_CUR
    104 #define SEEK_CUR 1
    105 #endif
    106 #ifndef SEEK_END
    107 #define SEEK_END 2
    108 #endif
    109 
    110 #if !HAVE_DECL_STRSTR
    111 extern char *strstr ();
    112 #endif
    113 
    114 #if !HAVE_DECL_FREE
    115 extern void free ();
    116 #endif
    117 
    118 #if !HAVE_DECL_GETENV
    119 extern char *getenv ();
    120 #endif
    121 
    122 #if !HAVE_DECL_ENVIRON
    123 extern char **environ;
    124 #endif
    125 
    126 #endif /* ! defined (LD_SYSDEP_H) */
    127