Fix build on BSDs & Solaris
authorJeremy Harris <jgh146exb@wizmail.org>
Mon, 30 May 2022 14:57:18 +0000 (15:57 +0100)
committerJeremy Harris <jgh146exb@wizmail.org>
Mon, 30 May 2022 14:57:18 +0000 (15:57 +0100)
Broken-by: 204a7a2c2e
src/OS/Makefile-FreeBSD
src/OS/Makefile-OpenBSD
src/OS/Makefile-SunOS5
src/src/exim.c

index 02253d9c6a7ae924285e1e25397a7db329d3bffb..4793a438b95ba2d36ec074c141ecb7a6985c4f54 100644 (file)
@@ -13,7 +13,7 @@ PERL_COMMAND=/usr/local/bin/perl
 HAVE_SA_LEN=YES
 
 # crypt() is in a separate library
-LIBS=-lcrypt -lm -lutil
+LIBS=-lcrypt -lm -lutil -lexecinfo
 
 # Dynamically loaded modules need to be built with -fPIC
 CFLAGS_DYNAMIC=-shared -rdynamic -fPIC
index 6976326824df2ce07eb2596fe30b1b02a733c687..7c451e2cc03bc7bbf76cd7c5d19c00da191c3349 100644 (file)
@@ -23,6 +23,7 @@ EXIWHAT_EGREP_ARG='/exim( |$$)'
 EXIWHAT_KILL_SIGNAL=-USR1
 
 HAVE_IPV6=YES
+CFLAGS += -DNO_EXECINFO
 
 # OpenBSD ships with a too-old Berkeley DB.  NDBM is the default if we don't specify one.
 #USE_DB=yes
index 3b436f4bf022c51f66ae2f9382e7e6b55c95ac6c..d07adcff4dd6ea9fd406e8c62152790b1854d108 100644 (file)
@@ -20,5 +20,6 @@ X11LIB=$(X11)/lib
 
 OS_C_INCLUDES=setenv.c
 CFLAGS += -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED=1 -D__EXTENSIONS__
+CFLAGS += -DNO_EXECINFO
 
 # End
index 6fde16a9cf2f4213a9b01ca029265a7b1782cae6..14c3359caa686570a7c38eb2321ad2ee8ff36fd5 100644 (file)
@@ -20,7 +20,9 @@ Also a few functions that don't naturally fit elsewhere. */
 #ifndef _TIME_H
 # include <time.h>
 #endif
-#include <execinfo.h>  /*XXX maybe glibc-only? */
+#ifndef NO_EXECINFO
+# include <execinfo.h>
+#endif
 
 #ifdef USE_GNUTLS
 # include <gnutls/gnutls.h>
@@ -266,6 +268,7 @@ exit(1);
 void
 stackdump(ucontext_t * ucontext)
 {
+#ifndef NO_EXECINFO
 void * buf[STACKDUMP_MAX];
 char ** ss;
 int nptrs = backtrace(buf, STACKDUMP_MAX);
@@ -281,6 +284,7 @@ if ((ss = backtrace_symbols(buf, nptrs)))
 else
   log_write(0, LOG_MAIN|LOG_PANIC, "backtrace_symbols: %s\n", strerror(errno));
 log_write(0, LOG_MAIN|LOG_PANIC, "---\n");
+#endif
 }
 #undef STACKDUMP_MAX