Module Name:    src
Committed By:   mrg
Date:           Mon Dec 14 06:21:12 UTC 2009

Modified Files:
        src/compat [matt-nb5-mips64]: Makefile Makefile.compat README
Added Files:
        src/compat [matt-nb5-mips64]: Makefile.common Makefile.m32
            Makefile.md_subdir
        src/compat/amd64/i386 [matt-nb5-mips64]: Makefile bsd.i386.mk
        src/compat/dirshack [matt-nb5-mips64]: Makefile
        src/compat/mips64/64 [matt-nb5-mips64]: Makefile bsd.64.mk
        src/compat/mips64/o32 [matt-nb5-mips64]: Makefile bsd.o32.mk
        src/compat/sparc64/sparc [matt-nb5-mips64]: Makefile bsd.sparc.mk
Removed Files:
        src/compat [matt-nb5-mips64]: build-makefiles
        src/compat/external/bsd/openldap/lib [matt-nb5-mips64]: Makefile
        src/compat/external/bsd/openldap/lib/liblber [matt-nb5-mips64]:
            Makefile
        src/compat/external/bsd/openldap/lib/libldap [matt-nb5-mips64]:
            Makefile
        src/compat/external/bsd/openldap/lib/libldap_r [matt-nb5-mips64]:
            Makefile
        src/compat/external/bsd/openldap/lib/liblutil [matt-nb5-mips64]:
            Makefile
        src/compat/gnu/lib [matt-nb5-mips64]: Makefile
        src/compat/gnu/lib/crtstuff4 [matt-nb5-mips64]: Makefile
        src/compat/gnu/lib/libbfd [matt-nb5-mips64]: Makefile
        src/compat/gnu/lib/libgcc4 [matt-nb5-mips64]: Makefile Makefile.inc
        src/compat/gnu/lib/libgcc4/libgcc [matt-nb5-mips64]: Makefile
        src/compat/gnu/lib/libgcc4/libgcc_eh [matt-nb5-mips64]: Makefile
        src/compat/gnu/lib/libgcc4/libgcc_s [matt-nb5-mips64]: Makefile
        src/compat/gnu/lib/libgcc4/libgcov [matt-nb5-mips64]: Makefile
        src/compat/gnu/lib/libiberty [matt-nb5-mips64]: Makefile
        src/compat/gnu/lib/libmalloc [matt-nb5-mips64]: Makefile
        src/compat/gnu/lib/libobjc4 [matt-nb5-mips64]: Makefile
        src/compat/gnu/lib/libopcodes [matt-nb5-mips64]: Makefile
        src/compat/gnu/lib/libstdc++-v3_4 [matt-nb5-mips64]: Makefile
        src/compat/gnu/lib/libstdc++-v3_4/include [matt-nb5-mips64]: Makefile
        src/compat/gnu/lib/libsupc++4 [matt-nb5-mips64]: Makefile
        src/compat/lib [matt-nb5-mips64]: Makefile Makefile.inc
        src/compat/lib/csu [matt-nb5-mips64]: Makefile Makefile.real
        src/compat/lib/csu/i386_elf [matt-nb5-mips64]: Makefile crt0.c
        src/compat/lib/csu/mips [matt-nb5-mips64]: Makefile crt0.c
        src/compat/lib/csu/sparc_elf [matt-nb5-mips64]: Makefile crt0.c
        src/compat/lib/i18n_module [matt-nb5-mips64]: Makefile Makefile.inc
        src/compat/lib/i18n_module/BIG5 [matt-nb5-mips64]: Makefile
        src/compat/lib/i18n_module/DECHanyu [matt-nb5-mips64]: Makefile
        src/compat/lib/i18n_module/EUC [matt-nb5-mips64]: Makefile
        src/compat/lib/i18n_module/EUCTW [matt-nb5-mips64]: Makefile
        src/compat/lib/i18n_module/GBK2K [matt-nb5-mips64]: Makefile
        src/compat/lib/i18n_module/HZ [matt-nb5-mips64]: Makefile
        src/compat/lib/i18n_module/ISO2022 [matt-nb5-mips64]: Makefile
        src/compat/lib/i18n_module/JOHAB [matt-nb5-mips64]: Makefile
        src/compat/lib/i18n_module/MSKanji [matt-nb5-mips64]: Makefile
        src/compat/lib/i18n_module/UES [matt-nb5-mips64]: Makefile
        src/compat/lib/i18n_module/UTF1632 [matt-nb5-mips64]: Makefile
        src/compat/lib/i18n_module/UTF7 [matt-nb5-mips64]: Makefile
        src/compat/lib/i18n_module/UTF8 [matt-nb5-mips64]: Makefile
        src/compat/lib/i18n_module/VIQR [matt-nb5-mips64]: Makefile
        src/compat/lib/i18n_module/ZW [matt-nb5-mips64]: Makefile
        src/compat/lib/i18n_module/iconv_none [matt-nb5-mips64]: Makefile
        src/compat/lib/i18n_module/iconv_std [matt-nb5-mips64]: Makefile
        src/compat/lib/i18n_module/mapper_646 [matt-nb5-mips64]: Makefile
        src/compat/lib/i18n_module/mapper_none [matt-nb5-mips64]: Makefile
        src/compat/lib/i18n_module/mapper_parallel [matt-nb5-mips64]: Makefile
        src/compat/lib/i18n_module/mapper_serial [matt-nb5-mips64]: Makefile
        src/compat/lib/i18n_module/mapper_std [matt-nb5-mips64]: Makefile
        src/compat/lib/i18n_module/mapper_zone [matt-nb5-mips64]: Makefile
        src/compat/lib/libarch [matt-nb5-mips64]: Makefile
        src/compat/lib/libasn1 [matt-nb5-mips64]: Makefile
        src/compat/lib/libatf-c [matt-nb5-mips64]: Makefile
        src/compat/lib/libatf-c++ [matt-nb5-mips64]: Makefile
        src/compat/lib/libbind9 [matt-nb5-mips64]: Makefile
        src/compat/lib/libbluetooth [matt-nb5-mips64]: Makefile
        src/compat/lib/libbsdmalloc [matt-nb5-mips64]: Makefile
        src/compat/lib/libbz2 [matt-nb5-mips64]: Makefile
        src/compat/lib/libc [matt-nb5-mips64]: Makefile Makefile.inc
        src/compat/lib/libcom_err [matt-nb5-mips64]: Makefile
        src/compat/lib/libcompat [matt-nb5-mips64]: Makefile
        src/compat/lib/libcrypt [matt-nb5-mips64]: Makefile
        src/compat/lib/libcrypto [matt-nb5-mips64]: Makefile
        src/compat/lib/libcrypto_idea [matt-nb5-mips64]: Makefile
        src/compat/lib/libcrypto_mdc2 [matt-nb5-mips64]: Makefile
        src/compat/lib/libcrypto_rc5 [matt-nb5-mips64]: Makefile
        src/compat/lib/libcurses [matt-nb5-mips64]: Makefile
        src/compat/lib/libcurses/PSD.doc [matt-nb5-mips64]: Makefile
        src/compat/lib/libdes [matt-nb5-mips64]: Makefile
        src/compat/lib/libdns [matt-nb5-mips64]: Makefile
        src/compat/lib/libedit [matt-nb5-mips64]: Makefile
        src/compat/lib/libedit/readline [matt-nb5-mips64]: Makefile
        src/compat/lib/libevent [matt-nb5-mips64]: Makefile
        src/compat/lib/libform [matt-nb5-mips64]: Makefile
        src/compat/lib/libgssapi [matt-nb5-mips64]: Makefile
        src/compat/lib/libhdb [matt-nb5-mips64]: Makefile
        src/compat/lib/libheimntlm [matt-nb5-mips64]: Makefile
        src/compat/lib/libhx509 [matt-nb5-mips64]: Makefile
        src/compat/lib/libintl [matt-nb5-mips64]: Makefile
        src/compat/lib/libipsec [matt-nb5-mips64]: Makefile
        src/compat/lib/libisc [matt-nb5-mips64]: Makefile
        src/compat/lib/libisccc [matt-nb5-mips64]: Makefile
        src/compat/lib/libisccfg [matt-nb5-mips64]: Makefile
        src/compat/lib/libiscsi [matt-nb5-mips64]: Makefile
        src/compat/lib/libkadm5clnt [matt-nb5-mips64]: Makefile
        src/compat/lib/libkadm5srv [matt-nb5-mips64]: Makefile
        src/compat/lib/libkafs [matt-nb5-mips64]: Makefile
        src/compat/lib/libkrb5 [matt-nb5-mips64]: Makefile
        src/compat/lib/libkvm [matt-nb5-mips64]: Makefile
        src/compat/lib/libl [matt-nb5-mips64]: Makefile
        src/compat/lib/liblwres [matt-nb5-mips64]: Makefile
        src/compat/lib/libm [matt-nb5-mips64]: Makefile
        src/compat/lib/libmagic [matt-nb5-mips64]: Makefile
        src/compat/lib/libmenu [matt-nb5-mips64]: Makefile
        src/compat/lib/libossaudio [matt-nb5-mips64]: Makefile
        src/compat/lib/libp2k [matt-nb5-mips64]: Makefile
        src/compat/lib/libpam [matt-nb5-mips64]: Makefile Makefile.inc
        src/compat/lib/libpam/libpam [matt-nb5-mips64]: Makefile
        src/compat/lib/libpam/modules [matt-nb5-mips64]: Makefile
        src/compat/lib/libpam/modules/pam_afslog [matt-nb5-mips64]: Makefile
        src/compat/lib/libpam/modules/pam_chroot [matt-nb5-mips64]: Makefile
        src/compat/lib/libpam/modules/pam_deny [matt-nb5-mips64]: Makefile
        src/compat/lib/libpam/modules/pam_echo [matt-nb5-mips64]: Makefile
        src/compat/lib/libpam/modules/pam_exec [matt-nb5-mips64]: Makefile
        src/compat/lib/libpam/modules/pam_ftpusers [matt-nb5-mips64]: Makefile
        src/compat/lib/libpam/modules/pam_group [matt-nb5-mips64]: Makefile
        src/compat/lib/libpam/modules/pam_guest [matt-nb5-mips64]: Makefile
        src/compat/lib/libpam/modules/pam_krb5 [matt-nb5-mips64]: Makefile
        src/compat/lib/libpam/modules/pam_ksu [matt-nb5-mips64]: Makefile
        src/compat/lib/libpam/modules/pam_lastlog [matt-nb5-mips64]: Makefile
        src/compat/lib/libpam/modules/pam_login_access [matt-nb5-mips64]:
            Makefile
        src/compat/lib/libpam/modules/pam_nologin [matt-nb5-mips64]: Makefile
        src/compat/lib/libpam/modules/pam_permit [matt-nb5-mips64]: Makefile
        src/compat/lib/libpam/modules/pam_radius [matt-nb5-mips64]: Makefile
        src/compat/lib/libpam/modules/pam_rhosts [matt-nb5-mips64]: Makefile
        src/compat/lib/libpam/modules/pam_rootok [matt-nb5-mips64]: Makefile
        src/compat/lib/libpam/modules/pam_securetty [matt-nb5-mips64]: Makefile
        src/compat/lib/libpam/modules/pam_self [matt-nb5-mips64]: Makefile
        src/compat/lib/libpam/modules/pam_skey [matt-nb5-mips64]: Makefile
        src/compat/lib/libpam/modules/pam_ssh [matt-nb5-mips64]: Makefile
        src/compat/lib/libpam/modules/pam_unix [matt-nb5-mips64]: Makefile
        src/compat/lib/libpcap [matt-nb5-mips64]: Makefile
        src/compat/lib/libpci [matt-nb5-mips64]: Makefile
        src/compat/lib/libpmc [matt-nb5-mips64]: Makefile
        src/compat/lib/libposix [matt-nb5-mips64]: Makefile
        src/compat/lib/libprop [matt-nb5-mips64]: Makefile
        src/compat/lib/libpthread [matt-nb5-mips64]: Makefile
        src/compat/lib/libpthread_dbg [matt-nb5-mips64]: Makefile
        src/compat/lib/libpuffs [matt-nb5-mips64]: Makefile
        src/compat/lib/libradius [matt-nb5-mips64]: Makefile
        src/compat/lib/librefuse [matt-nb5-mips64]: Makefile
        src/compat/lib/libresolv [matt-nb5-mips64]: Makefile
        src/compat/lib/librmt [matt-nb5-mips64]: Makefile
        src/compat/lib/libroken [matt-nb5-mips64]: Makefile
        src/compat/lib/librpcsvc [matt-nb5-mips64]: Makefile
        src/compat/lib/librt [matt-nb5-mips64]: Makefile
        src/compat/lib/librump [matt-nb5-mips64]: Makefile
        src/compat/lib/librumpnet [matt-nb5-mips64]: Makefile
        src/compat/lib/librumpuser [matt-nb5-mips64]: Makefile
        src/compat/lib/libsdp [matt-nb5-mips64]: Makefile
        src/compat/lib/libskey [matt-nb5-mips64]: Makefile
        src/compat/lib/libsl [matt-nb5-mips64]: Makefile
        src/compat/lib/libss [matt-nb5-mips64]: Makefile
        src/compat/lib/libssh [matt-nb5-mips64]: Makefile
        src/compat/lib/libssl [matt-nb5-mips64]: Makefile
        src/compat/lib/libtelnet [matt-nb5-mips64]: Makefile
        src/compat/lib/libterm [matt-nb5-mips64]: Makefile
        src/compat/lib/libukfs [matt-nb5-mips64]: Makefile
        src/compat/lib/libusbhid [matt-nb5-mips64]: Makefile
        src/compat/lib/libutil [matt-nb5-mips64]: Makefile
        src/compat/lib/libvers [matt-nb5-mips64]: Makefile
        src/compat/lib/libwrap [matt-nb5-mips64]: Makefile
        src/compat/lib/liby [matt-nb5-mips64]: Makefile
        src/compat/lib/libz [matt-nb5-mips64]: Makefile
        src/compat/libexec/ld.elf_so [matt-nb5-mips64]: Makefile

Log Message:
merge the new src/compat build into the place it was actually born.
this replaces the old src/compat with a method that re-traverses the
library directories with a different set of flags, and is capable of
building more than one compat ABI.


To generate a diff of this commit:
cvs rdiff -u -r1.1.8.1 -r1.1.8.2 src/compat/Makefile
cvs rdiff -u -r0 -r1.1.2.1 src/compat/Makefile.common src/compat/Makefile.m32 \
    src/compat/Makefile.md_subdir
cvs rdiff -u -r1.3.8.1 -r1.3.8.2 src/compat/Makefile.compat
cvs rdiff -u -r1.2 -r1.2.6.1 src/compat/README
cvs rdiff -u -r1.4 -r0 src/compat/build-makefiles
cvs rdiff -u -r0 -r1.1.2.2 src/compat/amd64/i386/Makefile \
    src/compat/amd64/i386/bsd.i386.mk
cvs rdiff -u -r0 -r1.1.2.2 src/compat/dirshack/Makefile
cvs rdiff -u -r1.1.2.1 -r0 src/compat/external/bsd/openldap/lib/Makefile
cvs rdiff -u -r1.4 -r0 src/compat/external/bsd/openldap/lib/liblber/Makefile
cvs rdiff -u -r1.4 -r0 src/compat/external/bsd/openldap/lib/libldap/Makefile
cvs rdiff -u -r1.4 -r0 \
    src/compat/external/bsd/openldap/lib/libldap_r/Makefile
cvs rdiff -u -r1.4 -r0 src/compat/external/bsd/openldap/lib/liblutil/Makefile
cvs rdiff -u -r1.1.2.1 -r0 src/compat/gnu/lib/Makefile
cvs rdiff -u -r1.4 -r0 src/compat/gnu/lib/crtstuff4/Makefile
cvs rdiff -u -r1.4 -r0 src/compat/gnu/lib/libbfd/Makefile
cvs rdiff -u -r1.1.2.1 -r0 src/compat/gnu/lib/libgcc4/Makefile
cvs rdiff -u -r1.1 -r0 src/compat/gnu/lib/libgcc4/Makefile.inc
cvs rdiff -u -r1.4 -r0 src/compat/gnu/lib/libgcc4/libgcc/Makefile
cvs rdiff -u -r1.4 -r0 src/compat/gnu/lib/libgcc4/libgcc_eh/Makefile
cvs rdiff -u -r1.4 -r0 src/compat/gnu/lib/libgcc4/libgcc_s/Makefile
cvs rdiff -u -r1.4 -r0 src/compat/gnu/lib/libgcc4/libgcov/Makefile
cvs rdiff -u -r1.4 -r0 src/compat/gnu/lib/libiberty/Makefile
cvs rdiff -u -r1.4 -r0 src/compat/gnu/lib/libmalloc/Makefile
cvs rdiff -u -r1.4 -r0 src/compat/gnu/lib/libobjc4/Makefile
cvs rdiff -u -r1.4 -r0 src/compat/gnu/lib/libopcodes/Makefile
cvs rdiff -u -r1.4 -r0 src/compat/gnu/lib/libstdc++-v3_4/Makefile
cvs rdiff -u -r1.2 -r0 src/compat/gnu/lib/libstdc++-v3_4/include/Makefile
cvs rdiff -u -r1.4 -r0 src/compat/gnu/lib/libsupc++4/Makefile
cvs rdiff -u -r1.1.2.1 -r0 src/compat/lib/Makefile
cvs rdiff -u -r1.1 -r0 src/compat/lib/Makefile.inc
cvs rdiff -u -r1.3.8.1 -r0 src/compat/lib/csu/Makefile
cvs rdiff -u -r1.2 -r0 src/compat/lib/csu/Makefile.real
cvs rdiff -u -r1.4 -r0 src/compat/lib/csu/i386_elf/Makefile
cvs rdiff -u -r1.1 -r0 src/compat/lib/csu/i386_elf/crt0.c
cvs rdiff -u -r1.1.2.1 -r0 src/compat/lib/csu/mips/Makefile \
    src/compat/lib/csu/mips/crt0.c
cvs rdiff -u -r1.4 -r0 src/compat/lib/csu/sparc_elf/Makefile
cvs rdiff -u -r1.1 -r0 src/compat/lib/csu/sparc_elf/crt0.c
cvs rdiff -u -r1.1.2.1 -r0 src/compat/lib/i18n_module/Makefile
cvs rdiff -u -r1.1 -r0 src/compat/lib/i18n_module/Makefile.inc
cvs rdiff -u -r1.4 -r0 src/compat/lib/i18n_module/BIG5/Makefile
cvs rdiff -u -r1.4 -r0 src/compat/lib/i18n_module/DECHanyu/Makefile
cvs rdiff -u -r1.4 -r0 src/compat/lib/i18n_module/EUC/Makefile
cvs rdiff -u -r1.4 -r0 src/compat/lib/i18n_module/EUCTW/Makefile
cvs rdiff -u -r1.4 -r0 src/compat/lib/i18n_module/GBK2K/Makefile
cvs rdiff -u -r1.4 -r0 src/compat/lib/i18n_module/HZ/Makefile
cvs rdiff -u -r1.4 -r0 src/compat/lib/i18n_module/ISO2022/Makefile
cvs rdiff -u -r1.4 -r0 src/compat/lib/i18n_module/JOHAB/Makefile
cvs rdiff -u -r1.4 -r0 src/compat/lib/i18n_module/MSKanji/Makefile
cvs rdiff -u -r1.4 -r0 src/compat/lib/i18n_module/UES/Makefile
cvs rdiff -u -r1.4 -r0 src/compat/lib/i18n_module/UTF1632/Makefile
cvs rdiff -u -r1.4 -r0 src/compat/lib/i18n_module/UTF7/Makefile
cvs rdiff -u -r1.4 -r0 src/compat/lib/i18n_module/UTF8/Makefile
cvs rdiff -u -r1.4 -r0 src/compat/lib/i18n_module/VIQR/Makefile
cvs rdiff -u -r1.4 -r0 src/compat/lib/i18n_module/ZW/Makefile
cvs rdiff -u -r1.4 -r0 src/compat/lib/i18n_module/iconv_none/Makefile
cvs rdiff -u -r1.4 -r0 src/compat/lib/i18n_module/iconv_std/Makefile
cvs rdiff -u -r1.4 -r0 src/compat/lib/i18n_module/mapper_646/Makefile
cvs rdiff -u -r1.4 -r0 src/compat/lib/i18n_module/mapper_none/Makefile
cvs rdiff -u -r1.4 -r0 src/compat/lib/i18n_module/mapper_parallel/Makefile
cvs rdiff -u -r1.4 -r0 src/compat/lib/i18n_module/mapper_serial/Makefile
cvs rdiff -u -r1.4 -r0 src/compat/lib/i18n_module/mapper_std/Makefile
cvs rdiff -u -r1.4 -r0 src/compat/lib/i18n_module/mapper_zone/Makefile
cvs rdiff -u -r1.4 -r0 src/compat/lib/libarch/Makefile
cvs rdiff -u -r1.4 -r0 src/compat/lib/libasn1/Makefile
cvs rdiff -u -r1.4 -r0 src/compat/lib/libatf-c/Makefile
cvs rdiff -u -r1.4 -r0 src/compat/lib/libatf-c++/Makefile
cvs rdiff -u -r1.4 -r0 src/compat/lib/libbind9/Makefile
cvs rdiff -u -r1.4 -r0 src/compat/lib/libbluetooth/Makefile
cvs rdiff -u -r1.4 -r0 src/compat/lib/libbsdmalloc/Makefile
cvs rdiff -u -r1.4 -r0 src/compat/lib/libbz2/Makefile
cvs rdiff -u -r1.4 -r0 src/compat/lib/libc/Makefile
cvs rdiff -u -r1.1 -r0 src/compat/lib/libc/Makefile.inc
cvs rdiff -u -r1.4 -r0 src/compat/lib/libcom_err/Makefile
cvs rdiff -u -r1.4 -r0 src/compat/lib/libcompat/Makefile
cvs rdiff -u -r1.4 -r0 src/compat/lib/libcrypt/Makefile
cvs rdiff -u -r1.4 -r0 src/compat/lib/libcrypto/Makefile
cvs rdiff -u -r1.1.2.2 -r0 src/compat/lib/libcrypto_idea/Makefile
cvs rdiff -u -r1.1.2.2 -r0 src/compat/lib/libcrypto_mdc2/Makefile
cvs rdiff -u -r1.1.2.2 -r0 src/compat/lib/libcrypto_rc5/Makefile
cvs rdiff -u -r1.4 -r0 src/compat/lib/libcurses/Makefile
cvs rdiff -u -r1.1 -r0 src/compat/lib/libcurses/PSD.doc/Makefile
cvs rdiff -u -r1.4 -r0 src/compat/lib/libdes/Makefile
cvs rdiff -u -r1.4 -r0 src/compat/lib/libdns/Makefile
cvs rdiff -u -r1.4 -r0 src/compat/lib/libedit/Makefile
cvs rdiff -u -r1.1 -r0 src/compat/lib/libedit/readline/Makefile
cvs rdiff -u -r1.4 -r0 src/compat/lib/libevent/Makefile
cvs rdiff -u -r1.4 -r0 src/compat/lib/libform/Makefile
cvs rdiff -u -r1.4 -r0 src/compat/lib/libgssapi/Makefile
cvs rdiff -u -r1.4 -r0 src/compat/lib/libhdb/Makefile
cvs rdiff -u -r1.4 -r0 src/compat/lib/libheimntlm/Makefile
cvs rdiff -u -r1.4 -r0 src/compat/lib/libhx509/Makefile
cvs rdiff -u -r1.4 -r0 src/compat/lib/libintl/Makefile
cvs rdiff -u -r1.4 -r0 src/compat/lib/libipsec/Makefile
cvs rdiff -u -r1.4 -r0 src/compat/lib/libisc/Makefile
cvs rdiff -u -r1.4 -r0 src/compat/lib/libisccc/Makefile
cvs rdiff -u -r1.4 -r0 src/compat/lib/libisccfg/Makefile
cvs rdiff -u -r1.4 -r0 src/compat/lib/libiscsi/Makefile
cvs rdiff -u -r1.4 -r0 src/compat/lib/libkadm5clnt/Makefile
cvs rdiff -u -r1.4 -r0 src/compat/lib/libkadm5srv/Makefile
cvs rdiff -u -r1.4 -r0 src/compat/lib/libkafs/Makefile
cvs rdiff -u -r1.4 -r0 src/compat/lib/libkrb5/Makefile
cvs rdiff -u -r1.4 -r0 src/compat/lib/libkvm/Makefile
cvs rdiff -u -r1.4 -r0 src/compat/lib/libl/Makefile
cvs rdiff -u -r1.4 -r0 src/compat/lib/liblwres/Makefile
cvs rdiff -u -r1.4 -r0 src/compat/lib/libm/Makefile
cvs rdiff -u -r1.4 -r0 src/compat/lib/libmagic/Makefile
cvs rdiff -u -r1.4 -r0 src/compat/lib/libmenu/Makefile
cvs rdiff -u -r1.4 -r0 src/compat/lib/libossaudio/Makefile
cvs rdiff -u -r1.1 -r0 src/compat/lib/libp2k/Makefile
cvs rdiff -u -r1.4 -r0 src/compat/lib/libpam/Makefile
cvs rdiff -u -r1.1 -r0 src/compat/lib/libpam/Makefile.inc
cvs rdiff -u -r1.1 -r0 src/compat/lib/libpam/libpam/Makefile
cvs rdiff -u -r1.1.2.1 -r0 src/compat/lib/libpam/modules/Makefile
cvs rdiff -u -r1.3 -r0 src/compat/lib/libpam/modules/pam_afslog/Makefile
cvs rdiff -u -r1.3 -r0 src/compat/lib/libpam/modules/pam_chroot/Makefile
cvs rdiff -u -r1.3 -r0 src/compat/lib/libpam/modules/pam_deny/Makefile
cvs rdiff -u -r1.3 -r0 src/compat/lib/libpam/modules/pam_echo/Makefile
cvs rdiff -u -r1.3 -r0 src/compat/lib/libpam/modules/pam_exec/Makefile
cvs rdiff -u -r1.3 -r0 src/compat/lib/libpam/modules/pam_ftpusers/Makefile
cvs rdiff -u -r1.3 -r0 src/compat/lib/libpam/modules/pam_group/Makefile
cvs rdiff -u -r1.2 -r0 src/compat/lib/libpam/modules/pam_guest/Makefile
cvs rdiff -u -r1.3 -r0 src/compat/lib/libpam/modules/pam_krb5/Makefile
cvs rdiff -u -r1.3 -r0 src/compat/lib/libpam/modules/pam_ksu/Makefile
cvs rdiff -u -r1.3 -r0 src/compat/lib/libpam/modules/pam_lastlog/Makefile
cvs rdiff -u -r1.2 -r0 \
    src/compat/lib/libpam/modules/pam_login_access/Makefile
cvs rdiff -u -r1.3 -r0 src/compat/lib/libpam/modules/pam_nologin/Makefile
cvs rdiff -u -r1.2 -r0 src/compat/lib/libpam/modules/pam_permit/Makefile
cvs rdiff -u -r1.3 -r0 src/compat/lib/libpam/modules/pam_radius/Makefile
cvs rdiff -u -r1.2 -r0 src/compat/lib/libpam/modules/pam_rhosts/Makefile
cvs rdiff -u -r1.2 -r0 src/compat/lib/libpam/modules/pam_rootok/Makefile
cvs rdiff -u -r1.2 -r0 src/compat/lib/libpam/modules/pam_securetty/Makefile
cvs rdiff -u -r1.2 -r0 src/compat/lib/libpam/modules/pam_self/Makefile
cvs rdiff -u -r1.3 -r0 src/compat/lib/libpam/modules/pam_skey/Makefile
cvs rdiff -u -r1.3 -r0 src/compat/lib/libpam/modules/pam_ssh/Makefile
cvs rdiff -u -r1.3 -r0 src/compat/lib/libpam/modules/pam_unix/Makefile
cvs rdiff -u -r1.4 -r0 src/compat/lib/libpcap/Makefile
cvs rdiff -u -r1.4 -r0 src/compat/lib/libpci/Makefile
cvs rdiff -u -r1.4 -r0 src/compat/lib/libpmc/Makefile
cvs rdiff -u -r1.4 -r0 src/compat/lib/libposix/Makefile
cvs rdiff -u -r1.4 -r0 src/compat/lib/libprop/Makefile
cvs rdiff -u -r1.4 -r0 src/compat/lib/libpthread/Makefile
cvs rdiff -u -r1.4 -r0 src/compat/lib/libpthread_dbg/Makefile
cvs rdiff -u -r1.4 -r0 src/compat/lib/libpuffs/Makefile
cvs rdiff -u -r1.4 -r0 src/compat/lib/libradius/Makefile
cvs rdiff -u -r1.1 -r0 src/compat/lib/librefuse/Makefile
cvs rdiff -u -r1.4 -r0 src/compat/lib/libresolv/Makefile
cvs rdiff -u -r1.4 -r0 src/compat/lib/librmt/Makefile
cvs rdiff -u -r1.4 -r0 src/compat/lib/libroken/Makefile
cvs rdiff -u -r1.4 -r0 src/compat/lib/librpcsvc/Makefile
cvs rdiff -u -r1.4 -r0 src/compat/lib/librt/Makefile
cvs rdiff -u -r1.4 -r0 src/compat/lib/librump/Makefile
cvs rdiff -u -r1.4 -r0 src/compat/lib/librumpnet/Makefile
cvs rdiff -u -r1.4 -r0 src/compat/lib/librumpuser/Makefile
cvs rdiff -u -r1.4 -r0 src/compat/lib/libsdp/Makefile
cvs rdiff -u -r1.4 -r0 src/compat/lib/libskey/Makefile
cvs rdiff -u -r1.4 -r0 src/compat/lib/libsl/Makefile
cvs rdiff -u -r1.4 -r0 src/compat/lib/libss/Makefile
cvs rdiff -u -r1.4 -r0 src/compat/lib/libssh/Makefile
cvs rdiff -u -r1.4 -r0 src/compat/lib/libssl/Makefile
cvs rdiff -u -r1.4 -r0 src/compat/lib/libtelnet/Makefile
cvs rdiff -u -r1.4 -r0 src/compat/lib/libterm/Makefile
cvs rdiff -u -r1.4 -r0 src/compat/lib/libukfs/Makefile
cvs rdiff -u -r1.4 -r0 src/compat/lib/libusbhid/Makefile
cvs rdiff -u -r1.4 -r0 src/compat/lib/libutil/Makefile
cvs rdiff -u -r1.4 -r0 src/compat/lib/libvers/Makefile
cvs rdiff -u -r1.4 -r0 src/compat/lib/libwrap/Makefile
cvs rdiff -u -r1.4 -r0 src/compat/lib/liby/Makefile
cvs rdiff -u -r1.4 -r0 src/compat/lib/libz/Makefile
cvs rdiff -u -r1.1.2.1.4.1 -r0 src/compat/libexec/ld.elf_so/Makefile
cvs rdiff -u -r0 -r1.1.2.2 src/compat/mips64/64/Makefile \
    src/compat/mips64/64/bsd.64.mk
cvs rdiff -u -r0 -r1.1.2.2 src/compat/mips64/o32/Makefile \
    src/compat/mips64/o32/bsd.o32.mk
cvs rdiff -u -r0 -r1.1.2.2 src/compat/sparc64/sparc/Makefile \
    src/compat/sparc64/sparc/bsd.sparc.mk

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/compat/Makefile
diff -u src/compat/Makefile:1.1.8.1 src/compat/Makefile:1.1.8.2
--- src/compat/Makefile:1.1.8.1	Sun Sep 13 21:21:16 2009
+++ src/compat/Makefile	Mon Dec 14 06:20:58 2009
@@ -1,4 +1,4 @@
-#	$NetBSD: Makefile,v 1.1.8.1 2009/09/13 21:21:16 matt Exp $
+#	$NetBSD: Makefile,v 1.1.8.2 2009/12/14 06:20:58 mrg Exp $
 
 # Build 32-bit compat versions of:
 #	src/gnu/lib/libgcc4 into ${DESTDIR}/usr/lib/<32arch>
@@ -9,20 +9,14 @@
 
 .include <bsd.own.mk>
 
-.if ${MKCOMPAT} != "no" && \
-    (${MACHINE} == "sparc64" || ${MACHINE} == "amd64") || \
-    (${MACHINE_ARCH} == "mips64eb" || ${MACHINE_ARCH} == "mips64el")
-
+.if ${MKCOMPAT} != "no"
 .if !make(includes)
-SUBDIR=	gnu/lib/crtstuff4 .WAIT \
-	lib/csu .WAIT \
-	gnu/lib/libgcc4 .WAIT \
-	lib/libc .WAIT \
-	lib/libutil .WAIT \
-	lib gnu/lib .WAIT \
-	libexec/ld.elf_so
-.endif
 
+.include "Makefile.md_subdir"
+
+SUBDIR=	dirshack .WAIT ${MD_SUBDIR}
+
+.endif
 .endif
 
 .include <bsd.subdir.mk>

Index: src/compat/Makefile.compat
diff -u src/compat/Makefile.compat:1.3.8.1 src/compat/Makefile.compat:1.3.8.2
--- src/compat/Makefile.compat:1.3.8.1	Sun Sep 13 21:21:16 2009
+++ src/compat/Makefile.compat	Mon Dec 14 06:20:58 2009
@@ -1,71 +1,42 @@
-#	$NetBSD: Makefile.compat,v 1.3.8.1 2009/09/13 21:21:16 matt Exp $
+#	$NetBSD: Makefile.compat,v 1.3.8.2 2009/12/14 06:20:58 mrg Exp $
 
-# XXX ugly
-.if ${MACHINE} == "sparc64"
-LD+=			-m elf32_sparc
-LDFLAGS+=		-m32
-LD32DIR=		sparc
-ARCH32DIR=		sparc
-COPTS+=			-m32
-CPUFLAGS+=		-m32
-LDADD+=			-m32
-MKDEPFLAGS+=		-m32
-
-.elif ${MACHINE} == "amd64"
-LD+=			-m elf_i386
-LDFLAGS+=		-m32
-LD32DIR=		i386
-ARCH32DIR=		i386
-COPTS+=			-m32
-CPUFLAGS+=		-m32
-LDADD+=			-m32
-MKDEPFLAGS+=		-m32
-
-.elif ${MACHINE_ARCH} == "mips64eb" || ${MACHINE_ARCH} == "mips64el"
-LD+=			-m elf64${MACHINE_ARCH:S/mips64e//}tsmip
-LDFLAGS+=		-mabi=64
-LD32DIR=		lib64
-ARCH32DIR=		${MACHINE_ARCH}
-COPTS+=			-mabi=64
-CPUFLAGS+=		-mabi=64
-LDADD+=			-mabi=64
-MKDEPFLAGS+=		-mabi=64
-
-.endif
-
-LIBDIR=			/usr/lib/${LD32DIR}
-SHLIBDIR=		/usr/lib/${LD32DIR}
-SHLIBINSTALLDIR=	/usr/lib/${LD32DIR}
-
-COMMON_MACHINE_ARCH=	${LD32DIR}
-LIBC_MACHINE_ARCH=	${LD32DIR}
-BFD_MACHINE_ARCH=	${LD32DIR}
-CRYPTO_MACHINE_CPU=	${LD32DIR}
-KVM_MACHINE_ARCH=	${LD32DIR}
-PTHREAD_MACHINE_ARCH=	${LD32DIR}
-LDELFSO_MACHINE_CPU=	${LD32DIR}
-
-_GCC_CRTBEGIN?=		${DESTDIR}/usr/lib/${LD32DIR}/crtbegin.o
-_GCC_CRTBEGINS?=	${DESTDIR}/usr/lib/${LD32DIR}/crtbeginS.o
-_GCC_CRTEND?=		${DESTDIR}/usr/lib/${LD32DIR}/crtend.o
-_GCC_CRTENDS?=		${DESTDIR}/usr/lib/${LD32DIR}/crtendS.o
-_GCC_CRTDIR?=		${DESTDIR}/usr/lib/${LD32DIR}
-_GCC_LIBGCCDIR?=	${DESTDIR}/usr/lib/${LD32DIR}
+#
+# Makefile fragment to help implement a multilib set of libraries
+#
+# expects MLIBDIR to be set to the extra path component
+#
+
+.ifndef _COMPAT_OPTIONS_MK_ # {
+_COMPAT_OPTIONS_MK_=1
+
+LIBDIR=			/usr/lib/${MLIBDIR}
+SHLIBDIR=		/usr/lib/${MLIBDIR}
+SHLIBINSTALLDIR=	/usr/lib/${MLIBDIR}
+
+_GCC_CRTBEGIN=		${DESTDIR}/usr/lib/${MLIBDIR}/crtbegin.o
+_GCC_CRTBEGINS=		${DESTDIR}/usr/lib/${MLIBDIR}/crtbeginS.o
+_GCC_CRTEND=		${DESTDIR}/usr/lib/${MLIBDIR}/crtend.o
+_GCC_CRTENDS=		${DESTDIR}/usr/lib/${MLIBDIR}/crtendS.o
+_GCC_CRTDIR=		${DESTDIR}/usr/lib/${MLIBDIR}
+_GCC_LIBGCCDIR=		${DESTDIR}/usr/lib/${MLIBDIR}
 
 NOSHARE=	# defined
-NONLS=	# defined
+NOLINT=		# defined
+NONLS=		# defined
+NOMAN=		# defined
+NOINFO=		# defined
 NOCHECKVER=	# defined
 
-LIBC_DIR=	${NETBSDSRCDIR}/compat/lib/libc
-
 # ld.elf_so
 SHLINKINSTALLDIR=	/usr/libexec
 
 # XXX
 EXTRALIBDIRS=	${DESTDIR}${LIBDIR} ${DESTDIR}${LIBDIR}/i18n ${DESTDIR}${LIBDIR}/security
 .PRECIOUS:      ${EXTRALIBDIRS}
-install:	${EXTRALIBDIRS} .WAIT
+# XXX this should be "install:" but that doesn't work for some reason
+obj:	${EXTRALIBDIRS}
 ${EXTRALIBDIRS}: .EXEC
+	@if [ -z "${MLIBDIR}" ]; then echo "BAH"; false; fi
 	@if [ ! -d ${.TARGET} ] ; then \
 		${_MKSHMSG_CREATE} ${.TARGET}; \
 		${_MKSHECHO} ${INSTALL_DIR} -o ${BINOWN} -g ${BINGRP} -m 755 \
@@ -75,3 +46,5 @@
 	fi
 # Make sure the base dir is created first.
 ${DESTDIR}${LIBDIR}/i18n ${DESTDIR}${LIBDIR}/security: ${DESTDIR}${LIBDIR}
+
+.endif # _COMPAT_OPTIONS_MK_ }

Index: src/compat/README
diff -u src/compat/README:1.2 src/compat/README:1.2.6.1
--- src/compat/README:1.2	Mon Oct 27 07:22:22 2008
+++ src/compat/README	Mon Dec 14 06:20:58 2009
@@ -1,43 +1,85 @@
-$NetBSD: README,v 1.2 2008/10/27 07:22:22 mrg Exp $
+$NetBSD: README,v 1.2.6.1 2009/12/14 06:20:58 mrg Exp $
 
-This directory contains Makefile fragments that will build all of the
-NetBSD libraries in 32-bit mode and install them into /usr/lib/<arch>
-and also install a /usr/libexec/ld.elf_so-<arch>.
 
-This is current only supported for the amd64 and sparc64 platforms,
-where <arch> is "i386" or "sparc" respectively.  (It could be used to
-build MIPS o32 libraries on n32 system, but not both n32 and o32 on
-a n64 system.  It only supports one extra target.)
+Building multi- ABI libraries for NetBSD platforms.
 
 
-Most of the makefiles here were built with the "build-makefiles" script.
-The expections are lib/csu/Makefile and ld.elf_so/Makefile.
+src/compat has a framework to (re)build the libraries shipped with
+NetBSD for a different ABI than the default for that platform.  This
+allow 32-bit libraries for the amd64 and sparc64 ports, and enables
+the mips64 port to support all three of old-style 32-bit ("o32"), the
+new 32-bit (default, "n32", 64-bit CPU required) or the 64-bit ABI.
 
 
-The method used is the:
-	- evaluate some local variables
-	- switch .CURDIR
-	- include original Makefile,
-	- evaluate some variables
-	- switch .CURDIR back
-that is used by crunchgen to build eg, installer media or /rescue.
+The basic premise is to re-set $MAKEOBJDIRPREFIX to fresh subdirectory
+underneath src/compat and rebuild the libraries with a different set
+of options.  Each platform wanting support should create their port
+subdirectory directly in src/compat, and then one subdirectory in here
+for each ABI required.  e.g., src/compat/amd64/i386 is where we build
+the 32-bit compat libraries for the amd64port.  In each of these
+subdirs, a small Makefile and makefile fragment should exist.  The
+Makefile should set BSD_MK_COMPAT_FILE to equal the fragment, and then
+include "../../Makefile.common".  Eg, amd64/i386/Makefile has:
 
+	#	$NetBSD: README,v 1.2.6.1 2009/12/14 06:20:58 mrg Exp $
+
+	BSD_MK_COMPAT_FILE=${.CURDIR}/bsd.i386.mk
+
+	.include "../../Makefile.common"
+
+In the makefile fragment any changes to ABI flags are passed here
+and the MLIBDIR variable must be set to the subdirectory in /usr/lib
+where libraries for the ABI will be installed.  There are a couple of
+helper Makefile's around.  amd64/i386/bsd.i386.mk looks like:
+
+
+	#	$NetBSD: README,v 1.2.6.1 2009/12/14 06:20:58 mrg Exp $
+
+	LD+=		-m elf_i386
+	MLIBDIR=	i386
+
+	.include "${NETBSDSRCDIR}/compat/Makefile.m32"
+
+and the referenced Makefile.m32 looks like:
+
+	#	$NetBSD: README,v 1.2.6.1 2009/12/14 06:20:58 mrg Exp $
+
+	#
+	# Makefile fragment to help implement a set of 'cc -m32' libraries.
+	#
+
+	COPTS+=			-m32
+	CPUFLAGS+=		-m32
+	LDADD+=			-m32
+	LDFLAGS+=		-m32
+	MKDEPFLAGS+=		-m32
+
+	.include "Makefile.compat"
+
+
+Makefile.common holds the list of subdirectories (the libraries and
+ld.elf_so) to build with this ABI.
+
+Makefile.md_subdir holds the list of subdirectories for each port.
+
+Makefile.compat has the basic framework to force the right paths for
+library and ld.elf_so linkage.  It contains a hack to create subdirs
+in the build that should be fixed.
+
+dirshack/Makefile is a hack to get objdirs created timely, and should
+be fixed in a better way.
 
 
 TODO:
-	- some yacc issue -- libc, libipsec and libpcap need "make" run
-	  to generate headers properly, otherwise it complains about
-	  no way to get to foo.h.  this is currently hacked by putting
-	  a rule "foo.h: foo.c" in the (generated) makefiles
-	- there's an ugly hack to make libpam build correctly again the
-	  right libc.  ld.elf_so has a similar (but less ugly hack)
-	- not sure that /usr/lib/{i386,sparc}{,/i18n} are created 
-	  properly yet
-
-Future work
-
-Ideally this should be able to handle any number of compat targets.
-Perhaps using a "force MAKEOBJDIR, and run-run make" solution will
-work, but my initial attempts got me no where.  If not, perhaps
-build-makefiles could be expanded to be used at run-time in such
-a per-compat target obj-dir.
+
+- fix MLIBDIR in ld.elf_so arch-subdirs to be generic since it now is:
+  .if defined(MLIBDIR)
+  CPPFLAGS+=    -DRTLD_ARCH_SUBDIR=\"${MLIBDIR}\"
+  .endif
+- check this part in ld.elf_so Makefile.  it may be right now:
+  # XXXX this needs to find the right one some how yet.
+  CLIBOBJ!=     cd ${NETBSDSRCDIR}/lib/libc && ${PRINTOBJDIR}
+
+
[email protected]
+december 2009

Added files:

Index: src/compat/Makefile.common
diff -u /dev/null src/compat/Makefile.common:1.1.2.1
--- /dev/null	Mon Dec 14 06:21:12 2009
+++ src/compat/Makefile.common	Mon Dec 14 06:20:58 2009
@@ -0,0 +1,31 @@
+#	$NetBSD: Makefile.common,v 1.1.2.1 2009/12/14 06:20:58 mrg Exp $
+
+# Build netbsd libraries.
+
+.include <bsd.own.mk>
+
+.if ${MKCOMPAT} != "no"
+.if !make(includes)
+
+# make sure we get an objdir built early enough
+.include <bsd.prog.mk>
+
+# XXX make this use MAKEOBJDIR
+MAKEDIRTARGETENV=	MAKEOBJDIRPREFIX=${.OBJDIR} MKOBJDIRS=yes MKSHARE=no BSD_MK_COMPAT_FILE=${BSD_MK_COMPAT_FILE}
+
+.if defined(BOOTSTRAP_SUBDIRS)
+SUBDIR=	${BOOTSTRAP_SUBDIRS}
+.else
+SUBDIR= ../../../gnu/lib/crtstuff4 .WAIT \
+	../../../lib/csu .WAIT \
+	../../../gnu/lib/libgcc4 .WAIT \
+	../../../lib/libc .WAIT \
+	../../../lib/libutil .WAIT \
+	../../../lib ../../../gnu/lib \
+	../../../libexec/ld.elf_so
+.endif
+
+.include <bsd.subdir.mk>
+
+.endif
+.endif
Index: src/compat/Makefile.m32
diff -u /dev/null src/compat/Makefile.m32:1.1.2.1
--- /dev/null	Mon Dec 14 06:21:12 2009
+++ src/compat/Makefile.m32	Mon Dec 14 06:20:58 2009
@@ -0,0 +1,13 @@
+#	$NetBSD: Makefile.m32,v 1.1.2.1 2009/12/14 06:20:58 mrg Exp $
+
+#
+# Makefile fragment to help implement a set of 'cc -m32' libraries.
+#
+
+COPTS+=			-m32
+CPUFLAGS+=		-m32
+LDADD+=			-m32
+LDFLAGS+=		-m32
+MKDEPFLAGS+=		-m32
+
+.include "Makefile.compat"
Index: src/compat/Makefile.md_subdir
diff -u /dev/null src/compat/Makefile.md_subdir:1.1.2.1
--- /dev/null	Mon Dec 14 06:21:12 2009
+++ src/compat/Makefile.md_subdir	Mon Dec 14 06:20:58 2009
@@ -0,0 +1,15 @@
+#	$NetBSD: Makefile.md_subdir,v 1.1.2.1 2009/12/14 06:20:58 mrg Exp $
+
+# list of subdirs
+
+.if ${MACHINE} == "sparc64"
+MD_SUBDIR=	sparc64/sparc
+.endif
+
+.if ${MACHINE} == "amd64"
+MD_SUBDIR=	amd64/i386
+.endif
+
+.if (${MACHINE_ARCH} == "mips64eb" || ${MACHINE_ARCH} == "mips64el")
+MD_SUBDIR=	mips64/64 mips64/o32
+.endif

Index: src/compat/amd64/i386/Makefile
diff -u /dev/null src/compat/amd64/i386/Makefile:1.1.2.2
--- /dev/null	Mon Dec 14 06:21:12 2009
+++ src/compat/amd64/i386/Makefile	Mon Dec 14 06:20:58 2009
@@ -0,0 +1,5 @@
+#	$NetBSD: Makefile,v 1.1.2.2 2009/12/14 06:20:58 mrg Exp $
+
+BSD_MK_COMPAT_FILE=${.CURDIR}/bsd.i386.mk
+
+.include "../../Makefile.common"
Index: src/compat/amd64/i386/bsd.i386.mk
diff -u /dev/null src/compat/amd64/i386/bsd.i386.mk:1.1.2.2
--- /dev/null	Mon Dec 14 06:21:12 2009
+++ src/compat/amd64/i386/bsd.i386.mk	Mon Dec 14 06:20:58 2009
@@ -0,0 +1,14 @@
+#	$NetBSD: bsd.i386.mk,v 1.1.2.2 2009/12/14 06:20:58 mrg Exp $
+
+LD+=			-m elf_i386
+MLIBDIR=		i386
+LIBC_MACHINE_ARCH=	${MLIBDIR}
+COMMON_MACHINE_ARCH=	${MLIBDIR}
+KVM_MACHINE_ARCH=	${MLIBDIR}
+PTHREAD_MACHINE_ARCH=	${MLIBDIR}
+BFD_MACHINE_ARCH=	${MLIBDIR}
+CSU_MACHINE_ARCH=	${MLIBDIR}
+CRYPTO_MACHINE_CPU=	${MLIBDIR}
+LDELFSO_MACHINE_CPU=	${MLIBDIR}
+
+.include "${NETBSDSRCDIR}/compat/Makefile.m32"

Index: src/compat/dirshack/Makefile
diff -u /dev/null src/compat/dirshack/Makefile:1.1.2.2
--- /dev/null	Mon Dec 14 06:21:12 2009
+++ src/compat/dirshack/Makefile	Mon Dec 14 06:20:58 2009
@@ -0,0 +1,30 @@
+#	$NetBSD: Makefile,v 1.1.2.2 2009/12/14 06:20:58 mrg Exp $
+
+# hacky method to get compat multilib base objdirs created before
+# make tries to go create the subdirs used for builds.
+
+# the problem is that make handles objdir creation for subdirs before it
+# handles this current directory, so when make cd's into $arch/$libtype
+# and from there into the ../../lib dirs, it ends up setting the forced
+# MAKEOBJDIRPREFIX to something based upon ${.CURDIR}, since the objdir
+# doesn't exist yet.
+# 
+# our solution is simple - from this Makefile we traverse the same list
+# of $arch/$libtype's with "BOOTSTRAP_SUBDIR=".  then the compat/Makefile
+# handles these subdirs as normal, with the base objdir created.
+
+.include <bsd.own.mk>
+
+.if ${MKCOMPAT} != "no"
+.if make(obj)
+
+.include "../Makefile.md_subdir"
+
+MAKEDIRTARGETENV=	BOOTSTRAP_SUBDIRS=
+
+SUBDIR=	${MD_SUBDIR:C/^/..\//}
+
+.endif	# make(obj)
+.endif	# MKCOMPAT != no
+
+.include <bsd.subdir.mk>

Index: src/compat/mips64/64/Makefile
diff -u /dev/null src/compat/mips64/64/Makefile:1.1.2.2
--- /dev/null	Mon Dec 14 06:21:12 2009
+++ src/compat/mips64/64/Makefile	Mon Dec 14 06:21:11 2009
@@ -0,0 +1,5 @@
+#	$NetBSD: Makefile,v 1.1.2.2 2009/12/14 06:21:11 mrg Exp $
+
+BSD_MK_COMPAT_FILE=${.CURDIR}/bsd.64.mk
+
+.include "../../Makefile.common"
Index: src/compat/mips64/64/bsd.64.mk
diff -u /dev/null src/compat/mips64/64/bsd.64.mk:1.1.2.2
--- /dev/null	Mon Dec 14 06:21:12 2009
+++ src/compat/mips64/64/bsd.64.mk	Mon Dec 14 06:21:11 2009
@@ -0,0 +1,12 @@
+#	$NetBSD: bsd.64.mk,v 1.1.2.2 2009/12/14 06:21:11 mrg Exp $
+
+LD+=		-m elf64_mipsn64
+MLIBDIR=	64
+
+COPTS+=		-mabi=64
+CPUFLAGS+=	-mabi=64
+LDADD+=		-mabi=64
+LDFLAGS+=	-mabi=64
+MKDEPFLAGS+=	-mabi=64
+
+.include "${NETBSDSRCDIR}/compat/Makefile.compat"

Index: src/compat/mips64/o32/Makefile
diff -u /dev/null src/compat/mips64/o32/Makefile:1.1.2.2
--- /dev/null	Mon Dec 14 06:21:12 2009
+++ src/compat/mips64/o32/Makefile	Mon Dec 14 06:21:11 2009
@@ -0,0 +1,5 @@
+#	$NetBSD: Makefile,v 1.1.2.2 2009/12/14 06:21:11 mrg Exp $
+
+BSD_MK_COMPAT_FILE=${.CURDIR}/bsd.o32.mk
+
+.include "../../Makefile.common"
Index: src/compat/mips64/o32/bsd.o32.mk
diff -u /dev/null src/compat/mips64/o32/bsd.o32.mk:1.1.2.2
--- /dev/null	Mon Dec 14 06:21:12 2009
+++ src/compat/mips64/o32/bsd.o32.mk	Mon Dec 14 06:21:11 2009
@@ -0,0 +1,13 @@
+#	$NetBSD: bsd.o32.mk,v 1.1.2.2 2009/12/14 06:21:11 mrg Exp $
+
+LD+=		-m elf32_mipso32
+MLIBDIR=	o32
+
+#.include "${NETBSDSRCDIR}/compat/Makefile.m32"
+COPTS+=			-mabi=32 -march=mips3
+CPUFLAGS+=		-mabi=32 -march=mips3
+LDADD+=			-mabi=32 -march=mips3
+LDFLAGS+=		-mabi=32 -march=mips3
+MKDEPFLAGS+=		-mabi=32 -march=mips3
+
+.include "${NETBSDSRCDIR}/compat/Makefile.compat"

Index: src/compat/sparc64/sparc/Makefile
diff -u /dev/null src/compat/sparc64/sparc/Makefile:1.1.2.2
--- /dev/null	Mon Dec 14 06:21:12 2009
+++ src/compat/sparc64/sparc/Makefile	Mon Dec 14 06:21:11 2009
@@ -0,0 +1,5 @@
+#	$NetBSD: Makefile,v 1.1.2.2 2009/12/14 06:21:11 mrg Exp $
+
+BSD_MK_COMPAT_FILE=${.CURDIR}/bsd.sparc.mk
+
+.include "../../Makefile.common"
Index: src/compat/sparc64/sparc/bsd.sparc.mk
diff -u /dev/null src/compat/sparc64/sparc/bsd.sparc.mk:1.1.2.2
--- /dev/null	Mon Dec 14 06:21:12 2009
+++ src/compat/sparc64/sparc/bsd.sparc.mk	Mon Dec 14 06:21:11 2009
@@ -0,0 +1,14 @@
+#	$NetBSD: bsd.sparc.mk,v 1.1.2.2 2009/12/14 06:21:11 mrg Exp $
+
+LD+=			-m elf32_sparc
+MLIBDIR=		sparc
+LIBC_MACHINE_ARCH=	${MLIBDIR}
+COMMON_MACHINE_ARCH=	${MLIBDIR}
+KVM_MACHINE_ARCH=	${MLIBDIR}
+PTHREAD_MACHINE_ARCH=	${MLIBDIR}
+BFD_MACHINE_ARCH=	${MLIBDIR}
+CSU_MACHINE_ARCH=	${MLIBDIR}
+CRYPTO_MACHINE_CPU=	${MLIBDIR}
+LDELFSO_MACHINE_CPU=	${MLIBDIR}
+
+.include "${NETBSDSRCDIR}/compat/Makefile.m32"

Reply via email to