#! /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
-echo constructing fixinc.sh for $machine
-fixincludes="../fixinc.sh"
-
-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
+build=$1
+machine=$2
+target=../fixinc.sh
+
+echo constructing ${target} for $machine to run on $build
+fixincludes="${machine}"
+
+# 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"
;;
- i[34567]86-dg-dgux* | \
- m88k-dg-dgux*)
- fixincludes=fixinc.dgux
+ vax-dec-bsd* )
+ CFLAGS="${CFLAGS} -Dexit=xexit -Datexit=xatexit"
+ MAKE="${MAKE} TARGETS=oneprocess"
;;
- i[34567]86-*-sco3.2v5* | \
- i[34567]86-*-sco3.2v4*)
- fixincludes=fixinc.sco
- ;;
-
- 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=
- ;;
-
- 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
+ i?86-*-sysv4.2uw2* )
+ ;;
+
+ *-*-sysv4* )
+ fixincludes=fixinc.svr4
+ ;;
+
+ i?86-*-interix* | \
+ alpha-*-interix*)
+ fixincludes=fixinc.interix
+ ;;
+
+ 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 | \
+ hppa1.1-*-osf* | \
+ hppa1.0-*-osf* | \
+ hppa1.1-*-bsd* | \
+ hppa1.0-*-bsd* | \
+ hppa*-*-lites* | \
+ i370-*-openedition | \
+ 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* | \
+ powerpc-*-eabiaix* | \
+ powerpc-*-eabisim* | \
+ powerpc-*-eabi* | \
+ powerpc-*-rtems* | \
+ powerpcle-*-eabisim* | \
+ powerpcle-*-eabi* | \
+ powerpcle-*-winnt* | \
+ powerpcle-*-pe | \
+ powerpcle-*-cygwin* | \
+ thumb-*-coff* | \
+ thumbel-*-coff* )
+ # Don't do any fixing.
+ #
+ fixincludes=
+ ;;
esac
+# IF there is no include fixing,
+# THEN create a no-op fixer and exit
+#
if test -z "$fixincludes"
then
- cat > ../fixinc.sh <<- _EOF_
- #! /bin/sh
- exit 0
- _EOF_
+ (echo "#! /bin/sh" ; echo "exit 0" ) > ${target}
+ chmod 755 ${target}
exit 0
fi
-if test -f "$fixincludes"
+# IF the fixer is supplied in our source directory,
+# THEN copy that into place
+#
+if test -f ${srcdir}/"${fixincludes}"
then
- echo copying $fixincludes to ../fixinc.sh
- cp $fixincludes ../fixinc.sh
+ echo copying ${srcdir}/$fixincludes to ${target}
+ cp ${srcdir}/$fixincludes ${target}
+ chmod 755 ${target}
exit 0
fi
-echo $MAKE install
-$MAKE install || cp inclhack.sh ..
+# 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