gpsd-dev
[Top][All Lists]
Advanced

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

Re: [gpsd-dev] Changing build systems


From: Bernd Ocklin
Subject: Re: [gpsd-dev] Changing build systems
Date: Thu, 26 Mar 2015 09:46:01 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.0


On 2015-03-26 03:20, Eric S. Raymond wrote:

[...]
- Handle cross building without having to specify all tools you want to use -
specifying the target architecture should be enough.
I don't think this goal is realistic; there's still too much toolchain
variation.  But I know someone who routinely does cross-builds for OpenWRT;
I have been doing this daily for some years now. I ship gpsd as part of my hardware router project. Its a non-issue as OpenWRT provides the scons integration for you.

However, only a complete clean & compile cycle is supported on OpenWRT. This requires you to tar your sources into the OpenWRT local download repository and recompile it from scratch for every minor code change in the package. I spent an evening or two in the crude OpenWRT toolchain in order to see if I was just stupid or if there was a simple to fix issue. Haven't found an obvious answer though and gave up as I mostly develop in the PC environment anyways.

I will discuss it with him.

- Handle  stuff like importing flags from the environment. We have crap like
for i in ["AR", "ARFLAGS", "CCFLAGS", "CFLAGS", "CC", "CXX", "CXXFLAGS",
"LINKFLAGS", "STRIP", "PKG_CONFIG", "CHRPATH", "LD", "TAR"]:
     if os.environ.has_key(i):
         ....
Reasonable, if mostly syntactic sugar.
Started testing gpsd on AM355x Cortex A8. Since I just unpacked the pre-built cross compiler into a random dir I had to set all the above flags in the environment. My own fault. But I don't find the above crap, it is simple boiler plate 2-liner, not an issue.

Since I am already writing a quick comment:

In my day job we gave up on auto-tools. Autotools lead to an unmaintainable Unix-bound build system. Only a few were able to somehow mange it and nobody really understood it. We don't miss it.

I personally don't like languages requiring correct indentation in order to work. And scons is far from perfect. But it does its job. And its advantage is exactly that its a framework that every idiot like me can easily understand. I don't need to be a phd in release engineering and can solve problems in scons by writing own code using basic programming skills. And unlike CMake, auto-* or others scons does a one-command configure & compile-job.

Or in summary: Build job done. Back to actually interesting technical GPS and protocol issues.

My .02$.

Another Bernd




reply via email to

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