This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
Re: Require GNU make?
- From: Pedro Alves <palves at redhat dot com>
- To: "ISHIKAWA,chiaki" <ishikawa at yk dot rim dot or dot jp>, binutils at sourceware dot org
- Date: Thu, 29 May 2014 23:17:31 +0100
- Subject: Re: Require GNU make?
- Authentication-results: sourceware.org; auth=none
- References: <201405201619 dot s4KGJpRg002591 at ignucius dot se dot axis dot com> <201405281315 dot s4SDFpU2031819 at ignucius dot se dot axis dot com> <20140528141505 dot GJ6679 at bubble dot grove dot modra dot org> <53870721 dot 3080402 at redhat dot com> <53872DEC dot 1050209 at arm dot com> <538730C1 dot 6040105 at rtems dot org> <538734C8 dot 4030300 at arm dot com> <53875BB6 dot 6040508 at yk dot rim dot or dot jp>
On 05/29/2014 05:09 PM, ISHIKAWA,chiaki wrote:
> (2014/05/29 22:23), Richard Earnshaw wrote:
>> On 29/05/14 14:06, Ralf Corsepius wrote:
>>> On 05/29/2014 02:54 PM, Richard Earnshaw wrote:
>>>
>>>> Not directly relevant, but I put a feature into the newlib build earlier
>>>> this year that relied on a GNU make extension. There were no objections
>>>> at the time I did that.
>>> Correct me if I'm wrong, but IIRC, GCC already requires gmake.
>>> As newlib is commonly used with GCC, probably everybody who uses newlib
>>> also uses gmake :-)
>>>
>>> Ralf
>>>
>>>
>>
>> Possibly. As I said, it's not directly relevant...
>>
>> I tend to build all off gcc/binutils/gdb/newlib in one go, so always use
>> gmake for the lot.
>>
>> R.
>>
>
> Hi,
>
> I don't know the recent code, but at least long time ago,
> 'Makefile' for gmake used portable constructs only so that gmake source
> files can be compiled and linked to produce gmake binary with BSDmake
> and other variants of make look-alikes. (I think there was even a
> special makefile for DOS-based DeLorie-GCC environment)
Yeah, GNU make itself assuming GNU make to built itself while
other GNU tools not assuming would be ... a
"wth-are-we-doing-who-are-we-caring-for?" day.
> There is a bootstrapping issue of native binutils tools
> for a new CPU, say, when there is only a limited set of available tools
> under a given OS for which the CPU vendors are providing initial support
> limited. Selection of GNUmake or BSDmake can be such an issue.
Not really. It just means that before building binutils, you need
to build GNU make. That is, in effect, push the build system
portability problem to a single and logical entry point, rather
than have all GNU programs (that use make) need to care. GNU
only needs to invent the wheel once.
> But, today, we have Cygwin that runs well (albeit slowly in terms of
> I/O) under Windows even so that cross-compilation using gmake is
> possible under Windows platforms, POSIX-platforms such as linux, Mac
> OSX, FreeBSD, Solaris, and even on a single board computer environemtn
> Raspberry-PI using Debian-based linux distribution.
GNU make even builds with Microsoft's compilers. At least,
there's README.W32.template in the sources saying that's supported,
and I see "make_msvc_net2003.sln" and "make_msvc_net2003.vcproj" files.
> Maybe someone who has ported binutils tools RECENTLY to a new CPU using
> the proprietary (cross-)compiler (and assembler and linker, more
> importantly) from a CPU vendor and had some difficulty because of the
> limitation of tools on the particular OS which the CPU vendor chose for
> initial support can comment on this.
Nowadays you're more likely to start by cross compiling, but in any case,
that is really a false problem. That someone would just have to
port/build GNU make first with the proprietary compiler, _then_
port binutils, then gcc, etc.
--
Pedro Alves