[gcc]
[official-gcc.git] / fixincludes / mkheaders.in
blob9109b057c536e303edd096d172373e2291928bce
1 #!/bin/sh
3 # Copyright (C) 2002, 2007, 2009 Free Software Foundation, Inc.
5 #This file is part of GCC.
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 3, or (at your option) any later
10 #version.
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.
17 #You should have received a copy of the GNU General Public License
18 #along with GCC; see the file COPYING3. If not see
19 #<http://www.gnu.org/licenses/>.
21 # Basic information
22 target=@target@
23 target_noncanonical=@target_noncanonical@
24 version=@gcc_version@
26 VERBOSE=0
27 while [ x$1 = x-v ] ; do
28 shift
29 VERBOSE=`expr $VERBOSE + 1`
30 done
31 export VERBOSE
33 if [ x$1 = x--help ] ; then
34 echo "Usage: mkheaders [options] [prefix [isysroot]]"
35 echo "Options:"
36 echo " -v Print more output (may be repeated for even more output)"
37 echo " --help This help"
38 echo " --version Print version information"
39 exit 0
42 if [ x$1 = x--version ] ; then
43 echo "mkheaders (GCC) version $version"
44 echo "Copyright 2002, 2007, 2009 Free Software Foundation, Inc."
45 echo "This program is free software; you may redistribute it under the"
46 echo "terms of the GNU General Public License. This program has"
47 echo "absolutely no warranty."
48 exit 0
51 # Common prefix for installation directories.
52 if [ x$1 != x ] ; then
53 prefix=$1
54 shift
55 else
56 prefix=@prefix@
59 # Allow for alternate isysroot in which to find headers
60 if [ x$1 != x ] ; then
61 isysroot=$1
62 shift
63 else
64 isysroot=
67 # Directory in which to put host dependent programs and libraries
68 exec_prefix=@exec_prefix@
69 # Directory in which to put the directories used by the compiler.
70 libdir=@libdir@
71 libexecdir=@libexecdir@
72 # Directory in which the compiler finds libraries, etc.
73 libsubdir=${libdir}/gcc/${target_noncanonical}/${version}
74 # Directory in which the compiler finds executables
75 libexecsubdir=${libexecdir}/gcc/${target_noncanonical}/${version}
77 itoolsdir=${libexecsubdir}/install-tools
78 itoolsdatadir=${libsubdir}/install-tools
79 incdir=${libsubdir}/include-fixed
80 mkinstalldirs="@SHELL@ ${itoolsdir}/mkinstalldirs"
82 cd ${itoolsdir}
83 rm -rf ${incdir}/*
85 for ml in `cat ${itoolsdatadir}/fixinc_list`; do
86 sysroot_headers_suffix=`echo ${ml} | sed -e 's/;.*$//'`
87 multi_dir=`echo ${ml} | sed -e 's/^[^;]*;//'`
88 subincdir=${incdir}${multi_dir}
89 . ${itoolsdatadir}/mkheaders.conf
90 if [ x${STMP_FIXINC} != x ] ; then
91 TARGET_MACHINE="${target}" target_canonical="${target}" \
92 MACRO_LIST="${itoolsdatadir}/macro_list" \
93 @SHELL@ ./fixinc.sh ${subincdir} \
94 ${isysroot}${SYSTEM_HEADER_DIR} ${OTHER_FIXINCLUDES_DIRS}
95 rm -f ${subincdir}/syslimits.h
96 if [ -f ${subincdir}/limits.h ]; then
97 mv ${subincdir}/limits.h ${subincdir}/syslimits.h
98 else
99 cp ${itoolsdatadir}/gsyslimits.h ${subincdir}/syslimits.h
103 cp ${itoolsdatadir}/include${multi_dir}/limits.h ${subincdir}
104 done