Skip to content

Commit 993a50b

Browse files
committed
Merge pull request #3278 from laanwj/2013_11_boost_m4
Update boost m4 files
2 parents 71f97ea + ea89d52 commit 993a50b

File tree

6 files changed

+80
-67
lines changed

6 files changed

+80
-67
lines changed

src/m4/ax_boost_base.m4

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@
3333
# and this notice are preserved. This file is offered as-is, without any
3434
# warranty.
3535

36-
#serial 20
36+
#serial 21
3737

3838
AC_DEFUN([AX_BOOST_BASE],
3939
[
@@ -91,9 +91,11 @@ if test "x$want_boost" = "xyes"; then
9191
dnl are found, e.g. when only header-only libraries are installed!
9292
libsubdirs="lib"
9393
ax_arch=`uname -m`
94-
if test $ax_arch = x86_64 -o $ax_arch = ppc64 -o $ax_arch = s390x -o $ax_arch = sparc64; then
94+
case $ax_arch in
95+
x86_64|ppc64|s390x|sparc64|aarch64)
9596
libsubdirs="lib64 lib lib64"
96-
fi
97+
;;
98+
esac
9799
98100
dnl first we check the system location for boost libraries
99101
dnl this location ist chosen if boost libraries are installed with the --layout=system option

src/m4/ax_boost_filesystem.m4

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@
3131
# and this notice are preserved. This file is offered as-is, without any
3232
# warranty.
3333

34-
#serial 21
34+
#serial 26
3535

3636
AC_DEFUN([AX_BOOST_FILESYSTEM],
3737
[
@@ -81,14 +81,14 @@ AC_DEFUN([AX_BOOST_FILESYSTEM],
8181
AC_DEFINE(HAVE_BOOST_FILESYSTEM,,[define if the Boost::Filesystem library is available])
8282
BOOSTLIBDIR=`echo $BOOST_LDFLAGS | sed -e 's/@<:@^\/@:>@*//'`
8383
if test "x$ax_boost_user_filesystem_lib" = "x"; then
84-
for libextension in `ls $BOOSTLIBDIR/libboost_filesystem*.so* $BOOSTLIBDIR/libboost_filesystem*.dylib* $BOOSTLIBDIR/libboost_filesystem*.a* 2>/dev/null | sed 's,.*/,,' | sed -e 's;^lib\(boost_filesystem.*\)\.so.*$;\1;' -e 's;^lib\(boost_filesystem.*\)\.a*$;\1;' -e 's;^lib\(boost_filesystem.*\)\.dylib$;\1;'` ; do
84+
for libextension in `ls -r $BOOSTLIBDIR/libboost_filesystem* 2>/dev/null | sed 's,.*/lib,,' | sed 's,\..*,,'` ; do
8585
ax_lib=${libextension}
8686
AC_CHECK_LIB($ax_lib, exit,
8787
[BOOST_FILESYSTEM_LIB="-l$ax_lib"; AC_SUBST(BOOST_FILESYSTEM_LIB) link_filesystem="yes"; break],
8888
[link_filesystem="no"])
8989
done
90-
if test "x$link_program_options" != "xyes"; then
91-
for libextension in `ls $BOOSTLIBDIR/boost_filesystem*.{dll,a}* 2>/dev/null | sed 's,.*/,,' | sed -e 's;^\(boost_filesystem.*\)\.dll.*$;\1;' -e 's;^\(boost_filesystem.*\)\.a*$;\1;'` ; do
90+
if test "x$link_filesystem" != "xyes"; then
91+
for libextension in `ls -r $BOOSTLIBDIR/boost_filesystem* 2>/dev/null | sed 's,.*/,,' | sed -e 's,\..*,,'` ; do
9292
ax_lib=${libextension}
9393
AC_CHECK_LIB($ax_lib, exit,
9494
[BOOST_FILESYSTEM_LIB="-l$ax_lib"; AC_SUBST(BOOST_FILESYSTEM_LIB) link_filesystem="yes"; break],

src/m4/ax_boost_program_options.m4

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@
2929
# and this notice are preserved. This file is offered as-is, without any
3030
# warranty.
3131

32-
#serial 20
32+
#serial 22
3333

3434
AC_DEFUN([AX_BOOST_PROGRAM_OPTIONS],
3535
[
@@ -74,14 +74,14 @@ AC_DEFUN([AX_BOOST_PROGRAM_OPTIONS],
7474
AC_DEFINE(HAVE_BOOST_PROGRAM_OPTIONS,,[define if the Boost::PROGRAM_OPTIONS library is available])
7575
BOOSTLIBDIR=`echo $BOOST_LDFLAGS | sed -e 's/@<:@^\/@:>@*//'`
7676
if test "x$ax_boost_user_program_options_lib" = "x"; then
77-
for libextension in `ls $BOOSTLIBDIR/libboost_program_options*.so* 2>/dev/null | sed 's,.*/,,' | sed -e 's;^lib\(boost_program_options.*\)\.so.*$;\1;'` `ls $BOOSTLIBDIR/libboost_program_options*.a* 2>/dev/null | sed 's,.*/,,' | sed -e 's;^lib\(boost_program_options.*\)\.a*$;\1;'` ; do
77+
for libextension in `ls $BOOSTLIBDIR/libboost_program_options*.so* 2>/dev/null | sed 's,.*/,,' | sed -e 's;^lib\(boost_program_options.*\)\.so.*$;\1;'` `ls $BOOSTLIBDIR/libboost_program_options*.dylib* 2>/dev/null | sed 's,.*/,,' | sed -e 's;^lib\(boost_program_options.*\)\.dylib.*$;\1;'` `ls $BOOSTLIBDIR/libboost_program_options*.a* 2>/dev/null | sed 's,.*/,,' | sed -e 's;^lib\(boost_program_options.*\)\.a.*$;\1;'` ; do
7878
ax_lib=${libextension}
7979
AC_CHECK_LIB($ax_lib, exit,
8080
[BOOST_PROGRAM_OPTIONS_LIB="-l$ax_lib"; AC_SUBST(BOOST_PROGRAM_OPTIONS_LIB) link_program_options="yes"; break],
8181
[link_program_options="no"])
8282
done
8383
if test "x$link_program_options" != "xyes"; then
84-
for libextension in `ls $BOOSTLIBDIR/boost_program_options*.dll* 2>/dev/null | sed 's,.*/,,' | sed -e 's;^\(boost_program_options.*\)\.dll.*$;\1;'` `ls $BOOSTLIBDIR/boost_program_options*.a* 2>/dev/null | sed 's,.*/,,' | sed -e 's;^\(boost_program_options.*\)\.a*$;\1;'` ; do
84+
for libextension in `ls $BOOSTLIBDIR/boost_program_options*.dll* 2>/dev/null | sed 's,.*/,,' | sed -e 's;^\(boost_program_options.*\)\.dll.*$;\1;'` `ls $BOOSTLIBDIR/boost_program_options*.a* 2>/dev/null | sed 's,.*/,,' | sed -e 's;^\(boost_program_options.*\)\.a.*$;\1;'` ; do
8585
ax_lib=${libextension}
8686
AC_CHECK_LIB($ax_lib, exit,
8787
[BOOST_PROGRAM_OPTIONS_LIB="-l$ax_lib"; AC_SUBST(BOOST_PROGRAM_OPTIONS_LIB) link_program_options="yes"; break],

src/m4/ax_boost_system.m4

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@
3131
# and this notice are preserved. This file is offered as-is, without any
3232
# warranty.
3333

34-
#serial 14
34+
#serial 17
3535

3636
AC_DEFUN([AX_BOOST_SYSTEM],
3737
[
@@ -83,14 +83,14 @@ AC_DEFUN([AX_BOOST_SYSTEM],
8383
8484
LDFLAGS_SAVE=$LDFLAGS
8585
if test "x$ax_boost_user_system_lib" = "x"; then
86-
for libextension in `ls $BOOSTLIBDIR/libboost_system*.so* $BOOSTLIBDIR/libboost_system*.a* 2>/dev/null | sed 's,.*/,,' | sed -e 's;^lib\(boost_system.*\)\.so.*$;\1;' -e 's;^lib\(boost_system.*\)\.a*$;\1;'` ; do
86+
for libextension in `ls -r $BOOSTLIBDIR/libboost_system* 2>/dev/null | sed 's,.*/lib,,' | sed 's,\..*,,'` ; do
8787
ax_lib=${libextension}
8888
AC_CHECK_LIB($ax_lib, exit,
8989
[BOOST_SYSTEM_LIB="-l$ax_lib"; AC_SUBST(BOOST_SYSTEM_LIB) link_system="yes"; break],
9090
[link_system="no"])
9191
done
9292
if test "x$link_system" != "xyes"; then
93-
for libextension in `ls $BOOSTLIBDIR/boost_system*.{dll,a}* 2>/dev/null | sed 's,.*/,,' | sed -e 's;^\(boost_system.*\)\.dll.*$;\1;' -e 's;^\(boost_system.*\)\.a*$;\1;'` ; do
93+
for libextension in `ls -r $BOOSTLIBDIR/boost_system* 2>/dev/null | sed 's,.*/,,' | sed -e 's,\..*,,'` ; do
9494
ax_lib=${libextension}
9595
AC_CHECK_LIB($ax_lib, exit,
9696
[BOOST_SYSTEM_LIB="-l$ax_lib"; AC_SUBST(BOOST_SYSTEM_LIB) link_system="yes"; break],

src/m4/ax_boost_thread.m4

Lines changed: 33 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@
3030
# and this notice are preserved. This file is offered as-is, without any
3131
# warranty.
3232

33-
#serial 22
33+
#serial 27
3434

3535
AC_DEFUN([AX_BOOST_THREAD],
3636
[
@@ -68,17 +68,13 @@ AC_DEFUN([AX_BOOST_THREAD],
6868
[AC_LANG_PUSH([C++])
6969
CXXFLAGS_SAVE=$CXXFLAGS
7070
71-
# let us handle platform dependent issues in
72-
# configure.ac
73-
74-
# if test "x$build_os" = "xsolaris" ; then
75-
# CXXFLAGS="-pthreads $CXXFLAGS"
76-
# elif test "x$build_os" = "xming32" ; then
77-
# CXXFLAGS="-mthreads $CXXFLAGS"
78-
# else
79-
# CXXFLAGS="-pthread $CXXFLAGS"
80-
# fi
81-
71+
if test "x$host_os" = "xsolaris" ; then
72+
CXXFLAGS="-pthreads $CXXFLAGS"
73+
elif test "x$host_os" = "xmingw32" ; then
74+
CXXFLAGS="-mthreads $CXXFLAGS"
75+
else
76+
CXXFLAGS="-pthread $CXXFLAGS"
77+
fi
8278
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[@%:@include <boost/thread/thread.hpp>]],
8379
[[boost::thread_group thrds;
8480
return 0;]])],
@@ -87,35 +83,35 @@ AC_DEFUN([AX_BOOST_THREAD],
8783
AC_LANG_POP([C++])
8884
])
8985
if test "x$ax_cv_boost_thread" = "xyes"; then
90-
# if test "x$build_os" = "xsolaris" ; then
91-
# BOOST_CPPFLAGS="-pthreads $BOOST_CPPFLAGS"
92-
# elif test "x$build_os" = "xming32" ; then
93-
# BOOST_CPPFLAGS="-mthreads $BOOST_CPPFLAGS"
94-
# else
95-
# BOOST_CPPFLAGS="-pthread $BOOST_CPPFLAGS"
96-
# fi
86+
if test "x$host_os" = "xsolaris" ; then
87+
BOOST_CPPFLAGS="-pthreads $BOOST_CPPFLAGS"
88+
elif test "x$host_os" = "xmingw32" ; then
89+
BOOST_CPPFLAGS="-mthreads $BOOST_CPPFLAGS"
90+
else
91+
BOOST_CPPFLAGS="-pthread $BOOST_CPPFLAGS"
92+
fi
9793
9894
AC_SUBST(BOOST_CPPFLAGS)
9995
10096
AC_DEFINE(HAVE_BOOST_THREAD,,[define if the Boost::Thread library is available])
10197
BOOSTLIBDIR=`echo $BOOST_LDFLAGS | sed -e 's/@<:@^\/@:>@*//'`
10298
10399
LDFLAGS_SAVE=$LDFLAGS
104-
# case "x$build_os" in
105-
# *bsd* )
106-
# LDFLAGS="-pthread $LDFLAGS"
107-
# break;
108-
# ;;
109-
# esac
100+
case "x$host_os" in
101+
*bsd* )
102+
LDFLAGS="-pthread $LDFLAGS"
103+
break;
104+
;;
105+
esac
110106
if test "x$ax_boost_user_thread_lib" = "x"; then
111-
for libextension in `ls $BOOSTLIBDIR/libboost_thread*.so* 2>/dev/null | sed 's,.*/,,' | sed -e 's;^lib\(boost_thread.*\)\.so.*$;\1;'` `ls $BOOSTLIBDIR/libboost_thread*.a* 2>/dev/null | sed 's,.*/,,' | sed -e 's;^lib\(boost_thread.*\)\.a*$;\1;'`; do
107+
for libextension in `ls -r $BOOSTLIBDIR/libboost_thread* 2>/dev/null | sed 's,.*/lib,,' | sed 's,\..*,,'`; do
112108
ax_lib=${libextension}
113109
AC_CHECK_LIB($ax_lib, exit,
114110
[BOOST_THREAD_LIB="-l$ax_lib"; AC_SUBST(BOOST_THREAD_LIB) link_thread="yes"; break],
115111
[link_thread="no"])
116112
done
117113
if test "x$link_thread" != "xyes"; then
118-
for libextension in `ls $BOOSTLIBDIR/boost_thread*.dll* 2>/dev/null | sed 's,.*/,,' | sed -e 's;^\(boost_thread.*\)\.dll.*$;\1;'` `ls $BOOSTLIBDIR/boost_thread*.a* 2>/dev/null | sed 's,.*/,,' | sed -e 's;^\(boost_thread.*\)\.a*$;\1;'` ; do
114+
for libextension in `ls -r $BOOSTLIBDIR/boost_thread* 2>/dev/null | sed 's,.*/,,' | sed 's,\..*,,'`; do
119115
ax_lib=${libextension}
120116
AC_CHECK_LIB($ax_lib, exit,
121117
[BOOST_THREAD_LIB="-l$ax_lib"; AC_SUBST(BOOST_THREAD_LIB) link_thread="yes"; break],
@@ -134,17 +130,17 @@ AC_DEFUN([AX_BOOST_THREAD],
134130
if test "x$ax_lib" = "x"; then
135131
AC_MSG_ERROR(Could not find a version of the library!)
136132
fi
137-
# if test "x$link_thread" = "xno"; then
138-
# AC_MSG_ERROR(Could not link against $ax_lib !)
139-
# else
140-
# case "x$build_os" in
141-
# *bsd* )
142-
# BOOST_LDFLAGS="-pthread $BOOST_LDFLAGS"
143-
# break;
144-
# ;;
145-
# esac
133+
if test "x$link_thread" = "xno"; then
134+
AC_MSG_ERROR(Could not link against $ax_lib !)
135+
else
136+
case "x$host_os" in
137+
*bsd* )
138+
BOOST_LDFLAGS="-pthread $BOOST_LDFLAGS"
139+
break;
140+
;;
141+
esac
146142
147-
# fi
143+
fi
148144
fi
149145
150146
CPPFLAGS="$CPPFLAGS_SAVED"

src/m4/ax_pthread.m4

Lines changed: 32 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,7 @@
8282
# modified version of the Autoconf Macro, you may extend this special
8383
# exception to the GPL to apply to your modified version as well.
8484

85-
#serial 20
85+
#serial 21
8686

8787
AU_ALIAS([ACX_PTHREAD], [AX_PTHREAD])
8888
AC_DEFUN([AX_PTHREAD], [
@@ -103,8 +103,8 @@ if test x"$PTHREAD_LIBS$PTHREAD_CFLAGS" != x; then
103103
save_LIBS="$LIBS"
104104
LIBS="$PTHREAD_LIBS $LIBS"
105105
AC_MSG_CHECKING([for pthread_join in LIBS=$PTHREAD_LIBS with CFLAGS=$PTHREAD_CFLAGS])
106-
AC_TRY_LINK_FUNC(pthread_join, ax_pthread_ok=yes)
107-
AC_MSG_RESULT($ax_pthread_ok)
106+
AC_TRY_LINK_FUNC([pthread_join], [ax_pthread_ok=yes])
107+
AC_MSG_RESULT([$ax_pthread_ok])
108108
if test x"$ax_pthread_ok" = xno; then
109109
PTHREAD_LIBS=""
110110
PTHREAD_CFLAGS=""
@@ -164,6 +164,20 @@ case ${host_os} in
164164
;;
165165
esac
166166
167+
# Clang doesn't consider unrecognized options an error unless we specify
168+
# -Werror. We throw in some extra Clang-specific options to ensure that
169+
# this doesn't happen for GCC, which also accepts -Werror.
170+
171+
AC_MSG_CHECKING([if compiler needs -Werror to reject unknown flags])
172+
save_CFLAGS="$CFLAGS"
173+
ax_pthread_extra_flags="-Werror"
174+
CFLAGS="$CFLAGS $ax_pthread_extra_flags -Wunknown-warning-option -Wsizeof-array-argument"
175+
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([int foo(void);],[foo()])],
176+
[AC_MSG_RESULT([yes])],
177+
[ax_pthread_extra_flags=
178+
AC_MSG_RESULT([no])])
179+
CFLAGS="$save_CFLAGS"
180+
167181
if test x"$ax_pthread_ok" = xno; then
168182
for flag in $ax_pthread_flags; do
169183
@@ -178,7 +192,7 @@ for flag in $ax_pthread_flags; do
178192
;;
179193
180194
pthread-config)
181-
AC_CHECK_PROG(ax_pthread_config, pthread-config, yes, no)
195+
AC_CHECK_PROG([ax_pthread_config], [pthread-config], [yes], [no])
182196
if test x"$ax_pthread_config" = xno; then continue; fi
183197
PTHREAD_CFLAGS="`pthread-config --cflags`"
184198
PTHREAD_LIBS="`pthread-config --ldflags` `pthread-config --libs`"
@@ -193,7 +207,7 @@ for flag in $ax_pthread_flags; do
193207
save_LIBS="$LIBS"
194208
save_CFLAGS="$CFLAGS"
195209
LIBS="$PTHREAD_LIBS $LIBS"
196-
CFLAGS="$CFLAGS $PTHREAD_CFLAGS"
210+
CFLAGS="$CFLAGS $PTHREAD_CFLAGS $ax_pthread_extra_flags"
197211
198212
# Check for various functions. We must include pthread.h,
199213
# since some functions may be macros. (On the Sequent, we
@@ -219,7 +233,7 @@ for flag in $ax_pthread_flags; do
219233
LIBS="$save_LIBS"
220234
CFLAGS="$save_CFLAGS"
221235
222-
AC_MSG_RESULT($ax_pthread_ok)
236+
AC_MSG_RESULT([$ax_pthread_ok])
223237
if test "x$ax_pthread_ok" = xyes; then
224238
break;
225239
fi
@@ -245,9 +259,9 @@ if test "x$ax_pthread_ok" = xyes; then
245259
[attr_name=$attr; break],
246260
[])
247261
done
248-
AC_MSG_RESULT($attr_name)
262+
AC_MSG_RESULT([$attr_name])
249263
if test "$attr_name" != PTHREAD_CREATE_JOINABLE; then
250-
AC_DEFINE_UNQUOTED(PTHREAD_CREATE_JOINABLE, $attr_name,
264+
AC_DEFINE_UNQUOTED([PTHREAD_CREATE_JOINABLE], [$attr_name],
251265
[Define to necessary symbol if this constant
252266
uses a non-standard name on your system.])
253267
fi
@@ -261,24 +275,25 @@ if test "x$ax_pthread_ok" = xyes; then
261275
if test "$GCC" = "yes"; then
262276
flag="-D_REENTRANT"
263277
else
278+
# TODO: What about Clang on Solaris?
264279
flag="-mt -D_REENTRANT"
265280
fi
266281
;;
267282
esac
268-
AC_MSG_RESULT(${flag})
283+
AC_MSG_RESULT([$flag])
269284
if test "x$flag" != xno; then
270285
PTHREAD_CFLAGS="$flag $PTHREAD_CFLAGS"
271286
fi
272287
273288
AC_CACHE_CHECK([for PTHREAD_PRIO_INHERIT],
274-
ax_cv_PTHREAD_PRIO_INHERIT, [
275-
AC_LINK_IFELSE([
276-
AC_LANG_PROGRAM([[#include <pthread.h>]], [[int i = PTHREAD_PRIO_INHERIT;]])],
289+
[ax_cv_PTHREAD_PRIO_INHERIT], [
290+
AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <pthread.h>]],
291+
[[int i = PTHREAD_PRIO_INHERIT;]])],
277292
[ax_cv_PTHREAD_PRIO_INHERIT=yes],
278293
[ax_cv_PTHREAD_PRIO_INHERIT=no])
279294
])
280295
AS_IF([test "x$ax_cv_PTHREAD_PRIO_INHERIT" = "xyes"],
281-
AC_DEFINE([HAVE_PTHREAD_PRIO_INHERIT], 1, [Have PTHREAD_PRIO_INHERIT.]))
296+
[AC_DEFINE([HAVE_PTHREAD_PRIO_INHERIT], [1], [Have PTHREAD_PRIO_INHERIT.])])
282297
283298
LIBS="$save_LIBS"
284299
CFLAGS="$save_CFLAGS"
@@ -301,13 +316,13 @@ fi
301316
302317
test -n "$PTHREAD_CC" || PTHREAD_CC="$CC"
303318
304-
AC_SUBST(PTHREAD_LIBS)
305-
AC_SUBST(PTHREAD_CFLAGS)
306-
AC_SUBST(PTHREAD_CC)
319+
AC_SUBST([PTHREAD_LIBS])
320+
AC_SUBST([PTHREAD_CFLAGS])
321+
AC_SUBST([PTHREAD_CC])
307322
308323
# Finally, execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND:
309324
if test x"$ax_pthread_ok" = xyes; then
310-
ifelse([$1],,AC_DEFINE(HAVE_PTHREAD,1,[Define if you have POSIX threads libraries and header files.]),[$1])
325+
ifelse([$1],,[AC_DEFINE([HAVE_PTHREAD],[1],[Define if you have POSIX threads libraries and header files.])],[$1])
311326
:
312327
else
313328
ax_pthread_ok=no

0 commit comments

Comments
 (0)