[Aboriginal] aboriginal changes

Rob Landley rob at landley.net
Tue Nov 17 06:40:07 PST 2015


On 11/16/2015 10:57 AM, Geoff Salmon wrote:
> On 15-11-16 10:46 AM, Geoff Salmon wrote:
>> On 15-11-15 06:54 PM, Geoff Salmon wrote:
>>> On 11/13/2015 10:44 PM, Rob Landley wrote:
>>>> There's enough of these now maybe it should be consistent. Hmmm...
>>>> LOCAL? EXTRA? MY? "MY_CROSS_COMPILER=/path, MY_PATCHES=/path,
>>>> MY_ROOT_FILES=/path" sorta works. EXTRA_CROSS_COMPILER doesn't make
>>>> sense, and LOCAL_ROOT_FILES is slightly weird...  Sigh. Naming things,
>>>> cache invalidation, and off by one errors...
>>
>> Do we also need MY_UCLIBC_CONFIG and MY_LINUX_CONFIG? If MY_PATCHES lets
>> us add things to the kernel, we may also need to enable them in the
>> config.
> 
> Hmm, alternatively load_target() could optionally source a MY_TARGET
> file, but that might be step too far...
> 
> 
> I see some directories are only set if not blank
> 
> export_if_blank SOURCES="$TOP/sources"
> export_if_blank SRCDIR="$TOP/packages"
> export_if_blank PATCHDIR="$SOURCES/patches"

While this was always part of the design, it was never tested. It looks
like the environment variable sanitizing code in sources/variables.sh
needs to be taught to look for export_if_blank invocations in
sources/variables.sh.

Hmmm, and "CC" is tricky, we export_if_blank it there but I vaguely
recall that part of the reason for the original sanitization is that
when Wolfgang Denk (the u-boot guy) tried aboriginal years ago it blew
up for him in part because he had all sorts of environment variables
set, one of which was
CC=/absolute/path/to/an/inappropriate/compiler/executable and it blew
up. Possibly that one should be unconditionally set.

You can NO_SANITIZE_ENVIRONMENT and play with that now though. Might
work? If not I can take a look wednesday. (I need to test and check in
the MY_XXX stuff then anyway.)

> maybe CONFIG_DIR should be set with export_if_blank inside load_target()
> so the config can be replaced entirely if desired instead of adding
> MY_UCLIBC_CONFIG and MY_LINUX_CONFIG. Anyone replacing the config target
> script entirely would need to pay close attention to any changes in the
> upstream script though.

You can also locally have sources/targets/mytarget and just set
CROSS_TARGET to the right "thingy-unknown-linux" tuple in there. (It
defaults to ${ARCH}-unknown-linux with ARCH being the script name, I
believe that's the only use we make of the actual name outside of naming
directories and the compiler prefix and such.)

Rob



More information about the Aboriginal mailing list