[MacPorts] #65788: poppler: port does not create static libs
MacPorts
noreply at macports.org
Wed Sep 7 23:32:20 UTC 2022
#65788: poppler: port does not create static libs
-----------------------+----------------------
Reporter: potterpg | Owner: mascguy
Type: defect | Status: assigned
Priority: Normal | Milestone:
Component: ports | Version: 2.7.2
Resolution: | Keywords:
Port: poppler |
-----------------------+----------------------
Comment (by ryandesign):
It used to be the case that MacPorts ports would generally install both
static and dynamic libs. The reason for this was that most ports built
their libraries using
[https://www.gnu.org/software/automake/manual/html_node/Autotools-
Introduction.html autotools] (autoconf, automake, libtool), and the
default for that toolchain is to build and install both static (`--enable-
static`) and dynamic (`--enable-shared`) libs.
However in the decades since then many projects have switched to other
build systems, for better or for worse. Poppler now uses
[https://cmake.org CMake]. (The poppler
[https://gitlab.freedesktop.org/poppler/poppler/-/commit/37d2055137c310ceb217164a76814b188be3b1b2
cmake build system was introduced in 2008] alongside autotools for many
years before the
[https://gitlab.freedesktop.org/poppler/poppler/-/commit/851bc59c6f4b007333d064af5c6992702b92cdf6
autotools build system was removed in 2017].) CMake only allows you to
build either static (`-DBUILD_SHARED_LIBS=OFF`) or dynamic
(`-DBUILD_SHARED_LIBS=ON`) libs but not both at the same time (unless the
project has made special provisions for that by bypassing cmake's library
creation code and writing its own, which does not seem to be the case for
poppler; I know of only one cmake-using project that has done that).
So unfortunately without a massive restructuring of the cmake portgroup to
accommodate automatically performing multiple builds (one for static and
one for dynamic), we cannot offer a port of poppler (or most other cmake-
using software) that provides both static and dynamic libs. We must choose
one or the other, and we must choose dynamic libs. You could file a
feature request with the developers of cmake asking them to make it easy
to build both static and dynamic libs, if an issue has not already been
filed about this.
--
Ticket URL: <https://trac.macports.org/ticket/65788#comment:5>
MacPorts <https://www.macports.org/>
Ports system for macOS
More information about the macports-tickets
mailing list