gnustep-dev
[Top][All Lists]
Advanced

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

Re: Cross-compiling GNUstep?


From: Riccardo Mottola
Subject: Re: Cross-compiling GNUstep?
Date: Mon, 30 Dec 2013 18:24:29 +0100
User-agent: Mozilla/5.0 (Windows NT 5.1; rv:26.0) Gecko/20100101 Firefox/26.0 SeaMonkey/2.23

Hi,

Markus Hitter wrote:
Am 30.12.2013 07:34, schrieb Richard Frith-Macdonald:

I have some little experience with CMake now ... it's a replacement
for autoconf and automake (which are pretty horrible), unfortunately
it's a cure which is worse than the disease. When it works, it's
fine, but just like autoconf/automake, when it doesn't work or when
you want to do something that hasn't been catered for, it's a
nightmare and takes hours and hours  to work out how things operate.
Thanks for the opinion. My first impression of CMake actually aligns
with this: while it has quite a number of interesting features, it's
also close to be overengineered.


I just see my shiny new Debian packages don't allow me to build
-base without debian/rules.
I'm not sure what that means, but it  sounds like a Debain packaging
issue orthogonal to any issues in autoconf.
At the bottom line, packaging does just four things:

1. Run the projects' prefered configuration procedure (in case of
GNUstep this is ./configure).

2. Run the projects' prefered build procedure (in case of GNUstep this
is "make").

3. Install into a OS installation as virgin as possible (just the
dependencies installed), using the projects' installation procedure.

4. Tar up the files installed by 3.

Accordingly, if this doesn't work, it's very likely it doesn't work when
doing the same steps manually, either. What makes packaging complicated
is their insistence on working in release cycles (there's room for
improvement) and the fact you always install into a virgin system (which
is a good thing).

BUT, as said in that other email I was probably just confused by the way
tests/checks are run. They build & run when invoked from Tests/, but not
when invoked from (e.g.) Tests/gui/NSCell. And the lack of visible
messages isn't a bug, but a feature :-}
the above sounds all fine to me and is similar to what I did when packaging RPMs. You "build" using always the previous compiled and installed dependency (RPMs have build dependencies vs. runtime dependencies).

It all should work out of the box! If not there is something which can be improved.

In the case of cross-compiling of course we have the problem that we do run tools (e.g. plmerge, pl2link). Those would need to be run as host and not target executables or they won't work. I wonder if this can possibly obtained and I don't think cmake would change things much


Riccardo



reply via email to

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