build: Add (and use) an AC_SEARCH_LIBS wrapper
AC_SEARCH_LIBS is the recommended macro for these checks, unfortunately, we use AC_CHECK_LIB instead, and even AC_CHECK_FUNC, when only one AC_SEARCH_LIBS would be enough. This wrapper macro is used much like PKG_CHECK_MODULES, as it defines (and AC_SUBST) the PREFIX_LIBS variable itself. It also avoids adding unnecessary stuff to LIBS. Signed-off-by: Quentin Glidic <sardemff7+git@sardemff7.net> Tested-by: Gustavo Zacarias <gustavo@zacarias.com.ar> Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
This commit is contained in:
parent
57c83f6534
commit
9992bdcbe6
18
configure.ac
18
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])
|
||||
|
||||
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")
|
||||
|
37
m4/weston.m4
Normal file
37
m4/weston.m4
Normal file
@ -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}
|
||||
])
|
Loading…
Reference in New Issue
Block a user