No libbusybox.so config

Denys Vlasenko vda.linux at googlemail.com
Thu Dec 15 12:32:48 UTC 2011


On Wed, Dec 14, 2011 at 5:15 AM, Mark Constable <markc at renta.net> wrote:
> On 14/12/11 03:36, Denys Vlasenko wrote:
>>>>>
>>>>> I can't seem to be able to get a libbusybox.so lib
>>
>>
>> $ make defconfig
>> $ make menuconfig
>>  -->  Busybox Settings  --->  Build Options  --->
>>  [*] Build shared libbusybox
>>  [*]   Produce a binary for each applet, linked against libbusybox
>>  [*]   Produce additional busybox binary linked against libbusybox
>> $ make -j4
>
>
> Thank you. I can't believe I missed that, but I did!
>
> I'm using 1.19.2 and it worked as you outlined. What I'd like to try
> is embedding a static archive within a libv8 wrapper so that the bb
> functions are directly available to Javascript.
>
> Is it possible to end up with a single libbusybox.a ?
>
> ./archival/lib.a
> ./archival/libarchive/lib.a
> ./console-tools/lib.a
> ./coreutils/lib.a
> ./coreutils/libcoreutils/lib.a
> ./debianutils/lib.a
> ./e2fsprogs/lib.a
> ./editors/lib.a
> ./findutils/lib.a
> ./init/lib.a
> ./libbb/lib.a
> ./libpwdgrp/lib.a
> ./loginutils/lib.a
> ./mailutils/lib.a
> ./miscutils/lib.a
> ./modutils/lib.a
> ./networking/lib.a
> ./networking/libiproute/lib.a
> ./networking/udhcp/lib.a
> ./printutils/lib.a
> ./procps/lib.a
> ./runit/lib.a
> ./selinux/lib.a
> ./shell/lib.a
> ./sysklogd/lib.a
> ./util-linux/lib.a
> ./util-linux/volume_id/lib.a

You will need to hack the source, since as it stands it doesn't export
libbb API.
The exported symbols are <applet>_main and lbb_prepare:

$ nm -D --size-sort libbusybox.so.1.20.0.git
00000003 T true_main
00000006 T false_main
0000000b T ping_main
0000000b T traceroute_main
0000000e T ping6_main
0000000e T traceroute6_main
0000001b T ipaddr_main
...
0000008e T lbb_prepare
...
00000b8a T fdisk_main
00000bbb T iostat_main
00000c36 T mkfs_minix_main
00000cfd T fsck_minix_main

Everything else is hidden.

-- 
vda


More information about the busybox mailing list