change python config, add jupyter and ein
This commit is contained in:
6
lisp/zmq/.ipynb_checkpoints/Untitled-checkpoint.ipynb
Normal file
6
lisp/zmq/.ipynb_checkpoints/Untitled-checkpoint.ipynb
Normal file
@@ -0,0 +1,6 @@
|
||||
{
|
||||
"cells": [],
|
||||
"metadata": {},
|
||||
"nbformat": 4,
|
||||
"nbformat_minor": 5
|
||||
}
|
||||
93
lisp/zmq/Makefile
Normal file
93
lisp/zmq/Makefile
Normal file
@@ -0,0 +1,93 @@
|
||||
ROOT = .
|
||||
SHELL = bash
|
||||
EMACS ?= emacs
|
||||
EFILES := zmq.el
|
||||
# CPPFLAGS = -DEZMQ_DEBUG=0
|
||||
ELCFILES = $(EFILES:.el=.elc)
|
||||
|
||||
export ZMQ_GIT_REPO ?= https://github.com/zeromq/libzmq
|
||||
# The version of ZMQ to build
|
||||
export ZMQ_VERSION ?= 4.3.1
|
||||
# Directory in which the emacs-zmq module will be written
|
||||
EZMQ_LIBDIR ?= $(CURDIR)
|
||||
# NOTE: The ZMQ_LIBS and ZMQ_CFLAGS can be set before configuring the project
|
||||
# to point to the ZMQ to build with.
|
||||
|
||||
MODULE_EXT := $(shell $(EMACS) -Q --batch --eval "(princ (and (boundp 'module-file-suffix) module-file-suffix))")
|
||||
ifeq ($(MODULE_EXT), nil)
|
||||
$(error No module support in $(EMACS))
|
||||
endif
|
||||
EZMQ_MODULE := emacs-zmq$(MODULE_EXT)
|
||||
|
||||
.PHONY: all
|
||||
all: $(EZMQ_LIBDIR)/$(EZMQ_MODULE) compile
|
||||
|
||||
.PHONY: configure
|
||||
configure: src/configure
|
||||
cd src && ./configure CPPFLAGS="$(CPPFLAGS)" \
|
||||
--prefix=$(CURDIR) \
|
||||
--enable-shared=emacs-zmq --enable-static=zeromq \
|
||||
--without-docs --enable-drafts=yes --enable-libunwind=no \
|
||||
--disable-curve-keygen --disable-perf --disable-eventfd
|
||||
|
||||
$(EZMQ_LIBDIR)/$(EZMQ_MODULE): src/Makefile
|
||||
$(MAKE) -C src
|
||||
mkdir -p $(EZMQ_LIBDIR)
|
||||
cp src/.libs/$(EZMQ_MODULE) $(EZMQ_LIBDIR)/$(EZMQ_MODULE)
|
||||
|
||||
src/Makefile: src/configure
|
||||
$(MAKE) configure
|
||||
|
||||
# Needed for static Windows builds of libzmq, see libzmq/INSTALL
|
||||
ifeq ($(MODULE_EXT),.dll)
|
||||
CPPFLAGS += -DZMQ_STATIC
|
||||
endif
|
||||
|
||||
src/configure: src/configure.ac src/Makefile.am
|
||||
cd src && autoreconf -i
|
||||
|
||||
.PHONY: test
|
||||
test:
|
||||
$(EMACS) -nw -Q -batch -L . -l ert -l zmq-tests.el \
|
||||
--eval "(ert-run-tests-batch-and-exit)"
|
||||
|
||||
.PHONY: clean
|
||||
clean:
|
||||
$(MAKE) -C src clean
|
||||
$(RM) emacs-zmq.* $(ELCFILES)
|
||||
|
||||
.PHONY: clean-zmq-build
|
||||
clean-zmq-build:
|
||||
$(RM) -r src/libzmq-build
|
||||
$(MAKE) -C src clean-libzmq
|
||||
|
||||
.PHONY: compile
|
||||
compile: $(ELCFILES)
|
||||
|
||||
$(ELCFILES): %.elc: %.el
|
||||
$(EMACS) --batch -Q -L . -f batch-byte-compile $<
|
||||
|
||||
ifneq (,$(filter products,$(MAKECMDGOALS)))
|
||||
ifeq (,$(shell which $(CC)))
|
||||
$(error "Compiler $(CC) not found.")
|
||||
endif
|
||||
PRODUCT := emacs-zmq-$(shell $(CC) -dumpmachine)
|
||||
ifneq ($(shell command -v shasum),)
|
||||
SHA256SUM := shasum -a 256
|
||||
else
|
||||
SHA256SUM := sha256sum
|
||||
endif
|
||||
endif
|
||||
|
||||
.PHONY: products
|
||||
products: products/$(PRODUCT).tar.gz.sha256
|
||||
|
||||
products/$(PRODUCT).tar.gz: $(EZMQ_LIBDIR)/$(EZMQ_MODULE)
|
||||
mkdir -p products/$(PRODUCT)
|
||||
cp $(EZMQ_LIBDIR)/*$(EZMQ_MODULE) products/$(PRODUCT)
|
||||
cd products && \
|
||||
tar -czf $(CURDIR)/products/$(PRODUCT).tar.gz $(PRODUCT)
|
||||
|
||||
products/$(PRODUCT).tar.gz.sha256: products/$(PRODUCT).tar.gz
|
||||
cd products && \
|
||||
$(SHA256SUM) $(PRODUCT).tar.gz > $(PRODUCT).tar.gz.sha256
|
||||
BIN
lisp/zmq/emacs-zmq.so
Executable file
BIN
lisp/zmq/emacs-zmq.so
Executable file
Binary file not shown.
148
lisp/zmq/src/.deps/emacs_zmq_la-constants.Plo
Normal file
148
lisp/zmq/src/.deps/emacs_zmq_la-constants.Plo
Normal file
@@ -0,0 +1,148 @@
|
||||
emacs_zmq_la-constants.lo: constants.c /usr/include/stdc-predef.h core.h \
|
||||
/usr/include/stdlib.h /usr/include/bits/libc-header-start.h \
|
||||
/usr/include/features.h /usr/include/features-time64.h \
|
||||
/usr/include/bits/wordsize.h /usr/include/bits/timesize.h \
|
||||
/usr/include/sys/cdefs.h /usr/include/bits/long-double.h \
|
||||
/usr/include/gnu/stubs.h /usr/include/gnu/stubs-64.h \
|
||||
/usr/lib/gcc/x86_64-pc-linux-gnu/13.2.1/include/stddef.h \
|
||||
/usr/include/bits/waitflags.h /usr/include/bits/waitstatus.h \
|
||||
/usr/include/bits/floatn.h /usr/include/bits/floatn-common.h \
|
||||
/usr/include/sys/types.h /usr/include/bits/types.h \
|
||||
/usr/include/bits/typesizes.h /usr/include/bits/time64.h \
|
||||
/usr/include/bits/types/clock_t.h /usr/include/bits/types/clockid_t.h \
|
||||
/usr/include/bits/types/time_t.h /usr/include/bits/types/timer_t.h \
|
||||
/usr/include/bits/stdint-intn.h /usr/include/endian.h \
|
||||
/usr/include/bits/endian.h /usr/include/bits/endianness.h \
|
||||
/usr/include/bits/byteswap.h /usr/include/bits/uintn-identity.h \
|
||||
/usr/include/sys/select.h /usr/include/bits/select.h \
|
||||
/usr/include/bits/types/sigset_t.h /usr/include/bits/types/__sigset_t.h \
|
||||
/usr/include/bits/types/struct_timeval.h \
|
||||
/usr/include/bits/types/struct_timespec.h \
|
||||
/usr/include/bits/pthreadtypes.h /usr/include/bits/thread-shared-types.h \
|
||||
/usr/include/bits/pthreadtypes-arch.h \
|
||||
/usr/include/bits/atomic_wide_counter.h /usr/include/bits/struct_mutex.h \
|
||||
/usr/include/bits/struct_rwlock.h /usr/include/alloca.h \
|
||||
/usr/include/bits/stdlib-bsearch.h /usr/include/bits/stdlib-float.h \
|
||||
/usr/include/string.h /usr/include/bits/types/locale_t.h \
|
||||
/usr/include/bits/types/__locale_t.h /usr/include/strings.h \
|
||||
/usr/lib/gcc/x86_64-pc-linux-gnu/13.2.1/include/stdarg.h \
|
||||
/usr/include/zmq.h /usr/include/errno.h /usr/include/bits/errno.h \
|
||||
/usr/include/linux/errno.h /usr/include/asm/errno.h \
|
||||
/usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
|
||||
/usr/include/stdio.h /usr/include/bits/types/__fpos_t.h \
|
||||
/usr/include/bits/types/__mbstate_t.h \
|
||||
/usr/include/bits/types/__fpos64_t.h /usr/include/bits/types/__FILE.h \
|
||||
/usr/include/bits/types/FILE.h /usr/include/bits/types/struct_FILE.h \
|
||||
/usr/include/bits/types/cookie_io_functions_t.h \
|
||||
/usr/include/bits/stdio_lim.h /usr/include/bits/stdio.h \
|
||||
/usr/lib/gcc/x86_64-pc-linux-gnu/13.2.1/include/stdint.h \
|
||||
/usr/include/stdint.h /usr/include/bits/wchar.h \
|
||||
/usr/include/bits/stdint-uintn.h /usr/include/bits/stdint-least.h \
|
||||
/usr/include/signal.h /usr/include/bits/signum-generic.h \
|
||||
/usr/include/bits/signum-arch.h /usr/include/bits/types/sig_atomic_t.h \
|
||||
/usr/include/bits/types/siginfo_t.h /usr/include/bits/types/__sigval_t.h \
|
||||
/usr/include/bits/siginfo-arch.h /usr/include/bits/siginfo-consts.h \
|
||||
/usr/include/bits/types/sigval_t.h /usr/include/bits/types/sigevent_t.h \
|
||||
/usr/include/bits/sigevent-consts.h /usr/include/bits/sigaction.h \
|
||||
/usr/include/bits/sigcontext.h /usr/include/bits/types/stack_t.h \
|
||||
/usr/include/sys/ucontext.h /usr/include/bits/sigstack.h \
|
||||
/usr/include/bits/sigstksz.h /usr/include/bits/ss_flags.h \
|
||||
/usr/include/bits/types/struct_sigstack.h /usr/include/bits/sigthread.h \
|
||||
/usr/include/bits/signal_ext.h \
|
||||
/usr/lib/gcc/x86_64-pc-linux-gnu/13.2.1/include/stdbool.h emacs-module.h
|
||||
/usr/include/stdc-predef.h:
|
||||
core.h:
|
||||
/usr/include/stdlib.h:
|
||||
/usr/include/bits/libc-header-start.h:
|
||||
/usr/include/features.h:
|
||||
/usr/include/features-time64.h:
|
||||
/usr/include/bits/wordsize.h:
|
||||
/usr/include/bits/timesize.h:
|
||||
/usr/include/sys/cdefs.h:
|
||||
/usr/include/bits/long-double.h:
|
||||
/usr/include/gnu/stubs.h:
|
||||
/usr/include/gnu/stubs-64.h:
|
||||
/usr/lib/gcc/x86_64-pc-linux-gnu/13.2.1/include/stddef.h:
|
||||
/usr/include/bits/waitflags.h:
|
||||
/usr/include/bits/waitstatus.h:
|
||||
/usr/include/bits/floatn.h:
|
||||
/usr/include/bits/floatn-common.h:
|
||||
/usr/include/sys/types.h:
|
||||
/usr/include/bits/types.h:
|
||||
/usr/include/bits/typesizes.h:
|
||||
/usr/include/bits/time64.h:
|
||||
/usr/include/bits/types/clock_t.h:
|
||||
/usr/include/bits/types/clockid_t.h:
|
||||
/usr/include/bits/types/time_t.h:
|
||||
/usr/include/bits/types/timer_t.h:
|
||||
/usr/include/bits/stdint-intn.h:
|
||||
/usr/include/endian.h:
|
||||
/usr/include/bits/endian.h:
|
||||
/usr/include/bits/endianness.h:
|
||||
/usr/include/bits/byteswap.h:
|
||||
/usr/include/bits/uintn-identity.h:
|
||||
/usr/include/sys/select.h:
|
||||
/usr/include/bits/select.h:
|
||||
/usr/include/bits/types/sigset_t.h:
|
||||
/usr/include/bits/types/__sigset_t.h:
|
||||
/usr/include/bits/types/struct_timeval.h:
|
||||
/usr/include/bits/types/struct_timespec.h:
|
||||
/usr/include/bits/pthreadtypes.h:
|
||||
/usr/include/bits/thread-shared-types.h:
|
||||
/usr/include/bits/pthreadtypes-arch.h:
|
||||
/usr/include/bits/atomic_wide_counter.h:
|
||||
/usr/include/bits/struct_mutex.h:
|
||||
/usr/include/bits/struct_rwlock.h:
|
||||
/usr/include/alloca.h:
|
||||
/usr/include/bits/stdlib-bsearch.h:
|
||||
/usr/include/bits/stdlib-float.h:
|
||||
/usr/include/string.h:
|
||||
/usr/include/bits/types/locale_t.h:
|
||||
/usr/include/bits/types/__locale_t.h:
|
||||
/usr/include/strings.h:
|
||||
/usr/lib/gcc/x86_64-pc-linux-gnu/13.2.1/include/stdarg.h:
|
||||
/usr/include/zmq.h:
|
||||
/usr/include/errno.h:
|
||||
/usr/include/bits/errno.h:
|
||||
/usr/include/linux/errno.h:
|
||||
/usr/include/asm/errno.h:
|
||||
/usr/include/asm-generic/errno.h:
|
||||
/usr/include/asm-generic/errno-base.h:
|
||||
/usr/include/stdio.h:
|
||||
/usr/include/bits/types/__fpos_t.h:
|
||||
/usr/include/bits/types/__mbstate_t.h:
|
||||
/usr/include/bits/types/__fpos64_t.h:
|
||||
/usr/include/bits/types/__FILE.h:
|
||||
/usr/include/bits/types/FILE.h:
|
||||
/usr/include/bits/types/struct_FILE.h:
|
||||
/usr/include/bits/types/cookie_io_functions_t.h:
|
||||
/usr/include/bits/stdio_lim.h:
|
||||
/usr/include/bits/stdio.h:
|
||||
/usr/lib/gcc/x86_64-pc-linux-gnu/13.2.1/include/stdint.h:
|
||||
/usr/include/stdint.h:
|
||||
/usr/include/bits/wchar.h:
|
||||
/usr/include/bits/stdint-uintn.h:
|
||||
/usr/include/bits/stdint-least.h:
|
||||
/usr/include/signal.h:
|
||||
/usr/include/bits/signum-generic.h:
|
||||
/usr/include/bits/signum-arch.h:
|
||||
/usr/include/bits/types/sig_atomic_t.h:
|
||||
/usr/include/bits/types/siginfo_t.h:
|
||||
/usr/include/bits/types/__sigval_t.h:
|
||||
/usr/include/bits/siginfo-arch.h:
|
||||
/usr/include/bits/siginfo-consts.h:
|
||||
/usr/include/bits/types/sigval_t.h:
|
||||
/usr/include/bits/types/sigevent_t.h:
|
||||
/usr/include/bits/sigevent-consts.h:
|
||||
/usr/include/bits/sigaction.h:
|
||||
/usr/include/bits/sigcontext.h:
|
||||
/usr/include/bits/types/stack_t.h:
|
||||
/usr/include/sys/ucontext.h:
|
||||
/usr/include/bits/sigstack.h:
|
||||
/usr/include/bits/sigstksz.h:
|
||||
/usr/include/bits/ss_flags.h:
|
||||
/usr/include/bits/types/struct_sigstack.h:
|
||||
/usr/include/bits/sigthread.h:
|
||||
/usr/include/bits/signal_ext.h:
|
||||
/usr/lib/gcc/x86_64-pc-linux-gnu/13.2.1/include/stdbool.h:
|
||||
emacs-module.h:
|
||||
149
lisp/zmq/src/.deps/emacs_zmq_la-context.Plo
Normal file
149
lisp/zmq/src/.deps/emacs_zmq_la-context.Plo
Normal file
@@ -0,0 +1,149 @@
|
||||
emacs_zmq_la-context.lo: context.c /usr/include/stdc-predef.h context.h \
|
||||
core.h /usr/include/stdlib.h /usr/include/bits/libc-header-start.h \
|
||||
/usr/include/features.h /usr/include/features-time64.h \
|
||||
/usr/include/bits/wordsize.h /usr/include/bits/timesize.h \
|
||||
/usr/include/sys/cdefs.h /usr/include/bits/long-double.h \
|
||||
/usr/include/gnu/stubs.h /usr/include/gnu/stubs-64.h \
|
||||
/usr/lib/gcc/x86_64-pc-linux-gnu/13.2.1/include/stddef.h \
|
||||
/usr/include/bits/waitflags.h /usr/include/bits/waitstatus.h \
|
||||
/usr/include/bits/floatn.h /usr/include/bits/floatn-common.h \
|
||||
/usr/include/sys/types.h /usr/include/bits/types.h \
|
||||
/usr/include/bits/typesizes.h /usr/include/bits/time64.h \
|
||||
/usr/include/bits/types/clock_t.h /usr/include/bits/types/clockid_t.h \
|
||||
/usr/include/bits/types/time_t.h /usr/include/bits/types/timer_t.h \
|
||||
/usr/include/bits/stdint-intn.h /usr/include/endian.h \
|
||||
/usr/include/bits/endian.h /usr/include/bits/endianness.h \
|
||||
/usr/include/bits/byteswap.h /usr/include/bits/uintn-identity.h \
|
||||
/usr/include/sys/select.h /usr/include/bits/select.h \
|
||||
/usr/include/bits/types/sigset_t.h /usr/include/bits/types/__sigset_t.h \
|
||||
/usr/include/bits/types/struct_timeval.h \
|
||||
/usr/include/bits/types/struct_timespec.h \
|
||||
/usr/include/bits/pthreadtypes.h /usr/include/bits/thread-shared-types.h \
|
||||
/usr/include/bits/pthreadtypes-arch.h \
|
||||
/usr/include/bits/atomic_wide_counter.h /usr/include/bits/struct_mutex.h \
|
||||
/usr/include/bits/struct_rwlock.h /usr/include/alloca.h \
|
||||
/usr/include/bits/stdlib-bsearch.h /usr/include/bits/stdlib-float.h \
|
||||
/usr/include/string.h /usr/include/bits/types/locale_t.h \
|
||||
/usr/include/bits/types/__locale_t.h /usr/include/strings.h \
|
||||
/usr/lib/gcc/x86_64-pc-linux-gnu/13.2.1/include/stdarg.h \
|
||||
/usr/include/zmq.h /usr/include/errno.h /usr/include/bits/errno.h \
|
||||
/usr/include/linux/errno.h /usr/include/asm/errno.h \
|
||||
/usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
|
||||
/usr/include/stdio.h /usr/include/bits/types/__fpos_t.h \
|
||||
/usr/include/bits/types/__mbstate_t.h \
|
||||
/usr/include/bits/types/__fpos64_t.h /usr/include/bits/types/__FILE.h \
|
||||
/usr/include/bits/types/FILE.h /usr/include/bits/types/struct_FILE.h \
|
||||
/usr/include/bits/types/cookie_io_functions_t.h \
|
||||
/usr/include/bits/stdio_lim.h /usr/include/bits/stdio.h \
|
||||
/usr/lib/gcc/x86_64-pc-linux-gnu/13.2.1/include/stdint.h \
|
||||
/usr/include/stdint.h /usr/include/bits/wchar.h \
|
||||
/usr/include/bits/stdint-uintn.h /usr/include/bits/stdint-least.h \
|
||||
/usr/include/signal.h /usr/include/bits/signum-generic.h \
|
||||
/usr/include/bits/signum-arch.h /usr/include/bits/types/sig_atomic_t.h \
|
||||
/usr/include/bits/types/siginfo_t.h /usr/include/bits/types/__sigval_t.h \
|
||||
/usr/include/bits/siginfo-arch.h /usr/include/bits/siginfo-consts.h \
|
||||
/usr/include/bits/types/sigval_t.h /usr/include/bits/types/sigevent_t.h \
|
||||
/usr/include/bits/sigevent-consts.h /usr/include/bits/sigaction.h \
|
||||
/usr/include/bits/sigcontext.h /usr/include/bits/types/stack_t.h \
|
||||
/usr/include/sys/ucontext.h /usr/include/bits/sigstack.h \
|
||||
/usr/include/bits/sigstksz.h /usr/include/bits/ss_flags.h \
|
||||
/usr/include/bits/types/struct_sigstack.h /usr/include/bits/sigthread.h \
|
||||
/usr/include/bits/signal_ext.h \
|
||||
/usr/lib/gcc/x86_64-pc-linux-gnu/13.2.1/include/stdbool.h emacs-module.h
|
||||
/usr/include/stdc-predef.h:
|
||||
context.h:
|
||||
core.h:
|
||||
/usr/include/stdlib.h:
|
||||
/usr/include/bits/libc-header-start.h:
|
||||
/usr/include/features.h:
|
||||
/usr/include/features-time64.h:
|
||||
/usr/include/bits/wordsize.h:
|
||||
/usr/include/bits/timesize.h:
|
||||
/usr/include/sys/cdefs.h:
|
||||
/usr/include/bits/long-double.h:
|
||||
/usr/include/gnu/stubs.h:
|
||||
/usr/include/gnu/stubs-64.h:
|
||||
/usr/lib/gcc/x86_64-pc-linux-gnu/13.2.1/include/stddef.h:
|
||||
/usr/include/bits/waitflags.h:
|
||||
/usr/include/bits/waitstatus.h:
|
||||
/usr/include/bits/floatn.h:
|
||||
/usr/include/bits/floatn-common.h:
|
||||
/usr/include/sys/types.h:
|
||||
/usr/include/bits/types.h:
|
||||
/usr/include/bits/typesizes.h:
|
||||
/usr/include/bits/time64.h:
|
||||
/usr/include/bits/types/clock_t.h:
|
||||
/usr/include/bits/types/clockid_t.h:
|
||||
/usr/include/bits/types/time_t.h:
|
||||
/usr/include/bits/types/timer_t.h:
|
||||
/usr/include/bits/stdint-intn.h:
|
||||
/usr/include/endian.h:
|
||||
/usr/include/bits/endian.h:
|
||||
/usr/include/bits/endianness.h:
|
||||
/usr/include/bits/byteswap.h:
|
||||
/usr/include/bits/uintn-identity.h:
|
||||
/usr/include/sys/select.h:
|
||||
/usr/include/bits/select.h:
|
||||
/usr/include/bits/types/sigset_t.h:
|
||||
/usr/include/bits/types/__sigset_t.h:
|
||||
/usr/include/bits/types/struct_timeval.h:
|
||||
/usr/include/bits/types/struct_timespec.h:
|
||||
/usr/include/bits/pthreadtypes.h:
|
||||
/usr/include/bits/thread-shared-types.h:
|
||||
/usr/include/bits/pthreadtypes-arch.h:
|
||||
/usr/include/bits/atomic_wide_counter.h:
|
||||
/usr/include/bits/struct_mutex.h:
|
||||
/usr/include/bits/struct_rwlock.h:
|
||||
/usr/include/alloca.h:
|
||||
/usr/include/bits/stdlib-bsearch.h:
|
||||
/usr/include/bits/stdlib-float.h:
|
||||
/usr/include/string.h:
|
||||
/usr/include/bits/types/locale_t.h:
|
||||
/usr/include/bits/types/__locale_t.h:
|
||||
/usr/include/strings.h:
|
||||
/usr/lib/gcc/x86_64-pc-linux-gnu/13.2.1/include/stdarg.h:
|
||||
/usr/include/zmq.h:
|
||||
/usr/include/errno.h:
|
||||
/usr/include/bits/errno.h:
|
||||
/usr/include/linux/errno.h:
|
||||
/usr/include/asm/errno.h:
|
||||
/usr/include/asm-generic/errno.h:
|
||||
/usr/include/asm-generic/errno-base.h:
|
||||
/usr/include/stdio.h:
|
||||
/usr/include/bits/types/__fpos_t.h:
|
||||
/usr/include/bits/types/__mbstate_t.h:
|
||||
/usr/include/bits/types/__fpos64_t.h:
|
||||
/usr/include/bits/types/__FILE.h:
|
||||
/usr/include/bits/types/FILE.h:
|
||||
/usr/include/bits/types/struct_FILE.h:
|
||||
/usr/include/bits/types/cookie_io_functions_t.h:
|
||||
/usr/include/bits/stdio_lim.h:
|
||||
/usr/include/bits/stdio.h:
|
||||
/usr/lib/gcc/x86_64-pc-linux-gnu/13.2.1/include/stdint.h:
|
||||
/usr/include/stdint.h:
|
||||
/usr/include/bits/wchar.h:
|
||||
/usr/include/bits/stdint-uintn.h:
|
||||
/usr/include/bits/stdint-least.h:
|
||||
/usr/include/signal.h:
|
||||
/usr/include/bits/signum-generic.h:
|
||||
/usr/include/bits/signum-arch.h:
|
||||
/usr/include/bits/types/sig_atomic_t.h:
|
||||
/usr/include/bits/types/siginfo_t.h:
|
||||
/usr/include/bits/types/__sigval_t.h:
|
||||
/usr/include/bits/siginfo-arch.h:
|
||||
/usr/include/bits/siginfo-consts.h:
|
||||
/usr/include/bits/types/sigval_t.h:
|
||||
/usr/include/bits/types/sigevent_t.h:
|
||||
/usr/include/bits/sigevent-consts.h:
|
||||
/usr/include/bits/sigaction.h:
|
||||
/usr/include/bits/sigcontext.h:
|
||||
/usr/include/bits/types/stack_t.h:
|
||||
/usr/include/sys/ucontext.h:
|
||||
/usr/include/bits/sigstack.h:
|
||||
/usr/include/bits/sigstksz.h:
|
||||
/usr/include/bits/ss_flags.h:
|
||||
/usr/include/bits/types/struct_sigstack.h:
|
||||
/usr/include/bits/sigthread.h:
|
||||
/usr/include/bits/signal_ext.h:
|
||||
/usr/lib/gcc/x86_64-pc-linux-gnu/13.2.1/include/stdbool.h:
|
||||
emacs-module.h:
|
||||
150
lisp/zmq/src/.deps/emacs_zmq_la-core.Plo
Normal file
150
lisp/zmq/src/.deps/emacs_zmq_la-core.Plo
Normal file
@@ -0,0 +1,150 @@
|
||||
emacs_zmq_la-core.lo: core.c /usr/include/stdc-predef.h core.h \
|
||||
/usr/include/stdlib.h /usr/include/bits/libc-header-start.h \
|
||||
/usr/include/features.h /usr/include/features-time64.h \
|
||||
/usr/include/bits/wordsize.h /usr/include/bits/timesize.h \
|
||||
/usr/include/sys/cdefs.h /usr/include/bits/long-double.h \
|
||||
/usr/include/gnu/stubs.h /usr/include/gnu/stubs-64.h \
|
||||
/usr/lib/gcc/x86_64-pc-linux-gnu/13.2.1/include/stddef.h \
|
||||
/usr/include/bits/waitflags.h /usr/include/bits/waitstatus.h \
|
||||
/usr/include/bits/floatn.h /usr/include/bits/floatn-common.h \
|
||||
/usr/include/sys/types.h /usr/include/bits/types.h \
|
||||
/usr/include/bits/typesizes.h /usr/include/bits/time64.h \
|
||||
/usr/include/bits/types/clock_t.h /usr/include/bits/types/clockid_t.h \
|
||||
/usr/include/bits/types/time_t.h /usr/include/bits/types/timer_t.h \
|
||||
/usr/include/bits/stdint-intn.h /usr/include/endian.h \
|
||||
/usr/include/bits/endian.h /usr/include/bits/endianness.h \
|
||||
/usr/include/bits/byteswap.h /usr/include/bits/uintn-identity.h \
|
||||
/usr/include/sys/select.h /usr/include/bits/select.h \
|
||||
/usr/include/bits/types/sigset_t.h /usr/include/bits/types/__sigset_t.h \
|
||||
/usr/include/bits/types/struct_timeval.h \
|
||||
/usr/include/bits/types/struct_timespec.h \
|
||||
/usr/include/bits/pthreadtypes.h /usr/include/bits/thread-shared-types.h \
|
||||
/usr/include/bits/pthreadtypes-arch.h \
|
||||
/usr/include/bits/atomic_wide_counter.h /usr/include/bits/struct_mutex.h \
|
||||
/usr/include/bits/struct_rwlock.h /usr/include/alloca.h \
|
||||
/usr/include/bits/stdlib-bsearch.h /usr/include/bits/stdlib-float.h \
|
||||
/usr/include/string.h /usr/include/bits/types/locale_t.h \
|
||||
/usr/include/bits/types/__locale_t.h /usr/include/strings.h \
|
||||
/usr/lib/gcc/x86_64-pc-linux-gnu/13.2.1/include/stdarg.h \
|
||||
/usr/include/zmq.h /usr/include/errno.h /usr/include/bits/errno.h \
|
||||
/usr/include/linux/errno.h /usr/include/asm/errno.h \
|
||||
/usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
|
||||
/usr/include/stdio.h /usr/include/bits/types/__fpos_t.h \
|
||||
/usr/include/bits/types/__mbstate_t.h \
|
||||
/usr/include/bits/types/__fpos64_t.h /usr/include/bits/types/__FILE.h \
|
||||
/usr/include/bits/types/FILE.h /usr/include/bits/types/struct_FILE.h \
|
||||
/usr/include/bits/types/cookie_io_functions_t.h \
|
||||
/usr/include/bits/stdio_lim.h /usr/include/bits/stdio.h \
|
||||
/usr/lib/gcc/x86_64-pc-linux-gnu/13.2.1/include/stdint.h \
|
||||
/usr/include/stdint.h /usr/include/bits/wchar.h \
|
||||
/usr/include/bits/stdint-uintn.h /usr/include/bits/stdint-least.h \
|
||||
/usr/include/signal.h /usr/include/bits/signum-generic.h \
|
||||
/usr/include/bits/signum-arch.h /usr/include/bits/types/sig_atomic_t.h \
|
||||
/usr/include/bits/types/siginfo_t.h /usr/include/bits/types/__sigval_t.h \
|
||||
/usr/include/bits/siginfo-arch.h /usr/include/bits/siginfo-consts.h \
|
||||
/usr/include/bits/types/sigval_t.h /usr/include/bits/types/sigevent_t.h \
|
||||
/usr/include/bits/sigevent-consts.h /usr/include/bits/sigaction.h \
|
||||
/usr/include/bits/sigcontext.h /usr/include/bits/types/stack_t.h \
|
||||
/usr/include/sys/ucontext.h /usr/include/bits/sigstack.h \
|
||||
/usr/include/bits/sigstksz.h /usr/include/bits/ss_flags.h \
|
||||
/usr/include/bits/types/struct_sigstack.h /usr/include/bits/sigthread.h \
|
||||
/usr/include/bits/signal_ext.h \
|
||||
/usr/lib/gcc/x86_64-pc-linux-gnu/13.2.1/include/stdbool.h emacs-module.h \
|
||||
/usr/include/assert.h
|
||||
/usr/include/stdc-predef.h:
|
||||
core.h:
|
||||
/usr/include/stdlib.h:
|
||||
/usr/include/bits/libc-header-start.h:
|
||||
/usr/include/features.h:
|
||||
/usr/include/features-time64.h:
|
||||
/usr/include/bits/wordsize.h:
|
||||
/usr/include/bits/timesize.h:
|
||||
/usr/include/sys/cdefs.h:
|
||||
/usr/include/bits/long-double.h:
|
||||
/usr/include/gnu/stubs.h:
|
||||
/usr/include/gnu/stubs-64.h:
|
||||
/usr/lib/gcc/x86_64-pc-linux-gnu/13.2.1/include/stddef.h:
|
||||
/usr/include/bits/waitflags.h:
|
||||
/usr/include/bits/waitstatus.h:
|
||||
/usr/include/bits/floatn.h:
|
||||
/usr/include/bits/floatn-common.h:
|
||||
/usr/include/sys/types.h:
|
||||
/usr/include/bits/types.h:
|
||||
/usr/include/bits/typesizes.h:
|
||||
/usr/include/bits/time64.h:
|
||||
/usr/include/bits/types/clock_t.h:
|
||||
/usr/include/bits/types/clockid_t.h:
|
||||
/usr/include/bits/types/time_t.h:
|
||||
/usr/include/bits/types/timer_t.h:
|
||||
/usr/include/bits/stdint-intn.h:
|
||||
/usr/include/endian.h:
|
||||
/usr/include/bits/endian.h:
|
||||
/usr/include/bits/endianness.h:
|
||||
/usr/include/bits/byteswap.h:
|
||||
/usr/include/bits/uintn-identity.h:
|
||||
/usr/include/sys/select.h:
|
||||
/usr/include/bits/select.h:
|
||||
/usr/include/bits/types/sigset_t.h:
|
||||
/usr/include/bits/types/__sigset_t.h:
|
||||
/usr/include/bits/types/struct_timeval.h:
|
||||
/usr/include/bits/types/struct_timespec.h:
|
||||
/usr/include/bits/pthreadtypes.h:
|
||||
/usr/include/bits/thread-shared-types.h:
|
||||
/usr/include/bits/pthreadtypes-arch.h:
|
||||
/usr/include/bits/atomic_wide_counter.h:
|
||||
/usr/include/bits/struct_mutex.h:
|
||||
/usr/include/bits/struct_rwlock.h:
|
||||
/usr/include/alloca.h:
|
||||
/usr/include/bits/stdlib-bsearch.h:
|
||||
/usr/include/bits/stdlib-float.h:
|
||||
/usr/include/string.h:
|
||||
/usr/include/bits/types/locale_t.h:
|
||||
/usr/include/bits/types/__locale_t.h:
|
||||
/usr/include/strings.h:
|
||||
/usr/lib/gcc/x86_64-pc-linux-gnu/13.2.1/include/stdarg.h:
|
||||
/usr/include/zmq.h:
|
||||
/usr/include/errno.h:
|
||||
/usr/include/bits/errno.h:
|
||||
/usr/include/linux/errno.h:
|
||||
/usr/include/asm/errno.h:
|
||||
/usr/include/asm-generic/errno.h:
|
||||
/usr/include/asm-generic/errno-base.h:
|
||||
/usr/include/stdio.h:
|
||||
/usr/include/bits/types/__fpos_t.h:
|
||||
/usr/include/bits/types/__mbstate_t.h:
|
||||
/usr/include/bits/types/__fpos64_t.h:
|
||||
/usr/include/bits/types/__FILE.h:
|
||||
/usr/include/bits/types/FILE.h:
|
||||
/usr/include/bits/types/struct_FILE.h:
|
||||
/usr/include/bits/types/cookie_io_functions_t.h:
|
||||
/usr/include/bits/stdio_lim.h:
|
||||
/usr/include/bits/stdio.h:
|
||||
/usr/lib/gcc/x86_64-pc-linux-gnu/13.2.1/include/stdint.h:
|
||||
/usr/include/stdint.h:
|
||||
/usr/include/bits/wchar.h:
|
||||
/usr/include/bits/stdint-uintn.h:
|
||||
/usr/include/bits/stdint-least.h:
|
||||
/usr/include/signal.h:
|
||||
/usr/include/bits/signum-generic.h:
|
||||
/usr/include/bits/signum-arch.h:
|
||||
/usr/include/bits/types/sig_atomic_t.h:
|
||||
/usr/include/bits/types/siginfo_t.h:
|
||||
/usr/include/bits/types/__sigval_t.h:
|
||||
/usr/include/bits/siginfo-arch.h:
|
||||
/usr/include/bits/siginfo-consts.h:
|
||||
/usr/include/bits/types/sigval_t.h:
|
||||
/usr/include/bits/types/sigevent_t.h:
|
||||
/usr/include/bits/sigevent-consts.h:
|
||||
/usr/include/bits/sigaction.h:
|
||||
/usr/include/bits/sigcontext.h:
|
||||
/usr/include/bits/types/stack_t.h:
|
||||
/usr/include/sys/ucontext.h:
|
||||
/usr/include/bits/sigstack.h:
|
||||
/usr/include/bits/sigstksz.h:
|
||||
/usr/include/bits/ss_flags.h:
|
||||
/usr/include/bits/types/struct_sigstack.h:
|
||||
/usr/include/bits/sigthread.h:
|
||||
/usr/include/bits/signal_ext.h:
|
||||
/usr/lib/gcc/x86_64-pc-linux-gnu/13.2.1/include/stdbool.h:
|
||||
emacs-module.h:
|
||||
/usr/include/assert.h:
|
||||
157
lisp/zmq/src/.deps/emacs_zmq_la-emacs-zmq.Plo
Normal file
157
lisp/zmq/src/.deps/emacs_zmq_la-emacs-zmq.Plo
Normal file
@@ -0,0 +1,157 @@
|
||||
emacs_zmq_la-emacs-zmq.lo: emacs-zmq.c /usr/include/stdc-predef.h \
|
||||
emacs-zmq.h core.h /usr/include/stdlib.h \
|
||||
/usr/include/bits/libc-header-start.h /usr/include/features.h \
|
||||
/usr/include/features-time64.h /usr/include/bits/wordsize.h \
|
||||
/usr/include/bits/timesize.h /usr/include/sys/cdefs.h \
|
||||
/usr/include/bits/long-double.h /usr/include/gnu/stubs.h \
|
||||
/usr/include/gnu/stubs-64.h \
|
||||
/usr/lib/gcc/x86_64-pc-linux-gnu/13.2.1/include/stddef.h \
|
||||
/usr/include/bits/waitflags.h /usr/include/bits/waitstatus.h \
|
||||
/usr/include/bits/floatn.h /usr/include/bits/floatn-common.h \
|
||||
/usr/include/sys/types.h /usr/include/bits/types.h \
|
||||
/usr/include/bits/typesizes.h /usr/include/bits/time64.h \
|
||||
/usr/include/bits/types/clock_t.h /usr/include/bits/types/clockid_t.h \
|
||||
/usr/include/bits/types/time_t.h /usr/include/bits/types/timer_t.h \
|
||||
/usr/include/bits/stdint-intn.h /usr/include/endian.h \
|
||||
/usr/include/bits/endian.h /usr/include/bits/endianness.h \
|
||||
/usr/include/bits/byteswap.h /usr/include/bits/uintn-identity.h \
|
||||
/usr/include/sys/select.h /usr/include/bits/select.h \
|
||||
/usr/include/bits/types/sigset_t.h /usr/include/bits/types/__sigset_t.h \
|
||||
/usr/include/bits/types/struct_timeval.h \
|
||||
/usr/include/bits/types/struct_timespec.h \
|
||||
/usr/include/bits/pthreadtypes.h /usr/include/bits/thread-shared-types.h \
|
||||
/usr/include/bits/pthreadtypes-arch.h \
|
||||
/usr/include/bits/atomic_wide_counter.h /usr/include/bits/struct_mutex.h \
|
||||
/usr/include/bits/struct_rwlock.h /usr/include/alloca.h \
|
||||
/usr/include/bits/stdlib-bsearch.h /usr/include/bits/stdlib-float.h \
|
||||
/usr/include/string.h /usr/include/bits/types/locale_t.h \
|
||||
/usr/include/bits/types/__locale_t.h /usr/include/strings.h \
|
||||
/usr/lib/gcc/x86_64-pc-linux-gnu/13.2.1/include/stdarg.h \
|
||||
/usr/include/zmq.h /usr/include/errno.h /usr/include/bits/errno.h \
|
||||
/usr/include/linux/errno.h /usr/include/asm/errno.h \
|
||||
/usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
|
||||
/usr/include/stdio.h /usr/include/bits/types/__fpos_t.h \
|
||||
/usr/include/bits/types/__mbstate_t.h \
|
||||
/usr/include/bits/types/__fpos64_t.h /usr/include/bits/types/__FILE.h \
|
||||
/usr/include/bits/types/FILE.h /usr/include/bits/types/struct_FILE.h \
|
||||
/usr/include/bits/types/cookie_io_functions_t.h \
|
||||
/usr/include/bits/stdio_lim.h /usr/include/bits/stdio.h \
|
||||
/usr/lib/gcc/x86_64-pc-linux-gnu/13.2.1/include/stdint.h \
|
||||
/usr/include/stdint.h /usr/include/bits/wchar.h \
|
||||
/usr/include/bits/stdint-uintn.h /usr/include/bits/stdint-least.h \
|
||||
/usr/include/signal.h /usr/include/bits/signum-generic.h \
|
||||
/usr/include/bits/signum-arch.h /usr/include/bits/types/sig_atomic_t.h \
|
||||
/usr/include/bits/types/siginfo_t.h /usr/include/bits/types/__sigval_t.h \
|
||||
/usr/include/bits/siginfo-arch.h /usr/include/bits/siginfo-consts.h \
|
||||
/usr/include/bits/types/sigval_t.h /usr/include/bits/types/sigevent_t.h \
|
||||
/usr/include/bits/sigevent-consts.h /usr/include/bits/sigaction.h \
|
||||
/usr/include/bits/sigcontext.h /usr/include/bits/types/stack_t.h \
|
||||
/usr/include/sys/ucontext.h /usr/include/bits/sigstack.h \
|
||||
/usr/include/bits/sigstksz.h /usr/include/bits/ss_flags.h \
|
||||
/usr/include/bits/types/struct_sigstack.h /usr/include/bits/sigthread.h \
|
||||
/usr/include/bits/signal_ext.h \
|
||||
/usr/lib/gcc/x86_64-pc-linux-gnu/13.2.1/include/stdbool.h emacs-module.h \
|
||||
util.h msg.h socket.h context.h poll.h /usr/include/assert.h
|
||||
/usr/include/stdc-predef.h:
|
||||
emacs-zmq.h:
|
||||
core.h:
|
||||
/usr/include/stdlib.h:
|
||||
/usr/include/bits/libc-header-start.h:
|
||||
/usr/include/features.h:
|
||||
/usr/include/features-time64.h:
|
||||
/usr/include/bits/wordsize.h:
|
||||
/usr/include/bits/timesize.h:
|
||||
/usr/include/sys/cdefs.h:
|
||||
/usr/include/bits/long-double.h:
|
||||
/usr/include/gnu/stubs.h:
|
||||
/usr/include/gnu/stubs-64.h:
|
||||
/usr/lib/gcc/x86_64-pc-linux-gnu/13.2.1/include/stddef.h:
|
||||
/usr/include/bits/waitflags.h:
|
||||
/usr/include/bits/waitstatus.h:
|
||||
/usr/include/bits/floatn.h:
|
||||
/usr/include/bits/floatn-common.h:
|
||||
/usr/include/sys/types.h:
|
||||
/usr/include/bits/types.h:
|
||||
/usr/include/bits/typesizes.h:
|
||||
/usr/include/bits/time64.h:
|
||||
/usr/include/bits/types/clock_t.h:
|
||||
/usr/include/bits/types/clockid_t.h:
|
||||
/usr/include/bits/types/time_t.h:
|
||||
/usr/include/bits/types/timer_t.h:
|
||||
/usr/include/bits/stdint-intn.h:
|
||||
/usr/include/endian.h:
|
||||
/usr/include/bits/endian.h:
|
||||
/usr/include/bits/endianness.h:
|
||||
/usr/include/bits/byteswap.h:
|
||||
/usr/include/bits/uintn-identity.h:
|
||||
/usr/include/sys/select.h:
|
||||
/usr/include/bits/select.h:
|
||||
/usr/include/bits/types/sigset_t.h:
|
||||
/usr/include/bits/types/__sigset_t.h:
|
||||
/usr/include/bits/types/struct_timeval.h:
|
||||
/usr/include/bits/types/struct_timespec.h:
|
||||
/usr/include/bits/pthreadtypes.h:
|
||||
/usr/include/bits/thread-shared-types.h:
|
||||
/usr/include/bits/pthreadtypes-arch.h:
|
||||
/usr/include/bits/atomic_wide_counter.h:
|
||||
/usr/include/bits/struct_mutex.h:
|
||||
/usr/include/bits/struct_rwlock.h:
|
||||
/usr/include/alloca.h:
|
||||
/usr/include/bits/stdlib-bsearch.h:
|
||||
/usr/include/bits/stdlib-float.h:
|
||||
/usr/include/string.h:
|
||||
/usr/include/bits/types/locale_t.h:
|
||||
/usr/include/bits/types/__locale_t.h:
|
||||
/usr/include/strings.h:
|
||||
/usr/lib/gcc/x86_64-pc-linux-gnu/13.2.1/include/stdarg.h:
|
||||
/usr/include/zmq.h:
|
||||
/usr/include/errno.h:
|
||||
/usr/include/bits/errno.h:
|
||||
/usr/include/linux/errno.h:
|
||||
/usr/include/asm/errno.h:
|
||||
/usr/include/asm-generic/errno.h:
|
||||
/usr/include/asm-generic/errno-base.h:
|
||||
/usr/include/stdio.h:
|
||||
/usr/include/bits/types/__fpos_t.h:
|
||||
/usr/include/bits/types/__mbstate_t.h:
|
||||
/usr/include/bits/types/__fpos64_t.h:
|
||||
/usr/include/bits/types/__FILE.h:
|
||||
/usr/include/bits/types/FILE.h:
|
||||
/usr/include/bits/types/struct_FILE.h:
|
||||
/usr/include/bits/types/cookie_io_functions_t.h:
|
||||
/usr/include/bits/stdio_lim.h:
|
||||
/usr/include/bits/stdio.h:
|
||||
/usr/lib/gcc/x86_64-pc-linux-gnu/13.2.1/include/stdint.h:
|
||||
/usr/include/stdint.h:
|
||||
/usr/include/bits/wchar.h:
|
||||
/usr/include/bits/stdint-uintn.h:
|
||||
/usr/include/bits/stdint-least.h:
|
||||
/usr/include/signal.h:
|
||||
/usr/include/bits/signum-generic.h:
|
||||
/usr/include/bits/signum-arch.h:
|
||||
/usr/include/bits/types/sig_atomic_t.h:
|
||||
/usr/include/bits/types/siginfo_t.h:
|
||||
/usr/include/bits/types/__sigval_t.h:
|
||||
/usr/include/bits/siginfo-arch.h:
|
||||
/usr/include/bits/siginfo-consts.h:
|
||||
/usr/include/bits/types/sigval_t.h:
|
||||
/usr/include/bits/types/sigevent_t.h:
|
||||
/usr/include/bits/sigevent-consts.h:
|
||||
/usr/include/bits/sigaction.h:
|
||||
/usr/include/bits/sigcontext.h:
|
||||
/usr/include/bits/types/stack_t.h:
|
||||
/usr/include/sys/ucontext.h:
|
||||
/usr/include/bits/sigstack.h:
|
||||
/usr/include/bits/sigstksz.h:
|
||||
/usr/include/bits/ss_flags.h:
|
||||
/usr/include/bits/types/struct_sigstack.h:
|
||||
/usr/include/bits/sigthread.h:
|
||||
/usr/include/bits/signal_ext.h:
|
||||
/usr/lib/gcc/x86_64-pc-linux-gnu/13.2.1/include/stdbool.h:
|
||||
emacs-module.h:
|
||||
util.h:
|
||||
msg.h:
|
||||
socket.h:
|
||||
context.h:
|
||||
poll.h:
|
||||
/usr/include/assert.h:
|
||||
149
lisp/zmq/src/.deps/emacs_zmq_la-msg.Plo
Normal file
149
lisp/zmq/src/.deps/emacs_zmq_la-msg.Plo
Normal file
@@ -0,0 +1,149 @@
|
||||
emacs_zmq_la-msg.lo: msg.c /usr/include/stdc-predef.h msg.h core.h \
|
||||
/usr/include/stdlib.h /usr/include/bits/libc-header-start.h \
|
||||
/usr/include/features.h /usr/include/features-time64.h \
|
||||
/usr/include/bits/wordsize.h /usr/include/bits/timesize.h \
|
||||
/usr/include/sys/cdefs.h /usr/include/bits/long-double.h \
|
||||
/usr/include/gnu/stubs.h /usr/include/gnu/stubs-64.h \
|
||||
/usr/lib/gcc/x86_64-pc-linux-gnu/13.2.1/include/stddef.h \
|
||||
/usr/include/bits/waitflags.h /usr/include/bits/waitstatus.h \
|
||||
/usr/include/bits/floatn.h /usr/include/bits/floatn-common.h \
|
||||
/usr/include/sys/types.h /usr/include/bits/types.h \
|
||||
/usr/include/bits/typesizes.h /usr/include/bits/time64.h \
|
||||
/usr/include/bits/types/clock_t.h /usr/include/bits/types/clockid_t.h \
|
||||
/usr/include/bits/types/time_t.h /usr/include/bits/types/timer_t.h \
|
||||
/usr/include/bits/stdint-intn.h /usr/include/endian.h \
|
||||
/usr/include/bits/endian.h /usr/include/bits/endianness.h \
|
||||
/usr/include/bits/byteswap.h /usr/include/bits/uintn-identity.h \
|
||||
/usr/include/sys/select.h /usr/include/bits/select.h \
|
||||
/usr/include/bits/types/sigset_t.h /usr/include/bits/types/__sigset_t.h \
|
||||
/usr/include/bits/types/struct_timeval.h \
|
||||
/usr/include/bits/types/struct_timespec.h \
|
||||
/usr/include/bits/pthreadtypes.h /usr/include/bits/thread-shared-types.h \
|
||||
/usr/include/bits/pthreadtypes-arch.h \
|
||||
/usr/include/bits/atomic_wide_counter.h /usr/include/bits/struct_mutex.h \
|
||||
/usr/include/bits/struct_rwlock.h /usr/include/alloca.h \
|
||||
/usr/include/bits/stdlib-bsearch.h /usr/include/bits/stdlib-float.h \
|
||||
/usr/include/string.h /usr/include/bits/types/locale_t.h \
|
||||
/usr/include/bits/types/__locale_t.h /usr/include/strings.h \
|
||||
/usr/lib/gcc/x86_64-pc-linux-gnu/13.2.1/include/stdarg.h \
|
||||
/usr/include/zmq.h /usr/include/errno.h /usr/include/bits/errno.h \
|
||||
/usr/include/linux/errno.h /usr/include/asm/errno.h \
|
||||
/usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
|
||||
/usr/include/stdio.h /usr/include/bits/types/__fpos_t.h \
|
||||
/usr/include/bits/types/__mbstate_t.h \
|
||||
/usr/include/bits/types/__fpos64_t.h /usr/include/bits/types/__FILE.h \
|
||||
/usr/include/bits/types/FILE.h /usr/include/bits/types/struct_FILE.h \
|
||||
/usr/include/bits/types/cookie_io_functions_t.h \
|
||||
/usr/include/bits/stdio_lim.h /usr/include/bits/stdio.h \
|
||||
/usr/lib/gcc/x86_64-pc-linux-gnu/13.2.1/include/stdint.h \
|
||||
/usr/include/stdint.h /usr/include/bits/wchar.h \
|
||||
/usr/include/bits/stdint-uintn.h /usr/include/bits/stdint-least.h \
|
||||
/usr/include/signal.h /usr/include/bits/signum-generic.h \
|
||||
/usr/include/bits/signum-arch.h /usr/include/bits/types/sig_atomic_t.h \
|
||||
/usr/include/bits/types/siginfo_t.h /usr/include/bits/types/__sigval_t.h \
|
||||
/usr/include/bits/siginfo-arch.h /usr/include/bits/siginfo-consts.h \
|
||||
/usr/include/bits/types/sigval_t.h /usr/include/bits/types/sigevent_t.h \
|
||||
/usr/include/bits/sigevent-consts.h /usr/include/bits/sigaction.h \
|
||||
/usr/include/bits/sigcontext.h /usr/include/bits/types/stack_t.h \
|
||||
/usr/include/sys/ucontext.h /usr/include/bits/sigstack.h \
|
||||
/usr/include/bits/sigstksz.h /usr/include/bits/ss_flags.h \
|
||||
/usr/include/bits/types/struct_sigstack.h /usr/include/bits/sigthread.h \
|
||||
/usr/include/bits/signal_ext.h \
|
||||
/usr/lib/gcc/x86_64-pc-linux-gnu/13.2.1/include/stdbool.h emacs-module.h
|
||||
/usr/include/stdc-predef.h:
|
||||
msg.h:
|
||||
core.h:
|
||||
/usr/include/stdlib.h:
|
||||
/usr/include/bits/libc-header-start.h:
|
||||
/usr/include/features.h:
|
||||
/usr/include/features-time64.h:
|
||||
/usr/include/bits/wordsize.h:
|
||||
/usr/include/bits/timesize.h:
|
||||
/usr/include/sys/cdefs.h:
|
||||
/usr/include/bits/long-double.h:
|
||||
/usr/include/gnu/stubs.h:
|
||||
/usr/include/gnu/stubs-64.h:
|
||||
/usr/lib/gcc/x86_64-pc-linux-gnu/13.2.1/include/stddef.h:
|
||||
/usr/include/bits/waitflags.h:
|
||||
/usr/include/bits/waitstatus.h:
|
||||
/usr/include/bits/floatn.h:
|
||||
/usr/include/bits/floatn-common.h:
|
||||
/usr/include/sys/types.h:
|
||||
/usr/include/bits/types.h:
|
||||
/usr/include/bits/typesizes.h:
|
||||
/usr/include/bits/time64.h:
|
||||
/usr/include/bits/types/clock_t.h:
|
||||
/usr/include/bits/types/clockid_t.h:
|
||||
/usr/include/bits/types/time_t.h:
|
||||
/usr/include/bits/types/timer_t.h:
|
||||
/usr/include/bits/stdint-intn.h:
|
||||
/usr/include/endian.h:
|
||||
/usr/include/bits/endian.h:
|
||||
/usr/include/bits/endianness.h:
|
||||
/usr/include/bits/byteswap.h:
|
||||
/usr/include/bits/uintn-identity.h:
|
||||
/usr/include/sys/select.h:
|
||||
/usr/include/bits/select.h:
|
||||
/usr/include/bits/types/sigset_t.h:
|
||||
/usr/include/bits/types/__sigset_t.h:
|
||||
/usr/include/bits/types/struct_timeval.h:
|
||||
/usr/include/bits/types/struct_timespec.h:
|
||||
/usr/include/bits/pthreadtypes.h:
|
||||
/usr/include/bits/thread-shared-types.h:
|
||||
/usr/include/bits/pthreadtypes-arch.h:
|
||||
/usr/include/bits/atomic_wide_counter.h:
|
||||
/usr/include/bits/struct_mutex.h:
|
||||
/usr/include/bits/struct_rwlock.h:
|
||||
/usr/include/alloca.h:
|
||||
/usr/include/bits/stdlib-bsearch.h:
|
||||
/usr/include/bits/stdlib-float.h:
|
||||
/usr/include/string.h:
|
||||
/usr/include/bits/types/locale_t.h:
|
||||
/usr/include/bits/types/__locale_t.h:
|
||||
/usr/include/strings.h:
|
||||
/usr/lib/gcc/x86_64-pc-linux-gnu/13.2.1/include/stdarg.h:
|
||||
/usr/include/zmq.h:
|
||||
/usr/include/errno.h:
|
||||
/usr/include/bits/errno.h:
|
||||
/usr/include/linux/errno.h:
|
||||
/usr/include/asm/errno.h:
|
||||
/usr/include/asm-generic/errno.h:
|
||||
/usr/include/asm-generic/errno-base.h:
|
||||
/usr/include/stdio.h:
|
||||
/usr/include/bits/types/__fpos_t.h:
|
||||
/usr/include/bits/types/__mbstate_t.h:
|
||||
/usr/include/bits/types/__fpos64_t.h:
|
||||
/usr/include/bits/types/__FILE.h:
|
||||
/usr/include/bits/types/FILE.h:
|
||||
/usr/include/bits/types/struct_FILE.h:
|
||||
/usr/include/bits/types/cookie_io_functions_t.h:
|
||||
/usr/include/bits/stdio_lim.h:
|
||||
/usr/include/bits/stdio.h:
|
||||
/usr/lib/gcc/x86_64-pc-linux-gnu/13.2.1/include/stdint.h:
|
||||
/usr/include/stdint.h:
|
||||
/usr/include/bits/wchar.h:
|
||||
/usr/include/bits/stdint-uintn.h:
|
||||
/usr/include/bits/stdint-least.h:
|
||||
/usr/include/signal.h:
|
||||
/usr/include/bits/signum-generic.h:
|
||||
/usr/include/bits/signum-arch.h:
|
||||
/usr/include/bits/types/sig_atomic_t.h:
|
||||
/usr/include/bits/types/siginfo_t.h:
|
||||
/usr/include/bits/types/__sigval_t.h:
|
||||
/usr/include/bits/siginfo-arch.h:
|
||||
/usr/include/bits/siginfo-consts.h:
|
||||
/usr/include/bits/types/sigval_t.h:
|
||||
/usr/include/bits/types/sigevent_t.h:
|
||||
/usr/include/bits/sigevent-consts.h:
|
||||
/usr/include/bits/sigaction.h:
|
||||
/usr/include/bits/sigcontext.h:
|
||||
/usr/include/bits/types/stack_t.h:
|
||||
/usr/include/sys/ucontext.h:
|
||||
/usr/include/bits/sigstack.h:
|
||||
/usr/include/bits/sigstksz.h:
|
||||
/usr/include/bits/ss_flags.h:
|
||||
/usr/include/bits/types/struct_sigstack.h:
|
||||
/usr/include/bits/sigthread.h:
|
||||
/usr/include/bits/signal_ext.h:
|
||||
/usr/lib/gcc/x86_64-pc-linux-gnu/13.2.1/include/stdbool.h:
|
||||
emacs-module.h:
|
||||
149
lisp/zmq/src/.deps/emacs_zmq_la-poll.Plo
Normal file
149
lisp/zmq/src/.deps/emacs_zmq_la-poll.Plo
Normal file
@@ -0,0 +1,149 @@
|
||||
emacs_zmq_la-poll.lo: poll.c /usr/include/stdc-predef.h poll.h core.h \
|
||||
/usr/include/stdlib.h /usr/include/bits/libc-header-start.h \
|
||||
/usr/include/features.h /usr/include/features-time64.h \
|
||||
/usr/include/bits/wordsize.h /usr/include/bits/timesize.h \
|
||||
/usr/include/sys/cdefs.h /usr/include/bits/long-double.h \
|
||||
/usr/include/gnu/stubs.h /usr/include/gnu/stubs-64.h \
|
||||
/usr/lib/gcc/x86_64-pc-linux-gnu/13.2.1/include/stddef.h \
|
||||
/usr/include/bits/waitflags.h /usr/include/bits/waitstatus.h \
|
||||
/usr/include/bits/floatn.h /usr/include/bits/floatn-common.h \
|
||||
/usr/include/sys/types.h /usr/include/bits/types.h \
|
||||
/usr/include/bits/typesizes.h /usr/include/bits/time64.h \
|
||||
/usr/include/bits/types/clock_t.h /usr/include/bits/types/clockid_t.h \
|
||||
/usr/include/bits/types/time_t.h /usr/include/bits/types/timer_t.h \
|
||||
/usr/include/bits/stdint-intn.h /usr/include/endian.h \
|
||||
/usr/include/bits/endian.h /usr/include/bits/endianness.h \
|
||||
/usr/include/bits/byteswap.h /usr/include/bits/uintn-identity.h \
|
||||
/usr/include/sys/select.h /usr/include/bits/select.h \
|
||||
/usr/include/bits/types/sigset_t.h /usr/include/bits/types/__sigset_t.h \
|
||||
/usr/include/bits/types/struct_timeval.h \
|
||||
/usr/include/bits/types/struct_timespec.h \
|
||||
/usr/include/bits/pthreadtypes.h /usr/include/bits/thread-shared-types.h \
|
||||
/usr/include/bits/pthreadtypes-arch.h \
|
||||
/usr/include/bits/atomic_wide_counter.h /usr/include/bits/struct_mutex.h \
|
||||
/usr/include/bits/struct_rwlock.h /usr/include/alloca.h \
|
||||
/usr/include/bits/stdlib-bsearch.h /usr/include/bits/stdlib-float.h \
|
||||
/usr/include/string.h /usr/include/bits/types/locale_t.h \
|
||||
/usr/include/bits/types/__locale_t.h /usr/include/strings.h \
|
||||
/usr/lib/gcc/x86_64-pc-linux-gnu/13.2.1/include/stdarg.h \
|
||||
/usr/include/zmq.h /usr/include/errno.h /usr/include/bits/errno.h \
|
||||
/usr/include/linux/errno.h /usr/include/asm/errno.h \
|
||||
/usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
|
||||
/usr/include/stdio.h /usr/include/bits/types/__fpos_t.h \
|
||||
/usr/include/bits/types/__mbstate_t.h \
|
||||
/usr/include/bits/types/__fpos64_t.h /usr/include/bits/types/__FILE.h \
|
||||
/usr/include/bits/types/FILE.h /usr/include/bits/types/struct_FILE.h \
|
||||
/usr/include/bits/types/cookie_io_functions_t.h \
|
||||
/usr/include/bits/stdio_lim.h /usr/include/bits/stdio.h \
|
||||
/usr/lib/gcc/x86_64-pc-linux-gnu/13.2.1/include/stdint.h \
|
||||
/usr/include/stdint.h /usr/include/bits/wchar.h \
|
||||
/usr/include/bits/stdint-uintn.h /usr/include/bits/stdint-least.h \
|
||||
/usr/include/signal.h /usr/include/bits/signum-generic.h \
|
||||
/usr/include/bits/signum-arch.h /usr/include/bits/types/sig_atomic_t.h \
|
||||
/usr/include/bits/types/siginfo_t.h /usr/include/bits/types/__sigval_t.h \
|
||||
/usr/include/bits/siginfo-arch.h /usr/include/bits/siginfo-consts.h \
|
||||
/usr/include/bits/types/sigval_t.h /usr/include/bits/types/sigevent_t.h \
|
||||
/usr/include/bits/sigevent-consts.h /usr/include/bits/sigaction.h \
|
||||
/usr/include/bits/sigcontext.h /usr/include/bits/types/stack_t.h \
|
||||
/usr/include/sys/ucontext.h /usr/include/bits/sigstack.h \
|
||||
/usr/include/bits/sigstksz.h /usr/include/bits/ss_flags.h \
|
||||
/usr/include/bits/types/struct_sigstack.h /usr/include/bits/sigthread.h \
|
||||
/usr/include/bits/signal_ext.h \
|
||||
/usr/lib/gcc/x86_64-pc-linux-gnu/13.2.1/include/stdbool.h emacs-module.h
|
||||
/usr/include/stdc-predef.h:
|
||||
poll.h:
|
||||
core.h:
|
||||
/usr/include/stdlib.h:
|
||||
/usr/include/bits/libc-header-start.h:
|
||||
/usr/include/features.h:
|
||||
/usr/include/features-time64.h:
|
||||
/usr/include/bits/wordsize.h:
|
||||
/usr/include/bits/timesize.h:
|
||||
/usr/include/sys/cdefs.h:
|
||||
/usr/include/bits/long-double.h:
|
||||
/usr/include/gnu/stubs.h:
|
||||
/usr/include/gnu/stubs-64.h:
|
||||
/usr/lib/gcc/x86_64-pc-linux-gnu/13.2.1/include/stddef.h:
|
||||
/usr/include/bits/waitflags.h:
|
||||
/usr/include/bits/waitstatus.h:
|
||||
/usr/include/bits/floatn.h:
|
||||
/usr/include/bits/floatn-common.h:
|
||||
/usr/include/sys/types.h:
|
||||
/usr/include/bits/types.h:
|
||||
/usr/include/bits/typesizes.h:
|
||||
/usr/include/bits/time64.h:
|
||||
/usr/include/bits/types/clock_t.h:
|
||||
/usr/include/bits/types/clockid_t.h:
|
||||
/usr/include/bits/types/time_t.h:
|
||||
/usr/include/bits/types/timer_t.h:
|
||||
/usr/include/bits/stdint-intn.h:
|
||||
/usr/include/endian.h:
|
||||
/usr/include/bits/endian.h:
|
||||
/usr/include/bits/endianness.h:
|
||||
/usr/include/bits/byteswap.h:
|
||||
/usr/include/bits/uintn-identity.h:
|
||||
/usr/include/sys/select.h:
|
||||
/usr/include/bits/select.h:
|
||||
/usr/include/bits/types/sigset_t.h:
|
||||
/usr/include/bits/types/__sigset_t.h:
|
||||
/usr/include/bits/types/struct_timeval.h:
|
||||
/usr/include/bits/types/struct_timespec.h:
|
||||
/usr/include/bits/pthreadtypes.h:
|
||||
/usr/include/bits/thread-shared-types.h:
|
||||
/usr/include/bits/pthreadtypes-arch.h:
|
||||
/usr/include/bits/atomic_wide_counter.h:
|
||||
/usr/include/bits/struct_mutex.h:
|
||||
/usr/include/bits/struct_rwlock.h:
|
||||
/usr/include/alloca.h:
|
||||
/usr/include/bits/stdlib-bsearch.h:
|
||||
/usr/include/bits/stdlib-float.h:
|
||||
/usr/include/string.h:
|
||||
/usr/include/bits/types/locale_t.h:
|
||||
/usr/include/bits/types/__locale_t.h:
|
||||
/usr/include/strings.h:
|
||||
/usr/lib/gcc/x86_64-pc-linux-gnu/13.2.1/include/stdarg.h:
|
||||
/usr/include/zmq.h:
|
||||
/usr/include/errno.h:
|
||||
/usr/include/bits/errno.h:
|
||||
/usr/include/linux/errno.h:
|
||||
/usr/include/asm/errno.h:
|
||||
/usr/include/asm-generic/errno.h:
|
||||
/usr/include/asm-generic/errno-base.h:
|
||||
/usr/include/stdio.h:
|
||||
/usr/include/bits/types/__fpos_t.h:
|
||||
/usr/include/bits/types/__mbstate_t.h:
|
||||
/usr/include/bits/types/__fpos64_t.h:
|
||||
/usr/include/bits/types/__FILE.h:
|
||||
/usr/include/bits/types/FILE.h:
|
||||
/usr/include/bits/types/struct_FILE.h:
|
||||
/usr/include/bits/types/cookie_io_functions_t.h:
|
||||
/usr/include/bits/stdio_lim.h:
|
||||
/usr/include/bits/stdio.h:
|
||||
/usr/lib/gcc/x86_64-pc-linux-gnu/13.2.1/include/stdint.h:
|
||||
/usr/include/stdint.h:
|
||||
/usr/include/bits/wchar.h:
|
||||
/usr/include/bits/stdint-uintn.h:
|
||||
/usr/include/bits/stdint-least.h:
|
||||
/usr/include/signal.h:
|
||||
/usr/include/bits/signum-generic.h:
|
||||
/usr/include/bits/signum-arch.h:
|
||||
/usr/include/bits/types/sig_atomic_t.h:
|
||||
/usr/include/bits/types/siginfo_t.h:
|
||||
/usr/include/bits/types/__sigval_t.h:
|
||||
/usr/include/bits/siginfo-arch.h:
|
||||
/usr/include/bits/siginfo-consts.h:
|
||||
/usr/include/bits/types/sigval_t.h:
|
||||
/usr/include/bits/types/sigevent_t.h:
|
||||
/usr/include/bits/sigevent-consts.h:
|
||||
/usr/include/bits/sigaction.h:
|
||||
/usr/include/bits/sigcontext.h:
|
||||
/usr/include/bits/types/stack_t.h:
|
||||
/usr/include/sys/ucontext.h:
|
||||
/usr/include/bits/sigstack.h:
|
||||
/usr/include/bits/sigstksz.h:
|
||||
/usr/include/bits/ss_flags.h:
|
||||
/usr/include/bits/types/struct_sigstack.h:
|
||||
/usr/include/bits/sigthread.h:
|
||||
/usr/include/bits/signal_ext.h:
|
||||
/usr/lib/gcc/x86_64-pc-linux-gnu/13.2.1/include/stdbool.h:
|
||||
emacs-module.h:
|
||||
151
lisp/zmq/src/.deps/emacs_zmq_la-socket.Plo
Normal file
151
lisp/zmq/src/.deps/emacs_zmq_la-socket.Plo
Normal file
@@ -0,0 +1,151 @@
|
||||
emacs_zmq_la-socket.lo: socket.c /usr/include/stdc-predef.h socket.h \
|
||||
core.h /usr/include/stdlib.h /usr/include/bits/libc-header-start.h \
|
||||
/usr/include/features.h /usr/include/features-time64.h \
|
||||
/usr/include/bits/wordsize.h /usr/include/bits/timesize.h \
|
||||
/usr/include/sys/cdefs.h /usr/include/bits/long-double.h \
|
||||
/usr/include/gnu/stubs.h /usr/include/gnu/stubs-64.h \
|
||||
/usr/lib/gcc/x86_64-pc-linux-gnu/13.2.1/include/stddef.h \
|
||||
/usr/include/bits/waitflags.h /usr/include/bits/waitstatus.h \
|
||||
/usr/include/bits/floatn.h /usr/include/bits/floatn-common.h \
|
||||
/usr/include/sys/types.h /usr/include/bits/types.h \
|
||||
/usr/include/bits/typesizes.h /usr/include/bits/time64.h \
|
||||
/usr/include/bits/types/clock_t.h /usr/include/bits/types/clockid_t.h \
|
||||
/usr/include/bits/types/time_t.h /usr/include/bits/types/timer_t.h \
|
||||
/usr/include/bits/stdint-intn.h /usr/include/endian.h \
|
||||
/usr/include/bits/endian.h /usr/include/bits/endianness.h \
|
||||
/usr/include/bits/byteswap.h /usr/include/bits/uintn-identity.h \
|
||||
/usr/include/sys/select.h /usr/include/bits/select.h \
|
||||
/usr/include/bits/types/sigset_t.h /usr/include/bits/types/__sigset_t.h \
|
||||
/usr/include/bits/types/struct_timeval.h \
|
||||
/usr/include/bits/types/struct_timespec.h \
|
||||
/usr/include/bits/pthreadtypes.h /usr/include/bits/thread-shared-types.h \
|
||||
/usr/include/bits/pthreadtypes-arch.h \
|
||||
/usr/include/bits/atomic_wide_counter.h /usr/include/bits/struct_mutex.h \
|
||||
/usr/include/bits/struct_rwlock.h /usr/include/alloca.h \
|
||||
/usr/include/bits/stdlib-bsearch.h /usr/include/bits/stdlib-float.h \
|
||||
/usr/include/string.h /usr/include/bits/types/locale_t.h \
|
||||
/usr/include/bits/types/__locale_t.h /usr/include/strings.h \
|
||||
/usr/lib/gcc/x86_64-pc-linux-gnu/13.2.1/include/stdarg.h \
|
||||
/usr/include/zmq.h /usr/include/errno.h /usr/include/bits/errno.h \
|
||||
/usr/include/linux/errno.h /usr/include/asm/errno.h \
|
||||
/usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
|
||||
/usr/include/stdio.h /usr/include/bits/types/__fpos_t.h \
|
||||
/usr/include/bits/types/__mbstate_t.h \
|
||||
/usr/include/bits/types/__fpos64_t.h /usr/include/bits/types/__FILE.h \
|
||||
/usr/include/bits/types/FILE.h /usr/include/bits/types/struct_FILE.h \
|
||||
/usr/include/bits/types/cookie_io_functions_t.h \
|
||||
/usr/include/bits/stdio_lim.h /usr/include/bits/stdio.h \
|
||||
/usr/lib/gcc/x86_64-pc-linux-gnu/13.2.1/include/stdint.h \
|
||||
/usr/include/stdint.h /usr/include/bits/wchar.h \
|
||||
/usr/include/bits/stdint-uintn.h /usr/include/bits/stdint-least.h \
|
||||
/usr/include/signal.h /usr/include/bits/signum-generic.h \
|
||||
/usr/include/bits/signum-arch.h /usr/include/bits/types/sig_atomic_t.h \
|
||||
/usr/include/bits/types/siginfo_t.h /usr/include/bits/types/__sigval_t.h \
|
||||
/usr/include/bits/siginfo-arch.h /usr/include/bits/siginfo-consts.h \
|
||||
/usr/include/bits/types/sigval_t.h /usr/include/bits/types/sigevent_t.h \
|
||||
/usr/include/bits/sigevent-consts.h /usr/include/bits/sigaction.h \
|
||||
/usr/include/bits/sigcontext.h /usr/include/bits/types/stack_t.h \
|
||||
/usr/include/sys/ucontext.h /usr/include/bits/sigstack.h \
|
||||
/usr/include/bits/sigstksz.h /usr/include/bits/ss_flags.h \
|
||||
/usr/include/bits/types/struct_sigstack.h /usr/include/bits/sigthread.h \
|
||||
/usr/include/bits/signal_ext.h \
|
||||
/usr/lib/gcc/x86_64-pc-linux-gnu/13.2.1/include/stdbool.h emacs-module.h \
|
||||
/usr/include/assert.h
|
||||
/usr/include/stdc-predef.h:
|
||||
socket.h:
|
||||
core.h:
|
||||
/usr/include/stdlib.h:
|
||||
/usr/include/bits/libc-header-start.h:
|
||||
/usr/include/features.h:
|
||||
/usr/include/features-time64.h:
|
||||
/usr/include/bits/wordsize.h:
|
||||
/usr/include/bits/timesize.h:
|
||||
/usr/include/sys/cdefs.h:
|
||||
/usr/include/bits/long-double.h:
|
||||
/usr/include/gnu/stubs.h:
|
||||
/usr/include/gnu/stubs-64.h:
|
||||
/usr/lib/gcc/x86_64-pc-linux-gnu/13.2.1/include/stddef.h:
|
||||
/usr/include/bits/waitflags.h:
|
||||
/usr/include/bits/waitstatus.h:
|
||||
/usr/include/bits/floatn.h:
|
||||
/usr/include/bits/floatn-common.h:
|
||||
/usr/include/sys/types.h:
|
||||
/usr/include/bits/types.h:
|
||||
/usr/include/bits/typesizes.h:
|
||||
/usr/include/bits/time64.h:
|
||||
/usr/include/bits/types/clock_t.h:
|
||||
/usr/include/bits/types/clockid_t.h:
|
||||
/usr/include/bits/types/time_t.h:
|
||||
/usr/include/bits/types/timer_t.h:
|
||||
/usr/include/bits/stdint-intn.h:
|
||||
/usr/include/endian.h:
|
||||
/usr/include/bits/endian.h:
|
||||
/usr/include/bits/endianness.h:
|
||||
/usr/include/bits/byteswap.h:
|
||||
/usr/include/bits/uintn-identity.h:
|
||||
/usr/include/sys/select.h:
|
||||
/usr/include/bits/select.h:
|
||||
/usr/include/bits/types/sigset_t.h:
|
||||
/usr/include/bits/types/__sigset_t.h:
|
||||
/usr/include/bits/types/struct_timeval.h:
|
||||
/usr/include/bits/types/struct_timespec.h:
|
||||
/usr/include/bits/pthreadtypes.h:
|
||||
/usr/include/bits/thread-shared-types.h:
|
||||
/usr/include/bits/pthreadtypes-arch.h:
|
||||
/usr/include/bits/atomic_wide_counter.h:
|
||||
/usr/include/bits/struct_mutex.h:
|
||||
/usr/include/bits/struct_rwlock.h:
|
||||
/usr/include/alloca.h:
|
||||
/usr/include/bits/stdlib-bsearch.h:
|
||||
/usr/include/bits/stdlib-float.h:
|
||||
/usr/include/string.h:
|
||||
/usr/include/bits/types/locale_t.h:
|
||||
/usr/include/bits/types/__locale_t.h:
|
||||
/usr/include/strings.h:
|
||||
/usr/lib/gcc/x86_64-pc-linux-gnu/13.2.1/include/stdarg.h:
|
||||
/usr/include/zmq.h:
|
||||
/usr/include/errno.h:
|
||||
/usr/include/bits/errno.h:
|
||||
/usr/include/linux/errno.h:
|
||||
/usr/include/asm/errno.h:
|
||||
/usr/include/asm-generic/errno.h:
|
||||
/usr/include/asm-generic/errno-base.h:
|
||||
/usr/include/stdio.h:
|
||||
/usr/include/bits/types/__fpos_t.h:
|
||||
/usr/include/bits/types/__mbstate_t.h:
|
||||
/usr/include/bits/types/__fpos64_t.h:
|
||||
/usr/include/bits/types/__FILE.h:
|
||||
/usr/include/bits/types/FILE.h:
|
||||
/usr/include/bits/types/struct_FILE.h:
|
||||
/usr/include/bits/types/cookie_io_functions_t.h:
|
||||
/usr/include/bits/stdio_lim.h:
|
||||
/usr/include/bits/stdio.h:
|
||||
/usr/lib/gcc/x86_64-pc-linux-gnu/13.2.1/include/stdint.h:
|
||||
/usr/include/stdint.h:
|
||||
/usr/include/bits/wchar.h:
|
||||
/usr/include/bits/stdint-uintn.h:
|
||||
/usr/include/bits/stdint-least.h:
|
||||
/usr/include/signal.h:
|
||||
/usr/include/bits/signum-generic.h:
|
||||
/usr/include/bits/signum-arch.h:
|
||||
/usr/include/bits/types/sig_atomic_t.h:
|
||||
/usr/include/bits/types/siginfo_t.h:
|
||||
/usr/include/bits/types/__sigval_t.h:
|
||||
/usr/include/bits/siginfo-arch.h:
|
||||
/usr/include/bits/siginfo-consts.h:
|
||||
/usr/include/bits/types/sigval_t.h:
|
||||
/usr/include/bits/types/sigevent_t.h:
|
||||
/usr/include/bits/sigevent-consts.h:
|
||||
/usr/include/bits/sigaction.h:
|
||||
/usr/include/bits/sigcontext.h:
|
||||
/usr/include/bits/types/stack_t.h:
|
||||
/usr/include/sys/ucontext.h:
|
||||
/usr/include/bits/sigstack.h:
|
||||
/usr/include/bits/sigstksz.h:
|
||||
/usr/include/bits/ss_flags.h:
|
||||
/usr/include/bits/types/struct_sigstack.h:
|
||||
/usr/include/bits/sigthread.h:
|
||||
/usr/include/bits/signal_ext.h:
|
||||
/usr/lib/gcc/x86_64-pc-linux-gnu/13.2.1/include/stdbool.h:
|
||||
emacs-module.h:
|
||||
/usr/include/assert.h:
|
||||
149
lisp/zmq/src/.deps/emacs_zmq_la-util.Plo
Normal file
149
lisp/zmq/src/.deps/emacs_zmq_la-util.Plo
Normal file
@@ -0,0 +1,149 @@
|
||||
emacs_zmq_la-util.lo: util.c /usr/include/stdc-predef.h util.h core.h \
|
||||
/usr/include/stdlib.h /usr/include/bits/libc-header-start.h \
|
||||
/usr/include/features.h /usr/include/features-time64.h \
|
||||
/usr/include/bits/wordsize.h /usr/include/bits/timesize.h \
|
||||
/usr/include/sys/cdefs.h /usr/include/bits/long-double.h \
|
||||
/usr/include/gnu/stubs.h /usr/include/gnu/stubs-64.h \
|
||||
/usr/lib/gcc/x86_64-pc-linux-gnu/13.2.1/include/stddef.h \
|
||||
/usr/include/bits/waitflags.h /usr/include/bits/waitstatus.h \
|
||||
/usr/include/bits/floatn.h /usr/include/bits/floatn-common.h \
|
||||
/usr/include/sys/types.h /usr/include/bits/types.h \
|
||||
/usr/include/bits/typesizes.h /usr/include/bits/time64.h \
|
||||
/usr/include/bits/types/clock_t.h /usr/include/bits/types/clockid_t.h \
|
||||
/usr/include/bits/types/time_t.h /usr/include/bits/types/timer_t.h \
|
||||
/usr/include/bits/stdint-intn.h /usr/include/endian.h \
|
||||
/usr/include/bits/endian.h /usr/include/bits/endianness.h \
|
||||
/usr/include/bits/byteswap.h /usr/include/bits/uintn-identity.h \
|
||||
/usr/include/sys/select.h /usr/include/bits/select.h \
|
||||
/usr/include/bits/types/sigset_t.h /usr/include/bits/types/__sigset_t.h \
|
||||
/usr/include/bits/types/struct_timeval.h \
|
||||
/usr/include/bits/types/struct_timespec.h \
|
||||
/usr/include/bits/pthreadtypes.h /usr/include/bits/thread-shared-types.h \
|
||||
/usr/include/bits/pthreadtypes-arch.h \
|
||||
/usr/include/bits/atomic_wide_counter.h /usr/include/bits/struct_mutex.h \
|
||||
/usr/include/bits/struct_rwlock.h /usr/include/alloca.h \
|
||||
/usr/include/bits/stdlib-bsearch.h /usr/include/bits/stdlib-float.h \
|
||||
/usr/include/string.h /usr/include/bits/types/locale_t.h \
|
||||
/usr/include/bits/types/__locale_t.h /usr/include/strings.h \
|
||||
/usr/lib/gcc/x86_64-pc-linux-gnu/13.2.1/include/stdarg.h \
|
||||
/usr/include/zmq.h /usr/include/errno.h /usr/include/bits/errno.h \
|
||||
/usr/include/linux/errno.h /usr/include/asm/errno.h \
|
||||
/usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
|
||||
/usr/include/stdio.h /usr/include/bits/types/__fpos_t.h \
|
||||
/usr/include/bits/types/__mbstate_t.h \
|
||||
/usr/include/bits/types/__fpos64_t.h /usr/include/bits/types/__FILE.h \
|
||||
/usr/include/bits/types/FILE.h /usr/include/bits/types/struct_FILE.h \
|
||||
/usr/include/bits/types/cookie_io_functions_t.h \
|
||||
/usr/include/bits/stdio_lim.h /usr/include/bits/stdio.h \
|
||||
/usr/lib/gcc/x86_64-pc-linux-gnu/13.2.1/include/stdint.h \
|
||||
/usr/include/stdint.h /usr/include/bits/wchar.h \
|
||||
/usr/include/bits/stdint-uintn.h /usr/include/bits/stdint-least.h \
|
||||
/usr/include/signal.h /usr/include/bits/signum-generic.h \
|
||||
/usr/include/bits/signum-arch.h /usr/include/bits/types/sig_atomic_t.h \
|
||||
/usr/include/bits/types/siginfo_t.h /usr/include/bits/types/__sigval_t.h \
|
||||
/usr/include/bits/siginfo-arch.h /usr/include/bits/siginfo-consts.h \
|
||||
/usr/include/bits/types/sigval_t.h /usr/include/bits/types/sigevent_t.h \
|
||||
/usr/include/bits/sigevent-consts.h /usr/include/bits/sigaction.h \
|
||||
/usr/include/bits/sigcontext.h /usr/include/bits/types/stack_t.h \
|
||||
/usr/include/sys/ucontext.h /usr/include/bits/sigstack.h \
|
||||
/usr/include/bits/sigstksz.h /usr/include/bits/ss_flags.h \
|
||||
/usr/include/bits/types/struct_sigstack.h /usr/include/bits/sigthread.h \
|
||||
/usr/include/bits/signal_ext.h \
|
||||
/usr/lib/gcc/x86_64-pc-linux-gnu/13.2.1/include/stdbool.h emacs-module.h
|
||||
/usr/include/stdc-predef.h:
|
||||
util.h:
|
||||
core.h:
|
||||
/usr/include/stdlib.h:
|
||||
/usr/include/bits/libc-header-start.h:
|
||||
/usr/include/features.h:
|
||||
/usr/include/features-time64.h:
|
||||
/usr/include/bits/wordsize.h:
|
||||
/usr/include/bits/timesize.h:
|
||||
/usr/include/sys/cdefs.h:
|
||||
/usr/include/bits/long-double.h:
|
||||
/usr/include/gnu/stubs.h:
|
||||
/usr/include/gnu/stubs-64.h:
|
||||
/usr/lib/gcc/x86_64-pc-linux-gnu/13.2.1/include/stddef.h:
|
||||
/usr/include/bits/waitflags.h:
|
||||
/usr/include/bits/waitstatus.h:
|
||||
/usr/include/bits/floatn.h:
|
||||
/usr/include/bits/floatn-common.h:
|
||||
/usr/include/sys/types.h:
|
||||
/usr/include/bits/types.h:
|
||||
/usr/include/bits/typesizes.h:
|
||||
/usr/include/bits/time64.h:
|
||||
/usr/include/bits/types/clock_t.h:
|
||||
/usr/include/bits/types/clockid_t.h:
|
||||
/usr/include/bits/types/time_t.h:
|
||||
/usr/include/bits/types/timer_t.h:
|
||||
/usr/include/bits/stdint-intn.h:
|
||||
/usr/include/endian.h:
|
||||
/usr/include/bits/endian.h:
|
||||
/usr/include/bits/endianness.h:
|
||||
/usr/include/bits/byteswap.h:
|
||||
/usr/include/bits/uintn-identity.h:
|
||||
/usr/include/sys/select.h:
|
||||
/usr/include/bits/select.h:
|
||||
/usr/include/bits/types/sigset_t.h:
|
||||
/usr/include/bits/types/__sigset_t.h:
|
||||
/usr/include/bits/types/struct_timeval.h:
|
||||
/usr/include/bits/types/struct_timespec.h:
|
||||
/usr/include/bits/pthreadtypes.h:
|
||||
/usr/include/bits/thread-shared-types.h:
|
||||
/usr/include/bits/pthreadtypes-arch.h:
|
||||
/usr/include/bits/atomic_wide_counter.h:
|
||||
/usr/include/bits/struct_mutex.h:
|
||||
/usr/include/bits/struct_rwlock.h:
|
||||
/usr/include/alloca.h:
|
||||
/usr/include/bits/stdlib-bsearch.h:
|
||||
/usr/include/bits/stdlib-float.h:
|
||||
/usr/include/string.h:
|
||||
/usr/include/bits/types/locale_t.h:
|
||||
/usr/include/bits/types/__locale_t.h:
|
||||
/usr/include/strings.h:
|
||||
/usr/lib/gcc/x86_64-pc-linux-gnu/13.2.1/include/stdarg.h:
|
||||
/usr/include/zmq.h:
|
||||
/usr/include/errno.h:
|
||||
/usr/include/bits/errno.h:
|
||||
/usr/include/linux/errno.h:
|
||||
/usr/include/asm/errno.h:
|
||||
/usr/include/asm-generic/errno.h:
|
||||
/usr/include/asm-generic/errno-base.h:
|
||||
/usr/include/stdio.h:
|
||||
/usr/include/bits/types/__fpos_t.h:
|
||||
/usr/include/bits/types/__mbstate_t.h:
|
||||
/usr/include/bits/types/__fpos64_t.h:
|
||||
/usr/include/bits/types/__FILE.h:
|
||||
/usr/include/bits/types/FILE.h:
|
||||
/usr/include/bits/types/struct_FILE.h:
|
||||
/usr/include/bits/types/cookie_io_functions_t.h:
|
||||
/usr/include/bits/stdio_lim.h:
|
||||
/usr/include/bits/stdio.h:
|
||||
/usr/lib/gcc/x86_64-pc-linux-gnu/13.2.1/include/stdint.h:
|
||||
/usr/include/stdint.h:
|
||||
/usr/include/bits/wchar.h:
|
||||
/usr/include/bits/stdint-uintn.h:
|
||||
/usr/include/bits/stdint-least.h:
|
||||
/usr/include/signal.h:
|
||||
/usr/include/bits/signum-generic.h:
|
||||
/usr/include/bits/signum-arch.h:
|
||||
/usr/include/bits/types/sig_atomic_t.h:
|
||||
/usr/include/bits/types/siginfo_t.h:
|
||||
/usr/include/bits/types/__sigval_t.h:
|
||||
/usr/include/bits/siginfo-arch.h:
|
||||
/usr/include/bits/siginfo-consts.h:
|
||||
/usr/include/bits/types/sigval_t.h:
|
||||
/usr/include/bits/types/sigevent_t.h:
|
||||
/usr/include/bits/sigevent-consts.h:
|
||||
/usr/include/bits/sigaction.h:
|
||||
/usr/include/bits/sigcontext.h:
|
||||
/usr/include/bits/types/stack_t.h:
|
||||
/usr/include/sys/ucontext.h:
|
||||
/usr/include/bits/sigstack.h:
|
||||
/usr/include/bits/sigstksz.h:
|
||||
/usr/include/bits/ss_flags.h:
|
||||
/usr/include/bits/types/struct_sigstack.h:
|
||||
/usr/include/bits/sigthread.h:
|
||||
/usr/include/bits/signal_ext.h:
|
||||
/usr/lib/gcc/x86_64-pc-linux-gnu/13.2.1/include/stdbool.h:
|
||||
emacs-module.h:
|
||||
1
lisp/zmq/src/.libs/emacs-zmq.la
Symbolic link
1
lisp/zmq/src/.libs/emacs-zmq.la
Symbolic link
@@ -0,0 +1 @@
|
||||
../emacs-zmq.la
|
||||
41
lisp/zmq/src/.libs/emacs-zmq.lai
Normal file
41
lisp/zmq/src/.libs/emacs-zmq.lai
Normal file
@@ -0,0 +1,41 @@
|
||||
# emacs-zmq.la - a libtool library file
|
||||
# Generated by libtool (GNU libtool) 2.4.7.4-1ec8f-dirty
|
||||
#
|
||||
# Please DO NOT delete this file!
|
||||
# It is necessary for linking the library.
|
||||
|
||||
# The name that we can dlopen(3).
|
||||
dlname='emacs-zmq.so'
|
||||
|
||||
# Names of this library.
|
||||
library_names='emacs-zmq.so emacs-zmq.so emacs-zmq.so'
|
||||
|
||||
# The name of the static archive.
|
||||
old_library=''
|
||||
|
||||
# Linker flags that cannot go in dependency_libs.
|
||||
inherited_linker_flags=''
|
||||
|
||||
# Libraries that this one depends upon.
|
||||
dependency_libs=' -lzmq'
|
||||
|
||||
# Names of additional weak libraries provided by this library
|
||||
weak_library_names=''
|
||||
|
||||
# Version information for emacs-zmq.
|
||||
current=0
|
||||
age=0
|
||||
revision=0
|
||||
|
||||
# Is this an already installed library?
|
||||
installed=yes
|
||||
|
||||
# Should we warn about portability when linking against -modules?
|
||||
shouldnotlink=yes
|
||||
|
||||
# Files to dlopen/dlpreopen
|
||||
dlopen=''
|
||||
dlpreopen=''
|
||||
|
||||
# Directory that this library needs to be installed in:
|
||||
libdir='/home/daniel/repos/emacs-conf/lisp/zmq/lib'
|
||||
BIN
lisp/zmq/src/.libs/emacs-zmq.so
Executable file
BIN
lisp/zmq/src/.libs/emacs-zmq.so
Executable file
Binary file not shown.
BIN
lisp/zmq/src/.libs/emacs_zmq_la-constants.o
Normal file
BIN
lisp/zmq/src/.libs/emacs_zmq_la-constants.o
Normal file
Binary file not shown.
BIN
lisp/zmq/src/.libs/emacs_zmq_la-context.o
Normal file
BIN
lisp/zmq/src/.libs/emacs_zmq_la-context.o
Normal file
Binary file not shown.
BIN
lisp/zmq/src/.libs/emacs_zmq_la-core.o
Normal file
BIN
lisp/zmq/src/.libs/emacs_zmq_la-core.o
Normal file
Binary file not shown.
BIN
lisp/zmq/src/.libs/emacs_zmq_la-emacs-zmq.o
Normal file
BIN
lisp/zmq/src/.libs/emacs_zmq_la-emacs-zmq.o
Normal file
Binary file not shown.
BIN
lisp/zmq/src/.libs/emacs_zmq_la-msg.o
Normal file
BIN
lisp/zmq/src/.libs/emacs_zmq_la-msg.o
Normal file
Binary file not shown.
BIN
lisp/zmq/src/.libs/emacs_zmq_la-poll.o
Normal file
BIN
lisp/zmq/src/.libs/emacs_zmq_la-poll.o
Normal file
Binary file not shown.
BIN
lisp/zmq/src/.libs/emacs_zmq_la-socket.o
Normal file
BIN
lisp/zmq/src/.libs/emacs_zmq_la-socket.o
Normal file
Binary file not shown.
BIN
lisp/zmq/src/.libs/emacs_zmq_la-util.o
Normal file
BIN
lisp/zmq/src/.libs/emacs_zmq_la-util.o
Normal file
Binary file not shown.
1057
lisp/zmq/src/Makefile
Normal file
1057
lisp/zmq/src/Makefile
Normal file
File diff suppressed because it is too large
Load Diff
19
lisp/zmq/src/Makefile.am
Normal file
19
lisp/zmq/src/Makefile.am
Normal file
@@ -0,0 +1,19 @@
|
||||
SUBDIRS = $(MAYBE_LIBZMQ)
|
||||
ACLOCAL_AMFLAGS = -I m4
|
||||
|
||||
lib_LTLIBRARIES = emacs-zmq.la
|
||||
|
||||
emacs_zmq_la_CFLAGS =
|
||||
emacs_zmq_la_LDFLAGS = -module -avoid-version -shrext $(MODULE_EXT)
|
||||
if WINDOWS
|
||||
emacs_zmq_la_LDFLAGS += -no-undefined
|
||||
endif
|
||||
|
||||
if ZMQ_BUILD_LOCALLY
|
||||
# Its necessary to pass static libraries directly to the linker since libtool
|
||||
# won't build emacs-zmq as a dynamic module on Windows otherwise.
|
||||
emacs_zmq_la_LDFLAGS += -Wl,libzmq/src/.libs/libzmq.a
|
||||
emacs_zmq_la_CFLAGS += -Ilibzmq/include -fvisibility=hidden
|
||||
emacs_zmq_la_CPPFLAGS = -DZMQ_BUILD_DRAFT_API=1
|
||||
endif
|
||||
emacs_zmq_la_SOURCES = socket.c context.c msg.c constants.c util.c core.c poll.c emacs-zmq.c
|
||||
1057
lisp/zmq/src/Makefile.in
Normal file
1057
lisp/zmq/src/Makefile.in
Normal file
File diff suppressed because it is too large
Load Diff
1559
lisp/zmq/src/aclocal.m4
vendored
Normal file
1559
lisp/zmq/src/aclocal.m4
vendored
Normal file
File diff suppressed because it is too large
Load Diff
271
lisp/zmq/src/ar-lib
Executable file
271
lisp/zmq/src/ar-lib
Executable file
@@ -0,0 +1,271 @@
|
||||
#! /bin/sh
|
||||
# Wrapper for Microsoft lib.exe
|
||||
|
||||
me=ar-lib
|
||||
scriptversion=2019-07-04.01; # UTC
|
||||
|
||||
# Copyright (C) 2010-2021 Free Software Foundation, Inc.
|
||||
# Written by Peter Rosin <peda@lysator.liu.se>.
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 2, or (at your option)
|
||||
# any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
|
||||
# As a special exception to the GNU General Public License, if you
|
||||
# distribute this file as part of a program that contains a
|
||||
# configuration script generated by Autoconf, you may include it under
|
||||
# the same distribution terms that you use for the rest of that program.
|
||||
|
||||
# This file is maintained in Automake, please report
|
||||
# bugs to <bug-automake@gnu.org> or send patches to
|
||||
# <automake-patches@gnu.org>.
|
||||
|
||||
|
||||
# func_error message
|
||||
func_error ()
|
||||
{
|
||||
echo "$me: $1" 1>&2
|
||||
exit 1
|
||||
}
|
||||
|
||||
file_conv=
|
||||
|
||||
# func_file_conv build_file
|
||||
# Convert a $build file to $host form and store it in $file
|
||||
# Currently only supports Windows hosts.
|
||||
func_file_conv ()
|
||||
{
|
||||
file=$1
|
||||
case $file in
|
||||
/ | /[!/]*) # absolute file, and not a UNC file
|
||||
if test -z "$file_conv"; then
|
||||
# lazily determine how to convert abs files
|
||||
case `uname -s` in
|
||||
MINGW*)
|
||||
file_conv=mingw
|
||||
;;
|
||||
CYGWIN* | MSYS*)
|
||||
file_conv=cygwin
|
||||
;;
|
||||
*)
|
||||
file_conv=wine
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
case $file_conv in
|
||||
mingw)
|
||||
file=`cmd //C echo "$file " | sed -e 's/"\(.*\) " *$/\1/'`
|
||||
;;
|
||||
cygwin | msys)
|
||||
file=`cygpath -m "$file" || echo "$file"`
|
||||
;;
|
||||
wine)
|
||||
file=`winepath -w "$file" || echo "$file"`
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
# func_at_file at_file operation archive
|
||||
# Iterate over all members in AT_FILE performing OPERATION on ARCHIVE
|
||||
# for each of them.
|
||||
# When interpreting the content of the @FILE, do NOT use func_file_conv,
|
||||
# since the user would need to supply preconverted file names to
|
||||
# binutils ar, at least for MinGW.
|
||||
func_at_file ()
|
||||
{
|
||||
operation=$2
|
||||
archive=$3
|
||||
at_file_contents=`cat "$1"`
|
||||
eval set x "$at_file_contents"
|
||||
shift
|
||||
|
||||
for member
|
||||
do
|
||||
$AR -NOLOGO $operation:"$member" "$archive" || exit $?
|
||||
done
|
||||
}
|
||||
|
||||
case $1 in
|
||||
'')
|
||||
func_error "no command. Try '$0 --help' for more information."
|
||||
;;
|
||||
-h | --h*)
|
||||
cat <<EOF
|
||||
Usage: $me [--help] [--version] PROGRAM ACTION ARCHIVE [MEMBER...]
|
||||
|
||||
Members may be specified in a file named with @FILE.
|
||||
EOF
|
||||
exit $?
|
||||
;;
|
||||
-v | --v*)
|
||||
echo "$me, version $scriptversion"
|
||||
exit $?
|
||||
;;
|
||||
esac
|
||||
|
||||
if test $# -lt 3; then
|
||||
func_error "you must specify a program, an action and an archive"
|
||||
fi
|
||||
|
||||
AR=$1
|
||||
shift
|
||||
while :
|
||||
do
|
||||
if test $# -lt 2; then
|
||||
func_error "you must specify a program, an action and an archive"
|
||||
fi
|
||||
case $1 in
|
||||
-lib | -LIB \
|
||||
| -ltcg | -LTCG \
|
||||
| -machine* | -MACHINE* \
|
||||
| -subsystem* | -SUBSYSTEM* \
|
||||
| -verbose | -VERBOSE \
|
||||
| -wx* | -WX* )
|
||||
AR="$AR $1"
|
||||
shift
|
||||
;;
|
||||
*)
|
||||
action=$1
|
||||
shift
|
||||
break
|
||||
;;
|
||||
esac
|
||||
done
|
||||
orig_archive=$1
|
||||
shift
|
||||
func_file_conv "$orig_archive"
|
||||
archive=$file
|
||||
|
||||
# strip leading dash in $action
|
||||
action=${action#-}
|
||||
|
||||
delete=
|
||||
extract=
|
||||
list=
|
||||
quick=
|
||||
replace=
|
||||
index=
|
||||
create=
|
||||
|
||||
while test -n "$action"
|
||||
do
|
||||
case $action in
|
||||
d*) delete=yes ;;
|
||||
x*) extract=yes ;;
|
||||
t*) list=yes ;;
|
||||
q*) quick=yes ;;
|
||||
r*) replace=yes ;;
|
||||
s*) index=yes ;;
|
||||
S*) ;; # the index is always updated implicitly
|
||||
c*) create=yes ;;
|
||||
u*) ;; # TODO: don't ignore the update modifier
|
||||
v*) ;; # TODO: don't ignore the verbose modifier
|
||||
*)
|
||||
func_error "unknown action specified"
|
||||
;;
|
||||
esac
|
||||
action=${action#?}
|
||||
done
|
||||
|
||||
case $delete$extract$list$quick$replace,$index in
|
||||
yes,* | ,yes)
|
||||
;;
|
||||
yesyes*)
|
||||
func_error "more than one action specified"
|
||||
;;
|
||||
*)
|
||||
func_error "no action specified"
|
||||
;;
|
||||
esac
|
||||
|
||||
if test -n "$delete"; then
|
||||
if test ! -f "$orig_archive"; then
|
||||
func_error "archive not found"
|
||||
fi
|
||||
for member
|
||||
do
|
||||
case $1 in
|
||||
@*)
|
||||
func_at_file "${1#@}" -REMOVE "$archive"
|
||||
;;
|
||||
*)
|
||||
func_file_conv "$1"
|
||||
$AR -NOLOGO -REMOVE:"$file" "$archive" || exit $?
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
elif test -n "$extract"; then
|
||||
if test ! -f "$orig_archive"; then
|
||||
func_error "archive not found"
|
||||
fi
|
||||
if test $# -gt 0; then
|
||||
for member
|
||||
do
|
||||
case $1 in
|
||||
@*)
|
||||
func_at_file "${1#@}" -EXTRACT "$archive"
|
||||
;;
|
||||
*)
|
||||
func_file_conv "$1"
|
||||
$AR -NOLOGO -EXTRACT:"$file" "$archive" || exit $?
|
||||
;;
|
||||
esac
|
||||
done
|
||||
else
|
||||
$AR -NOLOGO -LIST "$archive" | tr -d '\r' | sed -e 's/\\/\\\\/g' \
|
||||
| while read member
|
||||
do
|
||||
$AR -NOLOGO -EXTRACT:"$member" "$archive" || exit $?
|
||||
done
|
||||
fi
|
||||
|
||||
elif test -n "$quick$replace"; then
|
||||
if test ! -f "$orig_archive"; then
|
||||
if test -z "$create"; then
|
||||
echo "$me: creating $orig_archive"
|
||||
fi
|
||||
orig_archive=
|
||||
else
|
||||
orig_archive=$archive
|
||||
fi
|
||||
|
||||
for member
|
||||
do
|
||||
case $1 in
|
||||
@*)
|
||||
func_file_conv "${1#@}"
|
||||
set x "$@" "@$file"
|
||||
;;
|
||||
*)
|
||||
func_file_conv "$1"
|
||||
set x "$@" "$file"
|
||||
;;
|
||||
esac
|
||||
shift
|
||||
shift
|
||||
done
|
||||
|
||||
if test -n "$orig_archive"; then
|
||||
$AR -NOLOGO -OUT:"$archive" "$orig_archive" "$@" || exit $?
|
||||
else
|
||||
$AR -NOLOGO -OUT:"$archive" "$@" || exit $?
|
||||
fi
|
||||
|
||||
elif test -n "$list"; then
|
||||
if test ! -f "$orig_archive"; then
|
||||
func_error "archive not found"
|
||||
fi
|
||||
$AR -NOLOGO -LIST "$archive" || exit $?
|
||||
fi
|
||||
15927
lisp/zmq/src/autom4te.cache/output.0
Normal file
15927
lisp/zmq/src/autom4te.cache/output.0
Normal file
File diff suppressed because it is too large
Load Diff
15927
lisp/zmq/src/autom4te.cache/output.1
Normal file
15927
lisp/zmq/src/autom4te.cache/output.1
Normal file
File diff suppressed because it is too large
Load Diff
15927
lisp/zmq/src/autom4te.cache/output.2
Normal file
15927
lisp/zmq/src/autom4te.cache/output.2
Normal file
File diff suppressed because it is too large
Load Diff
15928
lisp/zmq/src/autom4te.cache/output.3
Normal file
15928
lisp/zmq/src/autom4te.cache/output.3
Normal file
File diff suppressed because it is too large
Load Diff
626
lisp/zmq/src/autom4te.cache/requests
Normal file
626
lisp/zmq/src/autom4te.cache/requests
Normal file
@@ -0,0 +1,626 @@
|
||||
# This file was generated by Autom4te 2.72.
|
||||
# It contains the lists of macros which have been traced.
|
||||
# It can be safely removed.
|
||||
|
||||
@request = (
|
||||
bless( [
|
||||
'0',
|
||||
1,
|
||||
[
|
||||
'/usr/share/autoconf'
|
||||
],
|
||||
[
|
||||
'/usr/share/autoconf/autoconf/autoconf.m4f',
|
||||
'/usr/share/aclocal-1.16/internal/ac-config-macro-dirs.m4',
|
||||
'/usr/share/aclocal/libtool.m4',
|
||||
'/usr/share/aclocal/ltargz.m4',
|
||||
'/usr/share/aclocal/ltdl.m4',
|
||||
'/usr/share/aclocal/ltoptions.m4',
|
||||
'/usr/share/aclocal/ltsugar.m4',
|
||||
'/usr/share/aclocal/ltversion.m4',
|
||||
'/usr/share/aclocal/lt~obsolete.m4',
|
||||
'/usr/share/aclocal/pkg.m4',
|
||||
'/usr/share/aclocal-1.16/amversion.m4',
|
||||
'/usr/share/aclocal-1.16/ar-lib.m4',
|
||||
'/usr/share/aclocal-1.16/auxdir.m4',
|
||||
'/usr/share/aclocal-1.16/cond.m4',
|
||||
'/usr/share/aclocal-1.16/depend.m4',
|
||||
'/usr/share/aclocal-1.16/depout.m4',
|
||||
'/usr/share/aclocal-1.16/init.m4',
|
||||
'/usr/share/aclocal-1.16/install-sh.m4',
|
||||
'/usr/share/aclocal-1.16/lead-dot.m4',
|
||||
'/usr/share/aclocal-1.16/make.m4',
|
||||
'/usr/share/aclocal-1.16/missing.m4',
|
||||
'/usr/share/aclocal-1.16/options.m4',
|
||||
'/usr/share/aclocal-1.16/prog-cc-c-o.m4',
|
||||
'/usr/share/aclocal-1.16/runlog.m4',
|
||||
'/usr/share/aclocal-1.16/sanity.m4',
|
||||
'/usr/share/aclocal-1.16/silent.m4',
|
||||
'/usr/share/aclocal-1.16/strip.m4',
|
||||
'/usr/share/aclocal-1.16/substnot.m4',
|
||||
'/usr/share/aclocal-1.16/tar.m4',
|
||||
'configure.ac'
|
||||
],
|
||||
{
|
||||
'AC_CHECK_LIBM' => 1,
|
||||
'AC_CONFIG_MACRO_DIR' => 1,
|
||||
'AC_CONFIG_MACRO_DIR_TRACE' => 1,
|
||||
'AC_DEFUN' => 1,
|
||||
'AC_DEFUN_ONCE' => 1,
|
||||
'AC_DEPLIBS_CHECK_METHOD' => 1,
|
||||
'AC_DISABLE_FAST_INSTALL' => 1,
|
||||
'AC_DISABLE_SHARED' => 1,
|
||||
'AC_DISABLE_STATIC' => 1,
|
||||
'AC_ENABLE_FAST_INSTALL' => 1,
|
||||
'AC_ENABLE_SHARED' => 1,
|
||||
'AC_ENABLE_STATIC' => 1,
|
||||
'AC_LIBLTDL_CONVENIENCE' => 1,
|
||||
'AC_LIBLTDL_INSTALLABLE' => 1,
|
||||
'AC_LIBTOOL_COMPILER_OPTION' => 1,
|
||||
'AC_LIBTOOL_CONFIG' => 1,
|
||||
'AC_LIBTOOL_CXX' => 1,
|
||||
'AC_LIBTOOL_DLOPEN' => 1,
|
||||
'AC_LIBTOOL_DLOPEN_SELF' => 1,
|
||||
'AC_LIBTOOL_F77' => 1,
|
||||
'AC_LIBTOOL_FC' => 1,
|
||||
'AC_LIBTOOL_GCJ' => 1,
|
||||
'AC_LIBTOOL_LANG_CXX_CONFIG' => 1,
|
||||
'AC_LIBTOOL_LANG_C_CONFIG' => 1,
|
||||
'AC_LIBTOOL_LANG_F77_CONFIG' => 1,
|
||||
'AC_LIBTOOL_LANG_GCJ_CONFIG' => 1,
|
||||
'AC_LIBTOOL_LANG_RC_CONFIG' => 1,
|
||||
'AC_LIBTOOL_LINKER_OPTION' => 1,
|
||||
'AC_LIBTOOL_OBJDIR' => 1,
|
||||
'AC_LIBTOOL_PICMODE' => 1,
|
||||
'AC_LIBTOOL_POSTDEP_PREDEP' => 1,
|
||||
'AC_LIBTOOL_PROG_CC_C_O' => 1,
|
||||
'AC_LIBTOOL_PROG_COMPILER_NO_RTTI' => 1,
|
||||
'AC_LIBTOOL_PROG_COMPILER_PIC' => 1,
|
||||
'AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH' => 1,
|
||||
'AC_LIBTOOL_PROG_LD_SHLIBS' => 1,
|
||||
'AC_LIBTOOL_RC' => 1,
|
||||
'AC_LIBTOOL_SETUP' => 1,
|
||||
'AC_LIBTOOL_SYS_DYNAMIC_LINKER' => 1,
|
||||
'AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE' => 1,
|
||||
'AC_LIBTOOL_SYS_HARD_LINK_LOCKS' => 1,
|
||||
'AC_LIBTOOL_SYS_LIB_STRIP' => 1,
|
||||
'AC_LIBTOOL_SYS_MAX_CMD_LEN' => 1,
|
||||
'AC_LIBTOOL_SYS_OLD_ARCHIVE' => 1,
|
||||
'AC_LIBTOOL_WIN32_DLL' => 1,
|
||||
'AC_LIB_LTDL' => 1,
|
||||
'AC_LTDL_DLLIB' => 1,
|
||||
'AC_LTDL_DLSYM_USCORE' => 1,
|
||||
'AC_LTDL_ENABLE_INSTALL' => 1,
|
||||
'AC_LTDL_OBJDIR' => 1,
|
||||
'AC_LTDL_PREOPEN' => 1,
|
||||
'AC_LTDL_SHLIBEXT' => 1,
|
||||
'AC_LTDL_SHLIBPATH' => 1,
|
||||
'AC_LTDL_SYMBOL_USCORE' => 1,
|
||||
'AC_LTDL_SYSSEARCHPATH' => 1,
|
||||
'AC_LTDL_SYS_DLOPEN_DEPLIBS' => 1,
|
||||
'AC_PATH_MAGIC' => 1,
|
||||
'AC_PATH_TOOL_PREFIX' => 1,
|
||||
'AC_PROG_EGREP' => 1,
|
||||
'AC_PROG_LD' => 1,
|
||||
'AC_PROG_LD_GNU' => 1,
|
||||
'AC_PROG_LD_RELOAD_FLAG' => 1,
|
||||
'AC_PROG_LIBTOOL' => 1,
|
||||
'AC_PROG_NM' => 1,
|
||||
'AC_WITH_LTDL' => 1,
|
||||
'AM_AUTOMAKE_VERSION' => 1,
|
||||
'AM_AUX_DIR_EXPAND' => 1,
|
||||
'AM_CONDITIONAL' => 1,
|
||||
'AM_DEP_TRACK' => 1,
|
||||
'AM_DISABLE_SHARED' => 1,
|
||||
'AM_DISABLE_STATIC' => 1,
|
||||
'AM_ENABLE_SHARED' => 1,
|
||||
'AM_ENABLE_STATIC' => 1,
|
||||
'AM_INIT_AUTOMAKE' => 1,
|
||||
'AM_MAKE_INCLUDE' => 1,
|
||||
'AM_MISSING_HAS_RUN' => 1,
|
||||
'AM_MISSING_PROG' => 1,
|
||||
'AM_OUTPUT_DEPENDENCY_COMMANDS' => 1,
|
||||
'AM_PROG_AR' => 1,
|
||||
'AM_PROG_CC_C_O' => 1,
|
||||
'AM_PROG_INSTALL_SH' => 1,
|
||||
'AM_PROG_INSTALL_STRIP' => 1,
|
||||
'AM_PROG_LD' => 1,
|
||||
'AM_PROG_LIBTOOL' => 1,
|
||||
'AM_PROG_NM' => 1,
|
||||
'AM_RUN_LOG' => 1,
|
||||
'AM_SANITY_CHECK' => 1,
|
||||
'AM_SET_CURRENT_AUTOMAKE_VERSION' => 1,
|
||||
'AM_SET_DEPDIR' => 1,
|
||||
'AM_SET_LEADING_DOT' => 1,
|
||||
'AM_SILENT_RULES' => 1,
|
||||
'AM_SUBST_NOTMAKE' => 1,
|
||||
'AU_DEFUN' => 1,
|
||||
'LTDL_CONVENIENCE' => 1,
|
||||
'LTDL_INIT' => 1,
|
||||
'LTDL_INSTALLABLE' => 1,
|
||||
'LTOBSOLETE_VERSION' => 1,
|
||||
'LTOPTIONS_VERSION' => 1,
|
||||
'LTSUGAR_VERSION' => 1,
|
||||
'LTVERSION_VERSION' => 1,
|
||||
'LT_AC_PROG_EGREP' => 1,
|
||||
'LT_AC_PROG_GCJ' => 1,
|
||||
'LT_AC_PROG_RC' => 1,
|
||||
'LT_AC_PROG_SED' => 1,
|
||||
'LT_CMD_MAX_LEN' => 1,
|
||||
'LT_CONFIG_LTDL_DIR' => 1,
|
||||
'LT_FUNC_ARGZ' => 1,
|
||||
'LT_FUNC_DLSYM_USCORE' => 1,
|
||||
'LT_INIT' => 1,
|
||||
'LT_LANG' => 1,
|
||||
'LT_LIB_DLLOAD' => 1,
|
||||
'LT_LIB_M' => 1,
|
||||
'LT_OUTPUT' => 1,
|
||||
'LT_PATH_LD' => 1,
|
||||
'LT_PATH_NM' => 1,
|
||||
'LT_PROG_GCJ' => 1,
|
||||
'LT_PROG_GO' => 1,
|
||||
'LT_PROG_RC' => 1,
|
||||
'LT_SUPPORTED_TAG' => 1,
|
||||
'LT_SYS_DLOPEN_DEPLIBS' => 1,
|
||||
'LT_SYS_DLOPEN_SELF' => 1,
|
||||
'LT_SYS_DLSEARCH_PATH' => 1,
|
||||
'LT_SYS_MODULE_EXT' => 1,
|
||||
'LT_SYS_MODULE_PATH' => 1,
|
||||
'LT_SYS_SYMBOL_USCORE' => 1,
|
||||
'LT_WITH_LTDL' => 1,
|
||||
'PKG_CHECK_EXISTS' => 1,
|
||||
'PKG_CHECK_MODULES' => 1,
|
||||
'PKG_CHECK_MODULES_STATIC' => 1,
|
||||
'PKG_CHECK_VAR' => 1,
|
||||
'PKG_HAVE_DEFINE_WITH_MODULES' => 1,
|
||||
'PKG_HAVE_WITH_MODULES' => 1,
|
||||
'PKG_INSTALLDIR' => 1,
|
||||
'PKG_NOARCH_INSTALLDIR' => 1,
|
||||
'PKG_PROG_PKG_CONFIG' => 1,
|
||||
'PKG_WITH_MODULES' => 1,
|
||||
'_AC_AM_CONFIG_HEADER_HOOK' => 1,
|
||||
'_AC_PROG_LIBTOOL' => 1,
|
||||
'_AM_AUTOCONF_VERSION' => 1,
|
||||
'_AM_CONFIG_MACRO_DIRS' => 1,
|
||||
'_AM_DEPENDENCIES' => 1,
|
||||
'_AM_IF_OPTION' => 1,
|
||||
'_AM_MANGLE_OPTION' => 1,
|
||||
'_AM_OUTPUT_DEPENDENCY_COMMANDS' => 1,
|
||||
'_AM_PROG_CC_C_O' => 1,
|
||||
'_AM_PROG_TAR' => 1,
|
||||
'_AM_SET_OPTION' => 1,
|
||||
'_AM_SET_OPTIONS' => 1,
|
||||
'_AM_SUBST_NOTMAKE' => 1,
|
||||
'_LTDL_SETUP' => 1,
|
||||
'_LT_AC_CHECK_DLFCN' => 1,
|
||||
'_LT_AC_FILE_LTDLL_C' => 1,
|
||||
'_LT_AC_LANG_CXX' => 1,
|
||||
'_LT_AC_LANG_CXX_CONFIG' => 1,
|
||||
'_LT_AC_LANG_C_CONFIG' => 1,
|
||||
'_LT_AC_LANG_F77' => 1,
|
||||
'_LT_AC_LANG_F77_CONFIG' => 1,
|
||||
'_LT_AC_LANG_GCJ' => 1,
|
||||
'_LT_AC_LANG_GCJ_CONFIG' => 1,
|
||||
'_LT_AC_LANG_RC_CONFIG' => 1,
|
||||
'_LT_AC_LOCK' => 1,
|
||||
'_LT_AC_PROG_CXXCPP' => 1,
|
||||
'_LT_AC_PROG_ECHO_BACKSLASH' => 1,
|
||||
'_LT_AC_SHELL_INIT' => 1,
|
||||
'_LT_AC_SYS_COMPILER' => 1,
|
||||
'_LT_AC_SYS_LIBPATH_AIX' => 1,
|
||||
'_LT_AC_TAGCONFIG' => 1,
|
||||
'_LT_AC_TAGVAR' => 1,
|
||||
'_LT_AC_TRY_DLOPEN_SELF' => 1,
|
||||
'_LT_CC_BASENAME' => 1,
|
||||
'_LT_COMPILER_BOILERPLATE' => 1,
|
||||
'_LT_COMPILER_OPTION' => 1,
|
||||
'_LT_DLL_DEF_P' => 1,
|
||||
'_LT_LIBOBJ' => 1,
|
||||
'_LT_LINKER_BOILERPLATE' => 1,
|
||||
'_LT_LINKER_OPTION' => 1,
|
||||
'_LT_PATH_TOOL_PREFIX' => 1,
|
||||
'_LT_PREPARE_SED_QUOTE_VARS' => 1,
|
||||
'_LT_PROG_CXX' => 1,
|
||||
'_LT_PROG_ECHO_BACKSLASH' => 1,
|
||||
'_LT_PROG_F77' => 1,
|
||||
'_LT_PROG_FC' => 1,
|
||||
'_LT_PROG_LTMAIN' => 1,
|
||||
'_LT_REQUIRED_DARWIN_CHECKS' => 1,
|
||||
'_LT_WITH_SYSROOT' => 1,
|
||||
'_PKG_SHORT_ERRORS_SUPPORTED' => 1,
|
||||
'_m4_warn' => 1,
|
||||
'include' => 1,
|
||||
'm4_include' => 1,
|
||||
'm4_pattern_allow' => 1,
|
||||
'm4_pattern_forbid' => 1
|
||||
}
|
||||
], 'Autom4te::Request' ),
|
||||
bless( [
|
||||
'1',
|
||||
1,
|
||||
[
|
||||
'/usr/share/autoconf'
|
||||
],
|
||||
[
|
||||
'/usr/share/autoconf/autoconf/autoconf.m4f',
|
||||
'aclocal.m4',
|
||||
'configure.ac'
|
||||
],
|
||||
{
|
||||
'AC_CANONICAL_BUILD' => 1,
|
||||
'AC_CANONICAL_HOST' => 1,
|
||||
'AC_CANONICAL_SYSTEM' => 1,
|
||||
'AC_CANONICAL_TARGET' => 1,
|
||||
'AC_CONFIG_AUX_DIR' => 1,
|
||||
'AC_CONFIG_FILES' => 1,
|
||||
'AC_CONFIG_HEADERS' => 1,
|
||||
'AC_CONFIG_LIBOBJ_DIR' => 1,
|
||||
'AC_CONFIG_LINKS' => 1,
|
||||
'AC_CONFIG_MACRO_DIR_TRACE' => 1,
|
||||
'AC_CONFIG_SUBDIRS' => 1,
|
||||
'AC_DEFINE_TRACE_LITERAL' => 1,
|
||||
'AC_FC_FREEFORM' => 1,
|
||||
'AC_FC_PP_DEFINE' => 1,
|
||||
'AC_FC_PP_SRCEXT' => 1,
|
||||
'AC_FC_SRCEXT' => 1,
|
||||
'AC_INIT' => 1,
|
||||
'AC_LIBSOURCE' => 1,
|
||||
'AC_PROG_LIBTOOL' => 1,
|
||||
'AC_REQUIRE_AUX_FILE' => 1,
|
||||
'AC_SUBST' => 1,
|
||||
'AC_SUBST_TRACE' => 1,
|
||||
'AH_OUTPUT' => 1,
|
||||
'AM_AUTOMAKE_VERSION' => 1,
|
||||
'AM_CONDITIONAL' => 1,
|
||||
'AM_ENABLE_MULTILIB' => 1,
|
||||
'AM_EXTRA_RECURSIVE_TARGETS' => 1,
|
||||
'AM_GNU_GETTEXT' => 1,
|
||||
'AM_GNU_GETTEXT_INTL_SUBDIR' => 1,
|
||||
'AM_INIT_AUTOMAKE' => 1,
|
||||
'AM_MAINTAINER_MODE' => 1,
|
||||
'AM_MAKEFILE_INCLUDE' => 1,
|
||||
'AM_NLS' => 1,
|
||||
'AM_PATH_GUILE' => 1,
|
||||
'AM_POT_TOOLS' => 1,
|
||||
'AM_PROG_AR' => 1,
|
||||
'AM_PROG_CC_C_O' => 1,
|
||||
'AM_PROG_CXX_C_O' => 1,
|
||||
'AM_PROG_F77_C_O' => 1,
|
||||
'AM_PROG_FC_C_O' => 1,
|
||||
'AM_PROG_LIBTOOL' => 1,
|
||||
'AM_PROG_MKDIR_P' => 1,
|
||||
'AM_PROG_MOC' => 1,
|
||||
'AM_SILENT_RULES' => 1,
|
||||
'AM_XGETTEXT_OPTION' => 1,
|
||||
'GTK_DOC_CHECK' => 1,
|
||||
'IT_PROG_INTLTOOL' => 1,
|
||||
'LT_CONFIG_LTDL_DIR' => 1,
|
||||
'LT_INIT' => 1,
|
||||
'LT_SUPPORTED_TAG' => 1,
|
||||
'_AM_COND_ELSE' => 1,
|
||||
'_AM_COND_ENDIF' => 1,
|
||||
'_AM_COND_IF' => 1,
|
||||
'_AM_MAKEFILE_INCLUDE' => 1,
|
||||
'_AM_SUBST_NOTMAKE' => 1,
|
||||
'_LT_AC_TAGCONFIG' => 1,
|
||||
'_m4_warn' => 1,
|
||||
'include' => 1,
|
||||
'm4_include' => 1,
|
||||
'm4_pattern_allow' => 1,
|
||||
'm4_pattern_forbid' => 1,
|
||||
'm4_sinclude' => 1,
|
||||
'sinclude' => 1
|
||||
}
|
||||
], 'Autom4te::Request' ),
|
||||
bless( [
|
||||
'2',
|
||||
1,
|
||||
[
|
||||
'/usr/share/autoconf'
|
||||
],
|
||||
[
|
||||
'/usr/share/autoconf/autoconf/autoconf.m4f',
|
||||
'/usr/share/aclocal-1.16/internal/ac-config-macro-dirs.m4',
|
||||
'/usr/share/aclocal/ltargz.m4',
|
||||
'/usr/share/aclocal/ltdl.m4',
|
||||
'/usr/share/aclocal/pkg.m4',
|
||||
'/usr/share/aclocal-1.16/amversion.m4',
|
||||
'/usr/share/aclocal-1.16/ar-lib.m4',
|
||||
'/usr/share/aclocal-1.16/auxdir.m4',
|
||||
'/usr/share/aclocal-1.16/cond.m4',
|
||||
'/usr/share/aclocal-1.16/depend.m4',
|
||||
'/usr/share/aclocal-1.16/depout.m4',
|
||||
'/usr/share/aclocal-1.16/init.m4',
|
||||
'/usr/share/aclocal-1.16/install-sh.m4',
|
||||
'/usr/share/aclocal-1.16/lead-dot.m4',
|
||||
'/usr/share/aclocal-1.16/make.m4',
|
||||
'/usr/share/aclocal-1.16/missing.m4',
|
||||
'/usr/share/aclocal-1.16/options.m4',
|
||||
'/usr/share/aclocal-1.16/prog-cc-c-o.m4',
|
||||
'/usr/share/aclocal-1.16/runlog.m4',
|
||||
'/usr/share/aclocal-1.16/sanity.m4',
|
||||
'/usr/share/aclocal-1.16/silent.m4',
|
||||
'/usr/share/aclocal-1.16/strip.m4',
|
||||
'/usr/share/aclocal-1.16/substnot.m4',
|
||||
'/usr/share/aclocal-1.16/tar.m4',
|
||||
'm4/libtool.m4',
|
||||
'm4/ltoptions.m4',
|
||||
'm4/ltsugar.m4',
|
||||
'm4/ltversion.m4',
|
||||
'm4/lt~obsolete.m4',
|
||||
'configure.ac'
|
||||
],
|
||||
{
|
||||
'AC_CHECK_LIBM' => 1,
|
||||
'AC_CONFIG_MACRO_DIR' => 1,
|
||||
'AC_CONFIG_MACRO_DIR_TRACE' => 1,
|
||||
'AC_DEFUN' => 1,
|
||||
'AC_DEFUN_ONCE' => 1,
|
||||
'AC_DEPLIBS_CHECK_METHOD' => 1,
|
||||
'AC_DISABLE_FAST_INSTALL' => 1,
|
||||
'AC_DISABLE_SHARED' => 1,
|
||||
'AC_DISABLE_STATIC' => 1,
|
||||
'AC_ENABLE_FAST_INSTALL' => 1,
|
||||
'AC_ENABLE_SHARED' => 1,
|
||||
'AC_ENABLE_STATIC' => 1,
|
||||
'AC_LIBLTDL_CONVENIENCE' => 1,
|
||||
'AC_LIBLTDL_INSTALLABLE' => 1,
|
||||
'AC_LIBTOOL_COMPILER_OPTION' => 1,
|
||||
'AC_LIBTOOL_CONFIG' => 1,
|
||||
'AC_LIBTOOL_CXX' => 1,
|
||||
'AC_LIBTOOL_DLOPEN' => 1,
|
||||
'AC_LIBTOOL_DLOPEN_SELF' => 1,
|
||||
'AC_LIBTOOL_F77' => 1,
|
||||
'AC_LIBTOOL_FC' => 1,
|
||||
'AC_LIBTOOL_GCJ' => 1,
|
||||
'AC_LIBTOOL_LANG_CXX_CONFIG' => 1,
|
||||
'AC_LIBTOOL_LANG_C_CONFIG' => 1,
|
||||
'AC_LIBTOOL_LANG_F77_CONFIG' => 1,
|
||||
'AC_LIBTOOL_LANG_GCJ_CONFIG' => 1,
|
||||
'AC_LIBTOOL_LANG_RC_CONFIG' => 1,
|
||||
'AC_LIBTOOL_LINKER_OPTION' => 1,
|
||||
'AC_LIBTOOL_OBJDIR' => 1,
|
||||
'AC_LIBTOOL_PICMODE' => 1,
|
||||
'AC_LIBTOOL_POSTDEP_PREDEP' => 1,
|
||||
'AC_LIBTOOL_PROG_CC_C_O' => 1,
|
||||
'AC_LIBTOOL_PROG_COMPILER_NO_RTTI' => 1,
|
||||
'AC_LIBTOOL_PROG_COMPILER_PIC' => 1,
|
||||
'AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH' => 1,
|
||||
'AC_LIBTOOL_PROG_LD_SHLIBS' => 1,
|
||||
'AC_LIBTOOL_RC' => 1,
|
||||
'AC_LIBTOOL_SETUP' => 1,
|
||||
'AC_LIBTOOL_SYS_DYNAMIC_LINKER' => 1,
|
||||
'AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE' => 1,
|
||||
'AC_LIBTOOL_SYS_HARD_LINK_LOCKS' => 1,
|
||||
'AC_LIBTOOL_SYS_LIB_STRIP' => 1,
|
||||
'AC_LIBTOOL_SYS_MAX_CMD_LEN' => 1,
|
||||
'AC_LIBTOOL_SYS_OLD_ARCHIVE' => 1,
|
||||
'AC_LIBTOOL_WIN32_DLL' => 1,
|
||||
'AC_LIB_LTDL' => 1,
|
||||
'AC_LTDL_DLLIB' => 1,
|
||||
'AC_LTDL_DLSYM_USCORE' => 1,
|
||||
'AC_LTDL_ENABLE_INSTALL' => 1,
|
||||
'AC_LTDL_OBJDIR' => 1,
|
||||
'AC_LTDL_PREOPEN' => 1,
|
||||
'AC_LTDL_SHLIBEXT' => 1,
|
||||
'AC_LTDL_SHLIBPATH' => 1,
|
||||
'AC_LTDL_SYMBOL_USCORE' => 1,
|
||||
'AC_LTDL_SYSSEARCHPATH' => 1,
|
||||
'AC_LTDL_SYS_DLOPEN_DEPLIBS' => 1,
|
||||
'AC_PATH_MAGIC' => 1,
|
||||
'AC_PATH_TOOL_PREFIX' => 1,
|
||||
'AC_PROG_EGREP' => 1,
|
||||
'AC_PROG_LD' => 1,
|
||||
'AC_PROG_LD_GNU' => 1,
|
||||
'AC_PROG_LD_RELOAD_FLAG' => 1,
|
||||
'AC_PROG_LIBTOOL' => 1,
|
||||
'AC_PROG_NM' => 1,
|
||||
'AC_WITH_LTDL' => 1,
|
||||
'AM_AUTOMAKE_VERSION' => 1,
|
||||
'AM_AUX_DIR_EXPAND' => 1,
|
||||
'AM_CONDITIONAL' => 1,
|
||||
'AM_DEP_TRACK' => 1,
|
||||
'AM_DISABLE_SHARED' => 1,
|
||||
'AM_DISABLE_STATIC' => 1,
|
||||
'AM_ENABLE_SHARED' => 1,
|
||||
'AM_ENABLE_STATIC' => 1,
|
||||
'AM_INIT_AUTOMAKE' => 1,
|
||||
'AM_MAKE_INCLUDE' => 1,
|
||||
'AM_MISSING_HAS_RUN' => 1,
|
||||
'AM_MISSING_PROG' => 1,
|
||||
'AM_OUTPUT_DEPENDENCY_COMMANDS' => 1,
|
||||
'AM_PROG_AR' => 1,
|
||||
'AM_PROG_CC_C_O' => 1,
|
||||
'AM_PROG_INSTALL_SH' => 1,
|
||||
'AM_PROG_INSTALL_STRIP' => 1,
|
||||
'AM_PROG_LD' => 1,
|
||||
'AM_PROG_LIBTOOL' => 1,
|
||||
'AM_PROG_NM' => 1,
|
||||
'AM_RUN_LOG' => 1,
|
||||
'AM_SANITY_CHECK' => 1,
|
||||
'AM_SET_CURRENT_AUTOMAKE_VERSION' => 1,
|
||||
'AM_SET_DEPDIR' => 1,
|
||||
'AM_SET_LEADING_DOT' => 1,
|
||||
'AM_SILENT_RULES' => 1,
|
||||
'AM_SUBST_NOTMAKE' => 1,
|
||||
'AU_DEFUN' => 1,
|
||||
'LTDL_CONVENIENCE' => 1,
|
||||
'LTDL_INIT' => 1,
|
||||
'LTDL_INSTALLABLE' => 1,
|
||||
'LTOBSOLETE_VERSION' => 1,
|
||||
'LTOPTIONS_VERSION' => 1,
|
||||
'LTSUGAR_VERSION' => 1,
|
||||
'LTVERSION_VERSION' => 1,
|
||||
'LT_AC_PROG_EGREP' => 1,
|
||||
'LT_AC_PROG_GCJ' => 1,
|
||||
'LT_AC_PROG_RC' => 1,
|
||||
'LT_AC_PROG_SED' => 1,
|
||||
'LT_CMD_MAX_LEN' => 1,
|
||||
'LT_CONFIG_LTDL_DIR' => 1,
|
||||
'LT_FUNC_ARGZ' => 1,
|
||||
'LT_FUNC_DLSYM_USCORE' => 1,
|
||||
'LT_INIT' => 1,
|
||||
'LT_LANG' => 1,
|
||||
'LT_LIB_DLLOAD' => 1,
|
||||
'LT_LIB_M' => 1,
|
||||
'LT_OUTPUT' => 1,
|
||||
'LT_PATH_LD' => 1,
|
||||
'LT_PATH_NM' => 1,
|
||||
'LT_PROG_GCJ' => 1,
|
||||
'LT_PROG_GO' => 1,
|
||||
'LT_PROG_RC' => 1,
|
||||
'LT_SUPPORTED_TAG' => 1,
|
||||
'LT_SYS_DLOPEN_DEPLIBS' => 1,
|
||||
'LT_SYS_DLOPEN_SELF' => 1,
|
||||
'LT_SYS_DLSEARCH_PATH' => 1,
|
||||
'LT_SYS_MODULE_EXT' => 1,
|
||||
'LT_SYS_MODULE_PATH' => 1,
|
||||
'LT_SYS_SYMBOL_USCORE' => 1,
|
||||
'LT_WITH_LTDL' => 1,
|
||||
'PKG_CHECK_EXISTS' => 1,
|
||||
'PKG_CHECK_MODULES' => 1,
|
||||
'PKG_CHECK_MODULES_STATIC' => 1,
|
||||
'PKG_CHECK_VAR' => 1,
|
||||
'PKG_HAVE_DEFINE_WITH_MODULES' => 1,
|
||||
'PKG_HAVE_WITH_MODULES' => 1,
|
||||
'PKG_INSTALLDIR' => 1,
|
||||
'PKG_NOARCH_INSTALLDIR' => 1,
|
||||
'PKG_PROG_PKG_CONFIG' => 1,
|
||||
'PKG_WITH_MODULES' => 1,
|
||||
'_AC_AM_CONFIG_HEADER_HOOK' => 1,
|
||||
'_AC_PROG_LIBTOOL' => 1,
|
||||
'_AM_AUTOCONF_VERSION' => 1,
|
||||
'_AM_CONFIG_MACRO_DIRS' => 1,
|
||||
'_AM_DEPENDENCIES' => 1,
|
||||
'_AM_IF_OPTION' => 1,
|
||||
'_AM_MANGLE_OPTION' => 1,
|
||||
'_AM_OUTPUT_DEPENDENCY_COMMANDS' => 1,
|
||||
'_AM_PROG_CC_C_O' => 1,
|
||||
'_AM_PROG_TAR' => 1,
|
||||
'_AM_SET_OPTION' => 1,
|
||||
'_AM_SET_OPTIONS' => 1,
|
||||
'_AM_SUBST_NOTMAKE' => 1,
|
||||
'_LTDL_SETUP' => 1,
|
||||
'_LT_AC_CHECK_DLFCN' => 1,
|
||||
'_LT_AC_FILE_LTDLL_C' => 1,
|
||||
'_LT_AC_LANG_CXX' => 1,
|
||||
'_LT_AC_LANG_CXX_CONFIG' => 1,
|
||||
'_LT_AC_LANG_C_CONFIG' => 1,
|
||||
'_LT_AC_LANG_F77' => 1,
|
||||
'_LT_AC_LANG_F77_CONFIG' => 1,
|
||||
'_LT_AC_LANG_GCJ' => 1,
|
||||
'_LT_AC_LANG_GCJ_CONFIG' => 1,
|
||||
'_LT_AC_LANG_RC_CONFIG' => 1,
|
||||
'_LT_AC_LOCK' => 1,
|
||||
'_LT_AC_PROG_CXXCPP' => 1,
|
||||
'_LT_AC_PROG_ECHO_BACKSLASH' => 1,
|
||||
'_LT_AC_SHELL_INIT' => 1,
|
||||
'_LT_AC_SYS_COMPILER' => 1,
|
||||
'_LT_AC_SYS_LIBPATH_AIX' => 1,
|
||||
'_LT_AC_TAGCONFIG' => 1,
|
||||
'_LT_AC_TAGVAR' => 1,
|
||||
'_LT_AC_TRY_DLOPEN_SELF' => 1,
|
||||
'_LT_CC_BASENAME' => 1,
|
||||
'_LT_COMPILER_BOILERPLATE' => 1,
|
||||
'_LT_COMPILER_OPTION' => 1,
|
||||
'_LT_DLL_DEF_P' => 1,
|
||||
'_LT_LIBOBJ' => 1,
|
||||
'_LT_LINKER_BOILERPLATE' => 1,
|
||||
'_LT_LINKER_OPTION' => 1,
|
||||
'_LT_PATH_TOOL_PREFIX' => 1,
|
||||
'_LT_PREPARE_SED_QUOTE_VARS' => 1,
|
||||
'_LT_PROG_CXX' => 1,
|
||||
'_LT_PROG_ECHO_BACKSLASH' => 1,
|
||||
'_LT_PROG_F77' => 1,
|
||||
'_LT_PROG_FC' => 1,
|
||||
'_LT_PROG_LTMAIN' => 1,
|
||||
'_LT_REQUIRED_DARWIN_CHECKS' => 1,
|
||||
'_LT_WITH_SYSROOT' => 1,
|
||||
'_PKG_SHORT_ERRORS_SUPPORTED' => 1,
|
||||
'_m4_warn' => 1,
|
||||
'include' => 1,
|
||||
'm4_include' => 1,
|
||||
'm4_pattern_allow' => 1,
|
||||
'm4_pattern_forbid' => 1
|
||||
}
|
||||
], 'Autom4te::Request' ),
|
||||
bless( [
|
||||
'3',
|
||||
1,
|
||||
[
|
||||
'/usr/share/autoconf'
|
||||
],
|
||||
[
|
||||
'/usr/share/autoconf/autoconf/autoconf.m4f',
|
||||
'aclocal.m4',
|
||||
'/usr/share/autoconf/autoconf/trailer.m4',
|
||||
'configure.ac'
|
||||
],
|
||||
{
|
||||
'AC_CANONICAL_BUILD' => 1,
|
||||
'AC_CANONICAL_HOST' => 1,
|
||||
'AC_CANONICAL_SYSTEM' => 1,
|
||||
'AC_CANONICAL_TARGET' => 1,
|
||||
'AC_CONFIG_AUX_DIR' => 1,
|
||||
'AC_CONFIG_FILES' => 1,
|
||||
'AC_CONFIG_HEADERS' => 1,
|
||||
'AC_CONFIG_LIBOBJ_DIR' => 1,
|
||||
'AC_CONFIG_LINKS' => 1,
|
||||
'AC_CONFIG_MACRO_DIR_TRACE' => 1,
|
||||
'AC_CONFIG_SUBDIRS' => 1,
|
||||
'AC_DEFINE_TRACE_LITERAL' => 1,
|
||||
'AC_FC_FREEFORM' => 1,
|
||||
'AC_FC_PP_DEFINE' => 1,
|
||||
'AC_FC_PP_SRCEXT' => 1,
|
||||
'AC_FC_SRCEXT' => 1,
|
||||
'AC_INIT' => 1,
|
||||
'AC_LIBSOURCE' => 1,
|
||||
'AC_PROG_LIBTOOL' => 1,
|
||||
'AC_REQUIRE_AUX_FILE' => 1,
|
||||
'AC_SUBST' => 1,
|
||||
'AC_SUBST_TRACE' => 1,
|
||||
'AH_OUTPUT' => 1,
|
||||
'AM_AUTOMAKE_VERSION' => 1,
|
||||
'AM_CONDITIONAL' => 1,
|
||||
'AM_ENABLE_MULTILIB' => 1,
|
||||
'AM_EXTRA_RECURSIVE_TARGETS' => 1,
|
||||
'AM_GNU_GETTEXT' => 1,
|
||||
'AM_GNU_GETTEXT_INTL_SUBDIR' => 1,
|
||||
'AM_INIT_AUTOMAKE' => 1,
|
||||
'AM_MAINTAINER_MODE' => 1,
|
||||
'AM_MAKEFILE_INCLUDE' => 1,
|
||||
'AM_NLS' => 1,
|
||||
'AM_PATH_GUILE' => 1,
|
||||
'AM_POT_TOOLS' => 1,
|
||||
'AM_PROG_AR' => 1,
|
||||
'AM_PROG_CC_C_O' => 1,
|
||||
'AM_PROG_CXX_C_O' => 1,
|
||||
'AM_PROG_F77_C_O' => 1,
|
||||
'AM_PROG_FC_C_O' => 1,
|
||||
'AM_PROG_LIBTOOL' => 1,
|
||||
'AM_PROG_MKDIR_P' => 1,
|
||||
'AM_PROG_MOC' => 1,
|
||||
'AM_SILENT_RULES' => 1,
|
||||
'AM_XGETTEXT_OPTION' => 1,
|
||||
'GTK_DOC_CHECK' => 1,
|
||||
'IT_PROG_INTLTOOL' => 1,
|
||||
'LT_CONFIG_LTDL_DIR' => 1,
|
||||
'LT_INIT' => 1,
|
||||
'LT_SUPPORTED_TAG' => 1,
|
||||
'_AM_COND_ELSE' => 1,
|
||||
'_AM_COND_ENDIF' => 1,
|
||||
'_AM_COND_IF' => 1,
|
||||
'_AM_MAKEFILE_INCLUDE' => 1,
|
||||
'_AM_SUBST_NOTMAKE' => 1,
|
||||
'_LT_AC_TAGCONFIG' => 1,
|
||||
'_m4_warn' => 1,
|
||||
'include' => 1,
|
||||
'm4_include' => 1,
|
||||
'm4_pattern_allow' => 1,
|
||||
'm4_pattern_forbid' => 1,
|
||||
'm4_sinclude' => 1,
|
||||
'sinclude' => 1
|
||||
}
|
||||
], 'Autom4te::Request' )
|
||||
);
|
||||
|
||||
2992
lisp/zmq/src/autom4te.cache/traces.0
Normal file
2992
lisp/zmq/src/autom4te.cache/traces.0
Normal file
File diff suppressed because it is too large
Load Diff
595
lisp/zmq/src/autom4te.cache/traces.1
Normal file
595
lisp/zmq/src/autom4te.cache/traces.1
Normal file
@@ -0,0 +1,595 @@
|
||||
m4trace:aclocal.m4:1103: -1- AC_SUBST([am__quote])
|
||||
m4trace:aclocal.m4:1103: -1- AC_SUBST_TRACE([am__quote])
|
||||
m4trace:aclocal.m4:1103: -1- m4_pattern_allow([^am__quote$])
|
||||
m4trace:aclocal.m4:1555: -1- m4_include([m4/libtool.m4])
|
||||
m4trace:aclocal.m4:1556: -1- m4_include([m4/ltoptions.m4])
|
||||
m4trace:aclocal.m4:1557: -1- m4_include([m4/ltsugar.m4])
|
||||
m4trace:aclocal.m4:1558: -1- m4_include([m4/ltversion.m4])
|
||||
m4trace:aclocal.m4:1559: -1- m4_include([m4/lt~obsolete.m4])
|
||||
m4trace:configure.ac:2: -1- AC_INIT([emacs-zmq], [1.0.0], [nathanielnicandro@gmail.com])
|
||||
m4trace:configure.ac:2: -1- m4_pattern_forbid([^_?A[CHUM]_])
|
||||
m4trace:configure.ac:2: -1- m4_pattern_forbid([_AC_])
|
||||
m4trace:configure.ac:2: -1- m4_pattern_forbid([^LIBOBJS$], [do not use LIBOBJS directly, use AC_LIBOBJ (see section 'AC_LIBOBJ vs LIBOBJS'])
|
||||
m4trace:configure.ac:2: -1- m4_pattern_allow([^AS_FLAGS$])
|
||||
m4trace:configure.ac:2: -1- m4_pattern_forbid([^_?m4_])
|
||||
m4trace:configure.ac:2: -1- m4_pattern_forbid([^dnl$])
|
||||
m4trace:configure.ac:2: -1- m4_pattern_forbid([^_?AS_])
|
||||
m4trace:configure.ac:2: -1- AC_SUBST([SHELL])
|
||||
m4trace:configure.ac:2: -1- AC_SUBST_TRACE([SHELL])
|
||||
m4trace:configure.ac:2: -1- m4_pattern_allow([^SHELL$])
|
||||
m4trace:configure.ac:2: -1- AC_SUBST([PATH_SEPARATOR])
|
||||
m4trace:configure.ac:2: -1- AC_SUBST_TRACE([PATH_SEPARATOR])
|
||||
m4trace:configure.ac:2: -1- m4_pattern_allow([^PATH_SEPARATOR$])
|
||||
m4trace:configure.ac:2: -1- AC_SUBST([PACKAGE_NAME], [m4_ifdef([AC_PACKAGE_NAME], ['AC_PACKAGE_NAME'])])
|
||||
m4trace:configure.ac:2: -1- AC_SUBST_TRACE([PACKAGE_NAME])
|
||||
m4trace:configure.ac:2: -1- m4_pattern_allow([^PACKAGE_NAME$])
|
||||
m4trace:configure.ac:2: -1- AC_SUBST([PACKAGE_TARNAME], [m4_ifdef([AC_PACKAGE_TARNAME], ['AC_PACKAGE_TARNAME'])])
|
||||
m4trace:configure.ac:2: -1- AC_SUBST_TRACE([PACKAGE_TARNAME])
|
||||
m4trace:configure.ac:2: -1- m4_pattern_allow([^PACKAGE_TARNAME$])
|
||||
m4trace:configure.ac:2: -1- AC_SUBST([PACKAGE_VERSION], [m4_ifdef([AC_PACKAGE_VERSION], ['AC_PACKAGE_VERSION'])])
|
||||
m4trace:configure.ac:2: -1- AC_SUBST_TRACE([PACKAGE_VERSION])
|
||||
m4trace:configure.ac:2: -1- m4_pattern_allow([^PACKAGE_VERSION$])
|
||||
m4trace:configure.ac:2: -1- AC_SUBST([PACKAGE_STRING], [m4_ifdef([AC_PACKAGE_STRING], ['AC_PACKAGE_STRING'])])
|
||||
m4trace:configure.ac:2: -1- AC_SUBST_TRACE([PACKAGE_STRING])
|
||||
m4trace:configure.ac:2: -1- m4_pattern_allow([^PACKAGE_STRING$])
|
||||
m4trace:configure.ac:2: -1- AC_SUBST([PACKAGE_BUGREPORT], [m4_ifdef([AC_PACKAGE_BUGREPORT], ['AC_PACKAGE_BUGREPORT'])])
|
||||
m4trace:configure.ac:2: -1- AC_SUBST_TRACE([PACKAGE_BUGREPORT])
|
||||
m4trace:configure.ac:2: -1- m4_pattern_allow([^PACKAGE_BUGREPORT$])
|
||||
m4trace:configure.ac:2: -1- AC_SUBST([PACKAGE_URL], [m4_ifdef([AC_PACKAGE_URL], ['AC_PACKAGE_URL'])])
|
||||
m4trace:configure.ac:2: -1- AC_SUBST_TRACE([PACKAGE_URL])
|
||||
m4trace:configure.ac:2: -1- m4_pattern_allow([^PACKAGE_URL$])
|
||||
m4trace:configure.ac:2: -1- AC_SUBST([exec_prefix], [NONE])
|
||||
m4trace:configure.ac:2: -1- AC_SUBST_TRACE([exec_prefix])
|
||||
m4trace:configure.ac:2: -1- m4_pattern_allow([^exec_prefix$])
|
||||
m4trace:configure.ac:2: -1- AC_SUBST([prefix], [NONE])
|
||||
m4trace:configure.ac:2: -1- AC_SUBST_TRACE([prefix])
|
||||
m4trace:configure.ac:2: -1- m4_pattern_allow([^prefix$])
|
||||
m4trace:configure.ac:2: -1- AC_SUBST([program_transform_name], [s,x,x,])
|
||||
m4trace:configure.ac:2: -1- AC_SUBST_TRACE([program_transform_name])
|
||||
m4trace:configure.ac:2: -1- m4_pattern_allow([^program_transform_name$])
|
||||
m4trace:configure.ac:2: -1- AC_SUBST([bindir], ['${exec_prefix}/bin'])
|
||||
m4trace:configure.ac:2: -1- AC_SUBST_TRACE([bindir])
|
||||
m4trace:configure.ac:2: -1- m4_pattern_allow([^bindir$])
|
||||
m4trace:configure.ac:2: -1- AC_SUBST([sbindir], ['${exec_prefix}/sbin'])
|
||||
m4trace:configure.ac:2: -1- AC_SUBST_TRACE([sbindir])
|
||||
m4trace:configure.ac:2: -1- m4_pattern_allow([^sbindir$])
|
||||
m4trace:configure.ac:2: -1- AC_SUBST([libexecdir], ['${exec_prefix}/libexec'])
|
||||
m4trace:configure.ac:2: -1- AC_SUBST_TRACE([libexecdir])
|
||||
m4trace:configure.ac:2: -1- m4_pattern_allow([^libexecdir$])
|
||||
m4trace:configure.ac:2: -1- AC_SUBST([datarootdir], ['${prefix}/share'])
|
||||
m4trace:configure.ac:2: -1- AC_SUBST_TRACE([datarootdir])
|
||||
m4trace:configure.ac:2: -1- m4_pattern_allow([^datarootdir$])
|
||||
m4trace:configure.ac:2: -1- AC_SUBST([datadir], ['${datarootdir}'])
|
||||
m4trace:configure.ac:2: -1- AC_SUBST_TRACE([datadir])
|
||||
m4trace:configure.ac:2: -1- m4_pattern_allow([^datadir$])
|
||||
m4trace:configure.ac:2: -1- AC_SUBST([sysconfdir], ['${prefix}/etc'])
|
||||
m4trace:configure.ac:2: -1- AC_SUBST_TRACE([sysconfdir])
|
||||
m4trace:configure.ac:2: -1- m4_pattern_allow([^sysconfdir$])
|
||||
m4trace:configure.ac:2: -1- AC_SUBST([sharedstatedir], ['${prefix}/com'])
|
||||
m4trace:configure.ac:2: -1- AC_SUBST_TRACE([sharedstatedir])
|
||||
m4trace:configure.ac:2: -1- m4_pattern_allow([^sharedstatedir$])
|
||||
m4trace:configure.ac:2: -1- AC_SUBST([localstatedir], ['${prefix}/var'])
|
||||
m4trace:configure.ac:2: -1- AC_SUBST_TRACE([localstatedir])
|
||||
m4trace:configure.ac:2: -1- m4_pattern_allow([^localstatedir$])
|
||||
m4trace:configure.ac:2: -1- AC_SUBST([runstatedir], ['${localstatedir}/run'])
|
||||
m4trace:configure.ac:2: -1- AC_SUBST_TRACE([runstatedir])
|
||||
m4trace:configure.ac:2: -1- m4_pattern_allow([^runstatedir$])
|
||||
m4trace:configure.ac:2: -1- AC_SUBST([includedir], ['${prefix}/include'])
|
||||
m4trace:configure.ac:2: -1- AC_SUBST_TRACE([includedir])
|
||||
m4trace:configure.ac:2: -1- m4_pattern_allow([^includedir$])
|
||||
m4trace:configure.ac:2: -1- AC_SUBST([oldincludedir], ['/usr/include'])
|
||||
m4trace:configure.ac:2: -1- AC_SUBST_TRACE([oldincludedir])
|
||||
m4trace:configure.ac:2: -1- m4_pattern_allow([^oldincludedir$])
|
||||
m4trace:configure.ac:2: -1- AC_SUBST([docdir], [m4_ifset([AC_PACKAGE_TARNAME],
|
||||
['${datarootdir}/doc/${PACKAGE_TARNAME}'],
|
||||
['${datarootdir}/doc/${PACKAGE}'])])
|
||||
m4trace:configure.ac:2: -1- AC_SUBST_TRACE([docdir])
|
||||
m4trace:configure.ac:2: -1- m4_pattern_allow([^docdir$])
|
||||
m4trace:configure.ac:2: -1- AC_SUBST([infodir], ['${datarootdir}/info'])
|
||||
m4trace:configure.ac:2: -1- AC_SUBST_TRACE([infodir])
|
||||
m4trace:configure.ac:2: -1- m4_pattern_allow([^infodir$])
|
||||
m4trace:configure.ac:2: -1- AC_SUBST([htmldir], ['${docdir}'])
|
||||
m4trace:configure.ac:2: -1- AC_SUBST_TRACE([htmldir])
|
||||
m4trace:configure.ac:2: -1- m4_pattern_allow([^htmldir$])
|
||||
m4trace:configure.ac:2: -1- AC_SUBST([dvidir], ['${docdir}'])
|
||||
m4trace:configure.ac:2: -1- AC_SUBST_TRACE([dvidir])
|
||||
m4trace:configure.ac:2: -1- m4_pattern_allow([^dvidir$])
|
||||
m4trace:configure.ac:2: -1- AC_SUBST([pdfdir], ['${docdir}'])
|
||||
m4trace:configure.ac:2: -1- AC_SUBST_TRACE([pdfdir])
|
||||
m4trace:configure.ac:2: -1- m4_pattern_allow([^pdfdir$])
|
||||
m4trace:configure.ac:2: -1- AC_SUBST([psdir], ['${docdir}'])
|
||||
m4trace:configure.ac:2: -1- AC_SUBST_TRACE([psdir])
|
||||
m4trace:configure.ac:2: -1- m4_pattern_allow([^psdir$])
|
||||
m4trace:configure.ac:2: -1- AC_SUBST([libdir], ['${exec_prefix}/lib'])
|
||||
m4trace:configure.ac:2: -1- AC_SUBST_TRACE([libdir])
|
||||
m4trace:configure.ac:2: -1- m4_pattern_allow([^libdir$])
|
||||
m4trace:configure.ac:2: -1- AC_SUBST([localedir], ['${datarootdir}/locale'])
|
||||
m4trace:configure.ac:2: -1- AC_SUBST_TRACE([localedir])
|
||||
m4trace:configure.ac:2: -1- m4_pattern_allow([^localedir$])
|
||||
m4trace:configure.ac:2: -1- AC_SUBST([mandir], ['${datarootdir}/man'])
|
||||
m4trace:configure.ac:2: -1- AC_SUBST_TRACE([mandir])
|
||||
m4trace:configure.ac:2: -1- m4_pattern_allow([^mandir$])
|
||||
m4trace:configure.ac:2: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_NAME])
|
||||
m4trace:configure.ac:2: -1- m4_pattern_allow([^PACKAGE_NAME$])
|
||||
m4trace:configure.ac:2: -1- AH_OUTPUT([PACKAGE_NAME], [/* Define to the full name of this package. */
|
||||
@%:@undef PACKAGE_NAME])
|
||||
m4trace:configure.ac:2: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_TARNAME])
|
||||
m4trace:configure.ac:2: -1- m4_pattern_allow([^PACKAGE_TARNAME$])
|
||||
m4trace:configure.ac:2: -1- AH_OUTPUT([PACKAGE_TARNAME], [/* Define to the one symbol short name of this package. */
|
||||
@%:@undef PACKAGE_TARNAME])
|
||||
m4trace:configure.ac:2: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_VERSION])
|
||||
m4trace:configure.ac:2: -1- m4_pattern_allow([^PACKAGE_VERSION$])
|
||||
m4trace:configure.ac:2: -1- AH_OUTPUT([PACKAGE_VERSION], [/* Define to the version of this package. */
|
||||
@%:@undef PACKAGE_VERSION])
|
||||
m4trace:configure.ac:2: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_STRING])
|
||||
m4trace:configure.ac:2: -1- m4_pattern_allow([^PACKAGE_STRING$])
|
||||
m4trace:configure.ac:2: -1- AH_OUTPUT([PACKAGE_STRING], [/* Define to the full name and version of this package. */
|
||||
@%:@undef PACKAGE_STRING])
|
||||
m4trace:configure.ac:2: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_BUGREPORT])
|
||||
m4trace:configure.ac:2: -1- m4_pattern_allow([^PACKAGE_BUGREPORT$])
|
||||
m4trace:configure.ac:2: -1- AH_OUTPUT([PACKAGE_BUGREPORT], [/* Define to the address where bug reports for this package should be sent. */
|
||||
@%:@undef PACKAGE_BUGREPORT])
|
||||
m4trace:configure.ac:2: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_URL])
|
||||
m4trace:configure.ac:2: -1- m4_pattern_allow([^PACKAGE_URL$])
|
||||
m4trace:configure.ac:2: -1- AH_OUTPUT([PACKAGE_URL], [/* Define to the home page for this package. */
|
||||
@%:@undef PACKAGE_URL])
|
||||
m4trace:configure.ac:2: -1- AC_SUBST([DEFS])
|
||||
m4trace:configure.ac:2: -1- AC_SUBST_TRACE([DEFS])
|
||||
m4trace:configure.ac:2: -1- m4_pattern_allow([^DEFS$])
|
||||
m4trace:configure.ac:2: -1- AC_SUBST([ECHO_C])
|
||||
m4trace:configure.ac:2: -1- AC_SUBST_TRACE([ECHO_C])
|
||||
m4trace:configure.ac:2: -1- m4_pattern_allow([^ECHO_C$])
|
||||
m4trace:configure.ac:2: -1- AC_SUBST([ECHO_N])
|
||||
m4trace:configure.ac:2: -1- AC_SUBST_TRACE([ECHO_N])
|
||||
m4trace:configure.ac:2: -1- m4_pattern_allow([^ECHO_N$])
|
||||
m4trace:configure.ac:2: -1- AC_SUBST([ECHO_T])
|
||||
m4trace:configure.ac:2: -1- AC_SUBST_TRACE([ECHO_T])
|
||||
m4trace:configure.ac:2: -1- m4_pattern_allow([^ECHO_T$])
|
||||
m4trace:configure.ac:2: -1- AC_SUBST([LIBS])
|
||||
m4trace:configure.ac:2: -1- AC_SUBST_TRACE([LIBS])
|
||||
m4trace:configure.ac:2: -1- m4_pattern_allow([^LIBS$])
|
||||
m4trace:configure.ac:2: -1- AC_SUBST([build_alias])
|
||||
m4trace:configure.ac:2: -1- AC_SUBST_TRACE([build_alias])
|
||||
m4trace:configure.ac:2: -1- m4_pattern_allow([^build_alias$])
|
||||
m4trace:configure.ac:2: -1- AC_SUBST([host_alias])
|
||||
m4trace:configure.ac:2: -1- AC_SUBST_TRACE([host_alias])
|
||||
m4trace:configure.ac:2: -1- m4_pattern_allow([^host_alias$])
|
||||
m4trace:configure.ac:2: -1- AC_SUBST([target_alias])
|
||||
m4trace:configure.ac:2: -1- AC_SUBST_TRACE([target_alias])
|
||||
m4trace:configure.ac:2: -1- m4_pattern_allow([^target_alias$])
|
||||
m4trace:configure.ac:5: -1- AC_CONFIG_MACRO_DIR_TRACE([m4])
|
||||
m4trace:configure.ac:6: -1- AM_INIT_AUTOMAKE([-Wall -Wno-override foreign])
|
||||
m4trace:configure.ac:6: -1- m4_pattern_allow([^AM_[A-Z]+FLAGS$])
|
||||
m4trace:configure.ac:6: -1- AM_AUTOMAKE_VERSION([1.16.5])
|
||||
m4trace:configure.ac:6: -1- AC_REQUIRE_AUX_FILE([install-sh])
|
||||
m4trace:configure.ac:6: -1- AC_SUBST([INSTALL_PROGRAM])
|
||||
m4trace:configure.ac:6: -1- AC_SUBST_TRACE([INSTALL_PROGRAM])
|
||||
m4trace:configure.ac:6: -1- m4_pattern_allow([^INSTALL_PROGRAM$])
|
||||
m4trace:configure.ac:6: -1- AC_SUBST([INSTALL_SCRIPT])
|
||||
m4trace:configure.ac:6: -1- AC_SUBST_TRACE([INSTALL_SCRIPT])
|
||||
m4trace:configure.ac:6: -1- m4_pattern_allow([^INSTALL_SCRIPT$])
|
||||
m4trace:configure.ac:6: -1- AC_SUBST([INSTALL_DATA])
|
||||
m4trace:configure.ac:6: -1- AC_SUBST_TRACE([INSTALL_DATA])
|
||||
m4trace:configure.ac:6: -1- m4_pattern_allow([^INSTALL_DATA$])
|
||||
m4trace:configure.ac:6: -1- AC_SUBST([am__isrc], [' -I$(srcdir)'])
|
||||
m4trace:configure.ac:6: -1- AC_SUBST_TRACE([am__isrc])
|
||||
m4trace:configure.ac:6: -1- m4_pattern_allow([^am__isrc$])
|
||||
m4trace:configure.ac:6: -1- _AM_SUBST_NOTMAKE([am__isrc])
|
||||
m4trace:configure.ac:6: -1- AC_SUBST([CYGPATH_W])
|
||||
m4trace:configure.ac:6: -1- AC_SUBST_TRACE([CYGPATH_W])
|
||||
m4trace:configure.ac:6: -1- m4_pattern_allow([^CYGPATH_W$])
|
||||
m4trace:configure.ac:6: -1- AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])
|
||||
m4trace:configure.ac:6: -1- AC_SUBST_TRACE([PACKAGE])
|
||||
m4trace:configure.ac:6: -1- m4_pattern_allow([^PACKAGE$])
|
||||
m4trace:configure.ac:6: -1- AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])
|
||||
m4trace:configure.ac:6: -1- AC_SUBST_TRACE([VERSION])
|
||||
m4trace:configure.ac:6: -1- m4_pattern_allow([^VERSION$])
|
||||
m4trace:configure.ac:6: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE])
|
||||
m4trace:configure.ac:6: -1- m4_pattern_allow([^PACKAGE$])
|
||||
m4trace:configure.ac:6: -1- AH_OUTPUT([PACKAGE], [/* Name of package */
|
||||
@%:@undef PACKAGE])
|
||||
m4trace:configure.ac:6: -1- AC_DEFINE_TRACE_LITERAL([VERSION])
|
||||
m4trace:configure.ac:6: -1- m4_pattern_allow([^VERSION$])
|
||||
m4trace:configure.ac:6: -1- AH_OUTPUT([VERSION], [/* Version number of package */
|
||||
@%:@undef VERSION])
|
||||
m4trace:configure.ac:6: -1- AC_REQUIRE_AUX_FILE([missing])
|
||||
m4trace:configure.ac:6: -1- AC_SUBST([ACLOCAL])
|
||||
m4trace:configure.ac:6: -1- AC_SUBST_TRACE([ACLOCAL])
|
||||
m4trace:configure.ac:6: -1- m4_pattern_allow([^ACLOCAL$])
|
||||
m4trace:configure.ac:6: -1- AC_SUBST([AUTOCONF])
|
||||
m4trace:configure.ac:6: -1- AC_SUBST_TRACE([AUTOCONF])
|
||||
m4trace:configure.ac:6: -1- m4_pattern_allow([^AUTOCONF$])
|
||||
m4trace:configure.ac:6: -1- AC_SUBST([AUTOMAKE])
|
||||
m4trace:configure.ac:6: -1- AC_SUBST_TRACE([AUTOMAKE])
|
||||
m4trace:configure.ac:6: -1- m4_pattern_allow([^AUTOMAKE$])
|
||||
m4trace:configure.ac:6: -1- AC_SUBST([AUTOHEADER])
|
||||
m4trace:configure.ac:6: -1- AC_SUBST_TRACE([AUTOHEADER])
|
||||
m4trace:configure.ac:6: -1- m4_pattern_allow([^AUTOHEADER$])
|
||||
m4trace:configure.ac:6: -1- AC_SUBST([MAKEINFO])
|
||||
m4trace:configure.ac:6: -1- AC_SUBST_TRACE([MAKEINFO])
|
||||
m4trace:configure.ac:6: -1- m4_pattern_allow([^MAKEINFO$])
|
||||
m4trace:configure.ac:6: -1- AC_SUBST([install_sh])
|
||||
m4trace:configure.ac:6: -1- AC_SUBST_TRACE([install_sh])
|
||||
m4trace:configure.ac:6: -1- m4_pattern_allow([^install_sh$])
|
||||
m4trace:configure.ac:6: -1- AC_SUBST([STRIP])
|
||||
m4trace:configure.ac:6: -1- AC_SUBST_TRACE([STRIP])
|
||||
m4trace:configure.ac:6: -1- m4_pattern_allow([^STRIP$])
|
||||
m4trace:configure.ac:6: -1- AC_SUBST([INSTALL_STRIP_PROGRAM])
|
||||
m4trace:configure.ac:6: -1- AC_SUBST_TRACE([INSTALL_STRIP_PROGRAM])
|
||||
m4trace:configure.ac:6: -1- m4_pattern_allow([^INSTALL_STRIP_PROGRAM$])
|
||||
m4trace:configure.ac:6: -1- AC_REQUIRE_AUX_FILE([install-sh])
|
||||
m4trace:configure.ac:6: -1- AC_SUBST([MKDIR_P])
|
||||
m4trace:configure.ac:6: -1- AC_SUBST_TRACE([MKDIR_P])
|
||||
m4trace:configure.ac:6: -1- m4_pattern_allow([^MKDIR_P$])
|
||||
m4trace:configure.ac:6: -1- AC_SUBST([mkdir_p], ['$(MKDIR_P)'])
|
||||
m4trace:configure.ac:6: -1- AC_SUBST_TRACE([mkdir_p])
|
||||
m4trace:configure.ac:6: -1- m4_pattern_allow([^mkdir_p$])
|
||||
m4trace:configure.ac:6: -1- AC_SUBST([AWK])
|
||||
m4trace:configure.ac:6: -1- AC_SUBST_TRACE([AWK])
|
||||
m4trace:configure.ac:6: -1- m4_pattern_allow([^AWK$])
|
||||
m4trace:configure.ac:6: -1- AC_SUBST([SET_MAKE])
|
||||
m4trace:configure.ac:6: -1- AC_SUBST_TRACE([SET_MAKE])
|
||||
m4trace:configure.ac:6: -1- m4_pattern_allow([^SET_MAKE$])
|
||||
m4trace:configure.ac:6: -1- AC_SUBST([am__leading_dot])
|
||||
m4trace:configure.ac:6: -1- AC_SUBST_TRACE([am__leading_dot])
|
||||
m4trace:configure.ac:6: -1- m4_pattern_allow([^am__leading_dot$])
|
||||
m4trace:configure.ac:6: -1- AC_SUBST([AMTAR], ['$${TAR-tar}'])
|
||||
m4trace:configure.ac:6: -1- AC_SUBST_TRACE([AMTAR])
|
||||
m4trace:configure.ac:6: -1- m4_pattern_allow([^AMTAR$])
|
||||
m4trace:configure.ac:6: -1- AC_SUBST([am__tar])
|
||||
m4trace:configure.ac:6: -1- AC_SUBST_TRACE([am__tar])
|
||||
m4trace:configure.ac:6: -1- m4_pattern_allow([^am__tar$])
|
||||
m4trace:configure.ac:6: -1- AC_SUBST([am__untar])
|
||||
m4trace:configure.ac:6: -1- AC_SUBST_TRACE([am__untar])
|
||||
m4trace:configure.ac:6: -1- m4_pattern_allow([^am__untar$])
|
||||
m4trace:configure.ac:6: -1- AC_SUBST([CTAGS])
|
||||
m4trace:configure.ac:6: -1- AC_SUBST_TRACE([CTAGS])
|
||||
m4trace:configure.ac:6: -1- m4_pattern_allow([^CTAGS$])
|
||||
m4trace:configure.ac:6: -1- AC_SUBST([ETAGS])
|
||||
m4trace:configure.ac:6: -1- AC_SUBST_TRACE([ETAGS])
|
||||
m4trace:configure.ac:6: -1- m4_pattern_allow([^ETAGS$])
|
||||
m4trace:configure.ac:6: -1- AC_SUBST([CSCOPE])
|
||||
m4trace:configure.ac:6: -1- AC_SUBST_TRACE([CSCOPE])
|
||||
m4trace:configure.ac:6: -1- m4_pattern_allow([^CSCOPE$])
|
||||
m4trace:configure.ac:6: -1- AM_SILENT_RULES
|
||||
m4trace:configure.ac:6: -1- AC_SUBST([AM_V])
|
||||
m4trace:configure.ac:6: -1- AC_SUBST_TRACE([AM_V])
|
||||
m4trace:configure.ac:6: -1- m4_pattern_allow([^AM_V$])
|
||||
m4trace:configure.ac:6: -1- _AM_SUBST_NOTMAKE([AM_V])
|
||||
m4trace:configure.ac:6: -1- AC_SUBST([AM_DEFAULT_V])
|
||||
m4trace:configure.ac:6: -1- AC_SUBST_TRACE([AM_DEFAULT_V])
|
||||
m4trace:configure.ac:6: -1- m4_pattern_allow([^AM_DEFAULT_V$])
|
||||
m4trace:configure.ac:6: -1- _AM_SUBST_NOTMAKE([AM_DEFAULT_V])
|
||||
m4trace:configure.ac:6: -1- AC_SUBST([AM_DEFAULT_VERBOSITY])
|
||||
m4trace:configure.ac:6: -1- AC_SUBST_TRACE([AM_DEFAULT_VERBOSITY])
|
||||
m4trace:configure.ac:6: -1- m4_pattern_allow([^AM_DEFAULT_VERBOSITY$])
|
||||
m4trace:configure.ac:6: -1- AC_SUBST([AM_BACKSLASH])
|
||||
m4trace:configure.ac:6: -1- AC_SUBST_TRACE([AM_BACKSLASH])
|
||||
m4trace:configure.ac:6: -1- m4_pattern_allow([^AM_BACKSLASH$])
|
||||
m4trace:configure.ac:6: -1- _AM_SUBST_NOTMAKE([AM_BACKSLASH])
|
||||
m4trace:configure.ac:7: -1- AC_SUBST([CC])
|
||||
m4trace:configure.ac:7: -1- AC_SUBST_TRACE([CC])
|
||||
m4trace:configure.ac:7: -1- m4_pattern_allow([^CC$])
|
||||
m4trace:configure.ac:7: -1- AC_SUBST([CFLAGS])
|
||||
m4trace:configure.ac:7: -1- AC_SUBST_TRACE([CFLAGS])
|
||||
m4trace:configure.ac:7: -1- m4_pattern_allow([^CFLAGS$])
|
||||
m4trace:configure.ac:7: -1- AC_SUBST([LDFLAGS])
|
||||
m4trace:configure.ac:7: -1- AC_SUBST_TRACE([LDFLAGS])
|
||||
m4trace:configure.ac:7: -1- m4_pattern_allow([^LDFLAGS$])
|
||||
m4trace:configure.ac:7: -1- AC_SUBST([LIBS])
|
||||
m4trace:configure.ac:7: -1- AC_SUBST_TRACE([LIBS])
|
||||
m4trace:configure.ac:7: -1- m4_pattern_allow([^LIBS$])
|
||||
m4trace:configure.ac:7: -1- AC_SUBST([CPPFLAGS])
|
||||
m4trace:configure.ac:7: -1- AC_SUBST_TRACE([CPPFLAGS])
|
||||
m4trace:configure.ac:7: -1- m4_pattern_allow([^CPPFLAGS$])
|
||||
m4trace:configure.ac:7: -1- AC_SUBST([CC])
|
||||
m4trace:configure.ac:7: -1- AC_SUBST_TRACE([CC])
|
||||
m4trace:configure.ac:7: -1- m4_pattern_allow([^CC$])
|
||||
m4trace:configure.ac:7: -1- AC_SUBST([CC])
|
||||
m4trace:configure.ac:7: -1- AC_SUBST_TRACE([CC])
|
||||
m4trace:configure.ac:7: -1- m4_pattern_allow([^CC$])
|
||||
m4trace:configure.ac:7: -1- AC_SUBST([CC])
|
||||
m4trace:configure.ac:7: -1- AC_SUBST_TRACE([CC])
|
||||
m4trace:configure.ac:7: -1- m4_pattern_allow([^CC$])
|
||||
m4trace:configure.ac:7: -1- AC_SUBST([CC])
|
||||
m4trace:configure.ac:7: -1- AC_SUBST_TRACE([CC])
|
||||
m4trace:configure.ac:7: -1- m4_pattern_allow([^CC$])
|
||||
m4trace:configure.ac:7: -1- AC_SUBST([ac_ct_CC])
|
||||
m4trace:configure.ac:7: -1- AC_SUBST_TRACE([ac_ct_CC])
|
||||
m4trace:configure.ac:7: -1- m4_pattern_allow([^ac_ct_CC$])
|
||||
m4trace:configure.ac:7: -1- AC_SUBST([CC])
|
||||
m4trace:configure.ac:7: -1- AC_SUBST_TRACE([CC])
|
||||
m4trace:configure.ac:7: -1- m4_pattern_allow([^CC$])
|
||||
m4trace:configure.ac:7: -1- AC_SUBST([EXEEXT], [$ac_cv_exeext])
|
||||
m4trace:configure.ac:7: -1- AC_SUBST_TRACE([EXEEXT])
|
||||
m4trace:configure.ac:7: -1- m4_pattern_allow([^EXEEXT$])
|
||||
m4trace:configure.ac:7: -1- AC_SUBST([OBJEXT], [$ac_cv_objext])
|
||||
m4trace:configure.ac:7: -1- AC_SUBST_TRACE([OBJEXT])
|
||||
m4trace:configure.ac:7: -1- m4_pattern_allow([^OBJEXT$])
|
||||
m4trace:configure.ac:7: -1- AC_REQUIRE_AUX_FILE([compile])
|
||||
m4trace:configure.ac:7: -1- AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])
|
||||
m4trace:configure.ac:7: -1- AC_SUBST_TRACE([DEPDIR])
|
||||
m4trace:configure.ac:7: -1- m4_pattern_allow([^DEPDIR$])
|
||||
m4trace:configure.ac:7: -1- AC_SUBST([am__include])
|
||||
m4trace:configure.ac:7: -1- AC_SUBST_TRACE([am__include])
|
||||
m4trace:configure.ac:7: -1- m4_pattern_allow([^am__include$])
|
||||
m4trace:configure.ac:7: -1- AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno])
|
||||
m4trace:configure.ac:7: -1- AC_SUBST([AMDEP_TRUE])
|
||||
m4trace:configure.ac:7: -1- AC_SUBST_TRACE([AMDEP_TRUE])
|
||||
m4trace:configure.ac:7: -1- m4_pattern_allow([^AMDEP_TRUE$])
|
||||
m4trace:configure.ac:7: -1- AC_SUBST([AMDEP_FALSE])
|
||||
m4trace:configure.ac:7: -1- AC_SUBST_TRACE([AMDEP_FALSE])
|
||||
m4trace:configure.ac:7: -1- m4_pattern_allow([^AMDEP_FALSE$])
|
||||
m4trace:configure.ac:7: -1- _AM_SUBST_NOTMAKE([AMDEP_TRUE])
|
||||
m4trace:configure.ac:7: -1- _AM_SUBST_NOTMAKE([AMDEP_FALSE])
|
||||
m4trace:configure.ac:7: -1- AC_SUBST([AMDEPBACKSLASH])
|
||||
m4trace:configure.ac:7: -1- AC_SUBST_TRACE([AMDEPBACKSLASH])
|
||||
m4trace:configure.ac:7: -1- m4_pattern_allow([^AMDEPBACKSLASH$])
|
||||
m4trace:configure.ac:7: -1- _AM_SUBST_NOTMAKE([AMDEPBACKSLASH])
|
||||
m4trace:configure.ac:7: -1- AC_SUBST([am__nodep])
|
||||
m4trace:configure.ac:7: -1- AC_SUBST_TRACE([am__nodep])
|
||||
m4trace:configure.ac:7: -1- m4_pattern_allow([^am__nodep$])
|
||||
m4trace:configure.ac:7: -1- _AM_SUBST_NOTMAKE([am__nodep])
|
||||
m4trace:configure.ac:7: -1- AC_SUBST([CCDEPMODE], [depmode=$am_cv_CC_dependencies_compiler_type])
|
||||
m4trace:configure.ac:7: -1- AC_SUBST_TRACE([CCDEPMODE])
|
||||
m4trace:configure.ac:7: -1- m4_pattern_allow([^CCDEPMODE$])
|
||||
m4trace:configure.ac:7: -1- AM_CONDITIONAL([am__fastdepCC], [
|
||||
test "x$enable_dependency_tracking" != xno \
|
||||
&& test "$am_cv_CC_dependencies_compiler_type" = gcc3])
|
||||
m4trace:configure.ac:7: -1- AC_SUBST([am__fastdepCC_TRUE])
|
||||
m4trace:configure.ac:7: -1- AC_SUBST_TRACE([am__fastdepCC_TRUE])
|
||||
m4trace:configure.ac:7: -1- m4_pattern_allow([^am__fastdepCC_TRUE$])
|
||||
m4trace:configure.ac:7: -1- AC_SUBST([am__fastdepCC_FALSE])
|
||||
m4trace:configure.ac:7: -1- AC_SUBST_TRACE([am__fastdepCC_FALSE])
|
||||
m4trace:configure.ac:7: -1- m4_pattern_allow([^am__fastdepCC_FALSE$])
|
||||
m4trace:configure.ac:7: -1- _AM_SUBST_NOTMAKE([am__fastdepCC_TRUE])
|
||||
m4trace:configure.ac:7: -1- _AM_SUBST_NOTMAKE([am__fastdepCC_FALSE])
|
||||
m4trace:configure.ac:8: -1- AM_PROG_AR
|
||||
m4trace:configure.ac:8: -1- AC_REQUIRE_AUX_FILE([ar-lib])
|
||||
m4trace:configure.ac:8: -1- AC_SUBST([AR])
|
||||
m4trace:configure.ac:8: -1- AC_SUBST_TRACE([AR])
|
||||
m4trace:configure.ac:8: -1- m4_pattern_allow([^AR$])
|
||||
m4trace:configure.ac:8: -1- AC_SUBST([ac_ct_AR])
|
||||
m4trace:configure.ac:8: -1- AC_SUBST_TRACE([ac_ct_AR])
|
||||
m4trace:configure.ac:8: -1- m4_pattern_allow([^ac_ct_AR$])
|
||||
m4trace:configure.ac:8: -1- AC_SUBST([AR])
|
||||
m4trace:configure.ac:8: -1- AC_SUBST_TRACE([AR])
|
||||
m4trace:configure.ac:8: -1- m4_pattern_allow([^AR$])
|
||||
m4trace:configure.ac:9: -1- AC_CANONICAL_HOST
|
||||
m4trace:configure.ac:9: -1- AC_CANONICAL_BUILD
|
||||
m4trace:configure.ac:9: -1- AC_REQUIRE_AUX_FILE([config.sub])
|
||||
m4trace:configure.ac:9: -1- AC_REQUIRE_AUX_FILE([config.guess])
|
||||
m4trace:configure.ac:9: -1- AC_SUBST([build], [$ac_cv_build])
|
||||
m4trace:configure.ac:9: -1- AC_SUBST_TRACE([build])
|
||||
m4trace:configure.ac:9: -1- m4_pattern_allow([^build$])
|
||||
m4trace:configure.ac:9: -1- AC_SUBST([build_cpu], [$[1]])
|
||||
m4trace:configure.ac:9: -1- AC_SUBST_TRACE([build_cpu])
|
||||
m4trace:configure.ac:9: -1- m4_pattern_allow([^build_cpu$])
|
||||
m4trace:configure.ac:9: -1- AC_SUBST([build_vendor], [$[2]])
|
||||
m4trace:configure.ac:9: -1- AC_SUBST_TRACE([build_vendor])
|
||||
m4trace:configure.ac:9: -1- m4_pattern_allow([^build_vendor$])
|
||||
m4trace:configure.ac:9: -1- AC_SUBST([build_os])
|
||||
m4trace:configure.ac:9: -1- AC_SUBST_TRACE([build_os])
|
||||
m4trace:configure.ac:9: -1- m4_pattern_allow([^build_os$])
|
||||
m4trace:configure.ac:9: -1- AC_SUBST([host], [$ac_cv_host])
|
||||
m4trace:configure.ac:9: -1- AC_SUBST_TRACE([host])
|
||||
m4trace:configure.ac:9: -1- m4_pattern_allow([^host$])
|
||||
m4trace:configure.ac:9: -1- AC_SUBST([host_cpu], [$[1]])
|
||||
m4trace:configure.ac:9: -1- AC_SUBST_TRACE([host_cpu])
|
||||
m4trace:configure.ac:9: -1- m4_pattern_allow([^host_cpu$])
|
||||
m4trace:configure.ac:9: -1- AC_SUBST([host_vendor], [$[2]])
|
||||
m4trace:configure.ac:9: -1- AC_SUBST_TRACE([host_vendor])
|
||||
m4trace:configure.ac:9: -1- m4_pattern_allow([^host_vendor$])
|
||||
m4trace:configure.ac:9: -1- AC_SUBST([host_os])
|
||||
m4trace:configure.ac:9: -1- AC_SUBST_TRACE([host_os])
|
||||
m4trace:configure.ac:9: -1- m4_pattern_allow([^host_os$])
|
||||
m4trace:configure.ac:11: -1- m4_pattern_forbid([^_?PKG_[A-Z_]+$])
|
||||
m4trace:configure.ac:11: -1- m4_pattern_allow([^PKG_CONFIG(_(PATH|LIBDIR|SYSROOT_DIR|ALLOW_SYSTEM_(CFLAGS|LIBS)))?$])
|
||||
m4trace:configure.ac:11: -1- m4_pattern_allow([^PKG_CONFIG_(DISABLE_UNINSTALLED|TOP_BUILD_DIR|DEBUG_SPEW)$])
|
||||
m4trace:configure.ac:11: -1- AC_SUBST([PKG_CONFIG])
|
||||
m4trace:configure.ac:11: -1- AC_SUBST_TRACE([PKG_CONFIG])
|
||||
m4trace:configure.ac:11: -1- m4_pattern_allow([^PKG_CONFIG$])
|
||||
m4trace:configure.ac:11: -1- AC_SUBST([PKG_CONFIG_PATH])
|
||||
m4trace:configure.ac:11: -1- AC_SUBST_TRACE([PKG_CONFIG_PATH])
|
||||
m4trace:configure.ac:11: -1- m4_pattern_allow([^PKG_CONFIG_PATH$])
|
||||
m4trace:configure.ac:11: -1- AC_SUBST([PKG_CONFIG_LIBDIR])
|
||||
m4trace:configure.ac:11: -1- AC_SUBST_TRACE([PKG_CONFIG_LIBDIR])
|
||||
m4trace:configure.ac:11: -1- m4_pattern_allow([^PKG_CONFIG_LIBDIR$])
|
||||
m4trace:configure.ac:11: -1- AC_SUBST([PKG_CONFIG])
|
||||
m4trace:configure.ac:11: -1- AC_SUBST_TRACE([PKG_CONFIG])
|
||||
m4trace:configure.ac:11: -1- m4_pattern_allow([^PKG_CONFIG$])
|
||||
m4trace:configure.ac:11: -1- AC_SUBST([ZMQ_CFLAGS])
|
||||
m4trace:configure.ac:11: -1- AC_SUBST_TRACE([ZMQ_CFLAGS])
|
||||
m4trace:configure.ac:11: -1- m4_pattern_allow([^ZMQ_CFLAGS$])
|
||||
m4trace:configure.ac:11: -1- AC_SUBST([ZMQ_LIBS])
|
||||
m4trace:configure.ac:11: -1- AC_SUBST_TRACE([ZMQ_LIBS])
|
||||
m4trace:configure.ac:11: -1- m4_pattern_allow([^ZMQ_LIBS$])
|
||||
m4trace:configure.ac:11: -1- AC_DEFINE_TRACE_LITERAL([ZMQ_BUILD_DRAFT_API])
|
||||
m4trace:configure.ac:11: -1- m4_pattern_allow([^ZMQ_BUILD_DRAFT_API$])
|
||||
m4trace:configure.ac:28: -1- AC_CONFIG_SUBDIRS([libzmq])
|
||||
m4trace:configure.ac:28: -1- AC_SUBST([subdirs], ["$subdirs libzmq"])
|
||||
m4trace:configure.ac:28: -1- AC_SUBST_TRACE([subdirs])
|
||||
m4trace:configure.ac:28: -1- m4_pattern_allow([^subdirs$])
|
||||
m4trace:configure.ac:71: -1- AM_CONDITIONAL([WINDOWS], [test "x$ON_WINDOWS" != x])
|
||||
m4trace:configure.ac:71: -1- AC_SUBST([WINDOWS_TRUE])
|
||||
m4trace:configure.ac:71: -1- AC_SUBST_TRACE([WINDOWS_TRUE])
|
||||
m4trace:configure.ac:71: -1- m4_pattern_allow([^WINDOWS_TRUE$])
|
||||
m4trace:configure.ac:71: -1- AC_SUBST([WINDOWS_FALSE])
|
||||
m4trace:configure.ac:71: -1- AC_SUBST_TRACE([WINDOWS_FALSE])
|
||||
m4trace:configure.ac:71: -1- m4_pattern_allow([^WINDOWS_FALSE$])
|
||||
m4trace:configure.ac:71: -1- _AM_SUBST_NOTMAKE([WINDOWS_TRUE])
|
||||
m4trace:configure.ac:71: -1- _AM_SUBST_NOTMAKE([WINDOWS_FALSE])
|
||||
m4trace:configure.ac:72: -1- AM_CONDITIONAL([ZMQ_BUILD_LOCALLY], [test "x$ZMQ_BUILD_LOCALLY" != x])
|
||||
m4trace:configure.ac:72: -1- AC_SUBST([ZMQ_BUILD_LOCALLY_TRUE])
|
||||
m4trace:configure.ac:72: -1- AC_SUBST_TRACE([ZMQ_BUILD_LOCALLY_TRUE])
|
||||
m4trace:configure.ac:72: -1- m4_pattern_allow([^ZMQ_BUILD_LOCALLY_TRUE$])
|
||||
m4trace:configure.ac:72: -1- AC_SUBST([ZMQ_BUILD_LOCALLY_FALSE])
|
||||
m4trace:configure.ac:72: -1- AC_SUBST_TRACE([ZMQ_BUILD_LOCALLY_FALSE])
|
||||
m4trace:configure.ac:72: -1- m4_pattern_allow([^ZMQ_BUILD_LOCALLY_FALSE$])
|
||||
m4trace:configure.ac:72: -1- _AM_SUBST_NOTMAKE([ZMQ_BUILD_LOCALLY_TRUE])
|
||||
m4trace:configure.ac:72: -1- _AM_SUBST_NOTMAKE([ZMQ_BUILD_LOCALLY_FALSE])
|
||||
m4trace:configure.ac:78: -1- AC_SUBST([MAYBE_LIBZMQ])
|
||||
m4trace:configure.ac:78: -1- AC_SUBST_TRACE([MAYBE_LIBZMQ])
|
||||
m4trace:configure.ac:78: -1- m4_pattern_allow([^MAYBE_LIBZMQ$])
|
||||
m4trace:configure.ac:81: -1- AC_SUBST([MODULE_EXT])
|
||||
m4trace:configure.ac:81: -1- AC_SUBST_TRACE([MODULE_EXT])
|
||||
m4trace:configure.ac:81: -1- m4_pattern_allow([^MODULE_EXT$])
|
||||
m4trace:configure.ac:83: -1- LT_INIT([win32-dll shared disable-static])
|
||||
m4trace:configure.ac:83: -1- m4_pattern_forbid([^_?LT_[A-Z_]+$])
|
||||
m4trace:configure.ac:83: -1- m4_pattern_allow([^(_LT_EOF|LT_DLGLOBAL|LT_DLLAZY_OR_NOW|LT_MULTI_MODULE)$])
|
||||
m4trace:configure.ac:83: -1- AC_REQUIRE_AUX_FILE([ltmain.sh])
|
||||
m4trace:configure.ac:83: -1- AC_SUBST([AS])
|
||||
m4trace:configure.ac:83: -1- AC_SUBST_TRACE([AS])
|
||||
m4trace:configure.ac:83: -1- m4_pattern_allow([^AS$])
|
||||
m4trace:configure.ac:83: -1- AC_SUBST([DLLTOOL])
|
||||
m4trace:configure.ac:83: -1- AC_SUBST_TRACE([DLLTOOL])
|
||||
m4trace:configure.ac:83: -1- m4_pattern_allow([^DLLTOOL$])
|
||||
m4trace:configure.ac:83: -1- AC_SUBST([OBJDUMP])
|
||||
m4trace:configure.ac:83: -1- AC_SUBST_TRACE([OBJDUMP])
|
||||
m4trace:configure.ac:83: -1- m4_pattern_allow([^OBJDUMP$])
|
||||
m4trace:configure.ac:83: -1- AC_SUBST([LIBTOOL])
|
||||
m4trace:configure.ac:83: -1- AC_SUBST_TRACE([LIBTOOL])
|
||||
m4trace:configure.ac:83: -1- m4_pattern_allow([^LIBTOOL$])
|
||||
m4trace:configure.ac:83: -1- AC_SUBST([SED])
|
||||
m4trace:configure.ac:83: -1- AC_SUBST_TRACE([SED])
|
||||
m4trace:configure.ac:83: -1- m4_pattern_allow([^SED$])
|
||||
m4trace:configure.ac:83: -1- AC_SUBST([GREP])
|
||||
m4trace:configure.ac:83: -1- AC_SUBST_TRACE([GREP])
|
||||
m4trace:configure.ac:83: -1- m4_pattern_allow([^GREP$])
|
||||
m4trace:configure.ac:83: -1- AC_SUBST([EGREP])
|
||||
m4trace:configure.ac:83: -1- AC_SUBST_TRACE([EGREP])
|
||||
m4trace:configure.ac:83: -1- m4_pattern_allow([^EGREP$])
|
||||
m4trace:configure.ac:83: -1- AC_SUBST([FGREP])
|
||||
m4trace:configure.ac:83: -1- AC_SUBST_TRACE([FGREP])
|
||||
m4trace:configure.ac:83: -1- m4_pattern_allow([^FGREP$])
|
||||
m4trace:configure.ac:83: -1- AC_SUBST([GREP])
|
||||
m4trace:configure.ac:83: -1- AC_SUBST_TRACE([GREP])
|
||||
m4trace:configure.ac:83: -1- m4_pattern_allow([^GREP$])
|
||||
m4trace:configure.ac:83: -1- AC_SUBST([LD])
|
||||
m4trace:configure.ac:83: -1- AC_SUBST_TRACE([LD])
|
||||
m4trace:configure.ac:83: -1- m4_pattern_allow([^LD$])
|
||||
m4trace:configure.ac:83: -1- AC_SUBST([DUMPBIN])
|
||||
m4trace:configure.ac:83: -1- AC_SUBST_TRACE([DUMPBIN])
|
||||
m4trace:configure.ac:83: -1- m4_pattern_allow([^DUMPBIN$])
|
||||
m4trace:configure.ac:83: -1- AC_SUBST([ac_ct_DUMPBIN])
|
||||
m4trace:configure.ac:83: -1- AC_SUBST_TRACE([ac_ct_DUMPBIN])
|
||||
m4trace:configure.ac:83: -1- m4_pattern_allow([^ac_ct_DUMPBIN$])
|
||||
m4trace:configure.ac:83: -1- AC_SUBST([DUMPBIN])
|
||||
m4trace:configure.ac:83: -1- AC_SUBST_TRACE([DUMPBIN])
|
||||
m4trace:configure.ac:83: -1- m4_pattern_allow([^DUMPBIN$])
|
||||
m4trace:configure.ac:83: -1- AC_SUBST([NM])
|
||||
m4trace:configure.ac:83: -1- AC_SUBST_TRACE([NM])
|
||||
m4trace:configure.ac:83: -1- m4_pattern_allow([^NM$])
|
||||
m4trace:configure.ac:83: -1- AC_SUBST([LN_S], [$as_ln_s])
|
||||
m4trace:configure.ac:83: -1- AC_SUBST_TRACE([LN_S])
|
||||
m4trace:configure.ac:83: -1- m4_pattern_allow([^LN_S$])
|
||||
m4trace:configure.ac:83: -1- AC_SUBST([FILECMD])
|
||||
m4trace:configure.ac:83: -1- AC_SUBST_TRACE([FILECMD])
|
||||
m4trace:configure.ac:83: -1- m4_pattern_allow([^FILECMD$])
|
||||
m4trace:configure.ac:83: -1- AC_SUBST([OBJDUMP])
|
||||
m4trace:configure.ac:83: -1- AC_SUBST_TRACE([OBJDUMP])
|
||||
m4trace:configure.ac:83: -1- m4_pattern_allow([^OBJDUMP$])
|
||||
m4trace:configure.ac:83: -1- AC_SUBST([OBJDUMP])
|
||||
m4trace:configure.ac:83: -1- AC_SUBST_TRACE([OBJDUMP])
|
||||
m4trace:configure.ac:83: -1- m4_pattern_allow([^OBJDUMP$])
|
||||
m4trace:configure.ac:83: -1- AC_SUBST([DLLTOOL])
|
||||
m4trace:configure.ac:83: -1- AC_SUBST_TRACE([DLLTOOL])
|
||||
m4trace:configure.ac:83: -1- m4_pattern_allow([^DLLTOOL$])
|
||||
m4trace:configure.ac:83: -1- AC_SUBST([DLLTOOL])
|
||||
m4trace:configure.ac:83: -1- AC_SUBST_TRACE([DLLTOOL])
|
||||
m4trace:configure.ac:83: -1- m4_pattern_allow([^DLLTOOL$])
|
||||
m4trace:configure.ac:83: -1- AC_SUBST([AR])
|
||||
m4trace:configure.ac:83: -1- AC_SUBST_TRACE([AR])
|
||||
m4trace:configure.ac:83: -1- m4_pattern_allow([^AR$])
|
||||
m4trace:configure.ac:83: -1- AC_SUBST([ac_ct_AR])
|
||||
m4trace:configure.ac:83: -1- AC_SUBST_TRACE([ac_ct_AR])
|
||||
m4trace:configure.ac:83: -1- m4_pattern_allow([^ac_ct_AR$])
|
||||
m4trace:configure.ac:83: -1- AC_SUBST([STRIP])
|
||||
m4trace:configure.ac:83: -1- AC_SUBST_TRACE([STRIP])
|
||||
m4trace:configure.ac:83: -1- m4_pattern_allow([^STRIP$])
|
||||
m4trace:configure.ac:83: -1- AC_SUBST([RANLIB])
|
||||
m4trace:configure.ac:83: -1- AC_SUBST_TRACE([RANLIB])
|
||||
m4trace:configure.ac:83: -1- m4_pattern_allow([^RANLIB$])
|
||||
m4trace:configure.ac:83: -1- m4_pattern_allow([LT_OBJDIR])
|
||||
m4trace:configure.ac:83: -1- AC_DEFINE_TRACE_LITERAL([LT_OBJDIR])
|
||||
m4trace:configure.ac:83: -1- m4_pattern_allow([^LT_OBJDIR$])
|
||||
m4trace:configure.ac:83: -1- AH_OUTPUT([LT_OBJDIR], [/* Define to the sub-directory where libtool stores uninstalled libraries. */
|
||||
@%:@undef LT_OBJDIR])
|
||||
m4trace:configure.ac:83: -1- LT_SUPPORTED_TAG([CC])
|
||||
m4trace:configure.ac:83: -1- AC_SUBST([MANIFEST_TOOL])
|
||||
m4trace:configure.ac:83: -1- AC_SUBST_TRACE([MANIFEST_TOOL])
|
||||
m4trace:configure.ac:83: -1- m4_pattern_allow([^MANIFEST_TOOL$])
|
||||
m4trace:configure.ac:83: -1- AC_SUBST([DSYMUTIL])
|
||||
m4trace:configure.ac:83: -1- AC_SUBST_TRACE([DSYMUTIL])
|
||||
m4trace:configure.ac:83: -1- m4_pattern_allow([^DSYMUTIL$])
|
||||
m4trace:configure.ac:83: -1- AC_SUBST([NMEDIT])
|
||||
m4trace:configure.ac:83: -1- AC_SUBST_TRACE([NMEDIT])
|
||||
m4trace:configure.ac:83: -1- m4_pattern_allow([^NMEDIT$])
|
||||
m4trace:configure.ac:83: -1- AC_SUBST([LIPO])
|
||||
m4trace:configure.ac:83: -1- AC_SUBST_TRACE([LIPO])
|
||||
m4trace:configure.ac:83: -1- m4_pattern_allow([^LIPO$])
|
||||
m4trace:configure.ac:83: -1- AC_SUBST([OTOOL])
|
||||
m4trace:configure.ac:83: -1- AC_SUBST_TRACE([OTOOL])
|
||||
m4trace:configure.ac:83: -1- m4_pattern_allow([^OTOOL$])
|
||||
m4trace:configure.ac:83: -1- AC_SUBST([OTOOL64])
|
||||
m4trace:configure.ac:83: -1- AC_SUBST_TRACE([OTOOL64])
|
||||
m4trace:configure.ac:83: -1- m4_pattern_allow([^OTOOL64$])
|
||||
m4trace:configure.ac:83: -1- AC_SUBST([LT_SYS_LIBRARY_PATH])
|
||||
m4trace:configure.ac:83: -1- AC_SUBST_TRACE([LT_SYS_LIBRARY_PATH])
|
||||
m4trace:configure.ac:83: -1- m4_pattern_allow([^LT_SYS_LIBRARY_PATH$])
|
||||
m4trace:configure.ac:83: -1- AH_OUTPUT([HAVE_DLFCN_H], [/* Define to 1 if you have the <dlfcn.h> header file. */
|
||||
@%:@undef HAVE_DLFCN_H])
|
||||
m4trace:configure.ac:83: -1- AH_OUTPUT([HAVE_STDIO_H], [/* Define to 1 if you have the <stdio.h> header file. */
|
||||
@%:@undef HAVE_STDIO_H])
|
||||
m4trace:configure.ac:83: -1- AH_OUTPUT([HAVE_STDLIB_H], [/* Define to 1 if you have the <stdlib.h> header file. */
|
||||
@%:@undef HAVE_STDLIB_H])
|
||||
m4trace:configure.ac:83: -1- AH_OUTPUT([HAVE_STRING_H], [/* Define to 1 if you have the <string.h> header file. */
|
||||
@%:@undef HAVE_STRING_H])
|
||||
m4trace:configure.ac:83: -1- AH_OUTPUT([HAVE_INTTYPES_H], [/* Define to 1 if you have the <inttypes.h> header file. */
|
||||
@%:@undef HAVE_INTTYPES_H])
|
||||
m4trace:configure.ac:83: -1- AH_OUTPUT([HAVE_STDINT_H], [/* Define to 1 if you have the <stdint.h> header file. */
|
||||
@%:@undef HAVE_STDINT_H])
|
||||
m4trace:configure.ac:83: -1- AH_OUTPUT([HAVE_STRINGS_H], [/* Define to 1 if you have the <strings.h> header file. */
|
||||
@%:@undef HAVE_STRINGS_H])
|
||||
m4trace:configure.ac:83: -1- AH_OUTPUT([HAVE_SYS_STAT_H], [/* Define to 1 if you have the <sys/stat.h> header file. */
|
||||
@%:@undef HAVE_SYS_STAT_H])
|
||||
m4trace:configure.ac:83: -1- AH_OUTPUT([HAVE_SYS_TYPES_H], [/* Define to 1 if you have the <sys/types.h> header file. */
|
||||
@%:@undef HAVE_SYS_TYPES_H])
|
||||
m4trace:configure.ac:83: -1- AH_OUTPUT([HAVE_UNISTD_H], [/* Define to 1 if you have the <unistd.h> header file. */
|
||||
@%:@undef HAVE_UNISTD_H])
|
||||
m4trace:configure.ac:83: -1- AC_DEFINE_TRACE_LITERAL([STDC_HEADERS])
|
||||
m4trace:configure.ac:83: -1- m4_pattern_allow([^STDC_HEADERS$])
|
||||
m4trace:configure.ac:83: -1- AH_OUTPUT([STDC_HEADERS], [/* Define to 1 if all of the C89 standard headers exist (not just the ones
|
||||
required in a freestanding environment). This macro is provided for
|
||||
backward compatibility; new code need not use it. */
|
||||
@%:@undef STDC_HEADERS])
|
||||
m4trace:configure.ac:83: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DLFCN_H])
|
||||
m4trace:configure.ac:83: -1- m4_pattern_allow([^HAVE_DLFCN_H$])
|
||||
m4trace:configure.ac:84: -1- AC_CONFIG_FILES([Makefile])
|
||||
m4trace:configure.ac:85: -1- AC_SUBST([LIB@&t@OBJS], [$ac_libobjs])
|
||||
m4trace:configure.ac:85: -1- AC_SUBST_TRACE([LIB@&t@OBJS])
|
||||
m4trace:configure.ac:85: -1- m4_pattern_allow([^LIB@&t@OBJS$])
|
||||
m4trace:configure.ac:85: -1- AC_SUBST([LTLIBOBJS], [$ac_ltlibobjs])
|
||||
m4trace:configure.ac:85: -1- AC_SUBST_TRACE([LTLIBOBJS])
|
||||
m4trace:configure.ac:85: -1- m4_pattern_allow([^LTLIBOBJS$])
|
||||
m4trace:configure.ac:85: -1- AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"])
|
||||
m4trace:configure.ac:85: -1- AC_SUBST([am__EXEEXT_TRUE])
|
||||
m4trace:configure.ac:85: -1- AC_SUBST_TRACE([am__EXEEXT_TRUE])
|
||||
m4trace:configure.ac:85: -1- m4_pattern_allow([^am__EXEEXT_TRUE$])
|
||||
m4trace:configure.ac:85: -1- AC_SUBST([am__EXEEXT_FALSE])
|
||||
m4trace:configure.ac:85: -1- AC_SUBST_TRACE([am__EXEEXT_FALSE])
|
||||
m4trace:configure.ac:85: -1- m4_pattern_allow([^am__EXEEXT_FALSE$])
|
||||
m4trace:configure.ac:85: -1- _AM_SUBST_NOTMAKE([am__EXEEXT_TRUE])
|
||||
m4trace:configure.ac:85: -1- _AM_SUBST_NOTMAKE([am__EXEEXT_FALSE])
|
||||
m4trace:configure.ac:85: -1- AC_SUBST_TRACE([top_builddir])
|
||||
m4trace:configure.ac:85: -1- AC_SUBST_TRACE([top_build_prefix])
|
||||
m4trace:configure.ac:85: -1- AC_SUBST_TRACE([srcdir])
|
||||
m4trace:configure.ac:85: -1- AC_SUBST_TRACE([abs_srcdir])
|
||||
m4trace:configure.ac:85: -1- AC_SUBST_TRACE([top_srcdir])
|
||||
m4trace:configure.ac:85: -1- AC_SUBST_TRACE([abs_top_srcdir])
|
||||
m4trace:configure.ac:85: -1- AC_SUBST_TRACE([builddir])
|
||||
m4trace:configure.ac:85: -1- AC_SUBST_TRACE([abs_builddir])
|
||||
m4trace:configure.ac:85: -1- AC_SUBST_TRACE([abs_top_builddir])
|
||||
m4trace:configure.ac:85: -1- AC_SUBST_TRACE([INSTALL])
|
||||
m4trace:configure.ac:85: -1- AC_SUBST_TRACE([MKDIR_P])
|
||||
m4trace:configure.ac:85: -1- AC_REQUIRE_AUX_FILE([ltmain.sh])
|
||||
2992
lisp/zmq/src/autom4te.cache/traces.2
Normal file
2992
lisp/zmq/src/autom4te.cache/traces.2
Normal file
File diff suppressed because it is too large
Load Diff
595
lisp/zmq/src/autom4te.cache/traces.3
Normal file
595
lisp/zmq/src/autom4te.cache/traces.3
Normal file
@@ -0,0 +1,595 @@
|
||||
m4trace:aclocal.m4:1103: -1- AC_SUBST([am__quote])
|
||||
m4trace:aclocal.m4:1103: -1- AC_SUBST_TRACE([am__quote])
|
||||
m4trace:aclocal.m4:1103: -1- m4_pattern_allow([^am__quote$])
|
||||
m4trace:aclocal.m4:1555: -1- m4_include([m4/libtool.m4])
|
||||
m4trace:aclocal.m4:1556: -1- m4_include([m4/ltoptions.m4])
|
||||
m4trace:aclocal.m4:1557: -1- m4_include([m4/ltsugar.m4])
|
||||
m4trace:aclocal.m4:1558: -1- m4_include([m4/ltversion.m4])
|
||||
m4trace:aclocal.m4:1559: -1- m4_include([m4/lt~obsolete.m4])
|
||||
m4trace:configure.ac:2: -1- AC_INIT([emacs-zmq], [1.0.0], [nathanielnicandro@gmail.com])
|
||||
m4trace:configure.ac:2: -1- m4_pattern_forbid([^_?A[CHUM]_])
|
||||
m4trace:configure.ac:2: -1- m4_pattern_forbid([_AC_])
|
||||
m4trace:configure.ac:2: -1- m4_pattern_forbid([^LIBOBJS$], [do not use LIBOBJS directly, use AC_LIBOBJ (see section 'AC_LIBOBJ vs LIBOBJS'])
|
||||
m4trace:configure.ac:2: -1- m4_pattern_allow([^AS_FLAGS$])
|
||||
m4trace:configure.ac:2: -1- m4_pattern_forbid([^_?m4_])
|
||||
m4trace:configure.ac:2: -1- m4_pattern_forbid([^dnl$])
|
||||
m4trace:configure.ac:2: -1- m4_pattern_forbid([^_?AS_])
|
||||
m4trace:configure.ac:2: -1- AC_SUBST([SHELL])
|
||||
m4trace:configure.ac:2: -1- AC_SUBST_TRACE([SHELL])
|
||||
m4trace:configure.ac:2: -1- m4_pattern_allow([^SHELL$])
|
||||
m4trace:configure.ac:2: -1- AC_SUBST([PATH_SEPARATOR])
|
||||
m4trace:configure.ac:2: -1- AC_SUBST_TRACE([PATH_SEPARATOR])
|
||||
m4trace:configure.ac:2: -1- m4_pattern_allow([^PATH_SEPARATOR$])
|
||||
m4trace:configure.ac:2: -1- AC_SUBST([PACKAGE_NAME], [m4_ifdef([AC_PACKAGE_NAME], ['AC_PACKAGE_NAME'])])
|
||||
m4trace:configure.ac:2: -1- AC_SUBST_TRACE([PACKAGE_NAME])
|
||||
m4trace:configure.ac:2: -1- m4_pattern_allow([^PACKAGE_NAME$])
|
||||
m4trace:configure.ac:2: -1- AC_SUBST([PACKAGE_TARNAME], [m4_ifdef([AC_PACKAGE_TARNAME], ['AC_PACKAGE_TARNAME'])])
|
||||
m4trace:configure.ac:2: -1- AC_SUBST_TRACE([PACKAGE_TARNAME])
|
||||
m4trace:configure.ac:2: -1- m4_pattern_allow([^PACKAGE_TARNAME$])
|
||||
m4trace:configure.ac:2: -1- AC_SUBST([PACKAGE_VERSION], [m4_ifdef([AC_PACKAGE_VERSION], ['AC_PACKAGE_VERSION'])])
|
||||
m4trace:configure.ac:2: -1- AC_SUBST_TRACE([PACKAGE_VERSION])
|
||||
m4trace:configure.ac:2: -1- m4_pattern_allow([^PACKAGE_VERSION$])
|
||||
m4trace:configure.ac:2: -1- AC_SUBST([PACKAGE_STRING], [m4_ifdef([AC_PACKAGE_STRING], ['AC_PACKAGE_STRING'])])
|
||||
m4trace:configure.ac:2: -1- AC_SUBST_TRACE([PACKAGE_STRING])
|
||||
m4trace:configure.ac:2: -1- m4_pattern_allow([^PACKAGE_STRING$])
|
||||
m4trace:configure.ac:2: -1- AC_SUBST([PACKAGE_BUGREPORT], [m4_ifdef([AC_PACKAGE_BUGREPORT], ['AC_PACKAGE_BUGREPORT'])])
|
||||
m4trace:configure.ac:2: -1- AC_SUBST_TRACE([PACKAGE_BUGREPORT])
|
||||
m4trace:configure.ac:2: -1- m4_pattern_allow([^PACKAGE_BUGREPORT$])
|
||||
m4trace:configure.ac:2: -1- AC_SUBST([PACKAGE_URL], [m4_ifdef([AC_PACKAGE_URL], ['AC_PACKAGE_URL'])])
|
||||
m4trace:configure.ac:2: -1- AC_SUBST_TRACE([PACKAGE_URL])
|
||||
m4trace:configure.ac:2: -1- m4_pattern_allow([^PACKAGE_URL$])
|
||||
m4trace:configure.ac:2: -1- AC_SUBST([exec_prefix], [NONE])
|
||||
m4trace:configure.ac:2: -1- AC_SUBST_TRACE([exec_prefix])
|
||||
m4trace:configure.ac:2: -1- m4_pattern_allow([^exec_prefix$])
|
||||
m4trace:configure.ac:2: -1- AC_SUBST([prefix], [NONE])
|
||||
m4trace:configure.ac:2: -1- AC_SUBST_TRACE([prefix])
|
||||
m4trace:configure.ac:2: -1- m4_pattern_allow([^prefix$])
|
||||
m4trace:configure.ac:2: -1- AC_SUBST([program_transform_name], [s,x,x,])
|
||||
m4trace:configure.ac:2: -1- AC_SUBST_TRACE([program_transform_name])
|
||||
m4trace:configure.ac:2: -1- m4_pattern_allow([^program_transform_name$])
|
||||
m4trace:configure.ac:2: -1- AC_SUBST([bindir], ['${exec_prefix}/bin'])
|
||||
m4trace:configure.ac:2: -1- AC_SUBST_TRACE([bindir])
|
||||
m4trace:configure.ac:2: -1- m4_pattern_allow([^bindir$])
|
||||
m4trace:configure.ac:2: -1- AC_SUBST([sbindir], ['${exec_prefix}/sbin'])
|
||||
m4trace:configure.ac:2: -1- AC_SUBST_TRACE([sbindir])
|
||||
m4trace:configure.ac:2: -1- m4_pattern_allow([^sbindir$])
|
||||
m4trace:configure.ac:2: -1- AC_SUBST([libexecdir], ['${exec_prefix}/libexec'])
|
||||
m4trace:configure.ac:2: -1- AC_SUBST_TRACE([libexecdir])
|
||||
m4trace:configure.ac:2: -1- m4_pattern_allow([^libexecdir$])
|
||||
m4trace:configure.ac:2: -1- AC_SUBST([datarootdir], ['${prefix}/share'])
|
||||
m4trace:configure.ac:2: -1- AC_SUBST_TRACE([datarootdir])
|
||||
m4trace:configure.ac:2: -1- m4_pattern_allow([^datarootdir$])
|
||||
m4trace:configure.ac:2: -1- AC_SUBST([datadir], ['${datarootdir}'])
|
||||
m4trace:configure.ac:2: -1- AC_SUBST_TRACE([datadir])
|
||||
m4trace:configure.ac:2: -1- m4_pattern_allow([^datadir$])
|
||||
m4trace:configure.ac:2: -1- AC_SUBST([sysconfdir], ['${prefix}/etc'])
|
||||
m4trace:configure.ac:2: -1- AC_SUBST_TRACE([sysconfdir])
|
||||
m4trace:configure.ac:2: -1- m4_pattern_allow([^sysconfdir$])
|
||||
m4trace:configure.ac:2: -1- AC_SUBST([sharedstatedir], ['${prefix}/com'])
|
||||
m4trace:configure.ac:2: -1- AC_SUBST_TRACE([sharedstatedir])
|
||||
m4trace:configure.ac:2: -1- m4_pattern_allow([^sharedstatedir$])
|
||||
m4trace:configure.ac:2: -1- AC_SUBST([localstatedir], ['${prefix}/var'])
|
||||
m4trace:configure.ac:2: -1- AC_SUBST_TRACE([localstatedir])
|
||||
m4trace:configure.ac:2: -1- m4_pattern_allow([^localstatedir$])
|
||||
m4trace:configure.ac:2: -1- AC_SUBST([runstatedir], ['${localstatedir}/run'])
|
||||
m4trace:configure.ac:2: -1- AC_SUBST_TRACE([runstatedir])
|
||||
m4trace:configure.ac:2: -1- m4_pattern_allow([^runstatedir$])
|
||||
m4trace:configure.ac:2: -1- AC_SUBST([includedir], ['${prefix}/include'])
|
||||
m4trace:configure.ac:2: -1- AC_SUBST_TRACE([includedir])
|
||||
m4trace:configure.ac:2: -1- m4_pattern_allow([^includedir$])
|
||||
m4trace:configure.ac:2: -1- AC_SUBST([oldincludedir], ['/usr/include'])
|
||||
m4trace:configure.ac:2: -1- AC_SUBST_TRACE([oldincludedir])
|
||||
m4trace:configure.ac:2: -1- m4_pattern_allow([^oldincludedir$])
|
||||
m4trace:configure.ac:2: -1- AC_SUBST([docdir], [m4_ifset([AC_PACKAGE_TARNAME],
|
||||
['${datarootdir}/doc/${PACKAGE_TARNAME}'],
|
||||
['${datarootdir}/doc/${PACKAGE}'])])
|
||||
m4trace:configure.ac:2: -1- AC_SUBST_TRACE([docdir])
|
||||
m4trace:configure.ac:2: -1- m4_pattern_allow([^docdir$])
|
||||
m4trace:configure.ac:2: -1- AC_SUBST([infodir], ['${datarootdir}/info'])
|
||||
m4trace:configure.ac:2: -1- AC_SUBST_TRACE([infodir])
|
||||
m4trace:configure.ac:2: -1- m4_pattern_allow([^infodir$])
|
||||
m4trace:configure.ac:2: -1- AC_SUBST([htmldir], ['${docdir}'])
|
||||
m4trace:configure.ac:2: -1- AC_SUBST_TRACE([htmldir])
|
||||
m4trace:configure.ac:2: -1- m4_pattern_allow([^htmldir$])
|
||||
m4trace:configure.ac:2: -1- AC_SUBST([dvidir], ['${docdir}'])
|
||||
m4trace:configure.ac:2: -1- AC_SUBST_TRACE([dvidir])
|
||||
m4trace:configure.ac:2: -1- m4_pattern_allow([^dvidir$])
|
||||
m4trace:configure.ac:2: -1- AC_SUBST([pdfdir], ['${docdir}'])
|
||||
m4trace:configure.ac:2: -1- AC_SUBST_TRACE([pdfdir])
|
||||
m4trace:configure.ac:2: -1- m4_pattern_allow([^pdfdir$])
|
||||
m4trace:configure.ac:2: -1- AC_SUBST([psdir], ['${docdir}'])
|
||||
m4trace:configure.ac:2: -1- AC_SUBST_TRACE([psdir])
|
||||
m4trace:configure.ac:2: -1- m4_pattern_allow([^psdir$])
|
||||
m4trace:configure.ac:2: -1- AC_SUBST([libdir], ['${exec_prefix}/lib'])
|
||||
m4trace:configure.ac:2: -1- AC_SUBST_TRACE([libdir])
|
||||
m4trace:configure.ac:2: -1- m4_pattern_allow([^libdir$])
|
||||
m4trace:configure.ac:2: -1- AC_SUBST([localedir], ['${datarootdir}/locale'])
|
||||
m4trace:configure.ac:2: -1- AC_SUBST_TRACE([localedir])
|
||||
m4trace:configure.ac:2: -1- m4_pattern_allow([^localedir$])
|
||||
m4trace:configure.ac:2: -1- AC_SUBST([mandir], ['${datarootdir}/man'])
|
||||
m4trace:configure.ac:2: -1- AC_SUBST_TRACE([mandir])
|
||||
m4trace:configure.ac:2: -1- m4_pattern_allow([^mandir$])
|
||||
m4trace:configure.ac:2: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_NAME])
|
||||
m4trace:configure.ac:2: -1- m4_pattern_allow([^PACKAGE_NAME$])
|
||||
m4trace:configure.ac:2: -1- AH_OUTPUT([PACKAGE_NAME], [/* Define to the full name of this package. */
|
||||
@%:@undef PACKAGE_NAME])
|
||||
m4trace:configure.ac:2: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_TARNAME])
|
||||
m4trace:configure.ac:2: -1- m4_pattern_allow([^PACKAGE_TARNAME$])
|
||||
m4trace:configure.ac:2: -1- AH_OUTPUT([PACKAGE_TARNAME], [/* Define to the one symbol short name of this package. */
|
||||
@%:@undef PACKAGE_TARNAME])
|
||||
m4trace:configure.ac:2: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_VERSION])
|
||||
m4trace:configure.ac:2: -1- m4_pattern_allow([^PACKAGE_VERSION$])
|
||||
m4trace:configure.ac:2: -1- AH_OUTPUT([PACKAGE_VERSION], [/* Define to the version of this package. */
|
||||
@%:@undef PACKAGE_VERSION])
|
||||
m4trace:configure.ac:2: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_STRING])
|
||||
m4trace:configure.ac:2: -1- m4_pattern_allow([^PACKAGE_STRING$])
|
||||
m4trace:configure.ac:2: -1- AH_OUTPUT([PACKAGE_STRING], [/* Define to the full name and version of this package. */
|
||||
@%:@undef PACKAGE_STRING])
|
||||
m4trace:configure.ac:2: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_BUGREPORT])
|
||||
m4trace:configure.ac:2: -1- m4_pattern_allow([^PACKAGE_BUGREPORT$])
|
||||
m4trace:configure.ac:2: -1- AH_OUTPUT([PACKAGE_BUGREPORT], [/* Define to the address where bug reports for this package should be sent. */
|
||||
@%:@undef PACKAGE_BUGREPORT])
|
||||
m4trace:configure.ac:2: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_URL])
|
||||
m4trace:configure.ac:2: -1- m4_pattern_allow([^PACKAGE_URL$])
|
||||
m4trace:configure.ac:2: -1- AH_OUTPUT([PACKAGE_URL], [/* Define to the home page for this package. */
|
||||
@%:@undef PACKAGE_URL])
|
||||
m4trace:configure.ac:2: -1- AC_SUBST([DEFS])
|
||||
m4trace:configure.ac:2: -1- AC_SUBST_TRACE([DEFS])
|
||||
m4trace:configure.ac:2: -1- m4_pattern_allow([^DEFS$])
|
||||
m4trace:configure.ac:2: -1- AC_SUBST([ECHO_C])
|
||||
m4trace:configure.ac:2: -1- AC_SUBST_TRACE([ECHO_C])
|
||||
m4trace:configure.ac:2: -1- m4_pattern_allow([^ECHO_C$])
|
||||
m4trace:configure.ac:2: -1- AC_SUBST([ECHO_N])
|
||||
m4trace:configure.ac:2: -1- AC_SUBST_TRACE([ECHO_N])
|
||||
m4trace:configure.ac:2: -1- m4_pattern_allow([^ECHO_N$])
|
||||
m4trace:configure.ac:2: -1- AC_SUBST([ECHO_T])
|
||||
m4trace:configure.ac:2: -1- AC_SUBST_TRACE([ECHO_T])
|
||||
m4trace:configure.ac:2: -1- m4_pattern_allow([^ECHO_T$])
|
||||
m4trace:configure.ac:2: -1- AC_SUBST([LIBS])
|
||||
m4trace:configure.ac:2: -1- AC_SUBST_TRACE([LIBS])
|
||||
m4trace:configure.ac:2: -1- m4_pattern_allow([^LIBS$])
|
||||
m4trace:configure.ac:2: -1- AC_SUBST([build_alias])
|
||||
m4trace:configure.ac:2: -1- AC_SUBST_TRACE([build_alias])
|
||||
m4trace:configure.ac:2: -1- m4_pattern_allow([^build_alias$])
|
||||
m4trace:configure.ac:2: -1- AC_SUBST([host_alias])
|
||||
m4trace:configure.ac:2: -1- AC_SUBST_TRACE([host_alias])
|
||||
m4trace:configure.ac:2: -1- m4_pattern_allow([^host_alias$])
|
||||
m4trace:configure.ac:2: -1- AC_SUBST([target_alias])
|
||||
m4trace:configure.ac:2: -1- AC_SUBST_TRACE([target_alias])
|
||||
m4trace:configure.ac:2: -1- m4_pattern_allow([^target_alias$])
|
||||
m4trace:configure.ac:5: -1- AC_CONFIG_MACRO_DIR_TRACE([m4])
|
||||
m4trace:configure.ac:6: -1- AM_INIT_AUTOMAKE([-Wall -Wno-override foreign])
|
||||
m4trace:configure.ac:6: -1- m4_pattern_allow([^AM_[A-Z]+FLAGS$])
|
||||
m4trace:configure.ac:6: -1- AM_AUTOMAKE_VERSION([1.16.5])
|
||||
m4trace:configure.ac:6: -1- AC_REQUIRE_AUX_FILE([install-sh])
|
||||
m4trace:configure.ac:6: -1- AC_SUBST([INSTALL_PROGRAM])
|
||||
m4trace:configure.ac:6: -1- AC_SUBST_TRACE([INSTALL_PROGRAM])
|
||||
m4trace:configure.ac:6: -1- m4_pattern_allow([^INSTALL_PROGRAM$])
|
||||
m4trace:configure.ac:6: -1- AC_SUBST([INSTALL_SCRIPT])
|
||||
m4trace:configure.ac:6: -1- AC_SUBST_TRACE([INSTALL_SCRIPT])
|
||||
m4trace:configure.ac:6: -1- m4_pattern_allow([^INSTALL_SCRIPT$])
|
||||
m4trace:configure.ac:6: -1- AC_SUBST([INSTALL_DATA])
|
||||
m4trace:configure.ac:6: -1- AC_SUBST_TRACE([INSTALL_DATA])
|
||||
m4trace:configure.ac:6: -1- m4_pattern_allow([^INSTALL_DATA$])
|
||||
m4trace:configure.ac:6: -1- AC_SUBST([am__isrc], [' -I$(srcdir)'])
|
||||
m4trace:configure.ac:6: -1- AC_SUBST_TRACE([am__isrc])
|
||||
m4trace:configure.ac:6: -1- m4_pattern_allow([^am__isrc$])
|
||||
m4trace:configure.ac:6: -1- _AM_SUBST_NOTMAKE([am__isrc])
|
||||
m4trace:configure.ac:6: -1- AC_SUBST([CYGPATH_W])
|
||||
m4trace:configure.ac:6: -1- AC_SUBST_TRACE([CYGPATH_W])
|
||||
m4trace:configure.ac:6: -1- m4_pattern_allow([^CYGPATH_W$])
|
||||
m4trace:configure.ac:6: -1- AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])
|
||||
m4trace:configure.ac:6: -1- AC_SUBST_TRACE([PACKAGE])
|
||||
m4trace:configure.ac:6: -1- m4_pattern_allow([^PACKAGE$])
|
||||
m4trace:configure.ac:6: -1- AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])
|
||||
m4trace:configure.ac:6: -1- AC_SUBST_TRACE([VERSION])
|
||||
m4trace:configure.ac:6: -1- m4_pattern_allow([^VERSION$])
|
||||
m4trace:configure.ac:6: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE])
|
||||
m4trace:configure.ac:6: -1- m4_pattern_allow([^PACKAGE$])
|
||||
m4trace:configure.ac:6: -1- AH_OUTPUT([PACKAGE], [/* Name of package */
|
||||
@%:@undef PACKAGE])
|
||||
m4trace:configure.ac:6: -1- AC_DEFINE_TRACE_LITERAL([VERSION])
|
||||
m4trace:configure.ac:6: -1- m4_pattern_allow([^VERSION$])
|
||||
m4trace:configure.ac:6: -1- AH_OUTPUT([VERSION], [/* Version number of package */
|
||||
@%:@undef VERSION])
|
||||
m4trace:configure.ac:6: -1- AC_REQUIRE_AUX_FILE([missing])
|
||||
m4trace:configure.ac:6: -1- AC_SUBST([ACLOCAL])
|
||||
m4trace:configure.ac:6: -1- AC_SUBST_TRACE([ACLOCAL])
|
||||
m4trace:configure.ac:6: -1- m4_pattern_allow([^ACLOCAL$])
|
||||
m4trace:configure.ac:6: -1- AC_SUBST([AUTOCONF])
|
||||
m4trace:configure.ac:6: -1- AC_SUBST_TRACE([AUTOCONF])
|
||||
m4trace:configure.ac:6: -1- m4_pattern_allow([^AUTOCONF$])
|
||||
m4trace:configure.ac:6: -1- AC_SUBST([AUTOMAKE])
|
||||
m4trace:configure.ac:6: -1- AC_SUBST_TRACE([AUTOMAKE])
|
||||
m4trace:configure.ac:6: -1- m4_pattern_allow([^AUTOMAKE$])
|
||||
m4trace:configure.ac:6: -1- AC_SUBST([AUTOHEADER])
|
||||
m4trace:configure.ac:6: -1- AC_SUBST_TRACE([AUTOHEADER])
|
||||
m4trace:configure.ac:6: -1- m4_pattern_allow([^AUTOHEADER$])
|
||||
m4trace:configure.ac:6: -1- AC_SUBST([MAKEINFO])
|
||||
m4trace:configure.ac:6: -1- AC_SUBST_TRACE([MAKEINFO])
|
||||
m4trace:configure.ac:6: -1- m4_pattern_allow([^MAKEINFO$])
|
||||
m4trace:configure.ac:6: -1- AC_SUBST([install_sh])
|
||||
m4trace:configure.ac:6: -1- AC_SUBST_TRACE([install_sh])
|
||||
m4trace:configure.ac:6: -1- m4_pattern_allow([^install_sh$])
|
||||
m4trace:configure.ac:6: -1- AC_SUBST([STRIP])
|
||||
m4trace:configure.ac:6: -1- AC_SUBST_TRACE([STRIP])
|
||||
m4trace:configure.ac:6: -1- m4_pattern_allow([^STRIP$])
|
||||
m4trace:configure.ac:6: -1- AC_SUBST([INSTALL_STRIP_PROGRAM])
|
||||
m4trace:configure.ac:6: -1- AC_SUBST_TRACE([INSTALL_STRIP_PROGRAM])
|
||||
m4trace:configure.ac:6: -1- m4_pattern_allow([^INSTALL_STRIP_PROGRAM$])
|
||||
m4trace:configure.ac:6: -1- AC_REQUIRE_AUX_FILE([install-sh])
|
||||
m4trace:configure.ac:6: -1- AC_SUBST([MKDIR_P])
|
||||
m4trace:configure.ac:6: -1- AC_SUBST_TRACE([MKDIR_P])
|
||||
m4trace:configure.ac:6: -1- m4_pattern_allow([^MKDIR_P$])
|
||||
m4trace:configure.ac:6: -1- AC_SUBST([mkdir_p], ['$(MKDIR_P)'])
|
||||
m4trace:configure.ac:6: -1- AC_SUBST_TRACE([mkdir_p])
|
||||
m4trace:configure.ac:6: -1- m4_pattern_allow([^mkdir_p$])
|
||||
m4trace:configure.ac:6: -1- AC_SUBST([AWK])
|
||||
m4trace:configure.ac:6: -1- AC_SUBST_TRACE([AWK])
|
||||
m4trace:configure.ac:6: -1- m4_pattern_allow([^AWK$])
|
||||
m4trace:configure.ac:6: -1- AC_SUBST([SET_MAKE])
|
||||
m4trace:configure.ac:6: -1- AC_SUBST_TRACE([SET_MAKE])
|
||||
m4trace:configure.ac:6: -1- m4_pattern_allow([^SET_MAKE$])
|
||||
m4trace:configure.ac:6: -1- AC_SUBST([am__leading_dot])
|
||||
m4trace:configure.ac:6: -1- AC_SUBST_TRACE([am__leading_dot])
|
||||
m4trace:configure.ac:6: -1- m4_pattern_allow([^am__leading_dot$])
|
||||
m4trace:configure.ac:6: -1- AC_SUBST([AMTAR], ['$${TAR-tar}'])
|
||||
m4trace:configure.ac:6: -1- AC_SUBST_TRACE([AMTAR])
|
||||
m4trace:configure.ac:6: -1- m4_pattern_allow([^AMTAR$])
|
||||
m4trace:configure.ac:6: -1- AC_SUBST([am__tar])
|
||||
m4trace:configure.ac:6: -1- AC_SUBST_TRACE([am__tar])
|
||||
m4trace:configure.ac:6: -1- m4_pattern_allow([^am__tar$])
|
||||
m4trace:configure.ac:6: -1- AC_SUBST([am__untar])
|
||||
m4trace:configure.ac:6: -1- AC_SUBST_TRACE([am__untar])
|
||||
m4trace:configure.ac:6: -1- m4_pattern_allow([^am__untar$])
|
||||
m4trace:configure.ac:6: -1- AC_SUBST([CTAGS])
|
||||
m4trace:configure.ac:6: -1- AC_SUBST_TRACE([CTAGS])
|
||||
m4trace:configure.ac:6: -1- m4_pattern_allow([^CTAGS$])
|
||||
m4trace:configure.ac:6: -1- AC_SUBST([ETAGS])
|
||||
m4trace:configure.ac:6: -1- AC_SUBST_TRACE([ETAGS])
|
||||
m4trace:configure.ac:6: -1- m4_pattern_allow([^ETAGS$])
|
||||
m4trace:configure.ac:6: -1- AC_SUBST([CSCOPE])
|
||||
m4trace:configure.ac:6: -1- AC_SUBST_TRACE([CSCOPE])
|
||||
m4trace:configure.ac:6: -1- m4_pattern_allow([^CSCOPE$])
|
||||
m4trace:configure.ac:6: -1- AM_SILENT_RULES
|
||||
m4trace:configure.ac:6: -1- AC_SUBST([AM_V])
|
||||
m4trace:configure.ac:6: -1- AC_SUBST_TRACE([AM_V])
|
||||
m4trace:configure.ac:6: -1- m4_pattern_allow([^AM_V$])
|
||||
m4trace:configure.ac:6: -1- _AM_SUBST_NOTMAKE([AM_V])
|
||||
m4trace:configure.ac:6: -1- AC_SUBST([AM_DEFAULT_V])
|
||||
m4trace:configure.ac:6: -1- AC_SUBST_TRACE([AM_DEFAULT_V])
|
||||
m4trace:configure.ac:6: -1- m4_pattern_allow([^AM_DEFAULT_V$])
|
||||
m4trace:configure.ac:6: -1- _AM_SUBST_NOTMAKE([AM_DEFAULT_V])
|
||||
m4trace:configure.ac:6: -1- AC_SUBST([AM_DEFAULT_VERBOSITY])
|
||||
m4trace:configure.ac:6: -1- AC_SUBST_TRACE([AM_DEFAULT_VERBOSITY])
|
||||
m4trace:configure.ac:6: -1- m4_pattern_allow([^AM_DEFAULT_VERBOSITY$])
|
||||
m4trace:configure.ac:6: -1- AC_SUBST([AM_BACKSLASH])
|
||||
m4trace:configure.ac:6: -1- AC_SUBST_TRACE([AM_BACKSLASH])
|
||||
m4trace:configure.ac:6: -1- m4_pattern_allow([^AM_BACKSLASH$])
|
||||
m4trace:configure.ac:6: -1- _AM_SUBST_NOTMAKE([AM_BACKSLASH])
|
||||
m4trace:configure.ac:7: -1- AC_SUBST([CC])
|
||||
m4trace:configure.ac:7: -1- AC_SUBST_TRACE([CC])
|
||||
m4trace:configure.ac:7: -1- m4_pattern_allow([^CC$])
|
||||
m4trace:configure.ac:7: -1- AC_SUBST([CFLAGS])
|
||||
m4trace:configure.ac:7: -1- AC_SUBST_TRACE([CFLAGS])
|
||||
m4trace:configure.ac:7: -1- m4_pattern_allow([^CFLAGS$])
|
||||
m4trace:configure.ac:7: -1- AC_SUBST([LDFLAGS])
|
||||
m4trace:configure.ac:7: -1- AC_SUBST_TRACE([LDFLAGS])
|
||||
m4trace:configure.ac:7: -1- m4_pattern_allow([^LDFLAGS$])
|
||||
m4trace:configure.ac:7: -1- AC_SUBST([LIBS])
|
||||
m4trace:configure.ac:7: -1- AC_SUBST_TRACE([LIBS])
|
||||
m4trace:configure.ac:7: -1- m4_pattern_allow([^LIBS$])
|
||||
m4trace:configure.ac:7: -1- AC_SUBST([CPPFLAGS])
|
||||
m4trace:configure.ac:7: -1- AC_SUBST_TRACE([CPPFLAGS])
|
||||
m4trace:configure.ac:7: -1- m4_pattern_allow([^CPPFLAGS$])
|
||||
m4trace:configure.ac:7: -1- AC_SUBST([CC])
|
||||
m4trace:configure.ac:7: -1- AC_SUBST_TRACE([CC])
|
||||
m4trace:configure.ac:7: -1- m4_pattern_allow([^CC$])
|
||||
m4trace:configure.ac:7: -1- AC_SUBST([CC])
|
||||
m4trace:configure.ac:7: -1- AC_SUBST_TRACE([CC])
|
||||
m4trace:configure.ac:7: -1- m4_pattern_allow([^CC$])
|
||||
m4trace:configure.ac:7: -1- AC_SUBST([CC])
|
||||
m4trace:configure.ac:7: -1- AC_SUBST_TRACE([CC])
|
||||
m4trace:configure.ac:7: -1- m4_pattern_allow([^CC$])
|
||||
m4trace:configure.ac:7: -1- AC_SUBST([CC])
|
||||
m4trace:configure.ac:7: -1- AC_SUBST_TRACE([CC])
|
||||
m4trace:configure.ac:7: -1- m4_pattern_allow([^CC$])
|
||||
m4trace:configure.ac:7: -1- AC_SUBST([ac_ct_CC])
|
||||
m4trace:configure.ac:7: -1- AC_SUBST_TRACE([ac_ct_CC])
|
||||
m4trace:configure.ac:7: -1- m4_pattern_allow([^ac_ct_CC$])
|
||||
m4trace:configure.ac:7: -1- AC_SUBST([CC])
|
||||
m4trace:configure.ac:7: -1- AC_SUBST_TRACE([CC])
|
||||
m4trace:configure.ac:7: -1- m4_pattern_allow([^CC$])
|
||||
m4trace:configure.ac:7: -1- AC_SUBST([EXEEXT], [$ac_cv_exeext])
|
||||
m4trace:configure.ac:7: -1- AC_SUBST_TRACE([EXEEXT])
|
||||
m4trace:configure.ac:7: -1- m4_pattern_allow([^EXEEXT$])
|
||||
m4trace:configure.ac:7: -1- AC_SUBST([OBJEXT], [$ac_cv_objext])
|
||||
m4trace:configure.ac:7: -1- AC_SUBST_TRACE([OBJEXT])
|
||||
m4trace:configure.ac:7: -1- m4_pattern_allow([^OBJEXT$])
|
||||
m4trace:configure.ac:7: -1- AC_REQUIRE_AUX_FILE([compile])
|
||||
m4trace:configure.ac:7: -1- AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])
|
||||
m4trace:configure.ac:7: -1- AC_SUBST_TRACE([DEPDIR])
|
||||
m4trace:configure.ac:7: -1- m4_pattern_allow([^DEPDIR$])
|
||||
m4trace:configure.ac:7: -1- AC_SUBST([am__include])
|
||||
m4trace:configure.ac:7: -1- AC_SUBST_TRACE([am__include])
|
||||
m4trace:configure.ac:7: -1- m4_pattern_allow([^am__include$])
|
||||
m4trace:configure.ac:7: -1- AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno])
|
||||
m4trace:configure.ac:7: -1- AC_SUBST([AMDEP_TRUE])
|
||||
m4trace:configure.ac:7: -1- AC_SUBST_TRACE([AMDEP_TRUE])
|
||||
m4trace:configure.ac:7: -1- m4_pattern_allow([^AMDEP_TRUE$])
|
||||
m4trace:configure.ac:7: -1- AC_SUBST([AMDEP_FALSE])
|
||||
m4trace:configure.ac:7: -1- AC_SUBST_TRACE([AMDEP_FALSE])
|
||||
m4trace:configure.ac:7: -1- m4_pattern_allow([^AMDEP_FALSE$])
|
||||
m4trace:configure.ac:7: -1- _AM_SUBST_NOTMAKE([AMDEP_TRUE])
|
||||
m4trace:configure.ac:7: -1- _AM_SUBST_NOTMAKE([AMDEP_FALSE])
|
||||
m4trace:configure.ac:7: -1- AC_SUBST([AMDEPBACKSLASH])
|
||||
m4trace:configure.ac:7: -1- AC_SUBST_TRACE([AMDEPBACKSLASH])
|
||||
m4trace:configure.ac:7: -1- m4_pattern_allow([^AMDEPBACKSLASH$])
|
||||
m4trace:configure.ac:7: -1- _AM_SUBST_NOTMAKE([AMDEPBACKSLASH])
|
||||
m4trace:configure.ac:7: -1- AC_SUBST([am__nodep])
|
||||
m4trace:configure.ac:7: -1- AC_SUBST_TRACE([am__nodep])
|
||||
m4trace:configure.ac:7: -1- m4_pattern_allow([^am__nodep$])
|
||||
m4trace:configure.ac:7: -1- _AM_SUBST_NOTMAKE([am__nodep])
|
||||
m4trace:configure.ac:7: -1- AC_SUBST([CCDEPMODE], [depmode=$am_cv_CC_dependencies_compiler_type])
|
||||
m4trace:configure.ac:7: -1- AC_SUBST_TRACE([CCDEPMODE])
|
||||
m4trace:configure.ac:7: -1- m4_pattern_allow([^CCDEPMODE$])
|
||||
m4trace:configure.ac:7: -1- AM_CONDITIONAL([am__fastdepCC], [
|
||||
test "x$enable_dependency_tracking" != xno \
|
||||
&& test "$am_cv_CC_dependencies_compiler_type" = gcc3])
|
||||
m4trace:configure.ac:7: -1- AC_SUBST([am__fastdepCC_TRUE])
|
||||
m4trace:configure.ac:7: -1- AC_SUBST_TRACE([am__fastdepCC_TRUE])
|
||||
m4trace:configure.ac:7: -1- m4_pattern_allow([^am__fastdepCC_TRUE$])
|
||||
m4trace:configure.ac:7: -1- AC_SUBST([am__fastdepCC_FALSE])
|
||||
m4trace:configure.ac:7: -1- AC_SUBST_TRACE([am__fastdepCC_FALSE])
|
||||
m4trace:configure.ac:7: -1- m4_pattern_allow([^am__fastdepCC_FALSE$])
|
||||
m4trace:configure.ac:7: -1- _AM_SUBST_NOTMAKE([am__fastdepCC_TRUE])
|
||||
m4trace:configure.ac:7: -1- _AM_SUBST_NOTMAKE([am__fastdepCC_FALSE])
|
||||
m4trace:configure.ac:8: -1- AM_PROG_AR
|
||||
m4trace:configure.ac:8: -1- AC_REQUIRE_AUX_FILE([ar-lib])
|
||||
m4trace:configure.ac:8: -1- AC_SUBST([AR])
|
||||
m4trace:configure.ac:8: -1- AC_SUBST_TRACE([AR])
|
||||
m4trace:configure.ac:8: -1- m4_pattern_allow([^AR$])
|
||||
m4trace:configure.ac:8: -1- AC_SUBST([ac_ct_AR])
|
||||
m4trace:configure.ac:8: -1- AC_SUBST_TRACE([ac_ct_AR])
|
||||
m4trace:configure.ac:8: -1- m4_pattern_allow([^ac_ct_AR$])
|
||||
m4trace:configure.ac:8: -1- AC_SUBST([AR])
|
||||
m4trace:configure.ac:8: -1- AC_SUBST_TRACE([AR])
|
||||
m4trace:configure.ac:8: -1- m4_pattern_allow([^AR$])
|
||||
m4trace:configure.ac:9: -1- AC_CANONICAL_HOST
|
||||
m4trace:configure.ac:9: -1- AC_CANONICAL_BUILD
|
||||
m4trace:configure.ac:9: -1- AC_REQUIRE_AUX_FILE([config.sub])
|
||||
m4trace:configure.ac:9: -1- AC_REQUIRE_AUX_FILE([config.guess])
|
||||
m4trace:configure.ac:9: -1- AC_SUBST([build], [$ac_cv_build])
|
||||
m4trace:configure.ac:9: -1- AC_SUBST_TRACE([build])
|
||||
m4trace:configure.ac:9: -1- m4_pattern_allow([^build$])
|
||||
m4trace:configure.ac:9: -1- AC_SUBST([build_cpu], [$[1]])
|
||||
m4trace:configure.ac:9: -1- AC_SUBST_TRACE([build_cpu])
|
||||
m4trace:configure.ac:9: -1- m4_pattern_allow([^build_cpu$])
|
||||
m4trace:configure.ac:9: -1- AC_SUBST([build_vendor], [$[2]])
|
||||
m4trace:configure.ac:9: -1- AC_SUBST_TRACE([build_vendor])
|
||||
m4trace:configure.ac:9: -1- m4_pattern_allow([^build_vendor$])
|
||||
m4trace:configure.ac:9: -1- AC_SUBST([build_os])
|
||||
m4trace:configure.ac:9: -1- AC_SUBST_TRACE([build_os])
|
||||
m4trace:configure.ac:9: -1- m4_pattern_allow([^build_os$])
|
||||
m4trace:configure.ac:9: -1- AC_SUBST([host], [$ac_cv_host])
|
||||
m4trace:configure.ac:9: -1- AC_SUBST_TRACE([host])
|
||||
m4trace:configure.ac:9: -1- m4_pattern_allow([^host$])
|
||||
m4trace:configure.ac:9: -1- AC_SUBST([host_cpu], [$[1]])
|
||||
m4trace:configure.ac:9: -1- AC_SUBST_TRACE([host_cpu])
|
||||
m4trace:configure.ac:9: -1- m4_pattern_allow([^host_cpu$])
|
||||
m4trace:configure.ac:9: -1- AC_SUBST([host_vendor], [$[2]])
|
||||
m4trace:configure.ac:9: -1- AC_SUBST_TRACE([host_vendor])
|
||||
m4trace:configure.ac:9: -1- m4_pattern_allow([^host_vendor$])
|
||||
m4trace:configure.ac:9: -1- AC_SUBST([host_os])
|
||||
m4trace:configure.ac:9: -1- AC_SUBST_TRACE([host_os])
|
||||
m4trace:configure.ac:9: -1- m4_pattern_allow([^host_os$])
|
||||
m4trace:configure.ac:11: -1- m4_pattern_forbid([^_?PKG_[A-Z_]+$])
|
||||
m4trace:configure.ac:11: -1- m4_pattern_allow([^PKG_CONFIG(_(PATH|LIBDIR|SYSROOT_DIR|ALLOW_SYSTEM_(CFLAGS|LIBS)))?$])
|
||||
m4trace:configure.ac:11: -1- m4_pattern_allow([^PKG_CONFIG_(DISABLE_UNINSTALLED|TOP_BUILD_DIR|DEBUG_SPEW)$])
|
||||
m4trace:configure.ac:11: -1- AC_SUBST([PKG_CONFIG])
|
||||
m4trace:configure.ac:11: -1- AC_SUBST_TRACE([PKG_CONFIG])
|
||||
m4trace:configure.ac:11: -1- m4_pattern_allow([^PKG_CONFIG$])
|
||||
m4trace:configure.ac:11: -1- AC_SUBST([PKG_CONFIG_PATH])
|
||||
m4trace:configure.ac:11: -1- AC_SUBST_TRACE([PKG_CONFIG_PATH])
|
||||
m4trace:configure.ac:11: -1- m4_pattern_allow([^PKG_CONFIG_PATH$])
|
||||
m4trace:configure.ac:11: -1- AC_SUBST([PKG_CONFIG_LIBDIR])
|
||||
m4trace:configure.ac:11: -1- AC_SUBST_TRACE([PKG_CONFIG_LIBDIR])
|
||||
m4trace:configure.ac:11: -1- m4_pattern_allow([^PKG_CONFIG_LIBDIR$])
|
||||
m4trace:configure.ac:11: -1- AC_SUBST([PKG_CONFIG])
|
||||
m4trace:configure.ac:11: -1- AC_SUBST_TRACE([PKG_CONFIG])
|
||||
m4trace:configure.ac:11: -1- m4_pattern_allow([^PKG_CONFIG$])
|
||||
m4trace:configure.ac:11: -1- AC_SUBST([ZMQ_CFLAGS])
|
||||
m4trace:configure.ac:11: -1- AC_SUBST_TRACE([ZMQ_CFLAGS])
|
||||
m4trace:configure.ac:11: -1- m4_pattern_allow([^ZMQ_CFLAGS$])
|
||||
m4trace:configure.ac:11: -1- AC_SUBST([ZMQ_LIBS])
|
||||
m4trace:configure.ac:11: -1- AC_SUBST_TRACE([ZMQ_LIBS])
|
||||
m4trace:configure.ac:11: -1- m4_pattern_allow([^ZMQ_LIBS$])
|
||||
m4trace:configure.ac:11: -1- AC_DEFINE_TRACE_LITERAL([ZMQ_BUILD_DRAFT_API])
|
||||
m4trace:configure.ac:11: -1- m4_pattern_allow([^ZMQ_BUILD_DRAFT_API$])
|
||||
m4trace:configure.ac:28: -1- AC_CONFIG_SUBDIRS([libzmq])
|
||||
m4trace:configure.ac:28: -1- AC_SUBST([subdirs], ["$subdirs libzmq"])
|
||||
m4trace:configure.ac:28: -1- AC_SUBST_TRACE([subdirs])
|
||||
m4trace:configure.ac:28: -1- m4_pattern_allow([^subdirs$])
|
||||
m4trace:configure.ac:71: -1- AM_CONDITIONAL([WINDOWS], [test "x$ON_WINDOWS" != x])
|
||||
m4trace:configure.ac:71: -1- AC_SUBST([WINDOWS_TRUE])
|
||||
m4trace:configure.ac:71: -1- AC_SUBST_TRACE([WINDOWS_TRUE])
|
||||
m4trace:configure.ac:71: -1- m4_pattern_allow([^WINDOWS_TRUE$])
|
||||
m4trace:configure.ac:71: -1- AC_SUBST([WINDOWS_FALSE])
|
||||
m4trace:configure.ac:71: -1- AC_SUBST_TRACE([WINDOWS_FALSE])
|
||||
m4trace:configure.ac:71: -1- m4_pattern_allow([^WINDOWS_FALSE$])
|
||||
m4trace:configure.ac:71: -1- _AM_SUBST_NOTMAKE([WINDOWS_TRUE])
|
||||
m4trace:configure.ac:71: -1- _AM_SUBST_NOTMAKE([WINDOWS_FALSE])
|
||||
m4trace:configure.ac:72: -1- AM_CONDITIONAL([ZMQ_BUILD_LOCALLY], [test "x$ZMQ_BUILD_LOCALLY" != x])
|
||||
m4trace:configure.ac:72: -1- AC_SUBST([ZMQ_BUILD_LOCALLY_TRUE])
|
||||
m4trace:configure.ac:72: -1- AC_SUBST_TRACE([ZMQ_BUILD_LOCALLY_TRUE])
|
||||
m4trace:configure.ac:72: -1- m4_pattern_allow([^ZMQ_BUILD_LOCALLY_TRUE$])
|
||||
m4trace:configure.ac:72: -1- AC_SUBST([ZMQ_BUILD_LOCALLY_FALSE])
|
||||
m4trace:configure.ac:72: -1- AC_SUBST_TRACE([ZMQ_BUILD_LOCALLY_FALSE])
|
||||
m4trace:configure.ac:72: -1- m4_pattern_allow([^ZMQ_BUILD_LOCALLY_FALSE$])
|
||||
m4trace:configure.ac:72: -1- _AM_SUBST_NOTMAKE([ZMQ_BUILD_LOCALLY_TRUE])
|
||||
m4trace:configure.ac:72: -1- _AM_SUBST_NOTMAKE([ZMQ_BUILD_LOCALLY_FALSE])
|
||||
m4trace:configure.ac:78: -1- AC_SUBST([MAYBE_LIBZMQ])
|
||||
m4trace:configure.ac:78: -1- AC_SUBST_TRACE([MAYBE_LIBZMQ])
|
||||
m4trace:configure.ac:78: -1- m4_pattern_allow([^MAYBE_LIBZMQ$])
|
||||
m4trace:configure.ac:81: -1- AC_SUBST([MODULE_EXT])
|
||||
m4trace:configure.ac:81: -1- AC_SUBST_TRACE([MODULE_EXT])
|
||||
m4trace:configure.ac:81: -1- m4_pattern_allow([^MODULE_EXT$])
|
||||
m4trace:configure.ac:83: -1- LT_INIT([win32-dll shared disable-static])
|
||||
m4trace:configure.ac:83: -1- m4_pattern_forbid([^_?LT_[A-Z_]+$])
|
||||
m4trace:configure.ac:83: -1- m4_pattern_allow([^(_LT_EOF|LT_DLGLOBAL|LT_DLLAZY_OR_NOW|LT_MULTI_MODULE)$])
|
||||
m4trace:configure.ac:83: -1- AC_REQUIRE_AUX_FILE([ltmain.sh])
|
||||
m4trace:configure.ac:83: -1- AC_SUBST([AS])
|
||||
m4trace:configure.ac:83: -1- AC_SUBST_TRACE([AS])
|
||||
m4trace:configure.ac:83: -1- m4_pattern_allow([^AS$])
|
||||
m4trace:configure.ac:83: -1- AC_SUBST([DLLTOOL])
|
||||
m4trace:configure.ac:83: -1- AC_SUBST_TRACE([DLLTOOL])
|
||||
m4trace:configure.ac:83: -1- m4_pattern_allow([^DLLTOOL$])
|
||||
m4trace:configure.ac:83: -1- AC_SUBST([OBJDUMP])
|
||||
m4trace:configure.ac:83: -1- AC_SUBST_TRACE([OBJDUMP])
|
||||
m4trace:configure.ac:83: -1- m4_pattern_allow([^OBJDUMP$])
|
||||
m4trace:configure.ac:83: -1- AC_SUBST([LIBTOOL])
|
||||
m4trace:configure.ac:83: -1- AC_SUBST_TRACE([LIBTOOL])
|
||||
m4trace:configure.ac:83: -1- m4_pattern_allow([^LIBTOOL$])
|
||||
m4trace:configure.ac:83: -1- AC_SUBST([SED])
|
||||
m4trace:configure.ac:83: -1- AC_SUBST_TRACE([SED])
|
||||
m4trace:configure.ac:83: -1- m4_pattern_allow([^SED$])
|
||||
m4trace:configure.ac:83: -1- AC_SUBST([GREP])
|
||||
m4trace:configure.ac:83: -1- AC_SUBST_TRACE([GREP])
|
||||
m4trace:configure.ac:83: -1- m4_pattern_allow([^GREP$])
|
||||
m4trace:configure.ac:83: -1- AC_SUBST([EGREP])
|
||||
m4trace:configure.ac:83: -1- AC_SUBST_TRACE([EGREP])
|
||||
m4trace:configure.ac:83: -1- m4_pattern_allow([^EGREP$])
|
||||
m4trace:configure.ac:83: -1- AC_SUBST([FGREP])
|
||||
m4trace:configure.ac:83: -1- AC_SUBST_TRACE([FGREP])
|
||||
m4trace:configure.ac:83: -1- m4_pattern_allow([^FGREP$])
|
||||
m4trace:configure.ac:83: -1- AC_SUBST([GREP])
|
||||
m4trace:configure.ac:83: -1- AC_SUBST_TRACE([GREP])
|
||||
m4trace:configure.ac:83: -1- m4_pattern_allow([^GREP$])
|
||||
m4trace:configure.ac:83: -1- AC_SUBST([LD])
|
||||
m4trace:configure.ac:83: -1- AC_SUBST_TRACE([LD])
|
||||
m4trace:configure.ac:83: -1- m4_pattern_allow([^LD$])
|
||||
m4trace:configure.ac:83: -1- AC_SUBST([DUMPBIN])
|
||||
m4trace:configure.ac:83: -1- AC_SUBST_TRACE([DUMPBIN])
|
||||
m4trace:configure.ac:83: -1- m4_pattern_allow([^DUMPBIN$])
|
||||
m4trace:configure.ac:83: -1- AC_SUBST([ac_ct_DUMPBIN])
|
||||
m4trace:configure.ac:83: -1- AC_SUBST_TRACE([ac_ct_DUMPBIN])
|
||||
m4trace:configure.ac:83: -1- m4_pattern_allow([^ac_ct_DUMPBIN$])
|
||||
m4trace:configure.ac:83: -1- AC_SUBST([DUMPBIN])
|
||||
m4trace:configure.ac:83: -1- AC_SUBST_TRACE([DUMPBIN])
|
||||
m4trace:configure.ac:83: -1- m4_pattern_allow([^DUMPBIN$])
|
||||
m4trace:configure.ac:83: -1- AC_SUBST([NM])
|
||||
m4trace:configure.ac:83: -1- AC_SUBST_TRACE([NM])
|
||||
m4trace:configure.ac:83: -1- m4_pattern_allow([^NM$])
|
||||
m4trace:configure.ac:83: -1- AC_SUBST([LN_S], [$as_ln_s])
|
||||
m4trace:configure.ac:83: -1- AC_SUBST_TRACE([LN_S])
|
||||
m4trace:configure.ac:83: -1- m4_pattern_allow([^LN_S$])
|
||||
m4trace:configure.ac:83: -1- AC_SUBST([FILECMD])
|
||||
m4trace:configure.ac:83: -1- AC_SUBST_TRACE([FILECMD])
|
||||
m4trace:configure.ac:83: -1- m4_pattern_allow([^FILECMD$])
|
||||
m4trace:configure.ac:83: -1- AC_SUBST([OBJDUMP])
|
||||
m4trace:configure.ac:83: -1- AC_SUBST_TRACE([OBJDUMP])
|
||||
m4trace:configure.ac:83: -1- m4_pattern_allow([^OBJDUMP$])
|
||||
m4trace:configure.ac:83: -1- AC_SUBST([OBJDUMP])
|
||||
m4trace:configure.ac:83: -1- AC_SUBST_TRACE([OBJDUMP])
|
||||
m4trace:configure.ac:83: -1- m4_pattern_allow([^OBJDUMP$])
|
||||
m4trace:configure.ac:83: -1- AC_SUBST([DLLTOOL])
|
||||
m4trace:configure.ac:83: -1- AC_SUBST_TRACE([DLLTOOL])
|
||||
m4trace:configure.ac:83: -1- m4_pattern_allow([^DLLTOOL$])
|
||||
m4trace:configure.ac:83: -1- AC_SUBST([DLLTOOL])
|
||||
m4trace:configure.ac:83: -1- AC_SUBST_TRACE([DLLTOOL])
|
||||
m4trace:configure.ac:83: -1- m4_pattern_allow([^DLLTOOL$])
|
||||
m4trace:configure.ac:83: -1- AC_SUBST([AR])
|
||||
m4trace:configure.ac:83: -1- AC_SUBST_TRACE([AR])
|
||||
m4trace:configure.ac:83: -1- m4_pattern_allow([^AR$])
|
||||
m4trace:configure.ac:83: -1- AC_SUBST([ac_ct_AR])
|
||||
m4trace:configure.ac:83: -1- AC_SUBST_TRACE([ac_ct_AR])
|
||||
m4trace:configure.ac:83: -1- m4_pattern_allow([^ac_ct_AR$])
|
||||
m4trace:configure.ac:83: -1- AC_SUBST([STRIP])
|
||||
m4trace:configure.ac:83: -1- AC_SUBST_TRACE([STRIP])
|
||||
m4trace:configure.ac:83: -1- m4_pattern_allow([^STRIP$])
|
||||
m4trace:configure.ac:83: -1- AC_SUBST([RANLIB])
|
||||
m4trace:configure.ac:83: -1- AC_SUBST_TRACE([RANLIB])
|
||||
m4trace:configure.ac:83: -1- m4_pattern_allow([^RANLIB$])
|
||||
m4trace:configure.ac:83: -1- m4_pattern_allow([LT_OBJDIR])
|
||||
m4trace:configure.ac:83: -1- AC_DEFINE_TRACE_LITERAL([LT_OBJDIR])
|
||||
m4trace:configure.ac:83: -1- m4_pattern_allow([^LT_OBJDIR$])
|
||||
m4trace:configure.ac:83: -1- AH_OUTPUT([LT_OBJDIR], [/* Define to the sub-directory where libtool stores uninstalled libraries. */
|
||||
@%:@undef LT_OBJDIR])
|
||||
m4trace:configure.ac:83: -1- LT_SUPPORTED_TAG([CC])
|
||||
m4trace:configure.ac:83: -1- AC_SUBST([MANIFEST_TOOL])
|
||||
m4trace:configure.ac:83: -1- AC_SUBST_TRACE([MANIFEST_TOOL])
|
||||
m4trace:configure.ac:83: -1- m4_pattern_allow([^MANIFEST_TOOL$])
|
||||
m4trace:configure.ac:83: -1- AC_SUBST([DSYMUTIL])
|
||||
m4trace:configure.ac:83: -1- AC_SUBST_TRACE([DSYMUTIL])
|
||||
m4trace:configure.ac:83: -1- m4_pattern_allow([^DSYMUTIL$])
|
||||
m4trace:configure.ac:83: -1- AC_SUBST([NMEDIT])
|
||||
m4trace:configure.ac:83: -1- AC_SUBST_TRACE([NMEDIT])
|
||||
m4trace:configure.ac:83: -1- m4_pattern_allow([^NMEDIT$])
|
||||
m4trace:configure.ac:83: -1- AC_SUBST([LIPO])
|
||||
m4trace:configure.ac:83: -1- AC_SUBST_TRACE([LIPO])
|
||||
m4trace:configure.ac:83: -1- m4_pattern_allow([^LIPO$])
|
||||
m4trace:configure.ac:83: -1- AC_SUBST([OTOOL])
|
||||
m4trace:configure.ac:83: -1- AC_SUBST_TRACE([OTOOL])
|
||||
m4trace:configure.ac:83: -1- m4_pattern_allow([^OTOOL$])
|
||||
m4trace:configure.ac:83: -1- AC_SUBST([OTOOL64])
|
||||
m4trace:configure.ac:83: -1- AC_SUBST_TRACE([OTOOL64])
|
||||
m4trace:configure.ac:83: -1- m4_pattern_allow([^OTOOL64$])
|
||||
m4trace:configure.ac:83: -1- AC_SUBST([LT_SYS_LIBRARY_PATH])
|
||||
m4trace:configure.ac:83: -1- AC_SUBST_TRACE([LT_SYS_LIBRARY_PATH])
|
||||
m4trace:configure.ac:83: -1- m4_pattern_allow([^LT_SYS_LIBRARY_PATH$])
|
||||
m4trace:configure.ac:83: -1- AH_OUTPUT([HAVE_DLFCN_H], [/* Define to 1 if you have the <dlfcn.h> header file. */
|
||||
@%:@undef HAVE_DLFCN_H])
|
||||
m4trace:configure.ac:83: -1- AH_OUTPUT([HAVE_STDIO_H], [/* Define to 1 if you have the <stdio.h> header file. */
|
||||
@%:@undef HAVE_STDIO_H])
|
||||
m4trace:configure.ac:83: -1- AH_OUTPUT([HAVE_STDLIB_H], [/* Define to 1 if you have the <stdlib.h> header file. */
|
||||
@%:@undef HAVE_STDLIB_H])
|
||||
m4trace:configure.ac:83: -1- AH_OUTPUT([HAVE_STRING_H], [/* Define to 1 if you have the <string.h> header file. */
|
||||
@%:@undef HAVE_STRING_H])
|
||||
m4trace:configure.ac:83: -1- AH_OUTPUT([HAVE_INTTYPES_H], [/* Define to 1 if you have the <inttypes.h> header file. */
|
||||
@%:@undef HAVE_INTTYPES_H])
|
||||
m4trace:configure.ac:83: -1- AH_OUTPUT([HAVE_STDINT_H], [/* Define to 1 if you have the <stdint.h> header file. */
|
||||
@%:@undef HAVE_STDINT_H])
|
||||
m4trace:configure.ac:83: -1- AH_OUTPUT([HAVE_STRINGS_H], [/* Define to 1 if you have the <strings.h> header file. */
|
||||
@%:@undef HAVE_STRINGS_H])
|
||||
m4trace:configure.ac:83: -1- AH_OUTPUT([HAVE_SYS_STAT_H], [/* Define to 1 if you have the <sys/stat.h> header file. */
|
||||
@%:@undef HAVE_SYS_STAT_H])
|
||||
m4trace:configure.ac:83: -1- AH_OUTPUT([HAVE_SYS_TYPES_H], [/* Define to 1 if you have the <sys/types.h> header file. */
|
||||
@%:@undef HAVE_SYS_TYPES_H])
|
||||
m4trace:configure.ac:83: -1- AH_OUTPUT([HAVE_UNISTD_H], [/* Define to 1 if you have the <unistd.h> header file. */
|
||||
@%:@undef HAVE_UNISTD_H])
|
||||
m4trace:configure.ac:83: -1- AC_DEFINE_TRACE_LITERAL([STDC_HEADERS])
|
||||
m4trace:configure.ac:83: -1- m4_pattern_allow([^STDC_HEADERS$])
|
||||
m4trace:configure.ac:83: -1- AH_OUTPUT([STDC_HEADERS], [/* Define to 1 if all of the C89 standard headers exist (not just the ones
|
||||
required in a freestanding environment). This macro is provided for
|
||||
backward compatibility; new code need not use it. */
|
||||
@%:@undef STDC_HEADERS])
|
||||
m4trace:configure.ac:83: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DLFCN_H])
|
||||
m4trace:configure.ac:83: -1- m4_pattern_allow([^HAVE_DLFCN_H$])
|
||||
m4trace:configure.ac:84: -1- AC_CONFIG_FILES([Makefile])
|
||||
m4trace:configure.ac:85: -1- AC_SUBST([LIB@&t@OBJS], [$ac_libobjs])
|
||||
m4trace:configure.ac:85: -1- AC_SUBST_TRACE([LIB@&t@OBJS])
|
||||
m4trace:configure.ac:85: -1- m4_pattern_allow([^LIB@&t@OBJS$])
|
||||
m4trace:configure.ac:85: -1- AC_SUBST([LTLIBOBJS], [$ac_ltlibobjs])
|
||||
m4trace:configure.ac:85: -1- AC_SUBST_TRACE([LTLIBOBJS])
|
||||
m4trace:configure.ac:85: -1- m4_pattern_allow([^LTLIBOBJS$])
|
||||
m4trace:configure.ac:85: -1- AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"])
|
||||
m4trace:configure.ac:85: -1- AC_SUBST([am__EXEEXT_TRUE])
|
||||
m4trace:configure.ac:85: -1- AC_SUBST_TRACE([am__EXEEXT_TRUE])
|
||||
m4trace:configure.ac:85: -1- m4_pattern_allow([^am__EXEEXT_TRUE$])
|
||||
m4trace:configure.ac:85: -1- AC_SUBST([am__EXEEXT_FALSE])
|
||||
m4trace:configure.ac:85: -1- AC_SUBST_TRACE([am__EXEEXT_FALSE])
|
||||
m4trace:configure.ac:85: -1- m4_pattern_allow([^am__EXEEXT_FALSE$])
|
||||
m4trace:configure.ac:85: -1- _AM_SUBST_NOTMAKE([am__EXEEXT_TRUE])
|
||||
m4trace:configure.ac:85: -1- _AM_SUBST_NOTMAKE([am__EXEEXT_FALSE])
|
||||
m4trace:configure.ac:85: -1- AC_SUBST_TRACE([top_builddir])
|
||||
m4trace:configure.ac:85: -1- AC_SUBST_TRACE([top_build_prefix])
|
||||
m4trace:configure.ac:85: -1- AC_SUBST_TRACE([srcdir])
|
||||
m4trace:configure.ac:85: -1- AC_SUBST_TRACE([abs_srcdir])
|
||||
m4trace:configure.ac:85: -1- AC_SUBST_TRACE([top_srcdir])
|
||||
m4trace:configure.ac:85: -1- AC_SUBST_TRACE([abs_top_srcdir])
|
||||
m4trace:configure.ac:85: -1- AC_SUBST_TRACE([builddir])
|
||||
m4trace:configure.ac:85: -1- AC_SUBST_TRACE([abs_builddir])
|
||||
m4trace:configure.ac:85: -1- AC_SUBST_TRACE([abs_top_builddir])
|
||||
m4trace:configure.ac:85: -1- AC_SUBST_TRACE([INSTALL])
|
||||
m4trace:configure.ac:85: -1- AC_SUBST_TRACE([MKDIR_P])
|
||||
m4trace:configure.ac:85: -1- AC_REQUIRE_AUX_FILE([ltmain.sh])
|
||||
348
lisp/zmq/src/compile
Executable file
348
lisp/zmq/src/compile
Executable file
@@ -0,0 +1,348 @@
|
||||
#! /bin/sh
|
||||
# Wrapper for compilers which do not understand '-c -o'.
|
||||
|
||||
scriptversion=2018-03-07.03; # UTC
|
||||
|
||||
# Copyright (C) 1999-2021 Free Software Foundation, Inc.
|
||||
# Written by Tom Tromey <tromey@cygnus.com>.
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 2, or (at your option)
|
||||
# any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
|
||||
# As a special exception to the GNU General Public License, if you
|
||||
# distribute this file as part of a program that contains a
|
||||
# configuration script generated by Autoconf, you may include it under
|
||||
# the same distribution terms that you use for the rest of that program.
|
||||
|
||||
# This file is maintained in Automake, please report
|
||||
# bugs to <bug-automake@gnu.org> or send patches to
|
||||
# <automake-patches@gnu.org>.
|
||||
|
||||
nl='
|
||||
'
|
||||
|
||||
# We need space, tab and new line, in precisely that order. Quoting is
|
||||
# there to prevent tools from complaining about whitespace usage.
|
||||
IFS=" "" $nl"
|
||||
|
||||
file_conv=
|
||||
|
||||
# func_file_conv build_file lazy
|
||||
# Convert a $build file to $host form and store it in $file
|
||||
# Currently only supports Windows hosts. If the determined conversion
|
||||
# type is listed in (the comma separated) LAZY, no conversion will
|
||||
# take place.
|
||||
func_file_conv ()
|
||||
{
|
||||
file=$1
|
||||
case $file in
|
||||
/ | /[!/]*) # absolute file, and not a UNC file
|
||||
if test -z "$file_conv"; then
|
||||
# lazily determine how to convert abs files
|
||||
case `uname -s` in
|
||||
MINGW*)
|
||||
file_conv=mingw
|
||||
;;
|
||||
CYGWIN* | MSYS*)
|
||||
file_conv=cygwin
|
||||
;;
|
||||
*)
|
||||
file_conv=wine
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
case $file_conv/,$2, in
|
||||
*,$file_conv,*)
|
||||
;;
|
||||
mingw/*)
|
||||
file=`cmd //C echo "$file " | sed -e 's/"\(.*\) " *$/\1/'`
|
||||
;;
|
||||
cygwin/* | msys/*)
|
||||
file=`cygpath -m "$file" || echo "$file"`
|
||||
;;
|
||||
wine/*)
|
||||
file=`winepath -w "$file" || echo "$file"`
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
# func_cl_dashL linkdir
|
||||
# Make cl look for libraries in LINKDIR
|
||||
func_cl_dashL ()
|
||||
{
|
||||
func_file_conv "$1"
|
||||
if test -z "$lib_path"; then
|
||||
lib_path=$file
|
||||
else
|
||||
lib_path="$lib_path;$file"
|
||||
fi
|
||||
linker_opts="$linker_opts -LIBPATH:$file"
|
||||
}
|
||||
|
||||
# func_cl_dashl library
|
||||
# Do a library search-path lookup for cl
|
||||
func_cl_dashl ()
|
||||
{
|
||||
lib=$1
|
||||
found=no
|
||||
save_IFS=$IFS
|
||||
IFS=';'
|
||||
for dir in $lib_path $LIB
|
||||
do
|
||||
IFS=$save_IFS
|
||||
if $shared && test -f "$dir/$lib.dll.lib"; then
|
||||
found=yes
|
||||
lib=$dir/$lib.dll.lib
|
||||
break
|
||||
fi
|
||||
if test -f "$dir/$lib.lib"; then
|
||||
found=yes
|
||||
lib=$dir/$lib.lib
|
||||
break
|
||||
fi
|
||||
if test -f "$dir/lib$lib.a"; then
|
||||
found=yes
|
||||
lib=$dir/lib$lib.a
|
||||
break
|
||||
fi
|
||||
done
|
||||
IFS=$save_IFS
|
||||
|
||||
if test "$found" != yes; then
|
||||
lib=$lib.lib
|
||||
fi
|
||||
}
|
||||
|
||||
# func_cl_wrapper cl arg...
|
||||
# Adjust compile command to suit cl
|
||||
func_cl_wrapper ()
|
||||
{
|
||||
# Assume a capable shell
|
||||
lib_path=
|
||||
shared=:
|
||||
linker_opts=
|
||||
for arg
|
||||
do
|
||||
if test -n "$eat"; then
|
||||
eat=
|
||||
else
|
||||
case $1 in
|
||||
-o)
|
||||
# configure might choose to run compile as 'compile cc -o foo foo.c'.
|
||||
eat=1
|
||||
case $2 in
|
||||
*.o | *.[oO][bB][jJ])
|
||||
func_file_conv "$2"
|
||||
set x "$@" -Fo"$file"
|
||||
shift
|
||||
;;
|
||||
*)
|
||||
func_file_conv "$2"
|
||||
set x "$@" -Fe"$file"
|
||||
shift
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
-I)
|
||||
eat=1
|
||||
func_file_conv "$2" mingw
|
||||
set x "$@" -I"$file"
|
||||
shift
|
||||
;;
|
||||
-I*)
|
||||
func_file_conv "${1#-I}" mingw
|
||||
set x "$@" -I"$file"
|
||||
shift
|
||||
;;
|
||||
-l)
|
||||
eat=1
|
||||
func_cl_dashl "$2"
|
||||
set x "$@" "$lib"
|
||||
shift
|
||||
;;
|
||||
-l*)
|
||||
func_cl_dashl "${1#-l}"
|
||||
set x "$@" "$lib"
|
||||
shift
|
||||
;;
|
||||
-L)
|
||||
eat=1
|
||||
func_cl_dashL "$2"
|
||||
;;
|
||||
-L*)
|
||||
func_cl_dashL "${1#-L}"
|
||||
;;
|
||||
-static)
|
||||
shared=false
|
||||
;;
|
||||
-Wl,*)
|
||||
arg=${1#-Wl,}
|
||||
save_ifs="$IFS"; IFS=','
|
||||
for flag in $arg; do
|
||||
IFS="$save_ifs"
|
||||
linker_opts="$linker_opts $flag"
|
||||
done
|
||||
IFS="$save_ifs"
|
||||
;;
|
||||
-Xlinker)
|
||||
eat=1
|
||||
linker_opts="$linker_opts $2"
|
||||
;;
|
||||
-*)
|
||||
set x "$@" "$1"
|
||||
shift
|
||||
;;
|
||||
*.cc | *.CC | *.cxx | *.CXX | *.[cC]++)
|
||||
func_file_conv "$1"
|
||||
set x "$@" -Tp"$file"
|
||||
shift
|
||||
;;
|
||||
*.c | *.cpp | *.CPP | *.lib | *.LIB | *.Lib | *.OBJ | *.obj | *.[oO])
|
||||
func_file_conv "$1" mingw
|
||||
set x "$@" "$file"
|
||||
shift
|
||||
;;
|
||||
*)
|
||||
set x "$@" "$1"
|
||||
shift
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
shift
|
||||
done
|
||||
if test -n "$linker_opts"; then
|
||||
linker_opts="-link$linker_opts"
|
||||
fi
|
||||
exec "$@" $linker_opts
|
||||
exit 1
|
||||
}
|
||||
|
||||
eat=
|
||||
|
||||
case $1 in
|
||||
'')
|
||||
echo "$0: No command. Try '$0 --help' for more information." 1>&2
|
||||
exit 1;
|
||||
;;
|
||||
-h | --h*)
|
||||
cat <<\EOF
|
||||
Usage: compile [--help] [--version] PROGRAM [ARGS]
|
||||
|
||||
Wrapper for compilers which do not understand '-c -o'.
|
||||
Remove '-o dest.o' from ARGS, run PROGRAM with the remaining
|
||||
arguments, and rename the output as expected.
|
||||
|
||||
If you are trying to build a whole package this is not the
|
||||
right script to run: please start by reading the file 'INSTALL'.
|
||||
|
||||
Report bugs to <bug-automake@gnu.org>.
|
||||
EOF
|
||||
exit $?
|
||||
;;
|
||||
-v | --v*)
|
||||
echo "compile $scriptversion"
|
||||
exit $?
|
||||
;;
|
||||
cl | *[/\\]cl | cl.exe | *[/\\]cl.exe | \
|
||||
icl | *[/\\]icl | icl.exe | *[/\\]icl.exe )
|
||||
func_cl_wrapper "$@" # Doesn't return...
|
||||
;;
|
||||
esac
|
||||
|
||||
ofile=
|
||||
cfile=
|
||||
|
||||
for arg
|
||||
do
|
||||
if test -n "$eat"; then
|
||||
eat=
|
||||
else
|
||||
case $1 in
|
||||
-o)
|
||||
# configure might choose to run compile as 'compile cc -o foo foo.c'.
|
||||
# So we strip '-o arg' only if arg is an object.
|
||||
eat=1
|
||||
case $2 in
|
||||
*.o | *.obj)
|
||||
ofile=$2
|
||||
;;
|
||||
*)
|
||||
set x "$@" -o "$2"
|
||||
shift
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
*.c)
|
||||
cfile=$1
|
||||
set x "$@" "$1"
|
||||
shift
|
||||
;;
|
||||
*)
|
||||
set x "$@" "$1"
|
||||
shift
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
shift
|
||||
done
|
||||
|
||||
if test -z "$ofile" || test -z "$cfile"; then
|
||||
# If no '-o' option was seen then we might have been invoked from a
|
||||
# pattern rule where we don't need one. That is ok -- this is a
|
||||
# normal compilation that the losing compiler can handle. If no
|
||||
# '.c' file was seen then we are probably linking. That is also
|
||||
# ok.
|
||||
exec "$@"
|
||||
fi
|
||||
|
||||
# Name of file we expect compiler to create.
|
||||
cofile=`echo "$cfile" | sed 's|^.*[\\/]||; s|^[a-zA-Z]:||; s/\.c$/.o/'`
|
||||
|
||||
# Create the lock directory.
|
||||
# Note: use '[/\\:.-]' here to ensure that we don't use the same name
|
||||
# that we are using for the .o file. Also, base the name on the expected
|
||||
# object file name, since that is what matters with a parallel build.
|
||||
lockdir=`echo "$cofile" | sed -e 's|[/\\:.-]|_|g'`.d
|
||||
while true; do
|
||||
if mkdir "$lockdir" >/dev/null 2>&1; then
|
||||
break
|
||||
fi
|
||||
sleep 1
|
||||
done
|
||||
# FIXME: race condition here if user kills between mkdir and trap.
|
||||
trap "rmdir '$lockdir'; exit 1" 1 2 15
|
||||
|
||||
# Run the compile.
|
||||
"$@"
|
||||
ret=$?
|
||||
|
||||
if test -f "$cofile"; then
|
||||
test "$cofile" = "$ofile" || mv "$cofile" "$ofile"
|
||||
elif test -f "${cofile}bj"; then
|
||||
test "${cofile}bj" = "$ofile" || mv "${cofile}bj" "$ofile"
|
||||
fi
|
||||
|
||||
rmdir "$lockdir"
|
||||
exit $ret
|
||||
|
||||
# Local Variables:
|
||||
# mode: shell-script
|
||||
# sh-indentation: 2
|
||||
# eval: (add-hook 'before-save-hook 'time-stamp)
|
||||
# time-stamp-start: "scriptversion="
|
||||
# time-stamp-format: "%:y-%02m-%02d.%02H"
|
||||
# time-stamp-time-zone: "UTC0"
|
||||
# time-stamp-end: "; # UTC"
|
||||
# End:
|
||||
1748
lisp/zmq/src/config.guess
vendored
Executable file
1748
lisp/zmq/src/config.guess
vendored
Executable file
File diff suppressed because it is too large
Load Diff
684
lisp/zmq/src/config.log
Normal file
684
lisp/zmq/src/config.log
Normal file
@@ -0,0 +1,684 @@
|
||||
This file contains any messages produced by compilers while
|
||||
running configure, to aid debugging if configure makes a mistake.
|
||||
|
||||
It was created by emacs-zmq configure 1.0.0, which was
|
||||
generated by GNU Autoconf 2.72. Invocation command line was
|
||||
|
||||
$ ./configure CPPFLAGS= --prefix=/home/daniel/repos/emacs-conf/lisp/zmq --enable-shared=emacs-zmq --enable-static=zeromq --without-docs --enable-drafts=yes --enable-libunwind=no --disable-curve-keygen --disable-perf --disable-eventfd
|
||||
|
||||
## --------- ##
|
||||
## Platform. ##
|
||||
## --------- ##
|
||||
|
||||
hostname = daniel-pc
|
||||
uname -m = x86_64
|
||||
uname -r = 6.8.8-arch1-1
|
||||
uname -s = Linux
|
||||
uname -v = #1 SMP PREEMPT_DYNAMIC Sun, 28 Apr 2024 15:59:47 +0000
|
||||
|
||||
/usr/bin/uname -p = unknown
|
||||
/bin/uname -X = unknown
|
||||
|
||||
/bin/arch = unknown
|
||||
/usr/bin/arch -k = unknown
|
||||
/usr/convex/getsysinfo = unknown
|
||||
/usr/bin/hostinfo = unknown
|
||||
/bin/machine = unknown
|
||||
/usr/bin/oslevel = unknown
|
||||
/bin/universe = unknown
|
||||
|
||||
PATH: /home/daniel/.basher/cellar/bin/
|
||||
PATH: /home/daniel/.basher/bin/
|
||||
PATH: /usr/local/go/bin/
|
||||
PATH: /home/daniel/Sync/dotfiles/aa-pc/.local/bin/
|
||||
PATH: /home/daniel/Sync/dotfiles/.local/bin/
|
||||
PATH: /home/daniel/.local/bin/
|
||||
PATH: /home/daniel/.bin/
|
||||
PATH: /usr/sbin/
|
||||
PATH: /sbin/
|
||||
PATH: /usr/local/sbin/
|
||||
PATH: /usr/local/bin/
|
||||
PATH: /usr/bin/
|
||||
PATH: /opt/cuda/bin/
|
||||
PATH: /opt/cuda/nsight_compute/
|
||||
PATH: /opt/cuda/nsight_systems/bin/
|
||||
PATH: /home/daniel/.dotnet/tools/
|
||||
PATH: /usr/lib/jvm/default/bin/
|
||||
PATH: /usr/bin/site_perl/
|
||||
PATH: /usr/bin/vendor_perl/
|
||||
PATH: /usr/bin/core_perl/
|
||||
PATH: /home/daniel/salome_meca/appli_V2020.0.1_universal_universal/
|
||||
PATH: /home/daniel/go/bin/
|
||||
|
||||
|
||||
## ----------- ##
|
||||
## Core tests. ##
|
||||
## ----------- ##
|
||||
|
||||
configure:2397: looking for aux files: ltmain.sh config.guess config.sub ar-lib compile missing install-sh
|
||||
configure:2410: trying ./
|
||||
configure:2439: ./ltmain.sh found
|
||||
configure:2439: ./config.guess found
|
||||
configure:2439: ./config.sub found
|
||||
configure:2439: ./ar-lib found
|
||||
configure:2439: ./compile found
|
||||
configure:2439: ./missing found
|
||||
configure:2421: ./install-sh found
|
||||
configure:2572: checking for a BSD-compatible install
|
||||
configure:2646: result: /usr/bin/install -c
|
||||
configure:2657: checking whether build environment is sane
|
||||
configure:2712: result: yes
|
||||
configure:2873: checking for a race-free mkdir -p
|
||||
configure:2916: result: /usr/sbin/mkdir -p
|
||||
configure:2923: checking for gawk
|
||||
configure:2944: found /usr/sbin/gawk
|
||||
configure:2956: result: gawk
|
||||
configure:2967: checking whether make sets $(MAKE)
|
||||
configure:2991: result: yes
|
||||
configure:3021: checking whether make supports nested variables
|
||||
configure:3040: result: yes
|
||||
configure:3239: checking for gcc
|
||||
configure:3260: found /usr/sbin/gcc
|
||||
configure:3272: result: gcc
|
||||
configure:3631: checking for C compiler version
|
||||
configure:3640: gcc --version >&5
|
||||
gcc (GCC) 13.2.1 20240417
|
||||
Copyright (C) 2023 Free Software Foundation, Inc.
|
||||
This is free software; see the source for copying conditions. There is NO
|
||||
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||
|
||||
configure:3651: $? = 0
|
||||
configure:3640: gcc -v >&5
|
||||
Using built-in specs.
|
||||
COLLECT_GCC=gcc
|
||||
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-pc-linux-gnu/13.2.1/lto-wrapper
|
||||
Target: x86_64-pc-linux-gnu
|
||||
Configured with: /build/gcc/src/gcc/configure --enable-languages=ada,c,c++,d,fortran,go,lto,m2,objc,obj-c++ --enable-bootstrap --prefix=/usr --libdir=/usr/lib --libexecdir=/usr/lib --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=https://gitlab.archlinux.org/archlinux/packaging/packages/gcc/-/issues --with-build-config=bootstrap-lto --with-linker-hash-style=gnu --with-system-zlib --enable-__cxa_atexit --enable-cet=auto --enable-checking=release --enable-clocale=gnu --enable-default-pie --enable-default-ssp --enable-gnu-indirect-function --enable-gnu-unique-object --enable-libstdcxx-backtrace --enable-link-serialization=1 --enable-linker-build-id --enable-lto --enable-multilib --enable-plugin --enable-shared --enable-threads=posix --disable-libssp --disable-libstdcxx-pch --disable-werror
|
||||
Thread model: posix
|
||||
Supported LTO compression algorithms: zlib zstd
|
||||
gcc version 13.2.1 20240417 (GCC)
|
||||
configure:3651: $? = 0
|
||||
configure:3640: gcc -V >&5
|
||||
gcc: error: unrecognized command-line option '-V'
|
||||
gcc: fatal error: no input files
|
||||
compilation terminated.
|
||||
configure:3651: $? = 1
|
||||
configure:3640: gcc -qversion >&5
|
||||
gcc: error: unrecognized command-line option '-qversion'; did you mean '--version'?
|
||||
gcc: fatal error: no input files
|
||||
compilation terminated.
|
||||
configure:3651: $? = 1
|
||||
configure:3640: gcc -version >&5
|
||||
gcc: error: unrecognized command-line option '-version'
|
||||
gcc: fatal error: no input files
|
||||
compilation terminated.
|
||||
configure:3651: $? = 1
|
||||
configure:3671: checking whether the C compiler works
|
||||
configure:3693: gcc conftest.c >&5
|
||||
configure:3697: $? = 0
|
||||
configure:3748: result: yes
|
||||
configure:3752: checking for C compiler default output file name
|
||||
configure:3754: result: a.out
|
||||
configure:3760: checking for suffix of executables
|
||||
configure:3767: gcc -o conftest conftest.c >&5
|
||||
configure:3771: $? = 0
|
||||
configure:3795: result:
|
||||
configure:3819: checking whether we are cross compiling
|
||||
configure:3827: gcc -o conftest conftest.c >&5
|
||||
configure:3831: $? = 0
|
||||
configure:3838: ./conftest
|
||||
configure:3842: $? = 0
|
||||
configure:3857: result: no
|
||||
configure:3863: checking for suffix of object files
|
||||
configure:3886: gcc -c conftest.c >&5
|
||||
configure:3890: $? = 0
|
||||
configure:3914: result: o
|
||||
configure:3918: checking whether the compiler supports GNU C
|
||||
configure:3938: gcc -c conftest.c >&5
|
||||
configure:3938: $? = 0
|
||||
configure:3950: result: yes
|
||||
configure:3961: checking whether gcc accepts -g
|
||||
configure:3982: gcc -c -g conftest.c >&5
|
||||
configure:3982: $? = 0
|
||||
configure:4029: result: yes
|
||||
configure:4049: checking for gcc option to enable C11 features
|
||||
configure:4064: gcc -c -g -O2 conftest.c >&5
|
||||
configure:4064: $? = 0
|
||||
configure:4083: result: none needed
|
||||
configure:4207: checking whether gcc understands -c and -o together
|
||||
configure:4230: gcc -c conftest.c -o conftest2.o
|
||||
configure:4233: $? = 0
|
||||
configure:4230: gcc -c conftest.c -o conftest2.o
|
||||
configure:4233: $? = 0
|
||||
configure:4246: result: yes
|
||||
configure:4266: checking whether make supports the include directive
|
||||
configure:4281: make -f confmf.GNU && cat confinc.out
|
||||
make[2]: Entering directory '/home/daniel/repos/emacs-conf/lisp/zmq/src'
|
||||
make[2]: Leaving directory '/home/daniel/repos/emacs-conf/lisp/zmq/src'
|
||||
this is the am__doit target
|
||||
configure:4284: $? = 0
|
||||
configure:4303: result: yes (GNU style)
|
||||
configure:4329: checking dependency style of gcc
|
||||
configure:4442: result: gcc3
|
||||
configure:4514: checking for ar
|
||||
configure:4535: found /usr/sbin/ar
|
||||
configure:4547: result: ar
|
||||
configure:4573: checking the archiver (ar) interface
|
||||
configure:4590: gcc -c -g -O2 conftest.c >&5
|
||||
configure:4590: $? = 0
|
||||
configure:4593: ar cru libconftest.a conftest.o >&5
|
||||
ar: `u' modifier ignored since `D' is the default (see `U')
|
||||
configure:4596: $? = 0
|
||||
configure:4625: result: ar
|
||||
configure:4651: checking build system type
|
||||
configure:4667: result: x86_64-pc-linux-gnu
|
||||
configure:4687: checking host system type
|
||||
configure:4702: result: x86_64-pc-linux-gnu
|
||||
configure:4783: checking for pkg-config
|
||||
configure:4806: found /usr/sbin/pkg-config
|
||||
configure:4819: result: /usr/sbin/pkg-config
|
||||
configure:4844: checking pkg-config is at least version 0.9.0
|
||||
configure:4847: result: yes
|
||||
configure:4857: checking for libzmq
|
||||
configure:4864: $PKG_CONFIG --exists --print-errors "libzmq"
|
||||
configure:4867: $? = 0
|
||||
configure:4881: $PKG_CONFIG --exists --print-errors "libzmq"
|
||||
configure:4884: $? = 0
|
||||
configure:4930: result: yes
|
||||
configure:4933: checking for library containing zmq_poller_new
|
||||
configure:4969: gcc -o conftest -g -O2 conftest.c >&5
|
||||
/usr/sbin/ld: /tmp/ccL2xWUv.o: in function `main':
|
||||
/home/daniel/repos/emacs-conf/lisp/zmq/src/conftest.c:25:(.text.startup+0x5): undefined reference to `zmq_poller_new'
|
||||
collect2: error: ld returned 1 exit status
|
||||
configure:4969: $? = 1
|
||||
configure: failed program was:
|
||||
| /* confdefs.h */
|
||||
| #define PACKAGE_NAME "emacs-zmq"
|
||||
| #define PACKAGE_TARNAME "emacs-zmq"
|
||||
| #define PACKAGE_VERSION "1.0.0"
|
||||
| #define PACKAGE_STRING "emacs-zmq 1.0.0"
|
||||
| #define PACKAGE_BUGREPORT "nathanielnicandro@gmail.com"
|
||||
| #define PACKAGE_URL ""
|
||||
| #define PACKAGE "emacs-zmq"
|
||||
| #define VERSION "1.0.0"
|
||||
| /* end confdefs.h. */
|
||||
|
|
||||
| /* Override any GCC internal prototype to avoid an error.
|
||||
| Use char because int might match the return type of a GCC
|
||||
| builtin and then its argument prototype would still apply.
|
||||
| The 'extern "C"' is for builds by C++ compilers;
|
||||
| although this is not generally supported in C code supporting it here
|
||||
| has little cost and some practical benefit (sr 110532). */
|
||||
| #ifdef __cplusplus
|
||||
| extern "C"
|
||||
| #endif
|
||||
| char zmq_poller_new (void);
|
||||
| int
|
||||
| main (void)
|
||||
| {
|
||||
| return zmq_poller_new ();
|
||||
| ;
|
||||
| return 0;
|
||||
| }
|
||||
configure:4969: gcc -o conftest -g -O2 conftest.c -lzmq >&5
|
||||
configure:4969: $? = 0
|
||||
configure:4991: result: -lzmq
|
||||
configure:5136: checking how to print strings
|
||||
configure:5163: result: printf
|
||||
configure:5184: checking for a sed that does not truncate output
|
||||
configure:5256: result: /usr/sbin/sed
|
||||
configure:5274: checking for grep that handles long lines and -e
|
||||
configure:5340: result: /usr/sbin/grep
|
||||
configure:5345: checking for egrep
|
||||
configure:5415: result: /usr/sbin/grep -E
|
||||
configure:5422: checking for fgrep
|
||||
configure:5492: result: /usr/sbin/grep -F
|
||||
configure:5529: checking for ld used by gcc
|
||||
configure:5598: result: /usr/sbin/ld
|
||||
configure:5605: checking if the linker (/usr/sbin/ld) is GNU ld
|
||||
configure:5622: result: yes
|
||||
configure:5634: checking for BSD- or MS-compatible name lister (nm)
|
||||
configure:5690: result: /usr/sbin/nm -B
|
||||
configure:5832: checking the name lister (/usr/sbin/nm -B) interface
|
||||
configure:5840: gcc -c -g -O2 conftest.c >&5
|
||||
configure:5843: /usr/sbin/nm -B "conftest.o"
|
||||
configure:5846: output
|
||||
0000000000000000 B some_variable
|
||||
configure:5854: result: BSD nm
|
||||
configure:5857: checking whether ln -s works
|
||||
configure:5861: result: yes
|
||||
configure:5869: checking the maximum length of command line arguments
|
||||
configure:6002: result: 1572864
|
||||
configure:6050: checking how to convert x86_64-pc-linux-gnu file names to x86_64-pc-linux-gnu format
|
||||
configure:6092: result: func_convert_file_noop
|
||||
configure:6099: checking how to convert x86_64-pc-linux-gnu file names to toolchain format
|
||||
configure:6121: result: func_convert_file_noop
|
||||
configure:6128: checking for /usr/sbin/ld option to reload object files
|
||||
configure:6137: result: -r
|
||||
configure:6217: checking for file
|
||||
configure:6238: found /usr/sbin/file
|
||||
configure:6250: result: file
|
||||
configure:6327: checking for objdump
|
||||
configure:6348: found /usr/sbin/objdump
|
||||
configure:6360: result: objdump
|
||||
configure:6389: checking how to recognize dependent libraries
|
||||
configure:6591: result: pass_all
|
||||
configure:6682: checking for dlltool
|
||||
configure:6718: result: no
|
||||
configure:6745: checking how to associate runtime and link libraries
|
||||
configure:6774: result: printf %s\n
|
||||
configure:6926: checking for archiver @FILE support
|
||||
configure:6944: gcc -c -g -O2 conftest.c >&5
|
||||
configure:6944: $? = 0
|
||||
configure:6948: ar cr libconftest.a @conftest.lst >&5
|
||||
configure:6951: $? = 0
|
||||
configure:6956: ar cr libconftest.a @conftest.lst >&5
|
||||
ar: conftest.o: No such file or directory
|
||||
configure:6959: $? = 1
|
||||
configure:6972: result: @
|
||||
configure:7036: checking for strip
|
||||
configure:7057: found /usr/sbin/strip
|
||||
configure:7069: result: strip
|
||||
configure:7147: checking for ranlib
|
||||
configure:7168: found /usr/sbin/ranlib
|
||||
configure:7180: result: ranlib
|
||||
configure:7282: checking command to parse /usr/sbin/nm -B output from gcc object
|
||||
configure:7436: gcc -c -g -O2 conftest.c >&5
|
||||
configure:7439: $? = 0
|
||||
configure:7443: /usr/sbin/nm -B conftest.o \| /usr/sbin/sed -n -e 's/^.*[ ]\([ABCDGIRSTW][ABCDGIRSTW]*\)[ ][ ]*\([_A-Za-z][_A-Za-z0-9]*\)$/\1 \2 \2/p' | /usr/sbin/sed '/ __gnu_lto/d' \> conftest.nm
|
||||
configure:7446: $? = 0
|
||||
configure:7512: gcc -o conftest -g -O2 conftest.c conftstm.o >&5
|
||||
configure:7515: $? = 0
|
||||
configure:7554: result: ok
|
||||
configure:7601: checking for sysroot
|
||||
configure:7633: result: no
|
||||
configure:7640: checking for a working dd
|
||||
configure:7685: result: /usr/sbin/dd
|
||||
configure:7689: checking how to truncate binary pipes
|
||||
configure:7706: result: /usr/sbin/dd bs=4096 count=1
|
||||
configure:7843: gcc -c -g -O2 conftest.c >&5
|
||||
configure:7846: $? = 0
|
||||
configure:8046: checking for mt
|
||||
configure:8082: result: no
|
||||
configure:8102: checking if : is a manifest tool
|
||||
configure:8109: : '-?'
|
||||
configure:8118: result: no
|
||||
configure:8857: checking for stdio.h
|
||||
configure:8857: gcc -c -g -O2 conftest.c >&5
|
||||
configure:8857: $? = 0
|
||||
configure:8857: result: yes
|
||||
configure:8857: checking for stdlib.h
|
||||
configure:8857: gcc -c -g -O2 conftest.c >&5
|
||||
configure:8857: $? = 0
|
||||
configure:8857: result: yes
|
||||
configure:8857: checking for string.h
|
||||
configure:8857: gcc -c -g -O2 conftest.c >&5
|
||||
configure:8857: $? = 0
|
||||
configure:8857: result: yes
|
||||
configure:8857: checking for inttypes.h
|
||||
configure:8857: gcc -c -g -O2 conftest.c >&5
|
||||
configure:8857: $? = 0
|
||||
configure:8857: result: yes
|
||||
configure:8857: checking for stdint.h
|
||||
configure:8857: gcc -c -g -O2 conftest.c >&5
|
||||
configure:8857: $? = 0
|
||||
configure:8857: result: yes
|
||||
configure:8857: checking for strings.h
|
||||
configure:8857: gcc -c -g -O2 conftest.c >&5
|
||||
configure:8857: $? = 0
|
||||
configure:8857: result: yes
|
||||
configure:8857: checking for sys/stat.h
|
||||
configure:8857: gcc -c -g -O2 conftest.c >&5
|
||||
configure:8857: $? = 0
|
||||
configure:8857: result: yes
|
||||
configure:8857: checking for sys/types.h
|
||||
configure:8857: gcc -c -g -O2 conftest.c >&5
|
||||
configure:8857: $? = 0
|
||||
configure:8857: result: yes
|
||||
configure:8857: checking for unistd.h
|
||||
configure:8857: gcc -c -g -O2 conftest.c >&5
|
||||
configure:8857: $? = 0
|
||||
configure:8857: result: yes
|
||||
configure:8882: checking for dlfcn.h
|
||||
configure:8882: gcc -c -g -O2 conftest.c >&5
|
||||
configure:8882: $? = 0
|
||||
configure:8882: result: yes
|
||||
configure:9479: checking for objdir
|
||||
configure:9496: result: .libs
|
||||
configure:9762: checking if gcc supports -fno-rtti -fno-exceptions
|
||||
configure:9781: gcc -c -g -O2 -fno-rtti -fno-exceptions conftest.c >&5
|
||||
cc1: warning: command-line option '-fno-rtti' is valid for C++/D/ObjC++ but not for C
|
||||
configure:9785: $? = 0
|
||||
configure:9799: result: no
|
||||
configure:10157: checking for gcc option to produce PIC
|
||||
configure:10166: result: -fPIC -DPIC
|
||||
configure:10174: checking if gcc PIC flag -fPIC -DPIC works
|
||||
configure:10193: gcc -c -g -O2 -fPIC -DPIC -DPIC conftest.c >&5
|
||||
configure:10197: $? = 0
|
||||
configure:10211: result: yes
|
||||
configure:10240: checking if gcc static flag -static works
|
||||
configure:10270: result: no
|
||||
configure:10285: checking if gcc supports -c -o file.o
|
||||
configure:10307: gcc -c -g -O2 -o out/conftest2.o conftest.c >&5
|
||||
configure:10311: $? = 0
|
||||
configure:10334: result: yes
|
||||
configure:10342: checking if gcc supports -c -o file.o
|
||||
configure:10391: result: yes
|
||||
configure:10424: checking whether the gcc linker (/usr/sbin/ld -m elf_x86_64) supports shared libraries
|
||||
configure:11697: result: yes
|
||||
configure:11734: checking whether -lc should be explicitly linked in
|
||||
configure:11743: gcc -c -g -O2 conftest.c >&5
|
||||
configure:11746: $? = 0
|
||||
configure:11761: gcc -shared -fPIC -DPIC conftest.o -v -Wl,-soname -Wl,conftest -o conftest 2\>\&1 \| /usr/sbin/grep -lc \>/dev/null 2\>\&1
|
||||
configure:11764: $? = 0
|
||||
configure:11779: result: no
|
||||
configure:11939: checking dynamic linker characteristics
|
||||
configure:12521: gcc -o conftest -g -O2 -Wl,-rpath -Wl,/foo conftest.c -lzmq >&5
|
||||
configure:12521: $? = 0
|
||||
configure:12761: result: GNU/Linux ld.so
|
||||
configure:12883: checking how to hardcode library paths into programs
|
||||
configure:12908: result: immediate
|
||||
configure:13508: checking whether stripping libraries is possible
|
||||
configure:13517: result: yes
|
||||
configure:13559: checking if libtool supports shared libraries
|
||||
configure:13561: result: yes
|
||||
configure:13564: checking whether to build shared libraries
|
||||
configure:13589: result: yes
|
||||
configure:13592: checking whether to build static libraries
|
||||
configure:13596: result: no
|
||||
configure:13770: checking that generated files are newer than configure
|
||||
configure:13776: result: done
|
||||
configure:13807: creating ./config.status
|
||||
|
||||
## ---------------------- ##
|
||||
## Running config.status. ##
|
||||
## ---------------------- ##
|
||||
|
||||
This file was extended by emacs-zmq config.status 1.0.0, which was
|
||||
generated by GNU Autoconf 2.72. Invocation command line was
|
||||
|
||||
CONFIG_FILES =
|
||||
CONFIG_HEADERS =
|
||||
CONFIG_LINKS =
|
||||
CONFIG_COMMANDS =
|
||||
$ ./config.status
|
||||
|
||||
on daniel-pc
|
||||
|
||||
config.status:1022: creating Makefile
|
||||
config.status:1194: executing depfiles commands
|
||||
config.status:1271: cd . && sed -e '/# am--include-marker/d' Makefile | make -f - am--depfiles
|
||||
make[2]: Entering directory '/home/daniel/repos/emacs-conf/lisp/zmq/src'
|
||||
make[2]: Leaving directory '/home/daniel/repos/emacs-conf/lisp/zmq/src'
|
||||
config.status:1276: $? = 0
|
||||
config.status:1194: executing libtool commands
|
||||
|
||||
## ---------------- ##
|
||||
## Cache variables. ##
|
||||
## ---------------- ##
|
||||
|
||||
ac_cv_build=x86_64-pc-linux-gnu
|
||||
ac_cv_c_compiler_gnu=yes
|
||||
ac_cv_env_CC_set=
|
||||
ac_cv_env_CC_value=
|
||||
ac_cv_env_CFLAGS_set=
|
||||
ac_cv_env_CFLAGS_value=
|
||||
ac_cv_env_CPPFLAGS_set=set
|
||||
ac_cv_env_CPPFLAGS_value=
|
||||
ac_cv_env_LDFLAGS_set=
|
||||
ac_cv_env_LDFLAGS_value=
|
||||
ac_cv_env_LIBS_set=
|
||||
ac_cv_env_LIBS_value=
|
||||
ac_cv_env_LT_SYS_LIBRARY_PATH_set=
|
||||
ac_cv_env_LT_SYS_LIBRARY_PATH_value=
|
||||
ac_cv_env_PKG_CONFIG_LIBDIR_set=
|
||||
ac_cv_env_PKG_CONFIG_LIBDIR_value=
|
||||
ac_cv_env_PKG_CONFIG_PATH_set=
|
||||
ac_cv_env_PKG_CONFIG_PATH_value=
|
||||
ac_cv_env_PKG_CONFIG_set=
|
||||
ac_cv_env_PKG_CONFIG_value=
|
||||
ac_cv_env_ZMQ_CFLAGS_set=
|
||||
ac_cv_env_ZMQ_CFLAGS_value=
|
||||
ac_cv_env_ZMQ_LIBS_set=
|
||||
ac_cv_env_ZMQ_LIBS_value=
|
||||
ac_cv_env_build_alias_set=
|
||||
ac_cv_env_build_alias_value=
|
||||
ac_cv_env_host_alias_set=
|
||||
ac_cv_env_host_alias_value=
|
||||
ac_cv_env_target_alias_set=
|
||||
ac_cv_env_target_alias_value=
|
||||
ac_cv_header_dlfcn_h=yes
|
||||
ac_cv_header_inttypes_h=yes
|
||||
ac_cv_header_stdint_h=yes
|
||||
ac_cv_header_stdio_h=yes
|
||||
ac_cv_header_stdlib_h=yes
|
||||
ac_cv_header_string_h=yes
|
||||
ac_cv_header_strings_h=yes
|
||||
ac_cv_header_sys_stat_h=yes
|
||||
ac_cv_header_sys_types_h=yes
|
||||
ac_cv_header_unistd_h=yes
|
||||
ac_cv_host=x86_64-pc-linux-gnu
|
||||
ac_cv_objext=o
|
||||
ac_cv_path_EGREP='/usr/sbin/grep -E'
|
||||
ac_cv_path_EGREP_TRADITIONAL='/usr/sbin/grep -E'
|
||||
ac_cv_path_FGREP='/usr/sbin/grep -F'
|
||||
ac_cv_path_GREP=/usr/sbin/grep
|
||||
ac_cv_path_SED=/usr/sbin/sed
|
||||
ac_cv_path_ac_pt_PKG_CONFIG=/usr/sbin/pkg-config
|
||||
ac_cv_path_install='/usr/bin/install -c'
|
||||
ac_cv_path_lt_DD=/usr/sbin/dd
|
||||
ac_cv_path_mkdir=/usr/sbin/mkdir
|
||||
ac_cv_prog_AWK=gawk
|
||||
ac_cv_prog_ac_ct_AR=ar
|
||||
ac_cv_prog_ac_ct_CC=gcc
|
||||
ac_cv_prog_ac_ct_FILECMD=file
|
||||
ac_cv_prog_ac_ct_OBJDUMP=objdump
|
||||
ac_cv_prog_ac_ct_RANLIB=ranlib
|
||||
ac_cv_prog_ac_ct_STRIP=strip
|
||||
ac_cv_prog_cc_c11=
|
||||
ac_cv_prog_cc_g=yes
|
||||
ac_cv_prog_cc_stdc=
|
||||
ac_cv_prog_make_make_set=yes
|
||||
ac_cv_search_zmq_poller_new=-lzmq
|
||||
am_cv_CC_dependencies_compiler_type=gcc3
|
||||
am_cv_ar_interface=ar
|
||||
am_cv_make_support_nested_variables=yes
|
||||
am_cv_prog_cc_c_o=yes
|
||||
lt_cv_ar_at_file=@
|
||||
lt_cv_archive_cmds_need_lc=no
|
||||
lt_cv_deplibs_check_method=pass_all
|
||||
lt_cv_file_magic_cmd='$MAGIC_CMD'
|
||||
lt_cv_file_magic_test_file=
|
||||
lt_cv_ld_reload_flag=-r
|
||||
lt_cv_nm_interface='BSD nm'
|
||||
lt_cv_objdir=.libs
|
||||
lt_cv_path_LD=/usr/sbin/ld
|
||||
lt_cv_path_NM='/usr/sbin/nm -B'
|
||||
lt_cv_path_mainfest_tool=no
|
||||
lt_cv_prog_compiler_c_o=yes
|
||||
lt_cv_prog_compiler_pic='-fPIC -DPIC'
|
||||
lt_cv_prog_compiler_pic_works=yes
|
||||
lt_cv_prog_compiler_rtti_exceptions=no
|
||||
lt_cv_prog_compiler_static_works=no
|
||||
lt_cv_prog_gnu_ld=yes
|
||||
lt_cv_sharedlib_from_linklib_cmd='printf %s\n'
|
||||
lt_cv_shlibpath_overrides_runpath=yes
|
||||
lt_cv_sys_global_symbol_pipe='/usr/sbin/sed -n -e '\''s/^.*[ ]\([ABCDGIRSTW][ABCDGIRSTW]*\)[ ][ ]*\([_A-Za-z][_A-Za-z0-9]*\)$/\1 \2 \2/p'\'' | /usr/sbin/sed '\''/ __gnu_lto/d'\'''
|
||||
lt_cv_sys_global_symbol_to_c_name_address='/usr/sbin/sed -n -e '\''s/^: \(.*\) .*$/ {"\1", (void *) 0},/p'\'' -e '\''s/^[ABCDGIRSTW][ABCDGIRSTW]* .* \(.*\)$/ {"\1", (void *) \&\1},/p'\'''
|
||||
lt_cv_sys_global_symbol_to_c_name_address_lib_prefix='/usr/sbin/sed -n -e '\''s/^: \(.*\) .*$/ {"\1", (void *) 0},/p'\'' -e '\''s/^[ABCDGIRSTW][ABCDGIRSTW]* .* \(lib.*\)$/ {"\1", (void *) \&\1},/p'\'' -e '\''s/^[ABCDGIRSTW][ABCDGIRSTW]* .* \(.*\)$/ {"lib\1", (void *) \&\1},/p'\'''
|
||||
lt_cv_sys_global_symbol_to_cdecl='/usr/sbin/sed -n -e '\''s/^T .* \(.*\)$/extern int \1();/p'\'' -e '\''s/^[ABCDGIRSTW][ABCDGIRSTW]* .* \(.*\)$/extern char \1;/p'\'''
|
||||
lt_cv_sys_global_symbol_to_import=
|
||||
lt_cv_sys_max_cmd_len=1572864
|
||||
lt_cv_to_host_file_cmd=func_convert_file_noop
|
||||
lt_cv_to_tool_file_cmd=func_convert_file_noop
|
||||
lt_cv_truncate_bin='/usr/sbin/dd bs=4096 count=1'
|
||||
pkg_cv_ZMQ_CFLAGS='-DZMQ_BUILD_DRAFT_API=1 -I/usr/include/p11-kit-1 -I/usr/include/pgm-5.3'
|
||||
pkg_cv_ZMQ_LIBS=-lzmq
|
||||
|
||||
## ----------------- ##
|
||||
## Output variables. ##
|
||||
## ----------------- ##
|
||||
|
||||
ACLOCAL='${SHELL} '\''/home/daniel/repos/emacs-conf/lisp/zmq/src/missing'\'' aclocal-1.16'
|
||||
AMDEPBACKSLASH='\'
|
||||
AMDEP_FALSE='#'
|
||||
AMDEP_TRUE=''
|
||||
AMTAR='$${TAR-tar}'
|
||||
AM_BACKSLASH='\'
|
||||
AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)'
|
||||
AM_DEFAULT_VERBOSITY='1'
|
||||
AM_V='$(V)'
|
||||
AR='ar'
|
||||
AS='as'
|
||||
AUTOCONF='${SHELL} '\''/home/daniel/repos/emacs-conf/lisp/zmq/src/missing'\'' autoconf'
|
||||
AUTOHEADER='${SHELL} '\''/home/daniel/repos/emacs-conf/lisp/zmq/src/missing'\'' autoheader'
|
||||
AUTOMAKE='${SHELL} '\''/home/daniel/repos/emacs-conf/lisp/zmq/src/missing'\'' automake-1.16'
|
||||
AWK='gawk'
|
||||
CC='gcc'
|
||||
CCDEPMODE='depmode=gcc3'
|
||||
CFLAGS='-g -O2'
|
||||
CPPFLAGS=''
|
||||
CSCOPE='cscope'
|
||||
CTAGS='ctags'
|
||||
CYGPATH_W='echo'
|
||||
DEFS='-DPACKAGE_NAME=\"emacs-zmq\" -DPACKAGE_TARNAME=\"emacs-zmq\" -DPACKAGE_VERSION=\"1.0.0\" -DPACKAGE_STRING=\"emacs-zmq\ 1.0.0\" -DPACKAGE_BUGREPORT=\"nathanielnicandro@gmail.com\" -DPACKAGE_URL=\"\" -DPACKAGE=\"emacs-zmq\" -DVERSION=\"1.0.0\" -DZMQ_BUILD_DRAFT_API=1 -DHAVE_STDIO_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_STRINGS_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_UNISTD_H=1 -DSTDC_HEADERS=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\"'
|
||||
DEPDIR='.deps'
|
||||
DLLTOOL='false'
|
||||
DSYMUTIL=''
|
||||
DUMPBIN=''
|
||||
ECHO_C=''
|
||||
ECHO_N='-n'
|
||||
ECHO_T=''
|
||||
EGREP='/usr/sbin/grep -E'
|
||||
ETAGS='etags'
|
||||
EXEEXT=''
|
||||
FGREP='/usr/sbin/grep -F'
|
||||
FILECMD='file'
|
||||
GREP='/usr/sbin/grep'
|
||||
INSTALL_DATA='${INSTALL} -m 644'
|
||||
INSTALL_PROGRAM='${INSTALL}'
|
||||
INSTALL_SCRIPT='${INSTALL}'
|
||||
INSTALL_STRIP_PROGRAM='$(install_sh) -c -s'
|
||||
LD='/usr/sbin/ld -m elf_x86_64'
|
||||
LDFLAGS=''
|
||||
LIBOBJS=''
|
||||
LIBS='-lzmq '
|
||||
LIBTOOL='$(SHELL) $(top_builddir)/libtool'
|
||||
LIPO=''
|
||||
LN_S='ln -s'
|
||||
LTLIBOBJS=''
|
||||
LT_SYS_LIBRARY_PATH=''
|
||||
MAKEINFO='${SHELL} '\''/home/daniel/repos/emacs-conf/lisp/zmq/src/missing'\'' makeinfo'
|
||||
MANIFEST_TOOL=':'
|
||||
MAYBE_LIBZMQ=''
|
||||
MKDIR_P='/usr/sbin/mkdir -p'
|
||||
MODULE_EXT='.so'
|
||||
NM='/usr/sbin/nm -B'
|
||||
NMEDIT=''
|
||||
OBJDUMP='objdump'
|
||||
OBJEXT='o'
|
||||
OTOOL64=''
|
||||
OTOOL=''
|
||||
PACKAGE='emacs-zmq'
|
||||
PACKAGE_BUGREPORT='nathanielnicandro@gmail.com'
|
||||
PACKAGE_NAME='emacs-zmq'
|
||||
PACKAGE_STRING='emacs-zmq 1.0.0'
|
||||
PACKAGE_TARNAME='emacs-zmq'
|
||||
PACKAGE_URL=''
|
||||
PACKAGE_VERSION='1.0.0'
|
||||
PATH_SEPARATOR=':'
|
||||
PKG_CONFIG='/usr/sbin/pkg-config'
|
||||
PKG_CONFIG_LIBDIR=''
|
||||
PKG_CONFIG_PATH=''
|
||||
RANLIB='ranlib'
|
||||
SED='/usr/sbin/sed'
|
||||
SET_MAKE=''
|
||||
SHELL='/bin/sh'
|
||||
STRIP='strip'
|
||||
VERSION='1.0.0'
|
||||
WINDOWS_FALSE=''
|
||||
WINDOWS_TRUE='#'
|
||||
ZMQ_BUILD_LOCALLY_FALSE=''
|
||||
ZMQ_BUILD_LOCALLY_TRUE='#'
|
||||
ZMQ_CFLAGS='-DZMQ_BUILD_DRAFT_API=1 -I/usr/include/p11-kit-1 -I/usr/include/pgm-5.3'
|
||||
ZMQ_LIBS='-lzmq'
|
||||
ac_ct_AR='ar'
|
||||
ac_ct_CC='gcc'
|
||||
ac_ct_DUMPBIN=''
|
||||
am__EXEEXT_FALSE=''
|
||||
am__EXEEXT_TRUE='#'
|
||||
am__fastdepCC_FALSE='#'
|
||||
am__fastdepCC_TRUE=''
|
||||
am__include='include'
|
||||
am__isrc=''
|
||||
am__leading_dot='.'
|
||||
am__nodep='_no'
|
||||
am__quote=''
|
||||
am__tar='$${TAR-tar} chof - "$$tardir"'
|
||||
am__untar='$${TAR-tar} xf -'
|
||||
bindir='${exec_prefix}/bin'
|
||||
build='x86_64-pc-linux-gnu'
|
||||
build_alias=''
|
||||
build_cpu='x86_64'
|
||||
build_os='linux-gnu'
|
||||
build_vendor='pc'
|
||||
datadir='${datarootdir}'
|
||||
datarootdir='${prefix}/share'
|
||||
docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
|
||||
dvidir='${docdir}'
|
||||
exec_prefix='${prefix}'
|
||||
host='x86_64-pc-linux-gnu'
|
||||
host_alias=''
|
||||
host_cpu='x86_64'
|
||||
host_os='linux-gnu'
|
||||
host_vendor='pc'
|
||||
htmldir='${docdir}'
|
||||
includedir='${prefix}/include'
|
||||
infodir='${datarootdir}/info'
|
||||
install_sh='${SHELL} /home/daniel/repos/emacs-conf/lisp/zmq/src/install-sh'
|
||||
libdir='${exec_prefix}/lib'
|
||||
libexecdir='${exec_prefix}/libexec'
|
||||
localedir='${datarootdir}/locale'
|
||||
localstatedir='${prefix}/var'
|
||||
mandir='${datarootdir}/man'
|
||||
mkdir_p='$(MKDIR_P)'
|
||||
oldincludedir='/usr/include'
|
||||
pdfdir='${docdir}'
|
||||
prefix='/home/daniel/repos/emacs-conf/lisp/zmq'
|
||||
program_transform_name='s,x,x,'
|
||||
psdir='${docdir}'
|
||||
runstatedir='${localstatedir}/run'
|
||||
sbindir='${exec_prefix}/sbin'
|
||||
sharedstatedir='${prefix}/com'
|
||||
subdirs=''
|
||||
sysconfdir='${prefix}/etc'
|
||||
target_alias=''
|
||||
|
||||
## ----------- ##
|
||||
## confdefs.h. ##
|
||||
## ----------- ##
|
||||
|
||||
/* confdefs.h */
|
||||
#define PACKAGE_NAME "emacs-zmq"
|
||||
#define PACKAGE_TARNAME "emacs-zmq"
|
||||
#define PACKAGE_VERSION "1.0.0"
|
||||
#define PACKAGE_STRING "emacs-zmq 1.0.0"
|
||||
#define PACKAGE_BUGREPORT "nathanielnicandro@gmail.com"
|
||||
#define PACKAGE_URL ""
|
||||
#define PACKAGE "emacs-zmq"
|
||||
#define VERSION "1.0.0"
|
||||
#define ZMQ_BUILD_DRAFT_API 1
|
||||
#define HAVE_STDIO_H 1
|
||||
#define HAVE_STDLIB_H 1
|
||||
#define HAVE_STRING_H 1
|
||||
#define HAVE_INTTYPES_H 1
|
||||
#define HAVE_STDINT_H 1
|
||||
#define HAVE_STRINGS_H 1
|
||||
#define HAVE_SYS_STAT_H 1
|
||||
#define HAVE_SYS_TYPES_H 1
|
||||
#define HAVE_UNISTD_H 1
|
||||
#define STDC_HEADERS 1
|
||||
#define HAVE_DLFCN_H 1
|
||||
#define LT_OBJDIR ".libs/"
|
||||
|
||||
configure: exit 0
|
||||
1854
lisp/zmq/src/config.status
Executable file
1854
lisp/zmq/src/config.status
Executable file
File diff suppressed because it is too large
Load Diff
1884
lisp/zmq/src/config.sub
vendored
Executable file
1884
lisp/zmq/src/config.sub
vendored
Executable file
File diff suppressed because it is too large
Load Diff
15928
lisp/zmq/src/configure
vendored
Executable file
15928
lisp/zmq/src/configure
vendored
Executable file
File diff suppressed because it is too large
Load Diff
85
lisp/zmq/src/configure.ac
Normal file
85
lisp/zmq/src/configure.ac
Normal file
@@ -0,0 +1,85 @@
|
||||
AC_PREREQ([2.69])
|
||||
AC_INIT([emacs-zmq], [1.0.0], [nathanielnicandro@gmail.com])
|
||||
|
||||
AC_CONFIG_SRCDIR([core.c])
|
||||
AC_CONFIG_MACRO_DIRS([m4])
|
||||
AM_INIT_AUTOMAKE([-Wall -Wno-override foreign])
|
||||
AC_PROG_CC
|
||||
AM_PROG_AR
|
||||
AC_CANONICAL_HOST
|
||||
|
||||
PKG_CHECK_MODULES([ZMQ], [libzmq], [
|
||||
AC_SEARCH_LIBS([zmq_poller_new], [zmq], [
|
||||
dnl FIXME: This isn't necessarily true in ZMQ >= 4.3
|
||||
AC_DEFINE([ZMQ_BUILD_DRAFT_API], 1)
|
||||
], [
|
||||
AC_MSG_NOTICE([incompatible libzmq, building one locally])
|
||||
ZMQ_BUILD_LOCALLY=yes
|
||||
])
|
||||
], [
|
||||
AC_MSG_NOTICE([libzmq not found by pkg-config, building one locally])
|
||||
ZMQ_BUILD_LOCALLY=yes
|
||||
])
|
||||
|
||||
if test "x$ZMQ_BUILD_LOCALLY" != x; then
|
||||
if test "x$ZMQ_VERSION" == x; then ZMQ_VERSION="4.3.1"; fi
|
||||
if test "x$ZMQ_GIT_REPO" == x; then ZMQ_GIT_REPO="https://github.com/zeromq/libzmq"; fi
|
||||
if test ! -d libzmq/.git; then git clone $ZMQ_GIT_REPO libzmq; fi
|
||||
AC_CONFIG_SUBDIRS([libzmq])
|
||||
# Ensure the libzmq/configure script is generated
|
||||
cd libzmq
|
||||
if test "`git describe --candidates=0 2>/dev/null || echo x`" != "v${ZMQ_VERSION}"; then
|
||||
git checkout --quiet master
|
||||
git pull --quiet origin
|
||||
git checkout "v$ZMQ_VERSION"
|
||||
rm -f configure
|
||||
fi
|
||||
if test ! -e configure; then
|
||||
echo "Generating libzmq configure script"
|
||||
./autogen.sh
|
||||
fi
|
||||
cd ..
|
||||
case "${host_os}" in
|
||||
*darwin*)
|
||||
;;
|
||||
*mingw*|*msys*|*cygwin*)
|
||||
export CXXFLAGS="-static-libgcc -static-libstdc++ $CXXFLAGS"
|
||||
# Its necessary to pass these to the linker directly since libtool
|
||||
# won't build emacs-zmq as a dynamic module otherwise on Windows.
|
||||
export LDFLAGS="-Wl,-l:libstdc++.a -Wl,-l:libgcc.a -Wl,-lws2_32 -Wl,-liphlpapi $LDFLAGS"
|
||||
ON_WINDOWS=yes
|
||||
;;
|
||||
*)
|
||||
# Assume GCC compatible compiler
|
||||
# TODO: Actually check for this
|
||||
# Prevent dynamic linkage of libzmq dependencies
|
||||
#
|
||||
# PIC is needed since we are most likely building libzmq
|
||||
# statically, but would like to link it to the dynamic emacs-zmq
|
||||
# library. GCC needs to have this explicitly specified.
|
||||
#
|
||||
# The -fPIC for CFLAGS is needed even though emacs-zmq is already a
|
||||
# dynamic library since libzmq comes packaged with tweetnacl which
|
||||
# is a C library and it builds that by default.
|
||||
export CXXFLAGS="-fPIC -static-libgcc -static-libstdc++ $CXXFLAGS"
|
||||
export CFLAGS="-fPIC $CFLAGS"
|
||||
export LDFLAGS="-Wl,-l:libstdc++.a -Wl,-l:libgcc.a $LDFLAGS"
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
|
||||
AM_CONDITIONAL(WINDOWS, [test "x$ON_WINDOWS" != x])
|
||||
AM_CONDITIONAL(ZMQ_BUILD_LOCALLY, [test "x$ZMQ_BUILD_LOCALLY" != x])
|
||||
if test "x$ZMQ_BUILD_LOCALLY" != x; then
|
||||
MAYBE_LIBZMQ=libzmq
|
||||
else
|
||||
MAYBE_LIBZMQ=
|
||||
fi
|
||||
AC_SUBST([MAYBE_LIBZMQ])
|
||||
|
||||
MODULE_EXT="`emacs -Q -batch --eval '(princ module-file-suffix)'`"
|
||||
AC_SUBST([MODULE_EXT])
|
||||
|
||||
LT_INIT([win32-dll shared disable-static])
|
||||
AC_CONFIG_FILES([Makefile])
|
||||
AC_OUTPUT
|
||||
207
lisp/zmq/src/constants.c
Normal file
207
lisp/zmq/src/constants.c
Normal file
@@ -0,0 +1,207 @@
|
||||
#include "core.h"
|
||||
|
||||
#define EZMQ_DEFCONST(sym, val) \
|
||||
args[1] = INTERN(sym); args[2] = INT(val); \
|
||||
list = FUNCALL(Qlist, 3, args); \
|
||||
FUNCALL(Qeval, 1, &list);
|
||||
|
||||
// Automatically generated
|
||||
void
|
||||
ezmq_expose_constants()
|
||||
{
|
||||
emacs_value args[3];
|
||||
emacs_value list;
|
||||
emacs_value Qeval = INTERN("eval");
|
||||
args[0] = INTERN("defconst");
|
||||
EZMQ_DEFCONST("zmq-AFFINITY", ZMQ_AFFINITY);
|
||||
EZMQ_DEFCONST("zmq-BACKLOG", ZMQ_BACKLOG);
|
||||
EZMQ_DEFCONST("zmq-BINDTODEVICE", ZMQ_BINDTODEVICE);
|
||||
EZMQ_DEFCONST("zmq-BLOCKY", ZMQ_BLOCKY);
|
||||
/* EZMQ_DEFCONST("zmq-BUILD-DRAFT-API", ZMQ_BUILD_DRAFT_API); */
|
||||
EZMQ_DEFCONST("zmq-CLIENT", ZMQ_CLIENT);
|
||||
EZMQ_DEFCONST("zmq-CONFLATE", ZMQ_CONFLATE);
|
||||
EZMQ_DEFCONST("zmq-CONNECT-RID", ZMQ_CONNECT_RID);
|
||||
EZMQ_DEFCONST("zmq-CONNECT-ROUTING-ID", ZMQ_CONNECT_ROUTING_ID);
|
||||
EZMQ_DEFCONST("zmq-CONNECT-TIMEOUT", ZMQ_CONNECT_TIMEOUT);
|
||||
EZMQ_DEFCONST("zmq-CURVE", ZMQ_CURVE);
|
||||
EZMQ_DEFCONST("zmq-CURVE-PUBLICKEY", ZMQ_CURVE_PUBLICKEY);
|
||||
EZMQ_DEFCONST("zmq-CURVE-SECRETKEY", ZMQ_CURVE_SECRETKEY);
|
||||
EZMQ_DEFCONST("zmq-CURVE-SERVER", ZMQ_CURVE_SERVER);
|
||||
EZMQ_DEFCONST("zmq-CURVE-SERVERKEY", ZMQ_CURVE_SERVERKEY);
|
||||
EZMQ_DEFCONST("zmq-DEALER", ZMQ_DEALER);
|
||||
EZMQ_DEFCONST("zmq-DEFINED-STDINT", ZMQ_DEFINED_STDINT);
|
||||
EZMQ_DEFCONST("zmq-DELAY-ATTACH-ON-CONNECT", ZMQ_DELAY_ATTACH_ON_CONNECT);
|
||||
EZMQ_DEFCONST("zmq-DGRAM", ZMQ_DGRAM);
|
||||
EZMQ_DEFCONST("zmq-DISH", ZMQ_DISH);
|
||||
EZMQ_DEFCONST("zmq-DONTWAIT", ZMQ_DONTWAIT);
|
||||
EZMQ_DEFCONST("zmq-EVENTS", ZMQ_EVENTS);
|
||||
EZMQ_DEFCONST("zmq-EVENT-ACCEPTED", ZMQ_EVENT_ACCEPTED);
|
||||
EZMQ_DEFCONST("zmq-EVENT-ACCEPT-FAILED", ZMQ_EVENT_ACCEPT_FAILED);
|
||||
EZMQ_DEFCONST("zmq-EVENT-ALL", ZMQ_EVENT_ALL);
|
||||
EZMQ_DEFCONST("zmq-EVENT-BIND-FAILED", ZMQ_EVENT_BIND_FAILED);
|
||||
EZMQ_DEFCONST("zmq-EVENT-CLOSED", ZMQ_EVENT_CLOSED);
|
||||
EZMQ_DEFCONST("zmq-EVENT-CLOSE-FAILED", ZMQ_EVENT_CLOSE_FAILED);
|
||||
EZMQ_DEFCONST("zmq-EVENT-CONNECTED", ZMQ_EVENT_CONNECTED);
|
||||
EZMQ_DEFCONST("zmq-EVENT-CONNECT-DELAYED", ZMQ_EVENT_CONNECT_DELAYED);
|
||||
EZMQ_DEFCONST("zmq-EVENT-CONNECT-RETRIED", ZMQ_EVENT_CONNECT_RETRIED);
|
||||
EZMQ_DEFCONST("zmq-EVENT-DISCONNECTED", ZMQ_EVENT_DISCONNECTED);
|
||||
EZMQ_DEFCONST("zmq-EVENT-HANDSHAKE-FAILED-AUTH", ZMQ_EVENT_HANDSHAKE_FAILED_AUTH);
|
||||
EZMQ_DEFCONST("zmq-EVENT-HANDSHAKE-FAILED-NO-DETAIL", ZMQ_EVENT_HANDSHAKE_FAILED_NO_DETAIL);
|
||||
EZMQ_DEFCONST("zmq-EVENT-HANDSHAKE-FAILED-PROTOCOL", ZMQ_EVENT_HANDSHAKE_FAILED_PROTOCOL);
|
||||
EZMQ_DEFCONST("zmq-EVENT-HANDSHAKE-SUCCEEDED", ZMQ_EVENT_HANDSHAKE_SUCCEEDED);
|
||||
EZMQ_DEFCONST("zmq-EVENT-LISTENING", ZMQ_EVENT_LISTENING);
|
||||
EZMQ_DEFCONST("zmq-EVENT-MONITOR-STOPPED", ZMQ_EVENT_MONITOR_STOPPED);
|
||||
EZMQ_DEFCONST("zmq-FAIL-UNROUTABLE", ZMQ_FAIL_UNROUTABLE);
|
||||
EZMQ_DEFCONST("zmq-FD", ZMQ_FD);
|
||||
EZMQ_DEFCONST("zmq-FORWARDER", ZMQ_FORWARDER);
|
||||
EZMQ_DEFCONST("zmq-GATHER", ZMQ_GATHER);
|
||||
EZMQ_DEFCONST("zmq-GROUP-MAX-LENGTH", ZMQ_GROUP_MAX_LENGTH);
|
||||
EZMQ_DEFCONST("zmq-GSSAPI", ZMQ_GSSAPI);
|
||||
EZMQ_DEFCONST("zmq-GSSAPI-NT-HOSTBASED", ZMQ_GSSAPI_NT_HOSTBASED);
|
||||
EZMQ_DEFCONST("zmq-GSSAPI-NT-KRB5-PRINCIPAL", ZMQ_GSSAPI_NT_KRB5_PRINCIPAL);
|
||||
EZMQ_DEFCONST("zmq-GSSAPI-NT-USER-NAME", ZMQ_GSSAPI_NT_USER_NAME);
|
||||
EZMQ_DEFCONST("zmq-GSSAPI-PLAINTEXT", ZMQ_GSSAPI_PLAINTEXT);
|
||||
EZMQ_DEFCONST("zmq-GSSAPI-PRINCIPAL", ZMQ_GSSAPI_PRINCIPAL);
|
||||
EZMQ_DEFCONST("zmq-GSSAPI-PRINCIPAL-NAMETYPE", ZMQ_GSSAPI_PRINCIPAL_NAMETYPE);
|
||||
EZMQ_DEFCONST("zmq-GSSAPI-SERVER", ZMQ_GSSAPI_SERVER);
|
||||
EZMQ_DEFCONST("zmq-GSSAPI-SERVICE-PRINCIPAL", ZMQ_GSSAPI_SERVICE_PRINCIPAL);
|
||||
EZMQ_DEFCONST("zmq-GSSAPI-SERVICE-PRINCIPAL-NAMETYPE", ZMQ_GSSAPI_SERVICE_PRINCIPAL_NAMETYPE);
|
||||
EZMQ_DEFCONST("zmq-HANDSHAKE-IVL", ZMQ_HANDSHAKE_IVL);
|
||||
EZMQ_DEFCONST("zmq-HAS-CAPABILITIES", ZMQ_HAS_CAPABILITIES);
|
||||
EZMQ_DEFCONST("zmq-HAUSNUMERO", ZMQ_HAUSNUMERO);
|
||||
// Use `zmq-has'
|
||||
/* EZMQ_DEFCONST("zmq-HAVE-POLLER", ZMQ_HAVE_POLLER); */
|
||||
/* EZMQ_DEFCONST("zmq-HAVE-TIMERS", ZMQ_HAVE_TIMERS); */
|
||||
EZMQ_DEFCONST("zmq-HEARTBEAT-IVL", ZMQ_HEARTBEAT_IVL);
|
||||
EZMQ_DEFCONST("zmq-HEARTBEAT-TIMEOUT", ZMQ_HEARTBEAT_TIMEOUT);
|
||||
EZMQ_DEFCONST("zmq-HEARTBEAT-TTL", ZMQ_HEARTBEAT_TTL);
|
||||
EZMQ_DEFCONST("zmq-IDENTITY", ZMQ_IDENTITY);
|
||||
EZMQ_DEFCONST("zmq-IMMEDIATE", ZMQ_IMMEDIATE);
|
||||
EZMQ_DEFCONST("zmq-INVERT-MATCHING", ZMQ_INVERT_MATCHING);
|
||||
EZMQ_DEFCONST("zmq-IO-THREADS", ZMQ_IO_THREADS);
|
||||
EZMQ_DEFCONST("zmq-IO-THREADS-DFLT", ZMQ_IO_THREADS_DFLT);
|
||||
EZMQ_DEFCONST("zmq-IPC-FILTER-GID", ZMQ_IPC_FILTER_GID);
|
||||
EZMQ_DEFCONST("zmq-IPC-FILTER-PID", ZMQ_IPC_FILTER_PID);
|
||||
EZMQ_DEFCONST("zmq-IPC-FILTER-UID", ZMQ_IPC_FILTER_UID);
|
||||
EZMQ_DEFCONST("zmq-IPV4ONLY", ZMQ_IPV4ONLY);
|
||||
EZMQ_DEFCONST("zmq-IPV6", ZMQ_IPV6);
|
||||
EZMQ_DEFCONST("zmq-LAST-ENDPOINT", ZMQ_LAST_ENDPOINT);
|
||||
EZMQ_DEFCONST("zmq-LINGER", ZMQ_LINGER);
|
||||
EZMQ_DEFCONST("zmq-MAXMSGSIZE", ZMQ_MAXMSGSIZE);
|
||||
EZMQ_DEFCONST("zmq-MAX-MSGSZ", ZMQ_MAX_MSGSZ);
|
||||
EZMQ_DEFCONST("zmq-MAX-SOCKETS", ZMQ_MAX_SOCKETS);
|
||||
EZMQ_DEFCONST("zmq-MAX-SOCKETS-DFLT", ZMQ_MAX_SOCKETS_DFLT);
|
||||
EZMQ_DEFCONST("zmq-MECHANISM", ZMQ_MECHANISM);
|
||||
EZMQ_DEFCONST("zmq-MORE", ZMQ_MORE);
|
||||
// See `zmq-message-property' in Emacs
|
||||
/* EZMQ_DEFCONST("zmq-MSG-PROPERTY-PEER-ADDRESS", ZMQ_MSG_PROPERTY_PEER_ADDRESS); */
|
||||
/* EZMQ_DEFCONST("zmq-MSG-PROPERTY-ROUTING-ID", ZMQ_MSG_PROPERTY_ROUTING_ID); */
|
||||
/* EZMQ_DEFCONST("zmq-MSG-PROPERTY-SOCKET-TYPE", ZMQ_MSG_PROPERTY_SOCKET_TYPE); */
|
||||
/* EZMQ_DEFCONST("zmq-MSG-PROPERTY-USER-ID", ZMQ_MSG_PROPERTY_USER_ID); */
|
||||
EZMQ_DEFCONST("zmq-MSG-T-SIZE", ZMQ_MSG_T_SIZE);
|
||||
EZMQ_DEFCONST("zmq-MULTICAST-HOPS", ZMQ_MULTICAST_HOPS);
|
||||
EZMQ_DEFCONST("zmq-MULTICAST-MAXTPDU", ZMQ_MULTICAST_MAXTPDU);
|
||||
EZMQ_DEFCONST("zmq-NOBLOCK", ZMQ_NOBLOCK);
|
||||
EZMQ_DEFCONST("zmq-NULL", ZMQ_NULL);
|
||||
EZMQ_DEFCONST("zmq-PAIR", ZMQ_PAIR);
|
||||
EZMQ_DEFCONST("zmq-PLAIN", ZMQ_PLAIN);
|
||||
EZMQ_DEFCONST("zmq-PLAIN-PASSWORD", ZMQ_PLAIN_PASSWORD);
|
||||
EZMQ_DEFCONST("zmq-PLAIN-SERVER", ZMQ_PLAIN_SERVER);
|
||||
EZMQ_DEFCONST("zmq-PLAIN-USERNAME", ZMQ_PLAIN_USERNAME);
|
||||
EZMQ_DEFCONST("zmq-POLLERR", ZMQ_POLLERR);
|
||||
EZMQ_DEFCONST("zmq-POLLIN", ZMQ_POLLIN);
|
||||
EZMQ_DEFCONST("zmq-POLLITEMS-DFLT", ZMQ_POLLITEMS_DFLT);
|
||||
EZMQ_DEFCONST("zmq-POLLOUT", ZMQ_POLLOUT);
|
||||
EZMQ_DEFCONST("zmq-POLLPRI", ZMQ_POLLPRI);
|
||||
EZMQ_DEFCONST("zmq-PROBE-ROUTER", ZMQ_PROBE_ROUTER);
|
||||
EZMQ_DEFCONST("zmq-PROTOCOL-ERROR-ZAP-BAD-REQUEST-ID", ZMQ_PROTOCOL_ERROR_ZAP_BAD_REQUEST_ID);
|
||||
EZMQ_DEFCONST("zmq-PROTOCOL-ERROR-ZAP-INVALID-METADATA", ZMQ_PROTOCOL_ERROR_ZAP_INVALID_METADATA);
|
||||
EZMQ_DEFCONST("zmq-PROTOCOL-ERROR-ZAP-INVALID-STATUS-CODE", ZMQ_PROTOCOL_ERROR_ZAP_INVALID_STATUS_CODE);
|
||||
EZMQ_DEFCONST("zmq-PROTOCOL-ERROR-ZAP-MALFORMED-REPLY", ZMQ_PROTOCOL_ERROR_ZAP_MALFORMED_REPLY);
|
||||
EZMQ_DEFCONST("zmq-PROTOCOL-ERROR-ZAP-UNSPECIFIED", ZMQ_PROTOCOL_ERROR_ZAP_UNSPECIFIED);
|
||||
EZMQ_DEFCONST("zmq-PROTOCOL-ERROR-ZMTP-CRYPTOGRAPHIC", ZMQ_PROTOCOL_ERROR_ZMTP_CRYPTOGRAPHIC);
|
||||
EZMQ_DEFCONST("zmq-PROTOCOL-ERROR-ZMTP-INVALID-METADATA", ZMQ_PROTOCOL_ERROR_ZMTP_INVALID_METADATA);
|
||||
EZMQ_DEFCONST("zmq-PROTOCOL-ERROR-ZMTP-INVALID-SEQUENCE", ZMQ_PROTOCOL_ERROR_ZMTP_INVALID_SEQUENCE);
|
||||
EZMQ_DEFCONST("zmq-PROTOCOL-ERROR-ZMTP-KEY-EXCHANGE", ZMQ_PROTOCOL_ERROR_ZMTP_KEY_EXCHANGE);
|
||||
EZMQ_DEFCONST("zmq-PROTOCOL-ERROR-ZMTP-MALFORMED-COMMAND-ERROR", ZMQ_PROTOCOL_ERROR_ZMTP_MALFORMED_COMMAND_ERROR);
|
||||
EZMQ_DEFCONST("zmq-PROTOCOL-ERROR-ZMTP-MALFORMED-COMMAND-HELLO", ZMQ_PROTOCOL_ERROR_ZMTP_MALFORMED_COMMAND_HELLO);
|
||||
EZMQ_DEFCONST("zmq-PROTOCOL-ERROR-ZMTP-MALFORMED-COMMAND-INITIATE", ZMQ_PROTOCOL_ERROR_ZMTP_MALFORMED_COMMAND_INITIATE);
|
||||
EZMQ_DEFCONST("zmq-PROTOCOL-ERROR-ZMTP-MALFORMED-COMMAND-MESSAGE", ZMQ_PROTOCOL_ERROR_ZMTP_MALFORMED_COMMAND_MESSAGE);
|
||||
EZMQ_DEFCONST("zmq-PROTOCOL-ERROR-ZMTP-MALFORMED-COMMAND-READY", ZMQ_PROTOCOL_ERROR_ZMTP_MALFORMED_COMMAND_READY);
|
||||
EZMQ_DEFCONST("zmq-PROTOCOL-ERROR-ZMTP-MALFORMED-COMMAND-UNSPECIFIED", ZMQ_PROTOCOL_ERROR_ZMTP_MALFORMED_COMMAND_UNSPECIFIED);
|
||||
EZMQ_DEFCONST("zmq-PROTOCOL-ERROR-ZMTP-MALFORMED-COMMAND-WELCOME", ZMQ_PROTOCOL_ERROR_ZMTP_MALFORMED_COMMAND_WELCOME);
|
||||
EZMQ_DEFCONST("zmq-PROTOCOL-ERROR-ZMTP-MECHANISM-MISMATCH", ZMQ_PROTOCOL_ERROR_ZMTP_MECHANISM_MISMATCH);
|
||||
EZMQ_DEFCONST("zmq-PROTOCOL-ERROR-ZMTP-UNEXPECTED-COMMAND", ZMQ_PROTOCOL_ERROR_ZMTP_UNEXPECTED_COMMAND);
|
||||
EZMQ_DEFCONST("zmq-PROTOCOL-ERROR-ZMTP-UNSPECIFIED", ZMQ_PROTOCOL_ERROR_ZMTP_UNSPECIFIED);
|
||||
EZMQ_DEFCONST("zmq-PUB", ZMQ_PUB);
|
||||
EZMQ_DEFCONST("zmq-PULL", ZMQ_PULL);
|
||||
EZMQ_DEFCONST("zmq-PUSH", ZMQ_PUSH);
|
||||
EZMQ_DEFCONST("zmq-QUEUE", ZMQ_QUEUE);
|
||||
EZMQ_DEFCONST("zmq-RADIO", ZMQ_RADIO);
|
||||
EZMQ_DEFCONST("zmq-RATE", ZMQ_RATE);
|
||||
EZMQ_DEFCONST("zmq-RCVBUF", ZMQ_RCVBUF);
|
||||
EZMQ_DEFCONST("zmq-RCVHWM", ZMQ_RCVHWM);
|
||||
EZMQ_DEFCONST("zmq-RCVMORE", ZMQ_RCVMORE);
|
||||
EZMQ_DEFCONST("zmq-RCVTIMEO", ZMQ_RCVTIMEO);
|
||||
EZMQ_DEFCONST("zmq-RECONNECT-IVL", ZMQ_RECONNECT_IVL);
|
||||
EZMQ_DEFCONST("zmq-RECONNECT-IVL-MAX", ZMQ_RECONNECT_IVL_MAX);
|
||||
EZMQ_DEFCONST("zmq-RECOVERY-IVL", ZMQ_RECOVERY_IVL);
|
||||
EZMQ_DEFCONST("zmq-REP", ZMQ_REP);
|
||||
EZMQ_DEFCONST("zmq-REQ", ZMQ_REQ);
|
||||
EZMQ_DEFCONST("zmq-REQ-CORRELATE", ZMQ_REQ_CORRELATE);
|
||||
EZMQ_DEFCONST("zmq-REQ-RELAXED", ZMQ_REQ_RELAXED);
|
||||
EZMQ_DEFCONST("zmq-ROUTER", ZMQ_ROUTER);
|
||||
EZMQ_DEFCONST("zmq-ROUTER-BEHAVIOR", ZMQ_ROUTER_BEHAVIOR);
|
||||
EZMQ_DEFCONST("zmq-ROUTER-HANDOVER", ZMQ_ROUTER_HANDOVER);
|
||||
EZMQ_DEFCONST("zmq-ROUTER-MANDATORY", ZMQ_ROUTER_MANDATORY);
|
||||
EZMQ_DEFCONST("zmq-ROUTER-RAW", ZMQ_ROUTER_RAW);
|
||||
EZMQ_DEFCONST("zmq-ROUTING-ID", ZMQ_ROUTING_ID);
|
||||
EZMQ_DEFCONST("zmq-SCATTER", ZMQ_SCATTER);
|
||||
EZMQ_DEFCONST("zmq-SERVER", ZMQ_SERVER);
|
||||
EZMQ_DEFCONST("zmq-SHARED", ZMQ_SHARED);
|
||||
EZMQ_DEFCONST("zmq-SNDBUF", ZMQ_SNDBUF);
|
||||
EZMQ_DEFCONST("zmq-SNDHWM", ZMQ_SNDHWM);
|
||||
EZMQ_DEFCONST("zmq-SNDMORE", ZMQ_SNDMORE);
|
||||
EZMQ_DEFCONST("zmq-SNDTIMEO", ZMQ_SNDTIMEO);
|
||||
EZMQ_DEFCONST("zmq-SOCKET-LIMIT", ZMQ_SOCKET_LIMIT);
|
||||
EZMQ_DEFCONST("zmq-SOCKS-PROXY", ZMQ_SOCKS_PROXY);
|
||||
EZMQ_DEFCONST("zmq-SRCFD", ZMQ_SRCFD);
|
||||
EZMQ_DEFCONST("zmq-STREAM", ZMQ_STREAM);
|
||||
EZMQ_DEFCONST("zmq-STREAMER", ZMQ_STREAMER);
|
||||
EZMQ_DEFCONST("zmq-STREAM-NOTIFY", ZMQ_STREAM_NOTIFY);
|
||||
EZMQ_DEFCONST("zmq-SUB", ZMQ_SUB);
|
||||
EZMQ_DEFCONST("zmq-SUBSCRIBE", ZMQ_SUBSCRIBE);
|
||||
EZMQ_DEFCONST("zmq-TCP-ACCEPT-FILTER", ZMQ_TCP_ACCEPT_FILTER);
|
||||
EZMQ_DEFCONST("zmq-TCP-KEEPALIVE", ZMQ_TCP_KEEPALIVE);
|
||||
EZMQ_DEFCONST("zmq-TCP-KEEPALIVE-CNT", ZMQ_TCP_KEEPALIVE_CNT);
|
||||
EZMQ_DEFCONST("zmq-TCP-KEEPALIVE-IDLE", ZMQ_TCP_KEEPALIVE_IDLE);
|
||||
EZMQ_DEFCONST("zmq-TCP-KEEPALIVE-INTVL", ZMQ_TCP_KEEPALIVE_INTVL);
|
||||
EZMQ_DEFCONST("zmq-TCP-MAXRT", ZMQ_TCP_MAXRT);
|
||||
EZMQ_DEFCONST("zmq-THREAD-AFFINITY-CPU-ADD", ZMQ_THREAD_AFFINITY_CPU_ADD);
|
||||
EZMQ_DEFCONST("zmq-THREAD-AFFINITY-CPU-REMOVE", ZMQ_THREAD_AFFINITY_CPU_REMOVE);
|
||||
EZMQ_DEFCONST("zmq-THREAD-NAME-PREFIX", ZMQ_THREAD_NAME_PREFIX);
|
||||
EZMQ_DEFCONST("zmq-THREAD-PRIORITY", ZMQ_THREAD_PRIORITY);
|
||||
EZMQ_DEFCONST("zmq-THREAD-PRIORITY-DFLT", ZMQ_THREAD_PRIORITY_DFLT);
|
||||
EZMQ_DEFCONST("zmq-THREAD-SAFE", ZMQ_THREAD_SAFE);
|
||||
EZMQ_DEFCONST("zmq-THREAD-SCHED-POLICY", ZMQ_THREAD_SCHED_POLICY);
|
||||
EZMQ_DEFCONST("zmq-THREAD-SCHED-POLICY-DFLT", ZMQ_THREAD_SCHED_POLICY_DFLT);
|
||||
EZMQ_DEFCONST("zmq-TOS", ZMQ_TOS);
|
||||
EZMQ_DEFCONST("zmq-TYPE", ZMQ_TYPE);
|
||||
EZMQ_DEFCONST("zmq-UNSUBSCRIBE", ZMQ_UNSUBSCRIBE);
|
||||
EZMQ_DEFCONST("zmq-USE-FD", ZMQ_USE_FD);
|
||||
EZMQ_DEFCONST("zmq-VMCI-BUFFER-MAX-SIZE", ZMQ_VMCI_BUFFER_MAX_SIZE);
|
||||
EZMQ_DEFCONST("zmq-VMCI-BUFFER-MIN-SIZE", ZMQ_VMCI_BUFFER_MIN_SIZE);
|
||||
EZMQ_DEFCONST("zmq-VMCI-BUFFER-SIZE", ZMQ_VMCI_BUFFER_SIZE);
|
||||
EZMQ_DEFCONST("zmq-VMCI-CONNECT-TIMEOUT", ZMQ_VMCI_CONNECT_TIMEOUT);
|
||||
EZMQ_DEFCONST("zmq-XPUB", ZMQ_XPUB);
|
||||
EZMQ_DEFCONST("zmq-XPUB-MANUAL", ZMQ_XPUB_MANUAL);
|
||||
EZMQ_DEFCONST("zmq-XPUB-NODROP", ZMQ_XPUB_NODROP);
|
||||
EZMQ_DEFCONST("zmq-XPUB-VERBOSE", ZMQ_XPUB_VERBOSE);
|
||||
EZMQ_DEFCONST("zmq-XPUB-VERBOSER", ZMQ_XPUB_VERBOSER);
|
||||
EZMQ_DEFCONST("zmq-XPUB-WELCOME-MSG", ZMQ_XPUB_WELCOME_MSG);
|
||||
EZMQ_DEFCONST("zmq-XREP", ZMQ_XREP);
|
||||
EZMQ_DEFCONST("zmq-XREQ", ZMQ_XREQ);
|
||||
EZMQ_DEFCONST("zmq-XSUB", ZMQ_XSUB);
|
||||
EZMQ_DEFCONST("zmq-ZAP-DOMAIN", ZMQ_ZAP_DOMAIN);
|
||||
EZMQ_DEFCONST("zmq-ZAP-ENFORCE-DOMAIN", ZMQ_ZAP_ENFORCE_DOMAIN);
|
||||
}
|
||||
63
lisp/zmq/src/context.c
Normal file
63
lisp/zmq/src/context.c
Normal file
@@ -0,0 +1,63 @@
|
||||
#include "context.h"
|
||||
|
||||
EZMQ_DOC(ezmq_context, "", "Create a new context.");
|
||||
emacs_value
|
||||
ezmq_context(void)
|
||||
{
|
||||
void *ctx = zmq_ctx_new();
|
||||
EZMQ_CHECK_NULL_ERROR(ctx);
|
||||
ezmq_debug("ezmq_context()\n");
|
||||
return ezmq_new_obj_ptr(ezmq_new_obj(EZMQ_CONTEXT, ctx));
|
||||
}
|
||||
|
||||
EZMQ_DOC(ezmq_ctx_set, "CONTEXT OPTION VALUE", "Set a CONTEXT OPTION to VALUE.");
|
||||
emacs_value
|
||||
ezmq_ctx_set(emacs_value econtext, emacs_value eoption, emacs_value evalue)
|
||||
{
|
||||
EZMQ_EXTRACT_OBJ(context, EZMQ_CONTEXT, econtext);
|
||||
EZMQ_EXTRACT_INT(option, eoption);
|
||||
if(option == ZMQ_BLOCKY || option == ZMQ_IPV6)
|
||||
EZMQ_CHECK_ERROR(zmq_ctx_set(context->obj, option, (int)!NILP(evalue)));
|
||||
else {
|
||||
EZMQ_EXTRACT_INT(value, evalue);
|
||||
EZMQ_CHECK_ERROR(zmq_ctx_set(context->obj, option, value));
|
||||
}
|
||||
return Qnil;
|
||||
}
|
||||
|
||||
EZMQ_DOC(ezmq_ctx_get, "CONTEXT OPTION", "Get a CONTEXT OPTION.");
|
||||
emacs_value
|
||||
ezmq_ctx_get(emacs_value econtext, emacs_value eoption)
|
||||
{
|
||||
emacs_value retval = Qnil;
|
||||
EZMQ_EXTRACT_OBJ(context, EZMQ_CONTEXT, econtext);
|
||||
EZMQ_EXTRACT_INT(option, eoption);
|
||||
|
||||
int val = zmq_ctx_get(context->obj, option);
|
||||
EZMQ_CHECK_ERROR(val);
|
||||
if(option == ZMQ_BLOCKY || option == ZMQ_IPV6) {
|
||||
if(val) retval = Qt;
|
||||
}
|
||||
else
|
||||
retval = INT(val);
|
||||
|
||||
return retval;
|
||||
}
|
||||
|
||||
EZMQ_DOC(ezmq_ctx_shutdown, "CONTEXT", "Shutdown CONTEXT.");
|
||||
emacs_value
|
||||
ezmq_ctx_shutdown(emacs_value econtext)
|
||||
{
|
||||
EZMQ_EXTRACT_OBJ(context, EZMQ_CONTEXT, econtext);
|
||||
EZMQ_CHECK_ERROR(zmq_ctx_shutdown(context->obj));
|
||||
return Qnil;
|
||||
}
|
||||
|
||||
EZMQ_DOC(ezmq_ctx_term, "CONTEXT", "Terminate CONTEXT.");
|
||||
emacs_value
|
||||
ezmq_ctx_term(emacs_value econtext)
|
||||
{
|
||||
EZMQ_EXTRACT_OBJ(context, EZMQ_CONTEXT, econtext);
|
||||
EZMQ_CHECK_ERROR(zmq_ctx_term(context->obj));
|
||||
return Qnil;
|
||||
}
|
||||
13
lisp/zmq/src/context.h
Normal file
13
lisp/zmq/src/context.h
Normal file
@@ -0,0 +1,13 @@
|
||||
|
||||
#ifndef __CONTEXT_H__
|
||||
#define __CONTEXT_H__
|
||||
|
||||
#include "core.h"
|
||||
|
||||
EZMQ_FUN(ezmq_context, void);
|
||||
EZMQ_FUN(ezmq_ctx_set, emacs_value, emacs_value, emacs_value);
|
||||
EZMQ_FUN(ezmq_ctx_get, emacs_value, emacs_value);
|
||||
EZMQ_FUN(ezmq_ctx_shutdown, emacs_value);
|
||||
EZMQ_FUN(ezmq_ctx_term, emacs_value);
|
||||
|
||||
#endif /* __CONTEXT_H__ */
|
||||
309
lisp/zmq/src/core.c
Normal file
309
lisp/zmq/src/core.c
Normal file
@@ -0,0 +1,309 @@
|
||||
#include "core.h"
|
||||
#include <assert.h>
|
||||
|
||||
/**
|
||||
Linked list of global references to be freed eventually.
|
||||
*/
|
||||
typedef struct ezmq_globref_t {
|
||||
struct ezmq_globref_t *next;
|
||||
emacs_value val;
|
||||
} ezmq_globref_t;
|
||||
|
||||
static ezmq_globref_t *globrefs = NULL;
|
||||
|
||||
#define ERR_CASE(err) \
|
||||
case err: { \
|
||||
const char *msg = zmq_strerror(err); \
|
||||
ptrdiff_t len = (ptrdiff_t)strlen(msg); \
|
||||
ezmq_signal(INTERN("zmq-"#err), 1, STRING(msg, len)); \
|
||||
} \
|
||||
break;
|
||||
|
||||
void
|
||||
ezmq_signal_error()
|
||||
{
|
||||
int en = zmq_errno();
|
||||
switch(en) {
|
||||
ERR_CASE(EINVAL);
|
||||
ERR_CASE(EPROTONOSUPPORT);
|
||||
ERR_CASE(ENOCOMPATPROTO);
|
||||
ERR_CASE(EADDRINUSE);
|
||||
ERR_CASE(EADDRNOTAVAIL);
|
||||
ERR_CASE(ENODEV);
|
||||
ERR_CASE(ETERM);
|
||||
ERR_CASE(ENOTSOCK);
|
||||
ERR_CASE(EMTHREAD);
|
||||
ERR_CASE(EFAULT);
|
||||
ERR_CASE(EINTR);
|
||||
ERR_CASE(ENOTSUP);
|
||||
ERR_CASE(ENOENT);
|
||||
ERR_CASE(ENOMEM);
|
||||
ERR_CASE(EAGAIN);
|
||||
ERR_CASE(EFSM);
|
||||
ERR_CASE(EHOSTUNREACH);
|
||||
ERR_CASE(EMFILE);
|
||||
default: {
|
||||
const char *msg = zmq_strerror(zmq_errno());
|
||||
ptrdiff_t len = (ptrdiff_t)strlen(msg);
|
||||
ezmq_signal(Qzmq_error, 1, STRING(msg, len));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#undef ERR_CASE
|
||||
|
||||
void *
|
||||
ezmq_malloc(size_t nbytes)
|
||||
{
|
||||
void *buf = NULL;
|
||||
if(!NONLOCAL_EXIT()) {
|
||||
buf = (void *)malloc(nbytes);
|
||||
if(!buf) ezmq_signal_error();
|
||||
}
|
||||
return buf;
|
||||
}
|
||||
|
||||
static char const *
|
||||
ezmq_type_string(enum ezmq_obj_t type)
|
||||
{
|
||||
switch(type) {
|
||||
case EZMQ_CONTEXT:
|
||||
return "zmq-context";
|
||||
case EZMQ_SOCKET:
|
||||
return "zmq-socket";
|
||||
case EZMQ_MESSAGE:
|
||||
return "zmq-message";
|
||||
case EZMQ_POLLER:
|
||||
return "zmq-poller";
|
||||
default:
|
||||
return NULL;
|
||||
}
|
||||
}
|
||||
|
||||
static emacs_value
|
||||
ezmq_type_symbol(enum ezmq_obj_t type)
|
||||
{
|
||||
char const *str = ezmq_type_string(type);
|
||||
return str ? INTERN(str) : Qnil;
|
||||
}
|
||||
|
||||
void
|
||||
ezmq_signal(emacs_value err, int nargs, ...)
|
||||
{
|
||||
va_list args;
|
||||
emacs_value data[nargs];
|
||||
va_start(args, nargs);
|
||||
int i;
|
||||
for(i = 0; i < nargs; i++) {
|
||||
data[i] = va_arg(args, emacs_value);
|
||||
}
|
||||
SIGNAL(err, FUNCALL(Qlist, nargs, data));
|
||||
va_end(args);
|
||||
}
|
||||
|
||||
static void
|
||||
ezmq_wrong_object_type(ezmq_obj_t *obj, enum ezmq_obj_t expected)
|
||||
{
|
||||
ezmq_wrong_type_argument(ezmq_type_symbol(obj->type),
|
||||
1, ezmq_type_symbol(expected));
|
||||
}
|
||||
|
||||
void
|
||||
ezmq_wrong_type_argument(emacs_value val, int nvalid, ...)
|
||||
{
|
||||
va_list args;
|
||||
va_start(args, nvalid);
|
||||
if(nvalid == 1) {
|
||||
SIGNAL(Qwrong_type_argument, LIST(2, val, va_arg(args, emacs_value)));
|
||||
} else if(nvalid > 1) {
|
||||
emacs_value options[nvalid + 1];
|
||||
options[0] = INTERN("or");
|
||||
int i;
|
||||
for(i = 1; i < nvalid + 1; i++) {
|
||||
options[i] = va_arg(args, emacs_value);
|
||||
}
|
||||
emacs_value options_list = FUNCALL(Qlist, nvalid + 1, options);
|
||||
SIGNAL(Qwrong_type_argument, LIST(2, val, options_list));
|
||||
} else {
|
||||
SIGNAL(Qwrong_type_argument, LIST(1, val));
|
||||
}
|
||||
va_end(args);
|
||||
}
|
||||
|
||||
void
|
||||
ezmq_args_out_of_range(emacs_value val, emacs_value range)
|
||||
{
|
||||
SIGNAL(Qargs_out_of_range, LIST(2, val, range));
|
||||
}
|
||||
|
||||
int
|
||||
ezmq_obj_of_type(emacs_value val, enum ezmq_obj_t type)
|
||||
{
|
||||
ezmq_obj_t *obj = USER_PTR(val);
|
||||
if(!NONLOCAL_EXIT() &&
|
||||
USER_FINALIZER(val) == &ezmq_obj_finalizer &&
|
||||
obj->type == type) {
|
||||
return 1;
|
||||
} else {
|
||||
CLEAR_NONLOCAL_EXIT();
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
ezmq_obj_t *
|
||||
ezmq_extract_obj(enum ezmq_obj_t type, emacs_value val)
|
||||
{
|
||||
ezmq_obj_t *obj = USER_PTR(val);
|
||||
if(!NONLOCAL_EXIT()) {
|
||||
if(USER_FINALIZER(val) == &ezmq_obj_finalizer) {
|
||||
if(obj->type != type) {
|
||||
ezmq_wrong_object_type(obj, type);
|
||||
} else if(type == EZMQ_SOCKET && obj->obj == NULL) {
|
||||
const char *msg = "Socket closed";
|
||||
ezmq_signal(INTERN("zmq-ENOTSOCK"), 1, STRING(msg, strlen(msg)));
|
||||
}
|
||||
} else {
|
||||
ezmq_wrong_type_argument(val, 1, ezmq_type_symbol(type));
|
||||
}
|
||||
}
|
||||
return obj;
|
||||
}
|
||||
|
||||
ezmq_obj_t *
|
||||
ezmq_new_obj(enum ezmq_obj_t type, void *obj)
|
||||
{
|
||||
ezmq_obj_t *eobj = ezmq_malloc(sizeof(*eobj));
|
||||
if(!NONLOCAL_EXIT()) {
|
||||
switch(type) {
|
||||
case EZMQ_MESSAGE:
|
||||
if(!obj) {
|
||||
obj = ezmq_malloc(sizeof(zmq_msg_t));
|
||||
if(!obj) {
|
||||
free(eobj);
|
||||
return NULL;
|
||||
}
|
||||
}
|
||||
break;
|
||||
default: break;
|
||||
}
|
||||
eobj->obj = obj;
|
||||
eobj->type = type;
|
||||
eobj->val = NULL;
|
||||
}
|
||||
return eobj;
|
||||
}
|
||||
|
||||
// TODO: Handle the case of multiple context objects, we
|
||||
// will need to join multiple threads at the end.
|
||||
void
|
||||
ezmq_obj_finalizer(void *ptr)
|
||||
{
|
||||
ezmq_obj_t *obj = (ezmq_obj_t *)ptr;
|
||||
|
||||
switch(obj->type) {
|
||||
case EZMQ_MESSAGE:
|
||||
zmq_msg_close(obj->obj);
|
||||
break;
|
||||
case EZMQ_SOCKET: {
|
||||
// If obj == NULL, zmq_close has already been called. See ezmq_close.
|
||||
if(obj->obj) {
|
||||
// http://zguide.zeromq.org/page:all#Making-a-Clean-Exit
|
||||
int opt = 0;
|
||||
zmq_setsockopt(obj->obj, ZMQ_LINGER, &opt, sizeof(opt));
|
||||
zmq_close(obj->obj);
|
||||
}
|
||||
break;
|
||||
}
|
||||
case EZMQ_CONTEXT: {
|
||||
int max_tries = 3;
|
||||
int i = 0;
|
||||
// Since a socket holds a reference to the context that was used to
|
||||
// create it (see ezmq_socket), by the time a context is finalized, all
|
||||
// sockets of the context have already been closed and their LINGER
|
||||
// periods set to 0 so this context termination call should not fail
|
||||
// due to open sockets. The loop is here as a sanity check.
|
||||
while((zmq_ctx_term(obj->obj) == -1) && (zmq_errno() == EINTR) && i < max_tries)
|
||||
i += 1;
|
||||
break;
|
||||
}
|
||||
case EZMQ_POLLER:
|
||||
zmq_poller_destroy(&(obj->obj));
|
||||
break;
|
||||
}
|
||||
ezmq_free_obj(obj);
|
||||
}
|
||||
|
||||
emacs_value
|
||||
ezmq_new_obj_ptr(ezmq_obj_t *obj)
|
||||
{
|
||||
return env->make_user_ptr(env, &ezmq_obj_finalizer, obj);
|
||||
}
|
||||
|
||||
void
|
||||
ezmq_free_obj(ezmq_obj_t *obj)
|
||||
{
|
||||
if(obj) {
|
||||
ezmq_debug("ezmq_free_obj(%s)\n", ezmq_type_string(obj->type));
|
||||
if(obj->type == EZMQ_MESSAGE) {
|
||||
free(obj->obj);
|
||||
}
|
||||
ezmq_push_globref(obj);
|
||||
free(obj);
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
ezmq_obj_set_val(ezmq_obj_t *obj, emacs_value val)
|
||||
{
|
||||
if(!NONLOCAL_EXIT()) {
|
||||
ezmq_push_globref(obj);
|
||||
obj->val = val ? GLOBREF(val) : NULL;
|
||||
}
|
||||
}
|
||||
|
||||
emacs_value
|
||||
ezmq_obj_get_val(ezmq_obj_t *obj)
|
||||
{
|
||||
return obj->val ? obj->val : Qnil;
|
||||
}
|
||||
|
||||
void
|
||||
ezmq_push_globref(ezmq_obj_t *obj)
|
||||
{
|
||||
if(obj->val) {
|
||||
ezmq_debug("push globref\n");
|
||||
ezmq_globref_t *el = malloc(sizeof(*el));
|
||||
assert(el != NULL);
|
||||
el->next = globrefs;
|
||||
el->val = obj->val;
|
||||
globrefs = el;
|
||||
}
|
||||
}
|
||||
|
||||
emacs_value
|
||||
ezmq_pop_globref()
|
||||
{
|
||||
if(globrefs) {
|
||||
ezmq_debug("pop globref\n");
|
||||
ezmq_globref_t *el = globrefs;
|
||||
emacs_value val = globrefs->val;
|
||||
globrefs = globrefs->next;
|
||||
free(el);
|
||||
return val;
|
||||
} else
|
||||
return NULL;
|
||||
}
|
||||
|
||||
char *
|
||||
ezmq_copy_string(emacs_value str, ptrdiff_t *size)
|
||||
{
|
||||
*size = 0;
|
||||
ptrdiff_t sz = 1;
|
||||
if(!env->copy_string_contents(env, str, NULL, &sz)) return NULL;
|
||||
char *buf = ezmq_malloc(sz);
|
||||
env->copy_string_contents(env, str, buf, &sz);
|
||||
// The size returned by copy_string_contents contains the terminanting NULL
|
||||
// byte.
|
||||
if(size != NULL) *size = sz - 1;
|
||||
return buf;
|
||||
}
|
||||
297
lisp/zmq/src/core.h
Normal file
297
lisp/zmq/src/core.h
Normal file
@@ -0,0 +1,297 @@
|
||||
#ifndef __CORE_H__
|
||||
#define __CORE_H__
|
||||
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <stdarg.h>
|
||||
#include <zmq.h>
|
||||
#include <stdbool.h>
|
||||
#include "emacs-module.h"
|
||||
|
||||
/**
|
||||
About what environment functions do when a non-local exit is pending, from
|
||||
http://phst.github.io/emacs-modules.html#when-a-nonlocal-exit-is-pending-module-functions-silently-do-nothing:
|
||||
|
||||
environment functions exhibit saturating behavior: once a nonlocal exit
|
||||
is pending for an environment, all environment functions called for that
|
||||
environment silently ignore all their arguments (except the environment
|
||||
pointer itself) and return an unspecified value.
|
||||
*/
|
||||
|
||||
#ifndef EZMQ_DEBUG
|
||||
#define EZMQ_DEBUG 0
|
||||
#endif
|
||||
|
||||
#define ezmq_debug(str, ...) if(EZMQ_DEBUG) fprintf(stderr, str, ##__VA_ARGS__)
|
||||
|
||||
/**
|
||||
Helper macros to aid in interacting with the Emacs environment. They all
|
||||
expect an implicit emacs_env variable named env to be defined in the calling
|
||||
environment of the macro.
|
||||
*/
|
||||
#define INTERN(val) env->intern(env, (val))
|
||||
|
||||
#define FUNCALL(fun, nargs, args) env->funcall(env, (fun), (nargs), (args))
|
||||
|
||||
#define CAR(list) FUNCALL(Qcar, 1, &(list))
|
||||
|
||||
#define CDR(list) FUNCALL(Qcdr, 1, &(list))
|
||||
|
||||
#define INT(i) env->make_integer(env, (i))
|
||||
|
||||
// Should only be used when i is guaranteed to be an integer, otherwise use
|
||||
// EZMQ_EXTRACT_INT
|
||||
#define EXTRACT_INT(i) env->extract_integer(env, (i))
|
||||
|
||||
#define STRING(str, len) env->make_string(env, (str), (len))
|
||||
|
||||
#define LIST(count, ...) FUNCALL(Qlist, (count), ((emacs_value []){ __VA_ARGS__ }))
|
||||
|
||||
#define CONS(car, cdr) FUNCALL(Qcons, 2, ((emacs_value []){ (car), (cdr) }))
|
||||
|
||||
#define TYPE(val) env->type_of(env, (val))
|
||||
|
||||
#define USER_PTR(val) env->get_user_ptr(env, (val))
|
||||
|
||||
#define USER_FINALIZER(val) env->get_user_finalizer(env, (val))
|
||||
|
||||
#define EQ(a, b) env->eq(env, (a), (b))
|
||||
|
||||
#define NILP(a) !env->is_not_nil(env, (a))
|
||||
|
||||
#define EQUAL(a, b) EQ(FUNCALL(Qequal, 2, ((emacs_value []){ (a), (b) })), Qt)
|
||||
|
||||
#define LENGTH(list) env->extract_integer(env, FUNCALL(Qlength, 1, &(list)))
|
||||
|
||||
#define AREF(vec, i) env->vec_get(env, (vec), (i))
|
||||
|
||||
#define VEC_LENGTH(vec) env->vec_size(env, (vec))
|
||||
|
||||
#define GLOBREF(val) env->make_global_ref(env, (val))
|
||||
|
||||
#define FREE_GLOBREF(val) env->free_global_ref(env, (val))
|
||||
|
||||
#define NONLOCAL_EXIT() (env->non_local_exit_check(env) != emacs_funcall_exit_return)
|
||||
|
||||
#define CLEAR_NONLOCAL_EXIT() env->non_local_exit_clear(env)
|
||||
|
||||
#define SIGNAL(err, data) env->non_local_exit_signal(env, (err), (data))
|
||||
|
||||
/**
|
||||
EZMQ_EXTRACT_* macros transform the Lisp object representations to their
|
||||
corresponding C representations. If during the extraction an error is
|
||||
signaled, they immediately exit the function where the macro was expanded by
|
||||
returning NULL.
|
||||
*/
|
||||
|
||||
#define EZMQ_EXTRACT_INT(name, val) \
|
||||
intmax_t name = env->extract_integer(env, (val)); \
|
||||
do { \
|
||||
if(NONLOCAL_EXIT()) { \
|
||||
return NULL; \
|
||||
} \
|
||||
} while(0)
|
||||
|
||||
#define EZMQ_EXTRACT_OPTIONAL_INT(name, val) \
|
||||
intmax_t name = EQ((val), Qnil) ? 0 : \
|
||||
env->extract_integer(env, (val)); \
|
||||
do { \
|
||||
if(NONLOCAL_EXIT()) { \
|
||||
return NULL; \
|
||||
} \
|
||||
} while(0)
|
||||
|
||||
#define EZMQ_EXTRACT_OBJ(name, type, val) \
|
||||
ezmq_obj_t *name = ezmq_extract_obj(type, (val)); \
|
||||
if(NONLOCAL_EXIT()) return NULL \
|
||||
|
||||
#define EZMQ_EXTRACT_OPTIONAL_OBJ(name, type, val) \
|
||||
ezmq_obj_t *name = EQ((val), Qnil) ? NULL : \
|
||||
ezmq_extract_obj(type, (val)); \
|
||||
if(NONLOCAL_EXIT()) return NULL \
|
||||
|
||||
#define EZMQ_EXTRACT_STRING(name, len, val) \
|
||||
ptrdiff_t len = 0; \
|
||||
char *name = ezmq_copy_string((val), &len); \
|
||||
do { \
|
||||
if(NONLOCAL_EXIT()) { \
|
||||
return NULL; \
|
||||
} \
|
||||
} while(0)
|
||||
|
||||
/**
|
||||
The EZMQ_CHECK_* macros check that that expression passed as their argument
|
||||
evaluates to something other than -1 (EZMQ_CHECK_ERROR) or NULL
|
||||
(EZMQ_CHECK_NULL_ERROR). If they do evaluate to -1 or NULL, they signal an
|
||||
error. Note, the expressions passed as arguments will not be evaluated if a
|
||||
non-local exit is pending already.
|
||||
*/
|
||||
|
||||
#define EZMQ_CHECK_ERROR(expr) \
|
||||
do { \
|
||||
if(NONLOCAL_EXIT()) break; \
|
||||
int __retcode = (expr); \
|
||||
if(__retcode == -1) { \
|
||||
ezmq_signal_error(); \
|
||||
} \
|
||||
} while(0)
|
||||
|
||||
#define EZMQ_CHECK_NULL_ERROR(expr) \
|
||||
do { \
|
||||
if(NONLOCAL_EXIT()) break; \
|
||||
if((void *)(expr) == NULL) { \
|
||||
ezmq_signal_error(); \
|
||||
} \
|
||||
} while(0)
|
||||
|
||||
#define EZMQ_DOC(name, args, doc) \
|
||||
const char *__zmq_doc_##name = doc "\n\n(fn " args ")"
|
||||
|
||||
#define EZMQ_FUN(name, ...) \
|
||||
extern const char *__zmq_doc_##name; \
|
||||
extern emacs_value name(__VA_ARGS__)
|
||||
|
||||
enum ezmq_obj_t {
|
||||
EZMQ_CONTEXT = 0xe178c286,
|
||||
EZMQ_MESSAGE = 0xe178c286 + 2,
|
||||
EZMQ_SOCKET = 0xe178c286 + 4,
|
||||
EZMQ_POLLER = 0xe178c286 + 8
|
||||
};
|
||||
|
||||
typedef struct {
|
||||
enum ezmq_obj_t type;
|
||||
void *obj;
|
||||
// Extra object that can be stored, use ezmq_obj_get_val() and
|
||||
// ezmq_obj_set_val() to access it.
|
||||
emacs_value val;
|
||||
} ezmq_obj_t;
|
||||
|
||||
// Set to the current Emacs environment, see ezmq_dispatch
|
||||
extern emacs_env *env;
|
||||
|
||||
extern emacs_value Qzmq_error, Qt, Qnil, Qnth, Qlist,
|
||||
Qwrong_type_argument, Qargs_out_of_range,
|
||||
Qcons, Qstring, Qvector, Qcar, Qcdr, Qlength, Qinteger, Qequal,
|
||||
Qzmq_POLLIN, Qzmq_POLLPRI, Qzmq_POLLERR, Qzmq_POLLOUT,
|
||||
Izmq_POLLIN, Izmq_POLLPRI, Izmq_POLLERR, Izmq_POLLOUT;
|
||||
|
||||
/**
|
||||
Signal an Emacs error.
|
||||
ERR is the error symbol, the remaining arguments are used as the error data.
|
||||
*/
|
||||
extern void
|
||||
ezmq_signal(emacs_value err, int nargs, ...);
|
||||
|
||||
/**
|
||||
Signal an Emacs `wrong-type-argument` error.
|
||||
|
||||
VAL is the object with a wrong type, the remaining arguments should be the
|
||||
types that VAL should take.
|
||||
*/
|
||||
extern void
|
||||
ezmq_wrong_type_argument(emacs_value val, int nvalid, ...);
|
||||
|
||||
/**
|
||||
Signal an Emacs `args-out-of-range` error.
|
||||
VAL is the object whose range is out of bounds. RANGE is an object
|
||||
describing the bounds that are valid.
|
||||
*/
|
||||
extern void
|
||||
ezmq_args_out_of_range(emacs_value val, emacs_value range);
|
||||
|
||||
/**
|
||||
Signal an error created from the current value of zmq_errno().
|
||||
*/
|
||||
extern void
|
||||
ezmq_signal_error();
|
||||
|
||||
/**
|
||||
Create a new ezmq_obj with type and obj and returns a user-ptr to it. As a
|
||||
special case if type is EZMQ_MESSAGE and obj is NULL, allocate the required
|
||||
zmq_msg_t object. This is the normal way to create new ZMQ message objects.
|
||||
The environment is passed for the case when nno memory can be allocated, an
|
||||
error is signaled and this function will return NULL.
|
||||
*/
|
||||
extern emacs_value
|
||||
ezmq_new_obj_ptr(ezmq_obj_t *obj);
|
||||
|
||||
/**
|
||||
Allocate and return an ezmq_obj_t with TYPE and OBJ. Signal a non-local exit
|
||||
if anything goes wrong.
|
||||
*/
|
||||
extern ezmq_obj_t *
|
||||
ezmq_new_obj(enum ezmq_obj_t type, void *obj);
|
||||
|
||||
/**
|
||||
Free the memory used to wrap a ZMQ object. Note this only free's the memoery
|
||||
used by a ezmq_obj_t not the underlying object it points to. See
|
||||
ezmq_obj_finalizer for freeing up the resources used by the ZMQ objects.
|
||||
*/
|
||||
extern void
|
||||
ezmq_free_obj(ezmq_obj_t *obj);
|
||||
|
||||
/**
|
||||
Set the VAL field of OBJ.
|
||||
Un-reference any current value stored in OBJ, make a global reference to VAL
|
||||
and store in OBJ->val.
|
||||
*/
|
||||
extern void
|
||||
ezmq_obj_set_val(ezmq_obj_t *obj, emacs_value val);
|
||||
|
||||
/**
|
||||
Return the VAL field of OBJ.
|
||||
If OBJ's VAL field is empty, return Qnil.
|
||||
*/
|
||||
emacs_value
|
||||
ezmq_obj_get_val(ezmq_obj_t *obj);
|
||||
|
||||
/**
|
||||
Add OBJ->val to a stack of values to call FREE_GLOBREF() on next dispatch.
|
||||
Do this only if OBJ->val is not NULL. The global references are also cleaned
|
||||
up after every garbage collection in Emacs.
|
||||
*/
|
||||
extern void
|
||||
ezmq_push_globref(ezmq_obj_t *obj);
|
||||
|
||||
/**
|
||||
Remove a value from the stack of values pushed to by ezmq_push_globref()
|
||||
*/
|
||||
extern emacs_value
|
||||
ezmq_pop_globref();
|
||||
|
||||
/**
|
||||
Return 1 if Emacs VAL is a ZMQ object with TYPE, 0 otherwise.
|
||||
*/
|
||||
extern int
|
||||
ezmq_obj_of_type(emacs_value val, enum ezmq_obj_t type);
|
||||
|
||||
/**
|
||||
Extract an ezmq_obj_t from the Lisp object in OBJ. Signal a non-local exit
|
||||
if the extracted object doesn't match TYPE.
|
||||
*/
|
||||
extern ezmq_obj_t *
|
||||
ezmq_extract_obj(enum ezmq_obj_t type, emacs_value obj);
|
||||
|
||||
/**
|
||||
Cleanup resources of a ezmq_obj_t. Meant to be added as the object finalizer
|
||||
when wrapping ezmq_obj_t objects as a user_ptr.
|
||||
*/
|
||||
extern void
|
||||
ezmq_obj_finalizer(void *);
|
||||
|
||||
/**
|
||||
Similar to malloc, but signal an error if no memory could be allocated and
|
||||
do not attempt to allocate if a non-local exit is pending. In both cases,
|
||||
return NULL.
|
||||
*/
|
||||
extern void *
|
||||
ezmq_malloc(size_t nbytes);
|
||||
|
||||
/**
|
||||
Copy and return a pointer to an Emacs string. The caller is responsible for
|
||||
freeing the memory returned.
|
||||
*/
|
||||
extern char *
|
||||
ezmq_copy_string(emacs_value str, ptrdiff_t *size);
|
||||
|
||||
#endif /* __CORE_H__ */
|
||||
791
lisp/zmq/src/depcomp
Executable file
791
lisp/zmq/src/depcomp
Executable file
@@ -0,0 +1,791 @@
|
||||
#! /bin/sh
|
||||
# depcomp - compile a program generating dependencies as side-effects
|
||||
|
||||
scriptversion=2018-03-07.03; # UTC
|
||||
|
||||
# Copyright (C) 1999-2021 Free Software Foundation, Inc.
|
||||
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 2, or (at your option)
|
||||
# any later version.
|
||||
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
|
||||
# As a special exception to the GNU General Public License, if you
|
||||
# distribute this file as part of a program that contains a
|
||||
# configuration script generated by Autoconf, you may include it under
|
||||
# the same distribution terms that you use for the rest of that program.
|
||||
|
||||
# Originally written by Alexandre Oliva <oliva@dcc.unicamp.br>.
|
||||
|
||||
case $1 in
|
||||
'')
|
||||
echo "$0: No command. Try '$0 --help' for more information." 1>&2
|
||||
exit 1;
|
||||
;;
|
||||
-h | --h*)
|
||||
cat <<\EOF
|
||||
Usage: depcomp [--help] [--version] PROGRAM [ARGS]
|
||||
|
||||
Run PROGRAMS ARGS to compile a file, generating dependencies
|
||||
as side-effects.
|
||||
|
||||
Environment variables:
|
||||
depmode Dependency tracking mode.
|
||||
source Source file read by 'PROGRAMS ARGS'.
|
||||
object Object file output by 'PROGRAMS ARGS'.
|
||||
DEPDIR directory where to store dependencies.
|
||||
depfile Dependency file to output.
|
||||
tmpdepfile Temporary file to use when outputting dependencies.
|
||||
libtool Whether libtool is used (yes/no).
|
||||
|
||||
Report bugs to <bug-automake@gnu.org>.
|
||||
EOF
|
||||
exit $?
|
||||
;;
|
||||
-v | --v*)
|
||||
echo "depcomp $scriptversion"
|
||||
exit $?
|
||||
;;
|
||||
esac
|
||||
|
||||
# Get the directory component of the given path, and save it in the
|
||||
# global variables '$dir'. Note that this directory component will
|
||||
# be either empty or ending with a '/' character. This is deliberate.
|
||||
set_dir_from ()
|
||||
{
|
||||
case $1 in
|
||||
*/*) dir=`echo "$1" | sed -e 's|/[^/]*$|/|'`;;
|
||||
*) dir=;;
|
||||
esac
|
||||
}
|
||||
|
||||
# Get the suffix-stripped basename of the given path, and save it the
|
||||
# global variable '$base'.
|
||||
set_base_from ()
|
||||
{
|
||||
base=`echo "$1" | sed -e 's|^.*/||' -e 's/\.[^.]*$//'`
|
||||
}
|
||||
|
||||
# If no dependency file was actually created by the compiler invocation,
|
||||
# we still have to create a dummy depfile, to avoid errors with the
|
||||
# Makefile "include basename.Plo" scheme.
|
||||
make_dummy_depfile ()
|
||||
{
|
||||
echo "#dummy" > "$depfile"
|
||||
}
|
||||
|
||||
# Factor out some common post-processing of the generated depfile.
|
||||
# Requires the auxiliary global variable '$tmpdepfile' to be set.
|
||||
aix_post_process_depfile ()
|
||||
{
|
||||
# If the compiler actually managed to produce a dependency file,
|
||||
# post-process it.
|
||||
if test -f "$tmpdepfile"; then
|
||||
# Each line is of the form 'foo.o: dependency.h'.
|
||||
# Do two passes, one to just change these to
|
||||
# $object: dependency.h
|
||||
# and one to simply output
|
||||
# dependency.h:
|
||||
# which is needed to avoid the deleted-header problem.
|
||||
{ sed -e "s,^.*\.[$lower]*:,$object:," < "$tmpdepfile"
|
||||
sed -e "s,^.*\.[$lower]*:[$tab ]*,," -e 's,$,:,' < "$tmpdepfile"
|
||||
} > "$depfile"
|
||||
rm -f "$tmpdepfile"
|
||||
else
|
||||
make_dummy_depfile
|
||||
fi
|
||||
}
|
||||
|
||||
# A tabulation character.
|
||||
tab=' '
|
||||
# A newline character.
|
||||
nl='
|
||||
'
|
||||
# Character ranges might be problematic outside the C locale.
|
||||
# These definitions help.
|
||||
upper=ABCDEFGHIJKLMNOPQRSTUVWXYZ
|
||||
lower=abcdefghijklmnopqrstuvwxyz
|
||||
digits=0123456789
|
||||
alpha=${upper}${lower}
|
||||
|
||||
if test -z "$depmode" || test -z "$source" || test -z "$object"; then
|
||||
echo "depcomp: Variables source, object and depmode must be set" 1>&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Dependencies for sub/bar.o or sub/bar.obj go into sub/.deps/bar.Po.
|
||||
depfile=${depfile-`echo "$object" |
|
||||
sed 's|[^\\/]*$|'${DEPDIR-.deps}'/&|;s|\.\([^.]*\)$|.P\1|;s|Pobj$|Po|'`}
|
||||
tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`}
|
||||
|
||||
rm -f "$tmpdepfile"
|
||||
|
||||
# Avoid interferences from the environment.
|
||||
gccflag= dashmflag=
|
||||
|
||||
# Some modes work just like other modes, but use different flags. We
|
||||
# parameterize here, but still list the modes in the big case below,
|
||||
# to make depend.m4 easier to write. Note that we *cannot* use a case
|
||||
# here, because this file can only contain one case statement.
|
||||
if test "$depmode" = hp; then
|
||||
# HP compiler uses -M and no extra arg.
|
||||
gccflag=-M
|
||||
depmode=gcc
|
||||
fi
|
||||
|
||||
if test "$depmode" = dashXmstdout; then
|
||||
# This is just like dashmstdout with a different argument.
|
||||
dashmflag=-xM
|
||||
depmode=dashmstdout
|
||||
fi
|
||||
|
||||
cygpath_u="cygpath -u -f -"
|
||||
if test "$depmode" = msvcmsys; then
|
||||
# This is just like msvisualcpp but w/o cygpath translation.
|
||||
# Just convert the backslash-escaped backslashes to single forward
|
||||
# slashes to satisfy depend.m4
|
||||
cygpath_u='sed s,\\\\,/,g'
|
||||
depmode=msvisualcpp
|
||||
fi
|
||||
|
||||
if test "$depmode" = msvc7msys; then
|
||||
# This is just like msvc7 but w/o cygpath translation.
|
||||
# Just convert the backslash-escaped backslashes to single forward
|
||||
# slashes to satisfy depend.m4
|
||||
cygpath_u='sed s,\\\\,/,g'
|
||||
depmode=msvc7
|
||||
fi
|
||||
|
||||
if test "$depmode" = xlc; then
|
||||
# IBM C/C++ Compilers xlc/xlC can output gcc-like dependency information.
|
||||
gccflag=-qmakedep=gcc,-MF
|
||||
depmode=gcc
|
||||
fi
|
||||
|
||||
case "$depmode" in
|
||||
gcc3)
|
||||
## gcc 3 implements dependency tracking that does exactly what
|
||||
## we want. Yay! Note: for some reason libtool 1.4 doesn't like
|
||||
## it if -MD -MP comes after the -MF stuff. Hmm.
|
||||
## Unfortunately, FreeBSD c89 acceptance of flags depends upon
|
||||
## the command line argument order; so add the flags where they
|
||||
## appear in depend2.am. Note that the slowdown incurred here
|
||||
## affects only configure: in makefiles, %FASTDEP% shortcuts this.
|
||||
for arg
|
||||
do
|
||||
case $arg in
|
||||
-c) set fnord "$@" -MT "$object" -MD -MP -MF "$tmpdepfile" "$arg" ;;
|
||||
*) set fnord "$@" "$arg" ;;
|
||||
esac
|
||||
shift # fnord
|
||||
shift # $arg
|
||||
done
|
||||
"$@"
|
||||
stat=$?
|
||||
if test $stat -ne 0; then
|
||||
rm -f "$tmpdepfile"
|
||||
exit $stat
|
||||
fi
|
||||
mv "$tmpdepfile" "$depfile"
|
||||
;;
|
||||
|
||||
gcc)
|
||||
## Note that this doesn't just cater to obsosete pre-3.x GCC compilers.
|
||||
## but also to in-use compilers like IMB xlc/xlC and the HP C compiler.
|
||||
## (see the conditional assignment to $gccflag above).
|
||||
## There are various ways to get dependency output from gcc. Here's
|
||||
## why we pick this rather obscure method:
|
||||
## - Don't want to use -MD because we'd like the dependencies to end
|
||||
## up in a subdir. Having to rename by hand is ugly.
|
||||
## (We might end up doing this anyway to support other compilers.)
|
||||
## - The DEPENDENCIES_OUTPUT environment variable makes gcc act like
|
||||
## -MM, not -M (despite what the docs say). Also, it might not be
|
||||
## supported by the other compilers which use the 'gcc' depmode.
|
||||
## - Using -M directly means running the compiler twice (even worse
|
||||
## than renaming).
|
||||
if test -z "$gccflag"; then
|
||||
gccflag=-MD,
|
||||
fi
|
||||
"$@" -Wp,"$gccflag$tmpdepfile"
|
||||
stat=$?
|
||||
if test $stat -ne 0; then
|
||||
rm -f "$tmpdepfile"
|
||||
exit $stat
|
||||
fi
|
||||
rm -f "$depfile"
|
||||
echo "$object : \\" > "$depfile"
|
||||
# The second -e expression handles DOS-style file names with drive
|
||||
# letters.
|
||||
sed -e 's/^[^:]*: / /' \
|
||||
-e 's/^['$alpha']:\/[^:]*: / /' < "$tmpdepfile" >> "$depfile"
|
||||
## This next piece of magic avoids the "deleted header file" problem.
|
||||
## The problem is that when a header file which appears in a .P file
|
||||
## is deleted, the dependency causes make to die (because there is
|
||||
## typically no way to rebuild the header). We avoid this by adding
|
||||
## dummy dependencies for each header file. Too bad gcc doesn't do
|
||||
## this for us directly.
|
||||
## Some versions of gcc put a space before the ':'. On the theory
|
||||
## that the space means something, we add a space to the output as
|
||||
## well. hp depmode also adds that space, but also prefixes the VPATH
|
||||
## to the object. Take care to not repeat it in the output.
|
||||
## Some versions of the HPUX 10.20 sed can't process this invocation
|
||||
## correctly. Breaking it into two sed invocations is a workaround.
|
||||
tr ' ' "$nl" < "$tmpdepfile" \
|
||||
| sed -e 's/^\\$//' -e '/^$/d' -e "s|.*$object$||" -e '/:$/d' \
|
||||
| sed -e 's/$/ :/' >> "$depfile"
|
||||
rm -f "$tmpdepfile"
|
||||
;;
|
||||
|
||||
hp)
|
||||
# This case exists only to let depend.m4 do its work. It works by
|
||||
# looking at the text of this script. This case will never be run,
|
||||
# since it is checked for above.
|
||||
exit 1
|
||||
;;
|
||||
|
||||
sgi)
|
||||
if test "$libtool" = yes; then
|
||||
"$@" "-Wp,-MDupdate,$tmpdepfile"
|
||||
else
|
||||
"$@" -MDupdate "$tmpdepfile"
|
||||
fi
|
||||
stat=$?
|
||||
if test $stat -ne 0; then
|
||||
rm -f "$tmpdepfile"
|
||||
exit $stat
|
||||
fi
|
||||
rm -f "$depfile"
|
||||
|
||||
if test -f "$tmpdepfile"; then # yes, the sourcefile depend on other files
|
||||
echo "$object : \\" > "$depfile"
|
||||
# Clip off the initial element (the dependent). Don't try to be
|
||||
# clever and replace this with sed code, as IRIX sed won't handle
|
||||
# lines with more than a fixed number of characters (4096 in
|
||||
# IRIX 6.2 sed, 8192 in IRIX 6.5). We also remove comment lines;
|
||||
# the IRIX cc adds comments like '#:fec' to the end of the
|
||||
# dependency line.
|
||||
tr ' ' "$nl" < "$tmpdepfile" \
|
||||
| sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' \
|
||||
| tr "$nl" ' ' >> "$depfile"
|
||||
echo >> "$depfile"
|
||||
# The second pass generates a dummy entry for each header file.
|
||||
tr ' ' "$nl" < "$tmpdepfile" \
|
||||
| sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \
|
||||
>> "$depfile"
|
||||
else
|
||||
make_dummy_depfile
|
||||
fi
|
||||
rm -f "$tmpdepfile"
|
||||
;;
|
||||
|
||||
xlc)
|
||||
# This case exists only to let depend.m4 do its work. It works by
|
||||
# looking at the text of this script. This case will never be run,
|
||||
# since it is checked for above.
|
||||
exit 1
|
||||
;;
|
||||
|
||||
aix)
|
||||
# The C for AIX Compiler uses -M and outputs the dependencies
|
||||
# in a .u file. In older versions, this file always lives in the
|
||||
# current directory. Also, the AIX compiler puts '$object:' at the
|
||||
# start of each line; $object doesn't have directory information.
|
||||
# Version 6 uses the directory in both cases.
|
||||
set_dir_from "$object"
|
||||
set_base_from "$object"
|
||||
if test "$libtool" = yes; then
|
||||
tmpdepfile1=$dir$base.u
|
||||
tmpdepfile2=$base.u
|
||||
tmpdepfile3=$dir.libs/$base.u
|
||||
"$@" -Wc,-M
|
||||
else
|
||||
tmpdepfile1=$dir$base.u
|
||||
tmpdepfile2=$dir$base.u
|
||||
tmpdepfile3=$dir$base.u
|
||||
"$@" -M
|
||||
fi
|
||||
stat=$?
|
||||
if test $stat -ne 0; then
|
||||
rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
|
||||
exit $stat
|
||||
fi
|
||||
|
||||
for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
|
||||
do
|
||||
test -f "$tmpdepfile" && break
|
||||
done
|
||||
aix_post_process_depfile
|
||||
;;
|
||||
|
||||
tcc)
|
||||
# tcc (Tiny C Compiler) understand '-MD -MF file' since version 0.9.26
|
||||
# FIXME: That version still under development at the moment of writing.
|
||||
# Make that this statement remains true also for stable, released
|
||||
# versions.
|
||||
# It will wrap lines (doesn't matter whether long or short) with a
|
||||
# trailing '\', as in:
|
||||
#
|
||||
# foo.o : \
|
||||
# foo.c \
|
||||
# foo.h \
|
||||
#
|
||||
# It will put a trailing '\' even on the last line, and will use leading
|
||||
# spaces rather than leading tabs (at least since its commit 0394caf7
|
||||
# "Emit spaces for -MD").
|
||||
"$@" -MD -MF "$tmpdepfile"
|
||||
stat=$?
|
||||
if test $stat -ne 0; then
|
||||
rm -f "$tmpdepfile"
|
||||
exit $stat
|
||||
fi
|
||||
rm -f "$depfile"
|
||||
# Each non-empty line is of the form 'foo.o : \' or ' dep.h \'.
|
||||
# We have to change lines of the first kind to '$object: \'.
|
||||
sed -e "s|.*:|$object :|" < "$tmpdepfile" > "$depfile"
|
||||
# And for each line of the second kind, we have to emit a 'dep.h:'
|
||||
# dummy dependency, to avoid the deleted-header problem.
|
||||
sed -n -e 's|^ *\(.*\) *\\$|\1:|p' < "$tmpdepfile" >> "$depfile"
|
||||
rm -f "$tmpdepfile"
|
||||
;;
|
||||
|
||||
## The order of this option in the case statement is important, since the
|
||||
## shell code in configure will try each of these formats in the order
|
||||
## listed in this file. A plain '-MD' option would be understood by many
|
||||
## compilers, so we must ensure this comes after the gcc and icc options.
|
||||
pgcc)
|
||||
# Portland's C compiler understands '-MD'.
|
||||
# Will always output deps to 'file.d' where file is the root name of the
|
||||
# source file under compilation, even if file resides in a subdirectory.
|
||||
# The object file name does not affect the name of the '.d' file.
|
||||
# pgcc 10.2 will output
|
||||
# foo.o: sub/foo.c sub/foo.h
|
||||
# and will wrap long lines using '\' :
|
||||
# foo.o: sub/foo.c ... \
|
||||
# sub/foo.h ... \
|
||||
# ...
|
||||
set_dir_from "$object"
|
||||
# Use the source, not the object, to determine the base name, since
|
||||
# that's sadly what pgcc will do too.
|
||||
set_base_from "$source"
|
||||
tmpdepfile=$base.d
|
||||
|
||||
# For projects that build the same source file twice into different object
|
||||
# files, the pgcc approach of using the *source* file root name can cause
|
||||
# problems in parallel builds. Use a locking strategy to avoid stomping on
|
||||
# the same $tmpdepfile.
|
||||
lockdir=$base.d-lock
|
||||
trap "
|
||||
echo '$0: caught signal, cleaning up...' >&2
|
||||
rmdir '$lockdir'
|
||||
exit 1
|
||||
" 1 2 13 15
|
||||
numtries=100
|
||||
i=$numtries
|
||||
while test $i -gt 0; do
|
||||
# mkdir is a portable test-and-set.
|
||||
if mkdir "$lockdir" 2>/dev/null; then
|
||||
# This process acquired the lock.
|
||||
"$@" -MD
|
||||
stat=$?
|
||||
# Release the lock.
|
||||
rmdir "$lockdir"
|
||||
break
|
||||
else
|
||||
# If the lock is being held by a different process, wait
|
||||
# until the winning process is done or we timeout.
|
||||
while test -d "$lockdir" && test $i -gt 0; do
|
||||
sleep 1
|
||||
i=`expr $i - 1`
|
||||
done
|
||||
fi
|
||||
i=`expr $i - 1`
|
||||
done
|
||||
trap - 1 2 13 15
|
||||
if test $i -le 0; then
|
||||
echo "$0: failed to acquire lock after $numtries attempts" >&2
|
||||
echo "$0: check lockdir '$lockdir'" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if test $stat -ne 0; then
|
||||
rm -f "$tmpdepfile"
|
||||
exit $stat
|
||||
fi
|
||||
rm -f "$depfile"
|
||||
# Each line is of the form `foo.o: dependent.h',
|
||||
# or `foo.o: dep1.h dep2.h \', or ` dep3.h dep4.h \'.
|
||||
# Do two passes, one to just change these to
|
||||
# `$object: dependent.h' and one to simply `dependent.h:'.
|
||||
sed "s,^[^:]*:,$object :," < "$tmpdepfile" > "$depfile"
|
||||
# Some versions of the HPUX 10.20 sed can't process this invocation
|
||||
# correctly. Breaking it into two sed invocations is a workaround.
|
||||
sed 's,^[^:]*: \(.*\)$,\1,;s/^\\$//;/^$/d;/:$/d' < "$tmpdepfile" \
|
||||
| sed -e 's/$/ :/' >> "$depfile"
|
||||
rm -f "$tmpdepfile"
|
||||
;;
|
||||
|
||||
hp2)
|
||||
# The "hp" stanza above does not work with aCC (C++) and HP's ia64
|
||||
# compilers, which have integrated preprocessors. The correct option
|
||||
# to use with these is +Maked; it writes dependencies to a file named
|
||||
# 'foo.d', which lands next to the object file, wherever that
|
||||
# happens to be.
|
||||
# Much of this is similar to the tru64 case; see comments there.
|
||||
set_dir_from "$object"
|
||||
set_base_from "$object"
|
||||
if test "$libtool" = yes; then
|
||||
tmpdepfile1=$dir$base.d
|
||||
tmpdepfile2=$dir.libs/$base.d
|
||||
"$@" -Wc,+Maked
|
||||
else
|
||||
tmpdepfile1=$dir$base.d
|
||||
tmpdepfile2=$dir$base.d
|
||||
"$@" +Maked
|
||||
fi
|
||||
stat=$?
|
||||
if test $stat -ne 0; then
|
||||
rm -f "$tmpdepfile1" "$tmpdepfile2"
|
||||
exit $stat
|
||||
fi
|
||||
|
||||
for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2"
|
||||
do
|
||||
test -f "$tmpdepfile" && break
|
||||
done
|
||||
if test -f "$tmpdepfile"; then
|
||||
sed -e "s,^.*\.[$lower]*:,$object:," "$tmpdepfile" > "$depfile"
|
||||
# Add 'dependent.h:' lines.
|
||||
sed -ne '2,${
|
||||
s/^ *//
|
||||
s/ \\*$//
|
||||
s/$/:/
|
||||
p
|
||||
}' "$tmpdepfile" >> "$depfile"
|
||||
else
|
||||
make_dummy_depfile
|
||||
fi
|
||||
rm -f "$tmpdepfile" "$tmpdepfile2"
|
||||
;;
|
||||
|
||||
tru64)
|
||||
# The Tru64 compiler uses -MD to generate dependencies as a side
|
||||
# effect. 'cc -MD -o foo.o ...' puts the dependencies into 'foo.o.d'.
|
||||
# At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put
|
||||
# dependencies in 'foo.d' instead, so we check for that too.
|
||||
# Subdirectories are respected.
|
||||
set_dir_from "$object"
|
||||
set_base_from "$object"
|
||||
|
||||
if test "$libtool" = yes; then
|
||||
# Libtool generates 2 separate objects for the 2 libraries. These
|
||||
# two compilations output dependencies in $dir.libs/$base.o.d and
|
||||
# in $dir$base.o.d. We have to check for both files, because
|
||||
# one of the two compilations can be disabled. We should prefer
|
||||
# $dir$base.o.d over $dir.libs/$base.o.d because the latter is
|
||||
# automatically cleaned when .libs/ is deleted, while ignoring
|
||||
# the former would cause a distcleancheck panic.
|
||||
tmpdepfile1=$dir$base.o.d # libtool 1.5
|
||||
tmpdepfile2=$dir.libs/$base.o.d # Likewise.
|
||||
tmpdepfile3=$dir.libs/$base.d # Compaq CCC V6.2-504
|
||||
"$@" -Wc,-MD
|
||||
else
|
||||
tmpdepfile1=$dir$base.d
|
||||
tmpdepfile2=$dir$base.d
|
||||
tmpdepfile3=$dir$base.d
|
||||
"$@" -MD
|
||||
fi
|
||||
|
||||
stat=$?
|
||||
if test $stat -ne 0; then
|
||||
rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
|
||||
exit $stat
|
||||
fi
|
||||
|
||||
for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
|
||||
do
|
||||
test -f "$tmpdepfile" && break
|
||||
done
|
||||
# Same post-processing that is required for AIX mode.
|
||||
aix_post_process_depfile
|
||||
;;
|
||||
|
||||
msvc7)
|
||||
if test "$libtool" = yes; then
|
||||
showIncludes=-Wc,-showIncludes
|
||||
else
|
||||
showIncludes=-showIncludes
|
||||
fi
|
||||
"$@" $showIncludes > "$tmpdepfile"
|
||||
stat=$?
|
||||
grep -v '^Note: including file: ' "$tmpdepfile"
|
||||
if test $stat -ne 0; then
|
||||
rm -f "$tmpdepfile"
|
||||
exit $stat
|
||||
fi
|
||||
rm -f "$depfile"
|
||||
echo "$object : \\" > "$depfile"
|
||||
# The first sed program below extracts the file names and escapes
|
||||
# backslashes for cygpath. The second sed program outputs the file
|
||||
# name when reading, but also accumulates all include files in the
|
||||
# hold buffer in order to output them again at the end. This only
|
||||
# works with sed implementations that can handle large buffers.
|
||||
sed < "$tmpdepfile" -n '
|
||||
/^Note: including file: *\(.*\)/ {
|
||||
s//\1/
|
||||
s/\\/\\\\/g
|
||||
p
|
||||
}' | $cygpath_u | sort -u | sed -n '
|
||||
s/ /\\ /g
|
||||
s/\(.*\)/'"$tab"'\1 \\/p
|
||||
s/.\(.*\) \\/\1:/
|
||||
H
|
||||
$ {
|
||||
s/.*/'"$tab"'/
|
||||
G
|
||||
p
|
||||
}' >> "$depfile"
|
||||
echo >> "$depfile" # make sure the fragment doesn't end with a backslash
|
||||
rm -f "$tmpdepfile"
|
||||
;;
|
||||
|
||||
msvc7msys)
|
||||
# This case exists only to let depend.m4 do its work. It works by
|
||||
# looking at the text of this script. This case will never be run,
|
||||
# since it is checked for above.
|
||||
exit 1
|
||||
;;
|
||||
|
||||
#nosideeffect)
|
||||
# This comment above is used by automake to tell side-effect
|
||||
# dependency tracking mechanisms from slower ones.
|
||||
|
||||
dashmstdout)
|
||||
# Important note: in order to support this mode, a compiler *must*
|
||||
# always write the preprocessed file to stdout, regardless of -o.
|
||||
"$@" || exit $?
|
||||
|
||||
# Remove the call to Libtool.
|
||||
if test "$libtool" = yes; then
|
||||
while test "X$1" != 'X--mode=compile'; do
|
||||
shift
|
||||
done
|
||||
shift
|
||||
fi
|
||||
|
||||
# Remove '-o $object'.
|
||||
IFS=" "
|
||||
for arg
|
||||
do
|
||||
case $arg in
|
||||
-o)
|
||||
shift
|
||||
;;
|
||||
$object)
|
||||
shift
|
||||
;;
|
||||
*)
|
||||
set fnord "$@" "$arg"
|
||||
shift # fnord
|
||||
shift # $arg
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
test -z "$dashmflag" && dashmflag=-M
|
||||
# Require at least two characters before searching for ':'
|
||||
# in the target name. This is to cope with DOS-style filenames:
|
||||
# a dependency such as 'c:/foo/bar' could be seen as target 'c' otherwise.
|
||||
"$@" $dashmflag |
|
||||
sed "s|^[$tab ]*[^:$tab ][^:][^:]*:[$tab ]*|$object: |" > "$tmpdepfile"
|
||||
rm -f "$depfile"
|
||||
cat < "$tmpdepfile" > "$depfile"
|
||||
# Some versions of the HPUX 10.20 sed can't process this sed invocation
|
||||
# correctly. Breaking it into two sed invocations is a workaround.
|
||||
tr ' ' "$nl" < "$tmpdepfile" \
|
||||
| sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' \
|
||||
| sed -e 's/$/ :/' >> "$depfile"
|
||||
rm -f "$tmpdepfile"
|
||||
;;
|
||||
|
||||
dashXmstdout)
|
||||
# This case only exists to satisfy depend.m4. It is never actually
|
||||
# run, as this mode is specially recognized in the preamble.
|
||||
exit 1
|
||||
;;
|
||||
|
||||
makedepend)
|
||||
"$@" || exit $?
|
||||
# Remove any Libtool call
|
||||
if test "$libtool" = yes; then
|
||||
while test "X$1" != 'X--mode=compile'; do
|
||||
shift
|
||||
done
|
||||
shift
|
||||
fi
|
||||
# X makedepend
|
||||
shift
|
||||
cleared=no eat=no
|
||||
for arg
|
||||
do
|
||||
case $cleared in
|
||||
no)
|
||||
set ""; shift
|
||||
cleared=yes ;;
|
||||
esac
|
||||
if test $eat = yes; then
|
||||
eat=no
|
||||
continue
|
||||
fi
|
||||
case "$arg" in
|
||||
-D*|-I*)
|
||||
set fnord "$@" "$arg"; shift ;;
|
||||
# Strip any option that makedepend may not understand. Remove
|
||||
# the object too, otherwise makedepend will parse it as a source file.
|
||||
-arch)
|
||||
eat=yes ;;
|
||||
-*|$object)
|
||||
;;
|
||||
*)
|
||||
set fnord "$@" "$arg"; shift ;;
|
||||
esac
|
||||
done
|
||||
obj_suffix=`echo "$object" | sed 's/^.*\././'`
|
||||
touch "$tmpdepfile"
|
||||
${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@"
|
||||
rm -f "$depfile"
|
||||
# makedepend may prepend the VPATH from the source file name to the object.
|
||||
# No need to regex-escape $object, excess matching of '.' is harmless.
|
||||
sed "s|^.*\($object *:\)|\1|" "$tmpdepfile" > "$depfile"
|
||||
# Some versions of the HPUX 10.20 sed can't process the last invocation
|
||||
# correctly. Breaking it into two sed invocations is a workaround.
|
||||
sed '1,2d' "$tmpdepfile" \
|
||||
| tr ' ' "$nl" \
|
||||
| sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' \
|
||||
| sed -e 's/$/ :/' >> "$depfile"
|
||||
rm -f "$tmpdepfile" "$tmpdepfile".bak
|
||||
;;
|
||||
|
||||
cpp)
|
||||
# Important note: in order to support this mode, a compiler *must*
|
||||
# always write the preprocessed file to stdout.
|
||||
"$@" || exit $?
|
||||
|
||||
# Remove the call to Libtool.
|
||||
if test "$libtool" = yes; then
|
||||
while test "X$1" != 'X--mode=compile'; do
|
||||
shift
|
||||
done
|
||||
shift
|
||||
fi
|
||||
|
||||
# Remove '-o $object'.
|
||||
IFS=" "
|
||||
for arg
|
||||
do
|
||||
case $arg in
|
||||
-o)
|
||||
shift
|
||||
;;
|
||||
$object)
|
||||
shift
|
||||
;;
|
||||
*)
|
||||
set fnord "$@" "$arg"
|
||||
shift # fnord
|
||||
shift # $arg
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
"$@" -E \
|
||||
| sed -n -e '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \
|
||||
-e '/^#line [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \
|
||||
| sed '$ s: \\$::' > "$tmpdepfile"
|
||||
rm -f "$depfile"
|
||||
echo "$object : \\" > "$depfile"
|
||||
cat < "$tmpdepfile" >> "$depfile"
|
||||
sed < "$tmpdepfile" '/^$/d;s/^ //;s/ \\$//;s/$/ :/' >> "$depfile"
|
||||
rm -f "$tmpdepfile"
|
||||
;;
|
||||
|
||||
msvisualcpp)
|
||||
# Important note: in order to support this mode, a compiler *must*
|
||||
# always write the preprocessed file to stdout.
|
||||
"$@" || exit $?
|
||||
|
||||
# Remove the call to Libtool.
|
||||
if test "$libtool" = yes; then
|
||||
while test "X$1" != 'X--mode=compile'; do
|
||||
shift
|
||||
done
|
||||
shift
|
||||
fi
|
||||
|
||||
IFS=" "
|
||||
for arg
|
||||
do
|
||||
case "$arg" in
|
||||
-o)
|
||||
shift
|
||||
;;
|
||||
$object)
|
||||
shift
|
||||
;;
|
||||
"-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI")
|
||||
set fnord "$@"
|
||||
shift
|
||||
shift
|
||||
;;
|
||||
*)
|
||||
set fnord "$@" "$arg"
|
||||
shift
|
||||
shift
|
||||
;;
|
||||
esac
|
||||
done
|
||||
"$@" -E 2>/dev/null |
|
||||
sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::\1:p' | $cygpath_u | sort -u > "$tmpdepfile"
|
||||
rm -f "$depfile"
|
||||
echo "$object : \\" > "$depfile"
|
||||
sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::'"$tab"'\1 \\:p' >> "$depfile"
|
||||
echo "$tab" >> "$depfile"
|
||||
sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::\1\::p' >> "$depfile"
|
||||
rm -f "$tmpdepfile"
|
||||
;;
|
||||
|
||||
msvcmsys)
|
||||
# This case exists only to let depend.m4 do its work. It works by
|
||||
# looking at the text of this script. This case will never be run,
|
||||
# since it is checked for above.
|
||||
exit 1
|
||||
;;
|
||||
|
||||
none)
|
||||
exec "$@"
|
||||
;;
|
||||
|
||||
*)
|
||||
echo "Unknown depmode $depmode" 1>&2
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
|
||||
exit 0
|
||||
|
||||
# Local Variables:
|
||||
# mode: shell-script
|
||||
# sh-indentation: 2
|
||||
# eval: (add-hook 'before-save-hook 'time-stamp)
|
||||
# time-stamp-start: "scriptversion="
|
||||
# time-stamp-format: "%:y-%02m-%02d.%02H"
|
||||
# time-stamp-time-zone: "UTC0"
|
||||
# time-stamp-end: "; # UTC"
|
||||
# End:
|
||||
204
lisp/zmq/src/emacs-module.h
Normal file
204
lisp/zmq/src/emacs-module.h
Normal file
@@ -0,0 +1,204 @@
|
||||
/* emacs-module.h - GNU Emacs module API.
|
||||
|
||||
Copyright (C) 2015-2017 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GNU Emacs.
|
||||
|
||||
GNU Emacs is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or (at
|
||||
your option) any later version.
|
||||
|
||||
GNU Emacs is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
|
||||
|
||||
#ifndef EMACS_MODULE_H
|
||||
#define EMACS_MODULE_H
|
||||
|
||||
#include <stdint.h>
|
||||
#include <stddef.h>
|
||||
#include <stdbool.h>
|
||||
|
||||
#if defined __cplusplus && __cplusplus >= 201103L
|
||||
# define EMACS_NOEXCEPT noexcept
|
||||
#else
|
||||
# define EMACS_NOEXCEPT
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/* Current environment. */
|
||||
typedef struct emacs_env_25 emacs_env;
|
||||
|
||||
/* Opaque pointer representing an Emacs Lisp value.
|
||||
BEWARE: Do not assume NULL is a valid value! */
|
||||
typedef struct emacs_value_tag *emacs_value;
|
||||
|
||||
enum emacs_arity { emacs_variadic_function = -2 };
|
||||
|
||||
/* Struct passed to a module init function (emacs_module_init). */
|
||||
struct emacs_runtime
|
||||
{
|
||||
/* Structure size (for version checking). */
|
||||
ptrdiff_t size;
|
||||
|
||||
/* Private data; users should not touch this. */
|
||||
struct emacs_runtime_private *private_members;
|
||||
|
||||
/* Return an environment pointer. */
|
||||
emacs_env *(*get_environment) (struct emacs_runtime *ert);
|
||||
};
|
||||
|
||||
|
||||
/* Function prototype for the module init function. */
|
||||
typedef int (*emacs_init_function) (struct emacs_runtime *ert);
|
||||
|
||||
/* Function prototype for the module Lisp functions. */
|
||||
typedef emacs_value (*emacs_subr) (emacs_env *env, ptrdiff_t nargs,
|
||||
emacs_value args[], void *data);
|
||||
|
||||
/* Possible Emacs function call outcomes. */
|
||||
enum emacs_funcall_exit
|
||||
{
|
||||
/* Function has returned normally. */
|
||||
emacs_funcall_exit_return = 0,
|
||||
|
||||
/* Function has signaled an error using `signal'. */
|
||||
emacs_funcall_exit_signal = 1,
|
||||
|
||||
/* Function has exit using `throw'. */
|
||||
emacs_funcall_exit_throw = 2,
|
||||
};
|
||||
|
||||
struct emacs_env_25
|
||||
{
|
||||
/* Structure size (for version checking). */
|
||||
ptrdiff_t size;
|
||||
|
||||
/* Private data; users should not touch this. */
|
||||
struct emacs_env_private *private_members;
|
||||
|
||||
/* Memory management. */
|
||||
|
||||
emacs_value (*make_global_ref) (emacs_env *env,
|
||||
emacs_value any_reference);
|
||||
|
||||
void (*free_global_ref) (emacs_env *env,
|
||||
emacs_value global_reference);
|
||||
|
||||
/* Non-local exit handling. */
|
||||
|
||||
enum emacs_funcall_exit (*non_local_exit_check) (emacs_env *env);
|
||||
|
||||
void (*non_local_exit_clear) (emacs_env *env);
|
||||
|
||||
enum emacs_funcall_exit (*non_local_exit_get)
|
||||
(emacs_env *env,
|
||||
emacs_value *non_local_exit_symbol_out,
|
||||
emacs_value *non_local_exit_data_out);
|
||||
|
||||
void (*non_local_exit_signal) (emacs_env *env,
|
||||
emacs_value non_local_exit_symbol,
|
||||
emacs_value non_local_exit_data);
|
||||
|
||||
void (*non_local_exit_throw) (emacs_env *env,
|
||||
emacs_value tag,
|
||||
emacs_value value);
|
||||
|
||||
/* Function registration. */
|
||||
|
||||
emacs_value (*make_function) (emacs_env *env,
|
||||
ptrdiff_t min_arity,
|
||||
ptrdiff_t max_arity,
|
||||
emacs_value (*function) (emacs_env *env,
|
||||
ptrdiff_t nargs,
|
||||
emacs_value args[],
|
||||
void *)
|
||||
EMACS_NOEXCEPT,
|
||||
const char *documentation,
|
||||
void *data);
|
||||
|
||||
emacs_value (*funcall) (emacs_env *env,
|
||||
emacs_value function,
|
||||
ptrdiff_t nargs,
|
||||
emacs_value args[]);
|
||||
|
||||
emacs_value (*intern) (emacs_env *env,
|
||||
const char *symbol_name);
|
||||
|
||||
/* Type conversion. */
|
||||
|
||||
emacs_value (*type_of) (emacs_env *env,
|
||||
emacs_value value);
|
||||
|
||||
bool (*is_not_nil) (emacs_env *env, emacs_value value);
|
||||
|
||||
bool (*eq) (emacs_env *env, emacs_value a, emacs_value b);
|
||||
|
||||
intmax_t (*extract_integer) (emacs_env *env, emacs_value value);
|
||||
|
||||
emacs_value (*make_integer) (emacs_env *env, intmax_t value);
|
||||
|
||||
double (*extract_float) (emacs_env *env, emacs_value value);
|
||||
|
||||
emacs_value (*make_float) (emacs_env *env, double value);
|
||||
|
||||
/* Copy the content of the Lisp string VALUE to BUFFER as an utf8
|
||||
null-terminated string.
|
||||
|
||||
SIZE must point to the total size of the buffer. If BUFFER is
|
||||
NULL or if SIZE is not big enough, write the required buffer size
|
||||
to SIZE and return false.
|
||||
|
||||
Note that SIZE must include the last null byte (e.g. "abc" needs
|
||||
a buffer of size 4).
|
||||
|
||||
Return true if the string was successfully copied. */
|
||||
|
||||
bool (*copy_string_contents) (emacs_env *env,
|
||||
emacs_value value,
|
||||
char *buffer,
|
||||
ptrdiff_t *size_inout);
|
||||
|
||||
/* Create a Lisp string from a utf8 encoded string. */
|
||||
emacs_value (*make_string) (emacs_env *env,
|
||||
const char *contents, ptrdiff_t length);
|
||||
|
||||
/* Embedded pointer type. */
|
||||
emacs_value (*make_user_ptr) (emacs_env *env,
|
||||
void (*fin) (void *) EMACS_NOEXCEPT,
|
||||
void *ptr);
|
||||
|
||||
void *(*get_user_ptr) (emacs_env *env, emacs_value uptr);
|
||||
void (*set_user_ptr) (emacs_env *env, emacs_value uptr, void *ptr);
|
||||
|
||||
void (*(*get_user_finalizer) (emacs_env *env, emacs_value uptr))
|
||||
(void *) EMACS_NOEXCEPT;
|
||||
void (*set_user_finalizer) (emacs_env *env,
|
||||
emacs_value uptr,
|
||||
void (*fin) (void *) EMACS_NOEXCEPT);
|
||||
|
||||
/* Vector functions. */
|
||||
emacs_value (*vec_get) (emacs_env *env, emacs_value vec, ptrdiff_t i);
|
||||
|
||||
void (*vec_set) (emacs_env *env, emacs_value vec, ptrdiff_t i,
|
||||
emacs_value val);
|
||||
|
||||
ptrdiff_t (*vec_size) (emacs_env *env, emacs_value vec);
|
||||
};
|
||||
|
||||
/* Every module should define a function as follows. */
|
||||
extern int emacs_module_init (struct emacs_runtime *ert);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* EMACS_MODULE_H */
|
||||
322
lisp/zmq/src/emacs-zmq.c
Normal file
322
lisp/zmq/src/emacs-zmq.c
Normal file
@@ -0,0 +1,322 @@
|
||||
#include "emacs-zmq.h"
|
||||
#include <assert.h>
|
||||
#include <signal.h>
|
||||
|
||||
int plugin_is_GPL_compatible;
|
||||
|
||||
typedef struct {
|
||||
char *name;
|
||||
void *fun;
|
||||
char const * doc;
|
||||
ptrdiff_t minarity;
|
||||
ptrdiff_t maxarity;
|
||||
} ezmq_fun_t;
|
||||
|
||||
emacs_env *env = NULL;
|
||||
emacs_value Qzmq_error, Qt, Qnil, Qnth, Qlist,
|
||||
Qwrong_type_argument, Qargs_out_of_range,
|
||||
Qcons, Qstring, Qvector, Qcar, Qcdr, Qlength, Qinteger, Qequal,
|
||||
Qzmq_POLLIN, Qzmq_POLLPRI, Qzmq_POLLERR, Qzmq_POLLOUT,
|
||||
Izmq_POLLIN, Izmq_POLLPRI, Izmq_POLLERR, Izmq_POLLOUT;
|
||||
|
||||
EZMQ_DOC(ezmq_cleanup_globrefs, "",
|
||||
"Free global references flagged for release.\n"
|
||||
"Internally, ZMQ keeps references to Emacs objects that are still in use.\n"
|
||||
"Most notably, a `zmq-poller' object keeps track of all the sockets added to it\n"
|
||||
"so that they do not get cleaned up by garbage collection if they go out of scope\n"
|
||||
"while a poller is still using them.");
|
||||
static emacs_value
|
||||
ezmq_cleanup_globrefs()
|
||||
{
|
||||
emacs_value val;
|
||||
while((val = ezmq_pop_globref())) {
|
||||
FREE_GLOBREF(val);
|
||||
}
|
||||
return Qnil;
|
||||
}
|
||||
|
||||
#define EZMQ_MAXARGS 5
|
||||
|
||||
static emacs_value _fargs[EZMQ_MAXARGS];
|
||||
|
||||
/**
|
||||
Dispatch to the intended C function from a call to a ZMQ function in Emacs.
|
||||
|
||||
CURRENT_ENV is the current Emacs environment for the dispatch call. NARGS is
|
||||
the number of arguments for this call whose values are contained in ARGS.
|
||||
INFO is the ezmq_fun_t* which holds the function to dispatch to.
|
||||
*/
|
||||
static emacs_value
|
||||
ezmq_dispatch(emacs_env *current_env, ptrdiff_t nargs, emacs_value args[], void *info)
|
||||
{
|
||||
// Set the global environment for this dispatch call.
|
||||
env = current_env;
|
||||
|
||||
// Ensure the number of arguments are within range
|
||||
emacs_value ret = Qnil;
|
||||
if(nargs > EZMQ_MAXARGS) {
|
||||
// Better error
|
||||
ezmq_signal(Qargs_out_of_range, 2, INT(nargs), INT(EZMQ_MAXARGS));
|
||||
return ret;
|
||||
}
|
||||
|
||||
// Extract the function information
|
||||
void *fun = ((ezmq_fun_t *)info)->fun;
|
||||
ptrdiff_t maxargs = ((ezmq_fun_t *)info)->maxarity;
|
||||
|
||||
if(nargs < maxargs) {
|
||||
// Fill in nil values for optional arguments
|
||||
int i;
|
||||
for(i = (maxargs - 1); i >= nargs; i--) {
|
||||
_fargs[i] = Qnil;
|
||||
}
|
||||
for(i = 0; i < nargs; i++) {
|
||||
_fargs[i] = args[i];
|
||||
}
|
||||
args = _fargs;
|
||||
nargs = maxargs;
|
||||
}
|
||||
|
||||
// Dispatch based on number of arguments
|
||||
switch(nargs) {
|
||||
case 0:
|
||||
ret = ((emacs_value(*)(void))fun)();
|
||||
break;
|
||||
case 1:
|
||||
ret = ((emacs_value(*)(emacs_value))fun)(args[0]);
|
||||
break;
|
||||
case 2:
|
||||
ret = ((emacs_value(*)(emacs_value, emacs_value))fun)(args[0], args[1]);
|
||||
break;
|
||||
case 3:
|
||||
ret = ((emacs_value(*)(emacs_value, emacs_value,
|
||||
emacs_value))fun)(args[0], args[1],
|
||||
args[2]);
|
||||
break;
|
||||
// Currently unused
|
||||
case 4:
|
||||
ret = ((emacs_value(*)(emacs_value, emacs_value,
|
||||
emacs_value, emacs_value))fun)(args[0], args[1],
|
||||
args[2], args[3]);
|
||||
break;
|
||||
case EZMQ_MAXARGS:
|
||||
ret = ((emacs_value(*)(emacs_value, emacs_value,
|
||||
emacs_value, emacs_value,
|
||||
emacs_value))fun)(args[0], args[1],
|
||||
args[2], args[3],
|
||||
args[4]);
|
||||
break;
|
||||
}
|
||||
|
||||
// Cleanup global references flagged for deletion
|
||||
ezmq_cleanup_globrefs();
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
static void
|
||||
ezmq_bind_function(ezmq_fun_t *fun)
|
||||
{
|
||||
// Make a copy of the function information. Used by ezmq_dispatch.
|
||||
ezmq_fun_t *info = ezmq_malloc(sizeof(ezmq_fun_t));
|
||||
if(NONLOCAL_EXIT()) return;
|
||||
|
||||
memcpy(info, fun, sizeof(ezmq_fun_t));
|
||||
emacs_value Sfun = env->make_function(env,
|
||||
fun->minarity, fun->maxarity,
|
||||
&ezmq_dispatch,
|
||||
fun->doc,
|
||||
info);
|
||||
// Use defalias here so that at least we get a link to zmq.el when examining
|
||||
// the documentation for a zmq function.
|
||||
FUNCALL(INTERN("defalias"), 2, ((emacs_value []){INTERN(fun->name), Sfun}));
|
||||
}
|
||||
|
||||
|
||||
static void
|
||||
ezmq_provide(const char *feature)
|
||||
{
|
||||
FUNCALL(INTERN("provide"), 1, ((emacs_value []){ INTERN(feature) }));
|
||||
}
|
||||
|
||||
#define EZMQ_DEFERR(err) \
|
||||
args[0] = INTERN("zmq-"#err); \
|
||||
args[1] = STRING(#err, sizeof(#err) - 1); \
|
||||
FUNCALL(Qdefine_error, 3, args) \
|
||||
|
||||
/**
|
||||
Make error symbols for common C errors used by ZMQ. Each error symbol is the
|
||||
C error with a zmq- prefix. So EAGAIN becomes zmq-EAGAIN in Emacs.
|
||||
*/
|
||||
static void
|
||||
ezmq_make_error_symbols()
|
||||
{
|
||||
emacs_value Qdefine_error = INTERN("define-error");
|
||||
const char *msg = "An error occured in ZMQ";
|
||||
emacs_value args[3];
|
||||
|
||||
// Define the root error symbol for ZMQ errors
|
||||
args[0] = Qzmq_error;
|
||||
args[1] = STRING(msg, strlen(msg));
|
||||
args[2] = INTERN("error");
|
||||
FUNCALL(Qdefine_error, 3, args);
|
||||
|
||||
// Set zmq-ERROR as the root error for all errors defined below
|
||||
args[2] = Qzmq_error;
|
||||
// Define common errors as symbols
|
||||
// Also see zmq_signal_error
|
||||
EZMQ_DEFERR(EINVAL);
|
||||
EZMQ_DEFERR(EPROTONOSUPPORT);
|
||||
EZMQ_DEFERR(ENOCOMPATPROTO);
|
||||
EZMQ_DEFERR(EADDRINUSE);
|
||||
EZMQ_DEFERR(EADDRNOTAVAIL);
|
||||
EZMQ_DEFERR(ENODEV);
|
||||
EZMQ_DEFERR(ETERM);
|
||||
EZMQ_DEFERR(ENOTSOCK);
|
||||
EZMQ_DEFERR(EMTHREAD);
|
||||
EZMQ_DEFERR(EFAULT);
|
||||
EZMQ_DEFERR(EINTR);
|
||||
EZMQ_DEFERR(ENOTSUP);
|
||||
EZMQ_DEFERR(ENOENT);
|
||||
EZMQ_DEFERR(ENOMEM);
|
||||
EZMQ_DEFERR(EAGAIN);
|
||||
EZMQ_DEFERR(EFSM);
|
||||
EZMQ_DEFERR(EHOSTUNREACH);
|
||||
EZMQ_DEFERR(EMFILE);
|
||||
}
|
||||
|
||||
#define EZMQ_DEFUN(ename, cfun, argmin, argmax) \
|
||||
do { \
|
||||
_info.name = ename; \
|
||||
_info.fun = cfun; \
|
||||
_info.minarity = argmin; \
|
||||
_info.maxarity = argmax; \
|
||||
_info.doc = __zmq_doc_##cfun; \
|
||||
ezmq_bind_function(&_info); \
|
||||
} while (0)
|
||||
|
||||
static void
|
||||
ezmq_define_functions()
|
||||
{
|
||||
ezmq_fun_t _info;
|
||||
|
||||
// Define garbage collection functions for freeing global references
|
||||
EZMQ_DEFUN("zmq--cleanup-globrefs", ezmq_cleanup_globrefs, 0, 0);
|
||||
EZMQ_DEFUN("zmq-socket", ezmq_socket, 2, 2);
|
||||
EZMQ_DEFUN("zmq-send", ezmq_send, 2, 3);
|
||||
EZMQ_DEFUN("zmq-recv", ezmq_recv, 1, 3);
|
||||
EZMQ_DEFUN("zmq-bind", ezmq_bind, 2, 2);
|
||||
EZMQ_DEFUN("zmq-connect", ezmq_connect, 2, 2);
|
||||
EZMQ_DEFUN("zmq-join", ezmq_join, 2, 2);
|
||||
EZMQ_DEFUN("zmq-unbind", ezmq_unbind, 2, 2);
|
||||
EZMQ_DEFUN("zmq-disconnect", ezmq_disconnect, 2, 2);
|
||||
EZMQ_DEFUN("zmq-leave", ezmq_leave, 2, 2);
|
||||
EZMQ_DEFUN("zmq-close", ezmq_close, 1, 1);
|
||||
EZMQ_DEFUN("zmq-proxy", ezmq_proxy, 2, 3);
|
||||
EZMQ_DEFUN("zmq-proxy-steerable", ezmq_proxy_steerable, 2, 4);
|
||||
EZMQ_DEFUN("zmq-socket-monitor", ezmq_socket_monitor, 3, 3);
|
||||
EZMQ_DEFUN("zmq-socket-set", ezmq_setsockopt, 3, 3);
|
||||
EZMQ_DEFUN("zmq-socket-get", ezmq_getsockopt, 2, 2);
|
||||
EZMQ_DEFUN("zmq-context", ezmq_context, 0, 0);
|
||||
EZMQ_DEFUN("zmq-context-terminate", ezmq_ctx_term, 1, 1);
|
||||
EZMQ_DEFUN("zmq-context-shutdown", ezmq_ctx_shutdown, 1, 1);
|
||||
EZMQ_DEFUN("zmq-context-get", ezmq_ctx_get, 2, 2);
|
||||
EZMQ_DEFUN("zmq-context-set", ezmq_ctx_set, 3, 3);
|
||||
EZMQ_DEFUN("zmq-message", ezmq_message, 0, 1);
|
||||
EZMQ_DEFUN("zmq-message-size", ezmq_message_size, 1, 1);
|
||||
EZMQ_DEFUN("zmq-message-data", ezmq_message_data, 1, 1);
|
||||
EZMQ_DEFUN("zmq-message-more-p", ezmq_message_more, 1, 1);
|
||||
EZMQ_DEFUN("zmq-message-copy", ezmq_message_copy, 1, 1);
|
||||
EZMQ_DEFUN("zmq-message-move", ezmq_message_move, 2, 2);
|
||||
EZMQ_DEFUN("zmq-message-close", ezmq_message_close, 1, 1);
|
||||
EZMQ_DEFUN("zmq-message-set", ezmq_message_set, 3, 3);
|
||||
EZMQ_DEFUN("zmq-message-get", ezmq_message_get, 2, 2);
|
||||
EZMQ_DEFUN("zmq-message-recv", ezmq_message_recv, 2, 3);
|
||||
EZMQ_DEFUN("zmq-message-send", ezmq_message_send, 2, 3);
|
||||
EZMQ_DEFUN("zmq-message-gets", ezmq_message_gets, 2, 2);
|
||||
EZMQ_DEFUN("zmq-message-routing-id", ezmq_message_routing_id, 1, 1);
|
||||
EZMQ_DEFUN("zmq-message-set-routing-id", ezmq_message_set_routing_id, 2, 2);
|
||||
EZMQ_DEFUN("zmq-message-group", ezmq_message_group, 1, 1);
|
||||
EZMQ_DEFUN("zmq-message-set-group", ezmq_message_set_group, 2, 2);
|
||||
EZMQ_DEFUN("zmq-poll", ezmq_poll, 2, 2);
|
||||
EZMQ_DEFUN("zmq-poller", ezmq_poller_new, 0, 0);
|
||||
EZMQ_DEFUN("zmq-poller-add", ezmq_poller_add, 3, 3);
|
||||
EZMQ_DEFUN("zmq-poller-modify", ezmq_poller_modify, 3, 3);
|
||||
EZMQ_DEFUN("zmq-poller-remove", ezmq_poller_remove, 2, 2);
|
||||
EZMQ_DEFUN("zmq-poller-destroy", ezmq_poller_destroy, 1, 1);
|
||||
EZMQ_DEFUN("zmq-poller-wait", ezmq_poller_wait, 2, 2);
|
||||
EZMQ_DEFUN("zmq-poller-wait-all", ezmq_poller_wait_all, 3, 3);
|
||||
EZMQ_DEFUN("zmq-version", ezmq_version, 0, 0);
|
||||
EZMQ_DEFUN("zmq-has", ezmq_has, 1, 1);
|
||||
EZMQ_DEFUN("zmq-z85-decode", ezmq_z85_decode, 1, 1);
|
||||
EZMQ_DEFUN("zmq-z85-encode", ezmq_z85_encode, 1, 1);
|
||||
EZMQ_DEFUN("zmq-curve-keypair", ezmq_curve_keypair, 0, 0);
|
||||
EZMQ_DEFUN("zmq-curve-public", ezmq_curve_public, 1, 1);
|
||||
EZMQ_DEFUN("zmq-equal", ezmq_equal, 2, 2);
|
||||
EZMQ_DEFUN("zmq-message-p", ezmq_message_p, 1, 1);
|
||||
EZMQ_DEFUN("zmq-socket-p", ezmq_socket_p, 1, 1);
|
||||
EZMQ_DEFUN("zmq-context-p", ezmq_context_p, 1, 1);
|
||||
EZMQ_DEFUN("zmq-poller-p", ezmq_poller_p, 1, 1);
|
||||
}
|
||||
|
||||
static bool initialized = false;
|
||||
|
||||
int
|
||||
emacs_module_init(struct emacs_runtime *ert)
|
||||
{
|
||||
if(initialized)
|
||||
return 0;
|
||||
|
||||
// From https://phst.eu/emacs-modules
|
||||
/* Fail if Emacs is too old. */
|
||||
assert (ert->size > 0);
|
||||
if ((size_t) ert->size < sizeof *ert)
|
||||
return 1;
|
||||
|
||||
// Retrieve the current emacs environment
|
||||
env = ert->get_environment(ert);
|
||||
|
||||
// From https://phst.eu/emacs-modules
|
||||
if ((size_t) env->size < sizeof *env)
|
||||
return 2;
|
||||
/* Prevent Emacs’s dangerous stack overflow recovery. */
|
||||
if (signal (SIGSEGV, SIG_DFL) == SIG_ERR)
|
||||
return 3;
|
||||
|
||||
Qt = GLOBREF(INTERN("t"));
|
||||
Qnil = GLOBREF(INTERN("nil"));
|
||||
Qnth = GLOBREF(INTERN("nth"));
|
||||
Qwrong_type_argument = GLOBREF(INTERN("wrong-type-argument"));
|
||||
Qargs_out_of_range = GLOBREF(INTERN("args-out-of-range"));
|
||||
Qlist = GLOBREF(INTERN("list"));
|
||||
Qstring = GLOBREF(INTERN("string"));
|
||||
Qvector = GLOBREF(INTERN("vector"));
|
||||
Qcons = GLOBREF(INTERN("cons"));
|
||||
Qcar = GLOBREF(INTERN("car"));
|
||||
Qcdr = GLOBREF(INTERN("cdr"));
|
||||
Qequal = GLOBREF(INTERN("equal"));
|
||||
Qinteger = GLOBREF(INTERN("integer"));
|
||||
Qlength = GLOBREF(INTERN("length"));
|
||||
Qzmq_error = GLOBREF(INTERN("zmq-ERROR"));
|
||||
|
||||
ezmq_make_error_symbols();
|
||||
|
||||
ezmq_expose_constants();
|
||||
Qzmq_POLLIN = GLOBREF(INTERN("zmq-POLLIN"));
|
||||
Qzmq_POLLPRI = GLOBREF(INTERN("zmq-POLLPRI"));
|
||||
Qzmq_POLLOUT = GLOBREF(INTERN("zmq-POLLOUT"));
|
||||
Qzmq_POLLERR = GLOBREF(INTERN("zmq-POLLERR"));
|
||||
|
||||
emacs_value Qsval = INTERN("symbol-value");
|
||||
Izmq_POLLIN = GLOBREF(FUNCALL(Qsval, 1, &Qzmq_POLLIN));
|
||||
Izmq_POLLPRI = GLOBREF(FUNCALL(Qsval, 1, &Qzmq_POLLPRI));
|
||||
Izmq_POLLOUT = GLOBREF(FUNCALL(Qsval, 1, &Qzmq_POLLOUT));
|
||||
Izmq_POLLERR = GLOBREF(FUNCALL(Qsval, 1, &Qzmq_POLLERR));
|
||||
|
||||
ezmq_define_functions();
|
||||
|
||||
ezmq_provide("zmq-core");
|
||||
|
||||
if(!NONLOCAL_EXIT()) initialized = true;
|
||||
return 0;
|
||||
}
|
||||
34
lisp/zmq/src/emacs-zmq.h
Normal file
34
lisp/zmq/src/emacs-zmq.h
Normal file
@@ -0,0 +1,34 @@
|
||||
#ifndef __EMACS_ZMQ_H__
|
||||
#define __EMACS_ZMQ_H__
|
||||
|
||||
#include "core.h"
|
||||
#include "util.h"
|
||||
#include "msg.h"
|
||||
#include "socket.h"
|
||||
#include "context.h"
|
||||
#include "poll.h"
|
||||
|
||||
// https://gcc.gnu.org/wiki/Visibility
|
||||
#if defined _WIN32 || defined __CYGWIN__
|
||||
#ifdef __GNUC__
|
||||
#define ZMQ_EXPORT __attribute__ ((dllexport))
|
||||
#else
|
||||
#define ZMQ_EXPORT __declspec(dllexport)
|
||||
#endif
|
||||
#else
|
||||
#if __GNUC__ >= 4
|
||||
#define ZMQ_EXPORT __attribute__ ((visibility ("default")))
|
||||
#else
|
||||
#define ZMQ_EXPORT
|
||||
#endif
|
||||
#endif
|
||||
|
||||
ZMQ_EXPORT int plugin_is_GPL_compatible;
|
||||
// Defined in constants.c
|
||||
extern void
|
||||
ezmq_expose_constants();
|
||||
|
||||
ZMQ_EXPORT int
|
||||
emacs_module_init(struct emacs_runtime *ert);
|
||||
|
||||
#endif /* __EMACS_ZMQ_H__ */
|
||||
41
lisp/zmq/src/emacs-zmq.la
Normal file
41
lisp/zmq/src/emacs-zmq.la
Normal file
@@ -0,0 +1,41 @@
|
||||
# emacs-zmq.la - a libtool library file
|
||||
# Generated by libtool (GNU libtool) 2.4.7.4-1ec8f-dirty
|
||||
#
|
||||
# Please DO NOT delete this file!
|
||||
# It is necessary for linking the library.
|
||||
|
||||
# The name that we can dlopen(3).
|
||||
dlname='emacs-zmq.so'
|
||||
|
||||
# Names of this library.
|
||||
library_names='emacs-zmq.so emacs-zmq.so emacs-zmq.so'
|
||||
|
||||
# The name of the static archive.
|
||||
old_library=''
|
||||
|
||||
# Linker flags that cannot go in dependency_libs.
|
||||
inherited_linker_flags=''
|
||||
|
||||
# Libraries that this one depends upon.
|
||||
dependency_libs=' -lzmq'
|
||||
|
||||
# Names of additional weak libraries provided by this library
|
||||
weak_library_names=''
|
||||
|
||||
# Version information for emacs-zmq.
|
||||
current=0
|
||||
age=0
|
||||
revision=0
|
||||
|
||||
# Is this an already installed library?
|
||||
installed=no
|
||||
|
||||
# Should we warn about portability when linking against -modules?
|
||||
shouldnotlink=yes
|
||||
|
||||
# Files to dlopen/dlpreopen
|
||||
dlopen=''
|
||||
dlpreopen=''
|
||||
|
||||
# Directory that this library needs to be installed in:
|
||||
libdir='/home/daniel/repos/emacs-conf/lisp/zmq/lib'
|
||||
12
lisp/zmq/src/emacs_zmq_la-constants.lo
Normal file
12
lisp/zmq/src/emacs_zmq_la-constants.lo
Normal file
@@ -0,0 +1,12 @@
|
||||
# emacs_zmq_la-constants.lo - a libtool object file
|
||||
# Generated by libtool (GNU libtool) 2.4.7.4-1ec8f-dirty
|
||||
#
|
||||
# Please DO NOT delete this file!
|
||||
# It is necessary for linking the library.
|
||||
|
||||
# Name of the PIC object.
|
||||
pic_object='.libs/emacs_zmq_la-constants.o'
|
||||
|
||||
# Name of the non-PIC object
|
||||
non_pic_object=none
|
||||
|
||||
12
lisp/zmq/src/emacs_zmq_la-context.lo
Normal file
12
lisp/zmq/src/emacs_zmq_la-context.lo
Normal file
@@ -0,0 +1,12 @@
|
||||
# emacs_zmq_la-context.lo - a libtool object file
|
||||
# Generated by libtool (GNU libtool) 2.4.7.4-1ec8f-dirty
|
||||
#
|
||||
# Please DO NOT delete this file!
|
||||
# It is necessary for linking the library.
|
||||
|
||||
# Name of the PIC object.
|
||||
pic_object='.libs/emacs_zmq_la-context.o'
|
||||
|
||||
# Name of the non-PIC object
|
||||
non_pic_object=none
|
||||
|
||||
12
lisp/zmq/src/emacs_zmq_la-core.lo
Normal file
12
lisp/zmq/src/emacs_zmq_la-core.lo
Normal file
@@ -0,0 +1,12 @@
|
||||
# emacs_zmq_la-core.lo - a libtool object file
|
||||
# Generated by libtool (GNU libtool) 2.4.7.4-1ec8f-dirty
|
||||
#
|
||||
# Please DO NOT delete this file!
|
||||
# It is necessary for linking the library.
|
||||
|
||||
# Name of the PIC object.
|
||||
pic_object='.libs/emacs_zmq_la-core.o'
|
||||
|
||||
# Name of the non-PIC object
|
||||
non_pic_object=none
|
||||
|
||||
12
lisp/zmq/src/emacs_zmq_la-emacs-zmq.lo
Normal file
12
lisp/zmq/src/emacs_zmq_la-emacs-zmq.lo
Normal file
@@ -0,0 +1,12 @@
|
||||
# emacs_zmq_la-emacs-zmq.lo - a libtool object file
|
||||
# Generated by libtool (GNU libtool) 2.4.7.4-1ec8f-dirty
|
||||
#
|
||||
# Please DO NOT delete this file!
|
||||
# It is necessary for linking the library.
|
||||
|
||||
# Name of the PIC object.
|
||||
pic_object='.libs/emacs_zmq_la-emacs-zmq.o'
|
||||
|
||||
# Name of the non-PIC object
|
||||
non_pic_object=none
|
||||
|
||||
12
lisp/zmq/src/emacs_zmq_la-msg.lo
Normal file
12
lisp/zmq/src/emacs_zmq_la-msg.lo
Normal file
@@ -0,0 +1,12 @@
|
||||
# emacs_zmq_la-msg.lo - a libtool object file
|
||||
# Generated by libtool (GNU libtool) 2.4.7.4-1ec8f-dirty
|
||||
#
|
||||
# Please DO NOT delete this file!
|
||||
# It is necessary for linking the library.
|
||||
|
||||
# Name of the PIC object.
|
||||
pic_object='.libs/emacs_zmq_la-msg.o'
|
||||
|
||||
# Name of the non-PIC object
|
||||
non_pic_object=none
|
||||
|
||||
12
lisp/zmq/src/emacs_zmq_la-poll.lo
Normal file
12
lisp/zmq/src/emacs_zmq_la-poll.lo
Normal file
@@ -0,0 +1,12 @@
|
||||
# emacs_zmq_la-poll.lo - a libtool object file
|
||||
# Generated by libtool (GNU libtool) 2.4.7.4-1ec8f-dirty
|
||||
#
|
||||
# Please DO NOT delete this file!
|
||||
# It is necessary for linking the library.
|
||||
|
||||
# Name of the PIC object.
|
||||
pic_object='.libs/emacs_zmq_la-poll.o'
|
||||
|
||||
# Name of the non-PIC object
|
||||
non_pic_object=none
|
||||
|
||||
12
lisp/zmq/src/emacs_zmq_la-socket.lo
Normal file
12
lisp/zmq/src/emacs_zmq_la-socket.lo
Normal file
@@ -0,0 +1,12 @@
|
||||
# emacs_zmq_la-socket.lo - a libtool object file
|
||||
# Generated by libtool (GNU libtool) 2.4.7.4-1ec8f-dirty
|
||||
#
|
||||
# Please DO NOT delete this file!
|
||||
# It is necessary for linking the library.
|
||||
|
||||
# Name of the PIC object.
|
||||
pic_object='.libs/emacs_zmq_la-socket.o'
|
||||
|
||||
# Name of the non-PIC object
|
||||
non_pic_object=none
|
||||
|
||||
12
lisp/zmq/src/emacs_zmq_la-util.lo
Normal file
12
lisp/zmq/src/emacs_zmq_la-util.lo
Normal file
@@ -0,0 +1,12 @@
|
||||
# emacs_zmq_la-util.lo - a libtool object file
|
||||
# Generated by libtool (GNU libtool) 2.4.7.4-1ec8f-dirty
|
||||
#
|
||||
# Please DO NOT delete this file!
|
||||
# It is necessary for linking the library.
|
||||
|
||||
# Name of the PIC object.
|
||||
pic_object='.libs/emacs_zmq_la-util.o'
|
||||
|
||||
# Name of the non-PIC object
|
||||
non_pic_object=none
|
||||
|
||||
541
lisp/zmq/src/install-sh
Executable file
541
lisp/zmq/src/install-sh
Executable file
@@ -0,0 +1,541 @@
|
||||
#!/bin/sh
|
||||
# install - install a program, script, or datafile
|
||||
|
||||
scriptversion=2020-11-14.01; # UTC
|
||||
|
||||
# This originates from X11R5 (mit/util/scripts/install.sh), which was
|
||||
# later released in X11R6 (xc/config/util/install.sh) with the
|
||||
# following copyright and license.
|
||||
#
|
||||
# Copyright (C) 1994 X Consortium
|
||||
#
|
||||
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
# of this software and associated documentation files (the "Software"), to
|
||||
# deal in the Software without restriction, including without limitation the
|
||||
# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
|
||||
# sell copies of the Software, and to permit persons to whom the Software is
|
||||
# furnished to do so, subject to the following conditions:
|
||||
#
|
||||
# The above copyright notice and this permission notice shall be included in
|
||||
# all copies or substantial portions of the Software.
|
||||
#
|
||||
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
# X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
|
||||
# AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC-
|
||||
# TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
#
|
||||
# Except as contained in this notice, the name of the X Consortium shall not
|
||||
# be used in advertising or otherwise to promote the sale, use or other deal-
|
||||
# ings in this Software without prior written authorization from the X Consor-
|
||||
# tium.
|
||||
#
|
||||
#
|
||||
# FSF changes to this file are in the public domain.
|
||||
#
|
||||
# Calling this script install-sh is preferred over install.sh, to prevent
|
||||
# 'make' implicit rules from creating a file called install from it
|
||||
# when there is no Makefile.
|
||||
#
|
||||
# This script is compatible with the BSD install script, but was written
|
||||
# from scratch.
|
||||
|
||||
tab=' '
|
||||
nl='
|
||||
'
|
||||
IFS=" $tab$nl"
|
||||
|
||||
# Set DOITPROG to "echo" to test this script.
|
||||
|
||||
doit=${DOITPROG-}
|
||||
doit_exec=${doit:-exec}
|
||||
|
||||
# Put in absolute file names if you don't have them in your path;
|
||||
# or use environment vars.
|
||||
|
||||
chgrpprog=${CHGRPPROG-chgrp}
|
||||
chmodprog=${CHMODPROG-chmod}
|
||||
chownprog=${CHOWNPROG-chown}
|
||||
cmpprog=${CMPPROG-cmp}
|
||||
cpprog=${CPPROG-cp}
|
||||
mkdirprog=${MKDIRPROG-mkdir}
|
||||
mvprog=${MVPROG-mv}
|
||||
rmprog=${RMPROG-rm}
|
||||
stripprog=${STRIPPROG-strip}
|
||||
|
||||
posix_mkdir=
|
||||
|
||||
# Desired mode of installed file.
|
||||
mode=0755
|
||||
|
||||
# Create dirs (including intermediate dirs) using mode 755.
|
||||
# This is like GNU 'install' as of coreutils 8.32 (2020).
|
||||
mkdir_umask=22
|
||||
|
||||
backupsuffix=
|
||||
chgrpcmd=
|
||||
chmodcmd=$chmodprog
|
||||
chowncmd=
|
||||
mvcmd=$mvprog
|
||||
rmcmd="$rmprog -f"
|
||||
stripcmd=
|
||||
|
||||
src=
|
||||
dst=
|
||||
dir_arg=
|
||||
dst_arg=
|
||||
|
||||
copy_on_change=false
|
||||
is_target_a_directory=possibly
|
||||
|
||||
usage="\
|
||||
Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE
|
||||
or: $0 [OPTION]... SRCFILES... DIRECTORY
|
||||
or: $0 [OPTION]... -t DIRECTORY SRCFILES...
|
||||
or: $0 [OPTION]... -d DIRECTORIES...
|
||||
|
||||
In the 1st form, copy SRCFILE to DSTFILE.
|
||||
In the 2nd and 3rd, copy all SRCFILES to DIRECTORY.
|
||||
In the 4th, create DIRECTORIES.
|
||||
|
||||
Options:
|
||||
--help display this help and exit.
|
||||
--version display version info and exit.
|
||||
|
||||
-c (ignored)
|
||||
-C install only if different (preserve data modification time)
|
||||
-d create directories instead of installing files.
|
||||
-g GROUP $chgrpprog installed files to GROUP.
|
||||
-m MODE $chmodprog installed files to MODE.
|
||||
-o USER $chownprog installed files to USER.
|
||||
-p pass -p to $cpprog.
|
||||
-s $stripprog installed files.
|
||||
-S SUFFIX attempt to back up existing files, with suffix SUFFIX.
|
||||
-t DIRECTORY install into DIRECTORY.
|
||||
-T report an error if DSTFILE is a directory.
|
||||
|
||||
Environment variables override the default commands:
|
||||
CHGRPPROG CHMODPROG CHOWNPROG CMPPROG CPPROG MKDIRPROG MVPROG
|
||||
RMPROG STRIPPROG
|
||||
|
||||
By default, rm is invoked with -f; when overridden with RMPROG,
|
||||
it's up to you to specify -f if you want it.
|
||||
|
||||
If -S is not specified, no backups are attempted.
|
||||
|
||||
Email bug reports to bug-automake@gnu.org.
|
||||
Automake home page: https://www.gnu.org/software/automake/
|
||||
"
|
||||
|
||||
while test $# -ne 0; do
|
||||
case $1 in
|
||||
-c) ;;
|
||||
|
||||
-C) copy_on_change=true;;
|
||||
|
||||
-d) dir_arg=true;;
|
||||
|
||||
-g) chgrpcmd="$chgrpprog $2"
|
||||
shift;;
|
||||
|
||||
--help) echo "$usage"; exit $?;;
|
||||
|
||||
-m) mode=$2
|
||||
case $mode in
|
||||
*' '* | *"$tab"* | *"$nl"* | *'*'* | *'?'* | *'['*)
|
||||
echo "$0: invalid mode: $mode" >&2
|
||||
exit 1;;
|
||||
esac
|
||||
shift;;
|
||||
|
||||
-o) chowncmd="$chownprog $2"
|
||||
shift;;
|
||||
|
||||
-p) cpprog="$cpprog -p";;
|
||||
|
||||
-s) stripcmd=$stripprog;;
|
||||
|
||||
-S) backupsuffix="$2"
|
||||
shift;;
|
||||
|
||||
-t)
|
||||
is_target_a_directory=always
|
||||
dst_arg=$2
|
||||
# Protect names problematic for 'test' and other utilities.
|
||||
case $dst_arg in
|
||||
-* | [=\(\)!]) dst_arg=./$dst_arg;;
|
||||
esac
|
||||
shift;;
|
||||
|
||||
-T) is_target_a_directory=never;;
|
||||
|
||||
--version) echo "$0 $scriptversion"; exit $?;;
|
||||
|
||||
--) shift
|
||||
break;;
|
||||
|
||||
-*) echo "$0: invalid option: $1" >&2
|
||||
exit 1;;
|
||||
|
||||
*) break;;
|
||||
esac
|
||||
shift
|
||||
done
|
||||
|
||||
# We allow the use of options -d and -T together, by making -d
|
||||
# take the precedence; this is for compatibility with GNU install.
|
||||
|
||||
if test -n "$dir_arg"; then
|
||||
if test -n "$dst_arg"; then
|
||||
echo "$0: target directory not allowed when installing a directory." >&2
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
|
||||
if test $# -ne 0 && test -z "$dir_arg$dst_arg"; then
|
||||
# When -d is used, all remaining arguments are directories to create.
|
||||
# When -t is used, the destination is already specified.
|
||||
# Otherwise, the last argument is the destination. Remove it from $@.
|
||||
for arg
|
||||
do
|
||||
if test -n "$dst_arg"; then
|
||||
# $@ is not empty: it contains at least $arg.
|
||||
set fnord "$@" "$dst_arg"
|
||||
shift # fnord
|
||||
fi
|
||||
shift # arg
|
||||
dst_arg=$arg
|
||||
# Protect names problematic for 'test' and other utilities.
|
||||
case $dst_arg in
|
||||
-* | [=\(\)!]) dst_arg=./$dst_arg;;
|
||||
esac
|
||||
done
|
||||
fi
|
||||
|
||||
if test $# -eq 0; then
|
||||
if test -z "$dir_arg"; then
|
||||
echo "$0: no input file specified." >&2
|
||||
exit 1
|
||||
fi
|
||||
# It's OK to call 'install-sh -d' without argument.
|
||||
# This can happen when creating conditional directories.
|
||||
exit 0
|
||||
fi
|
||||
|
||||
if test -z "$dir_arg"; then
|
||||
if test $# -gt 1 || test "$is_target_a_directory" = always; then
|
||||
if test ! -d "$dst_arg"; then
|
||||
echo "$0: $dst_arg: Is not a directory." >&2
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
if test -z "$dir_arg"; then
|
||||
do_exit='(exit $ret); exit $ret'
|
||||
trap "ret=129; $do_exit" 1
|
||||
trap "ret=130; $do_exit" 2
|
||||
trap "ret=141; $do_exit" 13
|
||||
trap "ret=143; $do_exit" 15
|
||||
|
||||
# Set umask so as not to create temps with too-generous modes.
|
||||
# However, 'strip' requires both read and write access to temps.
|
||||
case $mode in
|
||||
# Optimize common cases.
|
||||
*644) cp_umask=133;;
|
||||
*755) cp_umask=22;;
|
||||
|
||||
*[0-7])
|
||||
if test -z "$stripcmd"; then
|
||||
u_plus_rw=
|
||||
else
|
||||
u_plus_rw='% 200'
|
||||
fi
|
||||
cp_umask=`expr '(' 777 - $mode % 1000 ')' $u_plus_rw`;;
|
||||
*)
|
||||
if test -z "$stripcmd"; then
|
||||
u_plus_rw=
|
||||
else
|
||||
u_plus_rw=,u+rw
|
||||
fi
|
||||
cp_umask=$mode$u_plus_rw;;
|
||||
esac
|
||||
fi
|
||||
|
||||
for src
|
||||
do
|
||||
# Protect names problematic for 'test' and other utilities.
|
||||
case $src in
|
||||
-* | [=\(\)!]) src=./$src;;
|
||||
esac
|
||||
|
||||
if test -n "$dir_arg"; then
|
||||
dst=$src
|
||||
dstdir=$dst
|
||||
test -d "$dstdir"
|
||||
dstdir_status=$?
|
||||
# Don't chown directories that already exist.
|
||||
if test $dstdir_status = 0; then
|
||||
chowncmd=""
|
||||
fi
|
||||
else
|
||||
|
||||
# Waiting for this to be detected by the "$cpprog $src $dsttmp" command
|
||||
# might cause directories to be created, which would be especially bad
|
||||
# if $src (and thus $dsttmp) contains '*'.
|
||||
if test ! -f "$src" && test ! -d "$src"; then
|
||||
echo "$0: $src does not exist." >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if test -z "$dst_arg"; then
|
||||
echo "$0: no destination specified." >&2
|
||||
exit 1
|
||||
fi
|
||||
dst=$dst_arg
|
||||
|
||||
# If destination is a directory, append the input filename.
|
||||
if test -d "$dst"; then
|
||||
if test "$is_target_a_directory" = never; then
|
||||
echo "$0: $dst_arg: Is a directory" >&2
|
||||
exit 1
|
||||
fi
|
||||
dstdir=$dst
|
||||
dstbase=`basename "$src"`
|
||||
case $dst in
|
||||
*/) dst=$dst$dstbase;;
|
||||
*) dst=$dst/$dstbase;;
|
||||
esac
|
||||
dstdir_status=0
|
||||
else
|
||||
dstdir=`dirname "$dst"`
|
||||
test -d "$dstdir"
|
||||
dstdir_status=$?
|
||||
fi
|
||||
fi
|
||||
|
||||
case $dstdir in
|
||||
*/) dstdirslash=$dstdir;;
|
||||
*) dstdirslash=$dstdir/;;
|
||||
esac
|
||||
|
||||
obsolete_mkdir_used=false
|
||||
|
||||
if test $dstdir_status != 0; then
|
||||
case $posix_mkdir in
|
||||
'')
|
||||
# With -d, create the new directory with the user-specified mode.
|
||||
# Otherwise, rely on $mkdir_umask.
|
||||
if test -n "$dir_arg"; then
|
||||
mkdir_mode=-m$mode
|
||||
else
|
||||
mkdir_mode=
|
||||
fi
|
||||
|
||||
posix_mkdir=false
|
||||
# The $RANDOM variable is not portable (e.g., dash). Use it
|
||||
# here however when possible just to lower collision chance.
|
||||
tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$
|
||||
|
||||
trap '
|
||||
ret=$?
|
||||
rmdir "$tmpdir/a/b" "$tmpdir/a" "$tmpdir" 2>/dev/null
|
||||
exit $ret
|
||||
' 0
|
||||
|
||||
# Because "mkdir -p" follows existing symlinks and we likely work
|
||||
# directly in world-writeable /tmp, make sure that the '$tmpdir'
|
||||
# directory is successfully created first before we actually test
|
||||
# 'mkdir -p'.
|
||||
if (umask $mkdir_umask &&
|
||||
$mkdirprog $mkdir_mode "$tmpdir" &&
|
||||
exec $mkdirprog $mkdir_mode -p -- "$tmpdir/a/b") >/dev/null 2>&1
|
||||
then
|
||||
if test -z "$dir_arg" || {
|
||||
# Check for POSIX incompatibilities with -m.
|
||||
# HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or
|
||||
# other-writable bit of parent directory when it shouldn't.
|
||||
# FreeBSD 6.1 mkdir -m -p sets mode of existing directory.
|
||||
test_tmpdir="$tmpdir/a"
|
||||
ls_ld_tmpdir=`ls -ld "$test_tmpdir"`
|
||||
case $ls_ld_tmpdir in
|
||||
d????-?r-*) different_mode=700;;
|
||||
d????-?--*) different_mode=755;;
|
||||
*) false;;
|
||||
esac &&
|
||||
$mkdirprog -m$different_mode -p -- "$test_tmpdir" && {
|
||||
ls_ld_tmpdir_1=`ls -ld "$test_tmpdir"`
|
||||
test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1"
|
||||
}
|
||||
}
|
||||
then posix_mkdir=:
|
||||
fi
|
||||
rmdir "$tmpdir/a/b" "$tmpdir/a" "$tmpdir"
|
||||
else
|
||||
# Remove any dirs left behind by ancient mkdir implementations.
|
||||
rmdir ./$mkdir_mode ./-p ./-- "$tmpdir" 2>/dev/null
|
||||
fi
|
||||
trap '' 0;;
|
||||
esac
|
||||
|
||||
if
|
||||
$posix_mkdir && (
|
||||
umask $mkdir_umask &&
|
||||
$doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir"
|
||||
)
|
||||
then :
|
||||
else
|
||||
|
||||
# mkdir does not conform to POSIX,
|
||||
# or it failed possibly due to a race condition. Create the
|
||||
# directory the slow way, step by step, checking for races as we go.
|
||||
|
||||
case $dstdir in
|
||||
/*) prefix='/';;
|
||||
[-=\(\)!]*) prefix='./';;
|
||||
*) prefix='';;
|
||||
esac
|
||||
|
||||
oIFS=$IFS
|
||||
IFS=/
|
||||
set -f
|
||||
set fnord $dstdir
|
||||
shift
|
||||
set +f
|
||||
IFS=$oIFS
|
||||
|
||||
prefixes=
|
||||
|
||||
for d
|
||||
do
|
||||
test X"$d" = X && continue
|
||||
|
||||
prefix=$prefix$d
|
||||
if test -d "$prefix"; then
|
||||
prefixes=
|
||||
else
|
||||
if $posix_mkdir; then
|
||||
(umask $mkdir_umask &&
|
||||
$doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir") && break
|
||||
# Don't fail if two instances are running concurrently.
|
||||
test -d "$prefix" || exit 1
|
||||
else
|
||||
case $prefix in
|
||||
*\'*) qprefix=`echo "$prefix" | sed "s/'/'\\\\\\\\''/g"`;;
|
||||
*) qprefix=$prefix;;
|
||||
esac
|
||||
prefixes="$prefixes '$qprefix'"
|
||||
fi
|
||||
fi
|
||||
prefix=$prefix/
|
||||
done
|
||||
|
||||
if test -n "$prefixes"; then
|
||||
# Don't fail if two instances are running concurrently.
|
||||
(umask $mkdir_umask &&
|
||||
eval "\$doit_exec \$mkdirprog $prefixes") ||
|
||||
test -d "$dstdir" || exit 1
|
||||
obsolete_mkdir_used=true
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
if test -n "$dir_arg"; then
|
||||
{ test -z "$chowncmd" || $doit $chowncmd "$dst"; } &&
|
||||
{ test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } &&
|
||||
{ test "$obsolete_mkdir_used$chowncmd$chgrpcmd" = false ||
|
||||
test -z "$chmodcmd" || $doit $chmodcmd $mode "$dst"; } || exit 1
|
||||
else
|
||||
|
||||
# Make a couple of temp file names in the proper directory.
|
||||
dsttmp=${dstdirslash}_inst.$$_
|
||||
rmtmp=${dstdirslash}_rm.$$_
|
||||
|
||||
# Trap to clean up those temp files at exit.
|
||||
trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0
|
||||
|
||||
# Copy the file name to the temp name.
|
||||
(umask $cp_umask &&
|
||||
{ test -z "$stripcmd" || {
|
||||
# Create $dsttmp read-write so that cp doesn't create it read-only,
|
||||
# which would cause strip to fail.
|
||||
if test -z "$doit"; then
|
||||
: >"$dsttmp" # No need to fork-exec 'touch'.
|
||||
else
|
||||
$doit touch "$dsttmp"
|
||||
fi
|
||||
}
|
||||
} &&
|
||||
$doit_exec $cpprog "$src" "$dsttmp") &&
|
||||
|
||||
# and set any options; do chmod last to preserve setuid bits.
|
||||
#
|
||||
# If any of these fail, we abort the whole thing. If we want to
|
||||
# ignore errors from any of these, just make sure not to ignore
|
||||
# errors from the above "$doit $cpprog $src $dsttmp" command.
|
||||
#
|
||||
{ test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } &&
|
||||
{ test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } &&
|
||||
{ test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } &&
|
||||
{ test -z "$chmodcmd" || $doit $chmodcmd $mode "$dsttmp"; } &&
|
||||
|
||||
# If -C, don't bother to copy if it wouldn't change the file.
|
||||
if $copy_on_change &&
|
||||
old=`LC_ALL=C ls -dlL "$dst" 2>/dev/null` &&
|
||||
new=`LC_ALL=C ls -dlL "$dsttmp" 2>/dev/null` &&
|
||||
set -f &&
|
||||
set X $old && old=:$2:$4:$5:$6 &&
|
||||
set X $new && new=:$2:$4:$5:$6 &&
|
||||
set +f &&
|
||||
test "$old" = "$new" &&
|
||||
$cmpprog "$dst" "$dsttmp" >/dev/null 2>&1
|
||||
then
|
||||
rm -f "$dsttmp"
|
||||
else
|
||||
# If $backupsuffix is set, and the file being installed
|
||||
# already exists, attempt a backup. Don't worry if it fails,
|
||||
# e.g., if mv doesn't support -f.
|
||||
if test -n "$backupsuffix" && test -f "$dst"; then
|
||||
$doit $mvcmd -f "$dst" "$dst$backupsuffix" 2>/dev/null
|
||||
fi
|
||||
|
||||
# Rename the file to the real destination.
|
||||
$doit $mvcmd -f "$dsttmp" "$dst" 2>/dev/null ||
|
||||
|
||||
# The rename failed, perhaps because mv can't rename something else
|
||||
# to itself, or perhaps because mv is so ancient that it does not
|
||||
# support -f.
|
||||
{
|
||||
# Now remove or move aside any old file at destination location.
|
||||
# We try this two ways since rm can't unlink itself on some
|
||||
# systems and the destination file might be busy for other
|
||||
# reasons. In this case, the final cleanup might fail but the new
|
||||
# file should still install successfully.
|
||||
{
|
||||
test ! -f "$dst" ||
|
||||
$doit $rmcmd "$dst" 2>/dev/null ||
|
||||
{ $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null &&
|
||||
{ $doit $rmcmd "$rmtmp" 2>/dev/null; :; }
|
||||
} ||
|
||||
{ echo "$0: cannot unlink or rename $dst" >&2
|
||||
(exit 1); exit 1
|
||||
}
|
||||
} &&
|
||||
|
||||
# Now rename the file to the real destination.
|
||||
$doit $mvcmd "$dsttmp" "$dst"
|
||||
}
|
||||
fi || exit 1
|
||||
|
||||
trap '' 0
|
||||
fi
|
||||
done
|
||||
|
||||
# Local variables:
|
||||
# eval: (add-hook 'before-save-hook 'time-stamp)
|
||||
# time-stamp-start: "scriptversion="
|
||||
# time-stamp-format: "%:y-%02m-%02d.%02H"
|
||||
# time-stamp-time-zone: "UTC0"
|
||||
# time-stamp-end: "; # UTC"
|
||||
# End:
|
||||
11943
lisp/zmq/src/libtool
Executable file
11943
lisp/zmq/src/libtool
Executable file
File diff suppressed because it is too large
Load Diff
11437
lisp/zmq/src/ltmain.sh
Normal file
11437
lisp/zmq/src/ltmain.sh
Normal file
File diff suppressed because it is too large
Load Diff
8399
lisp/zmq/src/m4/libtool.m4
vendored
Normal file
8399
lisp/zmq/src/m4/libtool.m4
vendored
Normal file
File diff suppressed because it is too large
Load Diff
437
lisp/zmq/src/m4/ltoptions.m4
vendored
Normal file
437
lisp/zmq/src/m4/ltoptions.m4
vendored
Normal file
@@ -0,0 +1,437 @@
|
||||
# Helper functions for option handling. -*- Autoconf -*-
|
||||
#
|
||||
# Copyright (C) 2004-2005, 2007-2009, 2011-2019, 2021-2022 Free
|
||||
# Software Foundation, Inc.
|
||||
# Written by Gary V. Vaughan, 2004
|
||||
#
|
||||
# This file is free software; the Free Software Foundation gives
|
||||
# unlimited permission to copy and/or distribute it, with or without
|
||||
# modifications, as long as this notice is preserved.
|
||||
|
||||
# serial 8 ltoptions.m4
|
||||
|
||||
# This is to help aclocal find these macros, as it can't see m4_define.
|
||||
AC_DEFUN([LTOPTIONS_VERSION], [m4_if([1])])
|
||||
|
||||
|
||||
# _LT_MANGLE_OPTION(MACRO-NAME, OPTION-NAME)
|
||||
# ------------------------------------------
|
||||
m4_define([_LT_MANGLE_OPTION],
|
||||
[[_LT_OPTION_]m4_bpatsubst($1__$2, [[^a-zA-Z0-9_]], [_])])
|
||||
|
||||
|
||||
# _LT_SET_OPTION(MACRO-NAME, OPTION-NAME)
|
||||
# ---------------------------------------
|
||||
# Set option OPTION-NAME for macro MACRO-NAME, and if there is a
|
||||
# matching handler defined, dispatch to it. Other OPTION-NAMEs are
|
||||
# saved as a flag.
|
||||
m4_define([_LT_SET_OPTION],
|
||||
[m4_define(_LT_MANGLE_OPTION([$1], [$2]))dnl
|
||||
m4_ifdef(_LT_MANGLE_DEFUN([$1], [$2]),
|
||||
_LT_MANGLE_DEFUN([$1], [$2]),
|
||||
[m4_warning([Unknown $1 option '$2'])])[]dnl
|
||||
])
|
||||
|
||||
|
||||
# _LT_IF_OPTION(MACRO-NAME, OPTION-NAME, IF-SET, [IF-NOT-SET])
|
||||
# ------------------------------------------------------------
|
||||
# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise.
|
||||
m4_define([_LT_IF_OPTION],
|
||||
[m4_ifdef(_LT_MANGLE_OPTION([$1], [$2]), [$3], [$4])])
|
||||
|
||||
|
||||
# _LT_UNLESS_OPTIONS(MACRO-NAME, OPTION-LIST, IF-NOT-SET)
|
||||
# -------------------------------------------------------
|
||||
# Execute IF-NOT-SET unless all options in OPTION-LIST for MACRO-NAME
|
||||
# are set.
|
||||
m4_define([_LT_UNLESS_OPTIONS],
|
||||
[m4_foreach([_LT_Option], m4_split(m4_normalize([$2])),
|
||||
[m4_ifdef(_LT_MANGLE_OPTION([$1], _LT_Option),
|
||||
[m4_define([$0_found])])])[]dnl
|
||||
m4_ifdef([$0_found], [m4_undefine([$0_found])], [$3
|
||||
])[]dnl
|
||||
])
|
||||
|
||||
|
||||
# _LT_SET_OPTIONS(MACRO-NAME, OPTION-LIST)
|
||||
# ----------------------------------------
|
||||
# OPTION-LIST is a space-separated list of Libtool options associated
|
||||
# with MACRO-NAME. If any OPTION has a matching handler declared with
|
||||
# LT_OPTION_DEFINE, dispatch to that macro; otherwise complain about
|
||||
# the unknown option and exit.
|
||||
m4_defun([_LT_SET_OPTIONS],
|
||||
[# Set options
|
||||
m4_foreach([_LT_Option], m4_split(m4_normalize([$2])),
|
||||
[_LT_SET_OPTION([$1], _LT_Option)])
|
||||
|
||||
m4_if([$1],[LT_INIT],[
|
||||
dnl
|
||||
dnl Simply set some default values (i.e off) if boolean options were not
|
||||
dnl specified:
|
||||
_LT_UNLESS_OPTIONS([LT_INIT], [dlopen], [enable_dlopen=no
|
||||
])
|
||||
_LT_UNLESS_OPTIONS([LT_INIT], [win32-dll], [enable_win32_dll=no
|
||||
])
|
||||
dnl
|
||||
dnl If no reference was made to various pairs of opposing options, then
|
||||
dnl we run the default mode handler for the pair. For example, if neither
|
||||
dnl 'shared' nor 'disable-shared' was passed, we enable building of shared
|
||||
dnl archives by default:
|
||||
_LT_UNLESS_OPTIONS([LT_INIT], [shared disable-shared], [_LT_ENABLE_SHARED])
|
||||
_LT_UNLESS_OPTIONS([LT_INIT], [static disable-static], [_LT_ENABLE_STATIC])
|
||||
_LT_UNLESS_OPTIONS([LT_INIT], [pic-only no-pic], [_LT_WITH_PIC])
|
||||
_LT_UNLESS_OPTIONS([LT_INIT], [fast-install disable-fast-install],
|
||||
[_LT_ENABLE_FAST_INSTALL])
|
||||
_LT_UNLESS_OPTIONS([LT_INIT], [aix-soname=aix aix-soname=both aix-soname=svr4],
|
||||
[_LT_WITH_AIX_SONAME([aix])])
|
||||
])
|
||||
])# _LT_SET_OPTIONS
|
||||
|
||||
|
||||
## --------------------------------- ##
|
||||
## Macros to handle LT_INIT options. ##
|
||||
## --------------------------------- ##
|
||||
|
||||
# _LT_MANGLE_DEFUN(MACRO-NAME, OPTION-NAME)
|
||||
# -----------------------------------------
|
||||
m4_define([_LT_MANGLE_DEFUN],
|
||||
[[_LT_OPTION_DEFUN_]m4_bpatsubst(m4_toupper([$1__$2]), [[^A-Z0-9_]], [_])])
|
||||
|
||||
|
||||
# LT_OPTION_DEFINE(MACRO-NAME, OPTION-NAME, CODE)
|
||||
# -----------------------------------------------
|
||||
m4_define([LT_OPTION_DEFINE],
|
||||
[m4_define(_LT_MANGLE_DEFUN([$1], [$2]), [$3])[]dnl
|
||||
])# LT_OPTION_DEFINE
|
||||
|
||||
|
||||
# dlopen
|
||||
# ------
|
||||
LT_OPTION_DEFINE([LT_INIT], [dlopen], [enable_dlopen=yes
|
||||
])
|
||||
|
||||
AU_DEFUN([AC_LIBTOOL_DLOPEN],
|
||||
[_LT_SET_OPTION([LT_INIT], [dlopen])
|
||||
AC_DIAGNOSE([obsolete],
|
||||
[$0: Remove this warning and the call to _LT_SET_OPTION when you
|
||||
put the 'dlopen' option into LT_INIT's first parameter.])
|
||||
])
|
||||
|
||||
dnl aclocal-1.4 backwards compatibility:
|
||||
dnl AC_DEFUN([AC_LIBTOOL_DLOPEN], [])
|
||||
|
||||
|
||||
# win32-dll
|
||||
# ---------
|
||||
# Declare package support for building win32 dll's.
|
||||
LT_OPTION_DEFINE([LT_INIT], [win32-dll],
|
||||
[enable_win32_dll=yes
|
||||
|
||||
case $host in
|
||||
*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-cegcc*)
|
||||
AC_CHECK_TOOL(AS, as, false)
|
||||
AC_CHECK_TOOL(DLLTOOL, dlltool, false)
|
||||
AC_CHECK_TOOL(OBJDUMP, objdump, false)
|
||||
;;
|
||||
esac
|
||||
|
||||
test -z "$AS" && AS=as
|
||||
_LT_DECL([], [AS], [1], [Assembler program])dnl
|
||||
|
||||
test -z "$DLLTOOL" && DLLTOOL=dlltool
|
||||
_LT_DECL([], [DLLTOOL], [1], [DLL creation program])dnl
|
||||
|
||||
test -z "$OBJDUMP" && OBJDUMP=objdump
|
||||
_LT_DECL([], [OBJDUMP], [1], [Object dumper program])dnl
|
||||
])# win32-dll
|
||||
|
||||
AU_DEFUN([AC_LIBTOOL_WIN32_DLL],
|
||||
[AC_REQUIRE([AC_CANONICAL_HOST])dnl
|
||||
_LT_SET_OPTION([LT_INIT], [win32-dll])
|
||||
AC_DIAGNOSE([obsolete],
|
||||
[$0: Remove this warning and the call to _LT_SET_OPTION when you
|
||||
put the 'win32-dll' option into LT_INIT's first parameter.])
|
||||
])
|
||||
|
||||
dnl aclocal-1.4 backwards compatibility:
|
||||
dnl AC_DEFUN([AC_LIBTOOL_WIN32_DLL], [])
|
||||
|
||||
|
||||
# _LT_ENABLE_SHARED([DEFAULT])
|
||||
# ----------------------------
|
||||
# implement the --enable-shared flag, and supports the 'shared' and
|
||||
# 'disable-shared' LT_INIT options.
|
||||
# DEFAULT is either 'yes' or 'no'. If omitted, it defaults to 'yes'.
|
||||
m4_define([_LT_ENABLE_SHARED],
|
||||
[m4_define([_LT_ENABLE_SHARED_DEFAULT], [m4_if($1, no, no, yes)])dnl
|
||||
AC_ARG_ENABLE([shared],
|
||||
[AS_HELP_STRING([--enable-shared@<:@=PKGS@:>@],
|
||||
[build shared libraries @<:@default=]_LT_ENABLE_SHARED_DEFAULT[@:>@])],
|
||||
[p=${PACKAGE-default}
|
||||
case $enableval in
|
||||
yes) enable_shared=yes ;;
|
||||
no) enable_shared=no ;;
|
||||
*)
|
||||
enable_shared=no
|
||||
# Look at the argument we got. We use all the common list separators.
|
||||
lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR,
|
||||
for pkg in $enableval; do
|
||||
IFS=$lt_save_ifs
|
||||
if test "X$pkg" = "X$p"; then
|
||||
enable_shared=yes
|
||||
fi
|
||||
done
|
||||
IFS=$lt_save_ifs
|
||||
;;
|
||||
esac],
|
||||
[enable_shared=]_LT_ENABLE_SHARED_DEFAULT)
|
||||
|
||||
_LT_DECL([build_libtool_libs], [enable_shared], [0],
|
||||
[Whether or not to build shared libraries])
|
||||
])# _LT_ENABLE_SHARED
|
||||
|
||||
LT_OPTION_DEFINE([LT_INIT], [shared], [_LT_ENABLE_SHARED([yes])])
|
||||
LT_OPTION_DEFINE([LT_INIT], [disable-shared], [_LT_ENABLE_SHARED([no])])
|
||||
|
||||
# Old names:
|
||||
AC_DEFUN([AC_ENABLE_SHARED],
|
||||
[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[shared])
|
||||
])
|
||||
|
||||
AC_DEFUN([AC_DISABLE_SHARED],
|
||||
[_LT_SET_OPTION([LT_INIT], [disable-shared])
|
||||
])
|
||||
|
||||
AU_DEFUN([AM_ENABLE_SHARED], [AC_ENABLE_SHARED($@)])
|
||||
AU_DEFUN([AM_DISABLE_SHARED], [AC_DISABLE_SHARED($@)])
|
||||
|
||||
dnl aclocal-1.4 backwards compatibility:
|
||||
dnl AC_DEFUN([AM_ENABLE_SHARED], [])
|
||||
dnl AC_DEFUN([AM_DISABLE_SHARED], [])
|
||||
|
||||
|
||||
|
||||
# _LT_ENABLE_STATIC([DEFAULT])
|
||||
# ----------------------------
|
||||
# implement the --enable-static flag, and support the 'static' and
|
||||
# 'disable-static' LT_INIT options.
|
||||
# DEFAULT is either 'yes' or 'no'. If omitted, it defaults to 'yes'.
|
||||
m4_define([_LT_ENABLE_STATIC],
|
||||
[m4_define([_LT_ENABLE_STATIC_DEFAULT], [m4_if($1, no, no, yes)])dnl
|
||||
AC_ARG_ENABLE([static],
|
||||
[AS_HELP_STRING([--enable-static@<:@=PKGS@:>@],
|
||||
[build static libraries @<:@default=]_LT_ENABLE_STATIC_DEFAULT[@:>@])],
|
||||
[p=${PACKAGE-default}
|
||||
case $enableval in
|
||||
yes) enable_static=yes ;;
|
||||
no) enable_static=no ;;
|
||||
*)
|
||||
enable_static=no
|
||||
# Look at the argument we got. We use all the common list separators.
|
||||
lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR,
|
||||
for pkg in $enableval; do
|
||||
IFS=$lt_save_ifs
|
||||
if test "X$pkg" = "X$p"; then
|
||||
enable_static=yes
|
||||
fi
|
||||
done
|
||||
IFS=$lt_save_ifs
|
||||
;;
|
||||
esac],
|
||||
[enable_static=]_LT_ENABLE_STATIC_DEFAULT)
|
||||
|
||||
_LT_DECL([build_old_libs], [enable_static], [0],
|
||||
[Whether or not to build static libraries])
|
||||
])# _LT_ENABLE_STATIC
|
||||
|
||||
LT_OPTION_DEFINE([LT_INIT], [static], [_LT_ENABLE_STATIC([yes])])
|
||||
LT_OPTION_DEFINE([LT_INIT], [disable-static], [_LT_ENABLE_STATIC([no])])
|
||||
|
||||
# Old names:
|
||||
AC_DEFUN([AC_ENABLE_STATIC],
|
||||
[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[static])
|
||||
])
|
||||
|
||||
AC_DEFUN([AC_DISABLE_STATIC],
|
||||
[_LT_SET_OPTION([LT_INIT], [disable-static])
|
||||
])
|
||||
|
||||
AU_DEFUN([AM_ENABLE_STATIC], [AC_ENABLE_STATIC($@)])
|
||||
AU_DEFUN([AM_DISABLE_STATIC], [AC_DISABLE_STATIC($@)])
|
||||
|
||||
dnl aclocal-1.4 backwards compatibility:
|
||||
dnl AC_DEFUN([AM_ENABLE_STATIC], [])
|
||||
dnl AC_DEFUN([AM_DISABLE_STATIC], [])
|
||||
|
||||
|
||||
|
||||
# _LT_ENABLE_FAST_INSTALL([DEFAULT])
|
||||
# ----------------------------------
|
||||
# implement the --enable-fast-install flag, and support the 'fast-install'
|
||||
# and 'disable-fast-install' LT_INIT options.
|
||||
# DEFAULT is either 'yes' or 'no'. If omitted, it defaults to 'yes'.
|
||||
m4_define([_LT_ENABLE_FAST_INSTALL],
|
||||
[m4_define([_LT_ENABLE_FAST_INSTALL_DEFAULT], [m4_if($1, no, no, yes)])dnl
|
||||
AC_ARG_ENABLE([fast-install],
|
||||
[AS_HELP_STRING([--enable-fast-install@<:@=PKGS@:>@],
|
||||
[optimize for fast installation @<:@default=]_LT_ENABLE_FAST_INSTALL_DEFAULT[@:>@])],
|
||||
[p=${PACKAGE-default}
|
||||
case $enableval in
|
||||
yes) enable_fast_install=yes ;;
|
||||
no) enable_fast_install=no ;;
|
||||
*)
|
||||
enable_fast_install=no
|
||||
# Look at the argument we got. We use all the common list separators.
|
||||
lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR,
|
||||
for pkg in $enableval; do
|
||||
IFS=$lt_save_ifs
|
||||
if test "X$pkg" = "X$p"; then
|
||||
enable_fast_install=yes
|
||||
fi
|
||||
done
|
||||
IFS=$lt_save_ifs
|
||||
;;
|
||||
esac],
|
||||
[enable_fast_install=]_LT_ENABLE_FAST_INSTALL_DEFAULT)
|
||||
|
||||
_LT_DECL([fast_install], [enable_fast_install], [0],
|
||||
[Whether or not to optimize for fast installation])dnl
|
||||
])# _LT_ENABLE_FAST_INSTALL
|
||||
|
||||
LT_OPTION_DEFINE([LT_INIT], [fast-install], [_LT_ENABLE_FAST_INSTALL([yes])])
|
||||
LT_OPTION_DEFINE([LT_INIT], [disable-fast-install], [_LT_ENABLE_FAST_INSTALL([no])])
|
||||
|
||||
# Old names:
|
||||
AU_DEFUN([AC_ENABLE_FAST_INSTALL],
|
||||
[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[fast-install])
|
||||
AC_DIAGNOSE([obsolete],
|
||||
[$0: Remove this warning and the call to _LT_SET_OPTION when you put
|
||||
the 'fast-install' option into LT_INIT's first parameter.])
|
||||
])
|
||||
|
||||
AU_DEFUN([AC_DISABLE_FAST_INSTALL],
|
||||
[_LT_SET_OPTION([LT_INIT], [disable-fast-install])
|
||||
AC_DIAGNOSE([obsolete],
|
||||
[$0: Remove this warning and the call to _LT_SET_OPTION when you put
|
||||
the 'disable-fast-install' option into LT_INIT's first parameter.])
|
||||
])
|
||||
|
||||
dnl aclocal-1.4 backwards compatibility:
|
||||
dnl AC_DEFUN([AC_ENABLE_FAST_INSTALL], [])
|
||||
dnl AC_DEFUN([AM_DISABLE_FAST_INSTALL], [])
|
||||
|
||||
|
||||
# _LT_WITH_AIX_SONAME([DEFAULT])
|
||||
# ----------------------------------
|
||||
# implement the --with-aix-soname flag, and support the `aix-soname=aix'
|
||||
# and `aix-soname=both' and `aix-soname=svr4' LT_INIT options. DEFAULT
|
||||
# is either `aix', `both' or `svr4'. If omitted, it defaults to `aix'.
|
||||
m4_define([_LT_WITH_AIX_SONAME],
|
||||
[m4_define([_LT_WITH_AIX_SONAME_DEFAULT], [m4_if($1, svr4, svr4, m4_if($1, both, both, aix))])dnl
|
||||
shared_archive_member_spec=
|
||||
case $host,$enable_shared in
|
||||
power*-*-aix[[5-9]]*,yes)
|
||||
AC_MSG_CHECKING([which variant of shared library versioning to provide])
|
||||
AC_ARG_WITH([aix-soname],
|
||||
[AS_HELP_STRING([--with-aix-soname=aix|svr4|both],
|
||||
[shared library versioning (aka "SONAME") variant to provide on AIX, @<:@default=]_LT_WITH_AIX_SONAME_DEFAULT[@:>@.])],
|
||||
[case $withval in
|
||||
aix|svr4|both)
|
||||
;;
|
||||
*)
|
||||
AC_MSG_ERROR([Unknown argument to --with-aix-soname])
|
||||
;;
|
||||
esac
|
||||
lt_cv_with_aix_soname=$with_aix_soname],
|
||||
[AC_CACHE_VAL([lt_cv_with_aix_soname],
|
||||
[lt_cv_with_aix_soname=]_LT_WITH_AIX_SONAME_DEFAULT)
|
||||
with_aix_soname=$lt_cv_with_aix_soname])
|
||||
AC_MSG_RESULT([$with_aix_soname])
|
||||
if test aix != "$with_aix_soname"; then
|
||||
# For the AIX way of multilib, we name the shared archive member
|
||||
# based on the bitwidth used, traditionally 'shr.o' or 'shr_64.o',
|
||||
# and 'shr.imp' or 'shr_64.imp', respectively, for the Import File.
|
||||
# Even when GNU compilers ignore OBJECT_MODE but need '-maix64' flag,
|
||||
# the AIX toolchain works better with OBJECT_MODE set (default 32).
|
||||
if test 64 = "${OBJECT_MODE-32}"; then
|
||||
shared_archive_member_spec=shr_64
|
||||
else
|
||||
shared_archive_member_spec=shr
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
*)
|
||||
with_aix_soname=aix
|
||||
;;
|
||||
esac
|
||||
|
||||
_LT_DECL([], [shared_archive_member_spec], [0],
|
||||
[Shared archive member basename, for filename based shared library versioning on AIX])dnl
|
||||
])# _LT_WITH_AIX_SONAME
|
||||
|
||||
LT_OPTION_DEFINE([LT_INIT], [aix-soname=aix], [_LT_WITH_AIX_SONAME([aix])])
|
||||
LT_OPTION_DEFINE([LT_INIT], [aix-soname=both], [_LT_WITH_AIX_SONAME([both])])
|
||||
LT_OPTION_DEFINE([LT_INIT], [aix-soname=svr4], [_LT_WITH_AIX_SONAME([svr4])])
|
||||
|
||||
|
||||
# _LT_WITH_PIC([MODE])
|
||||
# --------------------
|
||||
# implement the --with-pic flag, and support the 'pic-only' and 'no-pic'
|
||||
# LT_INIT options.
|
||||
# MODE is either 'yes' or 'no'. If omitted, it defaults to 'both'.
|
||||
m4_define([_LT_WITH_PIC],
|
||||
[AC_ARG_WITH([pic],
|
||||
[AS_HELP_STRING([--with-pic@<:@=PKGS@:>@],
|
||||
[try to use only PIC/non-PIC objects @<:@default=use both@:>@])],
|
||||
[lt_p=${PACKAGE-default}
|
||||
case $withval in
|
||||
yes|no) pic_mode=$withval ;;
|
||||
*)
|
||||
pic_mode=default
|
||||
# Look at the argument we got. We use all the common list separators.
|
||||
lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR,
|
||||
for lt_pkg in $withval; do
|
||||
IFS=$lt_save_ifs
|
||||
if test "X$lt_pkg" = "X$lt_p"; then
|
||||
pic_mode=yes
|
||||
fi
|
||||
done
|
||||
IFS=$lt_save_ifs
|
||||
;;
|
||||
esac],
|
||||
[pic_mode=m4_default([$1], [default])])
|
||||
|
||||
_LT_DECL([], [pic_mode], [0], [What type of objects to build])dnl
|
||||
])# _LT_WITH_PIC
|
||||
|
||||
LT_OPTION_DEFINE([LT_INIT], [pic-only], [_LT_WITH_PIC([yes])])
|
||||
LT_OPTION_DEFINE([LT_INIT], [no-pic], [_LT_WITH_PIC([no])])
|
||||
|
||||
# Old name:
|
||||
AU_DEFUN([AC_LIBTOOL_PICMODE],
|
||||
[_LT_SET_OPTION([LT_INIT], [pic-only])
|
||||
AC_DIAGNOSE([obsolete],
|
||||
[$0: Remove this warning and the call to _LT_SET_OPTION when you
|
||||
put the 'pic-only' option into LT_INIT's first parameter.])
|
||||
])
|
||||
|
||||
dnl aclocal-1.4 backwards compatibility:
|
||||
dnl AC_DEFUN([AC_LIBTOOL_PICMODE], [])
|
||||
|
||||
## ----------------- ##
|
||||
## LTDL_INIT Options ##
|
||||
## ----------------- ##
|
||||
|
||||
m4_define([_LTDL_MODE], [])
|
||||
LT_OPTION_DEFINE([LTDL_INIT], [nonrecursive],
|
||||
[m4_define([_LTDL_MODE], [nonrecursive])])
|
||||
LT_OPTION_DEFINE([LTDL_INIT], [recursive],
|
||||
[m4_define([_LTDL_MODE], [recursive])])
|
||||
LT_OPTION_DEFINE([LTDL_INIT], [subproject],
|
||||
[m4_define([_LTDL_MODE], [subproject])])
|
||||
|
||||
m4_define([_LTDL_TYPE], [])
|
||||
LT_OPTION_DEFINE([LTDL_INIT], [installable],
|
||||
[m4_define([_LTDL_TYPE], [installable])])
|
||||
LT_OPTION_DEFINE([LTDL_INIT], [convenience],
|
||||
[m4_define([_LTDL_TYPE], [convenience])])
|
||||
124
lisp/zmq/src/m4/ltsugar.m4
vendored
Normal file
124
lisp/zmq/src/m4/ltsugar.m4
vendored
Normal file
@@ -0,0 +1,124 @@
|
||||
# ltsugar.m4 -- libtool m4 base layer. -*-Autoconf-*-
|
||||
#
|
||||
# Copyright (C) 2004-2005, 2007-2008, 2011-2019, 2021-2022 Free Software
|
||||
# Foundation, Inc.
|
||||
# Written by Gary V. Vaughan, 2004
|
||||
#
|
||||
# This file is free software; the Free Software Foundation gives
|
||||
# unlimited permission to copy and/or distribute it, with or without
|
||||
# modifications, as long as this notice is preserved.
|
||||
|
||||
# serial 6 ltsugar.m4
|
||||
|
||||
# This is to help aclocal find these macros, as it can't see m4_define.
|
||||
AC_DEFUN([LTSUGAR_VERSION], [m4_if([0.1])])
|
||||
|
||||
|
||||
# lt_join(SEP, ARG1, [ARG2...])
|
||||
# -----------------------------
|
||||
# Produce ARG1SEPARG2...SEPARGn, omitting [] arguments and their
|
||||
# associated separator.
|
||||
# Needed until we can rely on m4_join from Autoconf 2.62, since all earlier
|
||||
# versions in m4sugar had bugs.
|
||||
m4_define([lt_join],
|
||||
[m4_if([$#], [1], [],
|
||||
[$#], [2], [[$2]],
|
||||
[m4_if([$2], [], [], [[$2]_])$0([$1], m4_shift(m4_shift($@)))])])
|
||||
m4_define([_lt_join],
|
||||
[m4_if([$#$2], [2], [],
|
||||
[m4_if([$2], [], [], [[$1$2]])$0([$1], m4_shift(m4_shift($@)))])])
|
||||
|
||||
|
||||
# lt_car(LIST)
|
||||
# lt_cdr(LIST)
|
||||
# ------------
|
||||
# Manipulate m4 lists.
|
||||
# These macros are necessary as long as will still need to support
|
||||
# Autoconf-2.59, which quotes differently.
|
||||
m4_define([lt_car], [[$1]])
|
||||
m4_define([lt_cdr],
|
||||
[m4_if([$#], 0, [m4_fatal([$0: cannot be called without arguments])],
|
||||
[$#], 1, [],
|
||||
[m4_dquote(m4_shift($@))])])
|
||||
m4_define([lt_unquote], $1)
|
||||
|
||||
|
||||
# lt_append(MACRO-NAME, STRING, [SEPARATOR])
|
||||
# ------------------------------------------
|
||||
# Redefine MACRO-NAME to hold its former content plus 'SEPARATOR''STRING'.
|
||||
# Note that neither SEPARATOR nor STRING are expanded; they are appended
|
||||
# to MACRO-NAME as is (leaving the expansion for when MACRO-NAME is invoked).
|
||||
# No SEPARATOR is output if MACRO-NAME was previously undefined (different
|
||||
# than defined and empty).
|
||||
#
|
||||
# This macro is needed until we can rely on Autoconf 2.62, since earlier
|
||||
# versions of m4sugar mistakenly expanded SEPARATOR but not STRING.
|
||||
m4_define([lt_append],
|
||||
[m4_define([$1],
|
||||
m4_ifdef([$1], [m4_defn([$1])[$3]])[$2])])
|
||||
|
||||
|
||||
|
||||
# lt_combine(SEP, PREFIX-LIST, INFIX, SUFFIX1, [SUFFIX2...])
|
||||
# ----------------------------------------------------------
|
||||
# Produce a SEP delimited list of all paired combinations of elements of
|
||||
# PREFIX-LIST with SUFFIX1 through SUFFIXn. Each element of the list
|
||||
# has the form PREFIXmINFIXSUFFIXn.
|
||||
# Needed until we can rely on m4_combine added in Autoconf 2.62.
|
||||
m4_define([lt_combine],
|
||||
[m4_if(m4_eval([$# > 3]), [1],
|
||||
[m4_pushdef([_Lt_sep], [m4_define([_Lt_sep], m4_defn([lt_car]))])]]dnl
|
||||
[[m4_foreach([_Lt_prefix], [$2],
|
||||
[m4_foreach([_Lt_suffix],
|
||||
]m4_dquote(m4_dquote(m4_shift(m4_shift(m4_shift($@)))))[,
|
||||
[_Lt_sep([$1])[]m4_defn([_Lt_prefix])[$3]m4_defn([_Lt_suffix])])])])])
|
||||
|
||||
|
||||
# lt_if_append_uniq(MACRO-NAME, VARNAME, [SEPARATOR], [UNIQ], [NOT-UNIQ])
|
||||
# -----------------------------------------------------------------------
|
||||
# Iff MACRO-NAME does not yet contain VARNAME, then append it (delimited
|
||||
# by SEPARATOR if supplied) and expand UNIQ, else NOT-UNIQ.
|
||||
m4_define([lt_if_append_uniq],
|
||||
[m4_ifdef([$1],
|
||||
[m4_if(m4_index([$3]m4_defn([$1])[$3], [$3$2$3]), [-1],
|
||||
[lt_append([$1], [$2], [$3])$4],
|
||||
[$5])],
|
||||
[lt_append([$1], [$2], [$3])$4])])
|
||||
|
||||
|
||||
# lt_dict_add(DICT, KEY, VALUE)
|
||||
# -----------------------------
|
||||
m4_define([lt_dict_add],
|
||||
[m4_define([$1($2)], [$3])])
|
||||
|
||||
|
||||
# lt_dict_add_subkey(DICT, KEY, SUBKEY, VALUE)
|
||||
# --------------------------------------------
|
||||
m4_define([lt_dict_add_subkey],
|
||||
[m4_define([$1($2:$3)], [$4])])
|
||||
|
||||
|
||||
# lt_dict_fetch(DICT, KEY, [SUBKEY])
|
||||
# ----------------------------------
|
||||
m4_define([lt_dict_fetch],
|
||||
[m4_ifval([$3],
|
||||
m4_ifdef([$1($2:$3)], [m4_defn([$1($2:$3)])]),
|
||||
m4_ifdef([$1($2)], [m4_defn([$1($2)])]))])
|
||||
|
||||
|
||||
# lt_if_dict_fetch(DICT, KEY, [SUBKEY], VALUE, IF-TRUE, [IF-FALSE])
|
||||
# -----------------------------------------------------------------
|
||||
m4_define([lt_if_dict_fetch],
|
||||
[m4_if(lt_dict_fetch([$1], [$2], [$3]), [$4],
|
||||
[$5],
|
||||
[$6])])
|
||||
|
||||
|
||||
# lt_dict_filter(DICT, [SUBKEY], VALUE, [SEPARATOR], KEY, [...])
|
||||
# --------------------------------------------------------------
|
||||
m4_define([lt_dict_filter],
|
||||
[m4_if([$5], [], [],
|
||||
[lt_join(m4_quote(m4_default([$4], [[, ]])),
|
||||
lt_unquote(m4_split(m4_normalize(m4_foreach(_Lt_key, lt_car([m4_shiftn(4, $@)]),
|
||||
[lt_if_dict_fetch([$1], _Lt_key, [$2], [$3], [_Lt_key ])])))))])[]dnl
|
||||
])
|
||||
24
lisp/zmq/src/m4/ltversion.m4
vendored
Normal file
24
lisp/zmq/src/m4/ltversion.m4
vendored
Normal file
@@ -0,0 +1,24 @@
|
||||
# ltversion.m4 -- version numbers -*- Autoconf -*-
|
||||
#
|
||||
# Copyright (C) 2004, 2011-2019, 2021-2022 Free Software Foundation,
|
||||
# Inc.
|
||||
# Written by Scott James Remnant, 2004
|
||||
#
|
||||
# This file is free software; the Free Software Foundation gives
|
||||
# unlimited permission to copy and/or distribute it, with or without
|
||||
# modifications, as long as this notice is preserved.
|
||||
|
||||
# @configure_input@
|
||||
|
||||
# serial 4249 ltversion.m4
|
||||
# This file is part of GNU Libtool
|
||||
|
||||
m4_define([LT_PACKAGE_VERSION], [2.4.7.4-1ec8f-dirty])
|
||||
m4_define([LT_PACKAGE_REVISION], [2.4.7.4])
|
||||
|
||||
AC_DEFUN([LTVERSION_VERSION],
|
||||
[macro_version='2.4.7.4-1ec8f-dirty'
|
||||
macro_revision='2.4.7.4'
|
||||
_LT_DECL(, macro_version, 0, [Which release of libtool.m4 was used?])
|
||||
_LT_DECL(, macro_revision, 0)
|
||||
])
|
||||
99
lisp/zmq/src/m4/lt~obsolete.m4
vendored
Normal file
99
lisp/zmq/src/m4/lt~obsolete.m4
vendored
Normal file
@@ -0,0 +1,99 @@
|
||||
# lt~obsolete.m4 -- aclocal satisfying obsolete definitions. -*-Autoconf-*-
|
||||
#
|
||||
# Copyright (C) 2004-2005, 2007, 2009, 2011-2019, 2021-2022 Free
|
||||
# Software Foundation, Inc.
|
||||
# Written by Scott James Remnant, 2004.
|
||||
#
|
||||
# This file is free software; the Free Software Foundation gives
|
||||
# unlimited permission to copy and/or distribute it, with or without
|
||||
# modifications, as long as this notice is preserved.
|
||||
|
||||
# serial 5 lt~obsolete.m4
|
||||
|
||||
# These exist entirely to fool aclocal when bootstrapping libtool.
|
||||
#
|
||||
# In the past libtool.m4 has provided macros via AC_DEFUN (or AU_DEFUN),
|
||||
# which have later been changed to m4_define as they aren't part of the
|
||||
# exported API, or moved to Autoconf or Automake where they belong.
|
||||
#
|
||||
# The trouble is, aclocal is a bit thick. It'll see the old AC_DEFUN
|
||||
# in /usr/share/aclocal/libtool.m4 and remember it, then when it sees us
|
||||
# using a macro with the same name in our local m4/libtool.m4 it'll
|
||||
# pull the old libtool.m4 in (it doesn't see our shiny new m4_define
|
||||
# and doesn't know about Autoconf macros at all.)
|
||||
#
|
||||
# So we provide this file, which has a silly filename so it's always
|
||||
# included after everything else. This provides aclocal with the
|
||||
# AC_DEFUNs it wants, but when m4 processes it, it doesn't do anything
|
||||
# because those macros already exist, or will be overwritten later.
|
||||
# We use AC_DEFUN over AU_DEFUN for compatibility with aclocal-1.6.
|
||||
#
|
||||
# Anytime we withdraw an AC_DEFUN or AU_DEFUN, remember to add it here.
|
||||
# Yes, that means every name once taken will need to remain here until
|
||||
# we give up compatibility with versions before 1.7, at which point
|
||||
# we need to keep only those names which we still refer to.
|
||||
|
||||
# This is to help aclocal find these macros, as it can't see m4_define.
|
||||
AC_DEFUN([LTOBSOLETE_VERSION], [m4_if([1])])
|
||||
|
||||
m4_ifndef([AC_LIBTOOL_LINKER_OPTION], [AC_DEFUN([AC_LIBTOOL_LINKER_OPTION])])
|
||||
m4_ifndef([AC_PROG_EGREP], [AC_DEFUN([AC_PROG_EGREP])])
|
||||
m4_ifndef([_LT_AC_PROG_ECHO_BACKSLASH], [AC_DEFUN([_LT_AC_PROG_ECHO_BACKSLASH])])
|
||||
m4_ifndef([_LT_AC_SHELL_INIT], [AC_DEFUN([_LT_AC_SHELL_INIT])])
|
||||
m4_ifndef([_LT_AC_SYS_LIBPATH_AIX], [AC_DEFUN([_LT_AC_SYS_LIBPATH_AIX])])
|
||||
m4_ifndef([_LT_PROG_LTMAIN], [AC_DEFUN([_LT_PROG_LTMAIN])])
|
||||
m4_ifndef([_LT_AC_TAGVAR], [AC_DEFUN([_LT_AC_TAGVAR])])
|
||||
m4_ifndef([AC_LTDL_ENABLE_INSTALL], [AC_DEFUN([AC_LTDL_ENABLE_INSTALL])])
|
||||
m4_ifndef([AC_LTDL_PREOPEN], [AC_DEFUN([AC_LTDL_PREOPEN])])
|
||||
m4_ifndef([_LT_AC_SYS_COMPILER], [AC_DEFUN([_LT_AC_SYS_COMPILER])])
|
||||
m4_ifndef([_LT_AC_LOCK], [AC_DEFUN([_LT_AC_LOCK])])
|
||||
m4_ifndef([AC_LIBTOOL_SYS_OLD_ARCHIVE], [AC_DEFUN([AC_LIBTOOL_SYS_OLD_ARCHIVE])])
|
||||
m4_ifndef([_LT_AC_TRY_DLOPEN_SELF], [AC_DEFUN([_LT_AC_TRY_DLOPEN_SELF])])
|
||||
m4_ifndef([AC_LIBTOOL_PROG_CC_C_O], [AC_DEFUN([AC_LIBTOOL_PROG_CC_C_O])])
|
||||
m4_ifndef([AC_LIBTOOL_SYS_HARD_LINK_LOCKS], [AC_DEFUN([AC_LIBTOOL_SYS_HARD_LINK_LOCKS])])
|
||||
m4_ifndef([AC_LIBTOOL_OBJDIR], [AC_DEFUN([AC_LIBTOOL_OBJDIR])])
|
||||
m4_ifndef([AC_LTDL_OBJDIR], [AC_DEFUN([AC_LTDL_OBJDIR])])
|
||||
m4_ifndef([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH], [AC_DEFUN([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH])])
|
||||
m4_ifndef([AC_LIBTOOL_SYS_LIB_STRIP], [AC_DEFUN([AC_LIBTOOL_SYS_LIB_STRIP])])
|
||||
m4_ifndef([AC_PATH_MAGIC], [AC_DEFUN([AC_PATH_MAGIC])])
|
||||
m4_ifndef([AC_PROG_LD_GNU], [AC_DEFUN([AC_PROG_LD_GNU])])
|
||||
m4_ifndef([AC_PROG_LD_RELOAD_FLAG], [AC_DEFUN([AC_PROG_LD_RELOAD_FLAG])])
|
||||
m4_ifndef([AC_DEPLIBS_CHECK_METHOD], [AC_DEFUN([AC_DEPLIBS_CHECK_METHOD])])
|
||||
m4_ifndef([AC_LIBTOOL_PROG_COMPILER_NO_RTTI], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_NO_RTTI])])
|
||||
m4_ifndef([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE], [AC_DEFUN([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE])])
|
||||
m4_ifndef([AC_LIBTOOL_PROG_COMPILER_PIC], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_PIC])])
|
||||
m4_ifndef([AC_LIBTOOL_PROG_LD_SHLIBS], [AC_DEFUN([AC_LIBTOOL_PROG_LD_SHLIBS])])
|
||||
m4_ifndef([AC_LIBTOOL_POSTDEP_PREDEP], [AC_DEFUN([AC_LIBTOOL_POSTDEP_PREDEP])])
|
||||
m4_ifndef([LT_AC_PROG_EGREP], [AC_DEFUN([LT_AC_PROG_EGREP])])
|
||||
m4_ifndef([LT_AC_PROG_SED], [AC_DEFUN([LT_AC_PROG_SED])])
|
||||
m4_ifndef([_LT_CC_BASENAME], [AC_DEFUN([_LT_CC_BASENAME])])
|
||||
m4_ifndef([_LT_COMPILER_BOILERPLATE], [AC_DEFUN([_LT_COMPILER_BOILERPLATE])])
|
||||
m4_ifndef([_LT_LINKER_BOILERPLATE], [AC_DEFUN([_LT_LINKER_BOILERPLATE])])
|
||||
m4_ifndef([_AC_PROG_LIBTOOL], [AC_DEFUN([_AC_PROG_LIBTOOL])])
|
||||
m4_ifndef([AC_LIBTOOL_SETUP], [AC_DEFUN([AC_LIBTOOL_SETUP])])
|
||||
m4_ifndef([_LT_AC_CHECK_DLFCN], [AC_DEFUN([_LT_AC_CHECK_DLFCN])])
|
||||
m4_ifndef([AC_LIBTOOL_SYS_DYNAMIC_LINKER], [AC_DEFUN([AC_LIBTOOL_SYS_DYNAMIC_LINKER])])
|
||||
m4_ifndef([_LT_AC_TAGCONFIG], [AC_DEFUN([_LT_AC_TAGCONFIG])])
|
||||
m4_ifndef([AC_DISABLE_FAST_INSTALL], [AC_DEFUN([AC_DISABLE_FAST_INSTALL])])
|
||||
m4_ifndef([_LT_AC_LANG_CXX], [AC_DEFUN([_LT_AC_LANG_CXX])])
|
||||
m4_ifndef([_LT_AC_LANG_F77], [AC_DEFUN([_LT_AC_LANG_F77])])
|
||||
m4_ifndef([_LT_AC_LANG_GCJ], [AC_DEFUN([_LT_AC_LANG_GCJ])])
|
||||
m4_ifndef([AC_LIBTOOL_LANG_C_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_C_CONFIG])])
|
||||
m4_ifndef([_LT_AC_LANG_C_CONFIG], [AC_DEFUN([_LT_AC_LANG_C_CONFIG])])
|
||||
m4_ifndef([AC_LIBTOOL_LANG_CXX_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_CXX_CONFIG])])
|
||||
m4_ifndef([_LT_AC_LANG_CXX_CONFIG], [AC_DEFUN([_LT_AC_LANG_CXX_CONFIG])])
|
||||
m4_ifndef([AC_LIBTOOL_LANG_F77_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_F77_CONFIG])])
|
||||
m4_ifndef([_LT_AC_LANG_F77_CONFIG], [AC_DEFUN([_LT_AC_LANG_F77_CONFIG])])
|
||||
m4_ifndef([AC_LIBTOOL_LANG_GCJ_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_GCJ_CONFIG])])
|
||||
m4_ifndef([_LT_AC_LANG_GCJ_CONFIG], [AC_DEFUN([_LT_AC_LANG_GCJ_CONFIG])])
|
||||
m4_ifndef([AC_LIBTOOL_LANG_RC_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_RC_CONFIG])])
|
||||
m4_ifndef([_LT_AC_LANG_RC_CONFIG], [AC_DEFUN([_LT_AC_LANG_RC_CONFIG])])
|
||||
m4_ifndef([AC_LIBTOOL_CONFIG], [AC_DEFUN([AC_LIBTOOL_CONFIG])])
|
||||
m4_ifndef([_LT_AC_FILE_LTDLL_C], [AC_DEFUN([_LT_AC_FILE_LTDLL_C])])
|
||||
m4_ifndef([_LT_REQUIRED_DARWIN_CHECKS], [AC_DEFUN([_LT_REQUIRED_DARWIN_CHECKS])])
|
||||
m4_ifndef([_LT_AC_PROG_CXXCPP], [AC_DEFUN([_LT_AC_PROG_CXXCPP])])
|
||||
m4_ifndef([_LT_PREPARE_SED_QUOTE_VARS], [AC_DEFUN([_LT_PREPARE_SED_QUOTE_VARS])])
|
||||
m4_ifndef([_LT_PROG_ECHO_BACKSLASH], [AC_DEFUN([_LT_PROG_ECHO_BACKSLASH])])
|
||||
m4_ifndef([_LT_PROG_F77], [AC_DEFUN([_LT_PROG_F77])])
|
||||
m4_ifndef([_LT_PROG_FC], [AC_DEFUN([_LT_PROG_FC])])
|
||||
m4_ifndef([_LT_PROG_CXX], [AC_DEFUN([_LT_PROG_CXX])])
|
||||
215
lisp/zmq/src/missing
Executable file
215
lisp/zmq/src/missing
Executable file
@@ -0,0 +1,215 @@
|
||||
#! /bin/sh
|
||||
# Common wrapper for a few potentially missing GNU programs.
|
||||
|
||||
scriptversion=2018-03-07.03; # UTC
|
||||
|
||||
# Copyright (C) 1996-2021 Free Software Foundation, Inc.
|
||||
# Originally written by Fran,cois Pinard <pinard@iro.umontreal.ca>, 1996.
|
||||
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 2, or (at your option)
|
||||
# any later version.
|
||||
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
|
||||
# As a special exception to the GNU General Public License, if you
|
||||
# distribute this file as part of a program that contains a
|
||||
# configuration script generated by Autoconf, you may include it under
|
||||
# the same distribution terms that you use for the rest of that program.
|
||||
|
||||
if test $# -eq 0; then
|
||||
echo 1>&2 "Try '$0 --help' for more information"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
case $1 in
|
||||
|
||||
--is-lightweight)
|
||||
# Used by our autoconf macros to check whether the available missing
|
||||
# script is modern enough.
|
||||
exit 0
|
||||
;;
|
||||
|
||||
--run)
|
||||
# Back-compat with the calling convention used by older automake.
|
||||
shift
|
||||
;;
|
||||
|
||||
-h|--h|--he|--hel|--help)
|
||||
echo "\
|
||||
$0 [OPTION]... PROGRAM [ARGUMENT]...
|
||||
|
||||
Run 'PROGRAM [ARGUMENT]...', returning a proper advice when this fails due
|
||||
to PROGRAM being missing or too old.
|
||||
|
||||
Options:
|
||||
-h, --help display this help and exit
|
||||
-v, --version output version information and exit
|
||||
|
||||
Supported PROGRAM values:
|
||||
aclocal autoconf autoheader autom4te automake makeinfo
|
||||
bison yacc flex lex help2man
|
||||
|
||||
Version suffixes to PROGRAM as well as the prefixes 'gnu-', 'gnu', and
|
||||
'g' are ignored when checking the name.
|
||||
|
||||
Send bug reports to <bug-automake@gnu.org>."
|
||||
exit $?
|
||||
;;
|
||||
|
||||
-v|--v|--ve|--ver|--vers|--versi|--versio|--version)
|
||||
echo "missing $scriptversion (GNU Automake)"
|
||||
exit $?
|
||||
;;
|
||||
|
||||
-*)
|
||||
echo 1>&2 "$0: unknown '$1' option"
|
||||
echo 1>&2 "Try '$0 --help' for more information"
|
||||
exit 1
|
||||
;;
|
||||
|
||||
esac
|
||||
|
||||
# Run the given program, remember its exit status.
|
||||
"$@"; st=$?
|
||||
|
||||
# If it succeeded, we are done.
|
||||
test $st -eq 0 && exit 0
|
||||
|
||||
# Also exit now if we it failed (or wasn't found), and '--version' was
|
||||
# passed; such an option is passed most likely to detect whether the
|
||||
# program is present and works.
|
||||
case $2 in --version|--help) exit $st;; esac
|
||||
|
||||
# Exit code 63 means version mismatch. This often happens when the user
|
||||
# tries to use an ancient version of a tool on a file that requires a
|
||||
# minimum version.
|
||||
if test $st -eq 63; then
|
||||
msg="probably too old"
|
||||
elif test $st -eq 127; then
|
||||
# Program was missing.
|
||||
msg="missing on your system"
|
||||
else
|
||||
# Program was found and executed, but failed. Give up.
|
||||
exit $st
|
||||
fi
|
||||
|
||||
perl_URL=https://www.perl.org/
|
||||
flex_URL=https://github.com/westes/flex
|
||||
gnu_software_URL=https://www.gnu.org/software
|
||||
|
||||
program_details ()
|
||||
{
|
||||
case $1 in
|
||||
aclocal|automake)
|
||||
echo "The '$1' program is part of the GNU Automake package:"
|
||||
echo "<$gnu_software_URL/automake>"
|
||||
echo "It also requires GNU Autoconf, GNU m4 and Perl in order to run:"
|
||||
echo "<$gnu_software_URL/autoconf>"
|
||||
echo "<$gnu_software_URL/m4/>"
|
||||
echo "<$perl_URL>"
|
||||
;;
|
||||
autoconf|autom4te|autoheader)
|
||||
echo "The '$1' program is part of the GNU Autoconf package:"
|
||||
echo "<$gnu_software_URL/autoconf/>"
|
||||
echo "It also requires GNU m4 and Perl in order to run:"
|
||||
echo "<$gnu_software_URL/m4/>"
|
||||
echo "<$perl_URL>"
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
give_advice ()
|
||||
{
|
||||
# Normalize program name to check for.
|
||||
normalized_program=`echo "$1" | sed '
|
||||
s/^gnu-//; t
|
||||
s/^gnu//; t
|
||||
s/^g//; t'`
|
||||
|
||||
printf '%s\n' "'$1' is $msg."
|
||||
|
||||
configure_deps="'configure.ac' or m4 files included by 'configure.ac'"
|
||||
case $normalized_program in
|
||||
autoconf*)
|
||||
echo "You should only need it if you modified 'configure.ac',"
|
||||
echo "or m4 files included by it."
|
||||
program_details 'autoconf'
|
||||
;;
|
||||
autoheader*)
|
||||
echo "You should only need it if you modified 'acconfig.h' or"
|
||||
echo "$configure_deps."
|
||||
program_details 'autoheader'
|
||||
;;
|
||||
automake*)
|
||||
echo "You should only need it if you modified 'Makefile.am' or"
|
||||
echo "$configure_deps."
|
||||
program_details 'automake'
|
||||
;;
|
||||
aclocal*)
|
||||
echo "You should only need it if you modified 'acinclude.m4' or"
|
||||
echo "$configure_deps."
|
||||
program_details 'aclocal'
|
||||
;;
|
||||
autom4te*)
|
||||
echo "You might have modified some maintainer files that require"
|
||||
echo "the 'autom4te' program to be rebuilt."
|
||||
program_details 'autom4te'
|
||||
;;
|
||||
bison*|yacc*)
|
||||
echo "You should only need it if you modified a '.y' file."
|
||||
echo "You may want to install the GNU Bison package:"
|
||||
echo "<$gnu_software_URL/bison/>"
|
||||
;;
|
||||
lex*|flex*)
|
||||
echo "You should only need it if you modified a '.l' file."
|
||||
echo "You may want to install the Fast Lexical Analyzer package:"
|
||||
echo "<$flex_URL>"
|
||||
;;
|
||||
help2man*)
|
||||
echo "You should only need it if you modified a dependency" \
|
||||
"of a man page."
|
||||
echo "You may want to install the GNU Help2man package:"
|
||||
echo "<$gnu_software_URL/help2man/>"
|
||||
;;
|
||||
makeinfo*)
|
||||
echo "You should only need it if you modified a '.texi' file, or"
|
||||
echo "any other file indirectly affecting the aspect of the manual."
|
||||
echo "You might want to install the Texinfo package:"
|
||||
echo "<$gnu_software_URL/texinfo/>"
|
||||
echo "The spurious makeinfo call might also be the consequence of"
|
||||
echo "using a buggy 'make' (AIX, DU, IRIX), in which case you might"
|
||||
echo "want to install GNU make:"
|
||||
echo "<$gnu_software_URL/make/>"
|
||||
;;
|
||||
*)
|
||||
echo "You might have modified some files without having the proper"
|
||||
echo "tools for further handling them. Check the 'README' file, it"
|
||||
echo "often tells you about the needed prerequisites for installing"
|
||||
echo "this package. You may also peek at any GNU archive site, in"
|
||||
echo "case some other package contains this missing '$1' program."
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
give_advice "$1" | sed -e '1s/^/WARNING: /' \
|
||||
-e '2,$s/^/ /' >&2
|
||||
|
||||
# Propagate the correct exit status (expected to be 127 for a program
|
||||
# not found, 63 for a program that failed due to version mismatch).
|
||||
exit $st
|
||||
|
||||
# Local variables:
|
||||
# eval: (add-hook 'before-save-hook 'time-stamp)
|
||||
# time-stamp-start: "scriptversion="
|
||||
# time-stamp-format: "%:y-%02m-%02d.%02H"
|
||||
# time-stamp-time-zone: "UTC0"
|
||||
# time-stamp-end: "; # UTC"
|
||||
# End:
|
||||
249
lisp/zmq/src/msg.c
Normal file
249
lisp/zmq/src/msg.c
Normal file
@@ -0,0 +1,249 @@
|
||||
#include "msg.h"
|
||||
|
||||
static void
|
||||
ezmq_free_message(void *data, void *hint)
|
||||
{
|
||||
free(data);
|
||||
}
|
||||
|
||||
/**
|
||||
Return a copy of the data contained in VAL. VAL is either a string or vector
|
||||
of bytes. SIZE will be updated with the number of bytes contained in VAL. In
|
||||
the case that VAL is a vector, an `args-out-ouf-range` error is raised if
|
||||
the integers are not within range of a byte.
|
||||
*/
|
||||
static char *
|
||||
_ezmq_extract_message_data(emacs_value val, ptrdiff_t *size)
|
||||
{
|
||||
emacs_value type = TYPE(val);
|
||||
*size = 0;
|
||||
|
||||
if(EQ(type, Qstring)) {
|
||||
EZMQ_EXTRACT_STRING(content, clen, val);
|
||||
*size = clen;
|
||||
return content;
|
||||
} else if(EQ(type, Qvector)) {
|
||||
ptrdiff_t clen = VEC_LENGTH(val);
|
||||
char *content = ezmq_malloc(clen);
|
||||
ptrdiff_t i;
|
||||
|
||||
for(i = 0; !NONLOCAL_EXIT() && i < clen; i++) {
|
||||
EZMQ_EXTRACT_INT(byte, AREF(val, i));
|
||||
|
||||
if(0 <= byte && byte <= 255) {
|
||||
content[i] = (char)byte;
|
||||
} else {
|
||||
ezmq_args_out_of_range(INT(byte), CONS(INT(0), INT(255)));
|
||||
}
|
||||
}
|
||||
|
||||
*size = clen;
|
||||
return content;
|
||||
} else
|
||||
ezmq_wrong_type_argument(val, 2, Qstring, Qvector);
|
||||
|
||||
return NULL;
|
||||
}
|
||||
|
||||
EZMQ_DOC(ezmq_message,
|
||||
"&optional DATA",
|
||||
"Initialize a ZMQ message.\n"
|
||||
"If DATA is non-nil, initialize the message using DATA.\n"
|
||||
"DATA can be either a string or a vector of byte integers.\n"
|
||||
"If DATA is nil, initialize an empty message.");
|
||||
emacs_value
|
||||
ezmq_message(emacs_value edata)
|
||||
{
|
||||
ezmq_obj_t *msg = ezmq_new_obj(EZMQ_MESSAGE, NULL);
|
||||
if(!NILP(edata)) {
|
||||
ptrdiff_t size = 0;
|
||||
char *data = _ezmq_extract_message_data(edata, &size);
|
||||
EZMQ_CHECK_ERROR(zmq_msg_init_data(msg->obj,
|
||||
data,
|
||||
size,
|
||||
&ezmq_free_message,
|
||||
NULL));
|
||||
if(NONLOCAL_EXIT()) free(data);
|
||||
} else {
|
||||
EZMQ_CHECK_ERROR(zmq_msg_init(msg->obj));
|
||||
}
|
||||
if(NONLOCAL_EXIT()) ezmq_free_obj(msg);
|
||||
return ezmq_new_obj_ptr(msg);
|
||||
}
|
||||
|
||||
EZMQ_DOC(ezmq_message_size, "MESSAGE", "Get the size of MESSAGE.");
|
||||
emacs_value
|
||||
ezmq_message_size(emacs_value emessage)
|
||||
{
|
||||
EZMQ_EXTRACT_OBJ(msg, EZMQ_MESSAGE, emessage);
|
||||
return INT(zmq_msg_size(msg->obj));
|
||||
}
|
||||
|
||||
EZMQ_DOC(ezmq_message_data, "MESSAGE", "Get the data of MESSAGE.");
|
||||
emacs_value
|
||||
ezmq_message_data(emacs_value emessage)
|
||||
{
|
||||
emacs_value retval = Qnil;
|
||||
EZMQ_EXTRACT_OBJ(msg, EZMQ_MESSAGE, emessage);
|
||||
const char *content = zmq_msg_data(msg->obj);
|
||||
|
||||
if(content) {
|
||||
size_t size = zmq_msg_size(msg->obj);
|
||||
retval = STRING(content, size);
|
||||
}
|
||||
|
||||
return retval;
|
||||
}
|
||||
|
||||
EZMQ_DOC(ezmq_message_more, "MESSAGE", "Does MESSAGE have more parts?");
|
||||
emacs_value
|
||||
ezmq_message_more(emacs_value emessage)
|
||||
{
|
||||
EZMQ_EXTRACT_OBJ(msg, EZMQ_MESSAGE, emessage);
|
||||
int retval = zmq_msg_more(msg->obj);
|
||||
EZMQ_CHECK_ERROR(retval);
|
||||
return retval ? Qt : Qnil;
|
||||
}
|
||||
|
||||
EZMQ_DOC(ezmq_message_copy, "MESSAGE", "Copy MESSAGE.");
|
||||
emacs_value
|
||||
ezmq_message_copy(emacs_value emessage)
|
||||
{
|
||||
EZMQ_EXTRACT_OBJ(msg, EZMQ_MESSAGE, emessage);
|
||||
ezmq_obj_t *dest = ezmq_new_obj(EZMQ_MESSAGE, NULL);
|
||||
zmq_msg_init(dest->obj);
|
||||
EZMQ_CHECK_ERROR(zmq_msg_copy(dest->obj, msg->obj));
|
||||
return ezmq_new_obj_ptr(dest);
|
||||
}
|
||||
|
||||
EZMQ_DOC(ezmq_message_move, "SRC DEST", "Move a message from SRC to DEST.");
|
||||
emacs_value
|
||||
ezmq_message_move(emacs_value esrc, emacs_value edest)
|
||||
{
|
||||
EZMQ_EXTRACT_OBJ(msg, EZMQ_MESSAGE, esrc);
|
||||
EZMQ_EXTRACT_OBJ(dest, EZMQ_MESSAGE, edest);
|
||||
EZMQ_CHECK_ERROR(zmq_msg_move(dest->obj, msg->obj));
|
||||
return Qnil;
|
||||
}
|
||||
|
||||
EZMQ_DOC(ezmq_message_close, "MESSAGE", "Close a message");
|
||||
emacs_value
|
||||
ezmq_message_close(emacs_value emessage)
|
||||
{
|
||||
EZMQ_EXTRACT_OBJ(msg, EZMQ_MESSAGE, emessage);
|
||||
EZMQ_CHECK_ERROR(zmq_msg_close(msg->obj));
|
||||
return Qnil;
|
||||
}
|
||||
|
||||
EZMQ_DOC(ezmq_message_set, "MESSAGE PROPERTY VALUE", "Set a MESSAGE's PROPERTY to VALUE.");
|
||||
emacs_value
|
||||
ezmq_message_set(emacs_value emessage, emacs_value eproperty, emacs_value evalue)
|
||||
{
|
||||
EZMQ_EXTRACT_OBJ(msg, EZMQ_MESSAGE, emessage);
|
||||
EZMQ_EXTRACT_INT(property, eproperty);
|
||||
|
||||
switch(property) {
|
||||
case ZMQ_MORE:
|
||||
EZMQ_CHECK_ERROR(zmq_msg_set(msg->obj,
|
||||
property,
|
||||
!NILP(evalue)));
|
||||
break;
|
||||
default: {
|
||||
EZMQ_EXTRACT_INT(value, evalue);
|
||||
EZMQ_CHECK_ERROR(zmq_msg_set(msg->obj, property, value));
|
||||
}
|
||||
}
|
||||
return Qnil;
|
||||
}
|
||||
|
||||
EZMQ_DOC(ezmq_message_get, "MESSAGE PROPERTY", "Get a MESSAGE PROPERTY.");
|
||||
emacs_value
|
||||
ezmq_message_get(emacs_value emessage, emacs_value eproperty)
|
||||
{
|
||||
EZMQ_EXTRACT_OBJ(msg, EZMQ_MESSAGE, emessage);
|
||||
EZMQ_EXTRACT_INT(property, eproperty);
|
||||
int retval = zmq_msg_get(msg->obj, property);
|
||||
EZMQ_CHECK_ERROR(retval);
|
||||
if(property == ZMQ_MORE)
|
||||
return retval ? Qt : Qnil;
|
||||
else
|
||||
return INT(retval);
|
||||
}
|
||||
|
||||
EZMQ_DOC(ezmq_message_recv, "MESSAGE SOCK &optional FLAGS",
|
||||
"Receive a MESSAGE from SOCK with additional FLAGS.\n"
|
||||
"MESSAGE should be an initialized message.");
|
||||
emacs_value
|
||||
ezmq_message_recv(emacs_value emessage, emacs_value esock, emacs_value eflags)
|
||||
{
|
||||
EZMQ_EXTRACT_OBJ(msg, EZMQ_MESSAGE, emessage);
|
||||
EZMQ_EXTRACT_OBJ(sock, EZMQ_SOCKET, esock);
|
||||
EZMQ_EXTRACT_OPTIONAL_INT(flags, eflags);
|
||||
EZMQ_CHECK_ERROR(zmq_msg_recv(msg->obj, sock->obj, flags));
|
||||
return emessage;
|
||||
}
|
||||
|
||||
EZMQ_DOC(ezmq_message_send, "MESSAGE SOCK &optional FLAGS",
|
||||
"Send a MESSAGE on SOCK with additional FLAGS.");
|
||||
emacs_value
|
||||
ezmq_message_send(emacs_value emessage, emacs_value esock, emacs_value eflags)
|
||||
{
|
||||
EZMQ_EXTRACT_OBJ(msg, EZMQ_MESSAGE, emessage);
|
||||
EZMQ_EXTRACT_OBJ(sock, EZMQ_SOCKET, esock);
|
||||
EZMQ_EXTRACT_OPTIONAL_INT(flags, eflags);
|
||||
EZMQ_CHECK_ERROR(zmq_msg_send(msg->obj, sock->obj, flags));
|
||||
return Qnil;
|
||||
}
|
||||
|
||||
EZMQ_DOC(ezmq_message_gets, "MESSAGE PROPERTY",
|
||||
"Get a MESSAGE's metadata PROPERTY.\n"
|
||||
"PROPERTY is a keyword and can only be one of those in\n"
|
||||
"`zmq-message-properties'.");
|
||||
emacs_value
|
||||
ezmq_message_gets(emacs_value emessage, emacs_value eproperty)
|
||||
{
|
||||
EZMQ_EXTRACT_OBJ(msg, EZMQ_MESSAGE, emessage);
|
||||
EZMQ_EXTRACT_STRING(property, plen, eproperty);
|
||||
const char *retval = zmq_msg_gets(msg->obj, property);
|
||||
free(property);
|
||||
EZMQ_CHECK_NULL_ERROR(retval);
|
||||
return STRING(retval, strlen(retval));
|
||||
}
|
||||
|
||||
EZMQ_DOC(ezmq_message_routing_id, "MESSAGE", "Get the routing ID of MESSAGE.");
|
||||
emacs_value
|
||||
ezmq_message_routing_id(emacs_value emessage)
|
||||
{
|
||||
EZMQ_EXTRACT_OBJ(msg, EZMQ_MESSAGE, emessage);
|
||||
return INT(zmq_msg_routing_id(msg->obj));
|
||||
}
|
||||
|
||||
EZMQ_DOC(ezmq_message_set_routing_id, "MESSAGE ID", "Set MESSAGE's routing ID.");
|
||||
emacs_value
|
||||
ezmq_message_set_routing_id(emacs_value emessage, emacs_value eid)
|
||||
{
|
||||
EZMQ_EXTRACT_OBJ(msg, EZMQ_MESSAGE, emessage);
|
||||
EZMQ_EXTRACT_INT(id, eid);
|
||||
EZMQ_CHECK_ERROR(zmq_msg_set_routing_id(msg->obj, id));
|
||||
return Qnil;
|
||||
}
|
||||
|
||||
EZMQ_DOC(ezmq_message_group, "MESSAGE", "Get MESSAGE's GROUP.");
|
||||
emacs_value
|
||||
ezmq_message_group(emacs_value emessage)
|
||||
{
|
||||
EZMQ_EXTRACT_OBJ(msg, EZMQ_MESSAGE, emessage);
|
||||
const char *group = zmq_msg_group(msg->obj);
|
||||
EZMQ_CHECK_NULL_ERROR(group);
|
||||
return NONLOCAL_EXIT() ? Qnil : STRING(group, strlen(group));
|
||||
}
|
||||
|
||||
EZMQ_DOC(ezmq_message_set_group, "MESSAGE GROUP", "Set MESSAGE's GROUP.");
|
||||
emacs_value
|
||||
ezmq_message_set_group(emacs_value emessage, emacs_value egroup)
|
||||
{
|
||||
EZMQ_EXTRACT_OBJ(msg, EZMQ_MESSAGE, emessage);
|
||||
EZMQ_EXTRACT_STRING(group, elen, egroup);
|
||||
EZMQ_CHECK_ERROR(zmq_msg_set_group(msg->obj, group));
|
||||
return Qnil;
|
||||
}
|
||||
23
lisp/zmq/src/msg.h
Normal file
23
lisp/zmq/src/msg.h
Normal file
@@ -0,0 +1,23 @@
|
||||
#ifndef __MSG_H__
|
||||
#define __MSG_H__
|
||||
|
||||
#include "core.h"
|
||||
|
||||
EZMQ_FUN(ezmq_message, emacs_value);
|
||||
EZMQ_FUN(ezmq_message_size, emacs_value);
|
||||
EZMQ_FUN(ezmq_message_data, emacs_value);
|
||||
EZMQ_FUN(ezmq_message_more, emacs_value);
|
||||
EZMQ_FUN(ezmq_message_copy, emacs_value);
|
||||
EZMQ_FUN(ezmq_message_move, emacs_value, emacs_value);
|
||||
EZMQ_FUN(ezmq_message_close, emacs_value);
|
||||
EZMQ_FUN(ezmq_message_set, emacs_value, emacs_value, emacs_value);
|
||||
EZMQ_FUN(ezmq_message_get, emacs_value, emacs_value);
|
||||
EZMQ_FUN(ezmq_message_recv, emacs_value, emacs_value, emacs_value);
|
||||
EZMQ_FUN(ezmq_message_send, emacs_value, emacs_value, emacs_value);
|
||||
EZMQ_FUN(ezmq_message_gets, emacs_value, emacs_value);
|
||||
EZMQ_FUN(ezmq_message_routing_id, emacs_value);
|
||||
EZMQ_FUN(ezmq_message_set_routing_id, emacs_value, emacs_value);
|
||||
EZMQ_FUN(ezmq_message_group, emacs_value);
|
||||
EZMQ_FUN(ezmq_message_set_group, emacs_value, emacs_value);
|
||||
|
||||
#endif /* __MSG_H__ */
|
||||
392
lisp/zmq/src/poll.c
Normal file
392
lisp/zmq/src/poll.c
Normal file
@@ -0,0 +1,392 @@
|
||||
#include "poll.h"
|
||||
|
||||
static void
|
||||
ezmq_invalid_poll_event(intmax_t event)
|
||||
{
|
||||
ezmq_args_out_of_range(INT(event),
|
||||
LIST(5,
|
||||
INTERN("or"),
|
||||
INTERN("zmq-POLLIN"),
|
||||
INTERN("zmq-POLLPRI"),
|
||||
INTERN("zmq-POLLOUT"),
|
||||
INTERN("zmq-POLLERR")));
|
||||
}
|
||||
|
||||
/**
|
||||
Extract a single poll event (ZMQ_POLLIN, ZMQ_POLLPRI, ZMQ_POLLOUT, ZMQ_POLLERR) from a
|
||||
Lisp integer.
|
||||
|
||||
|
||||
Signal an args-out-of-bounds error if the integer is not valid.
|
||||
*/
|
||||
static intmax_t
|
||||
ezmq_extract_poll_event(emacs_value val)
|
||||
{
|
||||
intmax_t event = EXTRACT_INT(val);
|
||||
if(NONLOCAL_EXIT()) return -1;
|
||||
if(event != ZMQ_POLLIN && event != ZMQ_POLLPRI &&
|
||||
event != ZMQ_POLLOUT && event != ZMQ_POLLERR) {
|
||||
ezmq_invalid_poll_event(event);
|
||||
return -1;
|
||||
}
|
||||
return event;
|
||||
}
|
||||
|
||||
/**
|
||||
Merge a list of poll events, i.e. take the bitwise or of a list of poll
|
||||
event integers.
|
||||
|
||||
|
||||
If the Lisp object passed to this function is not a list, signal a
|
||||
wrong-type-argument error.
|
||||
*/
|
||||
static intmax_t
|
||||
ezmq_merge_poll_events(emacs_value list)
|
||||
{
|
||||
intmax_t events = 0;
|
||||
if(EQ(TYPE(list), Qcons)) {
|
||||
while(!NILP(list)) {
|
||||
intmax_t event = ezmq_extract_poll_event(CAR(list));
|
||||
if(NONLOCAL_EXIT()) break;
|
||||
events |= event;
|
||||
list = CDR(list);
|
||||
}
|
||||
} else
|
||||
ezmq_wrong_type_argument(list, 1, Qlist);
|
||||
return events;
|
||||
}
|
||||
|
||||
/**
|
||||
Split the bitwise or of poll events into a list of poll events. This is so
|
||||
that in Emacs, you can simply call `member` on the resulting list to find
|
||||
out if an event occurred rather than using `logand`.
|
||||
*/
|
||||
static emacs_value
|
||||
ezmq_split_poll_events(int events)
|
||||
{
|
||||
emacs_value args[4];
|
||||
int i = -1;
|
||||
|
||||
if(events & ZMQ_POLLIN)
|
||||
args[++i] = Izmq_POLLIN;
|
||||
if(events & ZMQ_POLLPRI)
|
||||
args[++i] = Izmq_POLLPRI;
|
||||
if(events & ZMQ_POLLOUT)
|
||||
args[++i] = Izmq_POLLOUT;
|
||||
if(events & ZMQ_POLLERR)
|
||||
args[++i] = Izmq_POLLERR;
|
||||
|
||||
if(i == -1) ezmq_invalid_poll_event(events);
|
||||
return FUNCALL(Qlist, i + 1, args);
|
||||
}
|
||||
|
||||
/**
|
||||
Given a SOCK-OR-FD and a list of poll EVENTS, construct a zmq_pollitem_t.
|
||||
Store it in ITEM. A non-local exit is pending if a poll item could not be
|
||||
constructed.
|
||||
*/
|
||||
static void *
|
||||
ezmq_extract_pollitem(emacs_value sock_or_fd, emacs_value events, zmq_pollitem_t *item)
|
||||
{
|
||||
if(EQ(TYPE(sock_or_fd), Qinteger)) {
|
||||
EZMQ_EXTRACT_INT(fd, sock_or_fd);
|
||||
item->fd = fd;
|
||||
item->socket = NULL;
|
||||
} else {
|
||||
EZMQ_EXTRACT_OBJ(sock, EZMQ_SOCKET, sock_or_fd);
|
||||
item->socket = sock->obj;
|
||||
}
|
||||
item->events = (short)ezmq_merge_poll_events(events);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
/**
|
||||
Return (SOCK-OR-FD . SEVENTS) where SEVENTS is a list socket events.
|
||||
See ezmq_split_poll_events() for how SEVENTS is constructed from EVENTS.
|
||||
*/
|
||||
static emacs_value
|
||||
ezmq_make_pollitem(emacs_value sock_or_fd, int events)
|
||||
{
|
||||
emacs_value sevents = ezmq_split_poll_events(events);
|
||||
emacs_value item = CONS(sock_or_fd, sevents);
|
||||
return item;
|
||||
}
|
||||
|
||||
/**
|
||||
Return an array of zmq_pollitem_t objects constructed from LIST.
|
||||
LIST is a list of (SOCK-OR-FD . EVENTS) pairs from which to construct
|
||||
zmq_pollitem_t objects from. EVENTS can either be an integer or a list
|
||||
containing any of zmq-POLLIN, zmq-POLLOUT, or zmq-POLLERR.
|
||||
The returned array must be released by the called.
|
||||
*/
|
||||
static zmq_pollitem_t *
|
||||
ezmq_extract_pollitem_list(emacs_value list)
|
||||
{
|
||||
intmax_t len = LENGTH(list);
|
||||
zmq_pollitem_t *items = (zmq_pollitem_t *)ezmq_malloc(sizeof(zmq_pollitem_t)*len);
|
||||
intmax_t i;
|
||||
for(i = 0; i < len; i++) {
|
||||
emacs_value head = CAR(list);
|
||||
list = CDR(list);
|
||||
|
||||
if(NONLOCAL_EXIT()) break;
|
||||
|
||||
if(EQ(TYPE(head), Qcons) && EQ(TYPE(CDR(head)), Qcons))
|
||||
ezmq_extract_pollitem(CAR(head), CDR(head), &items[i]);
|
||||
else
|
||||
// TODO: The right error convention for wrong-type-argument
|
||||
ezmq_wrong_type_argument(head, 1, INTERN("consp"));
|
||||
}
|
||||
|
||||
if(NONLOCAL_EXIT()) free(items);
|
||||
return items;
|
||||
}
|
||||
|
||||
/**
|
||||
Return a list of (SOCK-OR-FD . EVENTS) pairs constructed from ITEMS.
|
||||
EITEMS is the original list of pairs that was given to ezmq_poll().
|
||||
NRECEIVED are the number of received events returned by zmq_poll(). NITEMS
|
||||
are the number of items in EITEMS.
|
||||
*/
|
||||
static emacs_value
|
||||
ezmq_make_pollitem_list(intmax_t nreceived, zmq_pollitem_t *items, emacs_value eitems, intmax_t nitems)
|
||||
{
|
||||
emacs_value ritems = Qnil;
|
||||
while(nreceived > 0) {
|
||||
nitems -= 1;
|
||||
|
||||
short events = items[nitems].revents;
|
||||
if(events != 0) {
|
||||
nreceived -= 1;
|
||||
|
||||
emacs_value eitem = FUNCALL(Qnth, 2, ((emacs_value []){INT(nitems), eitems}));
|
||||
ritems = CONS(ezmq_make_pollitem(CAR(eitem), events), ritems);
|
||||
}
|
||||
}
|
||||
return ritems;
|
||||
}
|
||||
|
||||
EZMQ_DOC(ezmq_poll, "ITEMS TIMEOUT",
|
||||
"Poll ITEMS until TIMEOUT.\n"
|
||||
"ITEMS is a list of cons cells of the form (SOCK-OR-FD . EVENTS)\n"
|
||||
"where EVENTS is a list of valid poll events. TIMEOUT is measured in\n"
|
||||
"milliseconds.");
|
||||
emacs_value
|
||||
ezmq_poll(emacs_value eitems, emacs_value etimeout)
|
||||
{
|
||||
EZMQ_EXTRACT_INT(timeout, etimeout);
|
||||
|
||||
emacs_value retval = Qnil;
|
||||
if(EQ(TYPE(eitems), Qcons)) {
|
||||
intmax_t nitems = LENGTH(eitems);
|
||||
zmq_pollitem_t *items = ezmq_extract_pollitem_list(eitems);
|
||||
|
||||
if(!NONLOCAL_EXIT()) {
|
||||
intmax_t nreceived = zmq_poll(items, nitems, timeout);
|
||||
EZMQ_CHECK_ERROR(nreceived);
|
||||
|
||||
if(!NONLOCAL_EXIT())
|
||||
retval = ezmq_make_pollitem_list(nreceived, items, eitems, nitems);
|
||||
|
||||
free(items);
|
||||
}
|
||||
} else
|
||||
ezmq_wrong_type_argument(eitems, 1, INTERN("consp"));
|
||||
return retval;
|
||||
}
|
||||
|
||||
EZMQ_DOC(ezmq_poller_new,
|
||||
"",
|
||||
"Create a new `zmq-poller' object.");
|
||||
emacs_value
|
||||
ezmq_poller_new(void)
|
||||
{
|
||||
void *poller = zmq_poller_new();
|
||||
EZMQ_CHECK_NULL_ERROR(poller);
|
||||
ezmq_debug("ezmq_poller_new()\n");
|
||||
return ezmq_new_obj_ptr(ezmq_new_obj(EZMQ_POLLER, poller));
|
||||
}
|
||||
|
||||
EZMQ_DOC(ezmq_poller_add,
|
||||
"POLLER SOCK-OR-FD EVENTS",
|
||||
"Listen for EVENTS on SOCK using POLLER.\n"
|
||||
"SOCK-OR-FD can either be a `zmq-socket' or a file descriptor.\n"
|
||||
"EVENTS can either be a list of events (one of `zmq-POLLIN',\n"
|
||||
"`zmq-POLLOUT', `zmq-POLLERR') or a bitwise-or of events.");
|
||||
emacs_value
|
||||
ezmq_poller_add(emacs_value epoller, emacs_value esock, emacs_value eevents)
|
||||
{
|
||||
EZMQ_EXTRACT_OBJ(poller, EZMQ_POLLER, epoller);
|
||||
|
||||
short events;
|
||||
if(EQ(TYPE(eevents), Qcons))
|
||||
events = ezmq_merge_poll_events(eevents);
|
||||
else if(EQ(TYPE(eevents), Qinteger))
|
||||
events = EXTRACT_INT(eevents);
|
||||
else
|
||||
ezmq_wrong_type_argument(eevents, 1, INTERN("consp"));
|
||||
|
||||
if(EQ(TYPE(esock), Qinteger)) {
|
||||
EZMQ_EXTRACT_INT(fd, esock);
|
||||
EZMQ_CHECK_ERROR(zmq_poller_add_fd(poller->obj, fd, NULL, events));
|
||||
} else {
|
||||
EZMQ_EXTRACT_OBJ(sock, EZMQ_SOCKET, esock);
|
||||
EZMQ_CHECK_ERROR(zmq_poller_add(poller->obj, sock->obj, sock, events));
|
||||
// Keep track of sockets added to ensure they do not get garbage
|
||||
// collected
|
||||
ezmq_obj_set_val(poller, CONS(esock, ezmq_obj_get_val(poller)));
|
||||
}
|
||||
|
||||
return Qnil;
|
||||
}
|
||||
|
||||
EZMQ_DOC(ezmq_poller_modify,
|
||||
"POLLER SOCK-OR-FD EVENTS",
|
||||
"Modify the EVENTS of SOCK-OR-FD that POLLER listens for.");
|
||||
emacs_value
|
||||
ezmq_poller_modify(emacs_value epoller, emacs_value esock, emacs_value eevents)
|
||||
{
|
||||
EZMQ_EXTRACT_OBJ(poller, EZMQ_POLLER, epoller);
|
||||
|
||||
short events;
|
||||
if(EQ(TYPE(eevents), Qcons))
|
||||
events = ezmq_merge_poll_events(eevents);
|
||||
else if(EQ(TYPE(eevents), Qinteger))
|
||||
events = EXTRACT_INT(eevents);
|
||||
else
|
||||
ezmq_wrong_type_argument(eevents, 1, INTERN("consp"));
|
||||
|
||||
if(EQ(TYPE(esock), Qinteger)) {
|
||||
EZMQ_EXTRACT_INT(fd, esock);
|
||||
EZMQ_CHECK_ERROR(zmq_poller_modify_fd(poller->obj, fd, events));
|
||||
} else {
|
||||
EZMQ_EXTRACT_OBJ(sock, EZMQ_SOCKET, esock);
|
||||
EZMQ_CHECK_ERROR(zmq_poller_modify(poller->obj, sock->obj, events));
|
||||
}
|
||||
|
||||
return Qnil;
|
||||
}
|
||||
|
||||
EZMQ_DOC(ezmq_poller_remove,
|
||||
"POLLER SOCK-OR-FD",
|
||||
"Remove SOCK-OR-FD from POLLER.");
|
||||
emacs_value
|
||||
ezmq_poller_remove(emacs_value epoller, emacs_value esock)
|
||||
{
|
||||
EZMQ_EXTRACT_OBJ(poller, EZMQ_POLLER, epoller);
|
||||
if(EQ(TYPE(esock), Qinteger)) {
|
||||
EZMQ_EXTRACT_INT(fd, esock);
|
||||
EZMQ_CHECK_ERROR(zmq_poller_remove_fd(poller->obj, fd));
|
||||
} else {
|
||||
EZMQ_EXTRACT_OBJ(sock, EZMQ_SOCKET, esock);
|
||||
EZMQ_CHECK_ERROR(zmq_poller_remove(poller->obj, sock->obj));
|
||||
emacs_value new_val = FUNCALL(INTERN("delq"), 2,
|
||||
((emacs_value []){esock, ezmq_obj_get_val(poller)}));
|
||||
ezmq_obj_set_val(poller, new_val);
|
||||
}
|
||||
return Qnil;
|
||||
}
|
||||
|
||||
EZMQ_DOC(ezmq_poller_destroy,
|
||||
"POLLER",
|
||||
"Destroy POLLER");
|
||||
emacs_value
|
||||
ezmq_poller_destroy(emacs_value epoller)
|
||||
{
|
||||
EZMQ_EXTRACT_OBJ(poller, EZMQ_POLLER, epoller);
|
||||
EZMQ_CHECK_ERROR(zmq_poller_destroy(&poller->obj));
|
||||
ezmq_obj_set_val(poller, NULL);
|
||||
return Qnil;
|
||||
}
|
||||
|
||||
/**
|
||||
Return the socket or file descriptor contained in EVENT as an Emacs value.
|
||||
|
||||
If EVENT has a socket, the socket from EVENT is matched to one of the
|
||||
sockets in POLLER's list of sockets and returned. Otherwise, the file
|
||||
descriptor is returned.
|
||||
*/
|
||||
static emacs_value
|
||||
ezmq_get_poll_trigger(ezmq_obj_t *poller, zmq_poller_event_t event)
|
||||
{
|
||||
emacs_value trigger = Qnil;
|
||||
|
||||
if(NONLOCAL_EXIT()) return NULL;
|
||||
|
||||
if(event.socket) {
|
||||
emacs_value socks = ezmq_obj_get_val(poller);
|
||||
while(!NILP(socks)) {
|
||||
emacs_value esock = CAR(socks);
|
||||
EZMQ_EXTRACT_OBJ(sock, EZMQ_SOCKET, esock);
|
||||
if(sock->obj == event.socket) {
|
||||
trigger = esock;
|
||||
break;
|
||||
}
|
||||
socks = CDR(socks);
|
||||
}
|
||||
} else
|
||||
trigger = INT(event.fd);
|
||||
|
||||
if(EQ(trigger, Qnil)) {
|
||||
// This is mostly a sanity check.
|
||||
char *msg = "Socket not found in poller!";
|
||||
FUNCALL(INTERN("error"), 1, (emacs_value []){STRING(msg, strlen(msg))});
|
||||
}
|
||||
|
||||
return trigger;
|
||||
}
|
||||
|
||||
EZMQ_DOC(ezmq_poller_wait,
|
||||
"POLLER TIMEOUT",
|
||||
"Poll for an event with POLLER until TIMEOUT ms.\n"
|
||||
"If an event occures before TIMEOUT ms, return a cons\n"
|
||||
"cell (SOCK-OR-FD . EVENTS) where EVENTS is a list of events which\n"
|
||||
"occured before TIMEOUT. Otherwise return nil. If TIMEOUT is -1,\n"
|
||||
"wait forever until an event arrives.");
|
||||
emacs_value
|
||||
ezmq_poller_wait(emacs_value epoller, emacs_value etimeout)
|
||||
{
|
||||
EZMQ_EXTRACT_OBJ(poller, EZMQ_POLLER, epoller);
|
||||
EZMQ_EXTRACT_INT(timeout, etimeout);
|
||||
|
||||
zmq_poller_event_t event;
|
||||
EZMQ_CHECK_ERROR(zmq_poller_wait(poller->obj, &event, timeout));
|
||||
emacs_value sevents = ezmq_split_poll_events(event.events);
|
||||
emacs_value trigger = ezmq_get_poll_trigger(poller, event);
|
||||
|
||||
return CONS(trigger, sevents);
|
||||
}
|
||||
|
||||
EZMQ_DOC(ezmq_poller_wait_all,
|
||||
"POLLER NEVENTS TIMEOUT",
|
||||
"Wait until TIMEOUT for NEVENTS on POLLER.\n"
|
||||
"If between 1 and NEVENTS events occured within TIMEOUT (measured\n"
|
||||
"in milliseconds) return a list of cons cells, each element having\n"
|
||||
"the form (SOCK-OR-FD . EVENTS). EVENTS is a list of events which\n"
|
||||
"occured on SOCK-OR-FD during the polling period. Note that the\n"
|
||||
"length of the returned list may be less than NEVENTS if less than\n"
|
||||
"NEVENTS events occurred within TIMEOUT. If TIMEOUT is -1, wait\n"
|
||||
"forever.");
|
||||
emacs_value
|
||||
ezmq_poller_wait_all(emacs_value epoller, emacs_value enevents, emacs_value etimeout)
|
||||
{
|
||||
EZMQ_EXTRACT_OBJ(poller, EZMQ_POLLER, epoller);
|
||||
EZMQ_EXTRACT_INT(nevents, enevents);
|
||||
EZMQ_EXTRACT_INT(timeout, etimeout);
|
||||
|
||||
emacs_value retval = Qnil;
|
||||
zmq_poller_event_t revents[nevents];
|
||||
|
||||
int ntriggered = zmq_poller_wait_all(poller->obj, revents, nevents, timeout);
|
||||
EZMQ_CHECK_ERROR(ntriggered);
|
||||
|
||||
int i;
|
||||
for(i = 0; !NONLOCAL_EXIT() && i < ntriggered; i++) {
|
||||
zmq_poller_event_t event = revents[i];
|
||||
emacs_value sevents = ezmq_split_poll_events(event.events);
|
||||
emacs_value trigger = ezmq_get_poll_trigger(poller, event);
|
||||
retval = CONS(CONS(trigger, sevents), retval);
|
||||
}
|
||||
|
||||
return retval;
|
||||
}
|
||||
15
lisp/zmq/src/poll.h
Normal file
15
lisp/zmq/src/poll.h
Normal file
@@ -0,0 +1,15 @@
|
||||
#ifndef __POLL_H__
|
||||
#define __POLL_H__
|
||||
|
||||
#include "core.h"
|
||||
|
||||
EZMQ_FUN(ezmq_poll, emacs_value, emacs_value);
|
||||
EZMQ_FUN(ezmq_poller_new, void);
|
||||
EZMQ_FUN(ezmq_poller_add, emacs_value, emacs_value, emacs_value);
|
||||
EZMQ_FUN(ezmq_poller_modify, emacs_value, emacs_value, emacs_value);
|
||||
EZMQ_FUN(ezmq_poller_remove, emacs_value, emacs_value);
|
||||
EZMQ_FUN(ezmq_poller_wait, emacs_value, emacs_value);
|
||||
EZMQ_FUN(ezmq_poller_wait_all, emacs_value, emacs_value, emacs_value);
|
||||
EZMQ_FUN(ezmq_poller_destroy, emacs_value);
|
||||
|
||||
#endif /* __POLL_H__ */
|
||||
468
lisp/zmq/src/socket.c
Normal file
468
lisp/zmq/src/socket.c
Normal file
@@ -0,0 +1,468 @@
|
||||
#include "socket.h"
|
||||
#include <assert.h>
|
||||
|
||||
// TODO: Use the actual documentation of the ZMQ API for all functions.
|
||||
|
||||
EZMQ_DOC(ezmq_socket, "CONTEXT TYPE",
|
||||
"Return a new socket of TYPE in CONTEXT.");
|
||||
emacs_value
|
||||
ezmq_socket(emacs_value econtext, emacs_value etype)
|
||||
{
|
||||
EZMQ_EXTRACT_OBJ(context, EZMQ_CONTEXT, econtext);
|
||||
EZMQ_EXTRACT_INT(type, etype);
|
||||
|
||||
void *sock = zmq_socket(context->obj, type);
|
||||
EZMQ_CHECK_NULL_ERROR(sock);
|
||||
ezmq_obj_t *obj = ezmq_new_obj(EZMQ_SOCKET, sock);
|
||||
// Ensure the context does not get garbage collected while the socket is in
|
||||
// use
|
||||
ezmq_obj_set_val(obj, econtext);
|
||||
ezmq_debug("ezmq_socket()\n");
|
||||
return ezmq_new_obj_ptr(obj);
|
||||
}
|
||||
|
||||
EZMQ_DOC(ezmq_send,
|
||||
"SOCK MESSAGE &optional FLAGS",
|
||||
"Send a single message on SOCK.\n"
|
||||
"MESSAGE can either be a `zmq-message' or a string containing only\n"
|
||||
"unibyte characters. FLAGS is a bitmask of flag options. See the\n"
|
||||
"documentation of zmq_send in the C API for the values FLAGS can take.");
|
||||
emacs_value
|
||||
ezmq_send(emacs_value esock, emacs_value emsg, emacs_value eflags)
|
||||
{
|
||||
EZMQ_EXTRACT_OBJ(sock, EZMQ_SOCKET, esock);
|
||||
EZMQ_EXTRACT_OPTIONAL_INT(flags, eflags);
|
||||
|
||||
if(EQ(TYPE(emsg), Qstring)) {
|
||||
EZMQ_EXTRACT_STRING(msg, size, emsg);
|
||||
EZMQ_CHECK_ERROR(zmq_send(sock->obj, msg, size, flags));
|
||||
free(msg);
|
||||
} else {
|
||||
EZMQ_EXTRACT_OBJ(msg, EZMQ_MESSAGE, emsg);
|
||||
EZMQ_CHECK_ERROR(zmq_msg_send(msg->obj, sock->obj, flags));
|
||||
}
|
||||
return Qnil;
|
||||
}
|
||||
|
||||
EZMQ_DOC(ezmq_recv,
|
||||
"SOCK &optional FLAGS NOCOPY",
|
||||
"Receive a message on SOCK.\n"
|
||||
"If NOCOPY is nil, return a copy of the message data received,\n"
|
||||
"otherwise when NOCOPY is non-nil, return the `zmq-message' object\n"
|
||||
"storing the message data. FLAGS is a bitmask of flag options. See\n"
|
||||
"the documentation of zmq_recv in the C API for the values FLAGS can take.");
|
||||
emacs_value
|
||||
ezmq_recv(emacs_value esock, emacs_value eflags, emacs_value enocopy)
|
||||
{
|
||||
EZMQ_EXTRACT_OBJ(sock, EZMQ_SOCKET, esock);
|
||||
EZMQ_EXTRACT_OPTIONAL_INT(flags, eflags);
|
||||
|
||||
zmq_msg_t *msg = ezmq_malloc(sizeof(*msg));
|
||||
EZMQ_CHECK_ERROR(zmq_msg_init(msg));
|
||||
EZMQ_CHECK_ERROR(zmq_msg_recv(msg, sock->obj, flags));
|
||||
|
||||
emacs_value retval = Qnil;
|
||||
if(!NONLOCAL_EXIT()) {
|
||||
if(NILP(enocopy)) {
|
||||
// After examining emacs/src/alloc.c it looks like the null
|
||||
// termination of STRING, i.e. env->make_string, is already taken
|
||||
// care of when allocating in allocate_string_data so there is no
|
||||
// need to do a double copy just to insert a null terminator. It
|
||||
// looks like this has been the case since Emacs 25 when modules
|
||||
// were introduced.
|
||||
retval = STRING(zmq_msg_data(msg), zmq_msg_size(msg));
|
||||
zmq_msg_close(msg);
|
||||
free(msg);
|
||||
} else {
|
||||
retval = ezmq_new_obj_ptr(ezmq_new_obj(EZMQ_MESSAGE, msg));
|
||||
}
|
||||
} else {
|
||||
free(msg);
|
||||
}
|
||||
|
||||
|
||||
return retval;
|
||||
}
|
||||
|
||||
|
||||
EZMQ_DOC(ezmq_bind, "SOCK ENDPOINT", "Bind SOCK to ENDPOINT.");
|
||||
emacs_value
|
||||
ezmq_bind(emacs_value esock, emacs_value eendpoint)
|
||||
{
|
||||
EZMQ_EXTRACT_OBJ(sock, EZMQ_SOCKET, esock);
|
||||
EZMQ_EXTRACT_STRING(endpoint, elen, eendpoint);
|
||||
EZMQ_CHECK_ERROR(zmq_bind(sock->obj, endpoint));
|
||||
free(endpoint);
|
||||
return Qnil;
|
||||
}
|
||||
|
||||
EZMQ_DOC(ezmq_connect, "SOCK ENDPOINT", "Connect SOCK to ENDPOINT.");
|
||||
emacs_value
|
||||
ezmq_connect(emacs_value esock, emacs_value eendpoint)
|
||||
{
|
||||
EZMQ_EXTRACT_OBJ(sock, EZMQ_SOCKET, esock);
|
||||
EZMQ_EXTRACT_STRING(endpoint, elen, eendpoint);
|
||||
EZMQ_CHECK_ERROR(zmq_connect(sock->obj, endpoint));
|
||||
free(endpoint);
|
||||
return Qnil;
|
||||
}
|
||||
|
||||
EZMQ_DOC(ezmq_unbind, "SOCK ENDPOINT", "Unbind SOCK from ENDPOINT.");
|
||||
emacs_value
|
||||
ezmq_unbind(emacs_value esock, emacs_value eendpoint)
|
||||
{
|
||||
EZMQ_EXTRACT_OBJ(sock, EZMQ_SOCKET, esock);
|
||||
EZMQ_EXTRACT_STRING(endpoint, elen, eendpoint);
|
||||
EZMQ_CHECK_ERROR(zmq_unbind(sock->obj, endpoint));
|
||||
free(endpoint);
|
||||
return Qnil;
|
||||
}
|
||||
|
||||
EZMQ_DOC(ezmq_disconnect, "SOCK ENDPOINT", "Disconnect SOCK from ENDPOINT.");
|
||||
emacs_value
|
||||
ezmq_disconnect(emacs_value esock, emacs_value eendpoint)
|
||||
{
|
||||
EZMQ_EXTRACT_OBJ(sock, EZMQ_SOCKET, esock);
|
||||
EZMQ_EXTRACT_STRING(endpoint, elen, eendpoint);
|
||||
EZMQ_CHECK_ERROR(zmq_disconnect(sock->obj, endpoint));
|
||||
free(endpoint);
|
||||
return Qnil;
|
||||
}
|
||||
|
||||
EZMQ_DOC(ezmq_join, "SOCK GROUP", "On SOCK, join GROUP.");
|
||||
emacs_value
|
||||
ezmq_join(emacs_value esock, emacs_value egroup)
|
||||
{
|
||||
EZMQ_EXTRACT_OBJ(sock, EZMQ_SOCKET, esock);
|
||||
EZMQ_EXTRACT_STRING(group, elen, egroup);
|
||||
EZMQ_CHECK_ERROR(zmq_join(sock->obj, group));
|
||||
free(group);
|
||||
return Qnil;
|
||||
}
|
||||
|
||||
EZMQ_DOC(ezmq_leave, "SOCK GROUP", "On SOCK, leave GROUP.");
|
||||
emacs_value
|
||||
ezmq_leave(emacs_value esock, emacs_value egroup)
|
||||
{
|
||||
EZMQ_EXTRACT_OBJ(sock, EZMQ_SOCKET, esock);
|
||||
EZMQ_EXTRACT_STRING(group, elen, egroup);
|
||||
EZMQ_CHECK_ERROR(zmq_leave(sock->obj, group));
|
||||
free(group);
|
||||
return Qnil;
|
||||
}
|
||||
|
||||
EZMQ_DOC(ezmq_close, "SOCK", "Close SOCK.");
|
||||
emacs_value
|
||||
ezmq_close(emacs_value esock)
|
||||
{
|
||||
EZMQ_EXTRACT_OBJ(sock, EZMQ_SOCKET, esock);
|
||||
EZMQ_CHECK_ERROR(zmq_close(sock->obj));
|
||||
// From the zmq API a socket should only be closed once. This indicates to
|
||||
// the finalizer function that the socket has already been closed.
|
||||
if(!NONLOCAL_EXIT()) sock->obj = NULL;
|
||||
return Qnil;
|
||||
}
|
||||
|
||||
EZMQ_DOC(ezmq_proxy,
|
||||
"FRONTEND BACKEND &optional CAPTURE",
|
||||
"Start the builtin ZMQ proxy.\n"
|
||||
"Connect the FRONTEND socket to the BACKEND socket. Depending on\n"
|
||||
"the socket types, replies may flow in the opposite direction. The\n"
|
||||
"direction is conceptual only; the proxy is fully symmetric and there\n"
|
||||
"is no technical difference between frontend and backend.\n\n"
|
||||
"If the CAPTURE socket is non-nil, the proxy shall send all\n"
|
||||
"messages, received on both FRONTEND and BACKEND, to the CAPTURE\n"
|
||||
"socket. The CAPTURE socket should be a `zmq-PUB', `zmq-DEALER',\n"
|
||||
"`zmq-PUSH', or `zmq-PAIR' socket.");
|
||||
emacs_value
|
||||
ezmq_proxy(emacs_value efrontend, emacs_value ebackend, emacs_value ecapture)
|
||||
{
|
||||
EZMQ_EXTRACT_OBJ(frontend, EZMQ_SOCKET, efrontend);
|
||||
EZMQ_EXTRACT_OBJ(backend, EZMQ_SOCKET, ebackend);
|
||||
EZMQ_EXTRACT_OPTIONAL_OBJ(capture, EZMQ_SOCKET, ecapture);
|
||||
EZMQ_CHECK_ERROR(zmq_proxy(frontend->obj,
|
||||
backend->obj,
|
||||
capture ? capture->obj : NULL));
|
||||
return Qnil;
|
||||
}
|
||||
|
||||
EZMQ_DOC(ezmq_proxy_steerable,
|
||||
"FRONTEND BACKEND &optional CAPTURE CONTROL",
|
||||
"Start the builtin ZMQ proxy with control flow.\n"
|
||||
"Starts the builtin ZMQ proxy with additional control flow\n"
|
||||
"(see `zmq-proxy') provided by the CONTROL socket if it is non-nil.\n"
|
||||
"If PAUSE is received on this socket, the proxy suspends its\n"
|
||||
"activities. If RESUME is received, it goes on. If TERMINATE is\n"
|
||||
"received, it terminates smoothly. At start, the proxy runs\n"
|
||||
"normally as if `zmq-proxy' was used.");
|
||||
emacs_value
|
||||
ezmq_proxy_steerable(emacs_value efrontend, emacs_value ebackend, emacs_value ecapture, emacs_value econtrol)
|
||||
{
|
||||
EZMQ_EXTRACT_OBJ(frontend, EZMQ_SOCKET, efrontend);
|
||||
EZMQ_EXTRACT_OBJ(backend, EZMQ_SOCKET, ebackend);
|
||||
EZMQ_EXTRACT_OPTIONAL_OBJ(capture, EZMQ_SOCKET, ecapture);
|
||||
EZMQ_EXTRACT_OPTIONAL_OBJ(control, EZMQ_SOCKET, econtrol);
|
||||
EZMQ_CHECK_ERROR(zmq_proxy_steerable(frontend->obj,
|
||||
backend->obj,
|
||||
capture ? capture->obj : NULL,
|
||||
control ? control->obj : NULL));
|
||||
return Qnil;
|
||||
}
|
||||
|
||||
EZMQ_DOC(ezmq_socket_monitor,
|
||||
"SOCK ENDPOINT EVENTS",
|
||||
"The `zmq-socket-monitor' method lets an application thread track\n"
|
||||
"socket events (like connects) on a ZeroMQ SOCK. Each call to\n"
|
||||
"this method creates a `zmq-PAIR' socket and binds that to the\n"
|
||||
"specified inproc:// ENDPOINT. To collect the socket events, you\n"
|
||||
"must create your own `zmq-PAIR' socket, and connect that to the\n"
|
||||
"ENDPOINT.\n\n"
|
||||
"The EVENTS argument is a list of the socket events you wish to\n"
|
||||
"monitor, see the C API for the events. To monitor all events, use\n"
|
||||
"the event value `zmq-EVENT-ALL'. NOTE: as new events are added, the\n"
|
||||
"catch-all value will start returning them. An application that\n"
|
||||
"relies on a strict and fixed sequence of events must not use\n"
|
||||
"`zmq-EVENT-ALL' in order to guarantee compatibility with future\n"
|
||||
"versions.\n\n"
|
||||
"Each event is sent as two frames. The first frame contains an\n"
|
||||
"event number (16 bits), and an event value (32 bits) that\n"
|
||||
"provides additional data according to the event number. The\n"
|
||||
"second frame contains a string that specifies the affected TCP or\n"
|
||||
"IPC endpoint.");
|
||||
emacs_value
|
||||
ezmq_socket_monitor(emacs_value esock, emacs_value eendpoint, emacs_value eevents)
|
||||
{
|
||||
EZMQ_EXTRACT_OBJ(sock, EZMQ_SOCKET, esock);
|
||||
EZMQ_EXTRACT_STRING(endpoint, elen, eendpoint);
|
||||
intmax_t events = 0;
|
||||
emacs_value list = eevents;
|
||||
if(EQ(TYPE(list), Qcons)) {
|
||||
while(!NILP(list)) {
|
||||
// TODO: Verify event, raise an error if invalid
|
||||
EZMQ_EXTRACT_INT(event, CAR(list));
|
||||
events |= event;
|
||||
list = CDR(list);
|
||||
}
|
||||
} else
|
||||
ezmq_wrong_type_argument(list, 1, Qlist);
|
||||
|
||||
EZMQ_CHECK_ERROR(zmq_socket_monitor(sock, endpoint, events));
|
||||
return Qnil;
|
||||
}
|
||||
|
||||
EZMQ_DOC(ezmq_setsockopt, "SOCK OPTION VALUE", "Set SOCK OPTION to VALUE.");
|
||||
emacs_value
|
||||
ezmq_setsockopt(emacs_value esock, emacs_value eoption, emacs_value evalue)
|
||||
{
|
||||
EZMQ_EXTRACT_OBJ(sock, EZMQ_SOCKET, esock);
|
||||
EZMQ_EXTRACT_INT(option, eoption);
|
||||
|
||||
switch(option) {
|
||||
// INT
|
||||
case ZMQ_BACKLOG: case ZMQ_RATE: case ZMQ_RECOVERY_IVL: case ZMQ_SNDHWM:
|
||||
case ZMQ_SNDBUF: case ZMQ_SNDTIMEO: case ZMQ_RCVHWM: case ZMQ_RCVBUF:
|
||||
case ZMQ_RCVTIMEO: case ZMQ_LINGER: case ZMQ_RECONNECT_IVL:
|
||||
case ZMQ_RECONNECT_IVL_MAX: case ZMQ_MULTICAST_HOPS:
|
||||
case ZMQ_MULTICAST_MAXTPDU: case ZMQ_CONNECT_TIMEOUT:
|
||||
case ZMQ_HANDSHAKE_IVL: case ZMQ_HEARTBEAT_IVL:
|
||||
case ZMQ_HEARTBEAT_TIMEOUT: case ZMQ_HEARTBEAT_TTL:
|
||||
case ZMQ_USE_FD: case ZMQ_TCP_KEEPALIVE:
|
||||
case ZMQ_TCP_KEEPALIVE_CNT: case ZMQ_TCP_KEEPALIVE_IDLE:
|
||||
case ZMQ_TCP_KEEPALIVE_INTVL: case ZMQ_TCP_MAXRT: case ZMQ_TOS:
|
||||
case ZMQ_VMCI_CONNECT_TIMEOUT: {
|
||||
EZMQ_EXTRACT_INT(value, evalue);
|
||||
zmq_setsockopt(sock->obj, option, &value, sizeof(int));
|
||||
break;
|
||||
}
|
||||
// UINT64
|
||||
// TODO: Figure out the best way to handle U?INT64 since Emacs integers
|
||||
// are all signed and only 30 bits wide. This won't
|
||||
// be the case with bignum support in future Emacsen.
|
||||
case ZMQ_AFFINITY: case ZMQ_VMCI_BUFFER_SIZE:
|
||||
case ZMQ_VMCI_BUFFER_MAX_SIZE: case ZMQ_VMCI_BUFFER_MIN_SIZE:
|
||||
// INT64
|
||||
case ZMQ_MAXMSGSIZE: {
|
||||
EZMQ_EXTRACT_INT(_value, evalue);
|
||||
int64_t value = (int64_t)_value;
|
||||
zmq_setsockopt(sock->obj, option, &value, sizeof(int64_t));
|
||||
break;
|
||||
}
|
||||
// INT with BOOL values
|
||||
case ZMQ_CONFLATE: case ZMQ_CURVE_SERVER: case ZMQ_GSSAPI_PLAINTEXT:
|
||||
case ZMQ_GSSAPI_SERVER: case ZMQ_IMMEDIATE: case ZMQ_INVERT_MATCHING:
|
||||
case ZMQ_IPV6: case ZMQ_PLAIN_SERVER: case ZMQ_PROBE_ROUTER:
|
||||
case ZMQ_REQ_CORRELATE: case ZMQ_REQ_RELAXED: case ZMQ_ROUTER_HANDOVER:
|
||||
case ZMQ_ROUTER_MANDATORY: case ZMQ_ROUTER_RAW: case ZMQ_STREAM_NOTIFY:
|
||||
case ZMQ_XPUB_VERBOSE: case ZMQ_XPUB_VERBOSER: case ZMQ_XPUB_MANUAL:
|
||||
case ZMQ_XPUB_NODROP: {
|
||||
int value = !NILP(evalue);
|
||||
zmq_setsockopt(sock->obj, option, &value, sizeof(int));
|
||||
break;
|
||||
}
|
||||
// STRING
|
||||
case ZMQ_GSSAPI_PRINCIPAL: case ZMQ_GSSAPI_SERVICE_PRINCIPAL:
|
||||
case ZMQ_PLAIN_PASSWORD: case ZMQ_PLAIN_USERNAME:
|
||||
case ZMQ_SOCKS_PROXY: case ZMQ_ZAP_DOMAIN: {
|
||||
EZMQ_EXTRACT_STRING(str, len, evalue);
|
||||
// From http://api.zeromq.org/master:zmq-setsockopt
|
||||
//
|
||||
// For options taking a value of type "character string", the provided
|
||||
// byte data should either contain no zero bytes, or end in a single
|
||||
// zero byte
|
||||
int i;
|
||||
for(i = 0; i < len; i++)
|
||||
if(!str[i]) break;
|
||||
if(i != len) {
|
||||
char const *msg = "Value cannot contain NUL characters";
|
||||
ezmq_signal(Qzmq_error, 1, STRING(msg, strlen(msg)));
|
||||
} else
|
||||
zmq_setsockopt(sock->obj, option, str, len);
|
||||
free(str);
|
||||
break;
|
||||
}
|
||||
// BINARY
|
||||
case ZMQ_CONNECT_ROUTING_ID:
|
||||
case ZMQ_ROUTING_ID: case ZMQ_SUBSCRIBE: case ZMQ_UNSUBSCRIBE:
|
||||
case ZMQ_XPUB_WELCOME_MSG: {
|
||||
EZMQ_EXTRACT_STRING(bin, size, evalue);
|
||||
zmq_setsockopt(sock->obj, option, bin, size);
|
||||
free(bin);
|
||||
break;
|
||||
}
|
||||
// CURVE
|
||||
case ZMQ_CURVE_PUBLICKEY: case ZMQ_CURVE_SECRETKEY:
|
||||
case ZMQ_CURVE_SERVERKEY: {
|
||||
EZMQ_EXTRACT_STRING(str, len, evalue);
|
||||
// len includes the terminating NULL
|
||||
// binary representation is 32 bytes
|
||||
// string representation is 40 bytes
|
||||
if(len == 32 || len == 40) {
|
||||
if(len == 40) len += 1;
|
||||
zmq_setsockopt(sock->obj, option, str, len);
|
||||
} else {
|
||||
const char *msg = "CURVE key not of valid length.";
|
||||
ezmq_signal(Qzmq_error, 1, STRING(msg, strlen(msg)));
|
||||
}
|
||||
free(str);
|
||||
break;
|
||||
}
|
||||
default: {
|
||||
const char *msg = "Socket option not handled yet.";
|
||||
ezmq_signal(Qzmq_error, 1, STRING(msg, strlen(msg)));
|
||||
}
|
||||
break;
|
||||
}
|
||||
return Qnil;
|
||||
}
|
||||
|
||||
// This assertion is required since Emacs does not support 64 bit wide
|
||||
// integers, but this will change with bignum support.
|
||||
void
|
||||
ezmq_assert_eint(uint64_t val)
|
||||
{
|
||||
assert((int64_t)val >= INTMAX_MIN && val <= INTMAX_MAX);
|
||||
}
|
||||
|
||||
EZMQ_DOC(ezmq_getsockopt, "SOCK OPTION", "Get SOCK OPTION.");
|
||||
emacs_value
|
||||
ezmq_getsockopt(emacs_value esock, emacs_value eoption)
|
||||
{
|
||||
char buf[256];
|
||||
size_t size;
|
||||
EZMQ_EXTRACT_OBJ(sock, EZMQ_SOCKET, esock);
|
||||
EZMQ_EXTRACT_INT(option, eoption);
|
||||
|
||||
switch(option) {
|
||||
// INT
|
||||
case ZMQ_MECHANISM: case ZMQ_BACKLOG: case ZMQ_RATE: case ZMQ_RECOVERY_IVL:
|
||||
case ZMQ_SNDHWM: case ZMQ_SNDBUF: case ZMQ_SNDTIMEO: case ZMQ_RCVHWM:
|
||||
case ZMQ_RCVBUF: case ZMQ_RCVTIMEO: case ZMQ_LINGER: case ZMQ_RECONNECT_IVL:
|
||||
case ZMQ_RECONNECT_IVL_MAX: case ZMQ_MULTICAST_HOPS:
|
||||
case ZMQ_MULTICAST_MAXTPDU: case ZMQ_CONNECT_TIMEOUT:
|
||||
case ZMQ_HANDSHAKE_IVL: case ZMQ_HEARTBEAT_IVL:
|
||||
case ZMQ_HEARTBEAT_TIMEOUT: case ZMQ_HEARTBEAT_TTL: case ZMQ_USE_FD:
|
||||
case ZMQ_EVENTS: case ZMQ_TCP_KEEPALIVE: case ZMQ_TCP_KEEPALIVE_CNT:
|
||||
case ZMQ_TCP_KEEPALIVE_IDLE: case ZMQ_TCP_KEEPALIVE_INTVL:
|
||||
case ZMQ_TCP_MAXRT: case ZMQ_TOS: case ZMQ_VMCI_CONNECT_TIMEOUT: {
|
||||
int val;
|
||||
size = sizeof(int);
|
||||
EZMQ_CHECK_ERROR(zmq_getsockopt(sock->obj, option, buf, &size));
|
||||
if(!NONLOCAL_EXIT()) {
|
||||
memcpy(&val, buf, size);
|
||||
return INT(val);
|
||||
}
|
||||
break;
|
||||
}
|
||||
// UINT64
|
||||
case ZMQ_AFFINITY: case ZMQ_VMCI_BUFFER_SIZE:
|
||||
case ZMQ_VMCI_BUFFER_MAX_SIZE: case ZMQ_VMCI_BUFFER_MIN_SIZE:
|
||||
// INT64
|
||||
case ZMQ_MAXMSGSIZE: {
|
||||
uint64_t val;
|
||||
size = sizeof(uint64_t);
|
||||
EZMQ_CHECK_ERROR(zmq_getsockopt(sock->obj, option, buf, &size));
|
||||
if(!NONLOCAL_EXIT()) {
|
||||
memcpy(&val, buf, size);
|
||||
ezmq_assert_eint(val);
|
||||
return INT((intmax_t)val);
|
||||
}
|
||||
break;
|
||||
}
|
||||
// INT with BOOL valus
|
||||
case ZMQ_IMMEDIATE: case ZMQ_INVERT_MATCHING: case ZMQ_CONFLATE:
|
||||
case ZMQ_IPV6: case ZMQ_PLAIN_SERVER: case ZMQ_GSSAPI_PLAINTEXT:
|
||||
case ZMQ_GSSAPI_SERVER: case ZMQ_RCVMORE: {
|
||||
int val;
|
||||
size = sizeof(int);
|
||||
EZMQ_CHECK_ERROR(zmq_getsockopt(sock->obj, option, buf, &size));
|
||||
if(!NONLOCAL_EXIT()) {
|
||||
memcpy(&val, buf, size);
|
||||
return val ? Qt : Qnil;
|
||||
}
|
||||
break;
|
||||
}
|
||||
// BOOL
|
||||
case ZMQ_THREAD_SAFE: {
|
||||
bool val;
|
||||
size = sizeof(bool);
|
||||
EZMQ_CHECK_ERROR(zmq_getsockopt(sock->obj, option, buf, &size));
|
||||
if(!NONLOCAL_EXIT()) {
|
||||
memcpy(&val, buf, size);
|
||||
return val ? Qt : Qnil;
|
||||
}
|
||||
break;
|
||||
}
|
||||
// STRING
|
||||
case ZMQ_GSSAPI_PRINCIPAL: case ZMQ_GSSAPI_SERVICE_PRINCIPAL:
|
||||
case ZMQ_LAST_ENDPOINT: case ZMQ_PLAIN_PASSWORD: case ZMQ_PLAIN_USERNAME:
|
||||
case ZMQ_SOCKS_PROXY: case ZMQ_ZAP_DOMAIN:
|
||||
size = 256;
|
||||
EZMQ_CHECK_ERROR(zmq_getsockopt(sock->obj, option, buf, &size));
|
||||
if(!NONLOCAL_EXIT())
|
||||
return STRING(buf, size - 1);
|
||||
break;
|
||||
// BINARY
|
||||
case ZMQ_ROUTING_ID:
|
||||
size = 256;
|
||||
EZMQ_CHECK_ERROR(zmq_getsockopt(sock->obj, option, buf, &size));
|
||||
if(!NONLOCAL_EXIT()) {
|
||||
buf[size] = 0;
|
||||
return STRING(buf, size);
|
||||
}
|
||||
break;
|
||||
// CURVE
|
||||
// NOTE: These always returns the string representation
|
||||
case ZMQ_CURVE_PUBLICKEY: case ZMQ_CURVE_SECRETKEY: case ZMQ_CURVE_SERVERKEY:
|
||||
size = 41;
|
||||
EZMQ_CHECK_ERROR(zmq_getsockopt(sock->obj, option, buf, &size));
|
||||
if(!NONLOCAL_EXIT())
|
||||
return STRING(buf, size - 1);
|
||||
break;
|
||||
default: {
|
||||
const char *msg = "Socket option not handled yet.";
|
||||
ezmq_signal(Qzmq_error, 1, STRING(msg, strlen(msg)));
|
||||
}
|
||||
break;
|
||||
}
|
||||
return NULL;
|
||||
}
|
||||
23
lisp/zmq/src/socket.h
Normal file
23
lisp/zmq/src/socket.h
Normal file
@@ -0,0 +1,23 @@
|
||||
|
||||
#ifndef __SOCKET_H__
|
||||
#define __SOCKET_H__
|
||||
|
||||
#include "core.h"
|
||||
|
||||
EZMQ_FUN(ezmq_socket, emacs_value, emacs_value);
|
||||
EZMQ_FUN(ezmq_send, emacs_value, emacs_value, emacs_value);
|
||||
EZMQ_FUN(ezmq_recv, emacs_value, emacs_value, emacs_value);
|
||||
EZMQ_FUN(ezmq_bind, emacs_value, emacs_value);
|
||||
EZMQ_FUN(ezmq_connect, emacs_value, emacs_value);
|
||||
EZMQ_FUN(ezmq_join, emacs_value, emacs_value);
|
||||
EZMQ_FUN(ezmq_unbind, emacs_value, emacs_value);
|
||||
EZMQ_FUN(ezmq_disconnect, emacs_value, emacs_value);
|
||||
EZMQ_FUN(ezmq_leave, emacs_value, emacs_value);
|
||||
EZMQ_FUN(ezmq_close, emacs_value);
|
||||
EZMQ_FUN(ezmq_proxy, emacs_value, emacs_value, emacs_value);
|
||||
EZMQ_FUN(ezmq_proxy_steerable, emacs_value, emacs_value, emacs_value, emacs_value);
|
||||
EZMQ_FUN(ezmq_socket_monitor, emacs_value, emacs_value, emacs_value);
|
||||
EZMQ_FUN(ezmq_setsockopt, emacs_value, emacs_value, emacs_value);
|
||||
EZMQ_FUN(ezmq_getsockopt, emacs_value, emacs_value);
|
||||
|
||||
#endif /* __SOCKET_H__ */
|
||||
178
lisp/zmq/src/util.c
Normal file
178
lisp/zmq/src/util.c
Normal file
@@ -0,0 +1,178 @@
|
||||
#include "util.h"
|
||||
|
||||
EZMQ_DOC(ezmq_has, "CAPABILITY", "Return non-nil if ZMQ has CAPABILITY.");
|
||||
emacs_value ezmq_has(emacs_value ecapability)
|
||||
{
|
||||
EZMQ_EXTRACT_STRING(capability, clen, ecapability);
|
||||
emacs_value retval = zmq_has(capability) ? Qt : Qnil;
|
||||
free(capability);
|
||||
return retval;
|
||||
}
|
||||
|
||||
EZMQ_DOC(ezmq_version, "", "Return the currently installed version of ZMQ.");
|
||||
emacs_value ezmq_version()
|
||||
{
|
||||
int major, minor, patch;
|
||||
char buf[16];
|
||||
zmq_version(&major, &minor, &patch);
|
||||
sprintf(buf, "%d.%d.%d", major, minor, patch);
|
||||
return STRING(buf, strlen(buf));
|
||||
}
|
||||
|
||||
EZMQ_DOC(ezmq_z85_decode, "KEY", "Decode a z85 encoded KEY.");
|
||||
emacs_value ezmq_z85_decode(emacs_value ekey)
|
||||
{
|
||||
emacs_value retval = Qnil;
|
||||
|
||||
EZMQ_EXTRACT_STRING(key, klen, ekey);
|
||||
|
||||
if(klen % 5 == 0) {
|
||||
ptrdiff_t dlen = (ptrdiff_t)(0.8*klen);
|
||||
char *decoded = ezmq_malloc(dlen + 1);
|
||||
|
||||
if(!NONLOCAL_EXIT()) {
|
||||
decoded[dlen] = 0;
|
||||
if(zmq_z85_decode((uint8_t *)decoded, key))
|
||||
retval = STRING(decoded, dlen);
|
||||
}
|
||||
|
||||
free(decoded);
|
||||
} else {
|
||||
char *msg = "Length not a multiple of 5";
|
||||
ezmq_signal(Qargs_out_of_range, 2, INT(klen), STRING(msg, strlen(msg)));
|
||||
}
|
||||
|
||||
free(key);
|
||||
return retval;
|
||||
}
|
||||
|
||||
EZMQ_DOC(ezmq_z85_encode, "DATA", "Encode DATA using the z85 encoding.");
|
||||
emacs_value
|
||||
ezmq_z85_encode(emacs_value econtent)
|
||||
{
|
||||
emacs_value retval = Qnil;
|
||||
|
||||
EZMQ_EXTRACT_STRING(content, clen, econtent);
|
||||
|
||||
if(clen % 4 == 0) {
|
||||
ptrdiff_t elen = (ptrdiff_t)(1.25*(float)clen);
|
||||
char *encoded = ezmq_malloc(elen + 1);
|
||||
|
||||
if(!NONLOCAL_EXIT()) {
|
||||
if(zmq_z85_encode(encoded, (uint8_t *)content, clen))
|
||||
retval = STRING(encoded, elen);
|
||||
}
|
||||
|
||||
free(encoded);
|
||||
} else {
|
||||
const char *msg = "Length not a multiple of 4";
|
||||
ezmq_signal(Qargs_out_of_range, 2, INT(clen), STRING(msg, strlen(msg)));
|
||||
}
|
||||
|
||||
free(content);
|
||||
|
||||
return retval;
|
||||
}
|
||||
|
||||
EZMQ_DOC(ezmq_curve_keypair, "", "Return a (PUBLIC-KEY . SECRET-KEY) pair.");
|
||||
emacs_value
|
||||
ezmq_curve_keypair(void)
|
||||
{
|
||||
emacs_value retval = Qnil;
|
||||
|
||||
if(zmq_has("curve")) {
|
||||
char *public = ezmq_malloc(41);
|
||||
char *private = ezmq_malloc(41);
|
||||
|
||||
if(!NONLOCAL_EXIT()) {
|
||||
EZMQ_CHECK_ERROR(zmq_curve_keypair(public, private));
|
||||
if(!NONLOCAL_EXIT())
|
||||
retval = CONS(STRING(public, 40), STRING(private, 40));
|
||||
}
|
||||
|
||||
free(public);
|
||||
free(private);
|
||||
} else {
|
||||
const char *msg = "ZMQ not built with CURVE security";
|
||||
ezmq_signal(Qzmq_error, 1, STRING(msg, strlen(msg)));
|
||||
}
|
||||
|
||||
return retval;
|
||||
}
|
||||
|
||||
EZMQ_DOC(ezmq_curve_public, "SECRET-KEY", "Return the corresponding public key of SECRET-KEY.");
|
||||
emacs_value
|
||||
ezmq_curve_public(emacs_value eprivate)
|
||||
{
|
||||
emacs_value retval = Qnil;
|
||||
|
||||
if(zmq_has("curve")) {
|
||||
EZMQ_EXTRACT_STRING(private, plen, eprivate);
|
||||
char *public = ezmq_malloc(41);
|
||||
|
||||
if(!NONLOCAL_EXIT()) {
|
||||
EZMQ_CHECK_ERROR(zmq_curve_public(public, private));
|
||||
if(!NONLOCAL_EXIT())
|
||||
retval = STRING(public, 40);
|
||||
}
|
||||
|
||||
free(public);
|
||||
free(private);
|
||||
} else {
|
||||
const char *msg = "ZMQ not built with CURVE security";
|
||||
ezmq_signal(Qzmq_error, 1, STRING(msg, strlen(msg)));
|
||||
}
|
||||
|
||||
return retval;
|
||||
}
|
||||
|
||||
EZMQ_DOC(ezmq_equal, "O1 O2", "Same as `equal' but properly handles ZMQ objects.");
|
||||
emacs_value
|
||||
ezmq_equal(emacs_value ea, emacs_value eb)
|
||||
{
|
||||
if(!EQUAL(ea, eb)) {
|
||||
ezmq_obj_t *a = USER_PTR(ea);
|
||||
ezmq_obj_t *b = USER_PTR(eb);
|
||||
|
||||
if(!NONLOCAL_EXIT() &&
|
||||
// If both objects are user-ptrs, ensure the objects indeed point to
|
||||
// ZMQ objects
|
||||
USER_FINALIZER(ea) == &ezmq_obj_finalizer &&
|
||||
USER_FINALIZER(eb) == &ezmq_obj_finalizer &&
|
||||
a == b) {
|
||||
return Qt;
|
||||
} else {
|
||||
CLEAR_NONLOCAL_EXIT();
|
||||
return Qnil;
|
||||
}
|
||||
} else
|
||||
return Qt;
|
||||
}
|
||||
|
||||
EZMQ_DOC(ezmq_message_p, "OBJ", "Is OBJ a `zmq-message'?");
|
||||
emacs_value
|
||||
ezmq_message_p(emacs_value obj)
|
||||
{
|
||||
return ezmq_obj_of_type(obj, EZMQ_MESSAGE) ? Qt : Qnil;
|
||||
}
|
||||
|
||||
EZMQ_DOC(ezmq_socket_p, "OBJ", "Is OBJ a `zmq-socket'?");
|
||||
emacs_value
|
||||
ezmq_socket_p(emacs_value obj)
|
||||
{
|
||||
return ezmq_obj_of_type(obj, EZMQ_SOCKET) ? Qt : Qnil;
|
||||
}
|
||||
|
||||
EZMQ_DOC(ezmq_context_p, "OBJ", "Is OBJ a `zmq-context'?");
|
||||
emacs_value
|
||||
ezmq_context_p(emacs_value obj)
|
||||
{
|
||||
return ezmq_obj_of_type(obj, EZMQ_CONTEXT) ? Qt : Qnil;
|
||||
}
|
||||
|
||||
EZMQ_DOC(ezmq_poller_p, "OBJ", "Is OBJ a `zmq-poller'?");
|
||||
emacs_value
|
||||
ezmq_poller_p(emacs_value obj)
|
||||
{
|
||||
return ezmq_obj_of_type(obj, EZMQ_POLLER) ? Qt : Qnil;
|
||||
}
|
||||
18
lisp/zmq/src/util.h
Normal file
18
lisp/zmq/src/util.h
Normal file
@@ -0,0 +1,18 @@
|
||||
#ifndef __UTIL_H__
|
||||
#define __UTIL_H__
|
||||
|
||||
#include "core.h"
|
||||
|
||||
EZMQ_FUN(ezmq_has, emacs_value);
|
||||
EZMQ_FUN(ezmq_version, void);
|
||||
EZMQ_FUN(ezmq_z85_decode, emacs_value);
|
||||
EZMQ_FUN(ezmq_z85_encode, emacs_value);
|
||||
EZMQ_FUN(ezmq_curve_keypair, void);
|
||||
EZMQ_FUN(ezmq_curve_public, emacs_value);
|
||||
EZMQ_FUN(ezmq_equal, emacs_value, emacs_value);
|
||||
EZMQ_FUN(ezmq_message_p, emacs_value);
|
||||
EZMQ_FUN(ezmq_socket_p, emacs_value);
|
||||
EZMQ_FUN(ezmq_context_p, emacs_value);
|
||||
EZMQ_FUN(ezmq_poller_p, emacs_value);
|
||||
|
||||
#endif /* __UTIL_H__ */
|
||||
15
lisp/zmq/zmq-pkg.el
Normal file
15
lisp/zmq/zmq-pkg.el
Normal file
@@ -0,0 +1,15 @@
|
||||
(define-package "zmq" "20230608.1856" "ZMQ bindings in elisp"
|
||||
'((cl-lib "0.5")
|
||||
(emacs "26"))
|
||||
:commit "9d5679c54f361f518a426586b51686674fd3b0fa" :authors
|
||||
'(("Nathaniel Nicandro" . "nathanielnicandro@gmail.com"))
|
||||
:maintainers
|
||||
'(("Nathaniel Nicandro" . "nathanielnicandro@gmail.com"))
|
||||
:maintainer
|
||||
'("Nathaniel Nicandro" . "nathanielnicandro@gmail.com")
|
||||
:keywords
|
||||
'("comm")
|
||||
:url "https://github.com/nnicandro/emacs-zmq")
|
||||
;; Local Variables:
|
||||
;; no-byte-compile: t
|
||||
;; End:
|
||||
663
lisp/zmq/zmq.el
Normal file
663
lisp/zmq/zmq.el
Normal file
@@ -0,0 +1,663 @@
|
||||
;;; zmq.el --- ZMQ bindings in elisp -*- lexical-binding: t -*-
|
||||
|
||||
;; Copyright (C) 2018 Nathaniel Nicandro
|
||||
|
||||
;; Author: Nathaniel Nicandro <nathanielnicandro@gmail.com>
|
||||
;; Created: 05 Jan 2018
|
||||
;; URL: https://github.com/nnicandro/emacs-zmq
|
||||
;; Keywords: comm
|
||||
;; Version: 1.0.0
|
||||
;; Package-Requires: ((cl-lib "0.5") (emacs "26"))
|
||||
|
||||
;; This program is free software; you can redistribute it and/or
|
||||
;; modify it under the terms of the GNU General Public License as
|
||||
;; published by the Free Software Foundation; either version 2, or (at
|
||||
;; your option) any later version.
|
||||
|
||||
;; This program is distributed in the hope that it will be useful, but
|
||||
;; WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
;; General Public License for more details.
|
||||
|
||||
;; You should have received a copy of the GNU General Public License
|
||||
;; along with GNU Emacs; see the file COPYING. If not, write to the
|
||||
;; Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||
;; Boston, MA 02111-1307, USA.
|
||||
|
||||
;;; Commentary:
|
||||
|
||||
;; Bindings to the ZMQ distributed messaging library in
|
||||
;; Emacs.
|
||||
|
||||
;;; Code:
|
||||
|
||||
(require 'cl-lib)
|
||||
|
||||
(defgroup zmq nil
|
||||
"ZMQ bindings for Emacs"
|
||||
:group 'communication)
|
||||
|
||||
(defconst zmq-emacs-version "v1.0.0")
|
||||
|
||||
(defvar zmq-current-context nil
|
||||
"The context set by the function `zmq-current-context'.")
|
||||
|
||||
(cl-deftype zmq-socket () '(satisfies zmq-socket-p))
|
||||
|
||||
(defun zmq-current-context ()
|
||||
"Return the value of the variable `zmq-current-context' if non-nil.
|
||||
Otherwise, create a new `zmq-context', bind it to the
|
||||
variable `zmq-current-context', and return the newly created
|
||||
context."
|
||||
(or zmq-current-context
|
||||
(setq zmq-current-context (zmq-context))))
|
||||
|
||||
(defun zmq-assoc (item list)
|
||||
"Find the first match whose car is equal to ITEM in LIST.
|
||||
`zmq-equal' is used for comparison."
|
||||
(cl-assoc item list :test #'zmq-equal))
|
||||
|
||||
;;; Tunneling
|
||||
|
||||
;; TODO: Add password handling
|
||||
(defun zmq-make-tunnel (lport rport server &optional remoteip)
|
||||
"Forward traffic from LPORT on the localhost to REMOTEIP:RPORT on SERVER.
|
||||
If REMOTEIP is nil, forward LPORT to RPORT on SERVER.
|
||||
Forwarding is done with ssh."
|
||||
(or remoteip (setq remoteip "127.0.0.1"))
|
||||
(start-process
|
||||
"zmq-tunnel" nil
|
||||
"ssh"
|
||||
;; Run in background
|
||||
"-f"
|
||||
;; Wait until the tunnel is open
|
||||
"-o ExitOnForwardFailure=yes"
|
||||
;; Local forward
|
||||
"-L" (format "127.0.0.1:%d:%s:%d" lport remoteip rport)
|
||||
server
|
||||
;; Close the tunnel if no other connections are made within 60
|
||||
;; seconds
|
||||
"sleep 60"))
|
||||
|
||||
;;; Socket functions
|
||||
|
||||
(defun zmq-bind-to-random-port (sock addr &optional min-port max-port max-tries)
|
||||
"Bind SOCK to ADDR on a random port.
|
||||
|
||||
ADDR must be an address string without the port.
|
||||
|
||||
Randomly bind SOCK to ADDR on a port in the range
|
||||
|
||||
[MIN-PORT,MAX-PORT)
|
||||
|
||||
If the port assigned is in use on ADDR, try a different port. If
|
||||
SOCK could not be bound after MAX-TRIES return nil, otherwise
|
||||
return the port SOCK was bound to. MIN-PORT defaults to 49152,
|
||||
MAX-PORT defaults to 65536, and MAX-TRIES defaults to 100."
|
||||
(setq min-port (or min-port 49152)
|
||||
max-port (or max-port 65536)
|
||||
max-tries (or max-tries 100))
|
||||
(let (port)
|
||||
(while (not (or port (zerop max-tries)))
|
||||
(setq port (+ (cl-random (- max-port min-port)) min-port))
|
||||
(condition-case nil
|
||||
(zmq-bind sock (format "%s:%d" addr port))
|
||||
((zmq-EACCES zmq-EADDRINUSE)
|
||||
(setq port nil
|
||||
max-tries (1- max-tries)))))
|
||||
port))
|
||||
|
||||
;;; Sending/receiving multipart messages
|
||||
|
||||
(defun zmq-send-multipart (sock parts &optional flags)
|
||||
"Send a multipart message on SOCK.
|
||||
PARTS is a list of message parts to send on SOCK. FLAGS has the
|
||||
same meaning as `zmq-send'."
|
||||
(or flags (setq flags 0))
|
||||
(while parts
|
||||
(let ((part (zmq-message (car parts))))
|
||||
(zmq-message-send
|
||||
part sock (if (not (null (cdr parts)))
|
||||
(logior flags zmq-SNDMORE)
|
||||
flags))
|
||||
(setq parts (cdr parts)))))
|
||||
|
||||
(defun zmq-recv-multipart (sock &optional flags)
|
||||
"Receive a multipart message from SOCK.
|
||||
FLAGS has the same meaning as in `zmq-recv'."
|
||||
(let (res)
|
||||
(catch 'recvd
|
||||
(while t
|
||||
(let ((part (zmq-message)))
|
||||
(zmq-message-recv part sock flags)
|
||||
(setq res (cons (zmq-message-data part) res))
|
||||
(unless (zmq-message-more-p part)
|
||||
(throw 'recvd (nreverse res))))))))
|
||||
|
||||
;;; Setting/getting options from contexts, sockets, messages
|
||||
|
||||
(defun zmq--set-get-option (set object option &optional value)
|
||||
"Helper function for `zmq-get-option' and `zmq-set-option'.
|
||||
If SET is non-nil, set OBJECT's OPTION to VALUE. Otherwise get
|
||||
OPTION's value, ignoring any VALUE argument."
|
||||
(let ((fun (cond
|
||||
((zmq-socket-p object)
|
||||
(if set #'zmq-socket-set #'zmq-socket-get))
|
||||
((zmq-context-p object)
|
||||
(if set #'zmq-context-set #'zmq-context-get))
|
||||
((zmq-message-p object)
|
||||
(if set #'zmq-message-set #'zmq-message-get))
|
||||
(t (signal 'wrong-type-argument
|
||||
(list
|
||||
'(zmq-socket-p zmq-context-p zmq-message-p)
|
||||
object))))))
|
||||
(if set (funcall fun object option value)
|
||||
(funcall fun object option))))
|
||||
|
||||
(defun zmq-set-option (object option value)
|
||||
"For OBJECT, set OPTION to VALUE.
|
||||
|
||||
OBJECT can be a `zmq-socket', `zmq-context', or a `zmq-message'.
|
||||
The OPTION set should correspond to one of the options available
|
||||
for that particular object."
|
||||
(zmq--set-get-option 'set object option value))
|
||||
|
||||
(defun zmq-get-option (object option)
|
||||
"For OBJECT, get OPTION's value.
|
||||
|
||||
OBJECT can be a `zmq-socket', `zmq-context', or a `zmq-message'.
|
||||
The OPTION to get should correspond to one of the options
|
||||
available for that particular object."
|
||||
(zmq--set-get-option nil object option))
|
||||
|
||||
(defconst zmq-message-properties '((:socket-type . "Socket-Type")
|
||||
(:identity . "Identity")
|
||||
(:resource . "Resource")
|
||||
(:peer-address . "Peer-Address")
|
||||
(:user-id . "User-Id"))
|
||||
"Alist mapping keywords to their corresponding message property.
|
||||
A message's metadata property can be accessed through
|
||||
`zmq-message-property'.")
|
||||
|
||||
(defun zmq-message-property (message property)
|
||||
"Get a MESSAGE's metadata PROPERTY.
|
||||
|
||||
PROPERTY is a keyword and can only be one of those in
|
||||
`zmq-message-properties'."
|
||||
(let ((prop (cdr (assoc property zmq-message-properties))))
|
||||
(unless prop
|
||||
(signal 'args-out-of-range
|
||||
(list (mapcar #'car zmq-message-properties) prop)))
|
||||
(decode-coding-string (zmq-message-gets message prop) 'utf-8)))
|
||||
|
||||
;;; Subprocesses
|
||||
|
||||
(define-error 'zmq-subprocess-error "Error in ZMQ subprocess")
|
||||
|
||||
(defun zmq-flush (stream)
|
||||
"Flush STREAM.
|
||||
STREAM can be one of `stdout', `stdin', or `stderr'."
|
||||
(set-binary-mode stream t)
|
||||
(set-binary-mode stream nil))
|
||||
|
||||
(defun zmq-prin1 (sexp)
|
||||
"Print SEXP using `prin1' and flush `stdout' afterwards."
|
||||
(prin1 sexp)
|
||||
(zmq-flush 'stdout))
|
||||
|
||||
(defvar zmq--subprocess-debug nil
|
||||
"If non-nil, capture backtraces in subprocesses.
|
||||
Send backtraces as subprocess errors to the parent Emacs process.
|
||||
In addition, log any stderr messages produced by the subprocess
|
||||
as messages in the parent Emacs process.")
|
||||
|
||||
(defvar zmq-backtrace nil
|
||||
"The backtrace stored when debugging the subprocess.")
|
||||
|
||||
(defun zmq--init-subprocess (&optional backtrace)
|
||||
"Initialize the ZMQ subprocess.
|
||||
Call `zmq-subprocess-read' and assuming the read s-expression is
|
||||
a function, call the function. If the function accepts a single
|
||||
argument, pass the `zmq-context' created by a call to the
|
||||
function `zmq-current-context' as the argument.
|
||||
|
||||
If BACKTRACE is non-nil and an error occurs when evaluating, send
|
||||
the backtrace to the parent process. This should only be used for
|
||||
debugging purposes."
|
||||
(if (not noninteractive) (error "Not a subprocess")
|
||||
(let* ((debug-on-event nil)
|
||||
(coding-system-for-write 'utf-8-emacs)
|
||||
(signal-hook-function
|
||||
(when backtrace
|
||||
(lambda (&rest _)
|
||||
(setq zmq-backtrace
|
||||
(with-temp-buffer
|
||||
(let ((standard-output (current-buffer)))
|
||||
(backtrace))
|
||||
(buffer-string)))))))
|
||||
(condition-case err
|
||||
(let* ((sexp (eval (zmq-subprocess-read)))
|
||||
(wrap-context (= (length (cadr sexp)) 1)))
|
||||
(if wrap-context
|
||||
(funcall sexp (zmq-current-context))
|
||||
(funcall sexp)))
|
||||
(error
|
||||
(zmq-prin1 (cons 'error (list (car err)
|
||||
(or zmq-backtrace
|
||||
(cdr err))))))))))
|
||||
|
||||
(defvar-local zmq--subprocess-parse-state nil
|
||||
"The parse state of the output read from a subprocess.")
|
||||
|
||||
(defsubst zmq--subprocess-skip-delete-to-sexp ()
|
||||
"Skip to the start of a list.
|
||||
Delete the region between `point' and the start of the next list.
|
||||
Only skip and delete if `zmq--subprocess-parse-state' is nil."
|
||||
(unless zmq--subprocess-parse-state
|
||||
(delete-region
|
||||
(point) (+ (point) (skip-syntax-forward "^(")))))
|
||||
|
||||
(defun zmq--subprocess-read-output (output)
|
||||
"Return a list of s-expressions read from OUTPUT.
|
||||
OUTPUT is inserted into the `current-buffer' and `read' until the
|
||||
first incomplete s-expression or until all s-expressions of
|
||||
OUTPUT have been processed. After reading, the contents of the
|
||||
`current-buffer' from `point-min' up to the last valid
|
||||
s-expression is removed and a list of all the valid s-expressions
|
||||
in OUTPUT is returned.
|
||||
|
||||
Any other text in OUTPUT that is not an s-expression is ignored.
|
||||
|
||||
Also note, for this function to work properly the same buffer
|
||||
should be current for subsequent calls."
|
||||
(let (accum)
|
||||
(save-excursion (insert output))
|
||||
(zmq--subprocess-skip-delete-to-sexp)
|
||||
(while (/= (point) (point-max))
|
||||
(setq zmq--subprocess-parse-state
|
||||
(parse-partial-sexp
|
||||
(point) (point-max) 0
|
||||
nil zmq--subprocess-parse-state))
|
||||
(when (= (nth 0 zmq--subprocess-parse-state) 0)
|
||||
;; When a complete top-level s-expression has been
|
||||
;; parsed, collect into the accumulated list of
|
||||
;; complete s-expressions.
|
||||
(let ((beg (nth 2 zmq--subprocess-parse-state))
|
||||
(end (point)))
|
||||
(goto-char beg)
|
||||
(unwind-protect
|
||||
(push (read (current-buffer)) accum)
|
||||
(setq zmq--subprocess-parse-state nil)
|
||||
(goto-char end)
|
||||
(delete-region beg end))))
|
||||
(zmq--subprocess-skip-delete-to-sexp))
|
||||
(nreverse accum)))
|
||||
|
||||
(defun zmq--subprocess-handle-stderr (process)
|
||||
"Print PROCESS' stderr as messages.
|
||||
Do this only if the PROCESS has a non-nil :debug property."
|
||||
(when (process-get process :debug)
|
||||
(let ((stderr (process-get process :stderr)))
|
||||
(unless (zerop (buffer-size (process-buffer stderr)))
|
||||
(with-current-buffer (process-buffer stderr)
|
||||
(let ((prefix (concat "STDERR[" (process-name process) "]: ")))
|
||||
(goto-char (point-min))
|
||||
(while (/= (point) (point-max))
|
||||
(message "%s%s" prefix (buffer-substring
|
||||
(line-beginning-position)
|
||||
(line-end-position)))
|
||||
(forward-line))
|
||||
(erase-buffer)))))))
|
||||
|
||||
(defun zmq--subprocess-filter (process output)
|
||||
"Create a stream of s-expressions based on PROCESS' OUTPUT.
|
||||
If PROCESS has a non-nil `:filter' property then it should be a
|
||||
function with the same meaning as the EVENT-FILTER argument in
|
||||
`zmq-start-process', OUTPUT will be converted into a list of
|
||||
s-expressions and the `:filter' function called for every valid
|
||||
s-expression in OUTPUT.
|
||||
|
||||
As a special case, if the `car' of an s-expression is the symbol
|
||||
error, a `zmq-subprocess-error' is signaled using the `cdr' of
|
||||
the list for the error data."
|
||||
(zmq--subprocess-handle-stderr process)
|
||||
(with-current-buffer (process-buffer process)
|
||||
(goto-char (process-mark process))
|
||||
(let ((filter (process-get process :filter)))
|
||||
(when filter
|
||||
(let ((stream (let ((inhibit-read-only t))
|
||||
(zmq--subprocess-read-output output))))
|
||||
(cl-loop
|
||||
for event in stream
|
||||
if (and (listp event) (eq (car event) 'error)) do
|
||||
;; TODO: Better way to handle this
|
||||
(signal 'zmq-subprocess-error (cdr event))
|
||||
else do (with-demoted-errors "Error in ZMQ subprocess filter: %S"
|
||||
(funcall filter event))))))
|
||||
(set-marker (process-mark process) (point-max))))
|
||||
|
||||
(defun zmq--subprocess-sentinel (process event)
|
||||
"Sentinel function for ZMQ subprocesses.
|
||||
If a PROCESS has a `:sentinel' property that is a function, the
|
||||
function is called with identical arguments as this function.
|
||||
|
||||
When EVENT represents any of the events that notify when a
|
||||
subprocess has exited, kill the process buffer only when the
|
||||
`:owns-buffer' property of the PROCESS is non-nil. Otherwise the
|
||||
process buffer is left alive and assumed to be a buffer that was
|
||||
initially passed to `zmq-start-process'."
|
||||
(let ((sentinel (process-get process :sentinel)))
|
||||
(unwind-protect
|
||||
(when (functionp sentinel)
|
||||
(funcall sentinel process event))
|
||||
(when (memq (process-status process) '(exit signal))
|
||||
(delete-process process)
|
||||
(when (process-get process :owns-buffer)
|
||||
(kill-buffer (process-buffer process)))
|
||||
(let ((stderr (process-get process :stderr)))
|
||||
(when (process-live-p stderr)
|
||||
(delete-process stderr))
|
||||
(when (buffer-live-p (process-buffer stderr))
|
||||
(kill-buffer (process-buffer stderr))))))))
|
||||
|
||||
(defvar zmq--subprocess-send-buffer nil)
|
||||
|
||||
;; Adapted from `async--insert-sexp' in the `async' package :)
|
||||
(defun zmq-subprocess-send (process sexp)
|
||||
"Send an s-expression to PROCESS' STDIN.
|
||||
PROCESS should be an Emacs subprocess that decodes messages sent
|
||||
on its STDIN using `zmq-subprocess-read'.
|
||||
|
||||
The SEXP is first encoded with the `utf-8-emacs' coding system and
|
||||
then encoded using Base 64 encoding before being sent to the
|
||||
subprocess."
|
||||
(declare (indent 1))
|
||||
(let ((print-circle t)
|
||||
(print-escape-nonascii t)
|
||||
print-level print-length)
|
||||
(with-current-buffer
|
||||
(if (buffer-live-p zmq--subprocess-send-buffer)
|
||||
zmq--subprocess-send-buffer
|
||||
(setq zmq--subprocess-send-buffer
|
||||
(get-buffer-create " *zmq-subprocess-send*")))
|
||||
(erase-buffer)
|
||||
(prin1 sexp (current-buffer))
|
||||
(encode-coding-region (point-min) (point-max) 'utf-8-emacs)
|
||||
(base64-encode-region (point-min) (point-max) t)
|
||||
(goto-char (point-min)) (insert ?\")
|
||||
(goto-char (point-max)) (insert ?\" ?\n)
|
||||
(process-send-region process (point-min) (point-max)))))
|
||||
|
||||
(defun zmq-subprocess-read ()
|
||||
"Read a single s-expression from STDIN.
|
||||
This does the decoding of the encoding described in
|
||||
`zmq-subprocess-send' and returns the s-expression. This is only
|
||||
meant to be called from an Emacs subprocess."
|
||||
(if (not noninteractive) (error "Not in a subprocess")
|
||||
(read (decode-coding-string
|
||||
(base64-decode-string (read-minibuffer ""))
|
||||
'utf-8-emacs))))
|
||||
|
||||
(defun zmq-set-subprocess-filter (process event-filter)
|
||||
"Set the event filter function for PROCESS.
|
||||
EVENT-FILTER has the same meaning as in `zmq-start-process'."
|
||||
(process-put process :filter event-filter))
|
||||
|
||||
(defun zmq-set-subprocess-sentinel (process sentinel)
|
||||
"Set the sentinel function for PROCESS.
|
||||
SENTINEL has the same meaning as in `zmq-start-process'."
|
||||
(process-put process :sentinel sentinel))
|
||||
|
||||
(defun zmq-set-subprocess-buffer (process buffer)
|
||||
"Set PROCESS' buffer to BUFFER.
|
||||
Delete PROCESS' current buffer if it was automatically created
|
||||
when `zmq-start-process' was called. It is the responsibility of
|
||||
the caller to cleanup BUFFER when PROCESS exits after a call to
|
||||
this function."
|
||||
(let ((marker (process-mark process)))
|
||||
;; Copy over any pending results
|
||||
(with-current-buffer (process-buffer process)
|
||||
(copy-to-buffer buffer (point-min) (point-max)))
|
||||
(set-process-buffer process buffer)
|
||||
(set-marker marker (marker-position marker) buffer)
|
||||
(when (process-get process :owns-buffer)
|
||||
(kill-buffer (process-buffer process))
|
||||
(setf (process-get process :owns-buffer) nil))))
|
||||
|
||||
(cl-defun zmq-start-process (sexp &key filter sentinel buffer debug)
|
||||
"Start an Emacs subprocess initializing it with SEXP.
|
||||
Return the newly created process.
|
||||
|
||||
SEXP is either a lambda form or a function symbol. In both cases
|
||||
the function can either take 0 or 1 arguments. If SEXP takes 1
|
||||
argument, then a new context object will be passed as the
|
||||
argument of the function.
|
||||
|
||||
FILTER is a function that takes a single argument, a complete
|
||||
s-expression read from the process' stdout. This means that care
|
||||
should be taken when writing SEXP to ensure that it only prints
|
||||
out lists. Anything other value that SEXP prints will be ignored.
|
||||
|
||||
SENTINEL has the same meaning as in `make-process'.
|
||||
|
||||
BUFFER will be set as the `process-buffer' for the returnd
|
||||
process if non-nil. When BUFFER is nil, a new buffer will be
|
||||
created. When a BUFFER is supplied, it should not be used for any
|
||||
other purpose after a call to this function since it will be used
|
||||
to store intermediate output from the subprocess. If this
|
||||
function creates a new buffer, that buffer will be killed on
|
||||
process exit, but it is the responsiblity of the caller to kill
|
||||
the buffer if a buffer is supplied to this function.
|
||||
|
||||
If DEBUG is non-nil, then the subprocess returns a backtrace if
|
||||
it errors out and prints its stderr as messages in the parent
|
||||
Emacs process."
|
||||
(or debug (setq debug zmq--subprocess-debug))
|
||||
(cond
|
||||
((functionp sexp)
|
||||
(unless (listp sexp)
|
||||
(setq sexp (symbol-function sexp))))
|
||||
(t (error "Can only send functions to processes")))
|
||||
(cl-destructuring-bind (min . max) (func-arity sexp)
|
||||
(unless (and (<= min 1) (or (not (numberp max)) (<= max 1)))
|
||||
(error "Invalid function to send to process, can only have 0 or 1 arguments")))
|
||||
(let* ((zmq-path (locate-library "zmq.el"))
|
||||
(cmd (format "(zmq--init-subprocess %s)" (when debug t)))
|
||||
;; stderr is split from stdout since the former is used by
|
||||
;; Emacs to print messages that we don't want intermixed
|
||||
;; with what the subprocess returns.
|
||||
(stderr (make-pipe-process
|
||||
:name "zmq stderr"
|
||||
:buffer (generate-new-buffer " *zmq*")
|
||||
:noquery t
|
||||
:stop (not debug)))
|
||||
(process (make-process
|
||||
:name "zmq"
|
||||
:buffer (or buffer (generate-new-buffer " *zmq*"))
|
||||
:noquery t
|
||||
:connection-type 'pipe
|
||||
:coding 'no-conversion
|
||||
:filter #'zmq--subprocess-filter
|
||||
:sentinel #'zmq--subprocess-sentinel
|
||||
:stderr stderr
|
||||
:command (list
|
||||
(file-truename
|
||||
(expand-file-name invocation-name
|
||||
invocation-directory))
|
||||
"-Q" "-batch"
|
||||
"-L" (file-name-directory zmq-path)
|
||||
"-l" zmq-path "--eval" cmd))))
|
||||
(process-put process :debug debug)
|
||||
(process-put process :stderr stderr)
|
||||
(process-put process :filter filter)
|
||||
(process-put process :sentinel sentinel)
|
||||
(process-put process :owns-buffer (null buffer))
|
||||
(with-current-buffer (process-buffer process)
|
||||
(let ((inhibit-read-only t))
|
||||
(erase-buffer))
|
||||
(special-mode))
|
||||
(zmq-subprocess-send process (macroexpand-all sexp))
|
||||
process))
|
||||
|
||||
;;; Download releases
|
||||
|
||||
(defun zmq--system-configuration-list (string)
|
||||
(save-match-data
|
||||
(string-match "\\([^-]+\\)-\\([^-]+\\)-\\([^-]+\\)\\(?:-\\(.+\\)\\)?" string)
|
||||
(let ((arch (match-string 1 string))
|
||||
(vendor (match-string 2 string))
|
||||
(sys (match-string 3 string))
|
||||
(abi (match-string 4 string)))
|
||||
(list arch vendor sys abi))))
|
||||
|
||||
(defun zmq--system-configuration ()
|
||||
(cl-destructuring-bind (arch vendor sys abi)
|
||||
(zmq--system-configuration-list system-configuration)
|
||||
;; Attempt to handle common systems
|
||||
(cond
|
||||
((string-prefix-p "darwin" sys)
|
||||
;; On OSX the sys part of the host is like
|
||||
;; darwin17.1.0, but the binaries are compatible across
|
||||
;; multiple versions. TODO: Figure out the actual ABI
|
||||
;; compatibility.
|
||||
(concat arch "-" vendor "-darwin"))
|
||||
((and (member vendor '("pc" "unknown" "none"))
|
||||
(equal sys "linux"))
|
||||
(concat arch "-" sys "-" abi))
|
||||
(t
|
||||
system-configuration))))
|
||||
|
||||
(defun zmq--insert-url-contents (url)
|
||||
;; Attempt to download URL using various methods
|
||||
(cond
|
||||
((and (executable-find "curl")
|
||||
;; -s = silent, -L = follow redirects
|
||||
(let ((default-process-coding-system '(binary . binary)))
|
||||
(zerop (call-process "curl" nil (current-buffer) nil
|
||||
"-s" "-L" url)))))
|
||||
((and (executable-find "wget")
|
||||
;; -q = quiet, -O - = output to stdout
|
||||
(let ((default-process-coding-system '(binary . binary)))
|
||||
(zerop (call-process "wget" nil (current-buffer) nil
|
||||
"-q" "-O" "-" url)))))
|
||||
(t
|
||||
(require 'url-handlers)
|
||||
(let ((buf (url-retrieve-synchronously url)))
|
||||
(url-insert buf)))))
|
||||
|
||||
(defmacro zmq--download-url (url &rest body)
|
||||
(declare (indent 1))
|
||||
`(with-temp-buffer
|
||||
(set-buffer-multibyte nil)
|
||||
(zmq--insert-url-contents ,url)
|
||||
(goto-char (point-min))
|
||||
,@body))
|
||||
|
||||
(defun zmq--download-and-extract-file (url tgz-file)
|
||||
(message "Downloading %s/%s" url tgz-file)
|
||||
(let ((sig (zmq--download-url (concat url "/" tgz-file ".sha256")
|
||||
(forward-sexp)
|
||||
(let ((end (point)))
|
||||
(buffer-substring
|
||||
(progn (backward-sexp) (point))
|
||||
end)))))
|
||||
(message "Verifying sha256 signature of %s" tgz-file)
|
||||
(zmq--download-url (concat url "/" tgz-file)
|
||||
(if (not (equal sig (secure-hash 'sha256 (buffer-string))))
|
||||
(error "Signature did not match content")
|
||||
;; We write the tar.gz file so that Emacs properly uncompresses
|
||||
;; it through `jka-compr' otherwise `tar-untar-buffer' will
|
||||
;; fail with a weird error.
|
||||
(set-buffer-multibyte nil)
|
||||
(write-region nil nil tgz-file)))
|
||||
(let ((buffer (find-file-noselect tgz-file)))
|
||||
(unwind-protect
|
||||
(with-current-buffer buffer
|
||||
(require 'tar-mode)
|
||||
(tar-untar-buffer))
|
||||
(kill-buffer buffer)
|
||||
(delete-file tgz-file)))))
|
||||
|
||||
(defvar json-object-type)
|
||||
|
||||
(defun zmq--download-module (tag)
|
||||
(let ((msg "Check%s for compatible module binary to download%s"))
|
||||
(when (or noninteractive (y-or-n-p (format msg "" "? ")))
|
||||
(when noninteractive
|
||||
(message msg "ing" ""))
|
||||
(catch 'failure
|
||||
(let* ((api-url "https://api.github.com/repos/nnicandro/emacs-zmq/")
|
||||
(repo-url "https://github.com/nnicandro/emacs-zmq/")
|
||||
(release-url (concat api-url "releases/"))
|
||||
(info (zmq--download-url (concat release-url tag)
|
||||
(require 'json)
|
||||
(let ((json-object-type 'plist))
|
||||
(ignore-errors (json-read)))))
|
||||
(tag-name (or (plist-get info :tag_name)
|
||||
(throw 'failure nil)))
|
||||
(ezmq-sys (concat "emacs-zmq-" (zmq--system-configuration)))
|
||||
(assets (cl-remove-if-not
|
||||
(lambda (x) (string-prefix-p ezmq-sys x))
|
||||
(mapcar (lambda (x) (plist-get x :name))
|
||||
(append (plist-get info :assets) nil)))))
|
||||
(when assets
|
||||
;; We have a signature file and a tar.gz file for each binary so the
|
||||
;; minimum number of files is two.
|
||||
(if (> (length assets) 2)
|
||||
(error "TODO More than one file found")
|
||||
(let* ((tgz-file (cl-find-if (lambda (x) (string-suffix-p ".tar.gz" x))
|
||||
assets))
|
||||
(tgz-dir (expand-file-name
|
||||
(substring tgz-file 0
|
||||
(- (length tgz-file)
|
||||
(length ".tar.gz"))))))
|
||||
(zmq--download-and-extract-file
|
||||
(concat repo-url "releases/download/" tag-name) tgz-file)
|
||||
(let* ((pat "emacs-zmq\\.\\(dll\\|so\\|dylib\\)$")
|
||||
(lib (car (directory-files tgz-dir t pat))))
|
||||
(copy-file lib (expand-file-name (file-name-nondirectory lib))))
|
||||
t))))))))
|
||||
|
||||
;;; Load emacs-zmq
|
||||
|
||||
(defun zmq-load ()
|
||||
"Load the ZMQ dynamic module."
|
||||
;; Assume the module is already loaded when one of its functions is defined.
|
||||
(unless (functionp #'zmq--cleanup-globrefs)
|
||||
(if module-file-suffix
|
||||
(let ((default-directory (file-name-directory (locate-library "zmq.el"))))
|
||||
(if (load (expand-file-name "emacs-zmq") t)
|
||||
(add-hook 'post-gc-hook #'zmq--cleanup-globrefs)
|
||||
;; Can also be "latest"
|
||||
(if (zmq--download-module (concat "tags/" zmq-emacs-version))
|
||||
(zmq-load)
|
||||
(let ((msg "ZMQ module not found. Build%s it%s"))
|
||||
(when (or noninteractive (y-or-n-p (format msg "" "? ")))
|
||||
(when noninteractive
|
||||
(message msg "ing" ""))
|
||||
(let ((emacs
|
||||
(when (and invocation-directory invocation-name)
|
||||
(file-truename
|
||||
(expand-file-name invocation-name
|
||||
invocation-directory)))))
|
||||
(cl-labels
|
||||
((load-zmq
|
||||
(_buf status)
|
||||
(if (string= status "finished\n")
|
||||
(zmq-load)
|
||||
(warn "Something went wrong when compiling the ZMQ module!"))
|
||||
(remove-hook 'compilation-finish-functions #'load-zmq)
|
||||
(exit-recursive-edit)))
|
||||
(add-hook 'compilation-finish-functions #'load-zmq)
|
||||
(compile (concat "make" (when emacs (concat " EMACS=" emacs))))
|
||||
(recursive-edit))))))))
|
||||
(user-error "Modules are not supported"))))
|
||||
|
||||
(zmq-load)
|
||||
|
||||
(provide 'zmq)
|
||||
|
||||
;; Local Variables:
|
||||
;; byte-compile-warnings: (not free-vars unresolved)
|
||||
;; End:
|
||||
;;; zmq.el ends here
|
||||
Reference in New Issue
Block a user