
In message 26948.1143075192@gerd you wrote:
Sorry, the first problem is that make doesn't descend into the "env" subdirectory when building (hence the addition of "env" to TOOLSUBDIRS
This is not a problem but intentional. I don;t want to have these (rarely used) tools to be build each and every time. This just slows down the build process.
in "tools/Makefile"). The second problem is that the env subdirectory is not set up for cross-compiling properly - it uses the hosts gcc when building the dependencies, as well as different compiler flags.
You are right here.
The third problem was that a user level program should not include linux kernel header files. Hence the change from <linux/mtd/mtd.h> to <mtd/mtd-user.h>.
Please note that this has changed between kernel versions. In 2.4 it was normal to include <linux/mtd/mtd.h>; using <mtd/mtd-user.h> break such systems because there the file simply does not exist.
This does not work everywhere; for example: I cannot find any "mtd/mtd-user.h" anywhere on my FC2 system.
Hmm.. I use OpenEmbedded for cross compiling. This file is installed into the OpenEmbedded cross compiling includes area as part of the building of the OE "mtd-utils" package (check out http://www.linux-mtd.infradead.org/).
Please try this yourself on any 2.4 kernel based system.
We will have to find an implementation that works in all environ- ments; breaking 2.4 kernel support is not acceptable to me.
[Actually I think I wrote all this before.]
Best regards,
Wolfgang Denk