The FreeType Project - Bugs: bug #53287, Support DLL builds in CMake builds
You are not allowed to post comments on this tracker with your current authentication level.
bug #53287: Support DLL builds in CMake builds
Submitter: | Chun-wei Fan <fanc999> | ||
Submitted: | Mon 05 Mar 2018 04:58:33 AM UTC | ||
Severity: | 3 - Normal | Item Group: | None |
Status: | Fixed | Privacy: | Public |
Assigned to: | wl | Open/Closed: | Closed |
Planned Release: | 2.9.1 |
Jump to the original submission
Mon 12 Mar 2018 10:40:05 AM UTC, comment #10: |
Nikolaus Waxweiler <morksig> |
Sun 11 Mar 2018 05:11:16 PM UTC, comment #9: "C_VISIBILITY_PRESET hidden" is preferred to deprecated GenerateExportHeader. We should ask Behdad how HarfBuzz controls its symbol visibility. |
Alexei Podtelezhnikov <podtelez> |
Sat 10 Mar 2018 11:24:53 PM UTC, comment #8: Ok, when re-running the `./builds/unix/libtool --mode=link gcc [...] -no-undefined` command without passing a symbol export file, I get the same results as the CMake file, i.e. truckloads of Harfbuzz symbols.
|
Nikolaus Waxweiler <morksig> |
Sat 10 Mar 2018 04:04:03 PM UTC, comment #7: Ah, figured out the symbols thing. The CMake shared library declaration should read:
|
Nikolaus Waxweiler <morksig> |
Sat 10 Mar 2018 03:15:13 PM UTC, comment #6: "-fPIC" turns up when I define BUILD_SHARED_LIBS=ON (Fedora 27 x64, GCC 7.3.1, cmake 3.10.x).
|
Nikolaus Waxweiler <morksig> |
Fri 09 Mar 2018 04:13:57 PM UTC, comment #5: MSVC defines _DLL, libtool defines DLL_EXPORT.
|
Alexei Podtelezhnikov <podtelez> |
Fri 09 Mar 2018 05:53:00 AM UTC, comment #4: Applied, thanks! Please test. |
Werner LEMBERG <wl> |
Fri 09 Mar 2018 03:24:00 AM UTC, comment #3: Hi,
|
Chun-wei Fan <fanc999> |
Tue 06 Mar 2018 03:14:56 PM UTC, comment #2: Agree. Only the first two hanks of the patch might be useful. |
Alexei Podtelezhnikov <podtelez> |
Mon 05 Mar 2018 05:38:20 AM UTC, comment #1: Thanks for the patch! However, I wonder whether it is really necessary, since code for conditionally using `__declspec' has been added recently, cf.
|
Werner LEMBERG <wl> |
Mon 05 Mar 2018 04:58:33 AM UTC, original submission:
Hi,
|
Chun-wei Fan <fanc999> |
Depends on the following items: None found
Items that depend on this one: None found
There are 0 votes so far. Votes easily highlight which items people would like to see resolved in priority, independently of the priority of the item set by tracker managers.
Follow 8 latest changes.
Date | Changed by | Updated Field | Previous Value | => | Replaced by |
---|---|---|---|---|---|
2018-03-11 | podtelez | Carbon-Copy | - | Added -email is unavailable- | |
2018-03-09 | wl | Status | Need Info | Fixed | |
Open/Closed | Open | Closed | |||
Planned Release | None | 2.9.1 | |||
2018-03-09 | fanc999 | Attached File | - | Added 0001-CMakeLists.txt-win32-Allow-MSVC-DLL-builds-53287.patch, #43495 | |
2018-03-05 | wl | Status | None | Need Info | |
Assigned to | None | wl | |||
2018-03-05 | fanc999 | Attached File | - | Added 0001-CMakeLists.txt-win32-Allow-MSVC-DLL-builds-53287.patch, #43464 |
Powered by Savane 3.13-02a9.
Corresponding source code
I just ran an MSYS/MingW build of git master (C_VISIBILITY_PRESET not set!) from my Windows machine with the command:
Files get compiled with a command line like this:
Linking:
Running http://www.nirsoft.net/utils/dll_export_viewer.html on the resulting DLL shows only public API functions including TT_New_Context and TT_RunIns. Now that's funny.