On 05 Feb 2020, at 21:14, Sebastian Kemper <sebastian...@gmx.net> wrote:
> APR's configure script uses AC_TRY_RUN to detect whether the return type > of strerror_r is int. When cross-compiling this defaults to no. > > This commit adds an AC_CACHE_CHECK so users who cross-compile APR may > influence the outcome with a configure variable. > > Without this commit, while cross-compiling against a libc where > strerror_r returns int, a warning occurs: > > misc/unix/errorcodes.c: In function 'native_strerror': > misc/unix/errorcodes.c:358:9: warning: assignment makes pointer from integer > without a cast [-Wint-conversion] > msg = strerror_r(statcode, buf, bufsize); > ^ > > Fixes: https://bz.apache.org/bugzilla/show_bug.cgi?id=60539 > > Index: build/apr_common.m4 > =================================================================== > --- build/apr_common.m4 (revision 1873663) > +++ build/apr_common.m4 (working copy) > @@ -489,8 +489,9 @@ > dnl > dnl > AC_DEFUN([APR_CHECK_STRERROR_R_RC], [ > -AC_MSG_CHECKING(for type of return code from strerror_r) > -AC_TRY_RUN([ > +AC_CACHE_CHECK([whether return code from strerror_r has type int], > +[ac_cv_strerror_r_rc_int], > +[AC_TRY_RUN([ > #include <errno.h> > #include <string.h> > #include <stdio.h> > @@ -506,14 +507,10 @@ > }], [ > ac_cv_strerror_r_rc_int=yes ], [ > ac_cv_strerror_r_rc_int=no ], [ > - ac_cv_strerror_r_rc_int=no ] ) > + ac_cv_strerror_r_rc_int=no ] ) ] ) > if test "x$ac_cv_strerror_r_rc_int" = xyes; then > AC_DEFINE(STRERROR_R_RC_INT, 1, [Define if strerror returns int]) > - msg="int" > -else > - msg="pointer" > fi > -AC_MSG_RESULT([$msg]) > ] ) > > dnl This has been committed in http://svn.apache.org/viewvc?rev=1875065&view=rev <http://svn.apache.org/viewvc?rev=1875065&view=rev> and backported to v1.7 in http://svn.apache.org/viewvc?rev=1875066&view=rev <http://svn.apache.org/viewvc?rev=1875066&view=rev> Regards, Graham —
smime.p7s
Description: S/MIME cryptographic signature