From 6854b2fd201b0b6e688108efbe922b7700032b32 Mon Sep 17 00:00:00 2001 From: ferdymercury Date: Fri, 7 Aug 2026 08:55:48 +0200 Subject: [PATCH 1/3] [textinput] mv to builtins dir as hard-coded builtin This library was thought as standalone library, and in fact has a separate license from ROOT. It has its own namespace, etc. Make that clearer by moving it to builtins dir as hard-coded builtin such as mathtext or libafterimage This will make the granularity and modularity clearer eg for Debian package maintainers for a future migration. It would allow them to have it as separate package rather than a big monolithic libCore library. And one could consider later replacing it with llvm textinput or other drop in replacements, without having to touch ROOT core folder. Makes clearer what is inside ROOT and what is an independent outside component that can be externalized or changed to other lib. --- CMakeLists.txt | 1 + builtins/textinput/CMakeLists.txt | 32 +++++++++++++++++++ .../src => builtins}/textinput/Callbacks.h | 0 .../src => builtins}/textinput/Color.h | 0 .../src => builtins}/textinput/Display.h | 0 .../src => builtins}/textinput/Editor.cpp | 0 .../src => builtins}/textinput/Editor.h | 0 .../src => builtins}/textinput/History.cpp | 0 .../src => builtins}/textinput/History.h | 0 .../src => builtins}/textinput/InputData.h | 0 .../src => builtins}/textinput/KeyBinding.cpp | 0 .../src => builtins}/textinput/KeyBinding.h | 0 .../src => builtins}/textinput/LICENSE.TXT | 0 .../src => builtins}/textinput/Range.cpp | 0 .../src => builtins}/textinput/Range.h | 0 .../src => builtins}/textinput/Reader.h | 0 .../textinput/SignalHandler.cpp | 0 .../textinput/SignalHandler.h | 0 .../textinput/StreamReader.cpp | 0 .../src => builtins}/textinput/StreamReader.h | 0 .../textinput/StreamReaderUnix.cpp | 0 .../textinput/StreamReaderUnix.h | 0 .../textinput/StreamReaderWin.cpp | 0 .../textinput/StreamReaderWin.h | 0 .../textinput/TerminalConfigUnix.cpp | 0 .../textinput/TerminalConfigUnix.h | 0 .../textinput/TerminalDisplay.cpp | 0 .../textinput/TerminalDisplay.h | 0 .../textinput/TerminalDisplayUnix.cpp | 0 .../textinput/TerminalDisplayUnix.h | 0 .../textinput/TerminalDisplayWin.cpp | 0 .../textinput/TerminalDisplayWin.h | 0 .../src => builtins}/textinput/Text.h | 0 .../src => builtins}/textinput/TextInput.cpp | 0 .../src => builtins}/textinput/TextInput.h | 0 .../textinput/TextInputContext.cpp | 0 .../textinput/TextInputContext.h | 0 .../src => builtins}/textinput/UTF8.cpp | 0 .../src => builtins}/textinput/UTF8.h | 0 .../textinput/doc/examplemain.cpp | 0 .../textinput/doc/textinput.txt | 0 core/textinput/CMakeLists.txt | 15 --------- documentation/doxygen/Doxyfile | 1 - documentation/doxygen/makeinput.sh | 1 - 44 files changed, 33 insertions(+), 17 deletions(-) create mode 100644 builtins/textinput/CMakeLists.txt rename {core/textinput/src => builtins}/textinput/Callbacks.h (100%) rename {core/textinput/src => builtins}/textinput/Color.h (100%) rename {core/textinput/src => builtins}/textinput/Display.h (100%) rename {core/textinput/src => builtins}/textinput/Editor.cpp (100%) rename {core/textinput/src => builtins}/textinput/Editor.h (100%) rename {core/textinput/src => builtins}/textinput/History.cpp (100%) rename {core/textinput/src => builtins}/textinput/History.h (100%) rename {core/textinput/src => builtins}/textinput/InputData.h (100%) rename {core/textinput/src => builtins}/textinput/KeyBinding.cpp (100%) rename {core/textinput/src => builtins}/textinput/KeyBinding.h (100%) rename {core/textinput/src => builtins}/textinput/LICENSE.TXT (100%) rename {core/textinput/src => builtins}/textinput/Range.cpp (100%) rename {core/textinput/src => builtins}/textinput/Range.h (100%) rename {core/textinput/src => builtins}/textinput/Reader.h (100%) rename {core/textinput/src => builtins}/textinput/SignalHandler.cpp (100%) rename {core/textinput/src => builtins}/textinput/SignalHandler.h (100%) rename {core/textinput/src => builtins}/textinput/StreamReader.cpp (100%) rename {core/textinput/src => builtins}/textinput/StreamReader.h (100%) rename {core/textinput/src => builtins}/textinput/StreamReaderUnix.cpp (100%) rename {core/textinput/src => builtins}/textinput/StreamReaderUnix.h (100%) rename {core/textinput/src => builtins}/textinput/StreamReaderWin.cpp (100%) rename {core/textinput/src => builtins}/textinput/StreamReaderWin.h (100%) rename {core/textinput/src => builtins}/textinput/TerminalConfigUnix.cpp (100%) rename {core/textinput/src => builtins}/textinput/TerminalConfigUnix.h (100%) rename {core/textinput/src => builtins}/textinput/TerminalDisplay.cpp (100%) rename {core/textinput/src => builtins}/textinput/TerminalDisplay.h (100%) rename {core/textinput/src => builtins}/textinput/TerminalDisplayUnix.cpp (100%) rename {core/textinput/src => builtins}/textinput/TerminalDisplayUnix.h (100%) rename {core/textinput/src => builtins}/textinput/TerminalDisplayWin.cpp (100%) rename {core/textinput/src => builtins}/textinput/TerminalDisplayWin.h (100%) rename {core/textinput/src => builtins}/textinput/Text.h (100%) rename {core/textinput/src => builtins}/textinput/TextInput.cpp (100%) rename {core/textinput/src => builtins}/textinput/TextInput.h (100%) rename {core/textinput/src => builtins}/textinput/TextInputContext.cpp (100%) rename {core/textinput/src => builtins}/textinput/TextInputContext.h (100%) rename {core/textinput/src => builtins}/textinput/UTF8.cpp (100%) rename {core/textinput/src => builtins}/textinput/UTF8.h (100%) rename {core/textinput/src => builtins}/textinput/doc/examplemain.cpp (100%) rename {core/textinput/src => builtins}/textinput/doc/textinput.txt (100%) diff --git a/CMakeLists.txt b/CMakeLists.txt index 8b006c509150c..b910ba2080f64 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -388,6 +388,7 @@ install(FILES ${CMAKE_BINARY_DIR}/etc/gitinfo.txt DESTINATION ${CMAKE_INSTALL_SY #---Recurse into the given subdirectories. This does not actually cause another cmake executable # to run. The same process will walk through the project's entire directory structure. add_subdirectory (core) +add_subdirectory (builtins/textinput) # hard coded builtin for core add_subdirectory (math) add_subdirectory (hist) add_subdirectory (tree) diff --git a/builtins/textinput/CMakeLists.txt b/builtins/textinput/CMakeLists.txt new file mode 100644 index 0000000000000..ef27257f7ac0d --- /dev/null +++ b/builtins/textinput/CMakeLists.txt @@ -0,0 +1,32 @@ +# Copyright (C) 1995-2019, Rene Brun and Fons Rademakers. +# All rights reserved. +# +# For the licensing terms see $ROOTSYS/LICENSE. +# For the list of contributors see $ROOTSYS/README/CREDITS. + +############################################################################ +# CMakeLists.txt file for building textinput package for ROOT +############################################################################ + +target_sources(Core PRIVATE + Editor.cpp + History.cpp + KeyBinding.cpp + Range.cpp + SignalHandler.cpp + StreamReader.cpp + StreamReaderUnix.cpp + StreamReaderWin.cpp + TerminalConfigUnix.cpp + TerminalDisplay.cpp + TerminalDisplayUnix.cpp + TerminalDisplayWin.cpp + TextInputContext.cpp + TextInput.cpp + UTF8.cpp +) + +target_include_directories(Core + PRIVATE + ../ # to be able to call #include "textinput/header.h" from ROOT core files +) diff --git a/core/textinput/src/textinput/Callbacks.h b/builtins/textinput/Callbacks.h similarity index 100% rename from core/textinput/src/textinput/Callbacks.h rename to builtins/textinput/Callbacks.h diff --git a/core/textinput/src/textinput/Color.h b/builtins/textinput/Color.h similarity index 100% rename from core/textinput/src/textinput/Color.h rename to builtins/textinput/Color.h diff --git a/core/textinput/src/textinput/Display.h b/builtins/textinput/Display.h similarity index 100% rename from core/textinput/src/textinput/Display.h rename to builtins/textinput/Display.h diff --git a/core/textinput/src/textinput/Editor.cpp b/builtins/textinput/Editor.cpp similarity index 100% rename from core/textinput/src/textinput/Editor.cpp rename to builtins/textinput/Editor.cpp diff --git a/core/textinput/src/textinput/Editor.h b/builtins/textinput/Editor.h similarity index 100% rename from core/textinput/src/textinput/Editor.h rename to builtins/textinput/Editor.h diff --git a/core/textinput/src/textinput/History.cpp b/builtins/textinput/History.cpp similarity index 100% rename from core/textinput/src/textinput/History.cpp rename to builtins/textinput/History.cpp diff --git a/core/textinput/src/textinput/History.h b/builtins/textinput/History.h similarity index 100% rename from core/textinput/src/textinput/History.h rename to builtins/textinput/History.h diff --git a/core/textinput/src/textinput/InputData.h b/builtins/textinput/InputData.h similarity index 100% rename from core/textinput/src/textinput/InputData.h rename to builtins/textinput/InputData.h diff --git a/core/textinput/src/textinput/KeyBinding.cpp b/builtins/textinput/KeyBinding.cpp similarity index 100% rename from core/textinput/src/textinput/KeyBinding.cpp rename to builtins/textinput/KeyBinding.cpp diff --git a/core/textinput/src/textinput/KeyBinding.h b/builtins/textinput/KeyBinding.h similarity index 100% rename from core/textinput/src/textinput/KeyBinding.h rename to builtins/textinput/KeyBinding.h diff --git a/core/textinput/src/textinput/LICENSE.TXT b/builtins/textinput/LICENSE.TXT similarity index 100% rename from core/textinput/src/textinput/LICENSE.TXT rename to builtins/textinput/LICENSE.TXT diff --git a/core/textinput/src/textinput/Range.cpp b/builtins/textinput/Range.cpp similarity index 100% rename from core/textinput/src/textinput/Range.cpp rename to builtins/textinput/Range.cpp diff --git a/core/textinput/src/textinput/Range.h b/builtins/textinput/Range.h similarity index 100% rename from core/textinput/src/textinput/Range.h rename to builtins/textinput/Range.h diff --git a/core/textinput/src/textinput/Reader.h b/builtins/textinput/Reader.h similarity index 100% rename from core/textinput/src/textinput/Reader.h rename to builtins/textinput/Reader.h diff --git a/core/textinput/src/textinput/SignalHandler.cpp b/builtins/textinput/SignalHandler.cpp similarity index 100% rename from core/textinput/src/textinput/SignalHandler.cpp rename to builtins/textinput/SignalHandler.cpp diff --git a/core/textinput/src/textinput/SignalHandler.h b/builtins/textinput/SignalHandler.h similarity index 100% rename from core/textinput/src/textinput/SignalHandler.h rename to builtins/textinput/SignalHandler.h diff --git a/core/textinput/src/textinput/StreamReader.cpp b/builtins/textinput/StreamReader.cpp similarity index 100% rename from core/textinput/src/textinput/StreamReader.cpp rename to builtins/textinput/StreamReader.cpp diff --git a/core/textinput/src/textinput/StreamReader.h b/builtins/textinput/StreamReader.h similarity index 100% rename from core/textinput/src/textinput/StreamReader.h rename to builtins/textinput/StreamReader.h diff --git a/core/textinput/src/textinput/StreamReaderUnix.cpp b/builtins/textinput/StreamReaderUnix.cpp similarity index 100% rename from core/textinput/src/textinput/StreamReaderUnix.cpp rename to builtins/textinput/StreamReaderUnix.cpp diff --git a/core/textinput/src/textinput/StreamReaderUnix.h b/builtins/textinput/StreamReaderUnix.h similarity index 100% rename from core/textinput/src/textinput/StreamReaderUnix.h rename to builtins/textinput/StreamReaderUnix.h diff --git a/core/textinput/src/textinput/StreamReaderWin.cpp b/builtins/textinput/StreamReaderWin.cpp similarity index 100% rename from core/textinput/src/textinput/StreamReaderWin.cpp rename to builtins/textinput/StreamReaderWin.cpp diff --git a/core/textinput/src/textinput/StreamReaderWin.h b/builtins/textinput/StreamReaderWin.h similarity index 100% rename from core/textinput/src/textinput/StreamReaderWin.h rename to builtins/textinput/StreamReaderWin.h diff --git a/core/textinput/src/textinput/TerminalConfigUnix.cpp b/builtins/textinput/TerminalConfigUnix.cpp similarity index 100% rename from core/textinput/src/textinput/TerminalConfigUnix.cpp rename to builtins/textinput/TerminalConfigUnix.cpp diff --git a/core/textinput/src/textinput/TerminalConfigUnix.h b/builtins/textinput/TerminalConfigUnix.h similarity index 100% rename from core/textinput/src/textinput/TerminalConfigUnix.h rename to builtins/textinput/TerminalConfigUnix.h diff --git a/core/textinput/src/textinput/TerminalDisplay.cpp b/builtins/textinput/TerminalDisplay.cpp similarity index 100% rename from core/textinput/src/textinput/TerminalDisplay.cpp rename to builtins/textinput/TerminalDisplay.cpp diff --git a/core/textinput/src/textinput/TerminalDisplay.h b/builtins/textinput/TerminalDisplay.h similarity index 100% rename from core/textinput/src/textinput/TerminalDisplay.h rename to builtins/textinput/TerminalDisplay.h diff --git a/core/textinput/src/textinput/TerminalDisplayUnix.cpp b/builtins/textinput/TerminalDisplayUnix.cpp similarity index 100% rename from core/textinput/src/textinput/TerminalDisplayUnix.cpp rename to builtins/textinput/TerminalDisplayUnix.cpp diff --git a/core/textinput/src/textinput/TerminalDisplayUnix.h b/builtins/textinput/TerminalDisplayUnix.h similarity index 100% rename from core/textinput/src/textinput/TerminalDisplayUnix.h rename to builtins/textinput/TerminalDisplayUnix.h diff --git a/core/textinput/src/textinput/TerminalDisplayWin.cpp b/builtins/textinput/TerminalDisplayWin.cpp similarity index 100% rename from core/textinput/src/textinput/TerminalDisplayWin.cpp rename to builtins/textinput/TerminalDisplayWin.cpp diff --git a/core/textinput/src/textinput/TerminalDisplayWin.h b/builtins/textinput/TerminalDisplayWin.h similarity index 100% rename from core/textinput/src/textinput/TerminalDisplayWin.h rename to builtins/textinput/TerminalDisplayWin.h diff --git a/core/textinput/src/textinput/Text.h b/builtins/textinput/Text.h similarity index 100% rename from core/textinput/src/textinput/Text.h rename to builtins/textinput/Text.h diff --git a/core/textinput/src/textinput/TextInput.cpp b/builtins/textinput/TextInput.cpp similarity index 100% rename from core/textinput/src/textinput/TextInput.cpp rename to builtins/textinput/TextInput.cpp diff --git a/core/textinput/src/textinput/TextInput.h b/builtins/textinput/TextInput.h similarity index 100% rename from core/textinput/src/textinput/TextInput.h rename to builtins/textinput/TextInput.h diff --git a/core/textinput/src/textinput/TextInputContext.cpp b/builtins/textinput/TextInputContext.cpp similarity index 100% rename from core/textinput/src/textinput/TextInputContext.cpp rename to builtins/textinput/TextInputContext.cpp diff --git a/core/textinput/src/textinput/TextInputContext.h b/builtins/textinput/TextInputContext.h similarity index 100% rename from core/textinput/src/textinput/TextInputContext.h rename to builtins/textinput/TextInputContext.h diff --git a/core/textinput/src/textinput/UTF8.cpp b/builtins/textinput/UTF8.cpp similarity index 100% rename from core/textinput/src/textinput/UTF8.cpp rename to builtins/textinput/UTF8.cpp diff --git a/core/textinput/src/textinput/UTF8.h b/builtins/textinput/UTF8.h similarity index 100% rename from core/textinput/src/textinput/UTF8.h rename to builtins/textinput/UTF8.h diff --git a/core/textinput/src/textinput/doc/examplemain.cpp b/builtins/textinput/doc/examplemain.cpp similarity index 100% rename from core/textinput/src/textinput/doc/examplemain.cpp rename to builtins/textinput/doc/examplemain.cpp diff --git a/core/textinput/src/textinput/doc/textinput.txt b/builtins/textinput/doc/textinput.txt similarity index 100% rename from core/textinput/src/textinput/doc/textinput.txt rename to builtins/textinput/doc/textinput.txt diff --git a/core/textinput/CMakeLists.txt b/core/textinput/CMakeLists.txt index e1e8f487e070f..c5c66eb8ebfd5 100644 --- a/core/textinput/CMakeLists.txt +++ b/core/textinput/CMakeLists.txt @@ -13,21 +13,6 @@ set_property(TARGET Core APPEND PROPERTY DICT_HEADERS Getline.h) target_sources(Core PRIVATE src/Getline_color.cxx src/Getline.cxx - src/textinput/Editor.cpp - src/textinput/History.cpp - src/textinput/KeyBinding.cpp - src/textinput/Range.cpp - src/textinput/SignalHandler.cpp - src/textinput/StreamReader.cpp - src/textinput/StreamReaderUnix.cpp - src/textinput/StreamReaderWin.cpp - src/textinput/TerminalConfigUnix.cpp - src/textinput/TerminalDisplay.cpp - src/textinput/TerminalDisplayUnix.cpp - src/textinput/TerminalDisplayWin.cpp - src/textinput/TextInputContext.cpp - src/textinput/TextInput.cpp - src/textinput/UTF8.cpp ) target_include_directories(Core diff --git a/documentation/doxygen/Doxyfile b/documentation/doxygen/Doxyfile index 363a5fc785118..183d724ee08f3 100644 --- a/documentation/doxygen/Doxyfile +++ b/documentation/doxygen/Doxyfile @@ -1085,7 +1085,6 @@ EXCLUDE = ../../interpreter/ \ ../../core/lzma/ \ ../../core/lz4/ \ ../../core/newdelete/ \ - ../../core/textinput/ \ ../../builtins/ \ ../../documentation/doxygen/html diff --git a/documentation/doxygen/makeinput.sh b/documentation/doxygen/makeinput.sh index a94b19940f085..2e32ceb3fc254 100755 --- a/documentation/doxygen/makeinput.sh +++ b/documentation/doxygen/makeinput.sh @@ -77,6 +77,5 @@ echo " ../../bindings/pyroot/pythonizations/python/ROOT/_pythonization/ # echo " ../../core/clib/ \\" >> Doxyfile_INPUT # echo " ../../core/lzma/ \\" >> Doxyfile_INPUT # echo " ../../core/newdelete/ \\" >> Doxyfile_INPUT -# echo " ../../core/textinput/ \\" >> Doxyfile_INPUT # echo " ../../graf3d/x3d/ \\" >> Doxyfile_INPUT From 124d126a18e60214ce3c73c2a976a7d97f3cb442 Mon Sep 17 00:00:00 2001 From: ferdymercury Date: Mon, 31 Aug 2026 19:24:02 +0200 Subject: [PATCH 2/3] [textinput] isolate from ROOT [cmake] enable fPIC --- CMakeLists.txt | 2 +- builtins/{textinput => libtextinput}/CMakeLists.txt | 11 +++++++---- builtins/{textinput => libtextinput}/Editor.cpp | 0 builtins/{textinput => libtextinput}/History.cpp | 0 builtins/{textinput => libtextinput}/KeyBinding.cpp | 0 builtins/{textinput => libtextinput}/LICENSE.TXT | 0 builtins/{textinput => libtextinput}/Range.cpp | 0 .../{textinput => libtextinput}/SignalHandler.cpp | 0 builtins/{textinput => libtextinput}/StreamReader.cpp | 0 .../{textinput => libtextinput}/StreamReaderUnix.cpp | 0 .../{textinput => libtextinput}/StreamReaderWin.cpp | 0 .../TerminalConfigUnix.cpp | 0 .../{textinput => libtextinput}/TerminalDisplay.cpp | 0 .../TerminalDisplayUnix.cpp | 0 .../TerminalDisplayWin.cpp | 0 builtins/{textinput => libtextinput}/TextInput.cpp | 0 .../{textinput => libtextinput}/TextInputContext.cpp | 0 builtins/{textinput => libtextinput}/UTF8.cpp | 0 .../{textinput => libtextinput}/doc/examplemain.cpp | 0 .../{textinput => libtextinput}/doc/textinput.txt | 0 builtins/{ => libtextinput}/textinput/Callbacks.h | 0 builtins/{ => libtextinput}/textinput/Color.h | 0 builtins/{ => libtextinput}/textinput/Display.h | 0 builtins/{ => libtextinput}/textinput/Editor.h | 0 builtins/{ => libtextinput}/textinput/History.h | 0 builtins/{ => libtextinput}/textinput/InputData.h | 0 builtins/{ => libtextinput}/textinput/KeyBinding.h | 0 builtins/{ => libtextinput}/textinput/Range.h | 0 builtins/{ => libtextinput}/textinput/Reader.h | 0 builtins/{ => libtextinput}/textinput/SignalHandler.h | 0 builtins/{ => libtextinput}/textinput/StreamReader.h | 0 .../{ => libtextinput}/textinput/StreamReaderUnix.h | 0 .../{ => libtextinput}/textinput/StreamReaderWin.h | 0 .../{ => libtextinput}/textinput/TerminalConfigUnix.h | 0 .../{ => libtextinput}/textinput/TerminalDisplay.h | 0 .../textinput/TerminalDisplayUnix.h | 0 .../{ => libtextinput}/textinput/TerminalDisplayWin.h | 0 builtins/{ => libtextinput}/textinput/Text.h | 0 builtins/{ => libtextinput}/textinput/TextInput.h | 0 .../{ => libtextinput}/textinput/TextInputContext.h | 0 builtins/{ => libtextinput}/textinput/UTF8.h | 0 core/textinput/CMakeLists.txt | 2 ++ 42 files changed, 10 insertions(+), 5 deletions(-) rename builtins/{textinput => libtextinput}/CMakeLists.txt (73%) rename builtins/{textinput => libtextinput}/Editor.cpp (100%) rename builtins/{textinput => libtextinput}/History.cpp (100%) rename builtins/{textinput => libtextinput}/KeyBinding.cpp (100%) rename builtins/{textinput => libtextinput}/LICENSE.TXT (100%) rename builtins/{textinput => libtextinput}/Range.cpp (100%) rename builtins/{textinput => libtextinput}/SignalHandler.cpp (100%) rename builtins/{textinput => libtextinput}/StreamReader.cpp (100%) rename builtins/{textinput => libtextinput}/StreamReaderUnix.cpp (100%) rename builtins/{textinput => libtextinput}/StreamReaderWin.cpp (100%) rename builtins/{textinput => libtextinput}/TerminalConfigUnix.cpp (100%) rename builtins/{textinput => libtextinput}/TerminalDisplay.cpp (100%) rename builtins/{textinput => libtextinput}/TerminalDisplayUnix.cpp (100%) rename builtins/{textinput => libtextinput}/TerminalDisplayWin.cpp (100%) rename builtins/{textinput => libtextinput}/TextInput.cpp (100%) rename builtins/{textinput => libtextinput}/TextInputContext.cpp (100%) rename builtins/{textinput => libtextinput}/UTF8.cpp (100%) rename builtins/{textinput => libtextinput}/doc/examplemain.cpp (100%) rename builtins/{textinput => libtextinput}/doc/textinput.txt (100%) rename builtins/{ => libtextinput}/textinput/Callbacks.h (100%) rename builtins/{ => libtextinput}/textinput/Color.h (100%) rename builtins/{ => libtextinput}/textinput/Display.h (100%) rename builtins/{ => libtextinput}/textinput/Editor.h (100%) rename builtins/{ => libtextinput}/textinput/History.h (100%) rename builtins/{ => libtextinput}/textinput/InputData.h (100%) rename builtins/{ => libtextinput}/textinput/KeyBinding.h (100%) rename builtins/{ => libtextinput}/textinput/Range.h (100%) rename builtins/{ => libtextinput}/textinput/Reader.h (100%) rename builtins/{ => libtextinput}/textinput/SignalHandler.h (100%) rename builtins/{ => libtextinput}/textinput/StreamReader.h (100%) rename builtins/{ => libtextinput}/textinput/StreamReaderUnix.h (100%) rename builtins/{ => libtextinput}/textinput/StreamReaderWin.h (100%) rename builtins/{ => libtextinput}/textinput/TerminalConfigUnix.h (100%) rename builtins/{ => libtextinput}/textinput/TerminalDisplay.h (100%) rename builtins/{ => libtextinput}/textinput/TerminalDisplayUnix.h (100%) rename builtins/{ => libtextinput}/textinput/TerminalDisplayWin.h (100%) rename builtins/{ => libtextinput}/textinput/Text.h (100%) rename builtins/{ => libtextinput}/textinput/TextInput.h (100%) rename builtins/{ => libtextinput}/textinput/TextInputContext.h (100%) rename builtins/{ => libtextinput}/textinput/UTF8.h (100%) diff --git a/CMakeLists.txt b/CMakeLists.txt index b910ba2080f64..ed2a07217b4f5 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -387,8 +387,8 @@ install(FILES ${CMAKE_BINARY_DIR}/etc/gitinfo.txt DESTINATION ${CMAKE_INSTALL_SY #---Recurse into the given subdirectories. This does not actually cause another cmake executable # to run. The same process will walk through the project's entire directory structure. +add_subdirectory (builtins/libtextinput) # hard coded builtin for core add_subdirectory (core) -add_subdirectory (builtins/textinput) # hard coded builtin for core add_subdirectory (math) add_subdirectory (hist) add_subdirectory (tree) diff --git a/builtins/textinput/CMakeLists.txt b/builtins/libtextinput/CMakeLists.txt similarity index 73% rename from builtins/textinput/CMakeLists.txt rename to builtins/libtextinput/CMakeLists.txt index ef27257f7ac0d..935774880ae7e 100644 --- a/builtins/textinput/CMakeLists.txt +++ b/builtins/libtextinput/CMakeLists.txt @@ -8,7 +8,9 @@ # CMakeLists.txt file for building textinput package for ROOT ############################################################################ -target_sources(Core PRIVATE +add_library(textinput STATIC) + +target_sources(textinput PRIVATE Editor.cpp History.cpp KeyBinding.cpp @@ -26,7 +28,8 @@ target_sources(Core PRIVATE UTF8.cpp ) -target_include_directories(Core - PRIVATE - ../ # to be able to call #include "textinput/header.h" from ROOT core files +target_include_directories(textinput + PUBLIC + ./ # to be able to call #include "textinput/header.h" from ROOT core files ) +set_property(TARGET textinput PROPERTY POSITION_INDEPENDENT_CODE ON) diff --git a/builtins/textinput/Editor.cpp b/builtins/libtextinput/Editor.cpp similarity index 100% rename from builtins/textinput/Editor.cpp rename to builtins/libtextinput/Editor.cpp diff --git a/builtins/textinput/History.cpp b/builtins/libtextinput/History.cpp similarity index 100% rename from builtins/textinput/History.cpp rename to builtins/libtextinput/History.cpp diff --git a/builtins/textinput/KeyBinding.cpp b/builtins/libtextinput/KeyBinding.cpp similarity index 100% rename from builtins/textinput/KeyBinding.cpp rename to builtins/libtextinput/KeyBinding.cpp diff --git a/builtins/textinput/LICENSE.TXT b/builtins/libtextinput/LICENSE.TXT similarity index 100% rename from builtins/textinput/LICENSE.TXT rename to builtins/libtextinput/LICENSE.TXT diff --git a/builtins/textinput/Range.cpp b/builtins/libtextinput/Range.cpp similarity index 100% rename from builtins/textinput/Range.cpp rename to builtins/libtextinput/Range.cpp diff --git a/builtins/textinput/SignalHandler.cpp b/builtins/libtextinput/SignalHandler.cpp similarity index 100% rename from builtins/textinput/SignalHandler.cpp rename to builtins/libtextinput/SignalHandler.cpp diff --git a/builtins/textinput/StreamReader.cpp b/builtins/libtextinput/StreamReader.cpp similarity index 100% rename from builtins/textinput/StreamReader.cpp rename to builtins/libtextinput/StreamReader.cpp diff --git a/builtins/textinput/StreamReaderUnix.cpp b/builtins/libtextinput/StreamReaderUnix.cpp similarity index 100% rename from builtins/textinput/StreamReaderUnix.cpp rename to builtins/libtextinput/StreamReaderUnix.cpp diff --git a/builtins/textinput/StreamReaderWin.cpp b/builtins/libtextinput/StreamReaderWin.cpp similarity index 100% rename from builtins/textinput/StreamReaderWin.cpp rename to builtins/libtextinput/StreamReaderWin.cpp diff --git a/builtins/textinput/TerminalConfigUnix.cpp b/builtins/libtextinput/TerminalConfigUnix.cpp similarity index 100% rename from builtins/textinput/TerminalConfigUnix.cpp rename to builtins/libtextinput/TerminalConfigUnix.cpp diff --git a/builtins/textinput/TerminalDisplay.cpp b/builtins/libtextinput/TerminalDisplay.cpp similarity index 100% rename from builtins/textinput/TerminalDisplay.cpp rename to builtins/libtextinput/TerminalDisplay.cpp diff --git a/builtins/textinput/TerminalDisplayUnix.cpp b/builtins/libtextinput/TerminalDisplayUnix.cpp similarity index 100% rename from builtins/textinput/TerminalDisplayUnix.cpp rename to builtins/libtextinput/TerminalDisplayUnix.cpp diff --git a/builtins/textinput/TerminalDisplayWin.cpp b/builtins/libtextinput/TerminalDisplayWin.cpp similarity index 100% rename from builtins/textinput/TerminalDisplayWin.cpp rename to builtins/libtextinput/TerminalDisplayWin.cpp diff --git a/builtins/textinput/TextInput.cpp b/builtins/libtextinput/TextInput.cpp similarity index 100% rename from builtins/textinput/TextInput.cpp rename to builtins/libtextinput/TextInput.cpp diff --git a/builtins/textinput/TextInputContext.cpp b/builtins/libtextinput/TextInputContext.cpp similarity index 100% rename from builtins/textinput/TextInputContext.cpp rename to builtins/libtextinput/TextInputContext.cpp diff --git a/builtins/textinput/UTF8.cpp b/builtins/libtextinput/UTF8.cpp similarity index 100% rename from builtins/textinput/UTF8.cpp rename to builtins/libtextinput/UTF8.cpp diff --git a/builtins/textinput/doc/examplemain.cpp b/builtins/libtextinput/doc/examplemain.cpp similarity index 100% rename from builtins/textinput/doc/examplemain.cpp rename to builtins/libtextinput/doc/examplemain.cpp diff --git a/builtins/textinput/doc/textinput.txt b/builtins/libtextinput/doc/textinput.txt similarity index 100% rename from builtins/textinput/doc/textinput.txt rename to builtins/libtextinput/doc/textinput.txt diff --git a/builtins/textinput/Callbacks.h b/builtins/libtextinput/textinput/Callbacks.h similarity index 100% rename from builtins/textinput/Callbacks.h rename to builtins/libtextinput/textinput/Callbacks.h diff --git a/builtins/textinput/Color.h b/builtins/libtextinput/textinput/Color.h similarity index 100% rename from builtins/textinput/Color.h rename to builtins/libtextinput/textinput/Color.h diff --git a/builtins/textinput/Display.h b/builtins/libtextinput/textinput/Display.h similarity index 100% rename from builtins/textinput/Display.h rename to builtins/libtextinput/textinput/Display.h diff --git a/builtins/textinput/Editor.h b/builtins/libtextinput/textinput/Editor.h similarity index 100% rename from builtins/textinput/Editor.h rename to builtins/libtextinput/textinput/Editor.h diff --git a/builtins/textinput/History.h b/builtins/libtextinput/textinput/History.h similarity index 100% rename from builtins/textinput/History.h rename to builtins/libtextinput/textinput/History.h diff --git a/builtins/textinput/InputData.h b/builtins/libtextinput/textinput/InputData.h similarity index 100% rename from builtins/textinput/InputData.h rename to builtins/libtextinput/textinput/InputData.h diff --git a/builtins/textinput/KeyBinding.h b/builtins/libtextinput/textinput/KeyBinding.h similarity index 100% rename from builtins/textinput/KeyBinding.h rename to builtins/libtextinput/textinput/KeyBinding.h diff --git a/builtins/textinput/Range.h b/builtins/libtextinput/textinput/Range.h similarity index 100% rename from builtins/textinput/Range.h rename to builtins/libtextinput/textinput/Range.h diff --git a/builtins/textinput/Reader.h b/builtins/libtextinput/textinput/Reader.h similarity index 100% rename from builtins/textinput/Reader.h rename to builtins/libtextinput/textinput/Reader.h diff --git a/builtins/textinput/SignalHandler.h b/builtins/libtextinput/textinput/SignalHandler.h similarity index 100% rename from builtins/textinput/SignalHandler.h rename to builtins/libtextinput/textinput/SignalHandler.h diff --git a/builtins/textinput/StreamReader.h b/builtins/libtextinput/textinput/StreamReader.h similarity index 100% rename from builtins/textinput/StreamReader.h rename to builtins/libtextinput/textinput/StreamReader.h diff --git a/builtins/textinput/StreamReaderUnix.h b/builtins/libtextinput/textinput/StreamReaderUnix.h similarity index 100% rename from builtins/textinput/StreamReaderUnix.h rename to builtins/libtextinput/textinput/StreamReaderUnix.h diff --git a/builtins/textinput/StreamReaderWin.h b/builtins/libtextinput/textinput/StreamReaderWin.h similarity index 100% rename from builtins/textinput/StreamReaderWin.h rename to builtins/libtextinput/textinput/StreamReaderWin.h diff --git a/builtins/textinput/TerminalConfigUnix.h b/builtins/libtextinput/textinput/TerminalConfigUnix.h similarity index 100% rename from builtins/textinput/TerminalConfigUnix.h rename to builtins/libtextinput/textinput/TerminalConfigUnix.h diff --git a/builtins/textinput/TerminalDisplay.h b/builtins/libtextinput/textinput/TerminalDisplay.h similarity index 100% rename from builtins/textinput/TerminalDisplay.h rename to builtins/libtextinput/textinput/TerminalDisplay.h diff --git a/builtins/textinput/TerminalDisplayUnix.h b/builtins/libtextinput/textinput/TerminalDisplayUnix.h similarity index 100% rename from builtins/textinput/TerminalDisplayUnix.h rename to builtins/libtextinput/textinput/TerminalDisplayUnix.h diff --git a/builtins/textinput/TerminalDisplayWin.h b/builtins/libtextinput/textinput/TerminalDisplayWin.h similarity index 100% rename from builtins/textinput/TerminalDisplayWin.h rename to builtins/libtextinput/textinput/TerminalDisplayWin.h diff --git a/builtins/textinput/Text.h b/builtins/libtextinput/textinput/Text.h similarity index 100% rename from builtins/textinput/Text.h rename to builtins/libtextinput/textinput/Text.h diff --git a/builtins/textinput/TextInput.h b/builtins/libtextinput/textinput/TextInput.h similarity index 100% rename from builtins/textinput/TextInput.h rename to builtins/libtextinput/textinput/TextInput.h diff --git a/builtins/textinput/TextInputContext.h b/builtins/libtextinput/textinput/TextInputContext.h similarity index 100% rename from builtins/textinput/TextInputContext.h rename to builtins/libtextinput/textinput/TextInputContext.h diff --git a/builtins/textinput/UTF8.h b/builtins/libtextinput/textinput/UTF8.h similarity index 100% rename from builtins/textinput/UTF8.h rename to builtins/libtextinput/textinput/UTF8.h diff --git a/core/textinput/CMakeLists.txt b/core/textinput/CMakeLists.txt index c5c66eb8ebfd5..1eca468a751b5 100644 --- a/core/textinput/CMakeLists.txt +++ b/core/textinput/CMakeLists.txt @@ -22,4 +22,6 @@ target_include_directories(Core src ) +target_link_libraries(Core PRIVATE textinput) + ROOT_INSTALL_HEADERS() From 4d583591ca676f0c15283c6354fc26fbeb8b0370 Mon Sep 17 00:00:00 2001 From: Philippe Canal Date: Mon, 31 Aug 2026 21:06:09 -0500 Subject: [PATCH 3/3] DO NOT MERGE: test https://github.com/root-project/root/pull/23207 --- cmake/modules/RootMacros.cmake | 33 ++++++++++++++++++--------------- 1 file changed, 18 insertions(+), 15 deletions(-) diff --git a/cmake/modules/RootMacros.cmake b/cmake/modules/RootMacros.cmake index b811226e9687e..836ce20df7649 100644 --- a/cmake/modules/RootMacros.cmake +++ b/cmake/modules/RootMacros.cmake @@ -621,21 +621,24 @@ function(ROOT_GENERATE_DICTIONARY dictionary) endif() #---Get the library and module dependencies----------------- - if(ARG_DEPENDENCIES) - foreach(dep ${ARG_DEPENDENCIES}) - # Whether provides a dictionary/pcm is decided at generation time - # via $>, so the '-m' flag and the module-file - # dependency below are independent of configuration order and expand to - # nothing for a dictionary-less library. - set(dep_has_dict "$") - set(dependent_pcm ${libprefix}${dep}_rdict.pcm) - if (runtime_cxxmodules AND NOT dep IN_LIST local_no_cxxmodules) - set(dependent_pcm ${dep}.pcm) - list(APPEND pcm_dependencies "$<${dep_has_dict}:$>") - endif() - set(newargs ${newargs} "$<${dep_has_dict}:-m>" "$<${dep_has_dict}:${dependent_pcm}>") - endforeach() - endif() + # Every dictionary implicitly depends on Core's pcm, except the one for Core itself. + if(ARG_MODULE AND NOT ARG_MODULE STREQUAL "Core") + list(INSERT ARG_DEPENDENCIES 0 Core) + list(REMOVE_DUPLICATES ARG_DEPENDENCIES) + endif() + foreach(dep ${ARG_DEPENDENCIES}) + # Whether provides a dictionary/pcm is decided at generation time + # via $>, so the '-m' flag and the module-file + # dependency below are independent of configuration order and expand to + # nothing for a dictionary-less library. + set(dep_has_dict "$") + set(dependent_pcm ${libprefix}${dep}_rdict.pcm) + if (runtime_cxxmodules AND NOT dep IN_LIST local_no_cxxmodules) + set(dependent_pcm ${dep}.pcm) + list(APPEND pcm_dependencies "$<${dep_has_dict}:$>") + endif() + set(newargs ${newargs} "$<${dep_has_dict}:-m>" "$<${dep_has_dict}:${dependent_pcm}>") + endforeach() if(cpp_module_file) set(newargs -cxxmodule ${newargs})