ANNOUNCEMENT: Live Wireshark University & Allegro Packets online APAC Wireshark Training Session
April 17th, 2024 | 14:30-16:00 SGT (UTC+8) | Online

Wireshark-users: Re: [Wireshark-users] Crosscompiling TSHARK to run on embedded linux on ppc440!

From: Guy Harris <guy@xxxxxxxxxxxx>
Date: Wed, 11 Feb 2009 13:43:14 -0800

On Feb 11, 2009, at 1:09 PM, Andrew Hood wrote:

The real qustion being are those cross compliation tools or native tools
for the target platform?

Aren't bison/yacc/flex outputs platform independent?

In theory, although if "platform" includes "operating system", it's conceivable that there might be differences in the #includes. In practice, the output of those tools should work on all UN*Xes, but, as I remember, at least with some versions of flex, the output includes <unistd.h> on UN*X, which means the output *won't* work on Windows.

That's not the issue here, however, as we're talking about two UN*Xes (the Linux on which he's compiling and the embedded Linux he's using as the target).

What I'm trying to determine is whether the programs under /opt/eldk/ ppc_4xx are

1) cross-tools to run on the development machine - yes, perhaps some tools don't have to be cross-tools, but it might be that they supply a complete set of cross-tools, so that, for example, /opt/eldk/ppc_4xx/ usr/bin/gcc runs a cross-compiler that generates code for PPC 4xx processors while /opt/eldk/ppc_4xx/usr/bin/flex just runs whatever version of Flex they happen to supply

or

2) programs to run on the *target* machine, in case you were thinking of doing all your compilation on the target machine.

According to

	http://www.denx.de/wiki/DULG/ELDK

"The Embedded Linux Development Kit (ELDK) includes the GNU cross development tools, such as the compilers, binutils, gdb, etc., and a number of pre-built target tools and libraries necessary to provide some functionality on the target system."

So the question is where the cross-development tools are? Are they under /opt/eldk/ppc_4xx/usr/bin? Or are programs under there part of the "number of pre-built target tools and libraries necessary to provide some functionality on the target system" and, if so, why exactly is the functionality of reading Flex input and emitting C code to be compiled into a lexical analyzer functionality they've decided to provide? (I.e., it seems a bit bizarre for them to provide a PPC binary of flex - I suspect most embedded PPC boxes aren't used to compile source code.)