head	1.13;
access;
symbols
	perseant-exfatfs-base-20250801:1.13
	perseant-exfatfs-base-20240630:1.13
	perseant-exfatfs:1.13.0.46
	perseant-exfatfs-base:1.13
	cjep_sun2x:1.13.0.44
	cjep_sun2x-base:1.13
	cjep_staticlib_x-base1:1.13
	cjep_staticlib_x:1.13.0.42
	cjep_staticlib_x-base:1.13
	phil-wifi-20200421:1.13
	phil-wifi-20200411:1.13
	phil-wifi-20200406:1.13
	pgoyette-compat-merge-20190127:1.13
	pgoyette-compat-20190127:1.13
	pgoyette-compat-20190118:1.13
	pgoyette-compat-1226:1.13
	pgoyette-compat-1126:1.13
	pgoyette-compat-1020:1.13
	pgoyette-compat-0930:1.13
	pgoyette-compat-0906:1.13
	pgoyette-compat-0728:1.13
	pgoyette-compat-0625:1.13
	pgoyette-compat-0521:1.13
	pgoyette-compat-0502:1.13
	pgoyette-compat-0422:1.13
	pgoyette-compat-0415:1.13
	pgoyette-compat-0407:1.13
	pgoyette-compat-0330:1.13
	pgoyette-compat-0322:1.13
	pgoyette-compat-0315:1.13
	pgoyette-compat:1.13.0.40
	pgoyette-compat-base:1.13
	perseant-stdc-iso10646:1.13.0.38
	perseant-stdc-iso10646-base:1.13
	prg-localcount2-base3:1.13
	prg-localcount2-base2:1.13
	prg-localcount2-base1:1.13
	prg-localcount2:1.13.0.36
	prg-localcount2-base:1.13
	pgoyette-localcount-20170426:1.13
	bouyer-socketcan-base1:1.13
	pgoyette-localcount-20170320:1.13
	bouyer-socketcan:1.13.0.34
	bouyer-socketcan-base:1.13
	pgoyette-localcount-20170107:1.13
	pgoyette-localcount-20161104:1.13
	localcount-20160914:1.13
	pgoyette-localcount-20160806:1.13
	pgoyette-localcount-20160726:1.13
	pgoyette-localcount:1.13.0.32
	pgoyette-localcount-base:1.13
	netbsd-5-2-3-RELEASE:1.13
	netbsd-5-1-5-RELEASE:1.13
	yamt-pagecache-base9:1.13
	yamt-pagecache-tag8:1.13
	tls-earlyentropy:1.13.0.28
	tls-earlyentropy-base:1.13
	riastradh-xf86-video-intel-2-7-1-pre-2-21-15:1.13
	riastradh-drm2-base3:1.13
	netbsd-5-2-2-RELEASE:1.13
	netbsd-5-1-4-RELEASE:1.13
	netbsd-5-2-1-RELEASE:1.13
	netbsd-5-1-3-RELEASE:1.13
	agc-symver:1.13.0.30
	agc-symver-base:1.13
	tls-maxphys-base:1.13
	yamt-pagecache-base8:1.13
	netbsd-5-2:1.13.0.26
	yamt-pagecache-base7:1.13
	netbsd-5-2-RELEASE:1.13
	netbsd-5-2-RC1:1.13
	yamt-pagecache-base6:1.13
	yamt-pagecache-base5:1.13
	yamt-pagecache-base4:1.13
	netbsd-5-1-2-RELEASE:1.13
	netbsd-5-1-1-RELEASE:1.13
	yamt-pagecache-base3:1.13
	yamt-pagecache-base2:1.13
	yamt-pagecache:1.13.0.24
	yamt-pagecache-base:1.13
	bouyer-quota2-nbase:1.13
	bouyer-quota2:1.13.0.22
	bouyer-quota2-base:1.13
	matt-nb5-pq3:1.13.0.20
	matt-nb5-pq3-base:1.13
	netbsd-5-1:1.13.0.18
	netbsd-5-1-RELEASE:1.13
	netbsd-5-1-RC4:1.13
	netbsd-5-1-RC3:1.13
	netbsd-5-1-RC2:1.13
	netbsd-5-1-RC1:1.13
	netbsd-5-0-2-RELEASE:1.13
	netbsd-5-0-1-RELEASE:1.13
	jym-xensuspend-nbase:1.13
	netbsd-5-0:1.13.0.16
	netbsd-5-0-RELEASE:1.13
	netbsd-5-0-RC4:1.13
	netbsd-5-0-RC3:1.13
	netbsd-5-0-RC2:1.13
	jym-xensuspend:1.13.0.14
	jym-xensuspend-base:1.13
	netbsd-5-0-RC1:1.13
	netbsd-5:1.13.0.12
	netbsd-5-base:1.13
	mjf-devfs2:1.13.0.10
	mjf-devfs2-base:1.13
	yamt-pf42-base4:1.13
	yamt-pf42-base3:1.13
	hpcarm-cleanup-nbase:1.13
	yamt-pf42-base2:1.13
	yamt-pf42:1.13.0.8
	yamt-pf42-base:1.13
	keiichi-mipv6-nbase:1.13
	keiichi-mipv6:1.13.0.6
	keiichi-mipv6-base:1.13
	cube-autoconf:1.13.0.4
	cube-autoconf-base:1.13
	hpcarm-cleanup:1.13.0.2
	hpcarm-cleanup-base:1.13
	netbsd-3-1-1-RELEASE:1.12
	netbsd-3-0-3-RELEASE:1.12
	netbsd-3-1:1.12.0.12
	netbsd-3-1-RELEASE:1.12
	netbsd-3-0-2-RELEASE:1.12
	netbsd-3-1-RC4:1.12
	netbsd-3-1-RC3:1.12
	netbsd-3-1-RC2:1.12
	netbsd-3-1-RC1:1.12
	netbsd-3-0-1-RELEASE:1.12
	netbsd-3-0:1.12.0.10
	netbsd-3-0-RELEASE:1.12
	netbsd-3-0-RC6:1.12
	netbsd-3-0-RC5:1.12
	netbsd-3-0-RC4:1.12
	netbsd-3-0-RC3:1.12
	netbsd-3-0-RC2:1.12
	netbsd-3-0-RC1:1.12
	netbsd-2-0-3-RELEASE:1.12
	netbsd-2-1:1.12.0.8
	netbsd-2-1-RELEASE:1.12
	netbsd-2-1-RC6:1.12
	netbsd-2-1-RC5:1.12
	netbsd-2-1-RC4:1.12
	netbsd-2-1-RC3:1.12
	netbsd-2-1-RC2:1.12
	netbsd-2-1-RC1:1.12
	netbsd-2-0-2-RELEASE:1.12
	netbsd-3:1.12.0.6
	netbsd-3-base:1.12
	netbsd-2-0-1-RELEASE:1.12
	netbsd-2:1.12.0.4
	netbsd-2-base:1.12
	netbsd-2-0-RELEASE:1.12
	netbsd-2-0-RC5:1.12
	netbsd-2-0-RC4:1.12
	netbsd-2-0-RC3:1.12
	netbsd-2-0-RC2:1.12
	netbsd-2-0-RC1:1.12
	netbsd-2-0:1.12.0.2
	netbsd-2-0-base:1.12
	netbsd-1-6-PATCH002-RELEASE:1.8
	netbsd-1-6-PATCH002:1.8
	netbsd-1-6-PATCH002-RC4:1.8
	netbsd-1-6-PATCH002-RC3:1.8
	netbsd-1-6-PATCH002-RC2:1.8
	netbsd-1-6-PATCH002-RC1:1.8
	netbsd-1-6-PATCH001:1.8
	netbsd-1-6-PATCH001-RELEASE:1.8
	netbsd-1-6-PATCH001-RC3:1.8
	netbsd-1-6-PATCH001-RC2:1.8
	netbsd-1-6-PATCH001-RC1:1.8
	fvdl_fs64_base:1.8
	netbsd-1-6-RELEASE:1.8
	netbsd-1-6-RC3:1.8
	netbsd-1-6-RC2:1.8
	netbsd-1-6-RC1:1.8
	netbsd-1-6:1.8.0.2
	netbsd-1-6-base:1.8;
locks; strict;
comment	@# @;


1.13
date	2006.06.03.07.13.52;	author mrg;	state dead;
branches;
next	1.12;

1.12
date	2003.03.05.06.17.17;	author mrg;	state Exp;
branches;
next	1.11;

1.11
date	2003.03.05.05.28.29;	author mrg;	state Exp;
branches;
next	1.10;

1.10
date	2003.03.01.13.09.10;	author mrg;	state Exp;
branches;
next	1.9;

1.9
date	2003.02.07.01.52.54;	author lukem;	state Exp;
branches;
next	1.8;

1.8
date	2002.05.20.15.19.09;	author thorpej;	state Exp;
branches;
next	1.7;

1.7
date	2002.02.27.17.55.32;	author tv;	state Exp;
branches;
next	1.6;

1.6
date	2002.02.27.17.02.04;	author tv;	state Exp;
branches;
next	1.5;

1.5
date	2002.02.27.16.45.11;	author tv;	state Exp;
branches;
next	1.4;

1.4
date	2002.02.27.16.28.23;	author tv;	state Exp;
branches;
next	1.3;

1.3
date	2002.02.27.16.12.10;	author tv;	state Exp;
branches;
next	1.2;

1.2
date	2002.02.26.22.31.59;	author tv;	state Exp;
branches;
next	1.1;

1.1
date	2002.02.11.21.24.10;	author tv;	state Exp;
branches;
next	;


desc
@@


1.13
log
@delete GCC2 support.
@
text
@#!/bin/sh
#	$NetBSD: mknative,v 1.12 2003/03/05 06:17:17 mrg Exp $
#
# Shell script for generating all the constants needed for a native
# platform build of src/gnu/dist/toolchain.
#

bomb () {
	echo >&1 "ABORT: $*"
	exit 1
}

# usage: getvars MAKEFILE VARNAME [VARNAME...]
getvars () {
	_mf="$1"; shift
	$MAKE -f - _x_ <<EOF || bomb "getvars $_mf $* failed"
_x_:
.for var in $*
	@@echo G_\${var}=\${\${var}:Q} | sed 's,$_VPATH,\$\${GNUHOSTDIST},g'
.endfor
.include "$_TMPDIR/$_mf"
EOF
}

# usage: write_c FILENAME
write_c () {
	echo '/* This file is automatically generated.  DO NOT EDIT! */' >$_TOP/$1.tmp || \
		bomb "cannot create $1"
	grep '$''NetBSD' $0 | sed 's,[#$],,g;s,.*,/* Generated from: & */,' >>$_TOP/$1.tmp
	echo '' >>$_TOP/$1.tmp
	writefile $1
}

# usage: write_mk FILENAME
write_mk () {
	echo '# This file is automatically generated.  DO NOT EDIT!' >$_TOP/$1.tmp || \
		bomb "cannot create $1"
	grep '$''NetBSD' $0 | sed 's,[#$],,g;s,.*,# Generated from: &,' >>$_TOP/$1.tmp
	echo '#' >>$_TOP/$1.tmp
	writefile $1
}

writefile () {
	sed -e 's,netbsd\(elf\)*1[0-9\.]*\(_\)*[A-Z]*,netbsd\1,' \
	    -e 's,^/\* #undef HAVE_MMAP \*/$,#define HAVE_MMAP 1,' >>$_TOP/$1.tmp

	# Compare new file, sans "generated from" comments and RCS Id, to
	# old file.  If they match, don't change anything.
	rm -f $_TMPDIR/.1 $_TMPDIR/.2
	grep -v 'Generated from:' $_TOP/$1 >$_TMPDIR/.1 2>/dev/null
	grep -v 'Generated from:' $_TOP/$1.tmp >$_TMPDIR/.2

	# will not overwrite a file that has the same content
	if cmp $_TMPDIR/.1 $_TMPDIR/.2 >/dev/null 2>&1; then
		rm -f $_TOP/$1.tmp
	else
		echo >&2 "$1 changed"
		mv -f $_TOP/$1.tmp $_TOP/$1
	fi
}

##### gnu/lib/libbfd #####

get_libbfd () {
	mkdir -p $_TOP/gnu/lib/libbfd/arch/$MACHINE_ARCH

	{
		getvars bfd/Makefile \
			libbfd_la_DEPENDENCIES libbfd_la_OBJECTS DEFS \
			INCLUDES TDEFAULTS
	} | write_mk gnu/lib/libbfd/arch/$MACHINE_ARCH/defs.mk

	write_c gnu/lib/libbfd/arch/$MACHINE_ARCH/bfd.h <$_TMPDIR/bfd/bfd.h

	{
		cat $_TMPDIR/bfd/config.h
	} | write_c gnu/lib/libbfd/arch/$MACHINE_ARCH/config.h
}

##### gnu/lib/libopcodes #####

get_libopcodes () {
	mkdir -p $_TOP/gnu/lib/libopcodes/arch/$MACHINE_ARCH

	{
		getvars opcodes/Makefile \
			archdefs BFD_MACHINES libopcodes_la_SOURCES
	} | write_mk gnu/lib/libopcodes/arch/$MACHINE_ARCH/defs.mk

	{
		cat $_TMPDIR/opcodes/config.h
	} | write_c gnu/lib/libopcodes/arch/$MACHINE_ARCH/config.h
}

##### gnu/lib/libg2c #####

get_libg2c () {
	mkdir -p $_TOP/gnu/lib/libg2c/arch/$MACHINE_ARCH

	write_c gnu/lib/libg2c/arch/$MACHINE_ARCH/config.h <$_TMPDIR/$_PLATFORM/libf2c/libU77/config.h
	write_c gnu/lib/libg2c/arch/$MACHINE_ARCH/g2c.h <$_TMPDIR/$_PLATFORM/libf2c/g2c.h

	{
		getvars $_PLATFORM/libf2c/Makefile \
			F2CEXT
		getvars $_PLATFORM/libf2c/libF77/Makefile \
			ALL_CFLAGS OBJS
		getvars $_PLATFORM/libf2c/libI77/Makefile \
			ALL_CFLAGS OBJ | sed 's,=,+=,'
		getvars $_PLATFORM/libf2c/libU77/Makefile \
			ALL_CFLAGS OBJS | sed 's,=,+=,'
	} | write_mk gnu/lib/libg2c/arch/$MACHINE_ARCH/defs.mk
}

##### gnu/lib/libgcc #####

get_libgcc () {
	mkdir -p $_TOP/gnu/usr.bin/gcc/arch/$MACHINE_ARCH $_TOP/gnu/lib/libgcc

	# DPBIT, FPBIT only used on mn10[23]00, we don't need them.
	getvars gcc/Makefile \
		CXX_EXTRA_HEADERS CXX_LIB2FUNCS CXX_LIB2SRCS \
		INCLUDES LIB2ADD LIB2FUNCS LIB2FUNCS_EH \
		LIBGCC2_CFLAGS MAYBE_USE_COLLECT2 \
		| write_mk gnu/lib/libgcc/$MACHINE_ARCH.mk

	for f in tconfig tm; do
		write_c gnu/usr.bin/gcc/arch/$MACHINE_ARCH/$f.h <$_TMPDIR/gcc/$f.h
	done
}

##### gnu/lib/libiberty #####

get_libiberty () {
	mkdir -p $_TOP/gnu/lib/libiberty

	getvars libiberty/Makefile \
		ALLOCA EXTRA_OFILES LIBOBJS REQUIRED_OFILES \
		| write_mk gnu/lib/libiberty/defs.mk

	write_c gnu/lib/libiberty/config.h \
		<$_TMPDIR/libiberty/config.h
}

##### gnu/lib/libobjc #####

get_libobjc () {
	mkdir -p $_TOP/gnu/lib/libobjc

	getvars $_PLATFORM/libobjc/Makefile \
		ALL_CFLAGS INCLUDES OBJS OBJC_H \
		| write_mk gnu/lib/libobjc/defs.mk
}

##### gnu/lib/libstdc++ #####

get_libstdcxx () {
	mkdir -p $_TOP/gnu/lib/libstdc++/arch/$MACHINE_ARCH

	write_c gnu/lib/libstdc++/arch/$MACHINE_ARCH/_G_config.h \
		<$_TMPDIR/$_PLATFORM/libio/_G_config.h

	{
		getvars $_PLATFORM/libio/Makefile \
			CINCLUDES LIBIOSTREAM_USE MT_CFLAGS XCFLAGS XCXXFLAGS

		# Ugly hack for backticks:
		(cd $_TMPDIR/$_PLATFORM/libstdc++ && \
			printf 'x:\n\t@@echo G_LIBIBERTY_OBJS=${LIBIBERTY_OBJS}\n.include "Makefile"' | $MAKE -f - x)

		getvars $_PLATFORM/libstdc++/Makefile \
			COMFUNCS COMIO CXXINCLUDES HEADERS OBJS STRFUNCS STRIO

		(cd $_TOP/gnu/dist/toolchain/libstdc++ && echo 'STD_HEADERS=' \
			`/bin/ls -1 *.h std/*.h std/*.cc std/*.tcc | sort -f`)
		(cd $_TOP/gnu/dist/toolchain/libstdc++/stl && echo 'STL_HEADERS=' \
			`/bin/ls -1 *.h | sort -f`)
		(cd $_TOP/gnu/dist/toolchain/libio && echo 'LIBIO_HEADERS=' \
			`/bin/ls -1 *.h | sort -f`)
	} | write_mk gnu/lib/libstdc++/arch/$MACHINE_ARCH/defs.mk
}

##### gnu/usr.bin/binutils #####

get_binutils () {
	### common

	mkdir -p $_TOP/gnu/usr.bin/binutils/common/arch/$MACHINE_ARCH

	{
		getvars binutils/Makefile \
			VERSION DEFS INCLUDES PROGRAMS
		getvars binutils/doc/Makefile \
			man_MANS TEXINFOS

		for f in `getvars binutils/Makefile PROGRAMS | sed 'y,-,_,;s,^[^=]*=,,'`; do
			getvars binutils/Makefile ${f}_OBJECTS ${f}_DEPENDENCIES
		done
	} | write_mk gnu/usr.bin/binutils/common/arch/$MACHINE_ARCH/defs.mk

	write_c gnu/usr.bin/binutils/common/arch/$MACHINE_ARCH/config.h \
		<$_TMPDIR/binutils/config.h

	### gas

	mkdir -p $_TOP/gnu/usr.bin/binutils/gas/arch/$MACHINE_ARCH

	getvars gas/Makefile \
		DEFS INCLUDES OBJS \
		| write_mk gnu/usr.bin/binutils/gas/arch/$MACHINE_ARCH/defs.mk

	for f in config itbl-cpu obj-format targ-cpu targ-env; do
		write_c gnu/usr.bin/binutils/gas/arch/$MACHINE_ARCH/$f.h <$_TMPDIR/gas/$f.h
	done

	### gprof

	mkdir -p $_TOP/gnu/usr.bin/binutils/gprof/arch/$MACHINE_ARCH

	getvars gprof/Makefile \
		DEFS gprof_OBJECTS INCLUDES TEXINFOS \
		| write_mk gnu/usr.bin/binutils/gprof/arch/$MACHINE_ARCH/defs.mk

	write_c gnu/usr.bin/binutils/gprof/arch/$MACHINE_ARCH/gconfig.h <$_TMPDIR/gprof/gconfig.h

	### ld

	mkdir -p $_TOP/gnu/usr.bin/binutils/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]*$,,'
	} | write_mk gnu/usr.bin/binutils/ld/arch/$MACHINE_ARCH/defs.mk

	for f in config ldemul-list; do
		write_c gnu/usr.bin/binutils/ld/arch/$MACHINE_ARCH/$f.h <$_TMPDIR/ld/$f.h
	done
}

##### gnu/usr.bin/gcc #####

get_gcc () {
	mkdir -p $_TOP/gnu/usr.bin/gcc/arch/$MACHINE_ARCH

	{
		getvars gcc/Makefile \
			ALL_CFLAGS ALL_CPPFLAGS C_AND_OBJC_OBJS C_OBJS CCCP_OBJS \
			GCOV_OBJS PROTO_OBJS HOST_PRINT HOST_RTL HOST_RTLANAL \
			INCLUDES md_file OBJC_OBJS OBJS out_file version
		getvars gcc/cp/Makefile \
			CXX_OBJS
		getvars gcc/f/Makefile \
			F77_OBJS
	} | write_mk gnu/usr.bin/gcc/arch/$MACHINE_ARCH/defs.mk

	for f in auto-host config gencheck options specs; do
		write_c gnu/usr.bin/gcc/arch/$MACHINE_ARCH/$f.h <$_TMPDIR/gcc/$f.h
	done
}

##### gnu/usr.bin/gdb #####

get_gdb () {
	(cd $_TMPDIR/gdb && $MAKE init.c version.c)

	mkdir -p $_TOP/gnu/usr.bin/gdb/arch/$MACHINE_ARCH

	{
		getvars gdb/Makefile \
			INTERNAL_CFLAGS LIBGDB_OBS SIM_OBJS
		getvars readline/Makefile \
			CCFLAGS OBJECTS
	} | write_mk gnu/usr.bin/gdb/arch/$MACHINE_ARCH/defs.mk

#	getvars gdb/gdbserver/Makefile \
#		INTERNAL_CFLAGS OBS \
#		| write_mk gnu/usr.bin/gdb/arch/$MACHINE_ARCH/gdbserver.mk

	cat $_TMPDIR/gdb/config.h $_TMPDIR/readline/config.h \
		| write_c gnu/usr.bin/gdb/arch/$MACHINE_ARCH/config.h

	for f in init version; do
		write_c gnu/usr.bin/gdb/arch/$MACHINE_ARCH/$f.c <$_TMPDIR/gdb/$f.c
	done

	for f in nm tm xm; do
		ls -l $_TMPDIR/gdb/$f.h | sed 's,^.*->.*/gdb/config/,,;s,^,#include <,;s,$,>,' \
			| write_c gnu/usr.bin/gdb/arch/$MACHINE_ARCH/$f.h
	done

	case $MACHINE_ARCH in
	powerpc*)
		mkdir -p $_TOP/gnu/usr.bin/sim/arch/$MACHINE_ARCH
		write_c gnu/usr.bin/sim/arch/$MACHINE_ARCH/config.h \
			<$_TMPDIR/sim/ppc/config.h
		;;
	*)
		;;
	esac
}

##### main #####

_TMPDIR=$2
_TOP=$3
_PLATFORM=$4
_VPATH=`grep VPATH ${_TMPDIR}/Makefile | sed 's,^.*= ,,'`

case $1 in
libgcc)	# .mk and .h files for libgcc bootstrap (from host build)
	get_libgcc
	exit 0
	;;

all)	# everything (uses "canadian cross" temp environment)
	get_binutils
	get_gcc
	[ -f $_TMPDIR/gdb/config.h ] && get_gdb
	get_libbfd
	get_libopcodes
	get_libg2c
	get_libgcc
	get_libiberty
	get_libobjc
	get_libstdcxx
	exit 0
	;;

binutils)
	get_binutils
	get_libbfd
	get_libopcodes
	exit 0
	;;

gcc)
	get_gcc
	get_libg2c
	get_libgcc
	get_libiberty
	get_libobjc
	get_libstdcxx
	exit 0
	;;

gdb)
	[ -f $_TMPDIR/gdb/config.h ] && get_gdb && get_libbfd && get_libopcodes
	exit 0
	;;

*)	echo invalid arguments; exit 1;;
esac
@


1.12
log
@extract the bintils VERSION.
call the new make targets "native-gcc", etc.
@
text
@d2 1
a2 1
#	$NetBSD: mknative,v 1.11 2003/03/05 05:28:29 mrg Exp $
@


1.11
log
@mknative:
	- get man_MANS and TEXINFO from binutils/doc/Makefile now, not
	binutils/Makefile, as all the binutils docs moved.
both:
	- add new "mknative-gcc", "mknative-binutils", and "mknative-gdb"
	targets / mknative options to allow regeneration of just one part
	of the toolchain.
@
text
@d2 1
a2 1
#	$NetBSD: mknative,v 1.10 2003/03/01 13:09:10 mrg Exp $
d192 1
a192 1
			DEFS INCLUDES PROGRAMS
@


1.10
log
@update for binutils 2.13.2.1, and a few other changes...
@
text
@d2 1
a2 1
#	$NetBSD: mknative,v 1.9 2003/02/07 01:52:54 lukem Exp $
d192 3
a194 1
			DEFS INCLUDES man_MANS PROGRAMS TEXINFOS
d328 22
@


1.9
log
@replace DIST with GNUHOSTDIST, and don't unconditionally define it
in Makefile.gnuhost (use ?= instead of =, to allow overriding)
@
text
@d2 1
a2 1
#	$NetBSD: mknative,v 1.8 2002/05/20 15:19:09 thorpej Exp $
a70 2
		getvars opcodes/Makefile \
			archdefs BFD_MACHINES libopcodes_la_SOURCES
a76 1
		grep -v PACKAGE $_TMPDIR/opcodes/config.h
d80 15
d118 2
a126 2
	mkdir -p $_TOP/gnu/usr.bin/gcc/arch/$MACHINE_ARCH

d135 2
d148 2
d294 1
a294 1
		write_c $_TOP/gnu/usr.bin/sim/arch/$MACHINE_ARCH/config.h \
d320 1
@


1.8
log
@Don't try to extract gdbserver configury; we don't yet support gdbserver.
@
text
@d2 1
a2 1
#	$NetBSD: mknative,v 1.7 2002/02/27 17:55:32 tv Exp $
d19 1
a19 1
	@@echo G_\${var}=\${\${var}:Q} | sed 's,$_VPATH,\$\${DIST},g'
@


1.7
log
@Make libobjc configury MI.
@
text
@d2 1
a2 1
#	$NetBSD: mknative,v 1.6 2002/02/27 17:02:04 tv Exp $
d259 3
a261 3
	getvars gdb/gdbserver/Makefile \
		INTERNAL_CFLAGS OBS \
		| write_mk gnu/usr.bin/gdb/arch/$MACHINE_ARCH/gdbserver.mk
@


1.6
log
@Make libiberty files MI.
@
text
@d2 1
a2 1
#	$NetBSD: mknative,v 1.5 2002/02/27 16:45:11 tv Exp $
d135 1
a135 5
		ALL_CFLAGS INCLUDES OBJS \
		| write_mk gnu/lib/libobjc/$MACHINE_ARCH.mk

	getvars $_PLATFORM/libobjc/Makefile \
		OBJC_H \
@


1.5
log
@* Don't try to get the gdb framework if gdb doesn't configure due to missing
  gdb support (determined by GNU configure).

* Be less verbose if there are no existing toolchain framework files to
  compare (suppress grep "file not found" error)
@
text
@d2 1
a2 1
#	$NetBSD: mknative,v 1.4 2002/02/27 16:28:23 tv Exp $
a122 2
	mkdir -p $_TOP/gnu/lib/libiberty/arch/$MACHINE_ARCH

d125 1
a125 1
		| write_mk gnu/lib/libiberty/arch/$MACHINE_ARCH/defs.mk
d127 1
a127 1
	write_c gnu/lib/libiberty/arch/$MACHINE_ARCH/config.h \
@


1.4
log
@Revert previous; this had to do with running "make includes" while MKGCC=no.
It's still possible to get the needed headers from src/gnu/lib/libgcc by hand.
@
text
@d2 1
a2 1
#	$NetBSD: mknative,v 1.2 2002/02/26 22:31:59 tv Exp $
d50 1
a50 1
	grep -v 'Generated from:' $_TOP/$1 >$_TMPDIR/.1
d254 2
d308 1
a308 1
	get_gdb
@


1.3
log
@Omit the C++ bits of libgcc for bootstrap-libgcc.  Until there are C++
headers for the target, these parts can't be built anyway.
@
text
@d105 1
a105 1
get_libgcc_boot () {
d108 1
a119 9
get_libgcc () {
	# DPBIT, FPBIT only used on mn10[23]00, we don't need them.
	getvars gcc/Makefile \
		CXX_EXTRA_HEADERS CXX_LIB2FUNCS CXX_LIB2SRCS \
		INCLUDES LIB2ADD LIB2FUNCS LIB2FUNCS_EH \
		LIBGCC2_CFLAGS MAYBE_USE_COLLECT2 \
		| write_mk gnu/lib/libgcc/$MACHINE_ARCH.mk
}

d246 1
a246 1
	for f in auto-host config gencheck options specs tconfig tm; do
d299 1
a299 1
	get_libgcc_boot
@


1.2
log
@Complete the mknative method of creating the toolchain metainformation
files.  This version is capable of generating these files Properly from
a cross host (subject to having tools and target libs/includes available
ahead of time; to be documented).
@
text
@d2 1
a2 1
#	$NetBSD: toolchain2netbsd,v 1.14 2002/01/22 13:13:00 mrg Exp $
d105 1
a105 1
get_libgcc () {
a107 1
		CXX_EXTRA_HEADERS CXX_LIB2FUNCS CXX_LIB2SRCS \
d119 9
d254 1
a254 1
	for f in auto-host config gencheck options specs; do
d307 1
a307 1
	get_libgcc
@


1.1
log
@First of two parts to replace toolchain2netbsd and make it more cross-happy:
Provide a target "bootstrap-libgcc", which will create the files
    src/gnu/lib/libgcc/${MACHINE_ARCH}.mk
    src/gnu/usr.bin/gcc/arch/${MACHINE_ARCH}/tconfig.h
    src/gnu/usr.bin/gcc/arch/${MACHINE_ARCH}/tm.h
...enough to allow libgcc to build so that a bootstrap build to DESTDIR can
take place.
@
text
@a12 9
# usage: getsysvar VARNAME
getsysvar () {
	$MAKE -f - _x_ <<EOF || bomb "getvars $1 failed"
.include <bsd.hostprog.mk>
_x_:
	@@echo \${$1}
EOF
}

d44 2
a45 1
	sed 's,netbsd\(elf\)*1[0-9\.]*\(_\)*[A-Z]*,netbsd\1,' >>$_TOP/$1.tmp
a54 1
		echo >&2 "$1 is unchanged"
d57 1
a57 1
		echo >&2 "$1 created"
d62 41
d113 2
d120 170
d292 3
a294 1
_TMPDIR=`pwd`/build
a298 1
	_TOP=$2
d300 13
@

