[Toybox] CI for toybox

Rob Landley rob at landley.net
Sun Feb 19 20:38:01 PST 2012


On 02/18/2012 01:38 PM, Roger Meier wrote:
>>> At the moment I do
>>> - sloccount
>>> - cppcheck, probably splint as a future option
>>> - build with gcc, clang and arm-none-linux-gnueabi-gcc
>>> - run testsuite for gcc and clang built binaries
>>
>> Cool.  Does it build ok with clang?  I haven't got that set up here.  (I
> might
>> finally get a bionic build environment set up this weekend.
>> Fingers crossed...)
> Yes, it builds with clang!

clang -o kconfig/conf kconfig/conf.c kconfig/zconf.tab.c -DKBUILD_NO_NLS=1 \
		-DPROJECT_NAME=\"ToyBox\"
/tmp/cc-Kb5fjX.o: In function `zconfparse':
kconfig/zconf.tab.c:(.text+0xb94): undefined reference to `kconf_id_lookup'
/tmp/cc-Kb5fjX.o: In function `zconflex':
kconfig/zconf.tab.c:(.text+0x1d85): undefined reference to `kconf_id_lookup'
kconfig/zconf.tab.c:(.text+0x1f0b): undefined reference to `kconf_id_lookup'
collect2: ld returned 1 exit status
clang: error: linker command failed with exit code 1 (use -v to see
invocation)
make: *** [kconfig/conf] Error 1

Apparently not with the one in ubuntu 10.04?

(It works with CC=clang but not HOSTCC=clang.)

> Please have a look here: http://www.bufferoverflow.ch/jenkins/job/toybox/
> I added also a task scanner, looking for FIXME, HACK, TODO and sprintf
> usage.

Why do you object to sprintf()?

>>From my perspective, CI is an essential part for building and improving
> software.

Never heard of it, but I suppose the first ~40 years of unix and the
decades of software before that didn't count...

>>>> P.S.  I still vaguely want to get the package list down to four
>>>> packages: "compiler, libc, kernel, toybox". I had a tinycc fork for
>>>> the first (http://landley.net/code/tinycc and
>>>> http://landley.net/code/tinycc/qcc), and yes this means I'd need to
>>>> add "make" to toybox, but it _is_ in the SUSv4 utility list.  No
>>>> point until I get a non-gcc/binutils compiler, though...)
> I prefer llvm.

Implemented in C++.  A C compiler that isn't implemented in C.

>>> That's the same I look for, at the moment I have the following
>>> components in mind:
>>>
>>> compiler    http://llvm.org/
>>> kernel      http://www.kernel.org/
>>> libc        http://www.sourceware.org/newlib/
>>> libc++      http://libcxx.llvm.org/
>>> coreutils++ http://landley.net/code/toybox/
>>
>> llvm being implemented in C++ sets my teeth on edge, but since I haven't
> got
>> a better alternative...
> llvm is already part of FreeBSD 9:
> http://wiki.freebsd.org/BuildingFreeBSDWithClang
> http://wiki.freebsd.org/PortsAndClang

Lua is available in there too, I'm not sure that counts as "a part of".

I understand everyone screaming in terror as they flee from GPLv3.
There's likely to be a certain amount of "out of the frying pan, into
the fire" along the way...

>>> I would like to have a *liberal OS* where the user or distributor can
>>> define most parts of what free is;-)
>>
>> Um, the BSDs exist?
> Linux Kernel supports a wider range of CPU's or SOC's and peripherals => the
> world needs this
> BSD on embedded? Ok, some are supported(e.g. AT91).
> What's the future? What do Chip Vendors?
> Is there a BSD Kernel <=>Linux Kernel compatibility layer?

A) I'm not a fan of the BSDs, I'm just saying that striving to reinvent
them, and then somehow expecting a different result, requries further
explanation.

B) MacOS X forked a BSD, and deployed more seats than Linux has.
(Whether or not iPhone is outselling Android is one of those conflicting
claims things.)  Not a sign of quality, just claiming "the world needs"
sounds to me a bit like "information wants a pony"...

Rob



More information about the Toybox mailing list