Does anybody understand waf's linking libraries?
Hal Murray
hmurray at megapathdsl.net
Wed Sep 4 06:42:28 UTC 2019
I think I have figured out the big picture. PLATFORM_INCLUDES and
PLATFORM_LIBPATH are our variables rather than something waf knows about. (I
downloaded both source and book for waf, no hits.)
PLATFORM_LIBPATH is write only.
-bash-5.0$ grep PLATFORM_LIBPATH . -r
./bob2/c4che/main_cache.py:PLATFORM_LIBPATH = ['/usr/lib']
./wscript: ctx.env.PLATFORM_LIBPATH = ["/usr/local/lib"]
./wscript: ctx.env.PLATFORM_LIBPATH = ["/usr/lib", "/usr/pkg/lib"]
./wscript: ctx.env.PLATFORM_LIBPATH = ["/usr/lib"]
./wscript: ctx.env.PLATFORM_LIBPATH = ["/opt/local/lib"]
-bash-5.0$
PLATFORM_INCLUDES is used occasionally in places like this in ntpd/wscript:
includes=[ctx.bldnode.parent.abspath(), "../include", "../libaes_siv"]
+
ctx.env.PLATFORM_INCLUDES,
I think all we have to do is fill in the places where PLATFORM_LIBPATH should
get used.
----------
Ahh... I found some documentation for things like INCLUDES_NTPD
I'm guessing that PLATFORM_xxx is leftover from previous versions of waf.
In the waf book:
10.3.3. Foreign libraries and flags
After removing the PLATFORM_ current problem is:
bob2/main/ntpd/ntpd:
-lcrypto.1.0.0 => not found
-lssl.1.0.0 => not found
-lm.0 => /usr/lib/libm.so.0
...
What flags do I have to add to the link step to get it to remember where it
found the library files?
----------
ctx.env.LINKFLAGS_NTPD looks unused.
same for ctx.env.CFLAGS_bin
--
These are my opinions. I hate spam.
More information about the devel
mailing list