Comment: | Merge trunk into amiga-library branch |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | amiga-library |
Files: | files | file ages | folders |
SHA3-256: |
cf40aa9c669c30cccad526e41390812a |
User & Date: | js on 2020-06-14 21:52:03 |
Other Links: | branch diff | manifest | tags |
2020-06-20
| ||
13:39 | Add SFD file for AmigaOS 3 and generate inline.h check-in: ff3d26c61e user: js tags: amiga-library | |
2020-06-14
| ||
21:52 | Merge trunk into amiga-library branch check-in: cf40aa9c66 user: js tags: amiga-library | |
19:00 | .travis.yml: Remove STDOUT_SIMPLE check-in: 141b8181c0 user: js tags: trunk | |
2020-06-08
| ||
01:17 | Add missing import and fix "make clean" check-in: 5d4e54363d user: js tags: amiga-library | |
Added .cirrus.yml version [6338675a88].
> > > > > > > > > > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | task: name: FreeBSD 12.1 freebsd_instance: image_family: freebsd-12-1 install_script: pkg install -y autoconf automake shared_script: - ./autogen.sh - ./configure - make -j4 install static_script: - ./autogen.sh - ./configure --disable-shared - make -j4 install shared_seluid24_script: - ./autogen.sh - ./configure --enable-seluid24 - make -j4 install static_seluid24_script: - ./autogen.sh - ./configure --disable-shared --enable-seluid24 - make -j4 install |
Modified .travis.yml from [53acd6323f] to [839879cad6].
︙ | ︙ | |||
288 289 290 291 292 293 294 | - if [ "$config" = "amigaos" ]; then wget -q https://franke.ms/download/amiga-gcc.tgz; tar -C / -xzf amiga-gcc.tgz; fi script: | < < < < < < < < | 288 289 290 291 292 293 294 295 296 297 298 299 300 301 | - if [ "$config" = "amigaos" ]; then wget -q https://franke.ms/download/amiga-gcc.tgz; tar -C / -xzf amiga-gcc.tgz; fi script: - build() { if ! git clean -fxd >/tmp/clean_log 2>&1; then cat /tmp/clean_log; exit 1; fi; echo ">> Configuring with $@"; ./autogen.sh; |
︙ | ︙ |
Modified build-aux/m4/buildsys.m4 from [90f081db1f] to [74391b1263].
1 2 3 4 5 | dnl dnl Copyright (c) 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2016, 2017, dnl 2018, 2020 dnl Jonathan Schleifer <js@nil.im> dnl | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 | dnl dnl Copyright (c) 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2016, 2017, dnl 2018, 2020 dnl Jonathan Schleifer <js@nil.im> dnl dnl https://fossil.nil.im/buildsys dnl dnl Permission to use, copy, modify, and/or distribute this software for any dnl purpose with or without fee is hereby granted, provided that the above dnl copyright notice and this permission notice is present in all copies. dnl dnl THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" dnl AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE |
︙ | ︙ |
Modified configure.ac from [583ac8a5e1] to [5db7003e7d].
︙ | ︙ | |||
620 621 622 623 624 625 626 | AC_MSG_RESULT($exception_type) ], [ AC_MSG_RESULT(exceptions unavailable!) AC_MSG_ERROR([Exceptions not accepted by compiler!]) ]) | | | > | > | | | < | 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 | AC_MSG_RESULT($exception_type) ], [ AC_MSG_RESULT(exceptions unavailable!) AC_MSG_ERROR([Exceptions not accepted by compiler!]) ]) AC_SEARCH_LIBS($raise_exception, [c++abi gcc_s gcc], [ dnl c++abi requires pthread on OpenBSD AS_IF([test x"$ac_lib" = x"c++abi"], [ LIBS="$LIBS -lpthread" ]) ], [ AC_MSG_ERROR([$raise_exception missing!]) ], [-lpthread]) AC_CHECK_FUNCS(_Unwind_GetDataRelBase _Unwind_GetTextRelBase) ;; "Apple runtime") AC_DEFINE(OF_APPLE_RUNTIME, 1, [Whether we use the Apple ObjC runtime]) |
︙ | ︙ |
Modified extra.mk.in from [7c49c1e418] to [45695f76f0].
1 2 3 4 | OBJFW_SHARED_LIB = @OBJFW_SHARED_LIB@ OBJFW_STATIC_LIB = @OBJFW_STATIC_LIB@ OBJFW_FRAMEWORK = @OBJFW_FRAMEWORK@ OBJFW_AMIGA_LIB = @OBJFW_AMIGA_LIB@ | < | 1 2 3 4 5 6 7 8 9 10 11 | OBJFW_SHARED_LIB = @OBJFW_SHARED_LIB@ OBJFW_STATIC_LIB = @OBJFW_STATIC_LIB@ OBJFW_FRAMEWORK = @OBJFW_FRAMEWORK@ OBJFW_AMIGA_LIB = @OBJFW_AMIGA_LIB@ OBJFW_LIB_MAJOR = 9 OBJFW_LIB_MINOR = 1 OBJFW_LIB_MAJOR_MINOR = ${OBJFW_LIB_MAJOR}.${OBJFW_LIB_MINOR} OBJFWRT_SHARED_LIB = @OBJFWRT_SHARED_LIB@ OBJFWRT_STATIC_LIB = @OBJFWRT_STATIC_LIB@ OBJFWRT_FRAMEWORK = @OBJFWRT_FRAMEWORK@ |
︙ | ︙ |
Modified src/Makefile from [0f3ffe1235] to [2bd25b51a1].
1 2 3 4 5 6 7 8 9 10 11 | include ../extra.mk SUBDIRS = ${RUNTIME} exceptions ${ENCODINGS} forwarding invocation SUBDIRS_AFTER = ${BRIDGE} CLEAN = amiga-end.amigalib.dep \ amiga-end.amigalib.o \ amiga-glue.amigalib.dep \ amiga-glue.amigalib.o \ amiga-library-functable.inc \ amiga-library.amigalib.dep \ amiga-library.amigalib.o | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | include ../extra.mk SUBDIRS = ${RUNTIME} exceptions ${ENCODINGS} forwarding invocation SUBDIRS_AFTER = ${BRIDGE} CLEAN = amiga-end.amigalib.dep \ amiga-end.amigalib.o \ amiga-glue.amigalib.dep \ amiga-glue.amigalib.o \ amiga-library-functable.inc \ amiga-library.amigalib.dep \ amiga-library.amigalib.o DISTCLEAN = Info.plist objfw-defs.h SHARED_LIB = ${OBJFW_SHARED_LIB} STATIC_LIB = ${OBJFW_STATIC_LIB} FRAMEWORK = ${OBJFW_FRAMEWORK} AMIGA_LIB = ${OBJFW_AMIGA_LIB} LIB_MAJOR = ${OBJFW_LIB_MAJOR} LIB_MINOR = ${OBJFW_LIB_MINOR} |
︙ | ︙ |
Modified src/OFSelectKernelEventObserver.m from [7a4ddf3e07] to [f86117a30a].
︙ | ︙ | |||
224 225 226 227 228 229 230 | Permit(); #else events = select(_maxFD + 1, &readFDs, &writeFDs, NULL, (timeInterval != -1 ? &timeout : NULL)); #endif if (events < 0) | | > | | 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 | Permit(); #else events = select(_maxFD + 1, &readFDs, &writeFDs, NULL, (timeInterval != -1 ? &timeout : NULL)); #endif if (events < 0) @throw [OFObserveFailedException exceptionWithObserver: self errNo: of_socket_errno()]; #ifdef OF_AMIGAOS if (execSignalMask != 0 && [_delegate respondsToSelector: @selector(execSignalWasReceived:)]) [_delegate execSignalWasReceived: execSignalMask]; #else if (FD_ISSET(_cancelFD[0], &readFDs)) { |
︙ | ︙ |
Modified src/platform/amiga/thread.m from [7b264a994b] to [de7e15e20a].
︙ | ︙ | |||
164 165 166 167 168 169 170 | return of_tlskey_get(threadKey); } bool of_thread_join(of_thread_t thread) { ObtainSemaphore(&thread->semaphore); | | | > > | | | > | 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 | return of_tlskey_get(threadKey); } bool of_thread_join(of_thread_t thread) { ObtainSemaphore(&thread->semaphore); if (thread->done) { ReleaseSemaphore(&thread->semaphore); free(thread); return true; } @try { if (thread->detached || thread->joinTask != NULL) { errno = EINVAL; return false; } if ((thread->joinSigBit = AllocSignal(-1)) == -1) { errno = EAGAIN; |
︙ | ︙ |
Modified src/platform/windows/thread.m from [890723e850] to [d3d9eb9ec8].
︙ | ︙ | |||
19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 | #include <errno.h> #import "thread.h" #import "macros.h" #include <windows.h> bool of_thread_attr_init(of_thread_attr_t *attr) { attr->priority = 0; attr->stackSize = 0; return true; } bool of_thread_new(of_thread_t *thread, const char *name, void (*function)(id), id object, const of_thread_attr_t *attr) { | > > > > > > > > > > > > > < | | | < < < < < < < < < | < < < < | > > > > > > > > > > > > > > > > > > > > > > > | | > > > > > > > > | 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 | #include <errno.h> #import "thread.h" #import "macros.h" #include <windows.h> struct thread_context { void (*function)(id); id object; }; static WINAPI void functionWrapper(struct thread_context *context) { context->function(context->object); free(context); } bool of_thread_attr_init(of_thread_attr_t *attr) { attr->priority = 0; attr->stackSize = 0; return true; } bool of_thread_new(of_thread_t *thread, const char *name, void (*function)(id), id object, const of_thread_attr_t *attr) { DWORD priority = THREAD_PRIORITY_NORMAL; struct thread_context *context; DWORD threadID; if (attr != NULL && attr->priority != 0) { if (attr->priority < -1 || attr->priority > 1) { errno = EINVAL; return false; } if (attr->priority < 0) priority = THREAD_PRIORITY_LOWEST + (1.0 + attr->priority) * (THREAD_PRIORITY_NORMAL - THREAD_PRIORITY_LOWEST); else priority = THREAD_PRIORITY_NORMAL + attr->priority * (THREAD_PRIORITY_HIGHEST - THREAD_PRIORITY_NORMAL); } if ((context = malloc(sizeof(*context))) == NULL) { errno = ENOMEM; return false; } context->function = function; context->object = object; *thread = CreateThread(NULL, (attr != NULL ? attr->stackSize : 0), (LPTHREAD_START_ROUTINE)functionWrapper, context, 0, &threadID); if (thread == NULL) { int errNo; switch (GetLastError()) { case ERROR_NOT_ENOUGH_MEMORY: errNo = ENOMEM; break; case ERROR_ACCESS_DENIED: errNo = EACCES; break; default: OF_ENSURE(0); } free(context); errno = errNo; return false; } if (attr != NULL && attr->priority != 0) OF_ENSURE(!SetThreadPriority(*thread, priority)); return true; } bool of_thread_join(of_thread_t thread) { switch (WaitForSingleObject(thread, INFINITE)) { |
︙ | ︙ |
Modified tests/Makefile from [a8ea1ae9c1] to [5e05094c6b].
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | include ../extra.mk SUBDIRS = ${TESTPLUGIN} CLEAN = EBOOT.PBP \ boot.dol \ ${PROG_NOINST}.arm9 \ ${PROG_NOINST}.nds PROG_NOINST = tests${PROG_SUFFIX} STATIC_LIB_NOINST = ${TESTS_STATIC_LIB} SRCS = ForwardingTests.m \ OFASN1DERRepresentationTests.m \ OFASN1DERValueTests.m \ OFArrayTests.m \ | > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | include ../extra.mk SUBDIRS = ${TESTPLUGIN} CLEAN = EBOOT.PBP \ boot.dol \ ${PROG_NOINST}.arm9 \ ${PROG_NOINST}.nds DISTCLEAN = Info.plist PROG_NOINST = tests${PROG_SUFFIX} STATIC_LIB_NOINST = ${TESTS_STATIC_LIB} SRCS = ForwardingTests.m \ OFASN1DERRepresentationTests.m \ OFASN1DERValueTests.m \ OFArrayTests.m \ |
︙ | ︙ |
Modified tests/OFDNSResolverTests.m from [8f7194537b] to [56b8d9d248].
︙ | ︙ | |||
15 16 17 18 19 20 21 | * file. */ #include "config.h" #import "TestsAppDelegate.h" | < < | 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | * file. */ #include "config.h" #import "TestsAppDelegate.h" @implementation TestsAppDelegate (OFDNSResolverTests) - (void)DNSResolverTests { void *pool = objc_autoreleasePoolPush(); OFDNSResolver *resolver = [OFDNSResolver resolver]; OFMutableString *staticHosts = [OFMutableString string]; |
︙ | ︙ | |||
60 61 62 63 64 65 66 | resolver.maxAttempts]; [of_stdout writeFormat: @"[OFDNSResolver] Min number of dots in absolute name: %u\n", resolver.minNumberOfDotsInAbsoluteName]; [of_stdout writeFormat: @"[OFDNSResolver] Uses TCP: %u\n", | | | 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 | resolver.maxAttempts]; [of_stdout writeFormat: @"[OFDNSResolver] Min number of dots in absolute name: %u\n", resolver.minNumberOfDotsInAbsoluteName]; [of_stdout writeFormat: @"[OFDNSResolver] Uses TCP: %u\n", resolver.usesTCP]; [of_stdout writeFormat: @"[OFDNSResolver] Config reload interval: %lf\n", resolver.configReloadInterval]; objc_autoreleasePoolPop(pool); } @end |
Modified tests/OFLocaleTests.m from [bba7d2e3cd] to [9e55bec70d].
︙ | ︙ | |||
22 23 24 25 26 27 28 | @implementation TestsAppDelegate (OFLocaleTests) - (void)localeTests { void *pool = objc_autoreleasePoolPush(); of_stdout.foregroundColor = [OFColor lime]; | | | | | | 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 | @implementation TestsAppDelegate (OFLocaleTests) - (void)localeTests { void *pool = objc_autoreleasePoolPush(); of_stdout.foregroundColor = [OFColor lime]; [of_stdout writeFormat: @"[OFLocale] Language: %@\n", [OFLocale language]]; [of_stdout writeFormat: @"[OFLocale] Territory: %@\n", [OFLocale territory]]; [of_stdout writeFormat: @"[OFLocale] Encoding: %@\n", of_string_name_of_encoding([OFLocale encoding])]; [of_stdout writeFormat: @"[OFLocale] Decimal point: %@\n", [OFLocale decimalPoint]]; objc_autoreleasePoolPop(pool); } @end |
Modified tests/OFSPXSocketTests.m from [6d42db054f] to [0285d3399d].
︙ | ︙ | |||
161 162 163 164 165 166 167 | of_socket_address_get_ipx_node(&address1, node); memcpy(delegate->_expectedNode, node, IPX_NODE_LEN); delegate->_expectedNetwork = network = of_socket_address_get_ipx_network(&address1); delegate->_expectedPort = port = of_socket_address_get_port(&address1); | > | | | | | | | > > > > > > > > > > > > > | 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 | of_socket_address_get_ipx_node(&address1, node); memcpy(delegate->_expectedNode, node, IPX_NODE_LEN); delegate->_expectedNetwork = network = of_socket_address_get_ipx_network(&address1); delegate->_expectedPort = port = of_socket_address_get_port(&address1); @try { [sockClient asyncConnectToNode: node network: network port: port]; [[OFRunLoop mainRunLoop] runUntilDate: [OFDate dateWithTimeIntervalSinceNow: 2]]; TEST(@"-[asyncAccept] & -[asyncConnectToNode:network:port:]", delegate->_accepted && delegate->_connected) } @catch (OFObserveFailedException *e) { switch (e.errNo) { case ENOTSOCK: of_stdout.foregroundColor = [OFColor lime]; [of_stdout writeLine: @"[OFSPXSocket] -[asyncAccept] & " @"-[asyncConnectToNode:network:port:]: select() " @"not supported for SPX, skipping test"]; break; default: @throw e; } } objc_autoreleasePoolPop(pool); } @end |
Modified tests/OFSPXStreamSocketTests.m from [c4c06acd4d] to [897f2e1598].
︙ | ︙ | |||
165 166 167 168 169 170 171 | of_socket_address_get_ipx_node(&address1, node); memcpy(delegate->_expectedNode, node, IPX_NODE_LEN); delegate->_expectedNetwork = network = of_socket_address_get_ipx_network(&address1); delegate->_expectedPort = port = of_socket_address_get_port(&address1); | > | | | | | | | > > > > > > > > > > > > > | 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 | of_socket_address_get_ipx_node(&address1, node); memcpy(delegate->_expectedNode, node, IPX_NODE_LEN); delegate->_expectedNetwork = network = of_socket_address_get_ipx_network(&address1); delegate->_expectedPort = port = of_socket_address_get_port(&address1); @try { [sockClient asyncConnectToNode: node network: network port: port]; [[OFRunLoop mainRunLoop] runUntilDate: [OFDate dateWithTimeIntervalSinceNow: 2]]; TEST(@"-[asyncAccept] & -[asyncConnectToNode:network:port:]", delegate->_accepted && delegate->_connected) } @catch (OFObserveFailedException *e) { switch (e.errNo) { case ENOTSOCK: of_stdout.foregroundColor = [OFColor lime]; [of_stdout writeLine: @"[OFSPXStreamSocket] -[asyncAccept] & " @"-[asyncConnectToNode:network:port:]: select() " @"not supported for SPX, skipping test"]; break; default: @throw e; } } objc_autoreleasePoolPop(pool); } @end |
Modified tests/plugin/Makefile from [f500c20eb5] to [a32249aa5e].
1 2 3 4 5 6 7 | PLUGIN_NOINST = TestPlugin${PLUGIN_SUFFIX} SRCS = TestPlugin.m include ../../buildsys.mk include ../../extra.mk CPPFLAGS += -I../.. -I../../src -I../../src/runtime | > > | 1 2 3 4 5 6 7 8 9 | DISTCLEAN = Info.plist PLUGIN_NOINST = TestPlugin${PLUGIN_SUFFIX} SRCS = TestPlugin.m include ../../buildsys.mk include ../../extra.mk CPPFLAGS += -I../.. -I../../src -I../../src/runtime |
︙ | ︙ |