--- bopm-3.1.3/configure.ac +++ bopm-3.1.3/configure.ac @@ -1,5 +1,6 @@ dnl Process this file with autoconf to produce a configure script. AC_INIT(bopm, [3.1.3]) +AC_CONFIG_MACRO_DIR([src/libopm/m4]) AC_CONFIG_SRCDIR(src/opercmd.h) AM_CONFIG_HEADER(src/setup.h) AM_INIT_AUTOMAKE() --- bopm-3.1.3/Makefile.am +++ bopm-3.1.3/Makefile.am @@ -2,22 +2,9 @@ SUBDIRS = src -data_DATA = bopm.conf.sample bopm.conf.blitzed +dist_doc_DATA = bopm.conf.sample bopm.conf.blitzed -EXTRA_DIST = ChangeLog contrib INSTALL README bopm.conf.sample bopm.conf.blitzed network-bopm +EXTRA_DIST = ChangeLog contrib INSTALL README network-bopm -install-data-local: - @if test -f $(sysconfdir)/bopm.conf ; then \ - echo "$@ will not overwrite existing $(sysconfdir)/bopm.conf"; \ - else \ - $(mkinstalldirs) $(sysconfdir); \ - echo "$(INSTALL_DATA) bopm.conf.sample $(sysconfdir)/bopm.conf"; \ - $(INSTALL_DATA) bopm.conf.sample $(sysconfdir)/bopm.conf; \ - fi - $(mkinstalldirs) $(localstatedir) +dist_sysconf_DATA = bopm.conf -uninstall-local: - @if test -f $(sysconfdir)/bopm.conf ; then \ - echo "rm -f $(sysconfdir)/bopm.conf"; \ - $(RM) -f $(sysconfdir)/bopm.conf; \ - fi --- bopm-3.1.3/src/libopm/configure.ac +++ bopm-3.1.3/src/libopm/configure.ac @@ -1,5 +1,6 @@ dnl Process this file with autoconf to produce a configure script. AC_INIT(libopm, [0.1]) +AC_CONFIG_MACRO_DIR([m4]) AC_CONFIG_SRCDIR(src/libopm.h) AM_CONFIG_HEADER(src/setup.h) AM_INIT_AUTOMAKE() --- bopm-3.1.3/src/libopm/m4/ax_func_snprintf.m4 +++ bopm-3.1.3/src/libopm/m4/ax_func_snprintf.m4 @@ -0,0 +1,85 @@ +# =========================================================================== +# http://www.gnu.org/software/autoconf-archive/ax_func_snprintf.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_FUNC_SNPRINTF +# +# DESCRIPTION +# +# Checks for a fully C99 compliant snprintf, in particular checks whether +# it does bounds checking and returns the correct string length; does the +# same check for vsnprintf. If no working snprintf or vsnprintf is found, +# request a replacement and warn the user about it. Note: the mentioned +# replacement is freely available and may be used in any project +# regardless of it's license. +# +# LICENSE +# +# Copyright (c) 2008 Ruediger Kuhlmann +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 5 + +AU_ALIAS([AC_FUNC_SNPRINTF], [AX_FUNC_SNPRINTF]) +AC_DEFUN([AX_FUNC_SNPRINTF], +[AC_CHECK_FUNCS(snprintf vsnprintf) +AC_MSG_CHECKING(for working snprintf) +AC_CACHE_VAL(ac_cv_have_working_snprintf, +[AC_TRY_RUN( +[#include + +int main(void) +{ + char bufs[5] = { 'x', 'x', 'x', '\0', '\0' }; + char bufd[5] = { 'x', 'x', 'x', '\0', '\0' }; + int i; + i = snprintf (bufs, 2, "%s", "111"); + if (strcmp (bufs, "1")) exit (1); + if (i != 3) exit (1); + i = snprintf (bufd, 2, "%d", 111); + if (strcmp (bufd, "1")) exit (1); + if (i != 3) exit (1); + exit(0); +}], ac_cv_have_working_snprintf=yes, ac_cv_have_working_snprintf=no, ac_cv_have_working_snprintf=cross)]) +AC_MSG_RESULT([$ac_cv_have_working_snprintf]) +AC_MSG_CHECKING(for working vsnprintf) +AC_CACHE_VAL(ac_cv_have_working_vsnprintf, +[AC_TRY_RUN( +[#include +#include + +int my_vsnprintf (char *buf, const char *tmpl, ...) +{ + int i; + va_list args; + va_start (args, tmpl); + i = vsnprintf (buf, 2, tmpl, args); + va_end (args); + return i; +} + +int main(void) +{ + char bufs[5] = { 'x', 'x', 'x', '\0', '\0' }; + char bufd[5] = { 'x', 'x', 'x', '\0', '\0' }; + int i; + i = my_vsnprintf (bufs, "%s", "111"); + if (strcmp (bufs, "1")) exit (1); + if (i != 3) exit (1); + i = my_vsnprintf (bufd, "%d", 111); + if (strcmp (bufd, "1")) exit (1); + if (i != 3) exit (1); + exit(0); +}], ac_cv_have_working_vsnprintf=yes, ac_cv_have_working_vsnprintf=no, ac_cv_have_working_vsnprintf=cross)]) +AC_MSG_RESULT([$ac_cv_have_working_vsnprintf]) +if test x$ac_cv_have_working_snprintf$ac_cv_have_working_vsnprintf != "xyesyes"; then + AC_LIBOBJ(snprintf) + AC_MSG_WARN([Replacing missing/broken (v)snprintf() with version from http://www.ijs.si/software/snprintf/.]) + AC_DEFINE(PREFER_PORTABLE_SNPRINTF, 1, "enable replacement (v)snprintf if system (v)snprintf is broken") +fi]) --- bopm-3.1.3/src/libopm/m4/etr_socket_nsl.m4 +++ bopm-3.1.3/src/libopm/m4/etr_socket_nsl.m4 @@ -0,0 +1,81 @@ +dnl @synopsis ETR_SOCKET_NSL +dnl +dnl @obsoleted Use LIB_SOCKET_NSL instead. +dnl +dnl This macro figures out what libraries are required on this platform +dnl to link sockets programs. It's usually -lsocket and/or -lnsl or +dnl neither. We test for all three combinations. +dnl +dnl @category Obsolete +dnl @author Warren Young +dnl @version 2005-09-02 +dnl @license AllPermissive + +AC_DEFUN([ETR_SOCKET_NSL], +[ +AC_CACHE_CHECK(for libraries containing socket functions, +ac_cv_socket_libs, [ + oCFLAGS=$CFLAGS + + AC_TRY_LINK([ + #include + #include + #include + #include + ], + [ + struct in_addr add; + int sd = socket(AF_INET, SOCK_STREAM, 0); + inet_ntoa(add); + ], + ac_cv_socket_libs=-lc, ac_cv_socket_libs=no) + + if test x"$ac_cv_socket_libs" = "xno" + then + CFLAGS="$oCFLAGS -lsocket" + AC_TRY_LINK([ + #include + #include + #include + #include + ], + [ + struct in_addr add; + int sd = socket(AF_INET, SOCK_STREAM, 0); + inet_ntoa(add); + ], + ac_cv_socket_libs=-lsocket, ac_cv_socket_libs=no) + fi + + if test x"$ac_cv_socket_libs" = "xno" + then + CFLAGS="$oCFLAGS -lsocket -lnsl" + AC_TRY_LINK([ + #include + #include + #include + #include + ], + [ + struct in_addr add; + int sd = socket(AF_INET, SOCK_STREAM, 0); + inet_ntoa(add); + ], + ac_cv_socket_libs="-lsocket -lnsl", ac_cv_socket_libs=no) + fi + + CFLAGS=$oCFLAGS +]) + + if test x"$ac_cv_socket_libs" = "xno" + then + AC_MSG_ERROR([Cannot find socket libraries]) + elif test x"$ac_cv_socket_libs" = "x-lc" + then + ETR_SOCKET_LIBS="" + else + ETR_SOCKET_LIBS="$ac_cv_socket_libs" + fi + + AC_SUBST(ETR_SOCKET_LIBS) +]) dnl ETR_SOCKET_NSL