mingw-cross-env-list
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Mingw-cross-env-list] Help building libevince?


From: Richard Shann
Subject: [Mingw-cross-env-list] Help building libevince?
Date: Sat, 16 Feb 2013 14:32:35 +0000

We have GNU/Denemo built with mxe and have been working through several
problems. We have been stuck now on libevince for a while. We have it
building as a static library, but it also generates a .a and .la file in
its backends directory for displaying pdf files:

usr/i686-pc-mingw32/lib/evince/3/backends/libpdfdocument.a

However, at run time it tries to find libpdfdocument.dll in that
directory and as there is none, it says it cannot load pdf files. (What
it is doing is invoking GObject's module system for loading plugins).

I was wondering if anyone could comment on the evince.mk that we are
using:
8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><
# This file is *NOT* part of MXE.
# See index.html for further information.

PKG             := evince
$(PKG)_IGNORE   :=
$(PKG)_CHECKSUM := 2f06a2b9dfd8667f4b4c6e90be3c49f6fe026fc8
$(PKG)_SUBDIR   := evince-$($(PKG)_VERSION)
$(PKG)_FILE     := evince-$($(PKG)_VERSION).tar.bz2
$(PKG)_URL      :=
http://ftp.gnome.org/pub/GNOME/sources/evince/2.32/$($(PKG)_FILE)
$(PKG)_DEPS     := gcc gtk2 poppler

define $(PKG)_UPDATE
    $(WGET) -q -O- 'http://ftp.gnome.org/pub/GNOME/sources/evince/2.32/'
| \
    grep 'evince-' | \
    $(SED) -n 's,.*evince-\([0-9][^>]*\)\.tar.*,\1,p' | \
    head -1
endef

define $(PKG)_BUILD
    cd '$(1)/' && ./configure \
        --host='$(TARGET)' \
        --disable-shared \
        --prefix='$(PREFIX)/$(TARGET)' \
        --without-libgnome \
        --without-gconf \
        --without-keyring \
        --with-platform=win32 \
        --with-smclient-backend=win32 \
        --disable-help \
        --disable-thumbnailer \
        --disable-nautilus \
        --disable-dbus \
        --disable-gtk-doc \
        --disable-previewer \
        --disable-nls \
        --without-gtk-unix-print \
        --disable-comics \
        CONFIG_SHELL=$(SHELL)
    $(MAKE) -C '$(1)/' -j '$(JOBS)' install
endef
8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><
There are two patches for evince in case anyone would like to actually
try the build:
8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><---
 evince-2.32.0/shell/main.c      2010-07-27 11:47:54.000000000 -0400
+++ evince-2.32.0.new/shell/main.c      2013-02-02 23:57:54.000000000 -0500
@@ -43,9 +43,6 @@
 #ifdef G_OS_WIN32
 #include <io.h>
 #include <conio.h>
-#if !(_WIN32_WINNT >= 0x0500)
-#error "_WIN32_WINNT must be defined >= 0x0500"
-#endif
 #include <windows.h>
 #endif
 
@@ -249,7 +246,7 @@ main (int argc, char *argv[])
          AttachConsole_t p_AttachConsole =
            (AttachConsole_t) GetProcAddress (GetModuleHandle
("kernel32.dll"), "AttachConsole");
 
-         if (p_AttachConsole != NULL && p_AttachConsole
(ATTACH_PARENT_PROCESS))
+         if (p_AttachConsole != NULL && p_AttachConsole (-1))
       {
              freopen ("CONOUT$", "w", stdout);
              dup2 (fileno (stdout), 1);
8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><---
 evince-2.32.0/backend/pdf/ev-poppler.cc 2010-09-27 12:54:34.000000000 -0400
+++ evince-2.32.0.new/backend/pdf/ev-poppler.cc 2013-02-02
23:40:15.000000000 -0500
@@ -1934,9 +1934,7 @@ pdf_selection_get_selected_text (EvSelec
        r.x2 = points->x2;
        r.y2 = height - points->y1;
 
-       retval = poppler_page_get_text (poppler_page,
-                                       (PopplerSelectionStyle)style,
-                                       &r);
+       retval = poppler_page_get_text (poppler_page);
 #endif /* HAVE_POPPLER_PAGE_GET_SELECTED_TEXT */
 
        return retval;
@@ -2054,9 +2052,7 @@ pdf_document_text_get_text (EvDocumentTe
        r.y1 = 0;
        poppler_page_get_size (poppler_page, &(r.x2), &(r.y2));
 
-       return poppler_page_get_text (poppler_page,
-                                     POPPLER_SELECTION_WORD,
-                                     &r);
+       return poppler_page_get_text (poppler_page);
 }
 #endif /* HAVE_POPPLER_PAGE_GET_SELECTED_TEXT */
 
8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><

Any pointers would be much appreciated!

Richard Shann







reply via email to

[Prev in Thread] Current Thread [Next in Thread]