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

Attachment: pgp3JUx9Y_P2w.pgp
Description: OpenPGP digital signature

_______________________________________________
wayland-devel mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/wayland-devel

Reply via email to