DragonFly kernel List (threaded) for 2007-01
[
Date Prev][
Date Next]
[
Thread Prev][
Thread Next]
[
Date Index][
Thread Index]
Re: machine/platform separation
:so, what is
:
:cpu
:machine
:arch
:machine_arch
:platform
:
:and how do they relate?
:
:cheers
: simon
I'm still trying to figure that out after a decade. There is an
explanation in /usr/src/Makefile.inc1, around line 158. Suffice it
to say that the names chosen a very long time ago created mass
confusion which persists today.
We should probably rename them to BUILD_CPU, BUILD_MACHINE, and add
BUILD_PLATFORM, then have TARGET_CPU, TARGET_MACHINE, and TARGET_PLATFORM
for cross building.
The problem is compounded by the fact that the make program (all make
programs) are supposed to pre-define MACHINE and MACHINE_ARCH, so
the make program also has to define MACHINE (== BUILD_MACHINE) and
MACHINE_ARCH (== BUILD_CPU).
Fun isn't it?
OLD NEW
MACHINE_ARCH BUILD_CPU i386 cpu architecture
MACHINE BUILD_MACHINE i386 machine ABI
BUILD_PLATFORM pc32 platform build
MACHINE_ARCH (== BUILD_CPU) (third party compat)
MACHINE (== BUILD_MACHINE) (third party compat)
For our own purposes, our build system would be based on BUILD_CPU and
BUILD_PLATFORM and ignore BUILD_MACHINE for this release. Our kernel
config files would have 'platform', 'machine', and 'cpu_arch'
specifications (instead of the 'machine' and 'machine_arch' it uses now).
I would use 'cpu' but it is already used to specify particular cpu
hardware support.
So, e.g. the VKERNEL config file would have:
cpu_arch i386
machine i386
platform vkernel
And all of our standard config files would have:
cpu_arch i386
machine i386
platform pc32
-Matt
[
Date Prev][
Date Next]
[
Thread Prev][
Thread Next]
[
Date Index][
Thread Index]