From 4e6c0086a657399d989f2e4849f7b397d7d4efbc Mon Sep 17 00:00:00 2001 From: Dana Jansens Date: Sat, 10 Aug 2013 20:46:27 -0400 Subject: Add support for loading SVG icons using librsvg. This adds a configure option --disable-librsvg, but defaults to using the library if it is present during configure. When enabled, Openbox will attempt to load svg image files using the library, similar to how Imlib2 is used for other image formats. Since librsvg uses the libXml2 library, their errors end up in the same global namespace as Openbox config file parsing. To avoid this, we reset the libXml current error whenever we start loading a file, and save the last error that occurred when we are finished, by storing the error in the ObtXmlInst. --- configure.ac | 33 ++++++++++++++++++++++++++++++++- 1 file changed, 32 insertions(+), 1 deletion(-) (limited to 'configure.ac') diff --git a/configure.ac b/configure.ac index a1833090..49cfd938 100644 --- a/configure.ac +++ b/configure.ac @@ -195,6 +195,36 @@ fi AM_CONDITIONAL(USE_IMLIB2, [test $imlib2_found = yes]) +AC_ARG_ENABLE(librsvg, + AC_HELP_STRING( + [--disable-librsvg], + [disable use of SVG image files for loading icons. [default=enabled]] + ), + [enable_librsvg=$enableval], + [enable_librsvg=yes] +) + +if test "$enable_librsvg" = yes; then +PKG_CHECK_MODULES(LIBRSVG, [librsvg-2.0], + [ + AC_DEFINE(USE_LIBRSVG, [1], [Use SVG image files]) + AC_SUBST(LIBRSVG_CFLAGS) + AC_SUBST(LIBRSVG_LIBS) + # export it for the pkg-config file + PKG_CONFIG_LIBRSVG=librsvg-2.0 + AC_SUBST(PKG_CONFIG_LIBRSVG) + librsvg_found=yes + ], + [ + librsvg_found=no + ] +) +else + librsvg_found=no +fi + +AM_CONDITIONAL(USE_LIBRSVG, [test $librsvg_found = yes]) + dnl Check for session management X11_SM @@ -233,6 +263,7 @@ AC_MSG_RESULT([Compiling with these options: Startup Notification... $sn_found X Cursor Library... $xcursor_found Session Management... $SM - Imlib2 library... $imlib2_found + Imlib2 Library... $imlib2_found + SVG Support (librsvg)... $librsvg_found ]) AC_MSG_RESULT([configure complete, now type "make"]) -- cgit v1.2.3