public inbox for crossgcc@sourceware.org
 help / color / mirror / Atom feed
From: Alexey Neyman <stilor@att.net>
To: Titus von Boxberg <titus@elbe-informatik.de>
Cc: crossgcc maillist <crossgcc@sourceware.org>
Subject: Re: AW: canadian build for mingw host: patch for gettext 0.19.8.1
Date: Fri, 21 Apr 2017 18:25:00 -0000	[thread overview]
Message-ID: <01e4a9f3-eade-4387-bf95-c0cf5cb59070@att.net> (raw)
In-Reply-To: <7ea27c306b3f497ab4c37205eea380a0@SOLOWJOW.ELBE.local>

On 04/21/2017 10:59 AM, Titus von Boxberg wrote:
> Alexey, all,
>
> see below:
>
>> -----Ursprüngliche Nachricht-----
>> Von: Alexey Neyman [mailto:stilor@att.net]
>> Gesendet: Freitag, 21. April 2017 18:17
>> An: Titus von Boxberg <titus@elbe-informatik.de>
>> Cc: crossgcc maillist <crossgcc@sourceware.org>
>> Betreff: Re: canadian build for mingw host: patch for gettext 0.19.8.1
>>
>> [CC crossgcc list]
>>
>> Hi Titus,
>>
>> First off, please send the emails the crossgcc mailing list, not to me
>> personally - I may not be the only person interested in a certain patch,
>> etc.
>>
>>
>> On 04/21/2017 04:12 AM, Titus von Boxberg wrote:
>>> Hi Alexey,
>>>
>>> I had to use the patch below to let ct-ng build gettext 0.19.8.1 for host
>> mingw.
>>> I don't use mingw nor gettext at all (besides for running a cross gcc
>>> on windows), so I don't really understand why it's required (or rather why
>> mingw defines asprintf).
>> asprintf is more or less common function now.
>>
>> Can you describe how you set up the mingw host? I'd like to add it to our
>> docs and add that to our testing regimen.
> I use a (rather old) i686-w64-mingw32 cross compiler from Linux to mingw.
> gcc version 4.7.2
What do you use as a shell, etc? Cygwin?

>> As to the patch itself, what was the problem with using asprintf from
>> mingw's libraries? A build log fragment would be helpful.
> gettext contains three definitions of asprintf in three files asprintf.c
> These conflict with a static implementation of asprintf in mingw header stdio.h
> As I said: Unfortunately, I don't have a clue about gettext and mingw.
I looked at mingw's <stdio.h> and I see what the problem is. The 
function is actually not static - had it been, e.g., 'static inline', it 
wouldn't have conflicted with a built-in implementation of asprintf().

So, the patch makes sense, but I am not sure if it should be fixed by 
mingw instead.
>
>>> I took the idea for the patch from
>>> https://lists.freedesktop.org/archives/gstreamer-commits/2015-November
>>> /090748.html
>>>
>>> Second, it looks strange to me that gettext is built at all for the host.
>>> gettext is _NEEDED by glibc.
>> It is needed to enable localization in the toolchain components. I haven't
>> tested that area much myself, though.
> Yes, but I disabled NLS.
>
>> And, I think you got it exactly the other way. gettext is not *needed* by
>> glibc, it is *a part of glibc*. We only build it for *non-glibc*
>> hosts/targets.
> By "_NEEDED" I meant the ct-ng variable GETTEXT_NEEDED
I see.

The commit message states:

commit 9e81836b8124efd11805e8050034492a8831208b
Author: Ray Donnelly <mingw.android@gmail.com>
Date:   Sat Oct 24 01:49:56 2015 +0100

     Add gettext and libiconv as companion libs

     .. they're needed for the RPC generation in glibc
     on both Cygwin and MinGW-w64.

So apparently, the cross_rpcgen (on *build*, rather than *host*) needs 
it. In case of a simple cross, of course, build==host.

> This is set when choosing NLS, and when choosing glibc for target,
> at least according to config/libc/glibc.
> Anyway, I have
> # CT_TOOLCHAIN_ENABLE_NLS is not set
> and
> CT_GETTEXT_NEEDED=y
> in my .config
>
>>> For the target: OK, may it be so. But why for the host? glibc
>>> shouldn't have anything to do with the host? Is that correct?
>> Hint: not all our supported hosts are glibc-based. If you look at the build
>> script, you'll notice that gettext is skipped if the host is *-linux-gnu*.
> Again, I'm afraid I don't get it.
> I'd assume that when I disable NLS gettext is not needed for the host.
Apparently, not just NLS - see above.

Regards,
Alexey.

  parent reply	other threads:[~2017-04-21 18:25 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <bb9c64d8f77542dcbdeba6e5c6a3b4d0@SOLOWJOW.ELBE.local>
2017-04-22  4:17 ` Alexey Neyman
     [not found]   ` <7ea27c306b3f497ab4c37205eea380a0@SOLOWJOW.ELBE.local>
2017-04-21 18:25     ` Alexey Neyman [this message]
2017-04-21 19:16 AW: " Titus von Boxberg
2017-04-21 19:23 ` Alexey Neyman

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=01e4a9f3-eade-4387-bf95-c0cf5cb59070@att.net \
    --to=stilor@att.net \
    --cc=crossgcc@sourceware.org \
    --cc=titus@elbe-informatik.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).