|
|
On 2/15/22 02:11, jr wrote:
> "jr" <cre### [at] gmailcom> wrote:
>
> just to clarify.
>
>> ...
>> think that I'd hoped for a situation where POV-Ray proper and (eventually) all
>> forks supply a version.inc which tells, basically, whether or not "official";
>
> I don't mean official as in compiled-by. "official" returned from a version.inc
> would tell me that the scene's SDL will work as detailed in the official
> wiki/docs.
>
Thinking.
Nobody can truly declare particular behavior without being the one
providing a pre-compiled POV-Ray package. Further, the compiled program
needs to be linked with, or use, fixed library dependencies. The
official status is indicated by the POV-Team only for windows binaries
where the current libraries are part of the git tracked code base.
Those binaries only state official status in the text output while
setting up the parser to die on the 'unofficial' keyword. There isn't a
way to query official / unofficial status from within the SDL.
We want to be able to set up scenes / includes with conditionals so we
can run compiles from nominally unmodified source alongside forks like
povr. This rules out the use of the 'unofficial' keyword for starters.
We also want something like 'unofficial' which dies for non-windows
POV-Team provided binaries where we know the code will only run with a
given fork(2).
I didn't call 'forkversion.inc' 'version.inc' to allow for an official
POV-Team shipped 'version.inc'.
I suppose OK for forks to provide 'version.inc' files ahead of it
potentially existing in POV-Team releases. Attached two povr include
files in 'version.inc'(1) and 'forkversion.inc'. The latter with
additional updates - shorter names, rewording, etc.
Comments welcome.
Aside: I'm unsure when / if to change the povr code to force all
incoming SDL to run strictly at v3.8+. Internally, I've slowly been
tossing code for backward compatibility into the bit bucket. V3.8+ SDL
is all I intend to support. However, as many are still working with
older releases, scenes and includes, I've been maintaining the parser in
a state that allows earlier version settings. It's useful when looking
at posted issues...
Bill P.
(1) - Uses file_exist for 'forkversion.inc' / 'version.inc', which can
be problematic in the way file_exist with includes can be. However, I
see no better method for a backward compatible 'version.inc'.
(2) - Thinking with povr I'll now use both 'unofficial' and code like:
#if (file_exists("version.inc"))
#include "version.inc"
#end
#if (!Fork_povr) // This POV-Ray SDL code requires the povr fork.
#error "This POV-Ray SDL code requires the povr fork."
#end
Post a reply to this message
Attachments:
Download 'version.inc.txt' (4 KB)
Download 'forkversion.inc.txt' (5 KB)
|
|