File change_spec of Package gcc41

#!/bin/bash

rm -f gcc*.spec cross*.spec cross*.changes libgcj*.spec

if [ -f gcc-mainline.changes ] ; then
  mv gcc-mainline.changes gcc.changes
fi

# Default is to generate the normal gcc package
# unless a parameter is given.  In case that it is '-*',
# that parameter will be used as suffix for the package name
# and as suffix for the install path (/opt/gccSUFFIX)
# In case that it is '[0-9]*', that parameter will be used
# as a suffix for a versioned package name.

if [ $# -lt 1 ]; then
	GCC_FOR_OPT=no
	outfile=gcc.spec
else
	case $1 in
	-*)
	  GCC_FOR_OPT=yes
	  suffix=$1
	  outfile=gcc$1.spec
	;;
	[0-9]*)
	  GCC_FOR_OPT=no
	  base_ver=$1
	  outfile=gcc$1.spec
	;;
	*)
	  exit 1
	;;
	esac
fi

if [ $GCC_FOR_OPT = yes ]; then
	sed -e 's%@gcc_suffix@%'"$suffix"'%g' \
	    -e 's$@PREFIX_FOR_OPT@$%define _prefix /opt/gcc'"$suffix"'$g' \
	    -e 's$@LIBDIR_FOR_OPT@$%define _libdir %{_prefix}/%{_lib}$g' \
	    -e 's%@GCC_FOR_OPT@%1%g' \
	    -e 's%^PreReq:.*%%g' \
	    -e 's%@variant@%%g' \
	    -e 's%@base_ver@%%g' \
	    gcc.spec.in > $outfile
	test -f gcc.changes && mv gcc.changes gcc$suffix.changes
        rm -f cross*gcc-icecream-backend.spec cross*gcc-icecream-backend.changes cross-avr-gcc.changes cross-avr-gcc.spec
else
	sed -e 's%@gcc_suffix@%%g' \
	    -e 's%@base_ver@%'$base_ver'%g' \
	    -e 's$@PREFIX_FOR_OPT@$$g' \
	    -e 's$@LIBDIR_FOR_OPT@$$g' \
	    -e 's%@GCC_FOR_OPT@%0%g' \
	    gcc.spec.in \
	| sed -n -e '{
/^# PACKAGE-BEGIN/h
/^# PACKAGE-BEGIN/,/^# PACKAGE-END/H
/^# PACKAGE-BEGIN/,/^# PACKAGE-END/!p
/^# PACKAGE-END/{g
s/@variant@//g
p
g
s/@variant@/-32bit/g
p
g
s/@variant@/-64bit/g
p
}
}' > $outfile
	echo '%define building_libjava 1' > libgcj$base_ver.spec
	echo '%define run_tests 1' >> libgcj$base_ver.spec
	sed -e '/^# LIBJAVA-DELETE-BEGIN/,/^# LIBJAVA-DELETE-END/d;s/-n libgcj@base_ver@@gcc_suffix@$//g;s/^Name:[[:space:]]*gcc/Name: libgcj/g' \
	    gcc.spec.in \
	| sed -e 's%@gcc_suffix@%%g' \
	    -e 's%@base_ver@%'$base_ver'%g' \
	    -e 's$@PREFIX_FOR_OPT@$$g' \
	    -e 's$@LIBDIR_FOR_OPT@$$g' \
	    -e 's%@GCC_FOR_OPT@%0%g' \
	| sed -n -e '{
/^# PACKAGE-BEGIN/h
/^# PACKAGE-BEGIN/,/^# PACKAGE-END/H
/^# PACKAGE-BEGIN/,/^# PACKAGE-END/!p
/^# PACKAGE-END/{g
s/@variant@//g
p
g
s/@variant@/-32bit/g
p
g
s/@variant@/-64bit/g
p
}
}' >> libgcj$base_ver.spec
fi

  ## non-icecream cross compilers.
  export outfile
  for arch in avr; do
    cross_arch=$arch sh micro-cross.spec.in > cross-$arch-gcc.spec
    test -f gcc*.changes && ln -f gcc*.changes cross-$arch-gcc.changes
  done

if [ $GCC_FOR_OPT != yes ]; then
  test -f gcc$base_ver.changes && ln -f gcc$base_ver.changes libgcj$base_ver.changes
fi
exit 0
openSUSE Build Service is sponsored by