[oe] Revert "package bbclass: strip static libs as well"
Koen Kooi
k.kooi at student.utwente.nl
Fri Oct 23 09:14:48 UTC 2009
On 23-10-09 10:36, Phil Blundell wrote:
> On Fri, 2009-10-23 at 10:23 +0200, Holger Hans Peter Freyther wrote:
>> One thing that pops back into my mind is to move .a files into a -static
>> package? People that want to link statically can pick their .a files.
>
> Yes, I think someone else proposed this a few weeks ago but it doesn't
> seem to have happened. Given that static linking is pretty much a
> minority pursuit nowadays (excepting libc_noshared.a) this sounds like a
> fine idea.
>
> Stripping .a files with the default options will effectively destroy
> them so the current state of affairs is definitely silly. If you are
> going to do that then you might as well just delete the files: they are
> no use for anything after stripping.
>
> An alternative (or an addition) to the -static packaging would be to
> arrange for .a files (and .o files, I guess) to be stripped with "strip
> --strip-debug" (or perhaps --strip-unneeded). This should leave enough
> symbol data in the files for them to remain usable.
Something like this (but without the mailer induced linewrapping)?
diff --git a/classes/package.bbclass b/classes/package.bbclass
index 046351a..2bf55e3 100644
--- a/classes/package.bbclass
+++ b/classes/package.bbclass
@@ -183,6 +183,9 @@ def runstrip(file, d):
extraflags = "--remove-section=.comment --remove-section=.note
--strip-unneeded"
elif "shared" in result or "executable" in result:
extraflags = "--remove-section=.comment --remove-section=.note"
+ elif file.endswith(".a")::
+ extraflags = "--remove-section=.comment --strip-debug"
+
bb.mkdirhier(os.path.join(os.path.dirname(file), ".debug"))
debugfile=os.path.join(os.path.dirname(file), ".debug",
os.path.basename(file))
diff --git a/conf/bitbake.conf b/conf/bitbake.conf
index 7426095..6c1cc06 100644
--- a/conf/bitbake.conf
+++ b/conf/bitbake.conf
@@ -207,7 +207,7 @@ SOLIBSDEV_darwin = ".dylib"
SOLIBSDEV_darwin8 = ".dylib"
SOLIBSDEV_darwin9 = ".dylib"
-PACKAGES = "${PN}-dbg ${PN} ${PN}-doc ${PN}-dev ${PN}-locale"
+PACKAGES = "${PN}-dbg ${PN} ${PN}-doc ${PN}-static ${PN}-dev ${PN}-locale"
#enable this when bitbake is upgraded to cope with ++ values in the field
PACKAGES_DYNAMIC = "${PN}-locale-*"
FILES = ""
@@ -225,9 +225,11 @@ FILES_${PN}-doc = "${docdir} ${mandir} ${infodir}
${datadir}/gtk-doc \
${datadir}/gnome/help"
SECTION_${PN}-doc = "doc"
+FILES_${PN}-static = "${libdir}/*.a ${base_libdir}/*.a"
+
FILES_${PN}-dev = "${includedir} ${libdir}/lib*${SOLIBSDEV}
${libdir}/*.la \
- ${libdir}/*.a ${libdir}/*.o ${libdir}/pkgconfig \
- ${base_libdir}/*.a ${base_libdir}/*.o
${datadir}/aclocal ${datadir}/pkgconfig"
+ ${libdir}/*.o ${libdir}/pkgconfig \
+ ${base_libdir}/*.o ${datadir}/aclocal ${datadir}/pkgconfig"
SECTION_${PN}-dev = "devel"
ALLOW_EMPTY_${PN}-dev = "1"
RDEPENDS_${PN}-dev = "${PN} (= ${EXTENDPV})"
regards,
Koen
More information about the Openembedded-devel
mailing list