mirror of
https://github.com/zeromq/libzmq.git
synced 2025-03-10 07:56:09 +00:00
added --with-pgm option, libpgm-1.2.14 build within 0mq build system
This commit is contained in:
parent
d81d341252
commit
5acef9fc96
@ -16,3 +16,6 @@ endif
|
|||||||
|
|
||||||
SUBDIRS = src $(DIR_P) $(DIR_R) $(DIR_J) $(DIR_PERF)
|
SUBDIRS = src $(DIR_P) $(DIR_R) $(DIR_J) $(DIR_PERF)
|
||||||
DIST_SUBDIRS = src python ruby java perf
|
DIST_SUBDIRS = src python ruby java perf
|
||||||
|
|
||||||
|
dist-hook:
|
||||||
|
-rm -rf $(distdir)/third-party/openpgm/$pgm_basename
|
||||||
|
119
configure.in
119
configure.in
@ -30,6 +30,18 @@ AC_PROG_AWK
|
|||||||
AC_CHECK_LIB(pthread, pthread_create)
|
AC_CHECK_LIB(pthread, pthread_create)
|
||||||
AC_CHECK_LIB(stdc++, malloc)
|
AC_CHECK_LIB(stdc++, malloc)
|
||||||
|
|
||||||
|
# Extra CXXFLAGS are appended at the end of CXXFLAGS for libzmq.
|
||||||
|
LIBZMQ_EXTRA_CXXFLAGS=""
|
||||||
|
|
||||||
|
# Extra LDFLAGS are appended at the end of LDFLAGS for libzmq.
|
||||||
|
LIBZMQ_EXTRA_LDFLAFS=""
|
||||||
|
|
||||||
|
# By default compiling with -pedantic except QNX and OSX.
|
||||||
|
pedantic="yes"
|
||||||
|
|
||||||
|
#By default compiling with -Werror except OSX.
|
||||||
|
werror="yes"
|
||||||
|
|
||||||
# Host speciffic checks
|
# Host speciffic checks
|
||||||
AC_CANONICAL_HOST
|
AC_CANONICAL_HOST
|
||||||
|
|
||||||
@ -70,9 +82,11 @@ case "${host_os}" in
|
|||||||
LIBS="-pthread"
|
LIBS="-pthread"
|
||||||
;;
|
;;
|
||||||
*darwin*)
|
*darwin*)
|
||||||
|
pedantic="no"
|
||||||
|
werror="no"
|
||||||
AC_DEFINE(ZMQ_HAVE_OSX, 1, [Have DarwinOSX OS])
|
AC_DEFINE(ZMQ_HAVE_OSX, 1, [Have DarwinOSX OS])
|
||||||
LIBS="-pthread"
|
LIBS="-pthread"
|
||||||
ZMQ_EXTRA_CXXFLAGS+="-Wno-uninitialized"
|
LIBZMQ_EXTRA_CXXFLAGS+="-Wno-uninitialized"
|
||||||
;;
|
;;
|
||||||
*openbsd*)
|
*openbsd*)
|
||||||
AC_DEFINE(ZMQ_HAVE_OPENBSD, 1, [Have OpenBSD OS])
|
AC_DEFINE(ZMQ_HAVE_OPENBSD, 1, [Have OpenBSD OS])
|
||||||
@ -80,6 +94,7 @@ case "${host_os}" in
|
|||||||
LIBS="-pthread"
|
LIBS="-pthread"
|
||||||
;;
|
;;
|
||||||
*nto-qnx*)
|
*nto-qnx*)
|
||||||
|
pedantic="no"
|
||||||
AC_DEFINE(ZMQ_HAVE_QNXNTO, 1, [Have QNX Neutrino OS])
|
AC_DEFINE(ZMQ_HAVE_QNXNTO, 1, [Have QNX Neutrino OS])
|
||||||
CPPFLAGS="-D_THREAD_SAFE $CPPFLAGS"
|
CPPFLAGS="-D_THREAD_SAFE $CPPFLAGS"
|
||||||
AC_CHECK_LIB(socket,main)
|
AC_CHECK_LIB(socket,main)
|
||||||
@ -102,18 +117,28 @@ case "${host_os}" in
|
|||||||
chmod 755 libtool
|
chmod 755 libtool
|
||||||
;;
|
;;
|
||||||
*mingw32*)
|
*mingw32*)
|
||||||
|
pedantic="no"
|
||||||
AC_DEFINE(ZMQ_HAVE_WINDOWS, 1, [Have Windows OS])
|
AC_DEFINE(ZMQ_HAVE_WINDOWS, 1, [Have Windows OS])
|
||||||
AC_DEFINE(ZMQ_HAVE_MINGW32, 1, [Have MinGW32])
|
AC_DEFINE(ZMQ_HAVE_MINGW32, 1, [Have MinGW32])
|
||||||
AC_CHECK_HEADERS(windows.h)
|
AC_CHECK_HEADERS(windows.h)
|
||||||
LIBS="-lwsock32 -lws2_32 -no-undefined"
|
LIBS="-lwsock32 -lws2_32 -no-undefined"
|
||||||
CFLAGS="-std=c99"
|
CFLAGS="-std=c99"
|
||||||
install_man="no"
|
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
AC_MSG_ERROR([Not supported os: $host.])
|
AC_MSG_ERROR([Not supported os: $host.])
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
|
# If not on QNX nor OSX add -pedantic into LIBZMQ_EXTRA_CXXFLAGS.
|
||||||
|
if test "x$pedantic" = "xyes"; then
|
||||||
|
LIBZMQ_EXTRA_CXXFLAGS="${LIBZMQ_EXTRA_CXXFLAGS} -pedantic"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# If not on QNX nor --with-pgm add -Werror into LIBZMQ_EXTRA_CXXFLAGS.
|
||||||
|
if test "x$werror" = "xyes" -a "x$pgm_ext" = "xno"; then
|
||||||
|
LIBZMQ_EXTRA_CXXFLAGS="${LIBZMQ_EXTRA_CXXFLAGS} -Werror"
|
||||||
|
fi
|
||||||
|
|
||||||
# Check if we are running at sparc harware
|
# Check if we are running at sparc harware
|
||||||
AC_MSG_CHECKING([wheter __sparc__ is defined])
|
AC_MSG_CHECKING([wheter __sparc__ is defined])
|
||||||
AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
|
AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
|
||||||
@ -337,6 +362,85 @@ else
|
|||||||
JAR=true
|
JAR=true
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# PGM extension
|
||||||
|
pgm_ext="no"
|
||||||
|
pgm_name=""
|
||||||
|
pgm_basename="libpgm-1.2.14"
|
||||||
|
AC_SUBST(pgm_basename)
|
||||||
|
AC_ARG_WITH([pgm], [AS_HELP_STRING([--with-pgm],
|
||||||
|
[build libzmq with PGM extension [default=no]])],
|
||||||
|
[with_pgm_ext=yes], [with_pgm_ext=no])
|
||||||
|
if test "x$with_pgm_ext" != "xno"; then
|
||||||
|
|
||||||
|
# Test if we have pkg-config
|
||||||
|
if test "x$have_pkg_config" != "xyes"; then
|
||||||
|
AC_MSG_ERROR([To run configure with --with-pgm option, pkg-config has to be installed.]);
|
||||||
|
fi
|
||||||
|
|
||||||
|
case "${host_os}" in
|
||||||
|
*linux*)
|
||||||
|
LIBZMQ_EXTRA_CXXFLAGS="${LIBZMQ_EXTRA_CXXFLAGS} -Wno-variadic-macros -Wno-long-long "
|
||||||
|
;;
|
||||||
|
*solaris*)
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
AC_MSG_ERROR([PGM extesion is not supported on this platform $host.])
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
AC_CHECK_PROG(have_tar, tar, yes, no)
|
||||||
|
if test "x$have_tar" != "xyes"; then
|
||||||
|
AC_MSG_ERROR([Could not find tar.])
|
||||||
|
fi
|
||||||
|
|
||||||
|
AC_CHECK_PROG(have_bunzip2, bunzip2, yes, no)
|
||||||
|
if test "x$have_bunzip2" != "xyes"; then
|
||||||
|
AC_MSG_ERROR([Could not find bunzip2.])
|
||||||
|
fi
|
||||||
|
|
||||||
|
AC_CHECK_PROG(have_perl, perl, yes, no)
|
||||||
|
if test "x$have_perl" != "xyes"; then
|
||||||
|
AC_MSG_ERROR([Could not find perl.])
|
||||||
|
fi
|
||||||
|
|
||||||
|
if test "x$pyzmq" != "xyes"; then
|
||||||
|
AC_CHECK_PROG(have_python, python, yes, no)
|
||||||
|
if test "x$have_python" != "xyes"; then
|
||||||
|
AC_MSG_ERROR([Could not find python.])
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Unpack libpgm-1.0.0rc8.tar.bz2
|
||||||
|
AC_MSG_CHECKING([Unpacking ${pgm_basename}.tar.bz2])
|
||||||
|
|
||||||
|
if tar -xjf foreign/openpgm/${pgm_basename}.tar.bz2 -C foreign/openpgm/; then
|
||||||
|
AC_MSG_RESULT([yes])
|
||||||
|
else
|
||||||
|
AC_MSG_ERROR([Could not unpack foreign/openpgm/${pgm_basename}.tar.bz2 file])
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Generate galois_tables.c
|
||||||
|
AC_CONFIG_COMMANDS([galois_tables.c],
|
||||||
|
[perl foreign/openpgm/libpgm-1.2.14/openpgm/pgm/galois_generator.pl > \
|
||||||
|
foreign/openpgm/libpgm-1.2.14/openpgm/pgm/galois_tables.c])
|
||||||
|
|
||||||
|
# Generate version.c
|
||||||
|
AC_CONFIG_COMMANDS([version.c],
|
||||||
|
[python foreign/openpgm/libpgm-1.2.14/openpgm/pgm/version_generator.py > \
|
||||||
|
foreign/openpgm/libpgm-1.2.14/openpgm/pgm/version.c])
|
||||||
|
|
||||||
|
# Check for OpenPGM nedded libraries.
|
||||||
|
PKG_CHECK_MODULES([GLIB], [glib-2.0 gthread-2.0])
|
||||||
|
|
||||||
|
LIBZMQ_EXTRA_CXXFLAGS="${LIBZMQ_EXTRA_CXXFLAGS} ${GLIB_CFLAGS} "
|
||||||
|
|
||||||
|
LIBZMQ_EXTRA_LDFLAFS="${LIBZMQ_EXTRA_LDFLAFS} ${GLIB_LIBS}"
|
||||||
|
|
||||||
|
AC_DEFINE(ZMQ_HAVE_OPENPGM, 1, [Have OpenPGM extension.])
|
||||||
|
pgm_name="$pgm_basename"
|
||||||
|
pgm_ext="yes"
|
||||||
|
fi
|
||||||
|
|
||||||
# Perf
|
# Perf
|
||||||
perf="no"
|
perf="no"
|
||||||
AC_ARG_WITH([perf], [AS_HELP_STRING([--with-perf],
|
AC_ARG_WITH([perf], [AS_HELP_STRING([--with-perf],
|
||||||
@ -357,13 +461,15 @@ AM_CONDITIONAL(BUILD_PYTHON, test "x$pyzmq" = "xyes")
|
|||||||
AM_CONDITIONAL(BUILD_RUBY, test "x$rbzmq" = "xyes")
|
AM_CONDITIONAL(BUILD_RUBY, test "x$rbzmq" = "xyes")
|
||||||
AM_CONDITIONAL(BUILD_C, test "x$czmq" = "xyes")
|
AM_CONDITIONAL(BUILD_C, test "x$czmq" = "xyes")
|
||||||
AM_CONDITIONAL(BUILD_CPP, test "x$cppzmq" = "xyes")
|
AM_CONDITIONAL(BUILD_CPP, test "x$cppzmq" = "xyes")
|
||||||
|
AM_CONDITIONAL(BUILD_PGM, test "x$pgm_ext" = "xyes")
|
||||||
AM_CONDITIONAL(BUILD_PERF, test "x$perf" = "xyes")
|
AM_CONDITIONAL(BUILD_PERF, test "x$perf" = "xyes")
|
||||||
|
|
||||||
AC_SUBST(stdint)
|
AC_SUBST(stdint)
|
||||||
AC_SUBST(inttypes)
|
AC_SUBST(inttypes)
|
||||||
|
|
||||||
# Subst ZMQ_EXTRA_CXXFLAGS
|
# Subst LIBZMQ_EXTRA_CXXFLAGS & LDFLAGS
|
||||||
AC_SUBST(ZMQ_EXTRA_CXXFLAGS)
|
AC_SUBST(LIBZMQ_EXTRA_CXXFLAGS)
|
||||||
|
AC_SUBST(LIBZMQ_EXTRA_LDFLAFS)
|
||||||
|
|
||||||
|
|
||||||
# Checks for library functions.
|
# Checks for library functions.
|
||||||
@ -394,6 +500,11 @@ if test "x$rbzmq" = "xyes"; then
|
|||||||
AC_MSG_RESULT([ Ruby library install dir: $rubydir])
|
AC_MSG_RESULT([ Ruby library install dir: $rubydir])
|
||||||
fi
|
fi
|
||||||
AC_MSG_RESULT([ Java language binding: $jzmq])
|
AC_MSG_RESULT([ Java language binding: $jzmq])
|
||||||
|
if test "x$pgm_ext" = "xyes"; then
|
||||||
|
AC_MSG_RESULT([ PGM extension: $pgm_ext ($pgm_name)])
|
||||||
|
else
|
||||||
|
AC_MSG_RESULT([ PGM extension: $pgm_ext])
|
||||||
|
fi
|
||||||
AC_MSG_RESULT([ performance tests: $perf])
|
AC_MSG_RESULT([ performance tests: $perf])
|
||||||
AC_MSG_RESULT([])
|
AC_MSG_RESULT([])
|
||||||
|
|
||||||
|
BIN
foreign/openpgm/libpgm-1.2.14.tar.bz2
Normal file
BIN
foreign/openpgm/libpgm-1.2.14.tar.bz2
Normal file
Binary file not shown.
@ -15,7 +15,24 @@ include_HEADERS = ../c/zmq.h
|
|||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
|
|
||||||
libzmq_la_SOURCES = \
|
if BUILD_PGM
|
||||||
|
pgm_sources = ../foreign/openpgm/@pgm_basename@/openpgm/pgm/packet.c \
|
||||||
|
../foreign/openpgm/@pgm_basename@/openpgm/pgm/timer.c \
|
||||||
|
../foreign/openpgm/@pgm_basename@/openpgm/pgm/if.c \
|
||||||
|
../foreign/openpgm/@pgm_basename@/openpgm/pgm/gsi.c \
|
||||||
|
../foreign/openpgm/@pgm_basename@/openpgm/pgm/signal.c \
|
||||||
|
../foreign/openpgm/@pgm_basename@/openpgm/pgm/txwi.c \
|
||||||
|
../foreign/openpgm/@pgm_basename@/openpgm/pgm/rxwi.c \
|
||||||
|
../foreign/openpgm/@pgm_basename@/openpgm/pgm/transport.c \
|
||||||
|
../foreign/openpgm/@pgm_basename@/openpgm/pgm/rate_control.c \
|
||||||
|
../foreign/openpgm/@pgm_basename@/openpgm/pgm/async.c \
|
||||||
|
../foreign/openpgm/@pgm_basename@/openpgm/pgm/checksum.c \
|
||||||
|
../foreign/openpgm/@pgm_basename@/openpgm/pgm/reed_solomon.c \
|
||||||
|
../foreign/openpgm/@pgm_basename@/openpgm/pgm/version.c \
|
||||||
|
../foreign/openpgm/@pgm_basename@/openpgm/pgm/galois_tables.c
|
||||||
|
endif
|
||||||
|
|
||||||
|
libzmq_la_SOURCES = $(pgm_sources) \
|
||||||
app_thread.hpp \
|
app_thread.hpp \
|
||||||
atomic_bitmap.hpp \
|
atomic_bitmap.hpp \
|
||||||
atomic_counter.hpp \
|
atomic_counter.hpp \
|
||||||
@ -104,7 +121,50 @@ libzmq_la_SOURCES = \
|
|||||||
zmq_listener_init.cpp
|
zmq_listener_init.cpp
|
||||||
|
|
||||||
libzmq_la_LDFLAGS = -version-info @LTVER@
|
libzmq_la_LDFLAGS = -version-info @LTVER@
|
||||||
libzmq_la_CXXFLAGS = -Wall -pedantic -Werror @ZMQ_EXTRA_CXXFLAGS@
|
|
||||||
|
if BUILD_PGM
|
||||||
|
libzmq_la_CXXFLAGS = -I$(top_srcdir)/foreign/openpgm/@pgm_basename@/openpgm/pgm/include/ -Wall @LIBZMQ_EXTRA_CXXFLAGS@
|
||||||
|
libzmq_la_CFLAGS = -I$(top_srcdir)/foreign/openpgm/@pgm_basename@/openpgm/pgm/include/ @LIBZMQ_EXTRA_CXXFLAGS@ \
|
||||||
|
-pipe \
|
||||||
|
-Wall \
|
||||||
|
-Wextra \
|
||||||
|
-Wfloat-equal \
|
||||||
|
-Wshadow \
|
||||||
|
-Wunsafe-loop-optimizations \
|
||||||
|
-Wpointer-arith \
|
||||||
|
-Wbad-function-cast \
|
||||||
|
-Wcast-qual \
|
||||||
|
-Wcast-align \
|
||||||
|
-Wwrite-strings \
|
||||||
|
-Waggregate-return \
|
||||||
|
-Wstrict-prototypes \
|
||||||
|
-Wold-style-definition \
|
||||||
|
-Wmissing-prototypes \
|
||||||
|
-Wmissing-declarations \
|
||||||
|
-Wmissing-noreturn \
|
||||||
|
-Wmissing-format-attribute \
|
||||||
|
-Wredundant-decls \
|
||||||
|
-Wnested-externs \
|
||||||
|
-Winline \
|
||||||
|
-pedantic \
|
||||||
|
-std=gnu99 \
|
||||||
|
--param max-inline-insns-single=600 \
|
||||||
|
-D_REENTRANT \
|
||||||
|
-D_GNU_SOURCE \
|
||||||
|
-D__need_IOV_MAX \
|
||||||
|
-DCONFIG_HAVE_EPOLL \
|
||||||
|
-DCONFIG_HAVE_RTC \
|
||||||
|
-DCONFIG_HAVE_TSC \
|
||||||
|
-DCONFIG_HAVE_IFR_NETMASK \
|
||||||
|
-DCONFIG_HAVE_GETIFADDRS \
|
||||||
|
-DCONFIG_HAVE_GETHOSTBYNAME2 \
|
||||||
|
-DCONFIG_HAVE_GETPROTOBYNAME_R \
|
||||||
|
-DCONFIG_HAVE_SIGHANDLER_T \
|
||||||
|
-DCONFIG_BIND_INADDR_ANY \
|
||||||
|
-DCONFIG_GALOIS_MUL_LUT
|
||||||
|
else
|
||||||
|
libzmq_la_CXXFLAGS = -Wall @LIBZMQ_EXTRA_CXXFLAGS@
|
||||||
|
endif
|
||||||
|
|
||||||
dist-hook:
|
dist-hook:
|
||||||
-rm $(distdir)/src/platform.hpp
|
-rm $(distdir)/src/platform.hpp
|
||||||
|
@ -172,6 +172,9 @@
|
|||||||
/* Have OpenBSD OS */
|
/* Have OpenBSD OS */
|
||||||
#undef ZMQ_HAVE_OPENBSD
|
#undef ZMQ_HAVE_OPENBSD
|
||||||
|
|
||||||
|
/* Have OpenPGM extension. */
|
||||||
|
#undef ZMQ_HAVE_OPENPGM
|
||||||
|
|
||||||
/* Have DarwinOSX OS */
|
/* Have DarwinOSX OS */
|
||||||
#undef ZMQ_HAVE_OSX
|
#undef ZMQ_HAVE_OSX
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user