13 changes: 11 additions & 2 deletions src/core/sys/posix/sys/wait.d
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,15 @@ public import core.sys.posix.sys.types; // for id_t, pid_t
public import core.sys.posix.signal; // for siginfo_t (XSI)
//public import core.sys.posix.resource; // for rusage (XSI)

version (OSX)
version = Darwin;
else version (iOS)
version = Darwin;
else version (TVOS)
version = Darwin;
else version (WatchOS)
version = Darwin;

version (Posix):
extern (C) nothrow @nogc:

Expand Down Expand Up @@ -69,7 +78,7 @@ version( CRuntime_Glibc )
extern (D) int WSTOPSIG( int status ) { return WEXITSTATUS( status ); }
extern (D) int WTERMSIG( int status ) { return status & 0x7F; }
}
else version( OSX )
else version( Darwin )
{
enum WNOHANG = 1;
enum WUNTRACED = 2;
Expand Down Expand Up @@ -181,7 +190,7 @@ version( CRuntime_Glibc )

int waitid(idtype_t, id_t, siginfo_t*, int);
}
else version( OSX )
else version( Darwin )
{
enum WEXITED = 0x00000004;
enum WSTOPPED = 0x00000008;
Expand Down
11 changes: 10 additions & 1 deletion src/core/sys/posix/syslog.d
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,15 @@
*/
module core.sys.posix.syslog;

version (OSX)
version = Darwin;
else version (iOS)
version = Darwin;
else version (TVOS)
version = Darwin;
else version (WatchOS)
version = Darwin;

version (Posix):

extern (C) nothrow @nogc:
Expand Down Expand Up @@ -79,7 +88,7 @@ version(CRuntime_Glibc)
void syslog (int __pri, const char *__fmt, ...);
void closelog();
}
else version( OSX )
else version( Darwin )
{
//http://www.opensource.apple.com/source/xnu/xnu-1456.1.26/osfmk/sys/syslog.h

Expand Down
13 changes: 11 additions & 2 deletions src/core/sys/posix/termios.d
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,15 @@ module core.sys.posix.termios;
private import core.sys.posix.config;
public import core.sys.posix.sys.types; // for pid_t

version (OSX)
version = Darwin;
else version (iOS)
version = Darwin;
else version (TVOS)
version = Darwin;
else version (WatchOS)
version = Darwin;

version (Posix):
extern (C):

Expand Down Expand Up @@ -241,7 +250,7 @@ version( CRuntime_Glibc )
int tcsendbreak(int, int);
int tcsetattr(int, int, in termios*);
}
else version( OSX )
else version( Darwin )
{
alias ubyte cc_t;
alias c_ulong speed_t;
Expand Down Expand Up @@ -532,7 +541,7 @@ version( CRuntime_Glibc )
pid_t tcgetsid(int);
}

else version (OSX)
else version (Darwin)
{
enum IXANY = 0x00000800;

Expand Down
19 changes: 14 additions & 5 deletions src/core/sys/posix/time.d
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,15 @@ public import core.stdc.time;
public import core.sys.posix.sys.types;
public import core.sys.posix.signal; // for sigevent

version (OSX)
version = Darwin;
else version (iOS)
version = Darwin;
else version (TVOS)
version = Darwin;
else version (WatchOS)
version = Darwin;

version (Posix):
extern (C):
nothrow:
Expand All @@ -44,7 +53,7 @@ version( CRuntime_Glibc )
{
time_t timegm(tm*); // non-standard
}
else version( OSX )
else version( Darwin )
{
time_t timegm(tm*); // non-standard
}
Expand Down Expand Up @@ -115,7 +124,7 @@ else version (FreeBSD)
deprecated("Please import it from core.sys.freebsd.time instead.")
alias CLOCK_MONOTONIC_FAST = core.sys.freebsd.time.CLOCK_MONOTONIC_FAST;
}
else version (OSX)
else version (Darwin)
{
// No CLOCK_MONOTONIC defined
}
Expand Down Expand Up @@ -206,7 +215,7 @@ version( CRuntime_Glibc )
int timer_getoverrun(timer_t);
int timer_settime(timer_t, int, in itimerspec*, itimerspec*);
}
else version( OSX )
else version( Darwin )
{
int nanosleep(in timespec*, timespec*);
}
Expand Down Expand Up @@ -324,7 +333,7 @@ version( CRuntime_Glibc )
tm* gmtime_r(in time_t*, tm*);
tm* localtime_r(in time_t*, tm*);
}
else version( OSX )
else version( Darwin )
{
char* asctime_r(in tm*, char*);
char* ctime_r(in time_t*, char*);
Expand Down Expand Up @@ -378,7 +387,7 @@ version( CRuntime_Glibc )
tm* getdate(in char*);
char* strptime(in char*, in char*, tm*);
}
else version( OSX )
else version( Darwin )
{
extern __gshared c_long timezone;
extern __gshared int daylight;
Expand Down
17 changes: 13 additions & 4 deletions src/core/sys/posix/unistd.d
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,15 @@ private import core.stdc.stddef;
public import core.sys.posix.inttypes; // for intptr_t
public import core.sys.posix.sys.types; // for ssize_t, uid_t, gid_t, off_t, pid_t, useconds_t

version (OSX)
version = Darwin;
else version (iOS)
version = Darwin;
else version (TVOS)
version = Darwin;
else version (WatchOS)
version = Darwin;

version (Posix):
extern (C):
nothrow:
Expand Down Expand Up @@ -143,7 +152,7 @@ else version( Solaris )
}
}
}
else version( OSX )
else version( Darwin )
{
off_t lseek(int, off_t, int) @trusted;
int ftruncate(int, off_t) @trusted;
Expand Down Expand Up @@ -469,7 +478,7 @@ version( CRuntime_Glibc )
_SC_RAW_SOCKETS
}
}
else version( OSX )
else version( Darwin )
{
enum F_OK = 0;
enum R_OK = 4;
Expand Down Expand Up @@ -1098,7 +1107,7 @@ version( CRuntime_Glibc )
{
int fsync(int) @trusted;
}
else version( OSX )
else version( Darwin )
{
int fsync(int) @trusted;
}
Expand Down Expand Up @@ -1210,7 +1219,7 @@ version( CRuntime_Glibc )
int truncate(in char*, off_t);
}
}
else version( OSX )
else version( Darwin )
{
char* crypt(in char*, in char*);
char* ctermid(char*);
Expand Down
11 changes: 10 additions & 1 deletion src/core/sys/posix/utime.d
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,15 @@ module core.sys.posix.utime;
private import core.sys.posix.config;
public import core.sys.posix.sys.types; // for time_t

version (OSX)
version = Darwin;
else version (iOS)
version = Darwin;
else version (TVOS)
version = Darwin;
else version (WatchOS)
version = Darwin;

version (Posix):
extern (C):
nothrow:
Expand Down Expand Up @@ -45,7 +54,7 @@ version( CRuntime_Glibc )

int utime(in char*, in utimbuf*);
}
else version( OSX )
else version( Darwin )
{
struct utimbuf
{
Expand Down
42 changes: 25 additions & 17 deletions src/core/thread.d
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,14 @@ module core.thread;
public import core.time; // for Duration
import core.exception : onOutOfMemoryError;

version (OSX)
version = Darwin;
else version (iOS)
version = Darwin;
else version (TVOS)
version = Darwin;
else version (WatchOS)
version = Darwin;

private
{
Expand Down Expand Up @@ -276,10 +284,10 @@ else version( Posix )
import core.sys.posix.signal;
import core.sys.posix.time;

version( OSX )
version( Darwin )
{
import core.sys.osx.mach.thread_act;
import core.sys.osx.pthread : pthread_mach_thread_np;
import core.sys.darwin.mach.thread_act;
import core.sys.darwin.pthread : pthread_mach_thread_np;
}

version( GNU )
Expand Down Expand Up @@ -612,7 +620,7 @@ class Thread
pthread_detach( m_addr );
m_addr = m_addr.init;
}
version( OSX )
version( Darwin )
{
m_tmach = m_tmach.init;
}
Expand Down Expand Up @@ -719,7 +727,7 @@ class Thread
onThreadError( "Error creating thread" );
}
}
version( OSX )
version( Darwin )
{
m_tmach = pthread_mach_thread_np( m_addr );
if( m_tmach == m_tmach.init )
Expand Down Expand Up @@ -1021,7 +1029,7 @@ class Thread
}
else
{
// NOTE: pthread_setschedprio is not implemented on OSX or FreeBSD, so use
// NOTE: pthread_setschedprio is not implemented on Darwin or FreeBSD, so use
// the more complicated get/set sequence below.
int policy;
sched_param param;
Expand Down Expand Up @@ -1454,7 +1462,7 @@ private:
{
HANDLE m_hndl;
}
else version( OSX )
else version( Darwin )
{
mach_port_t m_tmach;
}
Expand Down Expand Up @@ -1576,7 +1584,7 @@ private:
static assert(false, "Architecture not supported." );
}
}
else version( OSX )
else version( Darwin )
{
version( X86 )
{
Expand Down Expand Up @@ -1951,7 +1959,7 @@ extern (C) void thread_init()

Thread.initLocks();

version( OSX )
version( Darwin )
{
}
else version( Posix )
Expand Down Expand Up @@ -2077,7 +2085,7 @@ extern (C) Thread thread_attachThis()
thisThread.m_tlsgcdata = rt_tlsgc_init();
Thread.setThis( thisThread );

version( OSX )
version( Darwin )
{
thisThread.m_tmach = pthread_mach_thread_np( thisThread.m_addr );
assert( thisThread.m_tmach != thisThread.m_tmach.init );
Expand Down Expand Up @@ -2507,7 +2515,7 @@ private bool suspend( Thread t ) nothrow
static assert(false, "Architecture not supported." );
}
}
else version( OSX )
else version( Darwin )
{
if( t.m_addr != pthread_self() && thread_suspend( t.m_tmach ) != KERN_SUCCESS )
{
Expand Down Expand Up @@ -2642,7 +2650,7 @@ extern (C) void thread_suspendAll() nothrow
t = tn;
}

version (OSX)
version (Darwin)
{}
else version (Posix)
{
Expand Down Expand Up @@ -2710,7 +2718,7 @@ private void resume( Thread t ) nothrow
t.m_curr.tstack = t.m_curr.bstack;
t.m_reg[0 .. $] = 0;
}
else version( OSX )
else version( Darwin )
{
if( t.m_addr != pthread_self() && thread_resume( t.m_tmach ) != KERN_SUCCESS )
{
Expand Down Expand Up @@ -3154,9 +3162,9 @@ private void* getStackBottom() nothrow
else
static assert(false, "Architecture not supported.");
}
else version (OSX)
else version (Darwin)
{
import core.sys.osx.pthread;
import core.sys.darwin.pthread;
return pthread_get_stackaddr_np(pthread_self());
}
else version (CRuntime_Glibc)
Expand Down Expand Up @@ -3412,7 +3420,7 @@ private
else version( Posix )
version = AsmX86_Posix;

version( OSX )
version( Darwin )
version = AlignFiberStackTo16Byte;
}
else version( D_InlineAsm_X86_64 )
Expand Down Expand Up @@ -4386,7 +4394,7 @@ private:
version (Posix) import core.sys.posix.sys.mman; // mmap
version (FreeBSD) import core.sys.freebsd.sys.mman : MAP_ANON;
version (CRuntime_Glibc) import core.sys.linux.sys.mman : MAP_ANON;
version (OSX) import core.sys.osx.sys.mman : MAP_ANON;
version (Darwin) import core.sys.darwin.sys.mman : MAP_ANON;

static if( __traits( compiles, mmap ) )
{
Expand Down
29 changes: 19 additions & 10 deletions src/core/time.d
Original file line number Diff line number Diff line change
Expand Up @@ -94,12 +94,21 @@ import core.sys.posix.time;
import core.sys.posix.sys.time;
}

version (OSX)
version = Darwin;
else version (iOS)
version = Darwin;
else version (TVOS)
version = Darwin;
else version (WatchOS)
version = Darwin;

//This probably should be moved somewhere else in druntime which
//is OSX-specific.
version(OSX)
//is Darwin-specific.
version(Darwin)
{

public import core.sys.osx.mach.kern_return;
public import core.sys.darwin.mach.kern_return;

extern(C) nothrow @nogc
{
Expand Down Expand Up @@ -277,7 +286,7 @@ else version(Windows) enum ClockType
precise = 3,
second = 6,
}
else version(OSX) enum ClockType
else version(Darwin) enum ClockType
{
normal = 0,
coarse = 2,
Expand Down Expand Up @@ -2198,7 +2207,7 @@ struct MonoTimeImpl(ClockType clockType)
" is not supported by MonoTimeImpl on this system.");
}
}
else version(OSX)
else version(Darwin)
{
static if(clockType != ClockType.coarse &&
clockType != ClockType.normal &&
Expand Down Expand Up @@ -2262,7 +2271,7 @@ struct MonoTimeImpl(ClockType clockType)
}
return MonoTimeImpl(ticks);
}
else version(OSX)
else version(Darwin)
return MonoTimeImpl(mach_absolute_time());
else version(Posix)
{
Expand Down Expand Up @@ -2631,7 +2640,7 @@ extern(C) void _d_initMonoTime()
}
}
}
else version(OSX)
else version(Darwin)
{
immutable long ticksPerSecond = machTicksPerSecond();
foreach(i, typeStr; __traits(allMembers, ClockType))
Expand Down Expand Up @@ -2938,7 +2947,7 @@ struct TickDuration
if(QueryPerformanceFrequency(cast(long*)&ticksPerSec) == 0)
ticksPerSec = 0;
}
else version(OSX)
else version(Darwin)
{
ticksPerSec = machTicksPerSecond();
}
Expand Down Expand Up @@ -3493,7 +3502,7 @@ struct TickDuration

return TickDuration(ticks);
}
else version(OSX)
else version(Darwin)
{
static if(is(typeof(mach_absolute_time)))
return TickDuration(cast(long)mach_absolute_time());
Expand Down Expand Up @@ -4669,7 +4678,7 @@ unittest
static assert(!__traits(compiles, nextLargerTimeUnits!"years"));
}

version(OSX)
version(Darwin)
long machTicksPerSecond()
{
// Be optimistic that ticksPerSecond (1e9*denom/numer) is integral. So far
Expand Down
13 changes: 11 additions & 2 deletions src/gc/os.d
Original file line number Diff line number Diff line change
Expand Up @@ -29,10 +29,19 @@ version (Windows)
}
else version (Posix)
{
version (OSX)
version = Darwin;
else version (iOS)
version = Darwin;
else version (TVOS)
version = Darwin;
else version (WatchOS)
version = Darwin;

import core.sys.posix.sys.mman;
version (FreeBSD) import core.sys.freebsd.sys.mman : MAP_ANON;
version (CRuntime_Glibc) import core.sys.linux.sys.mman : MAP_ANON;
version (OSX) import core.sys.osx.sys.mman : MAP_ANON;
version (Darwin) import core.sys.darwin.sys.mman : MAP_ANON;
import core.stdc.stdlib;

//version = GC_Use_Alloc_MMap;
Expand Down Expand Up @@ -168,7 +177,7 @@ version (Windows)
}
}
}
else version (OSX)
else version (Darwin)
{
bool isLowOnMem(size_t mapped) nothrow @nogc
{
Expand Down
11 changes: 10 additions & 1 deletion src/rt/alloca.d
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,15 @@ module rt.alloca;
version (Posix)
{
version = alloca;

version (OSX)
version = Darwin;
else version (iOS)
version = Darwin;
else version (TVOS)
version = Darwin;
else version (WatchOS)
version = Darwin;
}
else version (CRuntime_Microsoft)
{
Expand Down Expand Up @@ -60,7 +69,7 @@ extern (C) void* __alloca(int nbytes)
push ESI ;
}

version (OSX)
version (Darwin)
{
asm
{
Expand Down
11 changes: 10 additions & 1 deletion src/rt/deh_win64_posix.d
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,15 @@ version (Posix)

version (Win64_Posix):

version (OSX)
version = Darwin;
else version (iOS)
version = Darwin;
else version (TVOS)
version = Darwin;
else version (WatchOS)
version = Darwin;

//debug=PRINTF;
debug(PRINTF) import core.stdc.stdio : printf;

Expand Down Expand Up @@ -416,7 +425,7 @@ extern (C) void _d_throwc(Object h)
inflight.t = cast(Throwable) h;
__inflight = &inflight;

version (OSX)
version (Darwin)
{
version (D_InlineAsm_X86)
asm
Expand Down
11 changes: 10 additions & 1 deletion src/rt/qsort.d
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,15 @@ module rt.qsort;

private import core.stdc.stdlib;

version (OSX)
version = Darwin;
else version (iOS)
version = Darwin;
else version (TVOS)
version = Darwin;
else version (WatchOS)
version = Darwin;

version (CRuntime_Glibc)
{
alias extern (C) int function(const void *, const void *, void *) Cmp;
Expand Down Expand Up @@ -48,7 +57,7 @@ else version (FreeBSD)
return a;
}
}
else version (OSX)
else version (Darwin)
{
alias extern (C) int function(void *, const void *, const void *) Cmp;
extern (C) void qsort_r(void *base, size_t nmemb, size_t size, void *thunk, Cmp cmp);
Expand Down
11 changes: 10 additions & 1 deletion src/rt/sections.d
Original file line number Diff line number Diff line change
Expand Up @@ -10,13 +10,22 @@

module rt.sections;

version (OSX)
version = Darwin;
else version (iOS)
version = Darwin;
else version (TVOS)
version = Darwin;
else version (WatchOS)
version = Darwin;

version (CRuntime_Glibc)
public import rt.sections_elf_shared;
else version (FreeBSD)
public import rt.sections_elf_shared;
else version (Solaris)
public import rt.sections_solaris;
else version (OSX)
else version (Darwin)
public import rt.sections_osx;
else version (CRuntime_DigitalMars)
public import rt.sections_win32;
Expand Down
19 changes: 14 additions & 5 deletions src/rt/sections_osx.d
Original file line number Diff line number Diff line change
Expand Up @@ -12,14 +12,23 @@

module rt.sections_osx;

version(OSX):
version (OSX)
version = Darwin;
else version (iOS)
version = Darwin;
else version (TVOS)
version = Darwin;
else version (WatchOS)
version = Darwin;

version(Darwin):

// debug = PRINTF;
import core.stdc.stdio;
import core.stdc.string, core.stdc.stdlib;
import core.sys.posix.pthread;
import core.sys.osx.mach.dyld;
import core.sys.osx.mach.getsect;
import core.sys.darwin.mach.dyld;
import core.sys.darwin.mach.getsect;
import rt.deh, rt.minfo;
import rt.util.container.array;

Expand Down Expand Up @@ -199,12 +208,12 @@ extern (C) void sections_osx_onAddImage(in mach_header* h, intptr_t slide)
// take the sections from the last static image which is the executable
if (_isRuntimeInitialized)
{
fprintf(stderr, "Loading shared libraries isn't yet supported on OSX.\n");
fprintf(stderr, "Loading shared libraries isn't yet supported on Darwin.\n");
return;
}
else if (_sections.modules.ptr !is null)
{
fprintf(stderr, "Shared libraries are not yet supported on OSX.\n");
fprintf(stderr, "Shared libraries are not yet supported on Darwin.\n");
}

debug(PRINTF) printf(" minfodata\n");
Expand Down
37 changes: 37 additions & 0 deletions win32.mak
Original file line number Diff line number Diff line change
Expand Up @@ -200,6 +200,7 @@ copydir: $(IMPDIR)
mkdir $(IMPDIR)\core\stdc
mkdir $(IMPDIR)\core\stdcpp
mkdir $(IMPDIR)\core\internal
mkdir $(IMPDIR)\core\sys\darwin\mach
mkdir $(IMPDIR)\core\sys\freebsd\sys
mkdir $(IMPDIR)\core\sys\linux\sys
mkdir $(IMPDIR)\core\sys\osx\mach
Expand Down Expand Up @@ -346,6 +347,42 @@ $(IMPDIR)\core\stdcpp\exception.d : src\core\stdcpp\exception.d
$(IMPDIR)\core\stdcpp\typeinfo.d : src\core\stdcpp\typeinfo.d
copy $** $@

$(IMPDIR)\core\sys\darwin\execinfo.d : src\core\sys\darwin\execinfo.d
copy $** $@

$(IMPDIR)\core\sys\darwin\pthread.d : src\core\sys\darwin\pthread.d
copy $** $@

$(IMPDIR)\core\sys\darwin\mach\dyld.d : src\core\sys\darwin\mach\dyld.d
copy $** $@

$(IMPDIR)\core\sys\darwin\mach\getsect.d : src\core\sys\darwin\mach\getsect.d
copy $** $@

$(IMPDIR)\core\sys\darwin\mach\kern_return.d : src\core\sys\darwin\mach\kern_return.d
copy $** $@

$(IMPDIR)\core\sys\darwin\mach\loader.d : src\core\sys\darwin\mach\loader.d
copy $** $@

$(IMPDIR)\core\sys\darwin\mach\port.d : src\core\sys\darwin\mach\port.d
copy $** $@

$(IMPDIR)\core\sys\darwin\mach\semaphore.d : src\core\sys\darwin\mach\semaphore.d
copy $** $@

$(IMPDIR)\core\sys\darwin\mach\thread_act.d : src\core\sys\darwin\mach\thread_act.d
copy $** $@

$(IMPDIR)\core\sys\darwin\sys\cdefs.d : src\core\sys\darwin\sys\cdefs.d
copy $** $@

$(IMPDIR)\core\sys\darwin\sys\event.d : src\core\sys\darwin\sys\event.d
copy $** $@

$(IMPDIR)\core\sys\darwin\sys\mman.d : src\core\sys\darwin\sys\mman.d
copy $** $@

$(IMPDIR)\core\sys\freebsd\dlfcn.d : src\core\sys\freebsd\dlfcn.d
copy $** $@

Expand Down
37 changes: 37 additions & 0 deletions win64.mak
Original file line number Diff line number Diff line change
Expand Up @@ -208,6 +208,7 @@ copydir: $(IMPDIR)
mkdir $(IMPDIR)\core\stdc
mkdir $(IMPDIR)\core\stdcpp
mkdir $(IMPDIR)\core\internal
mkdir $(IMPDIR)\core\sys\darwin\mach
mkdir $(IMPDIR)\core\sys\freebsd\sys
mkdir $(IMPDIR)\core\sys\linux\sys
mkdir $(IMPDIR)\core\sys\osx\mach
Expand Down Expand Up @@ -354,6 +355,42 @@ $(IMPDIR)\core\stdcpp\exception.d : src\core\stdcpp\exception.d
$(IMPDIR)\core\stdcpp\typeinfo.d : src\core\stdcpp\typeinfo.d
copy $** $@

$(IMPDIR)\core\sys\darwin\execinfo.d : src\core\sys\darwin\execinfo.d
copy $** $@

$(IMPDIR)\core\sys\darwin\pthread.d : src\core\sys\darwin\pthread.d
copy $** $@

$(IMPDIR)\core\sys\darwin\mach\dyld.d : src\core\sys\darwin\mach\dyld.d
copy $** $@

$(IMPDIR)\core\sys\darwin\mach\getsect.d : src\core\sys\darwin\mach\getsect.d
copy $** $@

$(IMPDIR)\core\sys\darwin\mach\kern_return.d : src\core\sys\darwin\mach\kern_return.d
copy $** $@

$(IMPDIR)\core\sys\darwin\mach\loader.d : src\core\sys\darwin\mach\loader.d
copy $** $@

$(IMPDIR)\core\sys\darwin\mach\port.d : src\core\sys\darwin\mach\port.d
copy $** $@

$(IMPDIR)\core\sys\darwin\mach\semaphore.d : src\core\sys\darwin\mach\semaphore.d
copy $** $@

$(IMPDIR)\core\sys\darwin\mach\thread_act.d : src\core\sys\darwin\mach\thread_act.d
copy $** $@

$(IMPDIR)\core\sys\darwin\sys\cdefs.d : src\core\sys\darwin\sys\cdefs.d
copy $** $@

$(IMPDIR)\core\sys\darwin\sys\event.d : src\core\sys\darwin\sys\event.d
copy $** $@

$(IMPDIR)\core\sys\darwin\sys\mman.d : src\core\sys\darwin\sys\mman.d
copy $** $@

$(IMPDIR)\core\sys\freebsd\dlfcn.d : src\core\sys\freebsd\dlfcn.d
copy $** $@

Expand Down