forked from Imagelibrary/rtems
* Makefile.am, configure.ac, index.html.in, develenv/direct.t, posix_users/gen_size_report, started/nextstep.t, started_ada/buildada.t, user/conf.t, user/object.t: Remove ITRON API. * itron3.0/.cvsignore, itron3.0/Makefile.am, itron3.0/config.t, itron3.0/eventflags.t, itron3.0/fixedblock.t, itron3.0/gen_all, itron3.0/gen_section, itron3.0/gen_status_shell, itron3.0/interrupt.t, itron3.0/itron.texi, itron3.0/mailbox.t, itron3.0/memorypool.t, itron3.0/msgbuffer.t, itron3.0/network.t, itron3.0/preface.texi, itron3.0/rendezvous.t, itron3.0/semaphore.t, itron3.0/stamp-vti, itron3.0/status.t, itron3.0/task.t, itron3.0/tasksync.t, itron3.0/time.t, itron3.0/version.texi: Removed.
194 lines
5.5 KiB
Plaintext
194 lines
5.5 KiB
Plaintext
#
|
|
# Hack of a script to generate a very long list which contains
|
|
# the size information for every service listed in this manual
|
|
#
|
|
# This script must be modified by the user to tailor it for their
|
|
# environment. This is VERY ugly and could be replaced by something
|
|
# nicer in the future if this report style is useful.
|
|
#
|
|
# $Id$
|
|
#
|
|
|
|
#cpu=sparc
|
|
#bsp=erc32
|
|
|
|
#cpu=powerpc
|
|
#bsp=mcp750
|
|
|
|
cpu=v850
|
|
bsp=bare
|
|
symprefix=_
|
|
|
|
#objdir=/usr1/rtems/build/build-${cpu}-rtems/${cpu}-rtems/c/${bsp}/
|
|
#libc=/opt/rtems/${cpu}-rtems/lib/libc.a
|
|
#libm=/opt/rtems/${cpu}-rtems/lib/libm.a
|
|
objdir=/usr1/rtems/work/tools-v850/b-rtems/${cpu}-rtems/c/${bsp}/
|
|
libc=/usr2/test-v850/${cpu}-rtems/lib/libc.a
|
|
libm=/usr2/test-v850/${cpu}-rtems/lib/libm.a
|
|
srcdir=$r/src
|
|
docdir=$d
|
|
nm=${cpu}-rtems-nm
|
|
size=${cpu}-rtems-size
|
|
ar=${cpu}-rtems-ar
|
|
|
|
#
|
|
# All customization should be above this point
|
|
#
|
|
|
|
check_objs()
|
|
{
|
|
for i in *.o
|
|
do
|
|
${nm} $i | grep "T ${symprefix}${1}$" >/dev/null
|
|
if [ $? -eq 0 ] ; then
|
|
echo $i
|
|
return 0
|
|
fi
|
|
done
|
|
return 1
|
|
}
|
|
per_manager()
|
|
{
|
|
docfile=$1
|
|
shift
|
|
subdirs=$*
|
|
grep ^@item ${docfile} | grep "@code.* - " | \
|
|
grep -v "@item E" | \
|
|
grep -v "@code{CONFIGURE" | \
|
|
grep -v "@value{RPREFIX" | \
|
|
sed -e 's/@value{DIRPREFIX}/rtems_/' | \
|
|
cut -d'{' -f2 | sed -e 's/}//' | cut -d'-' -f1 >/tmp/XXX.size
|
|
|
|
if [ `wc -c </tmp/XXX.size` -eq 1 ] ; then
|
|
return
|
|
fi
|
|
echo "====> `grep ^@chapter ${docfile} | sed -e 's/@chapter //'`"
|
|
cat /tmp/XXX.size | while read line
|
|
do
|
|
# echo $line
|
|
found=no
|
|
for subd in ${subdirs}
|
|
do
|
|
if [ ${found} = "no" ] ; then
|
|
cd ${objdir}/${subd}/o-optimize/
|
|
objfile=`check_objs $line`
|
|
if [ $? -eq 0 ] ; then
|
|
found=yes
|
|
#echo ${objfile}
|
|
objcode=`${size} ${objfile} | tail -1 | cut -f1`
|
|
objdata=`${size} ${objfile} | tail -1 | cut -f2`
|
|
objbss=`${size} ${objfile} | tail -1 | cut -f3`
|
|
objcode=`echo ${objcode}`
|
|
objdata=`echo ${objdata}`
|
|
objbss=`echo ${objbss}`
|
|
echo "${line} - ${objcode}, ${objdata}, ${objbss}"
|
|
fi
|
|
fi
|
|
done
|
|
if [ ${found} = "no" ] ; then
|
|
echo "$line - macro or not implemented"
|
|
fi
|
|
|
|
done
|
|
}
|
|
|
|
|
|
# extract libc
|
|
if [ ! -d ${objdir}/newlib_extract/o-optimize ] ; then
|
|
mkdir -p ${objdir}/newlib_extract/o-optimize
|
|
cd ${objdir}/newlib_extract/o-optimize
|
|
list=`${ar} t ${libc}`
|
|
for i in $list
|
|
do
|
|
${ar} x ${libc} ${i}
|
|
done
|
|
fi
|
|
|
|
# extract libm
|
|
if [ ! -d ${objdir}/libm_extract/o-optimize ] ; then
|
|
mkdir -p ${objdir}/libm_extract/o-optimize
|
|
cd ${objdir}/libm_extract/o-optimize
|
|
list=`${ar} t ${libm}`
|
|
for i in $list
|
|
do
|
|
${ar} x ${libm} ${i}
|
|
done
|
|
fi
|
|
|
|
# grab the size of the Classic API
|
|
#
|
|
# NOTE: This API is always configured.
|
|
#
|
|
cd ${docdir}/user
|
|
echo
|
|
echo "=============================================================="
|
|
echo "=============================================================="
|
|
echo "==== ===="
|
|
echo "==== CLASSIC API SIZE INFORMATION ===="
|
|
echo "==== ===="
|
|
echo "=============================================================="
|
|
echo "=============================================================="
|
|
echo
|
|
if [ -r ${objdir}/../../../${bsp}/lib/librtems.a ] ; then
|
|
for i in *.t
|
|
do
|
|
per_manager $i exec/rtems/src exec/sapi/src lib/libc
|
|
done
|
|
else
|
|
echo "RTEMS Classic API not configured."
|
|
fi
|
|
|
|
# Grab the size of the POSIX API
|
|
cd ${docdir}/posix_users
|
|
echo
|
|
echo "=============================================================="
|
|
echo "=============================================================="
|
|
echo "==== ===="
|
|
echo "==== POSIX 1003.1b API SIZE INFORMATION ===="
|
|
echo "==== ===="
|
|
echo "=============================================================="
|
|
echo "=============================================================="
|
|
echo
|
|
if [ -r ${objdir}/../../../${bsp}/lib/libposix.a ] ; then
|
|
for i in `ls -1 *.t | grep -v libc.t | grep -v libm.t`
|
|
do
|
|
per_manager $i exec/posix/src lib/libc newlib_extract
|
|
done
|
|
else
|
|
echo "POSIX API not configured."
|
|
fi
|
|
|
|
# Grab the size of the POSIX routines provided by the C Library
|
|
cd ${docdir}/posix_users
|
|
echo
|
|
echo "=============================================================="
|
|
echo "=============================================================="
|
|
echo "==== ===="
|
|
echo "==== LIBC API SIZE INFORMATION ===="
|
|
echo "==== ===="
|
|
echo "=============================================================="
|
|
echo "=============================================================="
|
|
echo
|
|
for i in libc.t
|
|
do
|
|
per_manager $i exec/posix/src lib/libc newlib_extract
|
|
done
|
|
|
|
# Grab the size of the libm routines
|
|
cd ${docdir}/posix_users
|
|
echo
|
|
echo "=============================================================="
|
|
echo "=============================================================="
|
|
echo "==== ===="
|
|
echo "==== LIBM API SIZE INFORMATION ===="
|
|
echo "==== ===="
|
|
echo "=============================================================="
|
|
echo "=============================================================="
|
|
echo
|
|
for i in libm.t
|
|
do
|
|
per_manager $i exec/posix/src lib/libc libm_extract
|
|
done
|
|
|
|
|