Skip to content

Commit

Permalink
Merge branch 'master' into feature/readthedocs
Browse files Browse the repository at this point in the history
  • Loading branch information
f18m committed Nov 1, 2023
2 parents a0fe78c + aa9a2c8 commit d1fd169
Show file tree
Hide file tree
Showing 4 changed files with 41 additions and 23 deletions.
1 change: 1 addition & 0 deletions .gitignore
Expand Up @@ -6,6 +6,7 @@ syntax: glob # for hg-git users
builds/Makefile
builds/deprecated-msvc/Makefile
doc/Makefile
doc/__pagelist
libtool
### automake
Makefile.in
Expand Down
52 changes: 30 additions & 22 deletions doc/Makefile.am
Expand Up @@ -28,17 +28,17 @@ MAN7 = \
zmq_null.7 zmq_plain.7 zmq_curve.7 zmq_tipc.7 zmq_vmci.7 zmq_udp.7 \
zmq_gssapi.7

# MAN_ADOC contains all original Asciidoc files from git repo
MAN_ADOC = $(MAN3:%.3=%.adoc) $(MAN7:%.7=%.adoc)
# ASCIIDOC_DOC_WITHOUT_INDEX contains all the Asciidoc files checked into the git repo, except for index.adoc
ASCIIDOC_DOC_WITHOUT_INDEX = $(MAN3:%.3=%.adoc) $(MAN7:%.7=%.adoc)

# MAN_DOC contains all the MANUAL PAGES (generated from asciidoc files)
# MAN_DOC contains all the MANPAGE documentation (generated from asciidoc files)
MAN_DOC = $(MAN3) $(MAN7)

# MAN_HTML contains all the HTML PAGES (generated from asciidoc files)
MAN_HTML = $(MAN_ADOC:%.adoc=%.html)
# HTML_DOC contains all the HTML documentation (generated from asciidoc files)
HTML_DOC = index.html $(ASCIIDOC_DOC_WITHOUT_INDEX:%.adoc=%.html)

MAINTAINERCLEANFILES =
EXTRA_DIST = $(MAN_ADOC)
EXTRA_DIST = $(ASCIIDOC_DOC_WITHOUT_INDEX)


#
Expand All @@ -47,32 +47,40 @@ EXTRA_DIST = $(MAN_ADOC)
#
if BUILD_DOC

EXTRA_DIST += $(MAN_HTML) $(MAN_DOC)
MAINTAINERCLEANFILES += $(MAN_HTML) $(MAN_DOC)
EXTRA_DIST += $(HTML_DOC) $(MAN_DOC)
MAINTAINERCLEANFILES += $(HTML_DOC) $(MAN_DOC)
SUFFIXES=.html .adoc .3 .7


# NOTE: libzmq CI runs on some "old" distribution that ships Asciidoctor 1.5.x which has
# some small incompatibility with Asciidoctor 2.x; in particular 2.x exposes automatically
# the "backend" attribute that can be used inside .adoc documents; 1.5.x did not, so we
# provide the "zmq_output_format" attribute as compat alternative to "backend" built-in attribute

.adoc.html:
asciidoctor --backend html --attribute zmq_output_format=html --attribute zmq_version=@PACKAGE_VERSION@ $<
.adoc.html:
asciidoctor -b html -azmq_version=@PACKAGE_VERSION@ $<
.adoc.3:
asciidoctor --backend manpage --attribute zmq_output_format=manpage --attribute zmq_version=@PACKAGE_VERSION@ $<
.adoc.7:
asciidoctor --backend manpage --attribute zmq_output_format=manpage --attribute zmq_version=@PACKAGE_VERSION@ $<

dist-hook : $(MAN_DOC) $(MAN_HTML)
dist-hook : $(MAN_DOC) $(HTML_DOC)

# the following Bash snippet is used to automatically generate an alphabetical list included by index.adoc:
$(builddir)/__pagelist:
echo >$@
for adocfile in $(ASCIIDOC_DOC_WITHOUT_INDEX); do \
noext=$${adocfile//.adoc/}; \
echo "* xref:$${adocfile}[$${noext}]" >> $@; \
done

# there are a number of constraints in auto-generating files for Asciidoctor:
# - out-of-tree builds
# - read-only source tree
# - target being invoked into RPM buildroot
# etc, so we have special rules to build the index.html page, which requires auto-generated list of doc pages
index.html:
$(MAKE) $(builddir)/__pagelist
asciidoctor -b html -azmq_version=@PACKAGE_VERSION@ -azmq_pagelist_dir=$(abs_builddir) $(srcdir)/index.adoc

# To help publishing HTML files into github Pages, we indicate github that the "zmq.html" page is the index page;
# that page contains a link to all other documentation pages
all-local : $(MAN_DOC) $(MAN_HTML)
ln -sf zmq.html index.html
all-local : $(MAN_DOC) $(HTML_DOC)

clean-local :
rm -f $(MAN3) $(MAN7) $(MAN_HTML)
rm -f $(MAN_DOC) $(HTML_DOC) $(builddir)/__pagelist

endif

Expand Down
9 changes: 9 additions & 0 deletions doc/index.adoc
@@ -0,0 +1,9 @@
= ZMQ API reference

This documentation is for libzmq {zmq_version}.

A suggested start to understand 0MQ (also written as ZMQ or ZeroMQ) is the xref:zmq.adoc[zmq] manpage.

== Alphabetic list of documentation pages

include::{zmq_pagelist_dir}/__pagelist[]
2 changes: 1 addition & 1 deletion src/poller.hpp
Expand Up @@ -7,7 +7,7 @@
+ defined ZMQ_IOTHREAD_POLLER_USE_EPOLL \
+ defined ZMQ_IOTHREAD_POLLER_USE_DEVPOLL \
+ defined ZMQ_IOTHREAD_POLLER_USE_POLLSET \
+ defined ZMQ_IOTHREAD_POLLER_POLL \
+ defined ZMQ_IOTHREAD_POLLER_USE_POLL \
+ defined ZMQ_IOTHREAD_POLLER_USE_SELECT \
> 1
#error More than one of the ZMQ_IOTHREAD_POLLER_USE_* macros defined
Expand Down

0 comments on commit d1fd169

Please sign in to comment.