Subject: Re: pkg/12140: cross/mipseb-netbsd does not work (for kernels, at least)
To: Andrew Brown <atatat@atatdot.net>
From: None <itojun@iijlab.net>
List: tech-pkg
Date: 02/08/2001 00:04:50
>>	there seem to be limitation in # of platforms we can put in
>>	pkgsrc/cross/binutils/Makefile.  in fact, i went into some
>>	trouble with it, and added the following comment.
>>	the limitation is in /bin/sh, used by configure script in binutils.
>># due to /bin/sh restriction, we can accomodate no more archs
>that sounds like something that should be fixed.  what's the failure
>mode when you add more archs?

	after running "configure", binutils-2.9.1/ld/config.status will be
	generated like below.  the part becomes too long and /bin/sh is
	unable to handle it.

itojun


sed 's/%@/@@/; s/@%/@@/; s/%g$/@g/; /@g$/s/[\\&%]/\\&/g;
 s/@@/%@/; s/@@/@%/; s/@g$/%g/' > conftest.subs <<\CEOF
(snip)
s%@MAINT@%#M#%g
s%@HDEFINES@%%g
s%@HOSTING_CRT0@%/usr/lib/crt0.o%g
s%@HOSTING_LIBS@%`if [ -f ../gcc/libgcc.a ] ; then echo ../gcc/libgcc.a ; else gcc -print-libgcc-file-name; fi` -lc%g
s%@NATIVE_LIB_DIRS@%/lib%g
s%@EMUL@%elf_i386%g
s%@TDIRS@%\			<--- problem lies from here
tdir_elf_i386=i386-linux\
tdir_i386linux=i386-linuxaout\
tdir_elf64alpha=alpha-netbsd\
tdir_armnbsd=arm-netbsd\
tdir_i386pe=i386-cygwin32\
tdir_i386go32=i386-go32\
tdir_i386nbsd=i386-netbsd\
tdir_i386nw=i386-netware\
tdir_m68kelf=m68k-elf\
tdir_m68knbsd=m68k-netbsd\
tdir_sun3=m68k-sunos4\
tdir_elf32bmip=mipseb-netbsd\
tdir_elf32lmip=mipsel-netbsd\
tdir_elf32ppc=powerpc-eabi\
tdir_elf32lppc=powerpcle-eabi\
tdir_sparcnbsd=sparc-netbsd\
tdir_elf32_sparc=sparc-solaris2\
tdir_sun4=sparc-sunos4\
tdir_shunx=sh-netbsdcoff\
tdir_shlunx=sh-netbsdcoff%g
s%@EMULATION_OFILES@% eelf_i386.o ei386linux.o eelf64alpha.o earmnbsd.o ei386pe.o ei386go32.o ei386nbsd.o ei386nw.o em68kelf.o em68knbsd.o esun3.o eelf32bmip.o eelf32lmip.o eelf32ppc.o eelf32lppc.o esparcnbsd.o eelf32_sparc.o esun4.o eshunx.o eshlunx.o%g
s%@TESTBFDLIB@%../bfd/.libs/libbfd.a%g

CEOF