grub-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: configure host and target


From: Tomáš Ebenlendr
Subject: Re: configure host and target
Date: Wed, 31 May 2006 10:59:29 +0200 (CEST)
User-agent: SquirrelMail/1.4.4

So if I understand it correctly:
  Grub & modules (i.e., everything that is run w/o OS) is target.
  Grub-emu (i.e., everythhing that is run in some OS) is host.
  We don't have "make-tools" in c-code nor asm. (This is host in
some projects:
    tools that are first compiled and then used while compiling another
    parts)


On 31 Květen 2006, 3:02, Yoshinori K. Okuji napsal(a):
> I describe the new build system a bit here. Maybe this should be written
> in
> somewhere else (such as INSTALL) as well...
>
> GRUB uses "target" and "host". "build" is not explicitly used. A target
> represents a native environment where GRUB runs. In reality, the target
> type
> affects:
>
> - the cpu type
>
> - the executable format (for now, must be ELF)
>
> The vendor and the operating system in a target type does not really
> matter,
> except for the choice of programs and supported executable formats,
> because
> you should specify a platform (such as firmware) by --with-platform to
> configure.
>
> A host type specifies an environment where utilities are executed. Unless
> you
> are cross-compiling GRUB, you do not have to care very much.
>
> The usage of compiler flags is the following:
>
> - CC, CFLAGS, CPPFLAGS, ASFLAGS and LDFLAGS are used for the host type.
>
> - If you need to specify non-standard locations for header files or
> libraries,
> you should specify CPPFLAGS or LDFLAGS.
>
> - If you cross-compile GRUB, you can set CC explicitly, but optionally.
>
> - You do not need to struggle with CFLAGS or ASFLAGS. This is required
> only if
> you intend to debug GRUB, or you want to optimize GRUB differently for an
> unknown reason.
>
> - TARGET_CC, TARGET_CFLAGS, TARGET_CPPFLAGS, TARGET_ASFLAGS and
> TARGET_LDFLAGS
> are used for the target type.
>
> - You might need to specify TARGET_CC explicitly, if you cross-compile
> GRUB.
>
> - You should not touch other TARGET_* variables, unless you understand
> what
> you are doing.
>
> Besides these flags, GRUB uses target-specific flags (here, "target" means
> a
> Makefile target, but not a target type in autoconf). This allows us to
> apply
> flags specific to each object. This design is based on automake, since the
> makefile generator in GRUB was influenced by automake significantly.
>
> For example, when compiling normal.mod, normal_mod_CFLAGS,
> normal_mod_LDFLAGS,
> etc. are applied as well as TARGET_CFLAGS, TARGET_LDFLAGS, etc. This part
> is
> important only for developers, as the user is not supposed to tweak these
> target-specific flags manually.
>
> Okuji
>
>
> _______________________________________________
> Grub-devel mailing list
> address@hidden
> http://lists.gnu.org/mailman/listinfo/grub-devel
>
>


-- 
                                            Tomas 'Ebi' Ebenlendr
                                            http://get.to/ebik





reply via email to

[Prev in Thread] Current Thread [Next in Thread]