git: 15c83087b3d0 - main - multimedia/mlt7: fix build with lld 17

From: Dimitry Andric <dim_at_FreeBSD.org>
Date: Sat, 11 Nov 2023 17:46:41 UTC
The branch main has been updated by dim:

URL: https://cgit.FreeBSD.org/ports/commit/?id=15c83087b3d08f00fd6d510df6491e9ff9e80ce8

commit 15c83087b3d08f00fd6d510df6491e9ff9e80ce8
Author:     Dimitry Andric <dim@FreeBSD.org>
AuthorDate: 2023-11-11 17:41:29 +0000
Commit:     Dimitry Andric <dim@FreeBSD.org>
CommitDate: 2023-11-11 17:46:13 +0000

    multimedia/mlt7: fix build with lld 17
    
    Building multimedia/mlt7 with lld 17 results in the following link
    errors:
    
      ld: error: version script assignment of 'MLT_0.8.8' to symbol 'mlt_frame_get_alpha_mask' failed: symbol not defined
      ld: error: version script assignment of 'MLT_0.8.8' to symbol 'mlt_geometry_close' failed: symbol not defined
      ld: error: version script assignment of 'MLT_0.8.8' to symbol 'mlt_geometry_fetch' failed: symbol not defined
      ld: error: version script assignment of 'MLT_0.8.8' to symbol 'mlt_geometry_get_length' failed: symbol not defined
      ld: error: version script assignment of 'MLT_0.8.8' to symbol 'mlt_geometry_init' failed: symbol not defined
      ld: error: version script assignment of 'MLT_0.8.8' to symbol 'mlt_geometry_insert' failed: symbol not defined
      ld: error: version script assignment of 'MLT_0.8.8' to symbol 'mlt_geometry_interpolate' failed: symbol not defined
      ld: error: version script assignment of 'MLT_0.8.8' to symbol 'mlt_geometry_next_key' failed: symbol not defined
      ld: error: version script assignment of 'MLT_0.8.8' to symbol 'mlt_geometry_parse' failed: symbol not defined
      ld: error: version script assignment of 'MLT_0.8.8' to symbol 'mlt_geometry_parse_item' failed: symbol not defined
      ld: error: version script assignment of 'MLT_0.8.8' to symbol 'mlt_geometry_prev_key' failed: symbol not defined
      ld: error: version script assignment of 'MLT_0.8.8' to symbol 'mlt_geometry_refresh' failed: symbol not defined
      ld: error: version script assignment of 'MLT_0.8.8' to symbol 'mlt_geometry_remove' failed: symbol not defined
      ld: error: version script assignment of 'MLT_0.8.8' to symbol 'mlt_geometry_serialise' failed: symbol not defined
      ld: error: version script assignment of 'MLT_0.8.8' to symbol 'mlt_geometry_serialise_cut' failed: symbol not defined
      ld: error: version script assignment of 'MLT_0.8.8' to symbol 'mlt_geometry_set_length' failed: symbol not defined
      ld: error: version script assignment of 'MLT_0.8.8' to symbol 'mlt_playlist_move_region' failed: symbol not defined
      ld: error: version script assignment of 'MLT_0.8.8' to symbol 'mlt_sample_calculator' failed: symbol not defined
      ld: error: version script assignment of 'MLT_0.8.8' to symbol 'mlt_sample_calculator_to_now' failed: symbol not defined
      ld: error: version script assignment of 'MLT_0.9.10' to symbol 'mlt_properties_to_utf8' failed: symbol not defined
    
    Add -Wl,--undefined-version to LDFLAGS to suppress these errors, since
    mlt7 has several symbols that are defined conditionally (depending on
    the target platform).
    
    PR:             273753
    MFH:            2023Q4
---
 multimedia/mlt7/Makefile | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/multimedia/mlt7/Makefile b/multimedia/mlt7/Makefile
index 0f3759ee51be..3d71406a9346 100644
--- a/multimedia/mlt7/Makefile
+++ b/multimedia/mlt7/Makefile
@@ -17,6 +17,9 @@ USES+=			alias cmake compiler:c++11-lang eigen:3 localbase \
 			pathfix pkgconfig
 USE_LDCONFIG=		yes
 
+# Suppress errors with lld >= 17 due to undefined symbols.
+LDFLAGS+=		-Wl,--undefined-version
+
 DATADIR=		${PREFIX}/share/mlt-7
 
 .ifndef(SLAVEPORT) # Master port.