Files
rtems/scripts/gcc3newlib/mkspec.in
Ralf Corsepius a3cb326702 2003-09-02 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* base-g77.add, base-gcc.add, base-gcj.add, base-gnat.add,
	target-c++.add, target-g77.add, target-gcc.add, target-gcj.add,
	target-gnat.add, target-objc.add
	Add support for %{rpmprefix}, %{rpmgroup}.
	Use %{gcc_target and %{gcc_version}.
	Remove "Provides:".
	* gccnewlib.add: Ditto.
	Correct setting up _gcj.
	Explicitly build c++filt for gcc >= 3.3.
	* mkspec.in: Add support for %{rpmprefix}, %{rpmgroup}.
2003-09-02 10:07:49 +00:00

80 lines
1.7 KiB
Bash

#!/bin/sh
#
# Usage: mkspec CPU
#
RTEMS_DIR=`dirname $0`/@top_srcdir@
CFG=../setup.cache
usage()
{
echo "$0 [options] <target_alias>"
echo " options:"
echo " -cfg <setup.cache>"
echo " -a <alternate specs.in>"
exit 1 ;
}
specsrc=${RTEMS_DIR}/gcc3newlib/gccnewlib.spec.in
while test $# -ge 2; do
case $1 in
-cfg)
shift
CFG=$1
shift
;;
-a) # alternate specs file
shift
specsrc=$1
shift
;;
-*)
echo "invalid option $1";
usage
;;
esac
done
if test ! $# -eq 1;
then
echo "Invalid number of arguments"
usage
fi
# target to build for
target_alias=$1
. ./$CFG
patchn=-1
if test -n "${gcc3_patch_version}"; then
patchn=`expr $patchn + 1`
PATCH1="Patch${patchn}: gcc-${gcc3_version}-rtems-${gcc3_patch_version}.diff"
PATCH2="%patch${patchn} -p0"
fi
if test -n "${gcc3newlib_patch_version}"; then
patchn=`expr $patchn + 1`
PATCH3="Patch${patchn}: newlib-${gcc3newlib_version}-rtems-${gcc3newlib_patch_version}.diff"
PATCH4="%patch${patchn} -p0"
fi
# note that the variables in the gcc3newlib directory are actually the same
sed -e "s,@PATCH1\@,${PATCH1}," \
-e "s,@PATCH2\@,${PATCH2}," \
-e "s,@PATCH3\@,${PATCH3}," \
-e "s,@PATCH4\@,${PATCH4}," \
-e "s%@Release\@%${gcc3newlib_rpm_release}%g" \
-e "s%@target_alias\@%${target_alias}%g" \
-e "s%@prefix\@%@prefix@%g" \
-e "s,@rpmprefix\@,@rpmprefix@,g" \
-e "s%@rpmgroup\@%@rpmgroup@%g" \
-e "s,@rpm_build_root\@,${rpm_build_root},g" \
-e "s%@gcc_version\@%${gcc3_version}%g" \
-e "s%@gcc_patch_version\@%${gcc3_patch_version}%g" \
-e "s%@newlib_version\@%${gcc3newlib_version}%g" \
-e "s%@newlib_patch_version\@%${gcc3newlib_patch_version}%g" \
< ${specsrc}