Patchwork [26/28] bitbake.conf: Work around dev symlink problems on darwin

login
register
mail settings
Submitter Richard Purdie
Date Aug. 22, 2013, 11:29 a.m.
Message ID <1377171000-6469-26-git-send-email-richard.purdie@linuxfoundation.org>
Download mbox | patch
Permalink /patch/56223/
State Accepted
Commit 51c3dbe2df45096bbd7866adabb08e114952ff13
Headers show

Comments

Richard Purdie - Aug. 22, 2013, 11:29 a.m.
On darwin, we have:

libxxx.dylib -> libxxx.Y.dylib

compared to Linux which has:

libxxx.so -> libxxx.so.Y

Our ordering of PACKAGES with -dev first and then ${PN} makes it impossible to
match the files correctly using simple globbing. This makes darwin targets
completely broken since both the libs and the dev symlinks end up in ${PN}-dev.

Whilst this commit is a hack, it at least puts the files into ${PN} and allows the
builds to be used. Symlinks don't take up much space so this isn't the end of
the world. I'm open to better solutions to this.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
---
 meta/conf/bitbake.conf | 15 +++++++++------
 1 file changed, 9 insertions(+), 6 deletions(-)

Patch

diff --git a/meta/conf/bitbake.conf b/meta/conf/bitbake.conf
index 4535f68..45a5221 100644
--- a/meta/conf/bitbake.conf
+++ b/meta/conf/bitbake.conf
@@ -259,14 +259,17 @@  RPROVIDES = ""
 MULTI_PROVIDER_WHITELIST = "virtual/libintl virtual/libintl-native virtual/nativesdk-libintl virtual/xserver virtual/update-alternatives-native virtual/update-alternatives"
 
 SOLIBS = ".so.*"
-SOLIBS_darwin = ".*.dylib"
-SOLIBS_darwin8 = ".*.dylib"
-SOLIBS_darwin9 = ".*.dylib"
+SOLIBS_darwin = ".dylib"
+SOLIBS_darwin8 = ".dylib"
+SOLIBS_darwin9 = ".dylib"
 
 SOLIBSDEV = ".so"
-SOLIBSDEV_darwin = ".dylib"
-SOLIBSDEV_darwin8 = ".dylib"
-SOLIBSDEV_darwin9 = ".dylib"
+# Due to the ordering of PACKAGES and the naming of the dev symlinks on darwin,
+# we can't make the symlinks end up in the -dev packages easily at this point. This hack
+# at least means builds aren't completely broken and symlinks don't take up much space.
+SOLIBSDEV_darwin = ".dylibbroken"
+SOLIBSDEV_darwin8 = ".dylibbroken"
+SOLIBSDEV_darwin9 = ".dylibbroken"
 
 PACKAGE_BEFORE_PN ?= ""
 PACKAGES = "${PN}-dbg ${PN}-staticdev ${PN}-dev ${PN}-doc ${PN}-locale ${PACKAGE_BEFORE_PN} ${PN}"