Building LibVNCServer-0.6 for m68k-rtems
Ralf Corsepius
ralf_corsepius at rtems.org
Wed Aug 18 06:01:45 UTC 2004
On Tue, 2004-08-17 at 19:10, Mark Mussetter wrote:
> I have some questions about building LibVNCServer-0.6 for RTEMS. I'm not
> very experienced with makefiles or configure so these questions might be
> pretty basic.
>
> Our system:
> target = Motorola Coldfire 5272
> host = Cygwin (running on a Windows XP machine)
>
> My questions are in regards to the --host, --target, and --build options to
> configure.
>
> I would assume that to get LibVNCServer to build a library that I could
> link in to my RTEMS application, I would need to specify
> --target=m68k-rtems.
--host=m68k-rtems
> However, when I do this, configure finds and invokes
> the standard gcc compiler from my usr/bin directory in the Cygwin tree.
Make sure to have the path to your compiler in $PATH (e.g. PATH=/opt/rtems/bin:$PATH)
and try
configure --host=m68k-rtems
> I have tried all of the combinations of --build, --host, and --target
> options and it seems that the only way I can get configure to find and use
> the m68k-rtems compiler to build LibVNCServer is if I specify
> "--host=m68k-rtems" on the command line to ./configure.
Right.
> It doesn't seem right to me to specify the --host variable.
No, this is correct.
--build ... system you are building on (Normally, automatically guessed,
rarely needed to be specified manually.); e.g. i686-pc-linux-gnu or
i686-pc-cygwin.
--host ... system you are building binaries for (the system they are
supposed to run on), here: m68k-rtems
--target ... system the binaries to build are supposed to generate code
for (Normally only required by cross-tools).
I.e. configure --build=i686-pc-linux-gnu \
--host=i686-pc-cygwin --target=m68-rtems
is supposed to configure a package for building on i686-pc-linux-gnu,
generate binaries to run on i686-pc-cygwin, which produce output for
m68-rtems
[Cross building a cygwin->m68-rtems tool-package on linux]
What might confuse you is binutils, gdb, GCC and RTEMS using a sightly
different convention for their top level configure scripts and the
general recommendation to use "--target=..." for cross-compilation.
Somewhat oversimplifying, this is mostly a historical relic only being
used in toplevel configure scripts of complex packages and a side-effect
of complex defaulting rules being applied to --build, --host, --target.
> Can anyone tell me how I need to set the --host, --build, and --target options?
In general, you need to examine how a package processes them.
In case of simple packages, using one autoconf-2.5x generated configure
script (such as LibVNCserver), it is always --host.
In case of complex packages (Several subpackages, several configure
scripts) things can be different.
However, internally, autoconf-2.5x-based configure scripts of
subpackages apply the autoconf-2.5x canonicalization rules.
E.g. RTEMS consists of several subpackages, all of them apply
autoconf-2.5x and all of them internally apply "--host=..."
Ralf
More information about the users
mailing list