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

Reply via email to