ObjFW  History of src/objfw-defs.h.in of 0b07c8fcfaffe8b0

History of the file that is called src/objfw-defs.h.in at check-in 0b07c8fcfaffe8b0

2024-02-13
22:06
Don't use max_align_t for OF_BIGGEST_ALIGNMENT

Now that we use SSE in some inline assembly, it needs to be at least 16.
However, _Alignof(max_align_t) can be just 8. file: [ab0ba34911] check-in: [c80075f6e4] user: js, branch: trunk, size: 1415 [annotate] [blame] [check-ins using] [diff]

2023-05-21
17:47
Change how +[OFSystemInfo networkInterfaces] works

This removes functionality which will be restored later. file: [5a8629e6a6] check-in: [43c80a7593] user: js, branch: trunk, size: 1442 [annotate] [blame] [check-ins using] [diff]

13:10
Remove support for configuring AppleTalk

This didn't work without problems on all OSes. Since ofatalkcfg is no
longer there, there is no reason to keep this for now. In the future, if
there is a more generic replacement for ofatalkcfg, this can just be
reverted. file: [b557faae7b] check-in: [550bd1b7bb] user: js, branch: trunk, size: 1487 [annotate] [blame] [check-ins using] [diff]

2023-04-22
19:52
Add OF_SYSTEM_INFO_HAS_NETWORK_INTERFACES define file: [e2e8bf6055] check-in: [74fea18d17] user: js, branch: trunk, size: 1521 [annotate] [blame] [check-ins using] [diff]
17:47
Make sure the ABI of OFSocketAddress stays stable file: [b5f598373d] check-in: [19ace65ba8] user: js, branch: trunk, size: 1502 [annotate] [blame] [check-ins using] [diff]
09:55
Add +[OFSystemInfo networkInterfaces] file: [af7372a4c7] check-in: [c3f58bce43] user: js, branch: trunk, size: 1470 [annotate] [blame] [check-ins using] [diff]
2023-04-15
17:30
OFDDPSocket: Add support for configuring AppleTalk file: [376d21383b] check-in: [ccb53db0d8] user: js, branch: trunk, size: 1444 [annotate] [blame] [check-ins using] [diff]
2022-11-25
20:41
configure: Add classic macOS file: [13ff8f3bcc] check-in: [b25b83f1fc] user: js, branch: trunk, size: 1410 [annotate] [blame] [check-ins using] [diff]
2022-11-06
23:56
Merge trunk into branch "sctp" file: [2685faa746] check-in: [9cb5c92f04] user: js, branch: sctp, size: 1416 [annotate] [blame] [check-ins using] [diff]
23:52
Merge trunk into branch "sctp" file: [ed372be817] check-in: [425762ff70] user: js, branch: sctp, size: 1329 [annotate] [blame] [check-ins using] [diff]
2022-10-31
21:41
Check for and use <netat/appletalk.h> file: [281bf4782f] check-in: [019ff77f50] user: js, branch: trunk, size: 1386 [annotate] [blame] [check-ins using] [diff]
2022-10-30
18:58
Remove AppleTalk support again

It seems that neither Windows nor macOS support DDP sockets, but only
the layers on top, while neither Linux nor NetBSD support the layers on
top, but only provide DDP.

It seems that DDP is not meant to be used directly, while Linux and
NetBSD only provide the minimum to use netatalk, which is DDP. ObjFW
would need to use the layers on top on Windows and macOS and implement
those layers itself on Linux and NetBSD. This also means that no code
would be shared between Linux / NetBSD and Windows / macOS, as it's
impossible to have one implementation that works for everything. At this
point, the effort required doesn't make sense. file: [46516d773c] check-in: [0b4f713964] user: js, branch: trunk, size: 1299 [annotate] [blame] [check-ins using] [diff]

2022-10-22
21:47
objfw-defs.h.in: Fix inconsistency file: [b415425796] check-in: [c26bd3ad84] user: js, branch: appletalk, size: 1353 [annotate] [blame] [check-ins using] [diff]
13:11
configure: Check for AppleTalk support file: [d45aceabb3] check-in: [6344ccf451] user: js, branch: appletalk, size: 1361 [annotate] [blame] [check-ins using] [diff]
2022-07-31
14:16
Merge trunk into branch "wii-u" file: [8f5a561d98] check-in: [e10048ac32] user: js, branch: wii-u, size: 1299 [annotate] [blame] [check-ins using] [diff]
2022-07-17
19:18
objfw-defs.h.in: Add OF_WII_U file: [2eb2b431d4] check-in: [db3bb8bff0] user: js, branch: wii-u, size: 1273 [annotate] [blame] [check-ins using] [diff]
19:18
objfw-defs.h.in: Add OF_NINTENDO_SWITCH file: [72a5ae113a] check-in: [371e4c05d4] user: js, branch: nintendo-switch, size: 1283 [annotate] [blame] [check-ins using] [diff]
2021-12-13
01:49
Fix subprocesses file: [69a2e4862c] check-in: [c2bf5b0410] user: js, branch: trunk, size: 1257 [annotate] [blame] [check-ins using] [diff]
2021-10-24
18:11
Enable UNIX sockets on Windows

Windows 10 supports UNIX sockets since Insider Preview Build 17063, but
only SOCK_STREAM. file: [a0cd235af2] check-in: [d5373ff70f] user: js, branch: unix-sockets, size: 1254 [annotate] [blame] [check-ins using] [diff]

2021-04-25
20:22
Merge trunk into branch "unix-sockets" file: [b4d2598296] check-in: [fb40f7048d] user: js, branch: unix-sockets, size: 1230 [annotate] [blame] [check-ins using] [diff]
2021-04-05
16:30
Add support for UNIX socket addresses file: [fb41861118] check-in: [1db6618bb9] user: js, branch: unix-sockets, size: 1260 [annotate] [blame] [check-ins using] [diff]
2020-12-22
20:19
Merge trunk into 1.0 branch file: [dc6785c3be] check-in: [62edb405b9] user: js, branch: 1.0, size: 1178 [annotate] [blame] [check-ins using] [diff]
2020-12-20
13:49
Clean up a few defines file: [cb58f5fac1] check-in: [d3fb77eb9c] user: js, branch: trunk, size: 1208 [annotate] [blame] [check-ins using] [diff]
2020-10-04
14:39
Merge trunk into 1.0 branch file: [993881fae7] check-in: [a9f08709d2] user: js, branch: 1.0, size: 1306 [annotate] [blame] [check-ins using] [diff]
2020-07-12
09:49
Make of_random() a function

When arc4random() is unavailable, either random() or rand() is used and
both need to be seeded. If of_random() is a macro, it needs to be
(re)seeded every time, as it's unknown whether it has already been
seeded. As it is seeded with gettimeofday() due to the lack of a better
initial seed, this means every call returns the first state for the
current time, which is very predictable. random() and rand() are both
not cryptographic, but this should at least make it a little bit better
now. file: [4530c4317b] check-in: [c1fe4b2b77] user: js, branch: trunk, size: 1336 [annotate] [blame] [check-ins using] [diff]

2020-05-28
23:49
Remove OFSCTPSocket, as it is not ready for 1.0 file: [833ff0a38c] check-in: [3ea919f393] user: js, branch: 1.0, size: 1354 [annotate] [blame] [check-ins using] [diff]
2020-05-05
01:14
Add OFSCTPSocket file: [f12fccebb9] check-in: [4592b16fab] user: js, branch: trunk, size: 1384 [annotate] [blame] [check-ins using] [diff]
2020-04-25
23:02
Add OFIPXSocket file: [5b298a3b39] check-in: [4a5822e7c0] user: js, branch: trunk, size: 1325 [annotate] [blame] [check-ins using] [diff]
2018-10-27
22:38
Only use dllexport when we have no shared library file: [96b18781fc] check-in: [5f6072bf22] user: js, branch: trunk, size: 1278 [annotate] [blame] [check-ins using] [diff]
2018-08-26
17:40
configure: Clean up flags for objfw-config file: [3a0ad24ba7] check-in: [3155de66ff] user: js, branch: trunk, size: 1258 [annotate] [blame] [check-ins using] [diff]
2018-07-28
16:48
macros.h: Add of_random()

This does *NOT* provide cryptographically secure randomness! file: [0dc3c9abbb] check-in: [a2a06d372a] user: js, branch: trunk, size: 1221 [annotate] [blame] [check-ins using] [diff]

2018-04-22
23:42
Make all tests pass on AmigaOS 3

Note: There is still some weirdness in the compiler. Instead of
m68k-amigaos-gcc, you need to use m68k-amigaos-g++ as OBJC, as otherwise
exceptions don't work.

Before running the tests, you need to run "stack 8192". file: [558f07b729] check-in: [49cb6ada5f] user: js, branch: trunk, size: 1173 [annotate] [blame] [check-ins using] [diff]

17:48
Make ObjFW compile for AmigaOS 3 file: [63d5610c05] check-in: [0b07c8fcfa] user: js, branch: trunk, size: 1478 [annotate] [blame] [check-ins using] [diff]
2018-03-10
20:24
configure: Check for UINTPTR_MAX file: [a14966c560] check-in: [f00a1da750] user: js, branch: trunk, size: 1072 [annotate] [blame] [check-ins using] [diff]
2017-06-05
21:57
OFFileManager: Don't use stat() on MorphOS file: [f6c8db25c6] check-in: [289f2b1272] user: js, branch: trunk, size: 1037 [annotate] [blame] [check-ins using] [diff]
2017-06-03
18:37
Properly check for sys/types.h file: [5fe4b33996] check-in: [4ec0948b1b] user: js, branch: trunk, size: 1061 [annotate] [blame] [check-ins using] [diff]
2017-04-09
18:22
Add OFSandbox

Only OpenBSD's pledge() is supported so far. file: [095ccff6f0] check-in: [40cf53506a] user: js, branch: trunk, size: 1034 [annotate] [blame] [check-ins using] [diff]

2016-08-29
00:05
configure: Add --disable-unicode-tables option

This is only useful for size-constrained systems and changes the
behavior as follows:

* Case-insensitive comparisons only work as expected for ASCII
characters. This means that while a and A compare equal, ä and Ä do
not.

* -[OFMutableString {upper,lower}] and
-[OFString {upper,lower}caseString] only work on ASCII characters;
all other characters are left as they are. This means that the upper
version of a is A, but the upper version of ä is still ä (and vice
versa for lower). file: [c0f587b66b] check-in: [b7b33247d6] user: js, branch: trunk, size: 1012 [annotate] [blame] [check-ins using] [diff]

2016-07-31
23:41
atomic.h: Add support for __atomic_* builtins file: [2edcb0a258] check-in: [64edae4128] user: js, branch: trunk, size: 982 [annotate] [blame] [check-ins using] [diff]
23:04
Split atomic.h into multiple files

Having one file per implementation reduces the #ifdef hell and makes it
much more readable. file: [f68c946c0e] check-in: [7115c55ef0] user: js, branch: trunk, size: 951 [annotate] [blame] [check-ins using] [diff]

2016-07-03
22:40
Add support for hardlinks and symlinks on Windows file: [427af0f6c6] check-in: [768b31dede] user: js, branch: trunk, size: 952 [annotate] [blame] [check-ins using] [diff]
2016-03-27
23:10
Add socket support for Nintendo 3DS

This removes the port registry that existed for the Wii and instead
tries binding to random ports in a loop until it succeeds or errno is
not EADDRINUSE. This is done for the Wii and Nintendo 3DS now.

This also includes several other socket-related cleanups. file: [84b0a50859] check-in: [12b8a7552e] user: js, branch: trunk, size: 928 [annotate] [blame] [check-ins using] [diff]

2014-08-06
00:04
Don't export (v)asprintf implementation

In case (v)asprintf was missing, this was exported instead of only being
used internally, potentially causing problems when linking against
another library which also detected libc is missing it. file: [793b73003c] check-in: [ddbbd50e56] user: js, branch: trunk, size: 908 [annotate] [blame] [check-ins using] [diff]

2014-05-14
20:45
Add C11 noreturn

If it's unavailable, it's defined to __attribute__((noreturn)).

Unfortunately, it cannot be used for ObjC methods, as noreturn is part
of the return type while __attribute__((noreturn)) needs to be at the
end for an ObjC method. To make matters worse, even GCC versions that
accept noreturn don't allow it for an ObjC method. Thus, the only thing
that can be done is to always use __attribute__((noreturn)) for ObjC
methods using the OF_METHOD_NORETURN define. file: [b0cd6ea182] check-in: [bac91ccede] user: js, branch: trunk, size: 932 [annotate] [blame] [check-ins using] [diff]

20:19
Use thread_local instead of __thread

If threads.h exists, the thread_local from there is used. If it doesn't,
but _Thread_local exists, it's defined to that. As a last fallback, it
is defined to __thread. file: [41bed793cb] check-in: [c701e89b83] user: js, branch: trunk, size: 905 [annotate] [blame] [check-ins using] [diff]

2014-05-05
02:13
Check for and use __builtin_bswap{16,32,64} file: [b64e054749] check-in: [2729104cf6] user: js, branch: trunk, size: 880 [annotate] [blame] [check-ins using] [diff]
2014-04-27
19:34
Initial Nintendo DS port file: [ff70a225ad] check-in: [cd0a632472] user: js, branch: trunk, size: 787 [annotate] [blame] [check-ins using] [diff]
2014-03-05
00:31
Move netinet/in.h include to socket.h

This is required as OFKernelEventObserver uses struct sockaddr_in as an
instance variable in case there is no pipe(). file: [aa4090a098] check-in: [4de1f2a67a] user: js, branch: trunk, size: 765 [annotate] [blame] [check-ins using] [diff]

2014-01-09
00:01
Add --disable-files configure flag. file: [1adc067354] check-in: [f89edd8ed9] user: js, branch: trunk, size: 737 [annotate] [blame] [check-ins using] [diff]
2013-12-07
17:30
macros.h: Add OF_BIGGEST_ALIGNMENT.

When the compiler supports C11, _Alignof(max_align_t) is used; otherwise
the __BIGGEST_ALIGNMENT__ define is tried with a fallback to 16. file: [449e8f592b] check-in: [fdfb2be253] user: js, branch: trunk, size: 716 [annotate] [blame] [check-ins using] [diff]

2013-06-28
19:55
Fix FP endianess for universal builds. file: [ccf2bf99fc] check-in: [d9bd480b94] user: js, branch: trunk, size: 689 [annotate] [blame] [check-ins using] [diff]
2013-05-22
18:42
Check for more socket-related headers / functions. file: [226b05630f] check-in: [896084c340] user: js, branch: trunk, size: 669 [annotate] [blame] [check-ins using] [diff]
2013-04-26
22:25
Better checks for functions used in OFFile. file: [3af4f4e1ad] check-in: [c01ed004b0] user: js, branch: trunk, size: 621 [annotate] [blame] [check-ins using] [diff]
20:18
Only build OFProcess if available. file: [aa207557bf] check-in: [9965b1550e] user: js, branch: trunk, size: 536 [annotate] [blame] [check-ins using] [diff]
19:42
Make it possible to disable sockets. file: [63a737d4f3] check-in: [590c377d8a] user: js, branch: trunk, size: 511 [annotate] [blame] [check-ins using] [diff]
2013-03-16
10:13
Add forwardingTargetForSelector: for AMD64/ELF.

Currently, no methods returning structs are supported, see the comment
in OFObject. file: [f518fd1de0] check-in: [5a6cc94418] user: js, branch: trunk, size: 488 [annotate] [blame] [check-ins using] [diff]

2013-01-12
20:53
Clean up the feature #ifdef mess. file: [8a8805198b] check-in: [b8ce2359f3] user: js, branch: trunk, size: 442 [annotate] [blame] [check-ins using] [diff]
2012-10-03
15:47
Move ObjC feature checks to OFObject.h.

This way, it is theoretically possible to compile ObjFW with one
compiler and then use it with another. file: [2392df0876] check-in: [2edae50b86] user: js, branch: trunk, size: 450 [annotate] [blame] [check-ins using] [diff]

2012-08-05
17:22
Use recursive pthread mutexes if available. file: [13f2356be6] check-in: [1e10b33066] user: js, branch: trunk, size: 564 [annotate] [blame] [check-ins using] [diff]
2012-07-14
22:21
Fall back to of_tlskey if __thread is unavailable. file: [35b1efd8d0] check-in: [95b1b31aa5] user: js, branch: trunk, size: 523 [annotate] [blame] [check-ins using] [diff]
2012-07-11
09:01
Remove old defines from objfw-defs.h.in. file: [1faf553899] check-in: [15262133cf] user: js, branch: trunk, size: 500 [annotate] [blame] [check-ins using] [diff]
2011-09-10
19:47
Fix a typo. file: [77d879db89] check-in: [4c71fdcf43] user: js, branch: trunk, size: 548 [annotate] [blame] [check-ins using] [diff]
2011-06-05
17:50
Check floating point endianess. file: [5f2f5a13db] check-in: [0348b9b3b3] user: js, branch: trunk, size: 568 [annotate] [blame] [check-ins using] [diff]
2011-03-21
12:47
Check whether optional protocols are supported. file: [cbf8d3b793] check-in: [09a49963de] user: js, branch: trunk, size: 541 [annotate] [blame] [check-ins using] [diff]
2011-02-10
18:40
Fix two unimportant typos. file: [72f743ebcf] check-in: [5a0049ac30] user: js, branch: trunk, size: 507 [annotate] [blame] [check-ins using] [diff]
2010-12-18
23:39
Add support for the new GNU runtime.

Currently, the properties test for nonatomic fails. This is a bug in
the new GNU runtime. file: [5535a2e37e] check-in: [6f4eb004a3] user: js, branch: trunk, size: 531 [annotate] [blame] [check-ins using] [diff]

2010-10-31
22:18
Check if 64 bit version of OSAtomic* functions is available. file: [24da91ee6d] check-in: [9626d917a6] user: js, branch: trunk, size: 505 [annotate] [blame] [check-ins using] [diff]
2010-08-28
18:54
Initial support for blocks. file: [40a7e9074f] check-in: [c5d65603d8] user: js, branch: trunk, size: 488 [annotate] [blame] [check-ins using] [diff]
2010-06-13
17:44
Fallback to select() in OFSocketObserver if poll() is unavailable. file: [b3381e8211] check-in: [6a73e7ac51] user: js, branch: trunk, size: 466 [annotate] [blame] [check-ins using] [diff]
2010-05-06
15:21
Add two missing defines to objfw-defs.h.in. file: [5c69853c4a] check-in: [2c441703fb] user: js, branch: trunk, size: 418 [annotate] [blame] [check-ins using] [diff]
2010-04-17
23:04
Add properties to interfaces. Only used if supported by the compiler. file: [8c68c7e68e] check-in: [f3e7291fad] user: js, branch: trunk, size: 362 [annotate] [blame] [check-ins using] [diff]
2010-04-01
23:51
Add support for ObjFW-RT, the ObjFW Objective C runtime. file: [216453ffb3] check-in: [8c2755723a] user: js, branch: trunk, size: 336 [annotate] [blame] [check-ins using] [diff]
2010-01-30
01:17
Change spinlock implementation, add fallbacks and move to threading.h. file: [e92fcadc33] check-in: [921b158d17] user: js, branch: trunk, size: 312 [annotate] [blame] [check-ins using] [diff]
2010-01-29
19:31
Add OF_ATOMIC_OPS define to work around missing atomic ops if needed. file: [59fa4d3305] check-in: [953895c116] user: js, branch: trunk, size: 252 [annotate] [blame] [check-ins using] [diff]
19:29
Introduce OF_HAVE_PTHREADS define instead of #ifndef _WIN32. file: [0ee2aeff28] check-in: [d08376bc1f] user: js, branch: trunk, size: 231 [annotate] [blame] [check-ins using] [diff]
2010-01-25
22:14
Check for atomic ops in configure.ac. file: [77d9244302] check-in: [c2af363418] user: js, branch: trunk, size: 207 [annotate] [blame] [check-ins using] [diff]
2010-01-24
18:54
Make retain/release atomic. file: [a4810732ab] check-in: [b4a9924066] user: js, branch: trunk, size: 177 [annotate] [blame] [check-ins using] [diff]
2009-12-11
12:52
Make it possible to build ObjFW without support for threads. file: [42800a53ae] check-in: [6caac0826e] user: js, branch: trunk, size: 143 [annotate] [blame] [check-ins using] [diff]
2009-12-06
14:06
Added: Move ObjFW definitions to a header that gets installed. file: [b3fd317650] check-in: [3631d46ccc] user: js, branch: trunk, size: 125 [annotate] [blame] [check-ins using]