mknative-binutils revision 1.9
11.1Smrg#!/bin/sh 21.9Sskrll# $NetBSD: mknative-binutils,v 1.9 2013/10/01 15:41:17 skrll Exp $ 31.1Smrg# 41.1Smrg# Shell script for generating all the constants needed for a native 51.6Sskrll# platform build of src/external/gpl3/binutils 61.1Smrg# 71.1Smrg 81.1Smrg# initialise 91.1Smrg 101.1Smrg_TMPDIR=$2 111.1Smrg_TOP=$3 121.1Smrg_PLATFORM=$4 131.4Smrg_VPATH=`grep VPATH ${_TMPDIR}/Makefile | sed 's,^.*=[ ]*,,'` 141.1Smrg 151.1Smrg. $_TOP/tools/gcc/mknative.common 161.1Smrg 171.6Sskrll##### external/gpl3/binutils/lib/libbfd ##### 181.1Smrg 191.1Smrgget_libbfd () { 201.6Sskrll mkdir -p $_TOP/external/gpl3/binutils/lib/libbfd/arch/$MACHINE_ARCH 211.1Smrg 221.1Smrg { 231.1Smrg getvars bfd/Makefile \ 241.1Smrg libbfd_la_DEPENDENCIES libbfd_la_OBJECTS DEFS \ 251.1Smrg INCLUDES TDEFAULTS 261.6Sskrll } | write_mk external/gpl3/binutils/lib/libbfd/arch/$MACHINE_ARCH/defs.mk 271.1Smrg 281.6Sskrll write_c external/gpl3/binutils/lib/libbfd/arch/$MACHINE_ARCH/bfd.h <$_TMPDIR/bfd/bfd.h 291.6Sskrll write_c external/gpl3/binutils/lib/libbfd/arch/$MACHINE_ARCH/bfdver.h <$_TMPDIR/bfd/bfdver.h 301.6Sskrll write_c external/gpl3/binutils/lib/libbfd/arch/$MACHINE_ARCH/bfd_stdint.h <$_TMPDIR/bfd/bfd_stdint.h 311.1Smrg 321.1Smrg { 331.1Smrg cat $_TMPDIR/bfd/config.h 341.6Sskrll } | write_c external/gpl3/binutils/lib/libbfd/arch/$MACHINE_ARCH/config.h 351.1Smrg} 361.1Smrg 371.6Sskrll##### external/gpl3/binutils/lib/libopcodes ##### 381.1Smrg 391.1Smrgget_libopcodes () { 401.6Sskrll mkdir -p $_TOP/external/gpl3/binutils/lib/libopcodes/arch/$MACHINE_ARCH 411.1Smrg 421.1Smrg { 431.1Smrg getvars opcodes/Makefile \ 441.1Smrg archdefs BFD_MACHINES libopcodes_la_SOURCES 451.6Sskrll } | write_mk external/gpl3/binutils/lib/libopcodes/arch/$MACHINE_ARCH/defs.mk 461.1Smrg 471.1Smrg { 481.1Smrg cat $_TMPDIR/opcodes/config.h 491.6Sskrll } | write_c external/gpl3/binutils/lib/libopcodes/arch/$MACHINE_ARCH/config.h 501.1Smrg} 511.1Smrg 521.6Sskrll##### external/gpl3/binutils/lib/libiberty ##### 531.1Smrg 541.1Smrgget_libiberty () { 551.6Sskrll mkdir -p $_TOP/external/gpl3/binutils/lib/libiberty/arch/$MACHINE_ARCH 561.1Smrg 571.1Smrg getvars libiberty/Makefile \ 581.1Smrg ALLOCA EXTRA_OFILES LIBOBJS REQUIRED_OFILES \ 591.6Sskrll | write_mk external/gpl3/binutils/lib/libiberty/arch/$MACHINE_ARCH/defs.mk 601.1Smrg 611.6Sskrll write_c external/gpl3/binutils/lib/libiberty/arch/$MACHINE_ARCH/config.h \ 621.1Smrg <$_TMPDIR/libiberty/config.h 631.1Smrg} 641.1Smrg 651.6Sskrll##### external/gpl3/binutils/usr.bin ##### 661.1Smrg 671.1Smrgget_binutils () { 681.1Smrg ### common 691.1Smrg 701.6Sskrll mkdir -p $_TOP/external/gpl3/binutils/usr.bin/common/arch/$MACHINE_ARCH 711.1Smrg 721.1Smrg { 731.1Smrg getvars binutils/Makefile \ 741.1Smrg VERSION DEFS INCLUDES PROGRAMS 751.1Smrg getvars binutils/doc/Makefile \ 761.1Smrg man_MANS TEXINFOS 771.7Sskrll getvars bfd/doc/Makefile \ 781.7Sskrll PKGVERSION | sed 's,\\\(.\),\1,' 791.7Sskrll getvars bfd/doc/Makefile \ 801.7Sskrll REPORT_BUGS_TEXI 811.1Smrg 821.1Smrg for f in `getvars binutils/Makefile PROGRAMS | sed 'y,-,_,;s,^[^=]*=,,'`; do 831.1Smrg getvars binutils/Makefile ${f}_OBJECTS ${f}_DEPENDENCIES 841.1Smrg done 851.6Sskrll } | write_mk external/gpl3/binutils/usr.bin/common/arch/$MACHINE_ARCH/defs.mk 861.1Smrg 871.6Sskrll write_c external/gpl3/binutils/usr.bin/common/arch/$MACHINE_ARCH/config.h \ 881.1Smrg <$_TMPDIR/binutils/config.h 891.1Smrg 901.1Smrg ### gas 911.1Smrg 921.6Sskrll mkdir -p $_TOP/external/gpl3/binutils/usr.bin/gas/arch/$MACHINE_ARCH 931.1Smrg 941.8Schristos grep -v DEPDIR "$_TMPDIR/gas/Makefile" > "$_TMPDIR/gas/Makefile.nodeps" 951.8Schristos getvars gas/Makefile.nodeps \ 961.8Schristos DEFS INCLUDES as_new_OBJECTS as_new_LDADD | 971.8Schristos sed -e s/G_as_new_OBJECTS/G_OBJS/ \ 981.8Schristos -e s/G_as_new_LDADD=/G_OBJS+=/ \ 991.8Schristos -e 's/\.\..*a//' | 1001.8Schristos write_mk external/gpl3/binutils/usr.bin/gas/arch/$MACHINE_ARCH/defs.mk 1011.1Smrg 1021.1Smrg for f in config itbl-cpu obj-format targ-cpu targ-env; do 1031.6Sskrll write_c external/gpl3/binutils/usr.bin/gas/arch/$MACHINE_ARCH/$f.h <$_TMPDIR/gas/$f.h 1041.1Smrg done 1051.1Smrg 1061.1Smrg ### gprof 1071.1Smrg 1081.6Sskrll mkdir -p $_TOP/external/gpl3/binutils/usr.bin/gprof/arch/$MACHINE_ARCH 1091.1Smrg 1101.1Smrg getvars gprof/Makefile \ 1111.1Smrg DEFS gprof_OBJECTS INCLUDES TEXINFOS \ 1121.6Sskrll | write_mk external/gpl3/binutils/usr.bin/gprof/arch/$MACHINE_ARCH/defs.mk 1131.1Smrg 1141.6Sskrll write_c external/gpl3/binutils/usr.bin/gprof/arch/$MACHINE_ARCH/gconfig.h <$_TMPDIR/gprof/gconfig.h 1151.1Smrg 1161.1Smrg ### ld 1171.1Smrg 1181.6Sskrll mkdir -p $_TOP/external/gpl3/binutils/usr.bin/ld/arch/$MACHINE_ARCH 1191.1Smrg 1201.1Smrg { 1211.1Smrg getvars ld/Makefile \ 1221.1Smrg DEFS EMUL EMULATION_OFILES INCLUDES OFILES STRINGIFY TEXINFOS 1231.1Smrg getvars ld/Makefile \ 1241.1Smrg target_alias | sed 's,[\._0-9A-Z]*$,,' 1251.9Sskrll getvars ld/Makefile \ 1261.9Sskrll enable_initfini_array 1271.6Sskrll } | write_mk external/gpl3/binutils/usr.bin/ld/arch/$MACHINE_ARCH/defs.mk 1281.1Smrg 1291.1Smrg for f in config ldemul-list; do 1301.6Sskrll write_c external/gpl3/binutils/usr.bin/ld/arch/$MACHINE_ARCH/$f.h <$_TMPDIR/ld/$f.h 1311.1Smrg done 1321.1Smrg} 1331.1Smrg 1341.1Smrg##### main ##### 1351.1Smrg 1361.1Smrgcase $1 in 1371.2Smrgall|binutils) # everything (uses "canadian cross" temp environment) 1381.1Smrg get_binutils 1391.1Smrg get_libbfd 1401.1Smrg get_libopcodes 1411.1Smrg get_libiberty 1421.1Smrg exit 0 1431.1Smrg ;; 1441.1Smrg 1451.1Smrg*) echo invalid arguments; exit 1;; 1461.1Smrgesac 147