Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
R
riscv-gcc-1
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
lvzhengyang
riscv-gcc-1
Commits
2ed0847f
Commit
2ed0847f
authored
Feb 12, 1997
by
Brendan Kehoe
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Initial revision
From-SVN: r13632
parent
c92ca241
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
161 additions
and
0 deletions
+161
-0
gcc/fixinc.irix
+161
-0
No files found.
gcc/fixinc.irix
0 → 100755
View file @
2ed0847f
#! /bin/sh
# Install modified versions of certain problematic Irix include files.
# Copyright (C) 1997 Free Software Foundation, Inc.
# Contributed by Brendan Kehoe (brendan@cygnus.com).
#
# This file is part of GNU CC.
#
# GNU CC is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
#
# GNU CC is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with GNU CC; see the file COPYING. If not, write to
# the Free Software Foundation, 59 Temple Place - Suite 330,
# Boston, MA 02111-1307, USA.
#
# See README-fixinc for more information.
# Directory containing the original header files.
INPUT
=
${
2
-
${
INPUT
-/usr/include
}}
# Fail if no arg to specify a directory for the output.
if
[
x
$1
=
x
]
then
echo
fixincludes: no output directory specified
exit
1
fi
# Directory in which to store the results.
LIB
=
${
1
?
"fixincludes: output directory not specified"
}
# Make sure it exists.
if
[
!
-d
$LIB
]
;
then
mkdir
$LIB
||
exit
1
fi
ORIG_DIR
=
`
pwd
`
# Make LIB absolute if it is relative.
# Don't do this if not necessary, since may screw up automounters.
case
$LIB
in
/
*
)
;;
*
)
LIB
=
$ORIG_DIR
/
$LIB
;;
esac
echo
'Building fixincludes in '
${
LIB
}
#
# Note: For Irix, we deliberately don't try to create the directory trees,
# since we only modify math.h and limits.h. If we ADD ANY OTHERS,
# the "Making directories:" and symlinks code from fixinc.svr4 may
# have to go back in.
# The Irix math.h defines struct exception, which conflicts with
# the class exception defined in the C++ file std/stdexcept.h. We
# redefine it to __math_exception. This is not a great fix, but I
# haven't been able to think of anything better.
file
=
math.h
base
=
`
basename
$file
`
if
[
-r
${
LIB
}
/
$file
]
;
then
file_to_fix
=
${
LIB
}
/
$file
else
if
[
-r
${
INPUT
}
/
$file
]
;
then
file_to_fix
=
${
INPUT
}
/
$file
else
file_to_fix
=
""
fi
fi
if
[
\!
-z
"
$file_to_fix
"
]
;
then
echo
Checking
$file_to_fix
sed
-e
'/struct exception/i\
#ifdef __cplusplus\
#define exception __math_exception\
#endif'
\
-e
'/struct exception/a\
#ifdef __cplusplus\
#undef exception\
#endif'
$file_to_fix
>
/tmp/
$base
if
cmp
$file_to_fix
/tmp/
$base
>
/dev/null 2>&1
;
then
\
true
else
echo
Fixed
$file_to_fix
rm
-f
${
LIB
}
/
$file
cp /tmp/
$base
${
LIB
}
/
$file
chmod a+r
${
LIB
}
/
$file
fi
rm
-f
/tmp/
$base
fi
# In limits.h, put #ifndefs around things that are supposed to be defined
# in float.h to avoid redefinition errors if float.h is included first.
file
=
limits.h
base
=
`
basename
$file
`
if
[
-r
${
LIB
}
/
$file
]
;
then
file_to_fix
=
${
LIB
}
/
$file
else
if
[
-r
${
INPUT
}
/
$file
]
;
then
file_to_fix
=
${
INPUT
}
/
$file
else
file_to_fix
=
""
fi
fi
if
[
\!
-z
"
$file_to_fix
"
]
;
then
echo
Checking
$file_to_fix
sed
-e
'/[ ]FLT_MIN[ ]/i\
#ifndef FLT_MIN
'
\
-e
'/[ ]FLT_MIN[ ]/a\
#endif
'
\
-e
'/[ ]FLT_MAX[ ]/i\
#ifndef FLT_MAX
'
\
-e
'/[ ]FLT_MAX[ ]/a\
#endif
'
\
-e
'/[ ]FLT_DIG[ ]/i\
#ifndef FLT_DIG
'
\
-e
'/[ ]FLT_DIG[ ]/a\
#endif
'
\
-e
'/[ ]DBL_MIN[ ]/i\
#ifndef DBL_MIN
'
\
-e
'/[ ]DBL_MIN[ ]/a\
#endif
'
\
-e
'/[ ]DBL_MAX[ ]/i\
#ifndef DBL_MAX
'
\
-e
'/[ ]DBL_MAX[ ]/a\
#endif
'
\
-e
'/[ ]DBL_DIG[ ]/i\
#ifndef DBL_DIG
'
\
-e
'/[ ]DBL_DIG[ ]/a\
#endif
'
$file_to_fix
>
/tmp/
$base
if
cmp
$file_to_fix
/tmp/
$base
>
/dev/null 2>&1
;
then
\
true
else
echo
Fixed
$file_to_fix
rm
-f
${
LIB
}
/
$file
cp /tmp/
$base
${
LIB
}
/
$file
chmod a+r
${
LIB
}
/
$file
fi
rm
-f
/tmp/
$base
fi
exit
0
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment