aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ares/Makefile.am8
-rw-r--r--ares/configure.ac12
2 files changed, 19 insertions, 1 deletions
diff --git a/ares/Makefile.am b/ares/Makefile.am
index 9983941a1..8718f55c3 100644
--- a/ares/Makefile.am
+++ b/ares/Makefile.am
@@ -43,7 +43,13 @@ VER=-version-info 1:0:0
# set age to 0. (c:r:a=0)
#
-libcares_la_LDFLAGS = $(VER)
+if NO_UNDEFINED
+# The -no-undefined flag is crucial for this to build fine on some platforms
+UNDEF = -no-undefined
+endif
+
+
+libcares_la_LDFLAGS = $(UNDEF) $(VER)
# Makefile.inc provides the CSOURCES and HHEADERS defines
include Makefile.inc
diff --git a/ares/configure.ac b/ares/configure.ac
index f862f8bf3..8f903a300 100644
--- a/ares/configure.ac
+++ b/ares/configure.ac
@@ -69,6 +69,18 @@ dnl libtool setup
CARES_CLEAR_LIBTOOL_TAGS
AC_PROG_LIBTOOL
+AC_MSG_CHECKING([if we need -no-undefined])
+case $host in
+ *-*-cygwin | *-*-mingw* | *-*-pw32*)
+ need_no_undefined=yes
+ ;;
+ *)
+ need_no_undefined=no
+ ;;
+esac
+AC_MSG_RESULT($need_no_undefined)
+AM_CONDITIONAL(NO_UNDEFINED, test x$need_no_undefined = xyes)
+
dnl Checks for header files.
AC_HEADER_STDC