summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMartin Lucina <mato@kotelna.sk>2010-04-12 16:49:13 +0200
committerMartin Lucina <mato@kotelna.sk>2010-04-12 16:49:13 +0200
commit0024d290765f53428ff78eddc5a4bc675a13c6a7 (patch)
treeaf03ef61700fb8b232825ba68c10d8d4cf7a9154
parent34964769399825e45b3efd02e642af97355707ef (diff)
Build fixes for cross compiling and Win32
-rw-r--r--configure.in27
-rw-r--r--foreign/xmlParser/xmlParser.cpp2
-rw-r--r--include/zmq.h14
-rw-r--r--src/Makefile.am2
4 files changed, 28 insertions, 17 deletions
diff --git a/configure.in b/configure.in
index a196a35..b31f9d5 100644
--- a/configure.in
+++ b/configure.in
@@ -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
diff --git a/foreign/xmlParser/xmlParser.cpp b/foreign/xmlParser/xmlParser.cpp
index 48b02f9..70fe1d9 100644
--- a/foreign/xmlParser/xmlParser.cpp
+++ b/foreign/xmlParser/xmlParser.cpp
@@ -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
diff --git a/include/zmq.h b/include/zmq.h
index fc52584..d251ae8 100644
--- a/include/zmq.h
+++ b/include/zmq.h
@@ -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
/******************************************************************************/
diff --git a/src/Makefile.am b/src/Makefile.am
index ea7ce54..8277794 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -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