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

Reply via email to