summaryrefslogtreecommitdiff
path: root/gcc/fixinc/mkfixinc.sh
blob: 16e8624655ebe17bd27b0c73ffbc31b283240eb8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
#! /bin/sh

build=$1
machine=$2

if [ -z "$build" ]
then
	echo No target system name given
	exit 1
fi

#  If we don't get two arguments, then assume both arguments
#  are the same
#
if [ -z "$machine" ]
then
	machine="$build"
fi

target=../fixinc.sh

echo constructing ${target} for $machine to run on $build
fixincludes="${machine}"

# Choose fix build method by build system
case $build in
	i?86-*-msdosdjgpp* )
		MAKE="${MAKE} -f ${srcdir}/Makefile.DOS srcdir=${srcdir}"
		;;

	*-*-beos* )
		MAKE="${MAKE} -f ${srcdir}/Makefile.BEOS srcdir=${srcdir}"
		# Remove the following line to enable fixincludes
		# (Makefile.BEOS is empty until Monday 12/4/00 :)
		fixincludes=
		;;

	* )
		MAKE="${MAKE} -f Makefile"
		;;
esac

# Check for special fix rules for particular targets
case $machine in
	*-*-sysv4* | \
	i?86-*-sysv5* | \
	i?86-*-udk*)
		fixincludes=fixinc.svr4
		;;

	i?86-*-interix* | \
	alpha-*-interix*)
		fixincludes=fixinc.interix
		;;

	*-*-netbsd* | \
	i?86-*-openbsd*)
		fixincludes=fixinc.wrap
		;;

	alpha*-*-winnt* | \
	i?86-*-winnt3*)
		fixincludes=fixinc.winnt
		;;

	i?86-sequent-ptx* | i?86-sequent-sysv[34]*)
		fixincludes=fixinc.ptx
		;;

	alpha*-dec-vms* | \
	arm-semi-aout | armel-semi-aout | \
	arm-semi-aof | armel-semi-aof | \
	arm-*-gnu* | \
	c*-convex-* | \
	hppa1.1-*-osf* | \
	hppa1.0-*-osf* | \
	hppa1.1-*-bsd* | \
	hppa1.0-*-bsd* | \
	hppa*-*-lites* | \
	*-*-gnu* | \
	i?86-moss-msdos* | i?86-*-moss* | \
	i?86-*-osf1* | \
	i?86-*-win32 | \
	i?86-*-pe | i?86-*-cygwin* | \
	i?86-*-mingw32* | \
	i?86-*-uwin* | \
	mips-sgi-irix5cross64 | \
	powerpc-*-eabiaix* | \
	powerpc-*-eabisim* | \
	powerpc-*-eabi*    | \
	powerpc-*-rtems*   | \
	powerpcle-*-eabisim* | \
	powerpcle-*-eabi*  | \
        powerpcle-*-winnt* | \
	powerpcle-*-pe | powerpcle-*-cygwin* | \
	thumb-*-coff* | thumbel-*-coff* )
		fixincludes=
		;;
esac

#  IF there is no include fixing,
#  THEN create a no-op fixer and exit
#
if test -z "$fixincludes"
then
    (echo "#! /bin/sh" ; echo "exit 0" ) > ${target}
    chmod 755 ${target}
    exit 0
fi

#  IF the fixer is supplied in our source directory,
#  THEN copy that into place
#
if test -f ${srcdir}/"${fixincludes}"
then
    echo copying ${srcdir}/$fixincludes to ${target}
    cp ${srcdir}/$fixincludes ${target}
    chmod 755 ${target}
    exit 0
fi

#  OK.  We gotta make the thing.
#  make and install either the binary or the default script

defs="SHELL=\"$SHELL\" CC=\"$CC\" CFLAGS=\"$CFLAGS\" LDFLAGS=\"$LDFLAGS\""
cmd="$MAKE ${defs} install-bin"
echo $cmd
eval $cmd