From 98a2478b2e0e0206a8c50232858c684b43b131e9 Mon Sep 17 00:00:00 2001 From: Luca Barbato Date: Sun, 12 Oct 2008 21:05:45 +0200 Subject: [PATCH] Use with_pkg macros --- configure.ac | 127 ++++++++++--------------------------------------------- m4/with_pkg.m4 | 75 +++++++++++++++++++++++++++++++++ 2 files changed, 98 insertions(+), 104 deletions(-) create mode 100644 m4/with_pkg.m4 diff --git a/configure.ac b/configure.ac index b8ecc9d..7e4e9d0 100644 --- a/configure.ac +++ b/configure.ac @@ -518,17 +518,13 @@ AC_CHECK_PROGS(PERL, perl5 perl) # Check for Lua ############### -PKG_CHECK_MODULES(LUA, lua >= $LUA_REQUIRED_VERSION, +PKG_WITH_MODULES(LUA, lua >= $LUA_REQUIRED_VERSION, have_lua="yes", [PKG_CHECK_MODULES(LUA, lua5.1 >= $LUA_REQUIRED_VERSION, have_lua="yes", have_lua="no (usable lua not found)")]) AM_CONDITIONAL(HAVE_LUA, test "x$have_lua" = "xyes") -AC_SUBST(LUA_CFLAGS) -AC_SUBST(LUA_LIBS) - - ####################################### # Checks for Ruby used to make API docs ####################################### @@ -553,44 +549,21 @@ AC_SUBST(RUBY_BIN) # Check for Cairo ################# -PKG_CHECK_MODULES(CAIRO, cairo, - have_cairo="yes", - have_cairo="no (usable cairo not found)") -AM_CONDITIONAL(HAVE_CAIRO, test "x$have_cairo" = "xyes") - -AC_SUBST(CAIRO_CFLAGS) -AC_SUBST(CAIRO_LIBS) - +PKG_HAVE_WITH_MODULES(CAIRO, cairo) ######################## # Checks for Pango stuff ######################## -PKG_CHECK_MODULES(PANGO, pango, - have_pango="yes", - have_pango="no (usable pango not found)") -AM_CONDITIONAL(HAVE_PANGO, test "x$have_pango" = "xyes") - -PKG_CHECK_MODULES(PANGOCAIRO, pangocairo, - have_pangocairo="yes", - have_pangocairo="no (usable pangocairo not found)") -AM_CONDITIONAL(HAVE_PANGOCAIRO, test "x$have_pangocairo" = "xyes") - -AC_SUBST(PANGO_CFLAGS) -AC_SUBST(PANGO_LIBS) -AC_SUBST(PANGOCAIRO_CFLAGS) -AC_SUBST(PANGOCAIRO_LIBS) +PKG_HAVE_WITH_MODULES(PANGO, pango) +PKG_HAVE_WITH_MODULES(PANGOCAIRO, pangocairo) ###################### # Check for gdk-pixbuf ###################### -PKG_CHECK_MODULES(GDK_PIXBUF, gdk-pixbuf-2.0 >= gtk_required_version, - have_gdk_pixbuf="yes", - have_gdk_pixbuf="no (gdk-pixbuf not found)") -AM_CONDITIONAL(HAVE_GDK_PIXBUF, test "x$have_gdk_pixbuf" = "xyes") - +PKG_HAVE_WITH_MODULES(GDK_PIXBUF, gdk-pixbuf-2.0 >= gtk_required_version) ################### # Check for libjpeg @@ -635,74 +608,31 @@ AC_SUBST(LIBJPEG) # Check for libpng ################## -PKG_CHECK_MODULES(PNG, libpng, - have_libpng="yes", - have_libpng="no (usable libpng not found)") -AM_CONDITIONAL(HAVE_PNG, test "x$have_libpng" = "xyes") - -AC_SUBST(PNG_CFLAGS) -AC_SUBST(PNG_LIBS) - +PKG_HAVE_WITH_MODULES(PNG, libpng) ################### # Check for librsvg ################### -PKG_CHECK_MODULES(RSVG, librsvg-2.0 >= librsvg_required_version, - have_librsvg="yes", - have_librsvg="no (usable librsvg not found)") -AM_CONDITIONAL(HAVE_RSVG, test "x$have_librsvg" = "xyes") - -AC_SUBST(RSVG_CFLAGS) -AC_SUBST(RSVG_LIBS) - +PKG_HAVE_WITH_MODULES(RSVG, librsvg-2.0 >= librsvg_required_version) ################### # Check for OpenEXR ################### -PKG_CHECK_MODULES(OPENEXR, OpenEXR, - have_openexr="yes", - have_openexr="no (usable OpenEXR not found)") -AM_CONDITIONAL(HAVE_OPENEXR, test "x$have_openexr" = "xyes") - -AC_SUBST(OPENEXR_CFLAGS) -AC_SUBST(OPENEXR_LIBS) - +PKG_HAVE_WITH_MODULES(OPENEXR, OpenEXR) ############### # Check for SDL ############### -dnl check for SDL -AC_PATH_PROG(SDL_CONFIG, sdl-config, no) -if test "$SDL_CONFIG" = "no"; then - have_sdl="no (usable libsdl not found)" - AC_MSG_RESULT([*** Check for SDL library failed.]) -else - have_sdl="yes" - SDL_CFLAGS=`$SDL_CONFIG --cflags` - SDL_LIBS=`$SDL_CONFIG --libs` -fi -AM_CONDITIONAL(HAVE_SDL, test "x$have_sdl" = "xyes") - -AC_SUBST(SDL_CFLAGS) -AC_SUBST(SDL_LIBS) - +PKG_HAVE_WITH_MODULES(SDL, sdl) #################### # Check for libopenraw #################### -dnl check for libopenraw -PKG_CHECK_MODULES(OPENRAW, libopenraw-1.0, - have_openraw="yes", - have_openraw="no (usable libopenraw not found)") -AM_CONDITIONAL(HAVE_OPENRAW, test "x$have_openraw" = "xyes") - -AC_SUBST(OPENRAW_CFLAGS) -AC_SUBST(OPENRAW_LIBS) - +PKG_HAVE_WITH_MODULES(OPENRAW, libopenraw-1.0) #################### # Check for graphviz @@ -750,20 +680,9 @@ AM_CONDITIONAL(HAVE_ASCIIDOC, test "x$have_asciidoc" = "xyes") # Check for avcodec and avformat libraries ########################################## -PKG_CHECK_MODULES(AVCODEC, libavcodec, - have_libavcodec="yes", - have_libavcodec="no (usable libavcodec not found)") -AM_CONDITIONAL(HAVE_AVCODEC, test "x$have_libavcodec" = "xyes") +PKG_HAVE_WITH_MODULES(AVCODEC, libavcodec) -PKG_CHECK_MODULES(AVFORMAT, libavformat, - have_libavformat="yes", - have_libavformat="no (usable libavformat not found)") -AM_CONDITIONAL(HAVE_AVFORMAT, test "x$have_libavformat" = "xyes") - -AC_SUBST(AVCODEC_CFLAGS) -AC_SUBST(AVCODEC_LIBS) -AC_SUBST(AVFORMAT_CFLAGS) -AC_SUBST(AVFORMAT_LIBS) +PKG_HAVE_WITH_MODULES(AVFORMAT, libavformat) ############### @@ -864,20 +783,20 @@ Optional dependencies: GIO: $have_gio Ruby: $have_ruby Lua: $have_lua - Cairo: $have_cairo - Pango: $have_pango - pangocairo: $have_pangocairo - GDKPixbuf: $have_gdk_pixbuf + Cairo: $with_cairo + Pango: $with_pango + pangocairo: $with_pangocairo + GDKPixbuf: $with_gdk_pixbuf JPEG: $jpeg_ok - PNG: $have_libpng - OpenEXR: $have_openexr - rsvg: $have_librsvg - SDL: $have_sdl - openraw: $have_openraw + PNG: $with_png + OpenEXR: $with_openexr + rsvg: $with_rsvg + SDL: $with_sdl + openraw: $with_openraw asciidoc: $have_asciidoc enscript: $have_enscript graphviz: $have_graphviz - avcodec: $have_libavcodec - avformat: $have_libavformat + avcodec: $with_avcodec + avformat: $with_avformat V4L: $have_v4l ]); diff --git a/m4/with_pkg.m4 b/m4/with_pkg.m4 new file mode 100644 index 0000000..5355551 --- /dev/null +++ b/m4/with_pkg.m4 @@ -0,0 +1,75 @@ +dnl with_pkg.m4 - Macros to ease the usage of pkg-config. -*- Autoconf -*- +dnl +dnl Copyright © 2008 Luca Barbato , +dnl Diego Pettenò +dnl +dnl This program is free software; you can redistribute it and/or modify +dnl it under the terms of the GNU General Public License as published by +dnl the Free Software Foundation; either version 2 of the License, or +dnl (at your option) any later version. +dnl +dnl This program is distributed in the hope that it will be useful, but +dnl WITHOUT ANY WARRANTY; without even the implied warranty of +dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +dnl General Public License for more details. +dnl +dnl You should have received a copy of the GNU General Public License +dnl along with this program; if not, write to the Free Software +dnl Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +dnl +dnl As a special exception to the GNU General Public License, if you +dnl distribute this file as part of a program that contains a +dnl configuration script generated by Autoconf, you may include it under +dnl the same distribution terms that you use for the rest of that program. + +dnl PKG_WITH_MODULES(VARIABLE-PREFIX, MODULES, +dnl [ACTION-IF-FOUND],[ACTION-IF-NOT-FOUND], +dnl [DESCRIPTION], [DEFAULT]) +dnl +dnl Prepare a --with-variable-prefix triggered check for module, +dnl disable by default. +dnl + +AC_DEFUN([PKG_WITH_MODULES], +[ +m4_pushdef([with_arg], m4_tolower([$1])) + +m4_pushdef([description], + [m4_default([$5], [build with ]with_arg[ support])]) + +m4_pushdef([def_arg], [m4_default([$6], [auto])]) +m4_pushdef([def_action_if_found], [AS_TR_SH([with_]with_arg)=yes]) +m4_pushdef([def_action_if_not_found], [AS_TR_SH([with_]with_arg)=no]) + +m4_case(def_arg, + [yes],[m4_pushdef([with_without], [--without-]with_arg)], + [m4_pushdef([with_without],[--with-]with_arg)]) + +AC_ARG_WITH(with_arg, + AS_HELP_STRING(with_without, description[ @<:@default=]def_arg[@:>@]),, + [AS_TR_SH([with_]with_arg)=def_arg]) + +AS_CASE([$AS_TR_SH([with_]with_arg)], + [yes],PKG_CHECK_MODULES([$1],[$2],[$3],[$4]), + [auto],PKG_CHECK_MODULES([$1],[$2], + [m4_n([def_action_if_found]) [$3]], + [m4_n([def_action_if_not_found]) [$4]])) + +m4_popdef([with_arg]) +m4_popdef([description]) +m4_popdef([def_arg]) + +]) dnl PKG_WITH_MODULES + +dnl PKG_HAVE_WITH_MODULES(VARIABLE-PREFIX, MODULES, +dnl [DESCRIPTION], [DEFAULT]) +dnl + +AC_DEFUN([PKG_HAVE_WITH_MODULES], +[ +PKG_WITH_MODULES([$1],[$2],,,[$3],[$4]) + +AM_CONDITIONAL([HAVE_][$1], + [test "$AS_TR_SH([with_]m4_tolower([$1]))" = "yes"]) +]) + -- 1.6.0.2