Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[pkgsrc/trunk]: pkgsrc/devel/bmake/files Import bmake-



details:   https://anonhg.NetBSD.org/pkgsrc/rev/45cd702fabae
branches:  trunk
changeset: 432665:45cd702fabae
user:      nia <nia%pkgsrc.org@localhost>
date:      Sun May 24 05:35:52 2020 +0000

description:
Import bmake-

diffstat:

 devel/bmake/files/filemon/filemon.h             |    53 +
 devel/bmake/files/filemon/filemon_dev.c         |   151 ++
 devel/bmake/files/filemon/filemon_ktrace.c      |   878 +++++++++++++
 devel/bmake/files/metachar.c                    |    88 +
 devel/bmake/files/metachar.h                    |    61 +
 devel/bmake/files/mk/ChangeLog                  |  1540 +++++++++++++++++++++++
 devel/bmake/files/mk/FILES                      |    72 +
 devel/bmake/files/mk/README                     |   401 +++++
 devel/bmake/files/mk/auto.dep.mk                |    74 +
 devel/bmake/files/mk/auto.obj.mk                |    76 +
 devel/bmake/files/mk/autoconf.mk                |    80 +
 devel/bmake/files/mk/autodep.mk                 |   219 +++
 devel/bmake/files/mk/compiler.mk                |    43 +
 devel/bmake/files/mk/cython.mk                  |   101 +
 devel/bmake/files/mk/dep.mk                     |   127 +
 devel/bmake/files/mk/dirdeps-options.mk         |    73 +
 devel/bmake/files/mk/dirdeps-targets.mk         |   133 +
 devel/bmake/files/mk/dirdeps.mk                 |   834 ++++++++++++
 devel/bmake/files/mk/doc.mk                     |    64 +
 devel/bmake/files/mk/dpadd.mk                   |   339 +++++
 devel/bmake/files/mk/files.mk                   |    83 +
 devel/bmake/files/mk/final.mk                   |    22 +
 devel/bmake/files/mk/gendirdeps.mk              |   383 +++++
 devel/bmake/files/mk/host-target.mk             |    44 +
 devel/bmake/files/mk/host.libnames.mk           |    29 +
 devel/bmake/files/mk/inc.mk                     |    89 +
 devel/bmake/files/mk/init.mk                    |    70 +
 devel/bmake/files/mk/install-mk                 |   185 ++
 devel/bmake/files/mk/install-new.mk             |    53 +
 devel/bmake/files/mk/java.mk                    |    97 +
 devel/bmake/files/mk/ldorder.mk                 |   156 ++
 devel/bmake/files/mk/lib.mk                     |   609 +++++++++
 devel/bmake/files/mk/libnames.mk                |    22 +
 devel/bmake/files/mk/libs.mk                    |    93 +
 devel/bmake/files/mk/links.mk                   |    80 +
 devel/bmake/files/mk/man.mk                     |   137 ++
 devel/bmake/files/mk/manifest.mk                |    66 +
 devel/bmake/files/mk/meta.autodep.mk            |   320 ++++
 devel/bmake/files/mk/meta.stage.mk              |   366 +++++
 devel/bmake/files/mk/meta.subdir.mk             |    79 +
 devel/bmake/files/mk/meta.sys.mk                |   173 ++
 devel/bmake/files/mk/meta2deps.py               |   755 +++++++++++
 devel/bmake/files/mk/meta2deps.sh               |   405 ++++++
 devel/bmake/files/mk/mk-files.txt               |   503 +++++++
 devel/bmake/files/mk/mkopt.sh                   |   103 +
 devel/bmake/files/mk/nls.mk                     |    47 +
 devel/bmake/files/mk/obj.mk                     |   113 +
 devel/bmake/files/mk/options.mk                 |    80 +
 devel/bmake/files/mk/own.mk                     |   271 ++++
 devel/bmake/files/mk/prlist.mk                  |    36 +
 devel/bmake/files/mk/prog.mk                    |   251 +++
 devel/bmake/files/mk/progs.mk                   |   102 +
 devel/bmake/files/mk/rst2htm.mk                 |    53 +
 devel/bmake/files/mk/scripts.mk                 |    91 +
 devel/bmake/files/mk/srctop.mk                  |    66 +
 devel/bmake/files/mk/stage-install.sh           |    98 +
 devel/bmake/files/mk/subdir.mk                  |   102 +
 devel/bmake/files/mk/sys.clean-env.mk           |   130 +
 devel/bmake/files/mk/sys.debug.mk               |    33 +
 devel/bmake/files/mk/sys.dependfile.mk          |    59 +
 devel/bmake/files/mk/sys.mk                     |   155 ++
 devel/bmake/files/mk/sys.vars.mk                |    85 +
 devel/bmake/files/mk/sys/AIX.mk                 |   184 ++
 devel/bmake/files/mk/sys/Darwin.mk              |   222 +++
 devel/bmake/files/mk/sys/Generic.mk             |   204 +++
 devel/bmake/files/mk/sys/HP-UX.mk               |   226 +++
 devel/bmake/files/mk/sys/IRIX.mk                |   195 ++
 devel/bmake/files/mk/sys/Linux.mk               |   187 ++
 devel/bmake/files/mk/sys/NetBSD.mk              |   230 +++
 devel/bmake/files/mk/sys/OSF1.mk                |   198 ++
 devel/bmake/files/mk/sys/OpenBSD.mk             |   205 +++
 devel/bmake/files/mk/sys/SunOS.mk               |   219 +++
 devel/bmake/files/mk/sys/UnixWare.mk            |   241 +++
 devel/bmake/files/mk/target-flags.mk            |    62 +
 devel/bmake/files/mk/warnings.mk                |   139 ++
 devel/bmake/files/mk/whats.mk                   |    69 +
 devel/bmake/files/mk/yacc.mk                    |    57 +
 devel/bmake/files/unit-tests/Makefile           |   155 ++
 devel/bmake/files/unit-tests/Makefile.config.in |     4 +
 devel/bmake/files/unit-tests/cond-late.exp      |     3 +
 devel/bmake/files/unit-tests/cond-late.mk       |    23 +
 devel/bmake/files/unit-tests/dollar.exp         |    51 +
 devel/bmake/files/unit-tests/dollar.mk          |    81 +
 devel/bmake/files/unit-tests/doterror.exp       |     2 +-
 devel/bmake/files/unit-tests/dotwait.exp        |     4 +-
 devel/bmake/files/unit-tests/export-env.exp     |     2 +
 devel/bmake/files/unit-tests/forloop.exp        |     3 +-
 devel/bmake/files/unit-tests/include-main.exp   |     6 +
 devel/bmake/files/unit-tests/include-main.mk    |    30 +
 devel/bmake/files/unit-tests/include-sub.mk     |    17 +
 devel/bmake/files/unit-tests/include-subsub.mk  |     7 +
 devel/bmake/files/unit-tests/modmatch.exp       |     3 +
 devel/bmake/files/unit-tests/modmatch.mk        |    11 +-
 devel/bmake/files/unit-tests/modts.exp          |    10 +-
 devel/bmake/files/unit-tests/modts.mk           |     7 +-
 devel/bmake/files/unit-tests/sysv.exp           |     8 +
 devel/bmake/files/unit-tests/varcmd.exp         |     2 +
 devel/bmake/files/unit-tests/varmisc.exp        |    23 +
 devel/bmake/files/unit-tests/varmod-edge.exp    |    17 +
 devel/bmake/files/unit-tests/varmod-edge.mk     |   162 ++
 devel/bmake/files/unit-tests/varquote.exp       |     3 +
 devel/bmake/files/unit-tests/varquote.mk        |    14 +
 102 files changed, 15377 insertions(+), 10 deletions(-)

diffs (truncated from 15877 to 300 lines):

diff -r 8f8951c6e7cd -r 45cd702fabae devel/bmake/files/filemon/filemon.h
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/devel/bmake/files/filemon/filemon.h       Sun May 24 05:35:52 2020 +0000
@@ -0,0 +1,53 @@
+/*     $NetBSD: filemon.h,v 1.1.1.1 2020/05/24 05:35:53 nia Exp $      */
+
+/*-
+ * Copyright (c) 2019 The NetBSD Foundation, Inc.
+ * All rights reserved.
+ *
+ * This code is derived from software contributed to The NetBSD Foundation
+ * by Taylor R. Campbell.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+ * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+ * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#ifndef FILEMON_H_
+#define        FILEMON_H_
+
+#include <sys/types.h>
+
+struct filemon;
+
+const char *
+       filemon_path(void);
+
+struct filemon *
+       filemon_open(void);
+int    filemon_close(struct filemon *);
+
+int    filemon_setfd(struct filemon *, int);
+void   filemon_setpid_parent(struct filemon *, pid_t);
+int    filemon_setpid_child(const struct filemon *, pid_t);
+
+int    filemon_readfd(const struct filemon *);
+int    filemon_process(struct filemon *);
+
+#endif /* FILEMON_H_ */
diff -r 8f8951c6e7cd -r 45cd702fabae devel/bmake/files/filemon/filemon_dev.c
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/devel/bmake/files/filemon/filemon_dev.c   Sun May 24 05:35:52 2020 +0000
@@ -0,0 +1,151 @@
+/*     $NetBSD: filemon_dev.c,v 1.1.1.1 2020/05/24 05:35:53 nia Exp $  */
+
+/*-
+ * Copyright (c) 2020 The NetBSD Foundation, Inc.
+ * All rights reserved.
+ *
+ * This code is derived from software contributed to The NetBSD Foundation
+ * by Taylor R. Campbell.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+ * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+ * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "filemon.h"
+
+#include <sys/ioctl.h>
+
+#include <errno.h>
+#include <fcntl.h>
+#include <stdlib.h>
+#include <unistd.h>
+
+#ifdef HAVE_FILEMON_H
+#  include <filemon.h>
+#endif
+
+#ifndef _PATH_FILEMON
+#define        _PATH_FILEMON   "/dev/filemon"
+#endif
+
+struct filemon {
+       int     fd;
+};
+
+const char *
+filemon_path(void)
+{
+
+       return _PATH_FILEMON;
+}
+
+struct filemon *
+filemon_open(void)
+{
+       struct filemon *F;
+       unsigned i;
+       int error;
+
+       /* Allocate and zero a struct filemon object.  */
+       F = calloc(1, sizeof(*F));
+       if (F == NULL)
+               return NULL;
+
+       /* Try opening /dev/filemon, up to six times (cargo cult!).  */
+       for (i = 0; (F->fd = open(_PATH_FILEMON, O_RDWR)) == -1; i++) {
+               if (i == 5) {
+                       error = errno;
+                       goto fail0;
+               }
+       }
+
+       /* Success!  */
+       return F;
+
+fail0: free(F);
+       errno = error;
+       return NULL;
+}
+
+int
+filemon_setfd(struct filemon *F, int fd)
+{
+
+       /* Point the kernel at this file descriptor.  */
+       if (ioctl(F->fd, FILEMON_SET_FD, &fd) == -1)
+               return -1;
+
+       /* No need for it in userland any more; close it.  */
+       (void)close(fd);
+
+       /* Success!  */
+       return 0;
+}
+
+void
+filemon_setpid_parent(struct filemon *F, pid_t pid)
+{
+       /* Nothing to do!  */
+}
+
+int
+filemon_setpid_child(const struct filemon *F, pid_t pid)
+{
+
+       /* Just pass it on to the kernel.  */
+       return ioctl(F->fd, FILEMON_SET_PID, &pid);
+}
+
+int
+filemon_close(struct filemon *F)
+{
+       int error = 0;
+
+       /* Close the filemon device fd.  */
+       if (close(F->fd) == -1 && error == 0)
+               error = errno;
+
+       /* Free the filemon descriptor.  */
+       free(F);
+
+       /* Set errno and return -1 if anything went wrong.  */
+       if (error) {
+               errno = error;
+               return -1;
+       }
+
+       /* Success!  */
+       return 0;
+}
+
+int
+filemon_readfd(const struct filemon *F)
+{
+
+       return -1;
+}
+
+int
+filemon_process(struct filemon *F)
+{
+
+       return 0;
+}
diff -r 8f8951c6e7cd -r 45cd702fabae devel/bmake/files/filemon/filemon_ktrace.c
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/devel/bmake/files/filemon/filemon_ktrace.c        Sun May 24 05:35:52 2020 +0000
@@ -0,0 +1,878 @@
+/*     $NetBSD: filemon_ktrace.c,v 1.1.1.1 2020/05/24 05:35:53 nia Exp $       */
+
+/*-
+ * Copyright (c) 2019 The NetBSD Foundation, Inc.
+ * All rights reserved.
+ *
+ * This code is derived from software contributed to The NetBSD Foundation
+ * by Taylor R. Campbell.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+ * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+ * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#define        _KERNTYPES              /* register_t */
+
+#include "filemon.h"
+
+#include <sys/param.h>
+#include <sys/types.h>
+#include <sys/rbtree.h>
+#include <sys/syscall.h>
+#include <sys/time.h>
+#include <sys/uio.h>
+#include <sys/wait.h>
+
+#include <sys/ktrace.h>
+
+#include <assert.h>
+#include <err.h>
+#include <errno.h>
+#include <fcntl.h>
+#include <stdbool.h>
+#include <stddef.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <unistd.h>
+
+#ifndef AT_CWD
+#define AT_CWD -1
+#endif
+
+struct filemon;
+struct filemon_key;
+struct filemon_state;
+
+typedef struct filemon_state *filemon_syscall_t(struct filemon *,
+    const struct filemon_key *, const struct ktr_syscall *);
+
+static filemon_syscall_t filemon_sys_chdir;
+static filemon_syscall_t filemon_sys_execve;
+static filemon_syscall_t filemon_sys_exit;
+static filemon_syscall_t filemon_sys_fork;
+static filemon_syscall_t filemon_sys_link;
+static filemon_syscall_t filemon_sys_open;
+static filemon_syscall_t filemon_sys_openat;
+static filemon_syscall_t filemon_sys_symlink;
+static filemon_syscall_t filemon_sys_unlink;
+static filemon_syscall_t filemon_sys_rename;
+
+static filemon_syscall_t *const filemon_syscalls[] = {
+       [SYS_chdir] = &filemon_sys_chdir,
+       [SYS_execve] = &filemon_sys_execve,
+       [SYS_exit] = &filemon_sys_exit,
+       [SYS_fork] = &filemon_sys_fork,
+       [SYS_link] = &filemon_sys_link,



Home | Main Index | Thread Index | Old Index