Unused == deprecated for `mkoctfile` variables?

In the manual for mkoctfile, there is written:

Octave configuration variables that users may override with environment variables. These are used in commands that mkoctfile executes.

[...]
LFLAGS
[...]

Octave configuration variables as above, but currently unused by mkoctfile.

[...]
FLIBS
[...]

Does it mean those second type of “unused” variables are deprecated and should not be used? Why do they exist and are exposed in the public API if they are unused? :thinking:

For example the control package makes use of FLIBS which caused me recently some headache as it is wrongly set on Homebrew :sweat:

A second observation:

For example for LFLAGS there is a deprecation warning in the Octave 6 release notes and a contradicting warning before in the Octave 5 release notes. Was it decided to support this flag longer until Octave 8? I think it should no longer be advertised in the manual in any case.

LDFLAGS should be used instead of LFLAGS. Unfortunately, LDFLAGS was implemented incorrectly and didn’t work before Octave 6. When that was fixed, we decided to “restart” the deprecation period.
In any case, the documentation should be adapted.

I didn’t read that section of the manual yet. But from the parts you are quoting, I’d assume that those variables are “standard” variables that are often used in build rules. But mkoctfile itself doesn’t add them automatically to the preprocessor, compiler, or linker commands. Makefile rules in Octave packages might do though…

1 Like

Thanks for the quick response @mmuetzel . Now I understand the deprecation duplication of LFLAGS :+1:

Then I conclude that using the “by mkoctfile unused”-variables is “safe”, i.e., they are not about to be deprecated soon and are created for the knowing users/programmers convenience :slightly_smiling_face: