#! /bin/sh
-machine=$1
-if [ -z "$machine" ]
+if [ $# -ne 2 ]
then
- echo No machine name given
- exit 1
+ echo "Usage: $0 <build-mach-triplet> <target-mach-triplet>"
+ exit 1
fi
+build=$1
+machine=$2
target=../fixinc.sh
-echo constructing ${target} for $machine
-fixincludes="${target}"
+echo constructing ${target} for $machine to run on $build
+fixincludes="${machine}"
-case $machine in
- *-*-gnu*)
- fixincludes=
- ;;
-
- *-*-sysv4*)
- fixincludes=fixinc.svr4
- ;;
-
- mips-dec-bsd*)
- :
- ;;
-
- i[34567]86-*-sysv5* | \
- i[34567]86-*-udk* | \
- i[34567]86-*-solaris2.[0-4] | \
- powerpcle-*-solaris2.[0-4] | \
- sparc-*-solaris2.[0-4] )
- fixincludes=fixinc.svr4
- ;;
-
- *-*-netbsd* | \
- alpha*-*-linux-gnulibc1* | \
- i[34567]86-*-freebsd* | \
- i[34567]86-*-netbsd* | i[34567]86-*-openbsd* | \
- i[34567]86-*-solaris2* | \
- sparcv9-*-solaris2* | \
- powerpcle-*-solaris2* | \
- sparc-*-solaris2* )
- fixincludes=fixinc.wrap
- ;;
-
- alpha*-*-winnt* | \
- i[34567]86-*-winnt3*)
- fixincludes=fixinc.winnt
- ;;
-
- i[34567]86-sequent-ptx* | i[34567]86-sequent-sysv[34]*)
- fixincludes=fixinc.ptx
- ;;
-
- i[34567]86-dg-dgux* | \
- m88k-dg-dgux*)
- fixincludes=fixinc.dgux
- ;;
-
- i[34567]86-*-sco3.2v5* | \
- i[34567]86-*-sco3.2v4*)
- fixincludes=fixinc.sco
+# Choose one or two-process fix methodology. Systems that cannot handle
+# bi-directional pipes must use the two process method.
+#
+case $build in
+ i?86-*-msdosdjgpp* | \
+ *-*-beos* )
+ MAKE="${MAKE} TARGETS=twoprocess"
+ CFLAGS="${CFLAGS} -DSEPARATE_FIX_PROC"
;;
- alpha*-*-linux-gnu* | \
- alpha*-dec-vms* | \
- arm-semi-aout | armel-semi-aout | \
- arm-semi-aof | armel-semi-aof | \
- arm-*-linux-gnuaout* | \
- c*-convex-* | \
- hppa1.1-*-osf* | \
- hppa1.0-*-osf* | \
- hppa1.1-*-bsd* | \
- hppa1.0-*-bsd* | \
- hppa*-*-lites* | \
- *-*-linux-gnu* | \
- i[34567]86-moss-msdos* | i[34567]86-*-moss* | \
- i[34567]86-*-osf1* | \
- i[34567]86-*-win32 | \
- i[34567]86-*-pe | i[34567]86-*-cygwin32 | \
- i[34567]86-*-mingw32* | \
- mips-sgi-irix5cross64 | \
- powerpc-*-eabiaix* | \
- powerpc-*-eabisim* | \
- powerpc-*-eabi* | \
- powerpc-*-rtems* | \
- powerpcle-*-eabisim* | \
- powerpcle-*-eabi* | \
- powerpcle-*-winnt* | \
- powerpcle-*-pe | powerpcle-*-cygwin32 | \
- thumb-*-coff* | thumbel-*-coff* )
- fixincludes=
+ vax-dec-bsd* )
+ CFLAGS="${CFLAGS} -Dexit=xexit -Datexit=xatexit"
+ MAKE="${MAKE} TARGETS=oneprocess"
;;
- i[34567]86-*-linux-gnulibc1 | \
- i[34567]86-*-linux-gnuaout* | \
- i[34567]86-*-linux-gnuoldld* | \
- i[34567]86-*-linux-gnu*)
- fixincludes=fixinc.x86-linux-gnu
+ * )
+ MAKE="${MAKE} TARGETS=oneprocess"
;;
+esac
- *-sgi-irix*)
- fixincludes=fixinc.irix
- ;;
+# Check for special fix rules for particular targets
+case $machine in
+ alpha*-dec-*vms* | \
+ arm-semi-aof | \
+ hppa1.1-*-osf* | \
+ hppa1.1-*-bsd* | \
+ i370-*-openedition | \
+ i?86-moss-msdos* | \
+ i?86-*-moss* | \
+ i?86-*-pe | \
+ i?86-*-cygwin* | \
+ i?86-*-mingw32* | \
+ i?86-*-uwin* | \
+ i?86-*-interix* | \
+ powerpc-*-eabiaix* | \
+ powerpc-*-eabisim* | \
+ powerpc-*-eabi* | \
+ powerpc-*-rtems* | \
+ powerpcle-*-eabisim* | \
+ powerpcle-*-eabi* )
+ # Don't do any fixing.
+ #
+ fixincludes=
+ ;;
esac
# IF there is no include fixing,
#
if test -z "$fixincludes"
then
- cat > ${target} <<- _EOF_
- #! /bin/sh
- exit 0
- _EOF_
- 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}
+ (echo "#! /bin/sh" ; echo "exit 0" ) > ${target}
+ chmod 755 ${target}
exit 0
fi
# OK. We gotta make the thing.
-#
-echo $MAKE SHELL=\"$SHELL\" install
-
# make and install either the binary or the default script
-#
-$MAKE SHELL="$SHELL" install && exit 0
-
-# Where is our inclhack script? That is the backup
-# in case we are unable to make a working binary.
-#
-if test -f ./inclhack.sh
-then
- INCLHACK=./inclhack.sh
-else
- INCLHACK=${srcdir}/inclhack.sh
-fi
-
-echo Could not install binary fixincludes.
-echo Installing shell script instead.
-cp ${INCLHACK} ${target}
+defs="SHELL=\"$SHELL\" CC=\"$CC\" CFLAGS=\"$CFLAGS\" LDFLAGS=\"$LDFLAGS\" LIBERTY=\"$LIBERTY\""
+cmd="$MAKE ${defs} install-bin"
+echo $cmd
+eval $cmd