lmi
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [lmi] Native lmi build under Linux


From: Greg Chicares
Subject: Re: [lmi] Native lmi build under Linux
Date: Thu, 8 Oct 2020 23:53:43 +0000
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.12.0

On 2020-10-08 21:18, Vadim Zeitlin wrote:
>  Hello,
> 
>  I've realized that if you're working on native lmi build right now you're
> probably going to duplicate the number of changes already done in
> 
>       https://github.com/vadz/lmi/pull/158

I think the only one I've duplicated is this:
  Don't link ws2_32 lib for native Linux build of XML libraries
so I haven't yet wasted more than about one minute.

>  This PR changes .github/workflows/ci.yml file that you're not interested
> in (although perhaps you might be... e.g. IMO LD_LIBRARY_PATH should be
> handled by lmi makefiles themselves instead of by doing it in this script)
> but it also changes a lot of other files.

I'll be glad to take a look. But I think I should wait until
your submodule changes are complete, right?

> I'm not sure if there is some way
> of defining LMI_SO so that it could occur after the function return type,
> but I don't think so: this works when it's defined as __declspec(dllfoo),
> but the visibility attribute can't occur in the middle of a declaration,
> AFAIK.

Zomg visibility--I've dreamt of that since at least 2005-12-12T01:20:12+00:00
according to `git log -G'fvisibility'`. The dll attributes were useful for
supporting multiple msw-native compilers, when such things existed; but
visibility has its own "fandom" page:
  https://gcc.gnu.org/wiki/Visibility

>  Of course, maybe you're not actually testing build_type=so_test and in

Hadn't thought of it yet.

> this case your build should work without all these LMI_SO changes. However
> you may still need some of the other ones, already done in this PR. E.g.
> you can see that Ilya omits --host option when not cross-compiling, which
> does indeed solve the issue with wxWidgets you've encountered, as I thought
> it would.

Well, that would have saved me more than one minute.

I didn't confer with you first because, well, this morning I just
woke up and decided this would be the day for a GTK build at last.

>  Then there is also the change to set_toolchain.sh which is, IMO, not
> correct as it's written right now, but this file still needs to be changed
> to avoid using Wine for native builds.

It worked for me. But that sounds like something I want to look into.

> And, related to this, I wonder what
> do you think about the changes to test_coding_rules_test.sh which look good
> to me, i.e. it seems to be better to reuse set_toolchain.sh in this script
> rather than partially duplicate it, but perhaps you had some reason not to
> do it that I'm not aware about?

There should ideally be no duplication: 'test_coding_rules_test.sh'
should set everything, and everything else should depend on it
(makefiles depend indirectly, via 'transume_toolchain.sh').

Or that was the dream. If you and Ilya have taken some more steps
toward the end of that rainbow, I'm eager to follow.

>  Again, I don't want to distract you from the other tasks you're working

Today I decided to push all that other stuff aside and work on the
highest-value task that never seemed to rise to the top of the
priority queue. GTK was more attainable than I'd thought.

> on, but I'm just afraid that you're going to run into all the same problems
> that Ilya has already fixed.

Not yet, but I'm really glad you've brought this up now.

> And even if you don't agree with his fixes
> (and as you can see from the comments I left there, even I don't agree with
> all of them), it should hopefully be still useful at least to see his
> solutions to these problems, even if you decide to do something different
> about them.
> 
>  Ideally I'd really like to:
> 
> 1. Apply the minimal fixes to make the simple (i.e. without LMI_SO) build
>    work under Linux out of the box.
> 2. Apply my upcoming PRs moving third party libraries to submodules (and
>    updating them).
> 3. Apply the big, but trivial, patch fixing LMI_SO locations and allowing
>    build_type=so_test to work under Linux too.
> 
>  What do you think?

Sounds good, though I haven't looked at any of that work in detail yet.

Are you suggesting that I should pull in (1) now, even before
you finish (2)? Won't we be creating conflicts that might be
avoided by imposing a brief interregnum to clear the submodule
stuff, as though you had a lock on a cvs repository? Or are
there only certain files that you'd need to "lock", which are
different from the ones modified by PR 158?


reply via email to

[Prev in Thread] Current Thread [Next in Thread]