[U-Boot] [PATCH/next v3 27/28] Add support for building native win32 tools

Mike Frysinger vapier at gentoo.org
Wed Apr 15 01:06:54 CEST 2009


On Tuesday 14 April 2009 18:52:30 Peter Tyser wrote:
> On Sat, 2009-04-04 at 01:20 +0200, Wolfgang Denk wrote:
> > In message Peter Tyser wrote:
> > > Add support for compiling the host tools in the tools directory using
> > > the MinGW toolchain.  This produces executables which can be used on
> > > standard Windows computers without requiring cygwin.
> > >
> > > One must specify the MinGW compiler and strip utilities as if they
> > > were the host toolchain in order to build win32 executables, eg:
> > >
> > > make HOSTCC=i586-mingw32msvc-gcc HOSTSTRIP=i586-mingw32msvc-strip tools
> > >
> > > Signed-off-by: Peter Tyser <ptyser at xes-inc.com>
> > > ---
> > >  README                |   10 ++++++
> > >  include/image.h       |    2 +
> > >  include/libfdt_env.h  |   12 +++++++
> > >  tools/Makefile        |   23 ++++++++++----
> > >  tools/mingw_support.c |   79
> > > +++++++++++++++++++++++++++++++++++++++++++++++++ tools/mingw_support.h
> > > |   51 +++++++++++++++++++++++++++++++
> > >  tools/mkimage.h       |    5 +++
> > >  tools/os_support.c    |   24 +++++++++++++++
> > >  tools/os_support.h    |   29 ++++++++++++++++++
> > >  tools/ubsha1.c        |    3 ++
> > >  10 files changed, 231 insertions(+), 7 deletions(-)
> > >  create mode 100644 tools/mingw_support.c
> > >  create mode 100644 tools/mingw_support.h
> > >  create mode 100644 tools/os_support.c
> > >  create mode 100644 tools/os_support.h
> >
> > I'm not happy about this os_support thingy, especially since it will
> > always be compiled, even if not needed in 99.99% of the cases. Maybe
> > you have a better idea and can send a cleanup-patch?
>
> The 2 options that come to mind are:
> 1. Keep the current method of unconditionally compiling os_support.c,
> which will in turn include any os-specific files.
>
> 2. Move the logic of determining which os-specific files are compiled
> into the Makefile.  Something like:
>
>  ifneq (,$(findstring WIN32 ,$(shell $(HOSTCC) -E -dM -xc /dev/null)))
>  SFX = .exe
> +OS_SUPPORT_FILES = mingw_support.c
>  else
>  SFX =
> +OS_SUPPORT_FILES =
>  endif
>
> and then replace references of "os_support.c" with "$(OS_SUPPORT_FILES).
> (Or something along those lines).
>
>
> #1 is ugly in that 99.99% of the time an empty os_support.c file is
> processed.
>
> #2 is ugly in that the Makefile method to determine a target OS is
> somewhat hokey and will only get hokier if/when additional OS targets
> are supported.
>
> I'd vote for #1 as I think the wasted time of processing os_support.c is
> a drop in the bucket and it seems a bit cleaner than hacking up the
> Makefile.
>
> If others have any clever ideas let me know.

i prefer #1 as well ... you covered the reasons fairly well, thanks
-mike
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 836 bytes
Desc: This is a digitally signed message part.
Url : http://lists.denx.de/pipermail/u-boot/attachments/20090414/f5f77bad/attachment.pgp 


More information about the U-Boot mailing list