Ticket #45160

Meson: Rework icu dependency handling

Open Date: 2022-07-19 22:32 Last Update: 2022-08-06 19:19

Reporter:
Owner:
Type:
Status:
Closed
Component:
MileStone:
Priority:
5 - Medium
Severity:
5 - Medium
Resolution:
Fixed
File:
1

Details

Currently meson build just does find_library('icu') when building libfreeciv. For comparison, autotools does pkg-config on icu-uc at configure time.

That current meson implementation has several shortcomings:
- It's awfully late to detect missing dependencies halfway through the *build* phase + resulting in obscure error messages (took me a while to figure out why the specific symbol was not available on that specific architecture, as the error told)
- It only does the library detection part. Include paths are not touched at all.
- It can break when icu needs special compile/link flags (like linking in its own dependencies). pkg-config would (at least in theory - if the icu packaging for the platform is done right) feed in all the correct flags

This is causing one of the build failures on homebrew/macOS meson builds on #45156

Ticket History (3/4 Histories)

2022-07-19 22:32 Updated by: cazfi
  • New Ticket "Meson: Rework icu dependency handling" created
2022-07-29 07:35 Updated by: cazfi
  • Owner Update from (None) to cazfi
  • Resolution Update from None to Accepted
2022-08-06 19:19 Updated by: cazfi
  • Status Update from Open to Closed
  • Resolution Update from Accepted to Fixed

Edit

Please login to add comment to this ticket » Login