ported software:
* If the macro B_USE_POSITIVE_POSIX_ERRORS is defined the POSIX error code
constants (ENOMEM, EINTR,...) will have positive values.
* Introduced the macros B_TO_{POSITIVE,NEGATIVE}_ERROR() which do convert a
given error code to a positive/negative value.
* Added static library libposix_error_mapper.a that overrides all POSIX
functions (save the ones I forgot to add :-)) directly meddling with error
codes (having them as parameter or returning them) dealing with the
positive<->negative error code conversions. The functions have hidden
visibility, so they affect only the shared object they are linked into.
* So ideally all one has to do is to build a ported software with
-DB_USE_POSITIVE_POSIX_ERRORS and -lposix_error_mapper and be good with
respect to error code problems.
* Potential issues:
- When mixing ported and Haiku native code, i.e. using Haiku native code in
a ported software or using a ported library in a Haiku native application
care must be taken to convert error codes where the two interface. That's
what the B_TO_{POSITIVE,NEGATIVE}_ERROR() macros are supposed to be used
for.
- A ported static library can obviously not be linked directly against
-lposix_error_mapper. The shared object linking a against the ported static
library has to do that. The previous point applies when that causes mixing
with Haiku native code.
- When dependent ported libraries are used probably all of them should use
the error mapping.
Comments welcome.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29653 a95241bf-73f2-0310-859d-f6bbb57e9c96
26 lines
929 B
Plaintext
26 lines
929 B
Plaintext
SubDir HAIKU_TOP src libs ;
|
|
|
|
SubInclude HAIKU_TOP src libs agg ;
|
|
SubInclude HAIKU_TOP src libs alm ;
|
|
SubInclude HAIKU_TOP src libs bsd ;
|
|
SubInclude HAIKU_TOP src libs compat ;
|
|
SubInclude HAIKU_TOP src libs crypt ;
|
|
SubInclude HAIKU_TOP src libs edit ;
|
|
SubInclude HAIKU_TOP src libs expat ;
|
|
SubInclude HAIKU_TOP src libs fluidsynth ;
|
|
SubInclude HAIKU_TOP src libs freetype2 ;
|
|
SubInclude HAIKU_TOP src libs icon ;
|
|
SubInclude HAIKU_TOP src libs iconv ;
|
|
SubInclude HAIKU_TOP src libs libtelnet ;
|
|
SubInclude HAIKU_TOP src libs linprog ;
|
|
SubInclude HAIKU_TOP src libs lp_solve ;
|
|
SubInclude HAIKU_TOP src libs ncurses ;
|
|
SubInclude HAIKU_TOP src libs pdflib ;
|
|
SubInclude HAIKU_TOP src libs png ;
|
|
SubInclude HAIKU_TOP src libs posix_error_mapper ;
|
|
SubInclude HAIKU_TOP src libs print ;
|
|
SubInclude HAIKU_TOP src libs stdc++ ;
|
|
SubInclude HAIKU_TOP src libs termcap ;
|
|
SubInclude HAIKU_TOP src libs util ;
|
|
SubInclude HAIKU_TOP src libs zlib ;
|