[cairo-bugs] [Bug 46299] New: Invalid .def file generated (breaks compilation on win32 using modern binutils)

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Sun Feb 19 13:28:09 PST 2012


             Bug #: 46299
           Summary: Invalid .def file generated (breaks compilation on
                    win32 using modern binutils)
    Classification: Unclassified
           Product: cairo
           Version: 1.10.3
          Platform: Other
        OS/Version: Windows (All)
            Status: NEW
          Severity: normal
          Priority: medium
         Component: general
        AssignedTo: cworth at cworth.org
        ReportedBy: erik-freedesktop-bugzilla at vanpienbroek.nl
         QAContact: cairo-bugs at cairographics.org

Recent versions of binutils (feb 2012) got more strict with regards to the processing of .def files. At the moment cairo automatically generates a .def file
like this:
LIBRARY libcairo-2.dll

This used to work in older versions of binutils, but according to Kai Tietz (one of the mingw-w64 developers) this .def file is incorrect. The documentation at
http://msdn.microsoft.com/en-us/library/d91k01sh%28v=vs.80%29.aspx states that .def files must start with the LIBRARY statement following by the EXPORTS

I'm not entirely sure how this can be fixed in cairo properly. There are two places where .def files are generated. The first is in src/Makefile.am (where the
EXPORTS and LIBRARY statements are also added). However, the output from this script is then also processed by the script src/check-def.sh. This check-def.sh
script adds another EXPORTS line and contains a hack to retrieve the last line (that would be the LIBRARY line) of the initial .def file.

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

More information about the cairo-bugs mailing list