during the build too many weird C preprocessors (cpp) are built; it would be good to consolidate that down to one. the UNO IDL compiler is shipped with the SDK and currently uses "ucpp" preprocessor, so we cannot get rid of that one. others such as the "cpp.lcc" built in soltools could probably be replaced with ucpp, or usage of the system cpp (latter requires further investigation).
s/system cpp/compiler's -E functionality
(In reply to comment #0) > during the build too many weird C preprocessors (cpp) are built; > it would be good to consolidate that down to one. YES! > others such as the "cpp.lcc" built in soltools could probably be > replaced with ucpp, or usage of the system cpp (latter requires > further investigation). I have tried that once. The problem is that the various CONCATn macros used in scp2 often produce strings that are not valid preprocessor tokens (e.g., library names with dot in them), thus causing errors. It would be interesting to try it with ucpp. Anyway, the problem should not be hard to fix by introducing a new family of macros, let's say CONCATSTRn, that shall stringify the args and put them side by side (e.g., CONCATSTR3(foo,..,so) -> "foo" "." "so"), and teaching pre2par.pl to handle that.
adding LibreOffice developer list as CC to unresolved EasyHacks for better visibility. see e.g. http://nabble.documentfoundation.org/minutes-of-ESC-call-td4076214.html for details
Migrating Whiteboard tags to Keywords: (EasyHack DifficultyBeginner SkillScript TopicCleanup) [NinjaEdit]
JanI is default CC for Easy Hacks (Add Jan; remove LibreOffice Dev List from CC) [NinjaEdit]
*** Bug 99879 has been marked as a duplicate of this bug. ***
(In reply to Michael Stahl from comment #0) > the UNO IDL compiler is shipped with the SDK and currently > uses "ucpp" preprocessor, so we cannot get rid of that one. (ucpp has meanwhile been removed in <https://git.libreoffice.org/core/+/a8485d558fab53291e2530fd9a1be581c1628deb%5E%21> "[API CHANGE] Remove deprecated idlc and regmerge from the SDK"; not sure what other C preprocessor instances, if any, would be left)
I could not find references to cpp.lcc in addition to the removed idlc and ucpp. I could only find these tools in soltools: 1. cpp: custom c preprocessor https://en.wikipedia.org/wiki/C_preprocessor 2. mkdepend (makedepend): X utility program to generate c dependencies of C files https://en.wikipedia.org/wiki/Makedepend https://gitlab.freedesktop.org/xorg/util/makedepend mkdepend and cpp are in use in solenv/ in solenv/gbuild/extensions/pre_BuildTools.mk and elsewhere. Therefore, they may not be removed at the moment. It may be possible to use compiler's ability to process C files instead of makedpeend or use newer implementations, but that is another story. gcc-based clone of makedepend https://github.com/afborchert/gcc-makedepend/ Therefore, I close this issue as resolved/fixed to reflect the removal of ucpp. The task was to
To complete the above sentence: The task was to reduce too many preprocessors, and not removal of all custom preprocessors. For removing all the custom preprocessors (not sure if it is possible), one can create a separate issue.