| ... | ... | @@ -695,6 +695,7 @@ fn runPkgConfig(compile: *Compile, lib_name: []const u8) !PkgConfigResult { |
| 695 | 695 | // -lSDL2 -> pkg-config sdl2 |
| 696 | 696 | // -lgdk-3 -> pkg-config gdk-3.0 |
| 697 | 697 | // -latk-1.0 -> pkg-config atk |
| 698 | // -lpulse -> pkg-config libpulse |
| 698 | 699 | const pkgs = try getPkgConfigList(b); |
| 699 | 700 | |
| 700 | 701 | // Exact match means instant winner. |
| ... | ... | @@ -711,13 +712,14 @@ fn runPkgConfig(compile: *Compile, lib_name: []const u8) !PkgConfigResult { |
| 711 | 712 | } |
| 712 | 713 | } |
| 713 | 714 | |
| 714 | | // Now try appending ".0". |
| 715 | // Prefixed "lib" or suffixed ".0". |
| 715 | 716 | for (pkgs) |pkg| { |
| 716 | 717 | if (std.ascii.indexOfIgnoreCase(pkg.name, lib_name)) |pos| { |
| 717 | | if (pos != 0) continue; |
| 718 | | if (mem.eql(u8, pkg.name[lib_name.len..], ".0")) { |
| 719 | | break :match pkg.name; |
| 720 | | } |
| 718 | const prefix = pkg.name[0..pos]; |
| 719 | const suffix = pkg.name[pos + lib_name.len ..]; |
| 720 | if (prefix.len > 0 and !mem.eql(u8, prefix, "lib")) continue; |
| 721 | if (suffix.len > 0 and !mem.eql(u8, suffix, ".0")) continue; |
| 722 | break :match pkg.name; |
| 721 | 723 | } |
| 722 | 724 | } |
| 723 | 725 | |