Module Name: src Committed By: rin Date: Sat Nov 25 12:11:27 UTC 2023
Modified Files: src/tools/binutils: Makefile Added Files: src/tools/binutils: mknative-binutils.old Log Message: tools/binutils: Add support to mknative for binutils.old To generate a diff of this commit: cvs rdiff -u -r1.37 -r1.38 src/tools/binutils/Makefile cvs rdiff -u -r0 -r1.1 src/tools/binutils/mknative-binutils.old Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/tools/binutils/Makefile diff -u src/tools/binutils/Makefile:1.37 src/tools/binutils/Makefile:1.38 --- src/tools/binutils/Makefile:1.37 Wed Jan 18 12:52:55 2023 +++ src/tools/binutils/Makefile Sat Nov 25 12:11:27 2023 @@ -1,4 +1,4 @@ -# $NetBSD: Makefile,v 1.37 2023/01/18 12:52:55 christos Exp $ +# $NetBSD: Makefile,v 1.38 2023/11/25 12:11:27 rin Exp $ .include <bsd.hostinit.mk> @@ -41,6 +41,9 @@ LDADDFLAGS= -L${DESTDIR}/lib -L${DESTDIR CONFIGURE_ENV+= ac_cv_path_mkdir="${TOOLDIR}/bin/${MACHINE_GNU_PLATFORM}-install -d" NEWCONFIGDIR?= ${.CURDIR}/../.. +.if ${EXTERNAL_BINUTILS_SUBDIR} == "binutils.old" +MKNATIVE= ${.CURDIR}/mknative-binutils.old +.endif MKNATIVE?= ${.CURDIR}/mknative-binutils native-binutils: .native/.configure_done Added files: Index: src/tools/binutils/mknative-binutils.old diff -u /dev/null src/tools/binutils/mknative-binutils.old:1.1 --- /dev/null Sat Nov 25 12:11:27 2023 +++ src/tools/binutils/mknative-binutils.old Sat Nov 25 12:11:27 2023 @@ -0,0 +1,161 @@ +#!/bin/sh +# $NetBSD: mknative-binutils.old,v 1.1 2023/11/25 12:11:27 rin Exp $ +# NetBSD: mknative-binutils,v 1.13 2020/04/04 01:34:53 christos Exp +# +# Shell script for generating all the constants needed for a native +# platform build of src/external/gpl3/binutils.old +# + +# initialise + +_TMPDIR=$2 +_TOP=$3 +_PLATFORM=$4 +_VPATH=`grep VPATH ${_TMPDIR}/Makefile | sed 's,^.*=[ ]*,,'` + +. $_TOP/tools/gcc/mknative.common + +##### external/gpl3/binutils.old/lib/libbfd ##### + +get_libbfd () { + mkdir -p $_TOP/external/gpl3/binutils.old/lib/libbfd/arch/$MACHINE_ARCH + + { + getvars bfd/Makefile \ + libbfd_la_DEPENDENCIES libbfd_la_OBJECTS DEFS \ + INCLUDES TDEFAULTS HAVEVECS + } | write_mk external/gpl3/binutils.old/lib/libbfd/arch/$MACHINE_ARCH/defs.mk + + write_c external/gpl3/binutils.old/lib/libbfd/arch/$MACHINE_ARCH/bfd.h <$_TMPDIR/bfd/bfd.h + write_c external/gpl3/binutils.old/lib/libbfd/arch/$MACHINE_ARCH/bfdver.h <$_TMPDIR/bfd/bfdver.h + write_c external/gpl3/binutils.old/lib/libbfd/arch/$MACHINE_ARCH/bfd_stdint.h <$_TMPDIR/bfd/bfd_stdint.h + + { + cat $_TMPDIR/bfd/config.h + } | write_c external/gpl3/binutils.old/lib/libbfd/arch/$MACHINE_ARCH/config.h +} + +##### external/gpl3/binutils.old/lib/libopcodes ##### + +get_libopcodes () { + mkdir -p $_TOP/external/gpl3/binutils.old/lib/libopcodes/arch/$MACHINE_ARCH + + { + getvars opcodes/Makefile \ + archdefs BFD_MACHINES libopcodes_la_SOURCES + } | write_mk external/gpl3/binutils.old/lib/libopcodes/arch/$MACHINE_ARCH/defs.mk + + { + cat $_TMPDIR/opcodes/config.h + } | write_c external/gpl3/binutils.old/lib/libopcodes/arch/$MACHINE_ARCH/config.h +} + +get_libgnuctf () { + mkdir -p $_TOP/external/gpl3/binutils.old/lib/libgnuctf/arch/$MACHINE_ARCH + + { + getvars libctf/Makefile libctf_la_SOURCES + } | write_mk external/gpl3/binutils.old/lib/libgnuctf/arch/$MACHINE_ARCH/defs.mk + + { + cat $_TMPDIR/libctf/config.h + } | write_c external/gpl3/binutils.old/lib/libgnuctf/arch/$MACHINE_ARCH/config.h +} + +##### external/gpl3/binutils.old/lib/libiberty ##### + +get_libiberty () { + mkdir -p $_TOP/external/gpl3/binutils.old/lib/libiberty/arch/$MACHINE_ARCH + + getvars libiberty/Makefile \ + ALLOCA EXTRA_OFILES LIBOBJS REQUIRED_OFILES \ + | write_mk external/gpl3/binutils.old/lib/libiberty/arch/$MACHINE_ARCH/defs.mk + + write_c external/gpl3/binutils.old/lib/libiberty/arch/$MACHINE_ARCH/config.h \ + <$_TMPDIR/libiberty/config.h +} + +##### external/gpl3/binutils.old/usr.bin ##### + +get_binutils () { + ### common + + mkdir -p $_TOP/external/gpl3/binutils.old/usr.bin/common/arch/$MACHINE_ARCH + + { + getvars binutils/Makefile \ + VERSION DEFS INCLUDES PROGRAMS + getvars binutils/doc/Makefile \ + man_MANS TEXINFOS + getvars bfd/doc/Makefile \ + PKGVERSION | sed 's,\\\(.\),\1,' + getvars bfd/doc/Makefile \ + REPORT_BUGS_TEXI + + for f in `getvars binutils/Makefile PROGRAMS | sed 'y,-,_,;s,^[^=]*=,,'`; do + getvars binutils/Makefile ${f}_OBJECTS ${f}_DEPENDENCIES + done + } | write_mk external/gpl3/binutils.old/usr.bin/common/arch/$MACHINE_ARCH/defs.mk + + write_c external/gpl3/binutils.old/usr.bin/common/arch/$MACHINE_ARCH/config.h \ + <$_TMPDIR/binutils/config.h + + ### gas + + mkdir -p $_TOP/external/gpl3/binutils.old/usr.bin/gas/arch/$MACHINE_ARCH + + grep -v DEPDIR "$_TMPDIR/gas/Makefile" > "$_TMPDIR/gas/Makefile.nodeps" + getvars gas/Makefile.nodeps \ + DEFS INCLUDES as_new_OBJECTS as_new_LDADD | + sed -e s/G_as_new_OBJECTS/G_OBJS/ \ + -e s/G_as_new_LDADD=/G_OBJS+=/ \ + -e s@config/@@g \ + -e 's/\.\..*a//' | + write_mk external/gpl3/binutils.old/usr.bin/gas/arch/$MACHINE_ARCH/defs.mk + + for f in config itbl-cpu obj-format targ-cpu targ-env; do + write_c external/gpl3/binutils.old/usr.bin/gas/arch/$MACHINE_ARCH/$f.h <$_TMPDIR/gas/$f.h + done + + ### gprof + + mkdir -p $_TOP/external/gpl3/binutils.old/usr.bin/gprof/arch/$MACHINE_ARCH + + getvars gprof/Makefile \ + DEFS gprof_OBJECTS INCLUDES TEXINFOS \ + | write_mk external/gpl3/binutils.old/usr.bin/gprof/arch/$MACHINE_ARCH/defs.mk + + write_c external/gpl3/binutils.old/usr.bin/gprof/arch/$MACHINE_ARCH/gconfig.h <$_TMPDIR/gprof/gconfig.h + + ### ld + + mkdir -p $_TOP/external/gpl3/binutils.old/usr.bin/ld/arch/$MACHINE_ARCH + + { + getvars ld/Makefile \ + DEFS EMUL EMULATION_OFILES INCLUDES OFILES STRINGIFY TEXINFOS + getvars ld/Makefile \ + target_alias | sed 's,[\._0-9A-Z]*$,,' + getvars ld/Makefile \ + enable_initfini_array + } | write_mk external/gpl3/binutils.old/usr.bin/ld/arch/$MACHINE_ARCH/defs.mk + + for f in config ldemul-list; do + write_c external/gpl3/binutils.old/usr.bin/ld/arch/$MACHINE_ARCH/$f.h <$_TMPDIR/ld/$f.h + done +} + +##### main ##### + +case $1 in +all|binutils) # everything (uses "canadian cross" temp environment) + get_binutils + get_libbfd + get_libgnuctf + get_libopcodes + get_libiberty + exit 0 + ;; + +*) echo invalid arguments; exit 1;; +esac