summaryrefslogtreecommitdiffstats
path: root/NOTES-POSIX.md
diff options
context:
space:
mode:
authorRichard Levitte <levitte@openssl.org>2024-04-17 13:56:26 +0200
committerTomas Mraz <tomas@openssl.org>2024-05-22 09:59:32 +0200
commit4e8c4b77ef7480b80de1971d8862300c366015e9 (patch)
treedc9109da1c88f3dbf32f6cceb48ac1da57fd31fc /NOTES-POSIX.md
parent8cf9ac9c2034eb383b72bb7a849b5db96ff593f6 (diff)
Add installation documentation and notes on ANSI C and POSIX
Reviewed-by: Tom Cosgrove <tom.cosgrove@arm.com> Reviewed-by: Tomas Mraz <tomas@openssl.org> (Merged from https://github.com/openssl/openssl/pull/24173)
Diffstat (limited to 'NOTES-POSIX.md')
-rw-r--r--NOTES-POSIX.md20
1 files changed, 20 insertions, 0 deletions
diff --git a/NOTES-POSIX.md b/NOTES-POSIX.md
new file mode 100644
index 0000000000..4b8a845e87
--- /dev/null
+++ b/NOTES-POSIX.md
@@ -0,0 +1,20 @@
+Notes on POSIX
+==============
+
+There are few instances where OpenSSL requires a POSIX C library, at least
+version 1-2008, or compatible enough functionality.
+
+There are exceptions, though, for platforms that do not have a POSIX
+library, or where there are quirks that need working around. A notable
+platform is Windows, where POSIX functionality may be available, but where
+the function names are prefixed with an underscore, and where some POSIX
+types are not present (such as `ssize_t`).
+
+Platforms that do have a POSIX library may still not have them accessible
+unless the following macros are defined:
+
+ _POSIX_C_SOURCE=200809L
+ _XOPEN_SOURCE=1
+
+This is, for example, the case when building with gcc or clang and using the
+flag `-ansi`.