extractLibraries/extractFrameworks walked the merged root plus exactly one namespace_decl level, so a #library reached through two or more aliased imports never made it to the AOT link line or the JIT dlopen list. Both walks now recurse over namespace_decl children. Regression: examples/1617-modules-library-nested-namespace.sx binds libpcap (not in the compiler's loaded images, so the JIT cannot mask the miss via RTLD_DEFAULT) behind two aliased imports.
12 lines
310 B
Plaintext
12 lines
310 B
Plaintext
// Innermost module: owns the #library and its foreign fn.
|
|
#import "modules/std.sx";
|
|
|
|
pcaplib :: #library "pcap";
|
|
pcap_lib_version :: () -> ?cstring #foreign pcaplib "pcap_lib_version";
|
|
|
|
pcap_version :: () -> string {
|
|
p := pcap_lib_version();
|
|
if p == null { return ""; }
|
|
return from_cstring(p!);
|
|
}
|