prefix = @prefix@
datarootdir = @datarootdir@
+exec_prefix = @exec_prefix@
+datadir = @datadir@
docdir = @docdir@
mandir = @mandir@
+bindir = @bindir@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_VERSION = @PACKAGE_VERSION@
-
override PYTHON = @PYTHON@
override PG_CONFIG = @PG_CONFIG@
ASCIIDOC = @ASCIIDOC@
XMLTO = @XMLTO@
+CC = @CC@
+CPPFLAGS = @CPPFLAGS@
+CFLAGS = @CFLAGS@
+LDFLAGS = @LDFLAGS@
+LIBS = @LIBS@
+
+INSTALL = @INSTALL@
+BININSTALL = @BININSTALL@
+
+
XMLTO="no"
fi
+AC_PROG_CC
+AC_PROG_CPP
+
+# autoconf does not want to find 'install', if not using automake...
+INSTALL=install
+
+dnl Check if linker supports -Wl,--as-needed
+dnl That helps to get rid of unnecessary -lrt
+if test "$GCC" = "yes"; then
+ old_LDFLAGS="$LDFLAGS"
+ LDFLAGS="$LDFLAGS -Wl,--as-needed"
+ AC_MSG_CHECKING([whether linker supports --as-needed])
+ AC_LINK_IFELSE([int main(void) { return 0; }],
+ [AC_MSG_RESULT([yes])],
+ [AC_MSG_RESULT([no])
+ LDFLAGS="$old_LDFLAGS"])
+fi
+
+dnl debault to debugging on
+AC_ARG_ENABLE(debug,
+ AC_HELP_STRING([--disable-debug],[strip binary]),
+ [], [enable_debug=yes])
+AC_MSG_CHECKING([whether to build debug binary])
+AC_MSG_RESULT([$enable_debug])
+if test "$enable_debug" = "yes"; then
+ LDFLAGS="-g $LDFLAGS"
+ BININSTALL="$INSTALL"
+else
+ BININSTALL="$INSTALL -s"
+fi
+AC_SUBST(enable_debug)
+AC_SUBST(INSTALL)
+AC_SUBST(BININSTALL)
+
+
dnl Postres headers on Solaris define incompat unsetenv without that
AC_CHECK_FUNCS(unsetenv)
include ../config.mak
-SUBDIRS = londiste pgq pgq_coop pgq_ext pgq_node txid
+SUBDIRS = londiste pgq pgq_coop pgq_ext pgq_node ticker txid
all install clean distclean installcheck:
for dir in $(SUBDIRS); do \
SRCS = connection.c pgqd.c maint.c ticker.c retry.c
HDRS = connection.h pgqd.h $(USUAL_HDRS)
+PG_INCDIR = $(shell $(PG_CONFIG) --includedir)
+PG_LIBDIR = $(shell $(PG_CONFIG) --libdir)
+PG_CPPFLAGS = -I$(PG_INCDIR)
+PG_LDFLAGS = -L$(PG_LIBDIR)
+PG_LIBS = -lpq -lm
+
OBJS = $(SRCS:.c=.o) $(USUAL_OBJS)
-PG_CPPFLAGS = -I$(libpq_srcdir) $(USUAL_CPPFLAGS)
-PG_LIBS = $(libpq_pgport)
-include $(PGXS)
+CPPFLAGS += $(USUAL_CPPFLAGS) $(PG_CPPFLAGS)
+LDFLAGS += $(PG_LDFLAGS)
+LIBS += $(PG_LIBS)
+
+all: $(PROGRAM)
-LIBS := $(filter-out -lreadline -ldl -lz, $(LIBS))
+$(PROGRAM): $(OBJS)
+ $(CC) -o $@ $(OBJS) $(LDFLAGS) $(LIBS)
$(OBJS): $(HDRS)
%.o: $(USUAL_DIR)/usual/%.c $(USUAL_HDRS)
- $(CC) -c -o $@ $< $(DEFS) $(CPPFLAGS) $(CFLAGS)
+ $(CC) $(CFLAGS) $(CPPFLAGS) $(DEFS) -c -o $@ $<
+
+install: all
+ mkdir -p '$(DESTDIR)$(bindir)'
+ $(BININSTALL) -m 755 pgqd$(X) '$(DESTDIR)$(bindir)/pgqd'
+ mkdir -p '$(DESTDIR)$(docdir)/conf'
+ $(INSTALL) -m 644 pgqd.ini '$(DESTDIR)$(docdir)/conf/pgqd.ini.templ'
+
+clean:
+ rm -f $(PROGRAM) $(OBJS)
+
+distclean: clean
+installcheck: