[Poppler-bugs] [Bug 19219] Build DLL with mingw cross compiler

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Tue Dec 23 09:58:46 PST 2008


http://bugs.freedesktop.org/show_bug.cgi?id=19219





--- Comment #5 from Hib Eris <hib at hiberis.nl>  2008-12-23 09:58:45 PST ---
Created an attachment (id=21441)
 --> (http://bugs.freedesktop.org/attachment.cgi?id=21441)
patch-3-Let_compiler_figure_out_CDECL

When cross compiling, I get the following warnings, indicating a problem with
defining and re-defining the macro CDECL differently.

hiberis:mingw32> LIBTOOLFLAGS=--silent make -s
Making all in goo
Making all in fofi
Making all in splash
Making all in poppler
In file included from ../../poppler/GlobalParams.h:35,
                 from ../../poppler/SplashOutputDev.cc:37:
./poppler-config.h:80:1: warning: "CDECL" redefined
In file included from
/usr/lib/gcc/i586-mingw32msvc/4.2.1-sjlj/../../../../i586-mingw32msvc/include/windows.h:48,
                 from ../../goo/gfile.h:37,
                 from ../../poppler/SplashOutputDev.cc:36:
/usr/lib/gcc/i586-mingw32msvc/4.2.1-sjlj/../../../../i586-mingw32msvc/include/windef.h:111:1:
warning: this is the location of the previous definition
In file included from ../../goo/gmem.h:29,
                 from ../../poppler/GlobalParams.cc:45:
../poppler/poppler-config.h:80:1: warning: "CDECL" redefined
In file included from
/usr/lib/gcc/i586-mingw32msvc/4.2.1-sjlj/../../../../i586-mingw32msvc/include/windows.h:48,
                 from
/usr/lib/gcc/i586-mingw32msvc/4.2.1-sjlj/../../../../i586-mingw32msvc/include/rpc.h:2,
                 from
/usr/lib/gcc/i586-mingw32msvc/4.2.1-sjlj/../../../../i586-mingw32msvc/include/objbase.h:3,
                 from
/usr/lib/gcc/i586-mingw32msvc/4.2.1-sjlj/../../../../i586-mingw32msvc/include/ole2.h:9,
                 from
/usr/lib/gcc/i586-mingw32msvc/4.2.1-sjlj/../../../../i586-mingw32msvc/include/shlobj.h:11,
                 from ../../poppler/GlobalParams.cc:43:
/usr/lib/gcc/i586-mingw32msvc/4.2.1-sjlj/../../../../i586-mingw32msvc/include/windef.h:111:1:
warning: this is the location of the previous definition
In file included from ../../poppler/PDFDoc.cc:43:
./poppler-config.h:80:1: warning: "CDECL" redefined
In file included from
/usr/lib/gcc/i586-mingw32msvc/4.2.1-sjlj/../../../../i586-mingw32msvc/include/windows.h:48,
                 from ../../poppler/PDFDoc.cc:40:
/usr/lib/gcc/i586-mingw32msvc/4.2.1-sjlj/../../../../i586-mingw32msvc/include/windef.h:111:1:
warning: this is the location of the previous definition
Creating library file: .libs/libpoppler.dll.a
In file included from ../../poppler/GlobalParams.h:35,
                 from ../../poppler/CairoOutputDev.cc:44:
./poppler-config.h:80:1: warning: "CDECL" redefined
In file included from
/usr/lib/gcc/i586-mingw32msvc/4.2.1-sjlj/../../../../i586-mingw32msvc/include/windows.h:48,
                 from ../../goo/gfile.h:37,
                 from ../../poppler/CairoOutputDev.cc:43:
/usr/lib/gcc/i586-mingw32msvc/4.2.1-sjlj/../../../../i586-mingw32msvc/include/windef.h:111:1:
warning: this is the location of the previous definition
Making all in utils
Making all in glib
Making all in .
Creating library file: .libs/libpoppler-glib.dll.a
Making all in reference
Making all in demo
Making all in test
In file included from ../../poppler/Error.h:33,
                 from ../../test/perf-test.cc:47:
../poppler/poppler-config.h:80:1: warning: "CDECL" redefined
In file included from
/usr/lib/gcc/i586-mingw32msvc/4.2.1-sjlj/../../../../i586-mingw32msvc/include/windows.h:48,
                 from ../../test/perf-test.cc:24:
/usr/lib/gcc/i586-mingw32msvc/4.2.1-sjlj/../../../../i586-mingw32msvc/include/windef.h:111:1:
warning: this is the location of the previous definition
hiberis:mingw32> 



This patch will fix this. As indicated in the patch, I think CDECL should not
be defined by poppler, but included from windef.h.

This patch will work when cross compiling on Ubuntu. I did not test it with
mingw on windows, but do not expect any problems there. For Visual C compiler
and/or Cmake, there are different versions of poppler-config.h in git, so those
compilers do not use poppler-config.h.in I guess.


-- 
Configure bugmail: http://bugs.freedesktop.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.


More information about the Poppler-bugs mailing list