xref: /openbsd/gnu/gcc/fixincludes/mkheaders.in (revision d89ec533)
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
23target=@target@
24target_noncanonical=@target_noncanonical@
25version=@gcc_version@
26
27VERBOSE=0
28while [ x$1 = x-v ] ; do
29    shift
30    VERBOSE=`expr $VERBOSE + 1`
31done
32export VERBOSE
33
34if [ 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
41fi
42
43if [ 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
50fi
51
52# Common prefix for installation directories.
53if [ x$1 != x ] ; then
54  prefix=$1
55  shift
56else
57  prefix=@prefix@
58fi
59
60# Allow for alternate isysroot in which to find headers
61if [ x$1 != x ] ; then
62  isysroot=$1
63  shift
64else
65  isysroot=
66fi
67
68# Directory in which to put host dependent programs and libraries
69exec_prefix=@exec_prefix@
70# Directory in which to put the directories used by the compiler.
71libdir=@libdir@
72libexecdir=@libexecdir@
73# Directory in which the compiler finds libraries, etc.
74libsubdir=${libdir}/gcc/${target_noncanonical}/${version}
75# Directory in which the compiler finds executables
76libexecsubdir=${libexecdir}/gcc/${target_noncanonical}/${version}
77
78itoolsdir=${libexecsubdir}/install-tools
79itoolsdatadir=${libsubdir}/install-tools
80incdir=${libsubdir}/include
81
82. ${itoolsdatadir}/mkheaders.conf
83
84cd ${itoolsdir}
85rm -rf ${incdir}/*
86
87if [ 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
98fi
99
100cp ${itoolsdatadir}/include/* ${incdir}
101
102if [ 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
106fi
107