On Fri, 22 Apr 2016 12:14:16 +0200 Quentin Glidic <[email protected]> wrote:
> From: Quentin Glidic <[email protected]> > Hi Quentin, you should explain here why we need this. Not for me, it's for posterity, anyone searching about why on earth did we add this stuff. :-) > Signed-off-by: Quentin Glidic <[email protected]> > --- > > Not too much Autotools- or m4-foo needed here. > > Please note the behaviour difference from AC_CHECK_LIB/AC_SEARCH_LIBS: > we call action-if-found if the function is available directly, just > in case some crazy libc has jpeg support. :-) > > CCed Gustavo Zacarias so he can test it still works as expected for him. > > configure.ac | 18 +++++------------- > m4/weston.m4 | 37 +++++++++++++++++++++++++++++++++++++ > 2 files changed, 42 insertions(+), 13 deletions(-) > create mode 100644 m4/weston.m4 > > diff --git a/configure.ac b/configure.ac > index 670200c..4199616 100644 > --- a/configure.ac > +++ b/configure.ac > @@ -42,14 +42,10 @@ AC_ARG_VAR([WESTON_SHELL_CLIENT], > > PKG_PROG_PKG_CONFIG() > > -AC_CHECK_FUNC([dlopen], [], > - AC_CHECK_LIB([dl], [dlopen], DLOPEN_LIBS="-ldl")) > -AC_SUBST(DLOPEN_LIBS) > +WESTON_SEARCH_LIBS([DLOPEN], [dl], [dlopen]) > > # In old glibc versions (< 2.17) clock_gettime() is in librt > -AC_SEARCH_LIBS([clock_gettime], [rt], > - [CLOCK_GETTIME_LIBS="-lrt"]) > -AC_SUBST([CLOCK_GETTIME_LIBS]) > +WESTON_SEARCH_LIBS([CLOCK_GETTIME], [rt], [clock_gettime]) This change causes -lrt to be rightfully dropped from CLOCK_GETTIME on my system. I'm not sure why it was there to begin with. > > AC_CHECK_DECL(SFD_CLOEXEC,[], > [AC_MSG_ERROR("SFD_CLOEXEC is needed to compile weston")], > @@ -303,12 +299,10 @@ AC_ARG_WITH([jpeg], > AS_HELP_STRING([--without-jpeg], > [Use jpeglib for JPEG decoding support > [default=auto]])) > AS_IF([test "x$with_jpeg" != "xno"], > - [AC_CHECK_LIB([jpeg], [jpeg_CreateDecompress], [have_jpeglib=yes], > [have_jpeglib=no])], > + [WESTON_SEARCH_LIBS([JPEG], [jpeg], [jpeg_CreateDecompress], > [have_jpeglib=yes], [have_jpeglib=no])], > [have_jpeglib=no]) > AS_IF([test "x$have_jpeglib" = "xyes"], > - [JPEG_LIBS="-ljpeg" > - AC_SUBST([JPEG_LIBS]) > - AC_DEFINE([HAVE_JPEG], [1], [Have jpeglib])], > + [AC_DEFINE([HAVE_JPEG], [1], [Have jpeglib])], > [AS_IF([test "x$with_jpeg" = "xyes"], > [AC_MSG_ERROR([JPEG support explicitly requested, but jpeglib > couldn't be found])])]) > > @@ -418,12 +412,10 @@ AS_IF([test "x$enable_resize_optimization" = "xyes"], > AC_ARG_ENABLE(weston-launch, [ --enable-weston-launch],, > enable_weston_launch=yes) > AM_CONDITIONAL(BUILD_WESTON_LAUNCH, test x$enable_weston_launch == xyes) > if test x$enable_weston_launch == xyes; then > - AC_CHECK_LIB([pam], [pam_open_session], [have_pam=yes], [have_pam=no]) > + WESTON_SEARCH_LIBS([PAM], [pam], [pam_open_session], [have_pam=yes], > [have_pam=no]) > if test x$have_pam == xno; then > AC_ERROR([weston-launch requires pam]) > fi > - PAM_LIBS=-lpam > - AC_SUBST(PAM_LIBS) > fi > > AM_CONDITIONAL(HAVE_PANGO, test "x$have_pango" = "xyes") > diff --git a/m4/weston.m4 b/m4/weston.m4 > new file mode 100644 > index 0000000..636f9fb > --- /dev/null > +++ b/m4/weston.m4 > @@ -0,0 +1,37 @@ > +dnl > +dnl Copyright © 2016 Quentin “Sardem FF7” Glidic > +dnl > +dnl Permission is hereby granted, free of charge, to any person obtaining a > +dnl copy of this software and associated documentation files (the > "Software"), > +dnl to deal in the Software without restriction, including without limitation > +dnl the rights to use, copy, modify, merge, publish, distribute, sublicense, > +dnl and/or sell copies of the Software, and to permit persons to whom the > +dnl Software is furnished to do so, subject to the following conditions: > +dnl > +dnl The above copyright notice and this permission notice (including the next > +dnl paragraph) shall be included in all copies or substantial portions of the > +dnl Software. > +dnl > +dnl THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS > OR > +dnl IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, > +dnl FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL > +dnl THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR > OTHER > +dnl LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING > +dnl FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER > +dnl DEALINGS IN THE SOFTWARE. > +dnl > + > +dnl WESTON_SEARCH_LIBS(PREFIX, search-libs, function, [action-if-found], > [action-if-not-found], [other-libraries]) > +dnl WESTON_SEARCH_LIBS is a wrapper around AC_SEARCH_LIBS with a little > difference: > +dnl action-if-found is called even if no library is required > +AC_DEFUN([WESTON_SEARCH_LIBS], [ > + weston_save_LIBS=${LIBS} > + AC_SEARCH_LIBS([$3], [$2], [$4], [$5], [$6]) > + AS_CASE([${ac_cv_search_][$3][}], > + ['none required'], [$4], > + [no], [], > + [$1][_LIBS=${ac_cv_search_][$3][}] > + ) > + AC_SUBST([$1][_LIBS]) > + LIBS=${weston_save_LIBS} > +]) Looking good. With a commit message written: Reviewed-by: Pekka Paalanen <[email protected]> Thanks, pq
pgp3JUx9Y_P2w.pgp
Description: OpenPGP digital signature
_______________________________________________ wayland-devel mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/wayland-devel
