More VMS builder mysteries...
In "makevms.com", I see:
$! P6, if defined, sets a compiler thread NOT needed on OpenVMS 7.1 (and up).
I find this about as clear as mud. Can anyone explain what "sets a
compiler thread" means? What, exactly, is "NOT needed on OpenVMS 7.1
(and up)"? "A compiler thread"? P6? As I see it, if this P6 is _not_
defined, then all the subsidiary builders add the C macro PTHREAD_USE_D4
to the compiler commands (if the VMS version is V7.1 or higher). But if
this P6 _is_ defined, then exactly the same thing happens (for slightly
different reasons). What's really supposed to happen when? What would
a user specify for this P6 (and why, and when)?
I find the comments in <pthread.h> to be somewhat confusing, but it
looks to me as if defining PTHREAD_USE_D4 activates some "Temporary
support for POSIX 1003.4a/D4 migration" stuff, which effectively
substitutes (the newer?) <pthread_d4.h> for the (older?) stuff in
<pthread.h>. Does anyone know why we should do one thing or another?
Is there a document somewhere, or has the oral tradition been broken?
If defining PTHREAD_USE_D4 is really what we want for VMS V7.1 and up,
which is what we seem to be getting, then should we admit that we ignore
this P6 for VMS V7.1 and up, or should specifying some P6 actually do
something on newer VMS versions?
Can this stuff actually be built on VMS before V7.1?
If PTHREAD_USE_D4 were _always_ defined, then would it have any
effect on VMS versions before V7.1? Is all this P6 stuff just a
(confusing) waste of time and effort?
"test/maketests.com" says:
$! Should we add MTTEST,PQ_TEST,LH_TEST,DIVTEST,TABTEST as well?
where "crypto/threads/mttest.c" and "crypto/threads/th-lock.c" seem to
be the only consumers of <pthread.h>. Seems to me to be a reasonable
question. What's the answer? Currently, there exists a
"crypto/threads]pthreads-vms.com" ("To compile mttest on VMS"), which
seems to be ignored by the other builders. Should "test/maketests.com"
be building these programs? (Should we have tests which use them?)
SMS.
______________________________________________________________________
OpenSSL Project http://www.openssl.org
Development Mailing List [email protected]
Automated List Manager [email protected]