diff options
| author | Jon A. Cruz <jon@joncruz.org> | 2011-06-10 09:46:50 +0000 |
|---|---|---|
| committer | Jon A. Cruz <jon@joncruz.org> | 2011-06-10 09:46:50 +0000 |
| commit | 8bfebadcfb9a99361782320eab0183410a1fdabf (patch) | |
| tree | 3c1a98d2f676d524a7fce256ba9a04083367f8af | |
| parent | improving measurement tool (diff) | |
| download | inkscape-8bfebadcfb9a99361782320eab0183410a1fdabf.tar.gz inkscape-8bfebadcfb9a99361782320eab0183410a1fdabf.zip | |
Modified build to conditionally build against either libwpg 0.1.x or 0.2.x. Fixes bug #778951.
Fixed bugs:
- https://launchpad.net/bugs/778951
(bzr r10266)
| -rw-r--r-- | configure.ac | 22 | ||||
| -rw-r--r-- | src/extension/internal/wpg-input.cpp | 17 |
2 files changed, 34 insertions, 5 deletions
diff --git a/configure.ac b/configure.ac index 8d0006dbc..f93c1a84b 100644 --- a/configure.ac +++ b/configure.ac @@ -713,15 +713,29 @@ dnl ****************************** dnl Check for libwpg for extension dnl ****************************** -PKG_CHECK_MODULES(LIBWPG, libwpg-0.1 libwpg-stream-0.1, with_libwpg=yes, with_libwpg=no) +PKG_CHECK_MODULES(LIBWPG01, libwpg-0.1 libwpg-stream-0.1, with_libwpg01=yes, with_libwpg01=no) +if test "x$with_libwpg01" = "xyes"; then + AC_DEFINE(WITH_LIBWPG01,1,[Build in libwpg 0.1.x]) + with_libwpg=yes + AC_SUBST(LIBWPG_LIBS, $LIBWPG01_LIBS) + AC_SUBST(LIBWPG_CFLAGS, $LIBWPG01_CFLAGS) +fi +AM_CONDITIONAL(WITH_LIBWPG01, test "x$with_libwpg01" = "xyes") + +PKG_CHECK_MODULES(LIBWPG02, libwpg-0.2 libwpd-0.9 libwpd-stream-0.9, with_libwpg02=yes, with_libwpg02=no) +if test "x$with_libwpg02" = "xyes"; then + AC_DEFINE(WITH_LIBWPG02,1,[Build in libwpg 0.2.x]) + with_libwpg=yes + AC_SUBST(LIBWPG_LIBS, $LIBWPG02_LIBS) + AC_SUBST(LIBWPG_CFLAGS, $LIBWPG02_CFLAGS) +fi +AM_CONDITIONAL(WITH_LIBWPG02, test "x$with_libwpg02" = "xyes") + if test "x$with_libwpg" = "xyes"; then AC_DEFINE(WITH_LIBWPG,1,[Build in libwpg]) fi AM_CONDITIONAL(WITH_LIBWPG, test "x$with_libwpg" = "xyes") -AC_SUBST(LIBWPG_LIBS) -AC_SUBST(LIBWPG_CFLAGS) - dnl ****************************** dnl Support doing a local install dnl (mostly for distcheck) diff --git a/src/extension/internal/wpg-input.cpp b/src/extension/internal/wpg-input.cpp index 70fa28967..b6425b380 100644 --- a/src/extension/internal/wpg-input.cpp +++ b/src/extension/internal/wpg-input.cpp @@ -50,8 +50,11 @@ #include "document.h" #include "libwpg/libwpg.h" +#if WITH_LIBWPG01 #include "libwpg/WPGStreamImplementation.h" - +#elif WITH_LIBWPG02 +#include "libwpd-stream/libwpd-stream.h" +#endif using namespace libwpg; @@ -62,9 +65,17 @@ namespace Internal { SPDocument * WpgInput::open(Inkscape::Extension::Input * mod, const gchar * uri) { +#if WITH_LIBWPG01 WPXInputStream* input = new libwpg::WPGFileStream(uri); +#elif WITH_LIBWPG02 + WPXInputStream* input = new WPXFileStream(uri); +#endif if (input->isOLEStream()) { +#if WITH_LIBWPG01 WPXInputStream* olestream = input->getDocumentOLEStream(); +#elif WITH_LIBWPG02 + WPXInputStream* olestream = input->getDocumentOLEStream("PerfectOffice_MAIN"); +#endif if (olestream) { delete input; input = olestream; @@ -79,7 +90,11 @@ WpgInput::open(Inkscape::Extension::Input * mod, const gchar * uri) { return NULL; } +#if WITH_LIBWPG01 libwpg::WPGString output; +#elif WITH_LIBWPG02 + WPXString output; +#endif if (!libwpg::WPGraphics::generateSVG(input, output)) { delete input; return NULL; |
