Hi Richard,

When I build the 'official' Evince for Windows I always build it with
shared libraries. I have no experience with building it statically.

I think it is like this: libevdocument is evince's library to handle
documents. You can dynamically add plugins for handeling different
document formats. So for pdf documents Evince uses a libpdfdocument
plugin. I think these plugins are always shared libraries.
When you statically compile libevdocument, it still looks for shared
library plugins like libpdfdocument.dll. So I think you should not add
'--disable-shared' to your configure.

Regards,

Hib Eris






On Sat, Feb 16, 2013 at 4:11 PM, Richard Shann <richard.sh...@virgin.net> wrote:
> Hi,
> In the GNU/Denemo project we are trying to cross-compile libevince 2.32.
> for windows. We are using mxe for this, and have a configure step
> looking like this
> ./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)
>
> We get a static library for evince but also another static library
> lib/evince/3/backends/libpdfdocument.a and the .la file.
> However, when the evince widget tries to load a pdf document it
> complains that libpdfdocument.dll is not found in the backends
> directory.
>
> Is there something wrong with our configure step? (I should mention we
> also need two patches to enable the compilation, appended below).
>
> Richard Shann
>
> 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><
>
>
> _______________________________________________
> evince-list mailing list
> evince-list@gnome.org
> https://mail.gnome.org/mailman/listinfo/evince-list
_______________________________________________
evince-list mailing list
evince-list@gnome.org
https://mail.gnome.org/mailman/listinfo/evince-list

Reply via email to