|
From: Luca T. <no...@gi...> - 2026-10-15 02:17:20
|
Branch: refs/heads/master Home: https://github.com/LinuxCNC/linuxcnc Commit: 2774865951f0a95ef6cc65e47640c54abf5f80ee https://github.com/LinuxCNC/linuxcnc/commit/2774865951f0a95ef6cc65e47640c54abf5f80ee Author: Luca Toniolo <107...@us...> Date: 2026-10-15 (Thu, 15 Oct 2026) Changed paths: R .github/scripts/build-headers.sh M .github/workflows/ci.yml M debian/copyright M docs/src/code/code-notes.adoc M docs/src/config/core-components.adoc M docs/src/hal/tutorial.adoc M docs/src/man/man9/motion.9.adoc R include/.gitignore A include/axis_kinds.hh A include/emcmotcfg.h A include/emcpos.h A include/emcpose.h A include/hal.h A include/hostmot2-serial.h A include/inifile.h A include/inifile.hh A include/kinematics.h A include/linuxcnc.h A include/motion_types.h A include/posemath.h A include/posemath.hh A include/posemath_types.h A include/rtapi.h A include/rtapi_app.h A include/rtapi_atomic.h A include/rtapi_bitops.h A include/rtapi_bool.h A include/rtapi_byteorder.h A include/rtapi_ctype.h A include/rtapi_device.h A include/rtapi_errno.h A include/rtapi_firmware.h A include/rtapi_gfp.h A include/rtapi_io.h A include/rtapi_limits.h A include/rtapi_list.h A include/rtapi_math.h A include/rtapi_math64.h A include/rtapi_math_i386.h A include/rtapi_mutex.h A include/rtapi_parport.h A include/rtapi_pci.h A include/rtapi_slab.h A include/rtapi_stdint.h A include/rtapi_string.h A include/rtapi_vsnprintf.h A include/switchkins.h M lib/python/mtc/kinematics.py M src/Makefile M src/Submakefile.skel R src/emc/ini/axis_kinds.hh M src/emc/ini/inifile.cc R src/emc/ini/inifile.h R src/emc/ini/inifile.hh R src/emc/kinematics/kinematics.h M src/emc/kinematics/switchkins.c R src/emc/kinematics/switchkins.h M src/emc/kinematics/switchkins_main.c R src/emc/linuxcnc.h M src/emc/nml_intf/emc.cc M src/emc/nml_intf/emc.hh R src/emc/nml_intf/emcmotcfg.h R src/emc/nml_intf/emcpos.h R src/emc/nml_intf/motion_types.h R src/hal/drivers/mesa-hostmot2/hostmot2-serial.h M src/hal/drivers/mesa-hostmot2/pktuart.c R src/hal/hal.h M src/hal/hal_lib.c M src/hal/hal_lib_extra.c M src/hal/hal_lib_query.c M src/libposemath/_posemath.c M src/libposemath/emcpose.c R src/libposemath/emcpose.h M src/libposemath/posemath.cc R src/libposemath/posemath.h R src/libposemath/posemath.hh R src/libposemath/posemath_types.h M src/rtapi/mathstubs.c M src/rtapi/rtai_rtapi.c M src/rtapi/rtai_ulapi.c R src/rtapi/rtapi.h R src/rtapi/rtapi_app.h R src/rtapi/rtapi_atomic.h R src/rtapi/rtapi_bitops.h R src/rtapi/rtapi_bool.h R src/rtapi/rtapi_byteorder.h M src/rtapi/rtapi_common.h R src/rtapi/rtapi_ctype.h R src/rtapi/rtapi_device.h R src/rtapi/rtapi_errno.h R src/rtapi/rtapi_firmware.h R src/rtapi/rtapi_gfp.h R src/rtapi/rtapi_io.h R src/rtapi/rtapi_limits.h R src/rtapi/rtapi_list.h R src/rtapi/rtapi_math.h R src/rtapi/rtapi_math64.h R src/rtapi/rtapi_math_i386.h R src/rtapi/rtapi_mutex.h R src/rtapi/rtapi_parport.h R src/rtapi/rtapi_pci.h R src/rtapi/rtapi_slab.h R src/rtapi/rtapi_stdint.h R src/rtapi/rtapi_string.h R src/rtapi/rtapi_vsnprintf.h M src/rtapi/uspace_posix.cc M src/rtapi/uspace_rtai.cc M src/rtapi/uspace_rtapi_app.cc M src/rtapi/uspace_rtapi_app.hh M src/rtapi/uspace_rtapi_main.cc M src/rtapi/uspace_ulapi.c M src/rtapi/uspace_xenomai.cc M src/rtapi/uspace_xenomai_evl.cc M tcl/tklinuxcnc.tcl Log Message: ----------- include: keep the exported headers where they are used from The 39 headers listed in SRCHEADERS are the API an out-of-tree component may use. They were spread over eight source directories, mixed in with the private headers of the libraries publishing them, and the build copied them into ../include by basename so that an angled include would find them. That copy is what makes the rule in the comment above SRCHEADERS necessary: a source beside an exported header must include it quoted, because the copy is not the file its own directory should compile against, while every other source must include it angled. Which form is correct therefore depends on where the includer sits, and getting it wrong is silent, because the wrong file is found rather than no file. Keep them in ../include instead, where every compile in and out of the tree already looks for them. There is then one copy rather than two, nothing sits beside an exported header, and every source in the tree takes them angled. SRCHEADERS, the rule that did the copying and headersclean all go; the directory is the list, and installing it is a wildcard. 27 include sites in 24 files change from quoted to angled. The local hal.h in hal/user_comps/xhc-whb04b-6 is a different header of the same name and keeps its "./hal.h" form. Inside include/ the headers keep quoting each other, which is now simply a same-directory include. No code changes, no -I flag changes, and $(EMC2_HOME)/include keeps meaning what it meant. The cppcheck job ran "make headers" so that include/ was populated before checking; include/ is now populated in the checkout, so that step and its build-headers.sh script go too. Commit: f4448fc392a991ae6f0d377cc16cd1425fe4b862 https://github.com/LinuxCNC/linuxcnc/commit/f4448fc392a991ae6f0d377cc16cd1425fe4b862 Author: Luca Toniolo <107...@us...> Date: 2026-10-15 (Thu, 15 Oct 2026) Changed paths: M scripts/include-dep-report.py Log Message: ----------- include-dep-report: take the exported set from the include directory SRCHEADERS is gone, so read the directory instead. It is the better source anyway: the list cannot drift from what is installed when the directory is the list. The headers are scanned along with the sources so their own includes still count, they bucket as "include", and paths print relative to the tree root rather than to src, which the exported headers now sit beside rather than under. The "no in-tree user outside their own directory" section had its meaning taken away by the move, since no source shares a directory with an exported header any more. It now reports the headers with at most two in-tree users, which is the question that section was really asking. Commit: 2d7d09ac7ae2cfcdb9427cfc89a2b6cb07b98dc4 https://github.com/LinuxCNC/linuxcnc/commit/2d7d09ac7ae2cfcdb9427cfc89a2b6cb07b98dc4 Author: Luca Toniolo <107...@us...> Date: 2026-10-15 (Thu, 15 Oct 2026) Changed paths: R include/rtapi_vsnprintf.h M src/rtapi/rtai_rtapi.c A src/rtapi/rtapi_vsnprintf.h A tests/rtapi_printf.0/skip M tests/rtapi_printf.0/test.sh Log Message: ----------- rtapi: stop exporting the vsnprintf implementation rtapi_vsnprintf.h is not an interface, and the only code that includes it is rtai_rtapi.c beside it and the unit test. The documented entry point, rtapi_vsnprintf(), is declared in rtapi.h and stays exported, so nothing an out-of-tree component may legitimately call moves. The header goes to rtapi/ and rtai_rtapi.c takes it from its own directory. The three exported headers it pulls in go angled, since they are no longer beside it. tests/rtapi_printf.0 compiles the header, so it now needs the source tree and is skipped on installed packages, the same way tests/blendmath already is. Commit: c555f8584ac06a305b99934ac71adde55eedae6b https://github.com/LinuxCNC/linuxcnc/commit/c555f8584ac06a305b99934ac71adde55eedae6b Author: Luca Toniolo <107...@us...> Date: 2026-10-15 (Thu, 15 Oct 2026) Changed paths: R .github/scripts/build-headers.sh M .github/workflows/ci.yml M debian/copyright M docs/src/code/code-notes.adoc M docs/src/config/core-components.adoc M docs/src/hal/tutorial.adoc M docs/src/man/man9/motion.9.adoc R include/.gitignore A include/axis_kinds.hh A include/emcmotcfg.h A include/emcpos.h A include/emcpose.h A include/hal.h A include/hostmot2-serial.h A include/inifile.h A include/inifile.hh A include/kinematics.h A include/linuxcnc.h A include/motion_types.h A include/posemath.h A include/posemath.hh A include/posemath_types.h A include/rtapi.h A include/rtapi_app.h A include/rtapi_atomic.h A include/rtapi_bitops.h A include/rtapi_bool.h A include/rtapi_byteorder.h A include/rtapi_ctype.h A include/rtapi_device.h A include/rtapi_errno.h A include/rtapi_firmware.h A include/rtapi_gfp.h A include/rtapi_io.h A include/rtapi_limits.h A include/rtapi_list.h A include/rtapi_math.h A include/rtapi_math64.h A include/rtapi_math_i386.h A include/rtapi_mutex.h A include/rtapi_parport.h A include/rtapi_pci.h A include/rtapi_slab.h A include/rtapi_stdint.h A include/rtapi_string.h A include/switchkins.h M lib/python/mtc/kinematics.py M scripts/include-dep-report.py M src/Makefile M src/Submakefile.skel R src/emc/ini/axis_kinds.hh M src/emc/ini/inifile.cc R src/emc/ini/inifile.h R src/emc/ini/inifile.hh R src/emc/kinematics/kinematics.h M src/emc/kinematics/switchkins.c R src/emc/kinematics/switchkins.h M src/emc/kinematics/switchkins_main.c R src/emc/linuxcnc.h M src/emc/nml_intf/emc.cc M src/emc/nml_intf/emc.hh R src/emc/nml_intf/emcmotcfg.h R src/emc/nml_intf/emcpos.h R src/emc/nml_intf/motion_types.h R src/hal/drivers/mesa-hostmot2/hostmot2-serial.h M src/hal/drivers/mesa-hostmot2/pktuart.c R src/hal/hal.h M src/hal/hal_lib.c M src/hal/hal_lib_extra.c M src/hal/hal_lib_query.c M src/libposemath/_posemath.c M src/libposemath/emcpose.c R src/libposemath/emcpose.h M src/libposemath/posemath.cc R src/libposemath/posemath.h R src/libposemath/posemath.hh R src/libposemath/posemath_types.h M src/rtapi/mathstubs.c M src/rtapi/rtai_rtapi.c M src/rtapi/rtai_ulapi.c R src/rtapi/rtapi.h R src/rtapi/rtapi_app.h R src/rtapi/rtapi_atomic.h R src/rtapi/rtapi_bitops.h R src/rtapi/rtapi_bool.h R src/rtapi/rtapi_byteorder.h M src/rtapi/rtapi_common.h R src/rtapi/rtapi_ctype.h R src/rtapi/rtapi_device.h R src/rtapi/rtapi_errno.h R src/rtapi/rtapi_firmware.h R src/rtapi/rtapi_gfp.h R src/rtapi/rtapi_io.h R src/rtapi/rtapi_limits.h R src/rtapi/rtapi_list.h R src/rtapi/rtapi_math.h R src/rtapi/rtapi_math64.h R src/rtapi/rtapi_math_i386.h R src/rtapi/rtapi_mutex.h R src/rtapi/rtapi_parport.h R src/rtapi/rtapi_pci.h R src/rtapi/rtapi_slab.h R src/rtapi/rtapi_stdint.h R src/rtapi/rtapi_string.h M src/rtapi/rtapi_vsnprintf.h M src/rtapi/uspace_posix.cc M src/rtapi/uspace_rtai.cc M src/rtapi/uspace_rtapi_app.cc M src/rtapi/uspace_rtapi_app.hh M src/rtapi/uspace_rtapi_main.cc M src/rtapi/uspace_ulapi.c M src/rtapi/uspace_xenomai.cc M src/rtapi/uspace_xenomai_evl.cc M tcl/tklinuxcnc.tcl A tests/rtapi_printf.0/skip M tests/rtapi_printf.0/test.sh Log Message: ----------- Merge pull request #4461 from grandixximo/exported-headers-dir include: move the exported headers into a directory of their own Compare: https://github.com/LinuxCNC/linuxcnc/compare/eab772695b56...c555f8584ac0 To unsubscribe from these emails, change your notification settings at https://github.com/LinuxCNC/linuxcnc/settings/notifications |