Commit 0024d290 authored by Martin Lucina's avatar Martin Lucina

Build fixes for cross compiling and Win32

parent 34964769
......@@ -260,8 +260,15 @@ AC_CHECK_HEADERS(ifaddrs.h, [AC_DEFINE(ZMQ_HAVE_IFADDRS, 1, [Have ifaddrs.h head
# Use c++ in subsequent tests
AC_LANG(C++)
# Optional stuff
AC_CHECK_PROG(have_pkg_config, pkg-config, yes, no)
# pkg-config is used if found, and is required for builds with OpenPGM.
# However, we need to provide a way to disable it entirely when the user
# knows what she's doing and it's use is undesirable, such as when
# cross-compiling.
AC_ARG_WITH([pkg-config], [AS_HELP_STRING([--without-pkg-config],
[do not use pkg-config [default=no]])])
if test "x$with_pkg_config" != "xno"; then
AC_CHECK_PROG(have_pkg_config, pkg-config, yes, no)
fi
# Checks for typedefs, structures, and compiler characteristics.
AC_HEADER_STDBOOL
......@@ -328,15 +335,17 @@ if test "x$with_pgm_ext" != "xno"; then
AC_MSG_RESULT([yes])
# Test if we have pkg-config
if test "x$have_pkg_config" != "xyes"; then
AC_MSG_ERROR([the --with-pgm option requires that pkg-config be installed.]);
if test "x$with_pkg_config" != "xno"; then
if test "x$have_pkg_config" != "xyes"; then
AC_MSG_ERROR([the --with-pgm option requires that pkg-config be installed.]);
fi
# Check for OpenPGM dependencies
PKG_CHECK_MODULES([GLIB], [glib-2.0 gthread-2.0])
LIBZMQ_EXTRA_CXXFLAGS="${LIBZMQ_EXTRA_CXXFLAGS} ${GLIB_CFLAGS} "
LIBZMQ_EXTRA_LDFLAGS="${LIBZMQ_EXTRA_LDFLAGS} ${GLIB_LIBS} "
fi
# Check for OpenPGM dependencies
PKG_CHECK_MODULES([GLIB], [glib-2.0 gthread-2.0])
LIBZMQ_EXTRA_CXXFLAGS="${LIBZMQ_EXTRA_CXXFLAGS} ${GLIB_CFLAGS} "
LIBZMQ_EXTRA_LDFLAGS="${LIBZMQ_EXTRA_LDFLAGS} ${GLIB_LIBS} "
# Gzip, Perl and Python are required duing PGM build
AC_CHECK_PROG(have_gzip, gzip, yes, no)
if test "x$have_gzip" != "xyes"; then
......
......@@ -94,7 +94,7 @@
//#include <crtdbg.h>
//#endif
#define WIN32_LEAN_AND_MEAN
#include <Windows.h> // to have IsTextUnicode, MultiByteToWideChar, WideCharToMultiByte to handle unicode files
#include <windows.h> // to have IsTextUnicode, MultiByteToWideChar, WideCharToMultiByte to handle unicode files
// to have "MessageBoxA" to display error messages for openFilHelper
#endif
......
......@@ -30,13 +30,15 @@ extern "C" {
#include "winsock2.h"
#endif
/* Microsoft Visual Studio uses non-standard way to export/import symbols. */
#if defined ZMQ_BUILDING_LIBZMQ_WITH_MSVC
#define ZMQ_EXPORT __declspec(dllexport)
#elif defined _MSC_VER
#define ZMQ_EXPORT __declspec(dllimport)
/* Win32 needs special handling for DLL exports */
#if defined _WIN32
# if defined DLL_EXPORT
# define ZMQ_EXPORT __declspec(dllexport)
# else
# define ZMQ_EXPORT __declspec(dllimport)
# endif
#else
#define ZMQ_EXPORT
# define ZMQ_EXPORT
#endif
/******************************************************************************/
......
......@@ -176,7 +176,7 @@ libzmq_la_SOURCES = app_thread.hpp \
zmq_listener.cpp
if ON_MINGW
libzmq_la_LDFLAGS = -no-undefined -version-info @LTVER@ @LIBZMQ_EXTRA_LDFLAGS@
libzmq_la_LDFLAGS = -no-undefined -avoid-version -version-info @LTVER@ @LIBZMQ_EXTRA_LDFLAGS@
else
libzmq_la_LDFLAGS = -version-info @LTVER@ @LIBZMQ_EXTRA_LDFLAGS@
endif
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment