sim: gennltvals.sh: handle split out newlib source tree

Since newlib no longer shares the same repo as binutils/gdb, we have to go
searching further afield to locate the sources.  We still look at the top
level for newlib, but if that is not found, we also try up one dir outside
of this source tree.  It sucks, but better than the status quo (no workie).
This commit is contained in:
Mike Frysinger
2015-04-21 02:24:34 -04:00
parent 0bca7f99d8
commit 248d23e82b
5 changed files with 32 additions and 17 deletions

View File

@ -1,3 +1,11 @@
2015-04-21 Mike Frysinger <vapier@gentoo.org>
* cgen.sh: Add +x permissions.
* genmloop.sh: Likewise.
* gentvals.sh: Likewise.
* gennltvals.sh (newlibroot): New variable to hold the path to newlib.
Change all uses of srcroot for newlib to newlibroot.
2015-04-18 Mike Frysinger <vapier@gentoo.org> 2015-04-18 Mike Frysinger <vapier@gentoo.org>
* sim-base.h (SIM_CPU): New typedef. * sim-base.h (SIM_CPU): New typedef.

0
sim/common/cgen.sh Normal file → Executable file
View File

0
sim/common/genmloop.sh Normal file → Executable file
View File

41
sim/common/gennltvals.sh Normal file → Executable file
View File

@ -9,17 +9,24 @@ srcroot=$2
cpp=$3 cpp=$3
srccom=$srcroot/sim/common srccom=$srcroot/sim/common
if [ -d "${srcroot}/newlib" ]; then
# If newlib is manually in the same source tree, use it.
newlibroot=${srcroot}
else
# Else assume it's alongside the gdb/binutils repo.
newlibroot=${srcroot}/../newlib
fi
echo '/* Newlib/libgloss macro values needed by remote target support. */' echo '/* Newlib/libgloss macro values needed by remote target support. */'
echo '/* This file is machine generated by gennltvals.sh. */' echo '/* This file is machine generated by gennltvals.sh. */'
$shell ${srccom}/gentvals.sh "" errno ${srcroot}/newlib/libc/include \ $shell ${srccom}/gentvals.sh "" errno ${newlibroot}/newlib/libc/include \
"errno.h sys/errno.h" 'E[[:upper:][:digit:]]*' "${cpp}" "errno.h sys/errno.h" 'E[[:upper:][:digit:]]*' "${cpp}"
$shell ${srccom}/gentvals.sh "" signal ${srcroot}/newlib/libc/include \ $shell ${srccom}/gentvals.sh "" signal ${newlibroot}/newlib/libc/include \
"signal.h sys/signal.h" 'SIG[[:upper:][:digit:]]*' "${cpp}" "signal.h sys/signal.h" 'SIG[[:upper:][:digit:]]*' "${cpp}"
$shell ${srccom}/gentvals.sh "" open ${srcroot}/newlib/libc/include \ $shell ${srccom}/gentvals.sh "" open ${newlibroot}/newlib/libc/include \
"fcntl.h sys/fcntl.h sys/_default_fcntl.h" 'O_[[:upper:][:digit:]]*' "${cpp}" "fcntl.h sys/fcntl.h sys/_default_fcntl.h" 'O_[[:upper:][:digit:]]*' "${cpp}"
# Unfortunately, each newlib/libgloss port has seen fit to define their own # Unfortunately, each newlib/libgloss port has seen fit to define their own
@ -30,57 +37,57 @@ $shell ${srccom}/gentvals.sh "" open ${srcroot}/newlib/libc/include \
# hopefully more targets can use. # hopefully more targets can use.
dir=libgloss target=bfin dir=libgloss target=bfin
$shell ${srccom}/gentvals.sh $target sys ${srcroot}/$dir \ $shell ${srccom}/gentvals.sh $target sys ${newlibroot}/$dir \
"syscall.h" 'SYS_[_[:alnum:]]*' "${cpp}" "syscall.h" 'SYS_[_[:alnum:]]*' "${cpp}"
dir=newlib/libc/sys/d10v/sys target=d10v dir=newlib/libc/sys/d10v/sys target=d10v
$shell ${srccom}/gentvals.sh $target sys ${srcroot}/$dir \ $shell ${srccom}/gentvals.sh $target sys ${newlibroot}/$dir \
"syscall.h" 'SYS_[_[:alnum:]]*' "${cpp}" "syscall.h" 'SYS_[_[:alnum:]]*' "${cpp}"
# OBSOLETE dir=libgloss target=d30v # OBSOLETE dir=libgloss target=d30v
# OBSOLETE $shell ${srccom}/gentvals.sh $target sys ${srcroot}/$dir \ # OBSOLETE $shell ${srccom}/gentvals.sh $target sys ${newlibroot}/$dir \
# OBSOLETE "syscall.h" 'SYS_[_[:alnum:]]*' "${cpp}" # OBSOLETE "syscall.h" 'SYS_[_[:alnum:]]*' "${cpp}"
dir=libgloss/cr16/sys target=cr16 dir=libgloss/cr16/sys target=cr16
$shell ${srccom}/gentvals.sh $target sys ${srcroot}/$dir \ $shell ${srccom}/gentvals.sh $target sys ${newlibroot}/$dir \
"syscall.h" 'SYS_[_[:alnum:]]*' "${cpp}" "syscall.h" 'SYS_[_[:alnum:]]*' "${cpp}"
dir=libgloss target=fr30 dir=libgloss target=fr30
$shell ${srccom}/gentvals.sh $target sys ${srcroot}/$dir \ $shell ${srccom}/gentvals.sh $target sys ${newlibroot}/$dir \
"syscall.h" 'SYS_[_[:alnum:]]*' "${cpp}" "syscall.h" 'SYS_[_[:alnum:]]*' "${cpp}"
dir=libgloss target=frv dir=libgloss target=frv
$shell ${srccom}/gentvals.sh $target sys ${srcroot}/$dir \ $shell ${srccom}/gentvals.sh $target sys ${newlibroot}/$dir \
"syscall.h" 'SYS_[_[:alnum:]]*' "${cpp}" "syscall.h" 'SYS_[_[:alnum:]]*' "${cpp}"
dir=libgloss/i960 target=i960 dir=libgloss/i960 target=i960
$shell ${srccom}/gentvals.sh $target sys ${srcroot}/$dir \ $shell ${srccom}/gentvals.sh $target sys ${newlibroot}/$dir \
"syscall.h" 'SYS_[_[:alnum:]]*' "${cpp}" "syscall.h" 'SYS_[_[:alnum:]]*' "${cpp}"
dir=libgloss target=m32r dir=libgloss target=m32r
$shell ${srccom}/gentvals.sh $target sys ${srcroot}/$dir \ $shell ${srccom}/gentvals.sh $target sys ${newlibroot}/$dir \
"syscall.h" 'SYS_[_[:alnum:]]*' "${cpp}" "syscall.h" 'SYS_[_[:alnum:]]*' "${cpp}"
dir=libgloss target=mn10200 dir=libgloss target=mn10200
$shell ${srccom}/gentvals.sh $target sys ${srcroot}/$dir \ $shell ${srccom}/gentvals.sh $target sys ${newlibroot}/$dir \
"syscall.h" 'SYS_[_[:alnum:]]*' "${cpp}" "syscall.h" 'SYS_[_[:alnum:]]*' "${cpp}"
dir=libgloss target=mn10300 dir=libgloss target=mn10300
$shell ${srccom}/gentvals.sh $target sys ${srcroot}/$dir \ $shell ${srccom}/gentvals.sh $target sys ${newlibroot}/$dir \
"syscall.h" 'SYS_[_[:alnum:]]*' "${cpp}" "syscall.h" 'SYS_[_[:alnum:]]*' "${cpp}"
dir=libgloss target=msp430 dir=libgloss target=msp430
$shell ${srccom}/gentvals.sh $target sys ${srcroot}/$dir \ $shell ${srccom}/gentvals.sh $target sys ${newlibroot}/$dir \
"syscall.h" 'SYS_[_[:alnum:]]*' "${cpp}" "syscall.h" 'SYS_[_[:alnum:]]*' "${cpp}"
dir=libgloss target=sparc dir=libgloss target=sparc
$shell ${srccom}/gentvals.sh $target sys ${srcroot}/$dir \ $shell ${srccom}/gentvals.sh $target sys ${newlibroot}/$dir \
"syscall.h" 'SYS_[_[:alnum:]]*' "${cpp}" "syscall.h" 'SYS_[_[:alnum:]]*' "${cpp}"
dir=libgloss/v850/sys target=v850 dir=libgloss/v850/sys target=v850
$shell ${srccom}/gentvals.sh $target sys ${srcroot}/$dir \ $shell ${srccom}/gentvals.sh $target sys ${newlibroot}/$dir \
"syscall.h" 'SYS_[_[:alnum:]]*' "${cpp}" "syscall.h" 'SYS_[_[:alnum:]]*' "${cpp}"
dir=libgloss target=lm32 dir=libgloss target=lm32
$shell ${srccom}/gentvals.sh $target sys ${srcroot}/$dir \ $shell ${srccom}/gentvals.sh $target sys ${newlibroot}/$dir \
"syscall.h" 'SYS_[_[:alnum:]]*' "${cpp}" "syscall.h" 'SYS_[_[:alnum:]]*' "${cpp}"

0
sim/common/gentvals.sh Normal file → Executable file
View File