tech-pkg archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: libtool archives for modules (or plugins) in pkgsrc



Hi all,

Finally, after reading the mk files. I think there is a problem about how pkgsrc manages the dynamic loaded library on macos.

In mk/plist/shlib-dylib.awk:

There is a rule for dynamically loadable module:

###
### If the ".so" file actually exists, then it's a dynamically loadable
### module, so the entry should stay.  Convert it into a dylib name as
### well and record it as a dylib.
###
/.*\/lib[^\/]+\.so$/ {
	cmd = TEST " -f " PREFIX "/" $0
	if (system(cmd) == 0) {
		entries[++nentries] = $0
	}
	lib = $0; sub("\\.so$", "", lib)
	lib = lib ".dylib"
	add_dylib(lib)
	if (sub("-([0-9.]+)$", "")) {
		lib = $0 ".dylib"
		add_dylib(lib)
	}
	next
}

But normally a module don't start with "lib" in its name. If we use libtool flags -module, the module name cannot start with "lib".

Moreover, awk regexg in shlib-pe.awk and shill-som.awk don't use the same rexpexp as shlib-dylib.awk for the modules.

The awk rule should be: /.*\/[^\/]+\.so$/ for the module on darwin. I'm right or wrong?

Clément Bouvier.



Home | Main Index | Thread Index | Old Index