Hi Chris,
I actually approached it from the other direction.
What we required initially was a HAL only stack, it was only later that I
tried to get the CNC stack to build.
The repo's show what is in each stack so I won't detail that.
The process is largely just hard slog through the Makefiles,
configure.ac etc
to eliminate what is not required for each stack.
Then doing it all again in debian/ to ensure the package is right.
Some things are quite easy and straightforward but there are some overlaps
between the stacks, both for instance use inifiles,
and in each case that overlapping file or lib resides in the HAL stack.
The big problem with packages, is that dpkg will not accept a single
file duplication
between two packages, even if it is identical.
If package A contains file1 and so does package B, when package B is
installed dpkg
will refuse to overwrite file1 and the install fails.
Therefore the CNC stack, does not contain a lot of the very files it
needs to build or run.
I got around this with some trickery in the Jenkins / Docker builder.
It first builds machinekit-hal, then copies a preset list of headers and
libs to two
directories called 'fakelib' and 'fakeinclude', which whilst in the
build path are not in the
debian install specs and the contents are just there to facilitate the
build.
Therefore the CNC stack is completely reliant upon libs which are part
of the HAL stack
and only does anything when combined with it.
It does however remove a lot of the clutter and hopefully make it easier
for someone in future
to play with 'drop in' interpreters, replacing NML and many of the
things it could really do with.
The HAL stack has the gladevcp / pyvcp elements.
Whilst you could argue that they are largely used with Axis say, a
standalone panel is in fact
very useful when using HAL on its own.
Realistically it matters not, anything that could be of use is in the
HAL stack and as the CNC stack
can only be used with the HAL stack, it will have access to it too.
regards
Mick
From: Chris Morley<[email protected]>
Mick
Thanks for joining in.
I should point out that this idea was formed and brought up me me alone.
There has been no internal discussion in linuxcnc.
That was the point of this - to gauge interest and see if there are immediate
road blocks,
such as license, philosophy, or complete lack of interest.
I personally don't have the technical programming skill to understand how to do
this.
If the work is mostly mechanical - I can be helpful.
I would guess that a lot of it is mechanical - particularly since you guys
support legacy components.
I am hoping some more linuxcnc developers chime in their opinions - good or bad.
Could you summarizer what was required to breakout the cnc stack from the HAL
stack?
Thank you
Chris M
_______________________________________________
Emc-developers mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/emc-developers