From: Stanislav Brabec <utx@penguin.cz>
To: openembedded-devel@lists.openembedded.org
Subject: Re: Revert "package bbclass: strip static libs as well"
Date: Sat, 24 Oct 2009 16:13:43 +0200 [thread overview]
Message-ID: <1256393623.4307.1@zaurus> (raw)
In-Reply-To: <1256390835.4307.0@zaurus> (from utx@penguin.cz on Sat Oct 24 15:27:15 2009)
Stanislav Brabec wrote:
> FILES_${PN}-static = "" is not fully correct general solution. There
> are projects, that have more static libraries. Only listed static
> libraries must go to -dev, the rest may go to -static. A good
> example is libsdl-x11. Only libSDLmain.a must go to -dev, the rest
SDL is not a good example, orbit2 is a better example.
Being able to write ${PN}-dev += "${libdir}/libfoo.a" instead of
overwriting of
${PN}-static with a negative expression would be more comfortable. I
guess that it depends only on the order of evaluation in the bbclass
file.
The QA test should be:
libfoo.a is in -static but libfoo.so does not exist => issue fatal QA
error with
proposed fix: move libfoo.a e. g. to -dev.
Note that libgcc.a has to go to the main package. Even -dev is not
correct here.
Here is a new bash command and its output:
utx@/OE/build/tmp/work> find */*/image -name '*.a' | fgrep -v .debug |
while read ; do if ! test -f "${REPLY%.a}.so" ; then PKG=$REPLY ;
PKG=${PKG#*/} ; PKG=${PKG%%/*} ; echo
$PKG ; fi ; done | uniq -c | while read COUNT PKG ; do XCOUNT=$(find
*/$PKG/image -name '*.a' | fgrep -v .debug | wc -l) ; echo -n $PKG:
$XCOUNT static total, $COUNT static unique ; if test $COUNT -eq $XCOUNT
; then echo ' => can use simple expression' ; else echo ' => needs
complex expression' ; fi ; done
alsa-oss-1.0.17-r0: 3 static total, 1 static unique => needs complex
expression
binutils-2.18-r8.1: 3 static total, 1 static unique => needs complex
expression
bison-2.3-r0: 1 static total, 1 static unique => can use simple
expression
bridge-utils-1.4-r0: 1 static total, 1 static unique => can use simple
expression
firefox-3.5.2-r2: 12 static total, 12 static unique => can use simple
expression
flex-2.5.31-r4: 1 static total, 1 static unique => can use simple
expression
gcc-cross-4.3.3-r7.1: 12 static total, 12 static unique => can use
simple expression
gcc-4.3.3-r7.1: 10 static total, 7 static unique => needs complex
expression
gdb-7.0-r0: 3 static total, 3 static unique => can use simple expression
glibc-2.9-r35.2: 17 static total, 6 static unique => needs complex
expression
libassuan-0.6.9-r0: 1 static total, 1 static unique => can use simple
expression
libatomics-ops-1.2-r2: 2 static total, 2 static unique => can use
simple expression
libsdl-x11-1.2.11-r8: 1 static total, 1 static unique => can use simple
expression
mysql-4.1.22-r3: 11 static total, 10 static unique => needs complex
expression
orbit2-2.14.17-r0: 5 static total, 1 static unique => needs complex
expression
perl-5.8.8-r28: 1 static total, 1 static unique => can use simple
expression
python-2.6.1-ml8.0: 1 static total, 1 static unique => can use simple
expression
tcl-8.4.19-r2: 1 static total, 1 static unique => can use simple
expression
tk-8.4.19-r0: 1 static total, 1 static unique => can use simple
expression
tcl-native-8.4.19-r2: 1 static total, 1 static unique => can use simple
expression
tk-native-8.4.19-r0: 1 static total, 1 static unique => can use simple
expression
The simple expression can be .../*.a in -dev (or -sdk or so) or
emptying of -static.
gcc may need special care and double thinking. But I guess that the
logic: "Do you want to compile static binaries? Install gcc-static." is
valid here as well.
--
Stanislav Brabec
http://www.penguin.cz/~utx/zaurus
next prev parent reply other threads:[~2009-10-24 14:14 UTC|newest]
Thread overview: 44+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-10-23 3:04 Revert "package bbclass: strip static libs as well" Holger Hans Peter Freyther
2009-10-23 7:23 ` Koen Kooi
2009-10-23 7:30 ` Holger Hans Peter Freyther
2009-10-23 7:58 ` Koen Kooi
2009-10-23 8:23 ` Holger Hans Peter Freyther
2009-10-23 8:36 ` Phil Blundell
2009-10-23 9:14 ` Koen Kooi
2009-10-23 9:33 ` Holger Hans Peter Freyther
2009-10-23 9:46 ` Koen Kooi
2009-10-23 9:54 ` Holger Hans Peter Freyther
2009-10-23 10:03 ` Koen Kooi
2009-10-23 10:24 ` Phil Blundell
2009-10-23 11:07 ` Stanislav Brabec
2009-10-23 11:34 ` Holger Hans Peter Freyther
2009-10-23 22:31 ` Stanislav Brabec
2009-10-24 0:29 ` Khem Raj
2009-10-24 8:48 ` Koen Kooi
2009-10-24 13:27 ` Stanislav Brabec
2009-10-24 14:13 ` Stanislav Brabec [this message]
2009-10-24 14:33 ` Phil Blundell
2009-10-24 14:57 ` Koen Kooi
2009-10-24 14:06 ` Phil Blundell
2009-10-24 15:18 ` Koen Kooi
2009-10-24 15:39 ` Stanislav Brabec
2009-10-24 18:45 ` Phil Blundell
2009-10-24 19:33 ` Stanislav Brabec
2009-10-23 12:11 ` Leon Woestenberg
2009-10-23 12:12 ` Phil Blundell
2009-10-23 12:28 ` Koen Kooi
2009-10-23 12:37 ` Phil Blundell
2009-10-23 12:42 ` Phil Blundell
2009-10-23 12:56 ` Koen Kooi
2009-10-24 2:32 ` Holger Hans Peter Freyther
2009-10-24 3:42 ` Denys Dmytriyenko
2009-10-24 8:40 ` Koen Kooi
2009-10-23 18:21 ` Denys Dmytriyenko
2009-10-23 18:36 ` Phil Blundell
2009-10-23 19:53 ` Khem Raj
2009-10-23 18:26 ` Denys Dmytriyenko
2009-10-27 9:38 ` Koen Kooi
2009-10-27 10:21 ` Phil Blundell
2009-10-27 10:29 ` Koen Kooi
2009-10-27 10:50 ` Holger Hans Peter Freyther
2009-10-27 11:24 ` Koen Kooi
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1256393623.4307.1@zaurus \
--to=utx@penguin.cz \
--cc=openembedded-devel@lists.openembedded.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox