]> Zhao Yanbai Git Server - minix.git/commitdiff
Reduce compiler/libraries/headers cases to only two
authorBen Gras <ben@minix3.org>
Fri, 1 Jul 2011 13:57:43 +0000 (15:57 +0200)
committerBen Gras <ben@minix3.org>
Mon, 4 Jul 2011 02:09:52 +0000 (04:09 +0200)
1. ack, a.out, minix headers (moved to /usr/include.ack),
   minix libc
2. gcc/clang, elf, netbsd headers (moved to /usr/include),
   netbsd libc (moved to /usr/lib)

So this obsoletes the /usr/netbsd hierarchy.

No special invocation for netbsd libc necessary - it's always used
for gcc/clang.

50 files changed:
Makefile
commands/acd/Makefile
common/include/arch/i386/Makefile.inc
common/include/arch/i386/multiboot.h [moved from include/arch/i386/multiboot.h with 100% similarity]
docs/UPDATING
etc/Makefile
etc/descr [moved from commands/acd/acd.descr with 98% similarity]
etc/mtree/minix.tree
include/Makefile
include/arch/Makefile
include/arch/i386/Makefile
include/sys/Makefile
lib/Makefile
lib/elf_build.sh
lib/libarchive/Makefile
lib/libbz2/Makefile
lib/libelf/Makefile
lib/libexec/Makefile
lib/libz/Makefile
lib/nbsd_libasyn/Makefile
lib/nbsd_libc/minix-config.inc
lib/nbsd_libc/minix-port.patch
lib/nbsd_libc/pkgconfig/Makefile
lib/nbsd_libc/pkgconfig/libc.pc
lib/nbsd_libcompat_minix/include/Makefile.inc
lib/nbsd_libcompat_minix/pkgconfig/Makefile
lib/nbsd_libcompat_minix/pkgconfig/compat_minix.pc
lib/nbsd_libminlib/Makefile
lib/nbsd_libminlib/pkgconfig/Makefile
lib/nbsd_libminlib/pkgconfig/minlib.pc
nbsd_include/Makefile
nbsd_include/arch/Makefile
nbsd_include/arch/i386/include/Makefile
nbsd_include/arch/x86/include/Makefile
nbsd_include/minix-port.patch
nbsd_include/minix/Makefile
nbsd_include/net/Makefile
nbsd_include/netinet/Makefile
nbsd_include/netinet6/Makefile
nbsd_include/rpc/Makefile
nbsd_include/sys/Makefile
share/Makefile
share/mk/Makefile
share/mk/bsd.own.mk
share/mk/bsd.prog.mk
share/mk/bsd.sys.mk
share/mk/minix.libc.mk [deleted file]
share/mk/pkgsrchooks.mk
share/mk/sys.mk
usr.bin/Makefile.inc

index 74c8edc651bbd6b641d7cb6f48dae97cb37303c0..e788d2e7728107f83a343424519f98b3b42133fe 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -98,6 +98,7 @@ clean:
        $(MAKE) -C test clean
 
 cleandepend:
+       $(MAKE) -C lib cleandepend_all
        $(MAKE) -C boot cleandepend
        $(MAKE) -C commands cleandepend
        $(MAKE) -C bin cleandepend
index ee0ddf68190c6ac0c70ae55742c4245f3a99759f..559070b0d77c0d07ad256a30b4a6e0e6858ced28 100644 (file)
@@ -5,9 +5,6 @@
 PROG=  acd
 CPPFLAGS+= -DARCH=\"`arch`\" -DDESCR=\"/usr/lib/descr\"
 LINKS+= ${BINDIR}/acd ${BINDIR}/cc
-FILESDIR=      /usr/lib
-FILES=         acd.descr
-FILESNAME=     descr
 MAN=
 
 .include <bsd.prog.mk>
index 0f20ddb2d92d04072ce06ccfeb6327692f63f377..bc6e15d55a115175143d24b96f29315010d30d70 100644 (file)
@@ -2,7 +2,7 @@
 .PATH: ${MINIXSRCDIR}/common/include/arch/i386
 
 INCS+= archtypes.h bios.h cmos.h cpu.h diskparm.h fpu.h int86.h \
-       interrupt.h memory.h partition.h \
+       interrupt.h memory.h multiboot.h partition.h \
        pci.h pci_amd.h pci_intel.h pci_sis.h pci_via.h \
        ports.h stackframe.h vm.h elf.h
 
index ff539f21f6baabd64e5fece9fc6ec813215c4565..e8b185873372d67797c74ed8becc251f71dbc1f6 100644 (file)
@@ -1,3 +1,34 @@
+20110701:
+       # rm -rf /usr/include /usr/netbsd
+       # make etcfiles includes cleandepend depend gnu-includes
+
+        DOWNGRADING:
+         Important: this automatically updates your /usr/lib/descr,
+         something you will have to revert manually if you
+         want to go back a revision! Previous to this
+         revision, you do this by:
+         # cp commands/acd/acd.descr /usr/lib/descr
+         Repeating the above commands to make sure your /usr/include
+         is re-acked is probably a good idea too for going back revisions.
+
+       This change moves 
+               1. /usr/include to /usr/include.ack
+               2. /usr/netbsd/include to /usr/include
+
+       Reduce compiler cases to only two:
+               1. ack, a.out, minix headers (moved to /usr/include.ack),
+                  minix libc
+               2. gcc/clang, elf, netbsd headers (moved to /usr/include),
+                  netbsd libc (moved to /usr/lib)
+
+       So this obsoletes the /usr/netbsd hierarchy.
+
+       There are no specific UPDATING instructions, but you should know
+       that starting with this version, gcc/clang use the netbsd libc and
+       headers system exclusively, and those files are in the standard
+       locations now. It's the first step to switching completely and
+       simplifying building.
+
 20110629:
        Rebuild m4:
        make -C usr.bin/m4 install
index f709d1023ae6f822ca749801545c6b95a64c23f8..4404daaec9f65ec00cf1ae5c595a7a5f8c89377b 100644 (file)
@@ -13,8 +13,8 @@ USRFILES=Makefile
 clean::
 
 install::
-       @echo "Installing /etc and /usr/etc.."
-       mkdir -p $(ETC)
+       @echo "Installing /etc, /usr/etc and /usr/lib.."
+       mkdir -p $(ETC) $(USRLIB)
        @for f in $(FILES1); do if [ -f $(ETC)/$$f ]; then :; else cp $$f $(ETC)/$$f; chmod 755 $(ETC)/$$f; fi; done
        @for f in $(FILES2); do if [ -f $(ETC)/$$f ]; then :; else cp $$f $(ETC)/$$f; chmod 600 $(ETC)/$$f; fi; done
        @for f in $(USRFILES); do cp usr/$$f $(USR)/$$f; chmod 644 $(USR)/$$f; done
@@ -29,6 +29,8 @@ install::
        for u in /usr/ast ~root; do cp ast/.[aepv]* $$u ; done
        @echo "Installing fonts.."
        install -m 644 -o root -g operator fonts/*.fnt /usr/lib/fonts/
+       @echo "Installing /usr/lib/descr.."
+       install -m 644 -o root -g operator descr /usr/lib/
 
 installforce:: $(ETC)/rc $(ETC)/rs.inet $(ETC)/rs.single $(ETC)/system.conf $(USRETC)/rc $(USR)/Makefile
 
similarity index 98%
rename from commands/acd/acd.descr
rename to etc/descr
index 2d5ead0ec47c90e72bc345cd5143f6dbb8724731..77f226355d42f53b0b7677b11ea389bef21ead7e 100644 (file)
+++ b/etc/descr
@@ -18,8 +18,8 @@ ifndef ARCH
 import ARCH
 
 # Compiler passes.
-ACK_CPP =      $A/cpp.ansi $CPP_F $PREDEF $NOLINENO
-ACK_CEM =      $A/em_cemcom.ansi -L $CPP_F $PREDEF \
+ACK_CPP =      $A/cpp.ansi $CPP_F $PREDEF $NOLINENO -I/usr/include.ack
+ACK_CEM =      $A/em_cemcom.ansi  -L $CPP_F $PREDEF \
                    -Vw${W}.${W}i${W}.${W}p${P}.${W}f4.${W}s2.2l4.${W}d8.${W}
 ACK_M2 =       $A/em_m2 -I$MOD_INCL -WR \
                    -Vw${W}.${W}i${W}.${W}p${P}.${W}l4.${W}f4.${W}d8.${W}
@@ -298,7 +298,7 @@ transform "" .E
 # Compile C source to EM-code.
 transform .c .k
 transform .i .k
-       $ACK_CEM $* $>
+       $ACK_CEM -I/usr/include.ack $* $>
        ifndef RTSO
                RTSO = -.c
        LIBS = $LIBS + -.c
index a28b455d96a27276832fe018d94d2d74e84159ef..81b180b9f52c2fc7f768a315eb199adf06f9f41a 100644 (file)
 755 root    operator /usr/pkg/etc
 755 root    operator /usr/pkg/etc/rc.d
 755 root    operator /home
-755 root    operator /usr/include
-755 root    operator /usr/include/i386
-755 root    operator /usr/include/arpa
-755 root    operator /usr/include/minix
-755 root    operator /usr/include/net
-755 root    operator /usr/include/net/gen
-755 root    operator /usr/include/netinet
-755 root    operator /usr/include/sys
-755 root    operator /usr/include/ddekit
-755 root    operator /usr/include/ddekit/minix
+755 root    operator /usr/include.ack
+755 root    operator /usr/include.ack/i386
+755 root    operator /usr/include.ack/arpa
+755 root    operator /usr/include.ack/minix
+755 root    operator /usr/include.ack/net
+755 root    operator /usr/include.ack/net/gen
+755 root    operator /usr/include.ack/netinet
+755 root    operator /usr/include.ack/sys
+755 root    operator /usr/include.ack/ddekit
+755 root    operator /usr/include.ack/ddekit/minix
 755 root    operator /usr/lib
 755 root    operator /usr/lib/advent
 755 root    operator /usr/lib/cawf
 755  root    operator  /usr/man/man8
 755  root    operator  /usr/man/man9
 755  root    operator  /usr/mdec
-755  root    operator  /usr/netbsd
-755  root    operator  /usr/netbsd/include
-755  root    operator  /usr/netbsd/include/i386
-755  root    operator  /usr/netbsd/include/arpa
-755  root    operator  /usr/netbsd/include/compat
-755  root    operator  /usr/netbsd/include/compat/machine
-755  root    operator  /usr/netbsd/include/ddekit
-755  root    operator  /usr/netbsd/include/ddekit/minix
-755  root    operator  /usr/netbsd/include/minix
-755  root    operator  /usr/netbsd/include/net
-755  root    operator  /usr/netbsd/include/net/gen
-755  root    operator  /usr/netbsd/include/protocols
-755  root    operator  /usr/netbsd/include/rpcsvc
-755  root    operator  /usr/netbsd/include/ssp
-755  root    operator  /usr/netbsd/include/sys
-755  root    operator  /usr/netbsd/lib
+755  root    operator  /usr/include
+755  root    operator  /usr/include/i386
+755  root    operator  /usr/include/arpa
+755  root    operator  /usr/include/compat
+755  root    operator  /usr/include/compat/machine
+755  root    operator  /usr/include/ddekit
+755  root    operator  /usr/include/ddekit/minix
+755  root    operator  /usr/include/minix
+755  root    operator  /usr/include/net
+755  root    operator  /usr/include/net/gen
+755  root    operator  /usr/include/protocols
+755  root    operator  /usr/include/rpcsvc
+755  root    operator  /usr/include/ssp
+755  root    operator  /usr/include/sys
 700  root    operator  /usr/preserve
 755  root    operator  /usr/run
 755  root    operator  /usr/share
index 8ded2bece39471db77f5d27da772db630d2c4925..4ed6f85fa7ec372b5642663151d2576b252febb3 100644 (file)
@@ -21,7 +21,7 @@ INCS+=        netinet/if_ether.h netinet/in.h netinet/tcp.h
 
 .include <bsd.own.mk>
 
-INCSDIR=        /usr/include
+INCSDIR=        /usr/include.ack
 
 .include "${MINIXSRCDIR}/common/include/Makefile.inc"
 .include "${MINIXSRCDIR}/common/include/Makefile.termios.inc"
index 9668ddb76545e93f3665cbc30ccc7122c22aee20..9d108587f5ff4fd22d154f7a8d1d2d88ac60feda 100644 (file)
@@ -2,6 +2,6 @@
 
 SUBDIR= ${ARCH}
 
-INCSYMLINKS= ${MACHINE} /usr/include/machine
+INCSYMLINKS= ${MACHINE} /usr/include.ack/machine
 
 .include <bsd.kinc.mk>
index 5637c78b0329695cf3036628639888881d7af7dd..14128f73d4c7264a2bda01639a4d5567fce01164 100644 (file)
@@ -1,4 +1,4 @@
-INCSDIR= /usr/include/i386
+INCSDIR= /usr/include.ack/i386
 
 INCS+= _align.h asm.h mcontext.h multiboot.h param.h
 
index 0cdfa7ec545105a05633fc78eba35bc1675b7cbf..ab0feb33bab8324e782f49475486961c0eaf18ed 100644 (file)
@@ -1,6 +1,6 @@
 .include <bsd.sys.mk>
 
-INCSDIR=        /usr/include/sys
+INCSDIR=        /usr/include.ack/sys
 
 INCS=  asynchio.h dir.h file.h  \
        ioctl.h ipc.h jmp_buf.h kbdio.h mman.h \
index 4b083d1fc30761cff756dd064b2dfb26edc35464..876928b5ab934f84939474ad708044460f0529e2 100644 (file)
@@ -44,3 +44,6 @@ clean_all:
        sh ack_build.sh clean
        sh elf_build.sh clean
 
+cleandepend_all:
+       sh ack_build.sh cleandepend
+       sh elf_build.sh cleandepend
index 6b03019af11920dac4ab7b8a8342de8ff08ee294..2c0c18ecfcce4614d5ee27d03a2f37652884a604 100755 (executable)
@@ -6,7 +6,5 @@ export CC=${CC:-clang}
 export COMPILER_TYPE=gnu
 export PATH=$PATH:/usr/pkg/bin
 
-export MAKEOBJDIR=obj-elfbase-nbsd
-make $@ NBSD_LIBC=yes
-export MAKEOBJDIR=obj-elfbase
-make $@ NBSD_LIBC=no
+export MAKEOBJDIR=obj-elfbase-nbsd NBSD_LIBC=yes
+make $@
index 52de5badb00a2a44f682af93f0d000d36cd06193..cdd3fea678f0c72f41bc16a4e12760e3af206edf 100644 (file)
@@ -65,10 +65,10 @@ SRCS+=  minix_utils.c
 .endif
 
 CPPFLAGS+= -DHAVE_CONFIG_H
-.if (${NBSD_LIBC} != "no")
-INCSDIR= /usr/netbsd/include
-.else
+.if ${NBSD_LIBC} == "yes"
 INCSDIR= /usr/include
+.else
+INCSDIR= /usr/include.ack
 .endif
 INCS=    archive.h \
                 archive_entry.h
index aee7c69d7c38628cc3b29e711815c77040a2651a..fc72955417905d3870737a9bab488f2431a6686d 100644 (file)
@@ -8,10 +8,11 @@ SRCS=         bzlib.c blocksort.c compress.c crctable.c decompress.c \
                huffman.c randtable.c
 CPPFLAGS+=     -I ${BZ2DIR}
 INCS=          bzlib.h
+
 .if (${NBSD_LIBC} != "no")
-INCSDIR=       /usr/netbsd/include
+INCSDIR=       /usr/include
 .else
-INCSDIR=       /usr/include
+INCSDIR=       /usr/include.ack
 .endif
 
 .include <bsd.lib.mk>
index 8534a888185c89d00de8385e760e6b29cd6ede89..c0d5a8c3a357ea00083ad44970404e238e07ba1b 100644 (file)
@@ -1,10 +1,5 @@
 # $Id$
 
-# Requires NBSD_LIBC and clang/gcc (we default to using clang)
-NBSD_LIBC:= yes
-CC:=${CC:C/^cc/clang/}
-COMPILER_TYPE:= gnu
-
 LIB=   elf
 
 SRCS=  elf.c                                                   \
@@ -163,11 +158,7 @@ libelf_convert.c:  elf_types.m4 libelf_convert.m4
 libelf_fsize.c:                elf_types.m4 libelf_fsize.m4
 libelf_msize.c:                elf_types.m4 libelf_msize.m4
 
-.if (${NBSD_LIBC} != "no")
-INCSDIR= /usr/netbsd/include
-.else
 INCSDIR= /usr/include
-.endif
 
 .include <bsd.lib.mk>
 
index 098db001915412010428f6c891d81fa820950a87..d1f7b1d3490d7dc6a2e42c3b09e2450822b36195 100644 (file)
@@ -5,8 +5,9 @@ INCS=   libexec.h
 SRCS=  exec_aout.c exec_elf.c
 
 .if (${NBSD_LIBC} != "no")
-INCSDIR= /usr/netbsd/include
-.else
 INCSDIR= /usr/include
+.else
+INCSDIR= /usr/include.ack
 .endif
+
 .include <bsd.lib.mk>
index f87038a066d3e57bbcc2ba7ad965980a6707e878..b23fa456b6a3a3e3dd93fcf46d699b171391dd13 100644 (file)
@@ -6,9 +6,9 @@ SRCS= adler32.c compress.c crc32.c deflate.c gzclose.c gzlib.c gzread.c \
       gzwrite.c infback.c inffast.c inflate.c inftrees.c trees.c uncompr.c zutil.c
 
 .if (${NBSD_LIBC} != "no")
-INCSDIR= /usr/netbsd/include
-.else
 INCSDIR= /usr/include
+.else
+INCSDIR= /usr/include.ack
 .endif
 
 INCS=           zconf.h zlib.h
index 6d3593d8292b9205f37b12acef3d9f8841baa71a..55567e7a721d9be36083f100e9867b59a6f89762 100644 (file)
@@ -2,8 +2,7 @@
 .PATH:         ${MINIXSRCDIR}/lib/libc/asyn 
 LIB=   asyn
 INCS=  asynchio.h
-INCSDIR= /usr/netbsd/include/sys
-
+INCSDIR= /usr/include/sys
 
 SRCS+= asyn_cancel.c asyn_close.c asyn_init.c asyn_pending.c asyn_read.c \
        asyn_special.c asyn_synch.c asyn_wait.c asyn_write.c
index 4dde4e2636cf053d738e8b6d634895c0a7c9617b..61bb99238e7eab33699b42abae07576140aca27c 100644 (file)
@@ -1,5 +1,5 @@
 NETBSDSRCDIR=  ${MINIXSRCDIR}
-NETBSDINCLUDES= /usr/netbsd/include/
+NETBSDINCLUDES= /usr/include/
 MACHINE_ARCH?=         i386
 
 CITRUS=yes 
index 4ccc28c9e8a38c2d47a565eec34d5cf25fbc1058..b5786ff3115f0ca870491ef33e47d5e77c43f06c 100644 (file)
@@ -365,6 +365,24 @@ diff -ru nbsdsrc/src/lib/libc/gdtoa/gdtoa_locks.c lib/nbsd_libc/gdtoa/gdtoa_lock
 +#ifdef _REENTRANT /* !__minix */
  mutex_t __gdtoa_locks[2] = { MUTEX_INITIALIZER, MUTEX_INITIALIZER };
 +#endif /* _REENTRANT */
+diff -ru nbsdsrc/src/lib/libc/gdtoa/gdtoaimp.h lib/nbsd_libc/gdtoa/gdtoaimp.h
+--- nbsdsrc/src/lib/libc/gdtoa/gdtoaimp.h
++++ lib/nbsd_libc/gdtoa/gdtoaimp.h
+@@ -1,4 +1,4 @@
+-/* $NetBSD: gdtoaimp.h,v 1.7 2009/05/07 20:31:44 christos Exp $ */
++/* $NetBSD: gdtoaimp.h,v 1.8 2011/01/21 23:36:49 christos Exp $ */
+ /****************************************************************
+@@ -276,7 +276,7 @@
+ Exactly one of IEEE_LITTLE_ENDIAN, IEEE_BIG_ENDIAN, VAX, or IBM should be defined.
+ #endif
+-typedef union { double d; ULong L[2]; } U;
++typedef union { double d; ULong L[2]; } __attribute__((__may_alias__)) U;
+ #ifdef YES_ALIAS
+ #define dval(x) x
 diff -ru nbsdsrc/src/lib/libc/gen/Makefile.inc lib/nbsd_libc/gen/Makefile.inc
 --- nbsdsrc/src/lib/libc/gen/Makefile.inc
 +++ lib/nbsd_libc/gen/Makefile.inc
@@ -953,6 +971,231 @@ diff -ru nbsdsrc/src/lib/libc/gen/getpwent.c lib/nbsd_libc/gen/getpwent.c
        mutex_unlock(&_pwmutex);
        switch (r) {
        case NS_SUCCESS:
+diff -ru nbsdsrc/src/lib/libc/gen/glob.c lib/nbsd_libc/gen/glob.c
+--- nbsdsrc/src/lib/libc/gen/glob.c
++++ lib/nbsd_libc/gen/glob.c
+@@ -1,4 +1,4 @@
+-/*    $NetBSD: glob.c,v 1.27 2010/09/06 14:40:25 christos Exp $       */
++/*    $NetBSD: glob.c,v 1.28 2011/01/21 23:30:31 christos Exp $       */
+ /*
+  * Copyright (c) 1989, 1993
+@@ -37,7 +37,7 @@
+ #if 0
+ static char sccsid[] = "@(#)glob.c    8.3 (Berkeley) 10/13/93";
+ #else
+-__RCSID("$NetBSD: glob.c,v 1.27 2010/09/06 14:40:25 christos Exp $");
++__RCSID("$NetBSD: glob.c,v 1.28 2011/01/21 23:30:31 christos Exp $");
+ #endif
+ #endif /* LIBC_SCCS and not lint */
+@@ -87,13 +87,18 @@
+ #define NO_GETPW_R
+ #endif
+-#define       GLOB_LIMIT_MALLOC       65536
+-#define       GLOB_LIMIT_STAT         128
+-#define       GLOB_LIMIT_READDIR      16384
++#define       GLOB_LIMIT_STRING       65536   /* number of readdirs */
++#define       GLOB_LIMIT_STAT         128     /* number of stat system calls */
++#define       GLOB_LIMIT_READDIR      16384   /* total buffer size of path strings */
++#define       GLOB_LIMIT_PATH         1024    /* number of path elements */
++#define GLOB_LIMIT_BRACE      128     /* Number of brace calls */
+-#define       GLOB_INDEX_MALLOC       0
+-#define       GLOB_INDEX_STAT         1
+-#define       GLOB_INDEX_READDIR      2
++struct glob_limit {
++      size_t l_string;
++      size_t l_stat;  
++      size_t l_readdir;       
++      size_t l_brace;
++};
+ /*
+  * XXX: For NetBSD 1.4.x compatibility. (kill me l8r)
+@@ -158,17 +163,17 @@
+ static DIR    *g_opendir(Char *, glob_t *);
+ static Char   *g_strchr(const Char *, int);
+ static int     g_stat(Char *, __gl_stat_t *, glob_t *);
+-static int     glob0(const Char *, glob_t *, size_t *);
+-static int     glob1(Char *, glob_t *, size_t *);
++static int     glob0(const Char *, glob_t *, struct glob_limit *);
++static int     glob1(Char *, glob_t *, struct glob_limit *);
+ static int     glob2(Char *, Char *, Char *, const Char *, glob_t *,
+-    size_t *);
++    struct glob_limit *);
+ static int     glob3(Char *, Char *, Char *, const Char *, const Char *,
+-    const Char *, glob_t *, size_t *);
+-static int     globextend(const Char *, glob_t *, size_t *);
++    const Char *, glob_t *, struct glob_limit *);
++static int     globextend(const Char *, glob_t *, struct glob_limit *);
+ static const Char *globtilde(const Char *, Char *, size_t, glob_t *);
+-static int     globexp1(const Char *, glob_t *, size_t *);
++static int     globexp1(const Char *, glob_t *, struct glob_limit *);
+ static int     globexp2(const Char *, const Char *, glob_t *, int *,
+-    size_t *);
++    struct glob_limit *);
+ static int     match(const Char *, const Char *, const Char *);
+ #ifdef DEBUG
+ static void    qprintf(const char *, Char *);
+@@ -181,8 +186,7 @@
+       const u_char *patnext;
+       int c;
+       Char *bufnext, *bufend, patbuf[MAXPATHLEN+1];
+-      /* 0 = malloc(), 1 = stat(), 2 = readdir() */
+-      size_t limit[] = { 0, 0, 0 };
++      struct glob_limit limit = { 0, 0, 0, 0 };
+       _DIAGASSERT(pattern != NULL);
+@@ -218,9 +222,9 @@
+       *bufnext = EOS;
+       if (flags & GLOB_BRACE)
+-          return globexp1(patbuf, pglob, limit);
++          return globexp1(patbuf, pglob, &limit);
+       else
+-          return glob0(patbuf, pglob, limit);
++          return glob0(patbuf, pglob, &limit);
+ }
+ /*
+@@ -229,7 +233,7 @@
+  * characters
+  */
+ static int
+-globexp1(const Char *pattern, glob_t *pglob, size_t *limit)
++globexp1(const Char *pattern, glob_t *pglob, struct glob_limit *limit)
+ {
+       const Char* ptr = pattern;
+       int rv;
+@@ -237,6 +241,12 @@
+       _DIAGASSERT(pattern != NULL);
+       _DIAGASSERT(pglob != NULL);
++      if ((pglob->gl_flags & GLOB_LIMIT) &&
++          limit->l_brace++ >= GLOB_LIMIT_BRACE) {
++              errno = 0;
++              return GLOB_NOSPACE;
++      }
++
+       /* Protect a single {}, for find(1), like csh */
+       if (pattern[0] == LBRACE && pattern[1] == RBRACE && pattern[2] == EOS)
+               return glob0(pattern, pglob, limit);
+@@ -256,7 +266,7 @@
+  */
+ static int
+ globexp2(const Char *ptr, const Char *pattern, glob_t *pglob, int *rv,
+-    size_t *limit)
++    struct glob_limit *limit)
+ {
+       int     i;
+       Char   *lm, *ls;
+@@ -461,7 +471,7 @@
+  * to find no matches.
+  */
+ static int
+-glob0(const Char *pattern, glob_t *pglob, size_t *limit)
++glob0(const Char *pattern, glob_t *pglob, struct glob_limit *limit)
+ {
+       const Char *qpatnext;
+       int c, error;
+@@ -570,7 +580,7 @@
+ }
+ static int
+-glob1(Char *pattern, glob_t *pglob, size_t *limit)
++glob1(Char *pattern, glob_t *pglob, struct glob_limit *limit)
+ {
+       Char pathbuf[MAXPATHLEN+1];
+@@ -596,7 +606,7 @@
+  */
+ static int
+ glob2(Char *pathbuf, Char *pathend, Char *pathlim, const Char *pattern,
+-    glob_t *pglob, size_t *limit)
++    glob_t *pglob, struct glob_limit *limit)
+ {
+       __gl_stat_t sb;
+       const Char *p;
+@@ -624,10 +634,11 @@
+                               return 0;
+               
+                       if ((pglob->gl_flags & GLOB_LIMIT) &&
+-                          limit[GLOB_INDEX_STAT]++ >= GLOB_LIMIT_STAT) {
++                          limit->l_stat++ >= GLOB_LIMIT_STAT) {
+                               errno = 0;
+                               *pathend++ = SEP;
+                               *pathend = EOS;
++printf("stat limit\n");
+                               return GLOB_NOSPACE;
+                       }
+                       if (((pglob->gl_flags & GLOB_MARK) &&
+@@ -692,7 +703,7 @@
+ static int
+ glob3(Char *pathbuf, Char *pathend, Char *pathlim, const Char *pattern,
+     const Char *restpattern, const Char *pglobstar, glob_t *pglob,
+-    size_t *limit)
++    struct glob_limit *limit)
+ {
+       struct dirent *dp;
+       DIR *dirp;
+@@ -785,7 +796,7 @@
+               Char *dc;
+               if ((pglob->gl_flags & GLOB_LIMIT) &&
+-                  limit[GLOB_INDEX_READDIR]++ >= GLOB_LIMIT_READDIR) {
++                  limit->l_readdir++ >= GLOB_LIMIT_READDIR) {
+                       errno = 0;
+                       *pathend++ = SEP;
+                       *pathend = EOS;
+@@ -894,7 +905,7 @@
+  *    gl_pathv points to (gl_offs + gl_pathc + 1) items.
+  */
+ static int
+-globextend(const Char *path, glob_t *pglob, size_t *limit)
++globextend(const Char *path, glob_t *pglob, struct glob_limit *limit)
+ {
+       char **pathv;
+       size_t i, newsize, len;
+@@ -905,6 +916,9 @@
+       _DIAGASSERT(pglob != NULL);
+       newsize = sizeof(*pathv) * (2 + pglob->gl_pathc + pglob->gl_offs);
++      if ((pglob->gl_flags & GLOB_LIMIT) &&
++          newsize > GLOB_LIMIT_PATH * sizeof(*pathv))
++              goto nospace;
+       pathv = pglob->gl_pathv ? realloc(pglob->gl_pathv, newsize) :
+           malloc(newsize);
+       if (pathv == NULL)
+@@ -921,7 +935,7 @@
+       for (p = path; *p++;)
+               continue;
+       len = (size_t)(p - path);
+-      limit[GLOB_INDEX_MALLOC] += len;
++      limit->l_string += len;
+       if ((copy = malloc(len)) != NULL) {
+               if (g_Ctoc(path, copy, len)) {
+                       free(copy);
+@@ -932,12 +946,13 @@
+       pathv[pglob->gl_offs + pglob->gl_pathc] = NULL;
+       if ((pglob->gl_flags & GLOB_LIMIT) &&
+-          (newsize + limit[GLOB_INDEX_MALLOC]) >= GLOB_LIMIT_MALLOC) {
+-              errno = 0;
+-              return GLOB_NOSPACE;
+-      }
++          (newsize + limit->l_string) >= GLOB_LIMIT_STRING)
++              goto nospace;
+       return copy == NULL ? GLOB_NOSPACE : 0;
++nospace:
++      errno = 0;
++      return GLOB_NOSPACE;
+ }
 diff -ru nbsdsrc/src/lib/libc/gen/gr_private.h lib/nbsd_libc/gen/gr_private.h
 --- nbsdsrc/src/lib/libc/gen/gr_private.h
 +++ lib/nbsd_libc/gen/gr_private.h
index 4c2c4c916f840f50738289fbc5670833357301fa..e34cc5b45b0eabb00860671ec8131710c9af0fda 100644 (file)
@@ -3,7 +3,7 @@ NOOBJ=  # defined
 .include <bsd.own.mk>
 
 FILES=libc.pc
-FILESDIR=/usr/netbsd/lib
+FILESDIR=/usr/lib
 FILESMODE=444
 
 .include <bsd.prog.mk>
index 828a9df8cc240b33a71fad4ce2332214ae41c916..e997aa887d3cdfd2e9110b9aeb2899ff463f3ee5 100644 (file)
@@ -1,5 +1,4 @@
 Name: c
 Description: NetBSD C Library
 Version: 1.0
-Libs: -nostdlib /usr/netbsd/lib/crt1.o /usr/netbsd/lib/crti.o /usr/netbsd/lib/crtn.o -L/usr/netbsd/lib -lc -L/usr/pkg/lib -lgcc -L/usr/netbsd/lib -lminlib -lcompat_minix
-Cflags: -nostdinc -D__NBSD_LIBC -isystem /usr/netbsd/include
+Libs: -lc -lminlib -lcompat_minix
index a6f0f1a1c87280ba25da804f77b335a883f4f95f..c07ff671577b7c6b349deb1aff52e9012fb958b9 100644 (file)
@@ -1,6 +1,6 @@
 .PATH: ${MINIXSRCDIR}/lib/nbsd_libcompat_minix/include
 
-INCSDIR= /usr/netbsd/include
+INCSDIR= /usr/include
 
 INCS+= configfile.h termcap.h
 INCS+=         compat/a.out.h compat/regexp.h compat/syslog.h \
index 73a654d121bc15a9572de22d3313c84ce5f26ddc..6fa213cf510177871856aa727959054d01cfd147 100644 (file)
@@ -3,7 +3,7 @@ NOOBJ=  # defined
 .include <bsd.own.mk>
 
 FILES=compat_minix.pc
-FILESDIR=/usr/netbsd/lib
+FILESDIR=/usr/lib
 FILESMODE=444
 
 .include <bsd.prog.mk>
index f763fd81e407896450b68085670e5d71a963a919..5e7eec352b5523db7258771001fea741d01a9e90 100644 (file)
@@ -1,5 +1,4 @@
 Name: compat_minix
 Description: Minix Compatibility Library
 Version: 1.0
-Libs: -L/usr/netbsd/lib -lcompat_minix
-Cflags: -I/usr/netbsd/include
+Libs: -lcompat_minix
index 76062b65e5c17833f93963dd472a6c6200a23e0c..12bbfc39c8fd36a23ade7d4ae87bd1709f432c3b 100644 (file)
@@ -1,6 +1,6 @@
 .include <bsd.own.mk>
 .PATH:         ${.CURDIR} ${.CURDIR}/${MACHINE}
-INCSDIR= /usr/netbsd/include
+INCSDIR= /usr/include
 LIB=   minlib
 
 CPPFLAGS.fslib.c+= -I${MINIXSRCDIR}/servers
index b70ad99abb4637963f21ff025c2a0f581b0416ef..426ad5ba4d37d627a2dae947db4180b6f8ef4e04 100644 (file)
@@ -3,7 +3,7 @@ NOOBJ=  # defined
 .include <bsd.own.mk>
 
 FILES=minlib.pc
-FILESDIR=/usr/netbsd/lib
+FILESDIR=/usr/lib
 FILESMODE=444
 
 .include <bsd.prog.mk>
index 9fb06b6eaea4d492d5b787d125d07b157108b391..de98a5370a30108cfd0a60fb658ab6e1f93e205f 100644 (file)
@@ -1,6 +1,6 @@
 Name: minlib
 Description: Minix Compatibility Library
 Version: 1.0
-Libs: -L/usr/netbsd/lib -lminlib
-Cflags: -I/usr/netbsd/include
+Libs: -lminlib
+Cflags:
 
index 8c4a912a560ed12ec2150b6b3380742762e58678..085a6d0ad42769242652d0e6f0d75d6179336f1b 100644 (file)
@@ -59,11 +59,7 @@ INCS+=       ieeefp.h
 .include <bsd.own.mk>
 
 
-.if defined(__MINIX)
-INCSDIR=       /usr/netbsd/include
-.else
 INCSDIR=       /usr/include
-.endif
 
 .if defined(__MINIX)
 # RPC is not compiled in the libc. This include also needs
index 058d2b9b4f6718faa92e384da6094398b2ce54e1..d9989a0b87358a65d7c64ea93a8915edb6d856b9 100644 (file)
@@ -53,10 +53,10 @@ SUBDIR+= xen
 #      x68k x86_64 xen \
 #      zaurus
 
-INCSYMLINKS= ${MACHINE} /usr/netbsd/include/machine
+INCSYMLINKS= ${MACHINE} /usr/include/machine
 
-INCSYMLINKS+= machine/float.h /usr/netbsd/include/float.h \
-       machine/stdarg.h /usr/netbsd/include/stdarg.h
+INCSYMLINKS+= machine/float.h /usr/include/float.h \
+       machine/stdarg.h /usr/include/stdarg.h
 
 
 .include <bsd.inc.mk>
index c01b94fb47128a941593b4e920d2af945a82b14c..93281aee8a48139ed9a10ede7b3ac8025ea309c2 100644 (file)
@@ -1,7 +1,7 @@
 #      $NetBSD: Makefile,v 1.36 2007/12/20 23:46:12 ad Exp $
 .include <bsd.own.mk>
 
-INCSDIR= /usr/netbsd/include/i386
+INCSDIR= /usr/include/i386
 
 INCS=  ansi.h asm.h bswap.h byte_swap.h cdefs.h \
        endian.h endian_machdep.h fenv.h float.h ieee.h \
index 86b9686a38853f5d8372f8f9ee1b1afd65a142e0..c568c8e9b1bac47f496115069de90942adc7a892 100644 (file)
@@ -1,6 +1,6 @@
 #      $NetBSD: Makefile,v 1.13 2008/05/11 15:32:20 ad Exp $
 
-INCSDIR=/usr/netbsd/include/x86
+INCSDIR=/usr/include/x86
 
 INCS=  float.h \
        ieee.h \
index a40d5494a5c20fdb6b93e0be2cf823b69b41db38..b3b07a6f5a595723b9a510be69150455037cb405 100644 (file)
@@ -38,15 +38,9 @@ diff -ru nbsdsrc/src/include/Makefile nbsd_include/Makefile
  INCS+=        arpa/ftp.h arpa/inet.h arpa/nameser.h arpa/nameser_compat.h \
        arpa/telnet.h arpa/tftp.h
  INCS+=        protocols/dumprestore.h protocols/routed.h protocols/rwhod.h \
-@@ -40,10 +59,28 @@
- .include <bsd.own.mk>
+@@ -42,8 +61,22 @@
  
-+.if defined(__MINIX)
-+INCSDIR=      /usr/netbsd/include
-+.else
  INCSDIR=      /usr/include
-+.endif
  
 +.if defined(__MINIX)
 +# RPC is not compiled in the libc. This include also needs
@@ -197,21 +191,6 @@ diff -ru nbsdsrc/src/include/pwd.h nbsd_include/pwd.h
  #ifndef _PWD_H_
  #define       _PWD_H_
  
-diff -ru nbsdsrc/src/include/rpc/Makefile nbsd_include/rpc/Makefile
---- nbsdsrc/src/include/rpc/Makefile
-+++ nbsd_include/rpc/Makefile
-@@ -7,7 +7,11 @@
-       svc.h svc_auth.h svc_soc.h types.h xdr.h
- RPC_INCS=     rpcb_prot.h
-+.if defined(__MINIX)
-+INCSDIR=      /usr/netbsd/include/rpc
-+.else
- INCSDIR=      /usr/include/rpc
-+.endif
- .include <bsd.rpc.mk>
- .include <bsd.prog.mk>
 diff -ru nbsdsrc/src/include/sched.h nbsd_include/sched.h
 --- nbsdsrc/src/include/sched.h
 +++ nbsd_include/sched.h
index f59fa6ae6532113d91ec5787fd1626e5cead2e12..92b56b8c8766e57db1f53078c0a0ca71971c5ea0 100644 (file)
@@ -2,7 +2,7 @@ NOOBJ=          # defined
 
 .include <bsd.own.mk>
 
-INCSDIR=       /usr/netbsd/include/minix
+INCSDIR=       /usr/include/minix
 
 INCS+= dirent.h paths.h types.h
 
index 1a5a4e9b02979ce6db8c26241f31f97cd8908a36..3b46d5e1f735ae5c097d35278e601f0de8a7be53 100644 (file)
@@ -1,4 +1,4 @@
-INCSDIR= /usr/netbsd/include/net
+INCSDIR= /usr/include/net
 
 INCS+= hton.h ethertypes.h if.h if_ether.h netlib.h
 
index c83b50dc57455bf88ce8c24ab1b5a727f59d1eb5..8057410808407d5923ab0de5426fd509b059b75c 100644 (file)
@@ -1,4 +1,4 @@
-INCSDIR= /usr/netbsd/include/netinet
+INCSDIR= /usr/include/netinet
 
 INCS+= in.h tcp.h
 
index 32c07e9f4629f67ee50d5cba32a79780b5a168a9..4d5a883d81abce3d61b57f05d1fc31baa90b971d 100644 (file)
@@ -1,4 +1,4 @@
-INCSDIR= /usr/netbsd/include/netinet6
+INCSDIR= /usr/include/netinet6
 
 INCS+= in6.h
 
index 8c93b4ffcc6b1f99f1b8ab0cd93da6e3d5db7ac1..b37d99d9675684d7494a1eb04b39df25d7e6e69d 100644 (file)
@@ -7,11 +7,7 @@ INCS=  auth.h auth_unix.h clnt.h clnt_soc.h nettype.h \
        svc.h svc_auth.h svc_soc.h types.h xdr.h
 RPC_INCS=      rpcb_prot.h
 
-.if defined(__MINIX)
-INCSDIR=       /usr/netbsd/include/rpc
-.else
 INCSDIR=       /usr/include/rpc
-.endif
 
 .include <bsd.rpc.mk>
 .include <bsd.prog.mk>
index 278e843acedeca4a5e72f90bb5ca142da8c7de2e..1763baa5439862062fb2d1ae88b9f8396667ac09 100644 (file)
@@ -1,7 +1,7 @@
 #      $NetBSD: Makefile,v 1.126 2010/03/01 21:10:13 darran Exp $
 
-NETBSDINCSDIR= /usr/netbsd/include
-INCSDIR= /usr/netbsd/include/sys
+NETBSDINCSDIR= /usr/include
+INCSDIR= /usr/include/sys
 
 .include <bsd.sys.mk>
 
index edb1205a6aff7a291be63aa698ad7a66cbf7a05a..8ae65e74093cb5682010a2ade09e3f49a836139b 100644 (file)
@@ -1,8 +1,5 @@
 .include <bsd.own.mk>
 
-SUBDIR= mk
-.if (${NBSD_LIBC} == "no")
-SUBDIR+= zoneinfo
-.endif
+SUBDIR= mk zoneinfo
 
 .include <bsd.subdir.mk>
index 4eff2fc36d4df3afa12d97b538f69f7aa211c61e..5bb2943dba2c9ff1b7c21cb1ae0c879b6b4441d3 100644 (file)
@@ -8,7 +8,7 @@ FILES=  bsd.ack.mk bsd.dep.mk bsd.files.mk \
        bsd.init.mk bsd.kinc.mk bsd.klinks.mk bsd.lib.mk \
        bsd.links.mk bsd.man.mk bsd.obj.mk bsd.own.mk \
        bsd.prog.mk bsd.subdir.mk bsd.sys.mk bsd.gcov.mk \
-       minix.libc.mk pkgsrchooks.mk sys.mk
+       pkgsrchooks.mk sys.mk
 
 # MINIX-specific files
 FILES+= minix.bootprog.mk
index f90077df19d20084af73e5dc747b5b526979da15..47753cd837ae69168e9222a45e216c968b68461d 100644 (file)
@@ -541,12 +541,6 @@ OBJECT_FMT=        ELF
 OBJECT_FMT=    a.out
 .endif
 
-.if ${COMPILER_TYPE} == "gnu"
-.if defined(NBSD_LIBC) && (${NBSD_LIBC} != "no")
-LIBDIR=                /usr/netbsd/lib
-.endif
-.endif
-
 #
 # If this platform's toolchain is missing, we obviously cannot build it.
 #
index cccc74201e17576f64d8b12aea14c3612b39b9cf..3e0de997a4ac167da81907a6453317a3f58e7fd6 100644 (file)
@@ -28,12 +28,8 @@ cleanprog: .PHONY cleanobjs cleanextra
 
 ##### Default values
 .if empty(CPPFLAGS:M-nostdinc)
-.if (${NBSD_LIBC} == "yes")
-CPPFLAGS+=     ${DESTDIR:D-nostdinc ${CPPFLAG_ISYSTEM} ${DESTDIR}/usr/netbsd/include}
-.else
 CPPFLAGS+=     ${DESTDIR:D-nostdinc ${CPPFLAG_ISYSTEM} ${DESTDIR}/usr/include}
 .endif
-.endif
 .if empty(CXXFLAGS:M-nostdinc++)
 CXXFLAGS+=     ${DESTDIR:D-nostdinc++ ${CPPFLAG_ISYSTEMXX} ${DESTDIR}/usr/include/g++}
 .endif
@@ -69,12 +65,8 @@ LIB${_lib:tu}=       ${DESTDIR}/usr/lib/lib${_lib}.a
 .if ${COMPILER_TYPE} == "ack"
 LIB${_lib:tu}= ${DESTDIR}/usr/lib/i386/lib${_lib}.a
 .elif ${COMPILER_TYPE} == "gnu"
-.if defined(NBSD_LIBC) && (${NBSD_LIBC} != "no")
-LIB${_lib:tu}=  ${DESTDIR}/usr/netbsd/lib/lib${_lib}.a
-.else
 LIB${_lib:tu}= ${DESTDIR}/usr/lib/lib${_lib}.a
 .endif
-.endif
 .MADE:         ${LIB${_lib:tu}}        # Note: ${DESTDIR} will be expanded
 .endif
 .endfor
index d6c27a74c0ae7a5c7ef4b5ba2f196deadf7548fe..b32b043e205cb6e7e381b5e29fd0ba34a9046c1f 100644 (file)
@@ -66,8 +66,7 @@ HAS_SSP=      yes
 .endif
 
 .if defined(NBSD_LIBC) && (${NBSD_LIBC} != "no")
-CPPFLAGS+=     -nostdinc -D__NBSD_LIBC -isystem /usr/netbsd/include
-LDFLAGS+=      -L /usr/netbsd/lib
+CPPFLAGS+=     -D__NBSD_LIBC
 .endif
 
 .if defined(USE_FORT) && (${USE_FORT} != "no")
diff --git a/share/mk/minix.libc.mk b/share/mk/minix.libc.mk
deleted file mode 100644 (file)
index 9ed8619..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-# NetBSD libc flags go here
-NETBSD_LIBC_CPPFLAGS=-B/usr/netbsd -D__NBSD_LIBC
-NETBSD_LIBC_LDFLAGS=-B/usr/netbsd:/usr/netbsd/lib -lminlib -lcompat_minix
-# Minix libc flags go here
-MINIX_LIBC_CPPFLAGS=
-MINIX_LIBC_LDFLAGS=
index ad4a6a36a2932e300b6521290a3eb63fb0ec83de..f9b8d54c9868b52d284e8e287acb25679d2193b3 100644 (file)
@@ -2,35 +2,4 @@
 
 .if !defined(_MINIX_PKGSRC_HOOKS_)
 _MINIX_PKGSRC_HOOKS_=1
-
-# Get PKGS_REQUIRING_MINIX_LIBC
-.include "/usr/pkgsrc/minix/pkgs_requiring_minix_libc.mk"
-
-# Get MINIX_LIBC_* and NETBSD_LIBC_*
-.include "/usr/share/mk/minix.libc.mk"
-
-# Build everything not in PKGS_REQUIRING_MINIX_LIBC with NetBSD libc
-PKG_REQUIRES_MINIX_LIBC=no
-
-# Search PKGS_REQUIRING_MINIX_LIBC to see if it needs Minix libc
-.for PKG_REQUIRING_MINIX_LIBC in ${PKGS_REQUIRING_MINIX_LIBC}
-.if "${PKG_REQUIRING_MINIX_LIBC}" == "${PKGPATH}"
-PKG_REQUIRES_MINIX_LIBC=yes
-.endif
-.endfor
-
-# Set the proper compilation flags
-.if ${PKG_REQUIRES_MINIX_LIBC} == yes
-CPPFLAGS+=     ${MINIX_LIBC_CPPFLAGS}
-LDFLAGS+=      ${MINIX_LIBC_LDFLAGS}
-.else
-SED=/bin/sed
-.include "/usr/pkgsrc/mk/nbsd_libc.buildlink3.mk"
-PREFER_NATIVE+=minlib
-PREFER_NATIVE+=compat_minix
-PREFER_NATIVE+=nbsd_libc
-CPPFLAGS+=     ${NETBSD_LIBC_CPPFLAGS}
-LDFLAGS+=      ${NETBSD_LIBC_LDFLAGS}
-.endif
-
 .endif  # !defined(_MINIX_PKGSRC_HOOKS_)
index e935aca12fbc88a5d070120bc3ca4dcd76d04f4a..5466a79209733d2bda0315d5c49f1a322f1058ed 100644 (file)
@@ -239,8 +239,7 @@ AR?=        ar
 .endif
 
 # Set NBSD_LIBC to either "yes" or "no".
-.if !defined(NBSD) || (${NBSD} == "no") \
-    || !defined(COMPILER_TYPE) || (${COMPILER_TYPE} == "ack")
+.if ${COMPILER_TYPE} == "ack"
 NBSD_LIBC=     no
 .else
 NBSD_LIBC=     yes
index 9b4467498fa685b1b87e30414e592ddf84c6e065..fb17b6ac9b2a85fb12fa7a604984c9ccb9cd94a5 100644 (file)
@@ -1,5 +1,4 @@
-# Requires NBSD_LIBC and clang/gcc (we default to using clang)
-NBSD_LIBC:= yes
+# Requires clang/gcc for NetBSD libc
 CC:=${CC:C/^cc/clang/}
 COMPILER_TYPE:= gnu