diff options
author | Roland McGrath <roland@gnu.org> | 2007-07-19 19:56:10 +0000 |
---|---|---|
committer | Roland McGrath <roland@gnu.org> | 2007-07-19 19:56:10 +0000 |
commit | 92b93329b58c744ea269b50f6278ed99416941a9 (patch) | |
tree | 415eaf8c24ce53fd9cdab8ed6af4f5cd6fdd1ede /ld/genscripts.sh | |
parent | PR binutils/4797 (diff) | |
download | binutils-gdb-92b93329b58c744ea269b50f6278ed99416941a9.tar.gz binutils-gdb-92b93329b58c744ea269b50f6278ed99416941a9.tar.bz2 binutils-gdb-92b93329b58c744ea269b50f6278ed99416941a9.zip |
2007-07-19 Roland McGrath <roland@redhat.com>
* genscripts.sh (source_em, fragment): New sh functions.
Truncate e${EMULATION_NAME}.c file before .em script fills it.
Use source_em in place of . for the .em script.
* emultempl/generic.em: Use fragment and source_em functions.
* emultempl/aix.em: Likewise.
* emultempl/alphaelf.em: Likewise.
* emultempl/armcoff.em: Likewise.
* emultempl/armelf.em: Likewise.
* emultempl/avrelf.em: Likewise.
* emultempl/beos.em: Likewise.
* emultempl/cr16elf.em: Likewise.
* emultempl/crxelf.em: Likewise.
* emultempl/elf-generic.em: Likewise.
* emultempl/elf32.em: Likewise.
* emultempl/genelf.em: Likewise.
* emultempl/gld960.em: Likewise.
* emultempl/gld960c.em: Likewise.
* emultempl/hppaelf.em: Likewise.
* emultempl/ia64elf.em: Likewise.
* emultempl/irix.em: Likewise.
* emultempl/linux.em: Likewise.
* emultempl/lnk960.em: Likewise.
* emultempl/m68hc1xelf.em: Likewise.
* emultempl/m68kcoff.em: Likewise.
* emultempl/m68kelf.em: Likewise.
* emultempl/mipsecoff.em: Likewise.
* emultempl/mipself.em: Likewise.
* emultempl/mmix-elfnmmo.em: Likewise.
* emultempl/mmixelf.em: Likewise.
* emultempl/mmo.em: Likewise.
* emultempl/needrelax.em: Likewise.
* emultempl/netbsd.em: Likewise.
* emultempl/pe.em: Likewise.
* emultempl/pep.em: Likewise.
* emultempl/ppc32elf.em: Likewise.
* emultempl/ppc64elf.em: Likewise.
* emultempl/scoreelf.em: Likewise.
* emultempl/sh64elf.em: Likewise.
* emultempl/spuelf.em: Likewise.
* emultempl/sunos.em: Likewise.
* emultempl/ticoff.em: Likewise.
* emultempl/vanilla.em: Likewise.
* emultempl/vxworks.em: Likewise.
* emultempl/xtensaelf.em: Likewise.
* emultempl/z80.em: Likewise.
Diffstat (limited to 'ld/genscripts.sh')
-rwxr-xr-x | ld/genscripts.sh | 30 |
1 files changed, 29 insertions, 1 deletions
diff --git a/ld/genscripts.sh b/ld/genscripts.sh index f4c4709d694..17c516c4790 100755 --- a/ld/genscripts.sh +++ b/ld/genscripts.sh @@ -393,5 +393,33 @@ case " $EMULATION_LIBPATH " in *" ${EMULATION_NAME} "*) COMPILE_IN=true;; esac +if test -n "${BASH+set}"; then + source_em() + { + local current_script="$em_script" + em_script=$1 + . $em_script + em_script=$current_script + } + fragment() + { + local lineno=$[${BASH_LINENO[0]} + 1] + echo >> e${EMULATION_NAME}.c "#line $lineno \"$em_script\"" + cat >> e${EMULATION_NAME}.c + } +else + source_em() + { + . $1 + } + fragment() + { + cat >> e${EMULATION_NAME}.c + } +fi + # Generate e${EMULATION_NAME}.c. -. ${srcdir}/emultempl/${TEMPLATE_NAME-generic}.em +# Start with an empty file, then the sourced .em script +# can use the "fragment" function to append. +> e${EMULATION_NAME}.c +source_em ${srcdir}/emultempl/${TEMPLATE_NAME-generic}.em |