kicad-developers team mailing list archive
-
kicad-developers team
-
Mailing list archive
-
Message #39102
Re: [RFC/PATCH] Generic utility tool
-
To:
kicad-developers@xxxxxxxxxxxxxxxxxxx
-
From:
Simon Richter <Simon.Richter@xxxxxxxxxx>
-
Date:
Sat, 19 Jan 2019 16:38:22 +0100
-
Autocrypt:
addr=Simon.Richter@xxxxxxxxxx; prefer-encrypt=mutual; keydata= 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
-
In-reply-to:
<CAG1r56J9N6NKGF=sKQem=iO8pEFUxE+urJbB2LGFF8DffNBMDg@mail.gmail.com>
-
Openpgp:
preference=signencrypt
-
User-agent:
Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.4.0
Hi,
On 19.01.19 15:30, John Beard wrote:
> 1) These kinds of utilities are wanted at all, or are they adding
> maintenance overhead for tools no-one ever uses? I'd understand that
> perspective, as I appreciate developer time is highly limited and
> cross-platform breakage is so easy to perpetrate.
Any test cases are useful, but we should probably also get a sensible
framework for tracking results in CI, and later on, also show coverage
somehow.
Jenkins can parse jUnit/xUnit files directly, if we can manage to output
these (ideally, one that combines all results and has a fixed name so we
don't need to adapt the job description for extra tests), that would be
a tremendous help. Not sure what is more sensible here as a framework:
Boost.Test or CTest, they seem to both suffer from the "top of the
foodchain" problem where they do not integrate well with other systems
controlling them.
> 2) If wanted, is a "merged" approach appreciated, or keep them
> separate, in the hopes of once day having shared libs and much reduced
> link time/effort?
The current state is already a problem. Compile time is dominated by
pcbnew_wrap.cxx, so the pcbnew objects are almost guaranteed to be
completed last, and all linker invocations using them run in parallel,
requiring 3 GB of RAM each, so we get several spurious failures.
As a workaround, we can probably introduce a pseudo-dependency to
serialize the linker invocations, but that will slow down the build on
those machines that have enough memory.
For proper shared libraries, we'd need to merge the internal units,
because common code calls into kiface-specific code here. With ELF, this
is theoretically allowed (but has a few drawbacks), but on Windows and
MacOS, this doesn't work. This is fairly complex[1], and would require
other changes beforehand (my current approach would be 64 bit
coordinates with nanometers — designs can get fairly large until the
memory we lose with the larger types is more than what we save by not
keeping three copies of the same code in memory).
Simon
[1] https://lists.launchpad.net/kicad-developers/msg38399.html
Attachment:
signature.asc
Description: OpenPGP digital signature
References