Fix Building

This commit is contained in:
Thomas A 2022-04-02 16:27:35 -07:00
parent 043772dde1
commit 4e83e2f6cd
6 changed files with 31 additions and 1 deletions

View File

@ -7,13 +7,14 @@ endif(COMMAND cmake_policy)
enable_language(C CXX)
add_definitions(-Dtypeof=__typeof__ -ggdb -O0)
add_definitions(-DPRIVATE -DDISPATCH_USE_DTRACE=0 -DNeXT_RUNTIME=1 -DNS_RETURNS_INNER_POINTER=
add_definitions(-DPRIVATE -D__BLOCKS__ -DDISPATCH_USE_DTRACE=0 -DNeXT_RUNTIME=1 -DNS_RETURNS_INNER_POINTER=
-DDISPATCH_USE_INTERNAL_WORKQUEUE=0
-DDISPATCH_USE_KEVENT_WORKQUEUE=0
-DDISPATCH_USE_KEVENT_WORKLOOP=0
-DHAVE_PTHREAD_WORKQUEUE_QOS=0
-DVOUCHER_USE_MACH_VOUCHER=0
-DDISPATCH_USE_WORKQUEUE_NARROWING=0
-DOS_ATOMIC_CONFIG_MEMORY_ORDER_DEPENDENCY=1
)
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -nostdinc -D__DARWIN_UNIX03 -fPIC")

View File

@ -32,6 +32,11 @@
#include <dispatch/base.h> // for HeaderDoc
#endif
#ifdef DARLING
#include <objc/objc.h>
#include <os/atomic_private.h>
#endif
#if DISPATCH_USE_CLIENT_CALLOUT
DISPATCH_NOTHROW void

View File

@ -19,6 +19,9 @@
*/
#include "internal.h"
#ifdef DARLING
#include <dispatch/private.h>
#endif
#if USE_OBJC

View File

@ -27,6 +27,12 @@
#ifndef __DISPATCH_OBJECT_INTERNAL__
#define __DISPATCH_OBJECT_INTERNAL__
#ifdef DARLING
#include <objc/objc.h>
#include <os/atomic_private.h>
#include <dispatch/private.h>
#endif
#if !OS_OBJECT_USE_OBJC
#define OS_OBJECT_DECL(name) DISPATCH_DECL(name)
#define OS_OBJECT_DECL_SUBCLASS(name, super) DISPATCH_DECL(name)

View File

@ -19,6 +19,9 @@
*/
#include "internal.h"
#ifdef DARLING
#include <dispatch/private.h>
#endif
#if HAVE_MACH
#include "protocol.h" // _dispatch_send_wakeup_runloop_thread
#endif

View File

@ -3,6 +3,18 @@
#include <os/assumes.h>
#include <mach/mach_port.h>
#ifdef DARLING
work_interval_instance_t work_interval_instance_alloc(work_interval_t wi);
void work_interval_instance_clear(work_interval_instance_t wii);
int work_interval_instance_finish(work_interval_instance_t wii);
void work_interval_instance_free(work_interval_instance_t wii);
void work_interval_instance_set_deadline(work_interval_instance_t wii, uint64_t deadline);
void work_interval_instance_set_finish(work_interval_instance_t wii, uint64_t current_finish);
void work_interval_instance_set_start(work_interval_instance_t wii, uint64_t start);
int work_interval_instance_start(work_interval_instance_t wii);
int work_interval_instance_update(work_interval_instance_t wii);
#endif
/* Declares struct symbols */
OS_OBJECT_CLASS_DECL(os_workgroup);
#if !USE_OBJC