added a 'deps' directory and moved w32-pthreads into it
This commit is contained in:
57
deps/w32-pthreads/README.Borland
vendored
Normal file
57
deps/w32-pthreads/README.Borland
vendored
Normal file
@@ -0,0 +1,57 @@
|
||||
In ptw32_InterlockedCompareExchange.c, I've added a section for
|
||||
Borland's compiler; it's identical to that for the MS compiler except
|
||||
that it uses /* ... */ comments instead of ; comments.
|
||||
|
||||
[RPJ: need to define HAVE_TASM32 in config.h to use the above.]
|
||||
|
||||
|
||||
The other file is a makefile suitable for use with Borland's compiler
|
||||
(run "make -fBmakefile" in the directory). It builds a single version
|
||||
of the library, pthreadBC.dll and the corresponding pthreadBC.lib
|
||||
import library, which is comparable to the pthreadVC version; I can't
|
||||
personally see any demand for the versions that include structured or
|
||||
C++ exception cancellation handling so I haven't attempted to build
|
||||
those versions of the library. (I imagine a static version might be
|
||||
of use to some, but we can't legally use that on my commercial
|
||||
projects so I can't try that out, unfortunately.)
|
||||
|
||||
[RPJ: Added tests\Bmakefile as well.]
|
||||
|
||||
Borland C++ doesn't define the ENOSYS constant used by pthreads-win32;
|
||||
rather than make more extensive patches to the pthreads-win32 source I
|
||||
have a mostly-arbitrary constant for it in the makefile. However this
|
||||
doesn't make it visible to the application using the library, so if
|
||||
anyone actually wants to use this constant in their apps (why?)
|
||||
someone might like to make a seperate NEED_BCC_something define to add
|
||||
this stuff.
|
||||
|
||||
The makefile also #defines EDEADLK as EDEADLOCK, _timeb as timeb, and
|
||||
_ftime as ftime, to deal with the minor differences between the two
|
||||
RTLs' naming conventions, and sets the compiler flags as required to
|
||||
get a normal compile of the library.
|
||||
|
||||
[RPJ: Moved errno values and _timeb etc to pthread.h, so apps will also
|
||||
use them.]
|
||||
|
||||
(While I'm on the subject, the reason Borland users should recompile
|
||||
the library, rather than using the impdef/implib technique suggested
|
||||
previously on the mailing list, is that a) the errno constants are
|
||||
different, so the results returned by the pthread_* functions can be
|
||||
meaningless, and b) the errno variable/pseudo-variable itself is
|
||||
different in the MS & BCC runtimes, so you can't access the
|
||||
pthreadVC's errno from a Borland C++-compiled host application
|
||||
correctly - I imagine there are other potential problems from the RTL
|
||||
mismatch too.)
|
||||
|
||||
[RPJ: Make sure you use the same RTL in both dll and application builds.
|
||||
The dll and tests Bmakefiles use cw32mti.lib. Having some trouble with
|
||||
memory read exceptions running the test suite using BCC55.]
|
||||
|
||||
Best regards,
|
||||
Will
|
||||
|
||||
--
|
||||
Will Bryant
|
||||
Systems Architect, eCOSM Limited
|
||||
Cell +64 21 655 443, office +64 3 365 4176
|
||||
http://www.ecosm.com/
|
Reference in New Issue
Block a user