[OE-core] [PATCH] waf.bbclass: explicitly pass libdir
Stefan Agner
stefan at agner.ch
Mon Dec 11 14:16:44 UTC 2017
On 2017-12-11 15:01, Burton, Ross wrote:
> On 11 December 2017 at 13:57, Stefan Agner <stefan at agner.ch> wrote:
>
>> From: Stefan Agner <stefan.agner at toradex.com>
>>
>> On some build hosts distros (e.g. Fedora 26) waf tries to be
>> smart about libdir detection and defaults to [EXEC_PREFIX/lib64].
>> This obviously is not what we want for 32-bit targets and usually
>> fails in the do_package phase:
>> WARNING: gstreamer1.0-plugins-imx-0.13.0-r0 do_package: QA Issue: gstreamer1.0-plugins-imx: Files/directories were installed but not shipped in any package:
>> /usr/lib64/libgstimxcommon.so.0
>>
>> Explicitly pass libdir to waf reliably resolves the issue.
>
> What happens if the wscript doesn't recognise --libdir, does it silently ignore it or throw an error?
Hm, isn't this a "base" option which is always supported?
>
> If waf supports prefix and libdir and doesn't error on unknown options, does it also support datadir/sysconfdir and so on? We should pass as much as possible. The gnu_dirs module suggests yes, so you could copy what autotools passes.
>
There are a bunch of others. But most seem to derive from PREFIX, which
we set...
Installation prefix:
By default, "waf install" will put the files in "/usr/local/bin",
"/usr/local/lib" etc. An installation prefix other than
"/usr/local" can be given using "--prefix", for example
"--prefix=$HOME"
--prefix=PREFIX installation prefix [default: '/usr/local/']
--destdir=DESTDIR installation root [default: '']
--exec-prefix=EXEC_PREFIX
installation prefix for binaries [PREFIX]
Installation directories:
--bindir=BINDIR user commands [EXEC_PREFIX/bin]
--sbindir=SBINDIR system binaries [EXEC_PREFIX/sbin]
--libexecdir=LIBEXECDIR
program-specific binaries [EXEC_PREFIX/libexec]
--sysconfdir=SYSCONFDIR
host-specific configuration [PREFIX/etc]
--sharedstatedir=SHAREDSTATEDIR
architecture-independent variable data
[PREFIX/com]
--localstatedir=LOCALSTATEDIR
variable data [PREFIX/var]
--libdir=LIBDIR object code libraries [EXEC_PREFIX/lib64]
--includedir=INCLUDEDIR
header files [PREFIX/include]
--oldincludedir=OLDINCLUDEDIR
header files for non-GCC compilers
[/usr/include]
--datarootdir=DATAROOTDIR
architecture-independent data root
[PREFIX/share]
--datadir=DATADIR architecture-independent data [DATAROOTDIR]
--infodir=INFODIR GNU "info" documentation [DATAROOTDIR/info]
--localedir=LOCALEDIR
locale-dependent data [DATAROOTDIR/locale]
--mandir=MANDIR manual pages [DATAROOTDIR/man]
--docdir=DOCDIR documentation root [DATAROOTDIR/doc/PACKAGE]
--htmldir=HTMLDIR HTML documentation [DOCDIR]
--dvidir=DVIDIR DVI documentation [DOCDIR]
--pdfdir=PDFDIR PDF documentation [DOCDIR]
--psdir=PSDIR PostScript documentation [DOCDIR]
--
Stefan
More information about the Openembedded-core
mailing list