Skip to content

Commit f8423ec

Browse files
authored
Merge pull request #109 from seabaylea/kqueue
Add libkqueue as a git submodule
2 parents 57c5c28 + 1f9d1b8 commit f8423ec

File tree

6 files changed

+43
-24
lines changed

6 files changed

+43
-24
lines changed

.gitmodules

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
11
[submodule "libpwq"]
22
path = libpwq
33
url = https://github.com/mheily/libpwq.git
4+
[submodule "libkqueue"]
5+
path = libkqueue
6+
url = https://github.com/mheily/libkqueue.git

Makefile.am

Lines changed: 15 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -5,24 +5,23 @@
55
ACLOCAL_AMFLAGS = -I m4
66

77
if BUILD_OWN_PTHREAD_WORKQUEUES
8-
SUBDIRS= \
9-
dispatch \
10-
libpwq \
11-
man \
12-
os \
13-
private \
14-
src \
15-
tests
16-
else
17-
SUBDIRS= \
18-
dispatch \
19-
man \
20-
os \
21-
private \
22-
src \
23-
tests
8+
MAYBE_PTHREAD_WORKQUEUES = libpwq
9+
endif
10+
11+
if BUILD_OWN_KQUEUES
12+
MAYBE_KQUEUES = libkqueue
2413
endif
2514

15+
SUBDIRS= \
16+
dispatch \
17+
$(MAYBE_PTHREAD_WORKQUEUES) \
18+
$(MAYBE_KQUEUES) \
19+
man \
20+
os \
21+
private \
22+
src \
23+
tests
24+
2625
EXTRA_DIST= \
2726
README.md \
2827
LICENSE \

configure.ac

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -223,12 +223,18 @@ esac
223223
AC_SEARCH_LIBS(clock_gettime, rt)
224224
AC_SEARCH_LIBS(pthread_create, pthread)
225225

226-
#
227-
# Prefer native kqueue(2); otherwise use libkqueue if present.
228-
#
229-
AC_CHECK_HEADER(sys/event.h, [],
230-
[PKG_CHECK_MODULES(KQUEUE, libkqueue)]
226+
AS_IF([test -f $srcdir/libkqueue/configure.ac],
227+
[AC_DEFINE(BUILD_OWN_KQUEUES, 1, [Define if building libkqueue from source])
228+
ac_configure_args="--disable-libkqueue-install $ac_configure_args"
229+
AC_CONFIG_SUBDIRS([libkqueue])
230+
build_own_kqueues=true],
231+
[build_own_kqueues=false
232+
AC_CHECK_HEADER(sys/event.h, [],
233+
[PKG_CHECK_MODULES(KQUEUE, libkqueue)]
234+
)
235+
]
231236
)
237+
AM_CONDITIONAL(BUILD_OWN_KQUEUES, $build_own_kqueues)
232238

233239
AC_CHECK_FUNCS([strlcpy getprogname], [],
234240
[PKG_CHECK_MODULES(BSD_OVERLAY, libbsd-overlay,[

libkqueue

Submodule libkqueue added at f4f39d6

src/Makefile.am

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -60,15 +60,20 @@ EXTRA_libdispatch_la_DEPENDENCIES=
6060
AM_CPPFLAGS=-I$(top_builddir) -I$(top_srcdir) -I$(top_srcdir)/private
6161

6262
DISPATCH_CFLAGS=-Wall $(VISIBILITY_FLAGS) $(OMIT_LEAF_FP_FLAGS) \
63-
$(MARCH_FLAGS) $(KQUEUE_CFLAGS) $(BSD_OVERLAY_CFLAGS)
63+
$(MARCH_FLAGS) $(BSD_OVERLAY_CFLAGS)
6464
if DISPATCH_ENABLE_ASSERTS
6565
DISPATCH_CFLAGS+=-DDISPATCH_DEBUG=1
6666
endif
67-
AM_CFLAGS= $(PTHREAD_WORKQUEUE_CFLAGS) $(DISPATCH_CFLAGS) $(CBLOCKS_FLAGS)
67+
AM_CFLAGS= $(KQUEUE_CFLAGS) $(PTHREAD_WORKQUEUE_CFLAGS) $(DISPATCH_CFLAGS) $(CBLOCKS_FLAGS)
6868
AM_OBJCFLAGS=$(DISPATCH_CFLAGS) $(CBLOCKS_FLAGS)
69-
AM_CXXFLAGS=$(PTHREAD_WORKQUEUE_CFLAGS) $(DISPATCH_CFLAGS) $(CXXBLOCKS_FLAGS)
69+
AM_CXXFLAGS=$(KQUEUE_CFLAGS) $(PTHREAD_WORKQUEUE_CFLAGS) $(DISPATCH_CFLAGS) $(CXXBLOCKS_FLAGS)
7070
AM_OBJCXXFLAGS=$(DISPATCH_CFLAGS) $(CXXBLOCKS_FLAGS)
7171

72+
if BUILD_OWN_KQUEUES
73+
KQUEUE_LIBS+=$(top_builddir)/libkqueue/libkqueue.la
74+
KQUEUE_CFLAGS+=-I$(top_srcdir)/libkqueue/include
75+
endif
76+
7277
if BUILD_OWN_PTHREAD_WORKQUEUES
7378
PTHREAD_WORKQUEUE_LIBS=$(top_builddir)/libpwq/libpthread_workqueue.la
7479
PTHREAD_WORKQUEUE_CFLAGS=-I$(top_srcdir)/libpwq/include

tests/Makefile.am

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -115,6 +115,11 @@ AM_OBJCFLAGS=$(DISPATCH_TESTS_CFLAGS) $(CBLOCKS_FLAGS)
115115
AM_CXXFLAGS=$(DISPATCH_TESTS_CFLAGS) $(CXXBLOCKS_FLAGS) $(BSD_OVERLAY_CFLAGS)
116116
AM_OBJCXXFLAGS=$(DISPATCH_TESTS_CFLAGS) $(CXXBLOCKS_FLAGS)
117117

118+
if BUILD_OWN_KQUEUES
119+
KQUEUE_LIBS+=$(top_builddir)/libkqueue/libkqueue.la
120+
KQUEUE_CFLAGS+=-I$(top_srcdir)/libkqueue/include
121+
endif
122+
118123
if !BUILD_OWN_PTHREAD_WORKQUEUES
119124
if HAVE_PTHREAD_WORKQUEUES
120125
PTHREAD_WORKQUEUE_LIBS=-lpthread_workqueue

0 commit comments

Comments
 (0)