[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