Re: Autoconf and a bare-metal host with no C library

2016-10-14 Thread Ineiev
Hello,

On Thu, Oct 13, 2016 at 04:11:47AM +0200, Luca Saiu wrote:
>
> So the problem is simple: as soon as I add
>
> --8<---cut here---start->8---
> AC_PROG_CC
> --8<---cut here---end--->8---
>
> to configure.ac, the generated configure fails with
>
> --8<---cut here---start->8---
> configure: error: C compiler cannot create executables
> See `config.log' for more details
> --8<---cut here---end--->8---
>
> , which is not very surprising.  The C compiler indeed cannot generate
> standalone programs, without crt0.o .

When I wrote a libc-less ARM-based project [0], I set linker flags
before AC_PROG_CC, like

LIBS=-lgcc
LDFLAGS="${LDFLAGS} -nostdlib -static -T./2138.ld boot.o"
AC_PROG_CC

[0] https://savannah.nongnu.org/p/stribog (the ARM-specific
part is in the sw/target directory).


signature.asc
Description: Digital signature
___
Autoconf mailing list
Autoconf@gnu.org
https://lists.gnu.org/mailman/listinfo/autoconf


Re: Autoconf and a bare-metal host with no C library

2016-10-13 Thread Luca Saiu
Hello.

On 2016-10-13 at 15:48, Keith Marshall wrote:

> Or maybe, you could consider something along the lines of
> MINGW_AC_PROG_CC_COMPILE_ONLY, (and associated support macros), as
> included within this aclocal.m4:
> https://sourceforge.net/p/mingw/mingw-org-wsl/ci/5.0-active/tree/aclocal.m4

Very interesting, thanks.

Thanks to Russell, Zack and Robert as well.  I would like to get to a
clean solution to contribute, but realistically my understanding of the
Autoconf internals is still far too shallow.

If I ever get to something reusable I'll contact you.

Regards,

-- 
Luca Saiu
* GNU epsilon:   http://www.gnu.org/software/epsilon
* My personal home page: http://ageinghacker.net

I support everyone's freedom of mocking any opinion or belief, no
matter how deeply held, with open disrespect and the same unrelented
enthusiasm of a toddler who has just learned the word "poo".


signature.asc
Description: PGP signature
___
Autoconf mailing list
Autoconf@gnu.org
https://lists.gnu.org/mailman/listinfo/autoconf


Re: Autoconf and a bare-metal host with no C library

2016-10-13 Thread Robert Woodworth
I don't have an example, but I have done this in the past.

Autoconf need to know that the host and target are different, then it will
not try the 'native' CC to check for local executable.

On Thu, Oct 13, 2016 at 8:48 AM, Keith Marshall <
keith.d.marsh...@ntlworld.com> wrote:

> On 13/10/16 15:24, Russell Shaw wrote:
> > On 13/10/16 13:11, Luca Saiu wrote:
> >
> > ...
> > > So, what I'm asking you is: does a clean solution exist, or compiling
> > > without a runtime library is just not supported by the Autotools?  It
> > > sounds weird to say that for configuring you need a cross-compiler with
> > > support for a runtime that will never even be linked when building.
> > > Shouldn't there be, at least, one variant of AC_PROG_CC which doesn't
> > > fail in a fatal way?
> > >
> > > I'm not yet linking the code in a public forum just because it still
> > > lacks copyright and license headers; but in case it were useful to you,
> > > even if I doubt it, I can clean it up and publish it.
> >
> > It can be messy and take quite some time to figure out what to do, but
> this kind
> > of stuff is handled in the autoconf/automake/autogen build system of
> binutils
> > and gcc. Not a quick and easy path for the uninitiated though.
>
> Or maybe, you could consider something along the lines of
> MINGW_AC_PROG_CC_COMPILE_ONLY, (and associated support macros), as
> included within this aclocal.m4:
> https://sourceforge.net/p/mingw/mingw-org-wsl/ci/5.0-
> active/tree/aclocal.m4
>
> --
> Regards,
> Keith.
>
>
> ___
> Autoconf mailing list
> Autoconf@gnu.org
> https://lists.gnu.org/mailman/listinfo/autoconf
>
___
Autoconf mailing list
Autoconf@gnu.org
https://lists.gnu.org/mailman/listinfo/autoconf


Re: Autoconf and a bare-metal host with no C library

2016-10-13 Thread Keith Marshall
On 13/10/16 15:24, Russell Shaw wrote:
> On 13/10/16 13:11, Luca Saiu wrote:
> 
> ...
> > So, what I'm asking you is: does a clean solution exist, or compiling
> > without a runtime library is just not supported by the Autotools?  It
> > sounds weird to say that for configuring you need a cross-compiler with
> > support for a runtime that will never even be linked when building.
> > Shouldn't there be, at least, one variant of AC_PROG_CC which doesn't
> > fail in a fatal way?
> >
> > I'm not yet linking the code in a public forum just because it still
> > lacks copyright and license headers; but in case it were useful to you,
> > even if I doubt it, I can clean it up and publish it.
> 
> It can be messy and take quite some time to figure out what to do, but this 
> kind 
> of stuff is handled in the autoconf/automake/autogen build system of binutils 
> and gcc. Not a quick and easy path for the uninitiated though.

Or maybe, you could consider something along the lines of
MINGW_AC_PROG_CC_COMPILE_ONLY, (and associated support macros), as
included within this aclocal.m4:
https://sourceforge.net/p/mingw/mingw-org-wsl/ci/5.0-active/tree/aclocal.m4

-- 
Regards,
Keith.


___
Autoconf mailing list
Autoconf@gnu.org
https://lists.gnu.org/mailman/listinfo/autoconf


Re: Autoconf and a bare-metal host with no C library

2016-10-13 Thread Zack Weinberg
On Thu, Oct 13, 2016 at 10:24 AM, Russell Shaw  wrote:
> On 13/10/16 13:11, Luca Saiu wrote:
> ...
>> So, what I'm asking you is: does a clean solution exist, or compiling
>> without a runtime library is just not supported by the Autotools?  It
>> sounds weird to say that for configuring you need a cross-compiler with
>> support for a runtime that will never even be linked when building.
>> Shouldn't there be, at least, one variant of AC_PROG_CC which doesn't
>> fail in a fatal way?
>>
>> I'm not yet linking the code in a public forum just because it still
>> lacks copyright and license headers; but in case it were useful to you,
>> even if I doubt it, I can clean it up and publish it.
>
> It can be messy and take quite some time to figure out what to do, but this
> kind of stuff is handled in the autoconf/automake/autogen build system of
> binutils and gcc. Not a quick and easy path for the uninitiated though.

As I recall, what gcc/binutils do about a very similar problem is
considered an awkward kludge, and if you could contribute to a
_proper_ solution, your help would be most welcome.  You might want to
bring up the problem you're having on the g...@gcc.gnu.org mailing
list, as that will be seen by more people who understand how this
kludge works.  I can tell you that grepping libstdc++-v3 for the
string "NO_EXECUTABLES" is likely to provide some hints, but it has
been more than ten years since I had to touch it myself.

zw

___
Autoconf mailing list
Autoconf@gnu.org
https://lists.gnu.org/mailman/listinfo/autoconf


Re: Autoconf and a bare-metal host with no C library

2016-10-13 Thread Russell Shaw

On 13/10/16 13:11, Luca Saiu wrote:

...
> So, what I'm asking you is: does a clean solution exist, or compiling
> without a runtime library is just not supported by the Autotools?  It
> sounds weird to say that for configuring you need a cross-compiler with
> support for a runtime that will never even be linked when building.
> Shouldn't there be, at least, one variant of AC_PROG_CC which doesn't
> fail in a fatal way?
>
> I'm not yet linking the code in a public forum just because it still
> lacks copyright and license headers; but in case it were useful to you,
> even if I doubt it, I can clean it up and publish it.

It can be messy and take quite some time to figure out what to do, but this kind 
of stuff is handled in the autoconf/automake/autogen build system of binutils 
and gcc. Not a quick and easy path for the uninitiated though.



___
Autoconf mailing list
Autoconf@gnu.org
https://lists.gnu.org/mailman/listinfo/autoconf