OSDN Git Service

* mkheaders.in: Allow optional isysroot parameter.
[pf3gnuchains/gcc-fork.git] / fixincludes / mkheaders.in
1 #!/bin/sh
2
3 # Copyright (C) 2002, 2007 Free Software Foundation, Inc.
4
5 #This file is part of GCC.
6
7 #GCC is free software; you can redistribute it and/or modify it under
8 #the terms of the GNU General Public License as published by the Free
9 #Software Foundation; either version 2, or (at your option) any later
10 #version.
11
12 #GCC is distributed in the hope that it will be useful, but WITHOUT
13 #ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
14 #FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
15 #for more details.
16
17 #You should have received a copy of the GNU General Public License
18 #along with GCC; 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 # Basic information
23 target=@target@
24 target_noncanonical=@target_noncanonical@
25 version=@gcc_version@
26
27 VERBOSE=0
28 while [ x$1 = x-v ] ; do
29     shift
30     VERBOSE=`expr $VERBOSE + 1`
31 done
32 export VERBOSE
33
34 if [ x$1 = x--help ] ; then
35     echo "Usage: mkheaders [options] [prefix [isysroot]]"
36     echo "Options:"
37     echo "  -v        Print more output (may be repeated for even more output)"
38     echo "  --help    This help"
39     echo "  --version Print version information"
40     exit 0
41 fi
42
43 if [ x$1 = x--version ] ; then
44     echo "mkheaders (GCC) version $version"
45     echo "Copyright 2002, 2007 Free Software Foundation, Inc."
46     echo "This program is free software; you may redistribute it under the"
47     echo "terms of the GNU General Public License.  This program has"
48     echo "absolutely no warranty."
49     exit 0
50 fi
51
52 # Common prefix for installation directories.
53 if [ x$1 != x ] ; then
54   prefix=$1
55   shift
56 else
57   prefix=@prefix@
58 fi
59
60 # Allow for alternate isysroot in which to find headers
61 if [ x$1 != x ] ; then
62   isysroot=$1
63   shift
64 else
65   isysroot=
66 fi
67
68 # Directory in which to put host dependent programs and libraries
69 exec_prefix=@exec_prefix@
70 # Directory in which to put the directories used by the compiler.
71 libdir=@libdir@
72 libexecdir=@libexecdir@
73 # Directory in which the compiler finds libraries, etc.
74 libsubdir=${libdir}/gcc/${target_noncanonical}/${version}
75 # Directory in which the compiler finds executables
76 libexecsubdir=${libexecdir}/gcc/${target_noncanonical}/${version}
77
78 itoolsdir=${libexecsubdir}/install-tools
79 itoolsdatadir=${libsubdir}/install-tools
80 incdir=${libsubdir}/include
81
82 . ${itoolsdatadir}/mkheaders.conf
83
84 cd ${itoolsdir}
85 rm -rf ${incdir}/*
86
87 if [ x${STMP_FIXINC} != x ] ; then
88         TARGET_MACHINE="${target}" target_canonical="${target}" \
89             MACRO_LIST="${itoolsdatadir}/macro_list" \
90             @SHELL@ ./fixinc.sh ${incdir} \
91             ${isysroot}${SYSTEM_HEADER_DIR} ${OTHER_FIXINCLUDES_DIRS}
92         rm -f ${incdir}/syslimits.h
93         if [ -f ${incdir}/limits.h ]; then
94           mv ${incdir}/limits.h ${incdir}/syslimits.h
95         else
96           cp ${itoolsdatadir}/gsyslimits.h ${incdir}/syslimits.h
97         fi
98 fi
99
100 cp ${itoolsdatadir}/include/* ${incdir}
101
102 if [ x${STMP_FIXPROTO} != x ] ; then
103   mkinstalldirs="@SHELL@ ${itoolsdir}/mkinstalldirs"
104   export FIXPROTO_DEFINES mkinstalldirs
105   @SHELL@ fixproto ${incdir} ${incdir} ${isysroot}${SYSTEM_HEADER_DIR} || exit 1
106 fi