Commit Diff


commit - 3bc95011b774dfac4a075069efd9931d2e219a12
commit + 45fcf992e98c19d8aa61420fc475aac9ef50e157
blob - e322261728a8860b017eeed28fe9893fbe4abf7f
blob + 7371569608ee7956f2692a05bd7d4bea1b0b1da4
--- Makefile.am
+++ Makefile.am
@@ -1,4 +1,4 @@
-SUBDIRS = contrib kamictl kamid kamiftp kamirepl ninepscript regress
+SUBDIRS = compat contrib kamictl kamid kamiftp kamirepl ninepscript regress
 
 AM_CPPFLAGS += -DKAMID_VERSION='"@VERSION"' \
 	-I$(top_srcdir)/lib \
blob - /dev/null
blob + 29486e076aa2e93357023cfcd6ed82db1c8a7fac (mode 644)
--- /dev/null
+++ compat/Makefile.am
@@ -0,0 +1,17 @@
+noinst_LIBRARIES = libopenbsd-compat.a
+
+AM_CPPFLAGS +=	-DKAMID_VERSION='"@VERSION@"' \
+		-I$(top_srcdir)/compat \
+		-I$(top_srcdir)
+
+# LIBOBJS could be empty (especially if we're compiling on OpenBSD), so
+# add a dummy file just so we don't end up with an empty archive, if
+# that's even a thing.
+libopenbsd_compat_a_SOURCES = dummy.c
+libopenbsd_compat_a_LIBADD = $(LIBOBJS)
+
+EXTRA_DIST =	imsg.h	\
+		ohash.h	\
+		queue.h	\
+		tree.h	\
+		vis.h
blob - /dev/null
blob + e03b431831cced54c30c4c075cda653eb4c6b0ca (mode 644)
--- /dev/null
+++ compat/dummy.c
@@ -0,0 +1,9 @@
+/* public domain */
+
+int	dummy(void);
+
+int
+dummy(void)
+{
+	return 1;
+}
blob - 3d688aae00f6da973cceed94f118fd50b7350e01
blob + 48edbe53802a562bf7717bd147433e8f3991257e
--- configure.ac
+++ configure.ac
@@ -30,6 +30,7 @@ AC_PROG_CPP
 AC_PROG_INSTALL
 AC_PROG_LN_S
 AC_PROG_MAKE_SET
+AC_PROG_RANLIB
 AC_PROG_YACC
 PKG_PROG_PKG_CONFIG
 AC_USE_SYSTEM_EXTENSIONS
@@ -177,6 +178,7 @@ LDFLAGS="$SAVED_LDFLAGS"
 AC_CONFIG_HEADERS([config.h])
 AC_CONFIG_FILES([
 	Makefile
+	compat/Makefile
 	contrib/Makefile
 	kamictl/Makefile
 	kamid/Makefile
blob - b7cfef237561cdb5b07d268c20dcb9bd3955f048
blob + f34838cdd9438bc2a19215a9f0b9303d59d02fcf
--- kamictl/Makefile.am
+++ kamictl/Makefile.am
@@ -11,7 +11,8 @@ kamictl_SOURCES=ctl_parser.c			\
 
 dist_man8_MANS = kamictl.8
 
-LDADD =		$(LIBOBJS)
+kamictl_LDADD =	$(top_builddir)/compat/libopenbsd-compat.a
+kamictl_DEPENDENCIES = $(top_builddir)/compat/libopenbsd-compat.a
 
 AM_CPPFLAGS +=	-DKAMID_VERSION='"@VERSION@"'	\
 		-I$(top_srcdir)/		\
blob - 6b9e28a4379e080644600e95bfb50ad4f9ab2e89
blob + 350e5efce461be7c401a69bbc0b2142e4b8a88a4
--- kamid/Makefile.am
+++ kamid/Makefile.am
@@ -24,7 +24,8 @@ dist_man5_MANS = kamid.conf.5
 dist_man7_MANS = 9p.7
 dist_man8_MANS = kamid.8
 
-LDADD =		$(LIBOBJS)
+kamid_LDADD =	$(top_builddir)/compat/libopenbsd-compat.a
+kamid_DEPENDENCIES = $(top_builddir)/compat/libopenbsd-compat.a
 
 AM_CPPFLAGS +=	-DKAMID_VERSION='"@VERSION@"'	\
 		-I$(top_srcdir)/		\
blob - 15574941a9a5e6029517eec81b17ae371c43c52b
blob + 27a8d5b6fe8fb7ec4a46f14d23ab8b288f230dc2
--- kamiftp/Makefile.am
+++ kamiftp/Makefile.am
@@ -12,7 +12,8 @@ kamiftp_SOURCES=ftp.c				\
 dist_man1_MANS = kamiftp.1
 
 kamiftp_CFLAGS=	@READLINE_CFLAGS@
-kamiftp_LDADD=	@READLINE_LIBS@ $(LIBOBJS)
+kamiftp_LDADD=	@READLINE_LIBS@ $(top_builddir)/compat/libopenbsd-compat.a
+kamiftp_DEPENDENCIES = $(top_builddir)/compat/libopenbsd-compat.a
 
 AM_CPPFLAGS =	-DKAMID_VERSION='"@VERSION@"'	\
 		-I$(top_srcdir)/		\
blob - 4309b1370412b5b5f5f23a4d171d9b17d2abd31b
blob + 818c65b39980d803a760c17ef68e7a6650c44121
--- kamirepl/Makefile.am
+++ kamirepl/Makefile.am
@@ -11,7 +11,8 @@ kamirepl_SOURCES=kamirepl.c			\
 
 noinst_man1_MANS = kamirepl.1
 
-LDADD =		$(LIBOBJS)
+LDADD =		$(top_builddir)/compat/libopenbsd-compat.a
+kamirepl_DEPENDENCIES = $(top_builddir)/compat/libopenbsd-compat.a
 
 AM_CPPFLAGS +=	-DKAMID_VERSION='"@VERSION@"'	\
 		-I$(top_srcdir)/		\
blob - 6c43d226482274a9da7322c8449403dbb80873a1
blob + 72f4809c94718b3a5e9ff09f83affd784fa78c17
--- ninepscript/Makefile.am
+++ ninepscript/Makefile.am
@@ -17,7 +17,8 @@ ninepscript_SOURCES=parse.y			\
 noinst_man5_MANS = ninepscript.5
 noinst_man8_MANS = ninepscript.8
 
-LDADD =		$(LIBOBJS)
+LDADD =		$(top_builddir)/compat/libopenbsd-compat.a
+ninepscript_DEPENDENCIES = $(top_builddir)/compat/libopenbsd-compat.a
 
 AM_CPPFLAGS +=	-DKAMID_VERSION='"@VERSION@"'	\
 		-I$(top_srcdir)/		\