Hello Martin,

On Tuesday 03 of February 2015 16:49:44 Martin Galvan wrote:
> Hello Pavel! I'm writing you about the RTEMS support on the TMS570. Last
> time we spoke I mentioned a bug on printf which caused the system to hang
> when trying to print a two-digit decimal numer (e.g. 42). We've been trying
> out a number of solutions but so far we haven't succeeded. We were using a
> toolchain generated by the RTEMS Source Builder. However, we noticed that
> the bug seems to disappear if we use the toolchain you posted here:
>
> https://rtime.felk.cvut.cz/debian/pool/main/b/binutils-2.24/
> https://rtime.felk.cvut.cz/debian/pool/main/g/gcc-4.9.0/
>
> As those are .deb packages, however, we have no way to know which version
> of the sources you used or how did you configure them. Running
> arm-rtems4.11-gcc -v gives us the following output:

My latest builds versions are available there

https://rtime.felk.cvut.cz/debian/pool/main/b/binutils-2.24/
https://rtime.felk.cvut.cz/debian/pool/main/g/gcc-4.9.2/

I prepare these mainly for internal purpose to help students to start-up
projects. But I would be happy if we find where is problem with
other builds and I can re-pack my sources for others as well.

I have followed Newlib development and proposed required multilib
combinations then I followed Sebastian Huber's development and
I has been convinced that all required changes has been push
to project mainlines.

My binutils setup 

Sources binutils-2.24, no patches

Configure

CFLAGS=-O2 LDFLAGS=-s \
../../../binutils/configure \
--build=x86_64-pc-linux-gnu  \
--target=arm-rtems4.11 \
--with-gnu-ld --exec-prefix=/usr --prefix=/usr \
--verbose --disable-nls \
--disable-win32-registry \
--disable-werror \
--with-mmap --enable-64-bit-bfd \

The latest GCC setup

Sources gcc-4.9.2, no patches

Next components are linked into GCC source tree

  gmp -> ../gmp-5.1.3
  mpc -> ../mpc-1.0.2
  mpfr -> ../mpfr-3.1.2
  newlib -> ../newlib-2.1-141030/newlib

No patches are applied in any of these projects but plain 
Newlib 2.1 is insufficient, more changes has been applied
to mainline to resolve some issues when incorrect opcodes
leaked to the Cortex-R build etc. The exact last commit
of the snapshot I have used is

  git://sourceware.org/git/newlib.git

  commit 9b9f839addfe16ab0fd11f09a30a28139bfae6d5
  Author: jturney <jturney>
  Date:   Thu Oct 30 11:25:16 2014 +0000

    2014-10-29  Jon Turney  <jon.tur...@dronecode.org.uk>

            * libc/include/string.h: Correct guard for strcasecmp().


The GCC configure used is there

CFLAGS="-O2 -pipe" LDFLAGS=-s \
../../../src/gcc-4.9/configure --target=arm-rtems4.11 --prefix=/usr \
             --build=x86_64-pc-linux-gnu  \
             --enable-languages=c,c++ \
             --disable-libstdcxx-pch \
             --with-gnu-ld \
             --with-gnu-as \
             --enable-threads \
             --enable-target-optspace \
             --with-system-zlib \
             --verbose \
             --disable-nls --without-included-gettext \
             --disable-win32-registry \
             --with-newlib \
             --enable-plugin \
             --enable-newlib-io-c99-formats \
             --enable-version-specific-runtime-libs \
             --enable-newlib-iconv \
             --disable-lto \


As you can see, I compile all stuff out of source directories to keep single 
clean source trees for all builds. Build is achieved by simple "make"
command after configure.

The only modification to standard install mechanism is hack to automatically
prepare directory for DEB package build without need to manually define 
versions etc. When respective attached script is run in binutils, gcc, gdb
build directory it runs install with DESTDIR set to /usr/local/pkg and then
retrieves required information about target, version etc from configure status
files leaved in the build directory. Scripts then prepares Debian package
control file from retrieved information so running next sequence in
/usr/local/pkg builds Debian packages

for i in * ; do
  if [ -d $i ] ; then
    chown root:root -R $i
    chmod a-s -R $i
    dpkg -b $i
  fi
done

The code of the my_XXXarch_install scripts ensures that most of files
which would collide with standard distribution parkages are deleted.
There is some rearrangement of binaries locations as well.
It is mostly for historical reasons but idea is that I can have
multiple full GCC versions installed in

   /usr/arm-rtems4.11/gcc/4.9.0
   /usr/arm-rtems4.11/gcc/4.9.1
   /usr/arm-rtems4.11/gcc/4.9.2

and only change required to test with other version is to redirect
link

   /usr/arm-rtems4.11/gcc/current

to the right version subdirectory.

But usual "make install" in the build directory should work same way
but you lost control a little what and where has been installed.

My scripts could work with allmost each autoconf based package
after little tweaking.

Please, try to build tools from the same packages versions.
If it works, try to build and test latest availabe versions.
If there is problem with your builds, try compile test with my binaries.
If you have problems then readelf or arm-rtems4.11-objdump is quite helpfull
to search for object files ARM features attributes to find if some
part of newlib is build for incorrect CPU variant. The TMS570 Cortex-R
uses one of following wariants

   /usr/arm-rtems4.11/lib/eb/thumb/armv7-r
   /usr/arm-rtems4.11/lib/eb/thumb/armv7-r/vfpv3-d16/hard

Best wishes,

              Pavel

PS: the exam term period is over and I hope that my student finds time
    to push TMS570 forward a little or more now

#!/bin/bash

BUILD_DIR=`pwd`
PACKAGE_TYPE=debian
PACKAGES_DIR=/usr/local/pkg
PACKAGE_NAME=binutils
PACKAGE_REVISION=1

if [ $# -ge 1 ] ; then
  PACKAGE_REVISION=$1
fi

cd ${BUILD_DIR}

TARGET_ARCH=$( sed -n -e 's/^.*--target=\([^ ]*\) .*$/\1/p' config.status )
TARGET_ARCH=$( echo "$TARGET_ARCH" | head -n 1 )

CONF_VARS="VERSION prefix exec_prefix host_alias host_cpu target_alias"
CONF_VARS="$CONF_VARS bindir sbindir libdir libexecdir includedir datadir infodir mandir"

for i in ${CONF_VARS} ; do
  export ${i}=`sed -n -e "s/^S\[\"${i}\"\]=\(.*\)/\1/p" ${PACKAGE_NAME}/config.status`
  if [ -z "${!i}" ] ; then
    export ${i}=`sed -n -e "s/^s%@${i}@%\([^ ]*\)%.*\$/\1/p" ${PACKAGE_NAME}/config.status`
    if [ -z "${!i}" ] ; then
      export ${i}=`sed -n -e "s/^s,@${i}@,\([^ ]*\),.*\$/\1/p" ${PACKAGE_NAME}/config.status`
    fi
  fi
done

for i in ${CONF_VARS} ; do
  export ${i}=`eval echo -n "${!i}"`
done

echo "Prepearation of ${PACKAGE_NAME}-${VERSION} package for architecture ${TARGET_ARCH}"
echo "Target alias=${target_alias} , host alias=${host_alias}, host cpu=${host_cpu}"
echo "Prefix=${prefix}, exec prefix=${exec_prefix} bindir=${bindir} libdir=${libdir}"

case ${PACKAGE_TYPE} in
  "debian" )
    case ${host_cpu} in
      x86_64 )
        debian_arch=amd64
        ;;
      i[3456]86 )
        debian_arch=i386
        ;;
      * )
        debian_arch=${host_cpu}
        ;;
    esac
    PACKAGE_DIR=${PACKAGES_DIR}/${PACKAGE_NAME}-${target_alias}_${VERSION}-${PACKAGE_REVISION}_${debian_arch}
    ;;
  * )
    PACKAGE_DIR=${PACKAGES_DIR}/${PACKAGE_NAME}-${target_alias}-${VERSION}-${host_cpu}-${PACKAGE_REVISION}
    ;;
esac


echo rm -rf ${PACKAGE_DIR}/*
rm -rf ${PACKAGE_DIR}

echo mkdir -p ${PACKAGE_DIR}
mkdir -p ${PACKAGE_DIR}

echo make DESTDIR=${PACKAGE_DIR} install
make DESTDIR=${PACKAGE_DIR} install
if [ $? -ne 0 ] ; then
  exit 1
fi

BIN_DIR=${PACKAGE_DIR}/${bindir}
LIB_DIR=${PACKAGE_DIR}/${libdir}
INFO_DIR=${PACKAGE_DIR}/${infodir}
MAN_DIR=${PACKAGE_DIR}/${mandir}

ARCH_DIR=${PACKAGE_DIR}/${prefix}/${target_alias}
ARCH_BIN_DIR=${ARCH_DIR}/bin
ARCH_LIB_DIR=${ARCH_DIR}/lib

for i in ${BIN_DIR}/* ; do
  if [ ! -f $i ] ; then continue ; fi
  if [ -h $i ] ; then continue ; fi
  i=`basename $i`
  case "$i" in 
    ${target_alias}-*)
      f=`echo "$i" | sed "s/${target_alias}-//g"`
      ;;
    *)
      f=$i
      ;;
  esac
  echo "mv ${BIN_DIR}/$i ${ARCH_BIN_DIR}/$f"
  mv ${BIN_DIR}/$i ${ARCH_BIN_DIR}/$f
  rm -f ${BIN_DIR}/$i
  echo "( cd ${BIN_DIR} ; ln -s ../${target_alias}/bin/$f $i ; )"
  ( cd ${BIN_DIR} ; ln -s ../${target_alias}/bin/$f $i ; )
done

echo Compress doc
( cd ${INFO_DIR} ; gzip *.info* ; )
for i in man1 man2 man3 man4 man5 man6 man7 man8 ; do
  d=${MAN_DIR}/$i
  if [ ! -d $d ] ; then continue ; fi
  ( cd $d ; gzip *.[0-9] ; )
done

case ${PACKAGE_TYPE} in
  "debian" )
    mkdir -p ${PACKAGE_DIR}/DEBIAN
    echo "Package: ${PACKAGE_NAME}-${target_alias}" >${PACKAGE_DIR}/DEBIAN/control
    echo "Version: ${VERSION}-${PACKAGE_REVISION}" >>${PACKAGE_DIR}/DEBIAN/control
    echo "Architecture: ${debian_arch}" >>${PACKAGE_DIR}/DEBIAN/control
    echo "Source: ${PACKAGE_NAME}-${VERSION}" >>${PACKAGE_DIR}/DEBIAN/control
    echo "Section: cross-dev" >>${PACKAGE_DIR}/DEBIAN/control
    echo "Priority: extra" >>${PACKAGE_DIR}/DEBIAN/control
    echo "Maintainer: Pavel Pisa <p...@cmp.felk.cvut.cz>" >>${PACKAGE_DIR}/DEBIAN/control
    echo "Description: ${PACKAGE_NAME} for target ${target_alias}" >>${PACKAGE_DIR}/DEBIAN/control
    echo " ." >>${PACKAGE_DIR}/DEBIAN/control
    echo " ${PACKAGE_NAME} targetting ${target_alias}" >>${PACKAGE_DIR}/DEBIAN/control
    if [ "${host_alias}" != "${target_alias}" ] ; then
      echo "rm -rf ${INFO_DIR} ${MAN_DIR} ${LIB_DIR}/libiberty*"
      rm -rf "${INFO_DIR}" "${MAN_DIR}" "${LIB_DIR}/libiberty"*
    fi
    ;;
esac
#!/bin/bash

BUILD_DIR=`pwd`
PACKAGE_TYPE=debian
PACKAGES_DIR=/usr/local/pkg
PACKAGE_NAME=gdb
PACKAGE_REVISION=1

if [ $# -ge 1 ] ; then
  PACKAGE_REVISION=$1
fi

cd ${BUILD_DIR}

TARGET_ARCH=$( sed -n -e 's/^.*--target=\([^ ]*\) .*$/\1/p' config.status )
TARGET_ARCH=$( echo "$TARGET_ARCH" | head -n 1 )

CONF_VARS="VERSION prefix exec_prefix host_alias host_cpu target_alias"
CONF_VARS="$CONF_VARS bindir sbindir libdir libexecdir includedir datadir infodir mandir"

for i in ${CONF_VARS} ; do
  export ${i}=`sed -n -e "s/^S\[\"${i}\"\]=\(.*\)/\1/p" ${PACKAGE_NAME}/config.status`
  if [ -z "${!i}" ] ; then
    export ${i}=`sed -n -e "s/^s%@${i}@%\([^ ]*\)%.*\$/\1/p" ${PACKAGE_NAME}/config.status`
    if [ -z "${!i}" ] ; then
      export ${i}=`sed -n -e "s/^s,@${i}@,\([^ ]*\),.*\$/\1/p" ${PACKAGE_NAME}/config.status`
    fi
  fi
done

for i in ${CONF_VARS} ; do
  export ${i}=`eval echo -n "${!i}"`
done

if [ ${VERSION} = "UNUSED-VERSION" ] ; then
  VERSION=`sed -n -e 's/^.*version[^a-zA-Z=]*= "\([^"]*\)" *;*$/\1/p' ${PACKAGE_NAME}/version.c`
fi

echo "Prepearation of ${PACKAGE_NAME}-${VERSION} package for architecture ${TARGET_ARCH}"
echo "Target alias=${target_alias} , host alias=${host_alias}, host cpu=${host_cpu}"
echo "Prefix=${prefix}, exec prefix=${exec_prefix} bindir=${bindir} libdir=${libdir}"

case ${PACKAGE_TYPE} in
  "debian" )
    case ${host_cpu} in
      x86_64 )
        debian_arch=amd64
        ;;
      i[3456]86 )
        debian_arch=i386
        ;;
      * )
        debian_arch=${host_cpu}
        ;;
    esac
    PACKAGE_DIR=${PACKAGES_DIR}/${PACKAGE_NAME}-${target_alias}_${VERSION}-${PACKAGE_REVISION}_${debian_arch}
    ;;
  * )
    PACKAGE_DIR=${PACKAGES_DIR}/${PACKAGE_NAME}-${target_alias}-${VERSION}-${host_cpu}-${PACKAGE_REVISION}
    ;;
esac


echo rm -rf ${PACKAGE_DIR}/*
rm -rf ${PACKAGE_DIR}

echo mkdir -p ${PACKAGE_DIR}
mkdir -p ${PACKAGE_DIR}

echo make DESTDIR=${PACKAGE_DIR} install
make DESTDIR=${PACKAGE_DIR} install
if [ $? -ne 0 ] ; then
  exit 1
fi

BIN_DIR=${PACKAGE_DIR}/${bindir}
LIB_DIR=${PACKAGE_DIR}/${libdir}
INFO_DIR=${PACKAGE_DIR}/${infodir}
MAN_DIR=${PACKAGE_DIR}/${mandir}

ARCH_DIR=${PACKAGE_DIR}/${prefix}/${target_alias}
ARCH_BIN_DIR=${ARCH_DIR}/bin
ARCH_LIB_DIR=${ARCH_DIR}/lib

mkdir -p ${ARCH_BIN_DIR}

for i in ${BIN_DIR}/* ; do
  if [ ! -f $i ] ; then continue ; fi
  if [ -h $i ] ; then continue ; fi
  i=`basename $i`
  case "$i" in 
    ${target_alias}-*)
      f=`echo "$i" | sed "s/${target_alias}-//g"`
      ;;
    *)
      f=$i
      ;;
  esac
  echo "mv ${BIN_DIR}/$i ${ARCH_BIN_DIR}/$f"
  mv ${BIN_DIR}/$i ${ARCH_BIN_DIR}/$f
  rm -f ${BIN_DIR}/$i
  echo "( cd ${BIN_DIR} ; ln -s ../${target_alias}/bin/$f $i ; )"
  ( cd ${BIN_DIR} ; ln -s ../${target_alias}/bin/$f $i ; )
done

echo Compress doc
( cd ${INFO_DIR} ; gzip *.info* ; )
for i in man1 man2 man3 man4 man5 man6 man7 man8 ; do
  d=${MAN_DIR}/$i
  if [ ! -d $d ] ; then continue ; fi
  ( cd $d ; gzip *.[0-9] ; )
done

case ${PACKAGE_TYPE} in
  "debian" )
    mkdir -p ${PACKAGE_DIR}/DEBIAN
    echo "Package: ${PACKAGE_NAME}-${target_alias}" >${PACKAGE_DIR}/DEBIAN/control
    echo "Version: ${VERSION}-${PACKAGE_REVISION}" >>${PACKAGE_DIR}/DEBIAN/control
    echo "Architecture: ${debian_arch}" >>${PACKAGE_DIR}/DEBIAN/control
    echo "Source: ${PACKAGE_NAME}-${VERSION}" >>${PACKAGE_DIR}/DEBIAN/control
    echo "Section: cross-dev" >>${PACKAGE_DIR}/DEBIAN/control
    echo "Priority: extra" >>${PACKAGE_DIR}/DEBIAN/control
    echo "Maintainer: Pavel Pisa <p...@cmp.felk.cvut.cz>" >>${PACKAGE_DIR}/DEBIAN/control
    echo "Description: ${PACKAGE_NAME} for target ${target_alias}" >>${PACKAGE_DIR}/DEBIAN/control
    echo " ." >>${PACKAGE_DIR}/DEBIAN/control
    echo " ${PACKAGE_NAME} targetting ${target_alias}" >>${PACKAGE_DIR}/DEBIAN/control
    if [ "${host_alias}" != "${target_alias}" ] ; then
      echo "rm -rf ${INFO_DIR} ${MAN_DIR} ${LIB_DIR}/libiberty*"
      rm -rf "${INFO_DIR}" "${MAN_DIR}" "${LIB_DIR}/libiberty"*
    fi
    ;;
esac
#!/bin/bash

BUILD_DIR=`pwd`
PACKAGE_TYPE=debian
PACKAGES_DIR=/usr/local/pkg
PACKAGE_REVISION=1

if [ $# -ge 1 ] ; then
  PACKAGE_REVISION=$1
fi

cd ${BUILD_DIR}

if [ -d stage3-gcc ] ; then
  GCC_CONFIG_STATUS_DIR=stage3-gcc
else
  if [ -d gcc ] ; then
    GCC_CONFIG_STATUS_DIR=gcc
  else
    echo Probably not in GCC build directory, no gcc or stage3-gcc there
    exit 1
  fi
fi

TARGET_ARCH=$( sed -n -e 's/^.*--target=\([^ ]*\) .*$/\1/p' config.status )
TARGET_ARCH=$( echo "$TARGET_ARCH" | head -n 1 )

CONF_VARS="VERSION gcc_version prefix exec_prefix host_alias host_cpu target_alias srcdir"
CONF_VARS="$CONF_VARS bindir sbindir libdir libexecdir includedir datadir infodir mandir datarootdir"

# S["exec_prefix"]="${prefix}"
# s,@target_alias@,arm-rtems4.10,;t t

for i in ${CONF_VARS} ; do
  export ${i}=`sed -n -e "s/^s%@${i}@%\([^ ]*\)%.*\$/\1/p" $GCC_CONFIG_STATUS_DIR/config.status | head -n 1`
  if [ -z "${!i}" ] ; then
    export ${i}=`sed -n -e "s/^s,@${i}@,\([^ ]*\),.*\$/\1/p" $GCC_CONFIG_STATUS_DIR/config.status | head -n 1`
    if [ -z "${!i}" ] ; then
      export ${i}=`sed -n -e "s/^S\[\"${i}\"\]=\"\([^ ]*\)\"\$/\1/p" $GCC_CONFIG_STATUS_DIR/config.status | head -n 1`
    fi
  fi
done

for i in ${CONF_VARS} ; do
  export ${i}=`eval echo -n "${!i}"`
done

for i in ${CONF_VARS} ; do
  export ${i}=`eval echo -n "${!i}"`
done

GCC_SRC_DIR=$(cd $GCC_CONFIG_STATUS_DIR && cd $srcdir && pwd)

if [ -z "$VERSION" ] ; then
  VERSION="$(cat $GCC_SRC_DIR/BASE-VER )"
fi

if [ -z "$gcc_version" ] ; then
  gcc_version="$VERSION"
fi

echo "Prepearation of GCC-${VERSION} package for architecture ${TARGET_ARCH}"
echo "Target alias=${target_alias} , host alias=${host_alias}, host cpu=${host_cpu}"
echo "prefix=${prefix}, exec_prefix=${exec_prefix} bindir=${bindir} libdir=${libdir}"

case ${PACKAGE_TYPE} in
  "debian" )
    case ${host_cpu} in
      x86_64 )
        debian_arch=amd64
        ;;
      i[3456]86 )
        debian_arch=i386
        ;;
      * )
        debian_arch=${host_cpu}
        ;;
    esac
    PACKAGE_DIR=${PACKAGES_DIR}/gcc-${target_alias}_${gcc_version}-${PACKAGE_REVISION}_${debian_arch}
    ;;
  * )
    PACKAGE_DIR=${PACKAGES_DIR}/gcc-${target_alias}-${gcc_version}-${host_cpu}-${PACKAGE_REVISION}
    ;;
esac

echo rm -rf ${PACKAGE_DIR}/*
rm -rf ${PACKAGE_DIR}

echo mkdir -p ${PACKAGE_DIR}
mkdir -p ${PACKAGE_DIR}

echo make DESTDIR=${PACKAGE_DIR} install
make DESTDIR=${PACKAGE_DIR} install
if [ $? -ne 0 ] ; then
  exit 1
fi

BIN_DIR=${PACKAGE_DIR}/${bindir}
LIB_DIR=${PACKAGE_DIR}/${libdir}
LIBEXEC_DIR=${PACKAGE_DIR}/${libexecdir}
INCLUDE_DIR=${PACKAGE_DIR}/${includedir}
DATA_DIR=${PACKAGE_DIR}/${datadir}
INFO_DIR=${PACKAGE_DIR}/${infodir}
MAN_DIR=${PACKAGE_DIR}/${mandir}
#GCC_LIB_DIR=${LIB_DIR}/gcc-lib/${target_alias}/${gcc_version}
ARCH_DIR=${PACKAGE_DIR}/${prefix}/${target_alias}
ARCH_GCC_DIR=${ARCH_DIR}/gcc/${gcc_version}


echo mkdir -p ${ARCH_GCC_DIR}
mkdir -p ${ARCH_GCC_DIR}

echo "( cd ${ARCH_GCC_DIR}/.. ; rm -f current ; ln -s ${gcc_version} current ; )"
( cd ${ARCH_GCC_DIR}/.. ; rm -f current ; ln -s ${gcc_version} current ; )

echo mv -p ${LIB_DIR}/gcc/${target_alias}/${gcc_version} ${ARCH_GCC_DIR}/lib
mv ${LIB_DIR}/gcc/${target_alias}/${gcc_version} ${ARCH_GCC_DIR}/lib

echo "( cd ${LIB_DIR}/gcc/${target_alias} ; ln -s ../../../${target_alias}/gcc/${gcc_version}/lib ${gcc_version} ; )"
( cd ${LIB_DIR}/gcc/${target_alias} ; ln -s ../../../${target_alias}/gcc/${gcc_version}/lib ${gcc_version} ; )

echo mv -p ${LIBEXEC_DIR}/gcc/${target_alias}/${gcc_version} ${ARCH_GCC_DIR}/libexec
mv ${LIBEXEC_DIR}/gcc/${target_alias}/${gcc_version} ${ARCH_GCC_DIR}/libexec

echo "( cd ${LIBEXEC_DIR}/gcc/${target_alias} ; ln -s ../../../${target_alias}/gcc/${gcc_version}/libexec ${gcc_version} ; )"
( cd ${LIBEXEC_DIR}/gcc/${target_alias} ; ln -s ../../../${target_alias}/gcc/${gcc_version}/libexec ${gcc_version} ; )

echo mkdir -p ${ARCH_GCC_DIR}/bin
mkdir -p ${ARCH_GCC_DIR}/bin

for i in ${BIN_DIR}/* ; do
  if [ ! -f $i ] ; then continue ; fi
  if [ -h $i ] ; then continue ; fi
  i=`basename $i`
  case "$i" in 
    ${target_alias}-*-${gcc_version})
      f=`echo "$i" | sed "s/${target_alias}-\(.*\)-${gcc_version}/\1/g"`
      echo "( cd ${BIN_DIR} ; rm $i ; ln -s ../${target_alias}/gcc/${gcc_version}/bin/$f $i ; )"
      ( cd ${BIN_DIR} ; rm $i ; ln -s ../${target_alias}/gcc/${gcc_version}/bin/$f $i ; )
      continue
      ;;
    ${target_alias}-*)
      f=`echo "$i" | sed "s/${target_alias}-//g"`
      ;;
    *)
      f=$i
      ;;
  esac
  echo "mv ${BIN_DIR}/$i ${ARCH_GCC_DIR}/bin/$f"
  mv ${BIN_DIR}/$i ${ARCH_GCC_DIR}/bin/$f
  echo "( cd ${BIN_DIR} ; ln -s ../${target_alias}/gcc/current/bin/$f $i ; )"
  ( cd ${BIN_DIR} ; ln -s ../${target_alias}/gcc/current/bin/$f $i ; )
done

echo "( cd ${ARCH_GCC_DIR}/lib && ln -s ../../../../lib/gcc . )"
( cd ${ARCH_GCC_DIR}/lib && ln -s ../../../../lib/gcc . )

if [ -e ${ARCH_GCC_DIR}/libexec ] ; then
  echo "( cd ${ARCH_GCC_DIR}/libexec && ln -s ../../../../libexec/gcc . )"
  ( cd ${ARCH_GCC_DIR}/libexec && ln -s ../../../../libexec/gcc . )
fi

echo Compress doc
( cd ${INFO_DIR} ; gzip *.info* ; )
for i in man1 man2 man3 man4 man5 man6 man7 man8 ; do
  d=${MAN_DIR}/$i
  if [ ! -d $d ] ; then continue ; fi
  ( cd $d ; gzip *.[0-9] ; )
done


case ${PACKAGE_TYPE} in
  "debian" )
    mkdir -p ${PACKAGE_DIR}/DEBIAN
    echo "Package: gcc-${target_alias}" >${PACKAGE_DIR}/DEBIAN/control
    echo "Version: ${gcc_version}-${PACKAGE_REVISION}" >>${PACKAGE_DIR}/DEBIAN/control
    echo "Architecture: ${debian_arch}" >>${PACKAGE_DIR}/DEBIAN/control
    echo "Source: gcc-${gcc_version}" >>${PACKAGE_DIR}/DEBIAN/control
    echo "Section: cross-dev" >>${PACKAGE_DIR}/DEBIAN/control
    echo "Priority: extra" >>${PACKAGE_DIR}/DEBIAN/control
    echo "Maintainer: Pavel Pisa <p...@cmp.felk.cvut.cz>" >>${PACKAGE_DIR}/DEBIAN/control
    echo "Description: GCC for target ${target_alias}" >>${PACKAGE_DIR}/DEBIAN/control
    echo " ." >>${PACKAGE_DIR}/DEBIAN/control
    echo " GNU GCC targetting ${target_alias}" >>${PACKAGE_DIR}/DEBIAN/control
    if [ "${host_alias}" != "${target_alias}" ] ; then
      echo "rm -rf ${INFO_DIR} ${MAN_DIR} ${LIB_DIR}/libiberty*"
      rm -rf "${INFO_DIR}" "${MAN_DIR}" "${LIB_DIR}/libiberty"*
      echo "rmdir --ignore-fail-on-non-empty ${INCLUDE_DIR}"
      rmdir --ignore-fail-on-non-empty "${INCLUDE_DIR}"
      echo "rmdir --ignore-fail-on-non-empty ${DATA_DIR}"
      rmdir --ignore-fail-on-non-empty "${DATA_DIR}"
    fi
    ;;
esac
_______________________________________________
devel mailing list
devel@rtems.org
http://lists.rtems.org/mailman/listinfo/devel

Reply via email to