From a208f4c642ea122d016cb4f72a420b8ce06bc6c7 Mon Sep 17 00:00:00 2001 From: Schrijvers Luc Date: Thu, 29 Mar 2018 19:44:08 +0200 Subject: [PATCH] remove obselete bep file (#2375) --- dev-lang/dmd_bin/dmd_bin-1.064.recipe | 23 - dev-lang/dmd_bin/licenses/Digital Mars | 46 - dev-lang/dmd_bin/patches/dmd_bin-1.064.patch | 2814 ------------------ 3 files changed, 2883 deletions(-) delete mode 100644 dev-lang/dmd_bin/dmd_bin-1.064.recipe delete mode 100644 dev-lang/dmd_bin/licenses/Digital Mars delete mode 100644 dev-lang/dmd_bin/patches/dmd_bin-1.064.patch diff --git a/dev-lang/dmd_bin/dmd_bin-1.064.recipe b/dev-lang/dmd_bin/dmd_bin-1.064.recipe deleted file mode 100644 index 069602597..000000000 --- a/dev-lang/dmd_bin/dmd_bin-1.064.recipe +++ /dev/null @@ -1,23 +0,0 @@ -DESCRIPTION="D is a systems programming language." -HOMEPAGE="http://digitalmars.com/d/1.0/index.html" -SOURCE_URI="http://ftp.digitalmars.com/dmd.1.064.zip" -REVISION="1" -CHECKSUM_MD5="3d73758a7006397c2e66021532e2ff73" -MESSAGE="This port only builds with gcc4. Use 'setgcc gcc4' before building." -STATUS_HAIKU="stable" -DEPEND="" -BUILD() -{ - cd ./dmd/src/dmd - make -f haiku.mak - strip dmd -} - -INSTALL() -{ - mkdir -p ${DESTDIR}`finddir B_COMMON_BIN_DIRECTORY` - cp dmd/src/dmd/dmd ${DESTDIR}`finddir B_COMMON_BIN_DIRECTORY`/dmd - -} -LICENSE="Digital Mars" -COPYRIGHT="1999-2010, Digital Mars" diff --git a/dev-lang/dmd_bin/licenses/Digital Mars b/dev-lang/dmd_bin/licenses/Digital Mars deleted file mode 100644 index 580c840ba..000000000 --- a/dev-lang/dmd_bin/licenses/Digital Mars +++ /dev/null @@ -1,46 +0,0 @@ - -The Software is not generally available software. It has not undergone -testing and may contain errors. The Software was not designed to operate -after December 31, 1999. It may be incomplete and it may not function -properly. No support or maintenance is provided with this Software. Do -not install or distribute the Software if -you are not accustomed to using or distributing experimental software. -Do not use this software for life critical applications, or applications -that could cause significant harm or property damage. - -Digital Mars licenses the Software to you on an "AS IS" basis, without -warranty of any kind. DIGITAL MARS AND SYMANTEC HEREBY EXPRESSLY DISCLAIM -ALL WARRANTIES AND CONDITIONS, EITHER EXPRESS OR IMPLIED, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OR CONDITIONS OF MERCHANTABILITY, -NONINFRINGEMENT AND FITNESS FOR A PARTICULAR PURPOSE. You are solely -responsible for determining the appropriateness of using this Software and -assume all risks associated with the use of this Software, including but not -limited to the risks of program errors, damage -to or loss of data, programs or equipment, unavailability or interruption of -operations and third party claims. You agree to defend, indemnify and hold -Digital Mars and Symantec, its subsidiaries, affiliates, directors, officers, -employees and agents harmless from all claims or demands made against them -(and any related losses, damages, expenses -and costs) arising out of your use of the Software. DIGITAL MARS AND SYMANTEC -WILL NOT BE LIABLE FOR ANY DIRECT DAMAGES OR FOR ANY SPECIAL, INCIDENTAL, OR -INDIRECT DAMAGES OR FOR ANY ECONOMIC CONSEQUENTIAL DAMAGES (INCLUDING -LOST PROFITS OR SAVINGS), EVEN IF DIGITAL MARS OR SYMANTEC HAS BEEN ADVISED -OF THE POSSIBILITY OF SUCH DAMAGES. -Digital Mars and Symantec will not be liable for the loss of, or damage to, -your records or data, the records or -data of any third party, or any damages claimed by you based on a third party -claim. - -If you send any messages to Digital Mars, on either the Digital Mars -newsgroups, the Digital Mars mailing list, or via email, you agree not -to make any claims of intellectual -property rights over the contents of those messages. - -The Software is copyrighted and comes with a single user license, -and may not be redistributed. If you wish to obtain a redistribution license, -please contact Digital Mars. - --------------------------------------------- -Photo credits: Courtesy of NASA/JPL/Caltech --------------------------------------------- - diff --git a/dev-lang/dmd_bin/patches/dmd_bin-1.064.patch b/dev-lang/dmd_bin/patches/dmd_bin-1.064.patch deleted file mode 100644 index e737e05e4..000000000 --- a/dev-lang/dmd_bin/patches/dmd_bin-1.064.patch +++ /dev/null @@ -1,2814 +0,0 @@ -diff -Naur dmd/src/dmd/backend/cc.h dmd1/src/dmd/backend/cc.h ---- dmd/src/dmd/backend/cc.h 2010-09-14 07:16:00.036962304 +0000 -+++ dmd1/src/dmd/backend/cc.h 2010-09-19 15:18:13.894697472 +0000 -@@ -82,7 +82,7 @@ - WM_badnumber = 24, - WM_ccast = 25, - WM_obsolete = 26, --#if TARGET_LINUX || TARGET_OSX || TARGET_FREEBSD || TARGET_SOLARIS -+#if TARGET_LINUX || TARGET_OSX || TARGET_FREEBSD || TARGET_SOLARIS || TARGET_HAIKU - WM_skip_attribute = 27, // skip GNUC attribute specification - WM_warning_message = 28, // preprocessor warning message - WM_bad_vastart = 29, // args for builtin va_start bad -@@ -146,7 +146,7 @@ - #include "msgs2.h" - #endif - #include "ty.h" --#if TARGET_LINUX || TARGET_OSX || TARGET_FREEBSD || TARGET_SOLARIS -+#if TARGET_LINUX || TARGET_OSX || TARGET_FREEBSD || TARGET_SOLARIS || TARGET_HAIKU - #include "../tk/mem.h" - #else - #include "mem.h" -@@ -745,7 +745,7 @@ - #define Fnteh 0x08 // uses NT Structured EH - #define Fdoinline 0x40 // do inline walk - #define Foverridden 0x80 // ignore for overriding purposes --#if TARGET_LINUX || TARGET_OSX || TARGET_FREEBSD || TARGET_SOLARIS -+#if TARGET_LINUX || TARGET_OSX || TARGET_FREEBSD || TARGET_SOLARIS || TARGET_HAIKU - #define Fnowrite 0x100 // SCinline should never output definition - #else - #define Fjmonitor 0x100 // Jupiter synchronized function -@@ -800,7 +800,7 @@ - // of SCftexpspec explicit specializations - Funcsym *Fsurrogatesym; // Fsurrogate: surrogate cast function - --#if TARGET_LINUX || TARGET_OSX || TARGET_FREEBSD || TARGET_SOLARIS -+#if TARGET_LINUX || TARGET_OSX || TARGET_FREEBSD || TARGET_SOLARIS || TARGET_HAIKU - char *Fredirect; // redirect function name to this name in object - #endif - TARGET_structFUNC_S -@@ -1325,7 +1325,7 @@ - #define SFLmutable 0x100000 // SCmember or SCfield is mutable - #define SFLdyninit 0x200000 // symbol has dynamic initializer - #define SFLtmp 0x400000 // symbol is a generated temporary --#if TARGET_LINUX || TARGET_OSX || TARGET_FREEBSD || TARGET_SOLARIS -+#if TARGET_LINUX || TARGET_OSX || TARGET_FREEBSD || TARGET_SOLARIS || TARGET_HAIKU - #define SFLthunk 0x40000 // symbol is temporary for thunk - #endif - -@@ -1543,7 +1543,7 @@ - FLallocatmp, // temp for built-in alloca() - FLstack, // offset from ESP rather than EBP - FLdsymbol, // it's a Dsymbol --#if TARGET_LINUX || TARGET_OSX || TARGET_FREEBSD || TARGET_SOLARIS -+#if TARGET_LINUX || TARGET_OSX || TARGET_FREEBSD || TARGET_SOLARIS || TARGET_HAIKU - // Change this, update debug.c too - FLgot, // global offset table entry outside this object file - FLgotoff, // global offset table entry inside this object file -diff -Naur dmd/src/dmd/backend/cdef.h dmd1/src/dmd/backend/cdef.h ---- dmd/src/dmd/backend/cdef.h 2010-09-14 07:16:00.023068672 +0000 -+++ dmd1/src/dmd/backend/cdef.h 2010-09-19 15:22:37.755236864 +0000 -@@ -171,9 +171,14 @@ - #define TARGET_SOLARIS 0 // target is a Solaris executable - #endif - -+// Set to 1 using the makefile -+#ifndef TARGET_HAIKU -+#define TARGET_HAIKU 0 // target is a Haiku executable -+#endif -+ - // This is the default - #ifndef TARGET_WINDOS --#define TARGET_WINDOS (!(TARGET_LINUX || TARGET_OSX || TARGET_FREEBSD || TARGET_SOLARIS)) -+#define TARGET_WINDOS (!(TARGET_LINUX || TARGET_OSX || TARGET_FREEBSD || TARGET_SOLARIS || TARGET_HAIKU)) - #endif - - #if __GNUC__ -@@ -242,7 +247,7 @@ - - // Precompiled header variations - #define MEMORYHX (_WINDLL && _WIN32) // HX and SYM files are cached in memory --#define MMFIO (_WIN32 || linux || __APPLE__ || __FreeBSD__ || __sun&&__SVR4) // if memory mapped files -+#define MMFIO (_WIN32 || linux || __APPLE__ || __FreeBSD__ || __sun&&__SVR4 || __HAIKU__) // if memory mapped files - #define LINEARALLOC _WIN32 // if we can reserve address ranges - - // H_STYLE takes on one of these precompiled header methods -@@ -458,7 +463,7 @@ - #define DOUBLESIZE 8 - #if TARGET_OSX - #define LNGDBLSIZE 16 // 80 bit reals --#elif TARGET_LINUX || TARGET_FREEBSD || TARGET_SOLARIS -+#elif TARGET_LINUX || TARGET_FREEBSD || TARGET_SOLARIS || TARGET_HAIKU - #define LNGDBLSIZE 12 // 80 bit reals - #else - #define LNGDBLSIZE 10 // 80 bit reals -@@ -509,7 +514,7 @@ - #define OMFOBJ TARGET_WINDOS - #endif - #ifndef ELFOBJ --#define ELFOBJ (TARGET_LINUX || TARGET_FREEBSD || TARGET_SOLARIS) -+#define ELFOBJ (TARGET_LINUX || TARGET_FREEBSD || TARGET_SOLARIS || TARGET_HAIKU) - #endif - #ifndef MACHOBJ - #define MACHOBJ TARGET_OSX -@@ -696,6 +701,7 @@ - #define EX_SCOUNIX 0x800 - #define EX_UNIXSVR4 0x1000 - #define EX_LINUX 0x2000 -+#define EX_HAIKU 0x2000 - #define EX_WIN64 0x4000 // AMD64 and Windows (64 bit mode) - #define EX_LINUX64 0x8000 // AMD64 and Linux (64 bit mode) - #define EX_OSX 0x10000 -@@ -707,7 +713,7 @@ - - #define EX_flat (EX_OS2 | EX_NT | EX_LINUX | EX_WIN64 | EX_LINUX64 | \ - EX_OSX | EX_OSX64 | EX_FREEBSD | EX_FREEBSD64 | \ -- EX_SOLARIS | EX_SOLARIS64) -+ EX_SOLARIS | EX_SOLARIS64 | EX_HAIKU) - #define EX_dos (EX_DOSX | EX_ZPM | EX_RATIONAL | EX_PHARLAP | \ - EX_COM | EX_MZ /*| EX_WIN16*/) - -@@ -760,7 +766,7 @@ - #define CFG3relax 0x200 // relaxed type checking (C only) - #define CFG3cpp 0x400 // C++ compile - #define CFG3igninc 0x800 // ignore standard include directory --#if TARGET_LINUX || TARGET_OSX || TARGET_FREEBSD || TARGET_SOLARIS -+#if TARGET_LINUX || TARGET_OSX || TARGET_FREEBSD || TARGET_SOLARIS || TARGET_HAIKU - #define CFG3mars 0x1000 // use mars libs and headers - #define NO_FAR (TRUE) // always ignore __far and __huge keywords - #else -@@ -772,7 +778,7 @@ - #define CFG3cppcomment 0x8000 // allow C++ style comments - #define CFG3wkfloat 0x10000 // make floating point references weak externs - #define CFG3digraphs 0x20000 // support ANSI C++ digraphs --#if TARGET_LINUX || TARGET_OSX || TARGET_FREEBSD || TARGET_SOLARIS -+#if TARGET_LINUX || TARGET_OSX || TARGET_FREEBSD || TARGET_SOLARIS || TARGET_HAIKU - #define CFG3semirelax 0x40000 // moderate relaxed type checking - #endif - #define CFG3pic 0x80000 // position independent code -@@ -975,7 +981,7 @@ - #define SYMBOLZERO - #endif - --#if TARGET_LINUX || TARGET_FREEBSD || TARGET_SOLARIS -+#if TARGET_LINUX || TARGET_FREEBSD || TARGET_SOLARIS || TARGET_HAIKU - #define UNIXFIELDS (unsigned)-1,(unsigned)-1,0,0, - #elif TARGET_OSX - #define UNIXFIELDS (unsigned)-1,(unsigned)-1,0,0,0, -diff -Naur dmd/src/dmd/backend/cg87.c dmd1/src/dmd/backend/cg87.c ---- dmd/src/dmd/backend/cg87.c 2010-09-14 07:16:00.041680896 +0000 -+++ dmd1/src/dmd/backend/cg87.c 2010-09-19 16:00:13.923271168 +0000 -@@ -619,7 +619,7 @@ - static double dval[7] = - {0.0,1.0,PI,LOG2T,LOG2E,LOG2,LN2}; - static long double ldval[7] = --#if __APPLE__ || __FreeBSD__ || __sun&&__SVR4 -+#if __APPLE__ || __FreeBSD__ || __sun&&__SVR4 || __HAIKU__ - #define M_PIl 0x1.921fb54442d1846ap+1L // 3.14159 fldpi - #define M_LOG2T_L 0x1.a934f0979a3715fcp+1L // 3.32193 fldl2t - #define M_LOG2El 0x1.71547652b82fe178p+0L // 1.4427 fldl2e -diff -Naur dmd/src/dmd/backend/cgcod.c dmd1/src/dmd/backend/cgcod.c ---- dmd/src/dmd/backend/cgcod.c 2010-09-14 07:16:00.010223616 +0000 -+++ dmd1/src/dmd/backend/cgcod.c 2010-09-19 15:23:23.361496576 +0000 -@@ -127,7 +127,7 @@ - csmax = 64; - csextab = (struct CSE *) util_calloc(sizeof(struct CSE),csmax); - functy = tybasic(funcsym_p->ty()); --#if TARGET_LINUX || TARGET_OSX || TARGET_FREEBSD || TARGET_SOLARIS -+#if TARGET_LINUX || TARGET_OSX || TARGET_FREEBSD || TARGET_SOLARIS || TARGET_HAIKU - if (0 && config.flags3 & CFG3pic) - { - ALLREGS = ALLREGS_INIT_PIC; -@@ -1002,7 +1002,7 @@ - #endif - if (config.flags2 & CFG2seh) - c = cat(c,nteh_unwind(0,toindex)); --#if MARS && (TARGET_LINUX || TARGET_OSX || TARGET_FREEBSD || TARGET_SOLARIS) -+#if MARS && (TARGET_LINUX || TARGET_OSX || TARGET_FREEBSD || TARGET_SOLARIS || TARGET_HAIKU) - else if (toindex + 1 <= fromindex) - { - //c = cat(c, linux_unwind(0, toindex)); -@@ -1089,7 +1089,7 @@ - assert(!getregs(allregs)); - assert(!e); - assert(!bl->Bcode); --#if TARGET_LINUX || TARGET_OSX || TARGET_FREEBSD || TARGET_SOLARIS -+#if TARGET_LINUX || TARGET_OSX || TARGET_FREEBSD || TARGET_SOLARIS || TARGET_HAIKU - if (config.flags3 & CFG3pic) - { - if (STACKALIGN == 16) -@@ -1553,7 +1553,7 @@ - return mST0; - - case TYcfloat: --#if TARGET_LINUX || TARGET_OSX || TARGET_FREEBSD || TARGET_SOLARIS -+#if TARGET_LINUX || TARGET_OSX || TARGET_FREEBSD || TARGET_SOLARIS || TARGET_HAIKU - if (I32 && tybasic(tyf) == TYnfunc) - return mDX | mAX; - #endif -@@ -2492,7 +2492,7 @@ - case OPrelconst: - c = cdrelconst(e,pretregs); - break; --#if TARGET_LINUX || TARGET_OSX || TARGET_FREEBSD || TARGET_SOLARIS -+#if TARGET_LINUX || TARGET_OSX || TARGET_FREEBSD || TARGET_SOLARIS || TARGET_HAIKU - case OPgot: - c = cdgot(e,pretregs); - break; -diff -Naur dmd/src/dmd/backend/cgelem.c dmd1/src/dmd/backend/cgelem.c ---- dmd/src/dmd/backend/cgelem.c 2010-09-14 07:16:00.005242880 +0000 -+++ dmd1/src/dmd/backend/cgelem.c 2010-09-19 15:24:12.137101312 +0000 -@@ -812,7 +812,7 @@ - e2 = e->E2; - if (e2->Eoper == OPconst) - { --#if TARGET_LINUX || TARGET_OSX || TARGET_FREEBSD || TARGET_SOLARIS -+#if TARGET_LINUX || TARGET_OSX || TARGET_FREEBSD || TARGET_SOLARIS || TARGET_HAIKU - if (e1->Eoper == OPrelconst && e1->EV.sp.Vsym->Sfl == FLgot) - goto ret; - #endif -@@ -827,7 +827,7 @@ - } - else if (e1->Eoper == OPconst) - { --#if TARGET_LINUX || TARGET_OSX || TARGET_FREEBSD || TARGET_SOLARIS -+#if TARGET_LINUX || TARGET_OSX || TARGET_FREEBSD || TARGET_SOLARIS || TARGET_HAIKU - if (e2->Eoper == OPrelconst && e2->EV.sp.Vsym->Sfl == FLgot) - goto ret; - #endif -diff -Naur dmd/src/dmd/backend/cod1.c dmd1/src/dmd/backend/cod1.c ---- dmd/src/dmd/backend/cod1.c 2010-09-14 07:16:00.022282240 +0000 -+++ dmd1/src/dmd/backend/cod1.c 2010-09-19 15:25:02.416808960 +0000 -@@ -1279,7 +1279,7 @@ - case FLextern: - if (s->Sident[0] == '_' && memcmp(s->Sident + 1,"tls_array",10) == 0) - { --#if TARGET_LINUX || TARGET_FREEBSD || TARGET_SOLARIS -+#if TARGET_LINUX || TARGET_FREEBSD || TARGET_SOLARIS || TARGET_HAIKU - // Rewrite as GS:[0000], or FS:[0000] for 64 bit - if (I64) - { -@@ -1307,7 +1307,7 @@ - case FLdata: - case FLudata: - case FLcsdata: --#if TARGET_LINUX || TARGET_OSX || TARGET_FREEBSD || TARGET_SOLARIS -+#if TARGET_LINUX || TARGET_OSX || TARGET_FREEBSD || TARGET_SOLARIS || TARGET_HAIKU - case FLgot: - case FLgotoff: - case FLtlsdata: -@@ -1338,7 +1338,7 @@ - { - pcs->Iflags |= CFcs | CFoff; - } --#if TARGET_LINUX || TARGET_OSX || TARGET_FREEBSD || TARGET_SOLARIS -+#if TARGET_LINUX || TARGET_OSX || TARGET_FREEBSD || TARGET_SOLARIS || TARGET_HAIKU - if (I64 && config.flags3 & CFG3pic && - (fl == FLtlsdata || s->ty() & mTYthread)) - { -@@ -1923,12 +1923,12 @@ - { - //printf("callclib(e = %p, clib = %d, *pretregs = %s, keepmask = %s\n", e, clib, regm_str(*pretregs), regm_str(keepmask)); - //elem_print(e); --#if TARGET_LINUX || TARGET_OSX || TARGET_FREEBSD || TARGET_SOLARIS -+#if TARGET_LINUX || TARGET_OSX || TARGET_FREEBSD || TARGET_SOLARIS || TARGET_HAIKU - static symbol lib[] = - { - /* Convert destroyed regs into saved regs */ - #define Z(desregs) (~(desregs) & (mBP| mES | ALLREGS)) --#if TARGET_LINUX || TARGET_OSX || TARGET_FREEBSD || TARGET_SOLARIS -+#if TARGET_LINUX || TARGET_OSX || TARGET_FREEBSD || TARGET_SOLARIS || TARGET_HAIKU - #define N(name) "_" name - #else - #define N(name) name -@@ -2149,7 +2149,7 @@ - {DOUBLEREGS_16,DOUBLEREGS_32,0,INFfloat,1,1}, // _INTDBL@ intdbl - {mAX,mAX,0,INFfloat,1,1}, // _DBLUNS@ dbluns - {DOUBLEREGS_16,DOUBLEREGS_32,0,INFfloat,1,1}, // _UNSDBL@ unsdbl --#if TARGET_LINUX || TARGET_OSX || TARGET_FREEBSD || TARGET_SOLARIS -+#if TARGET_LINUX || TARGET_OSX || TARGET_FREEBSD || TARGET_SOLARIS || TARGET_HAIKU - {mDX|mAX,mAX,0,INF32|INFfloat,0,1}, // _DBLULNG@ dblulng - #else - {mDX|mAX,mAX,0,INFfloat,1,1}, // _DBLULNG@ dblulng -@@ -2162,7 +2162,7 @@ - - {DOUBLEREGS_16,mDX|mAX,0,INFfloat,1,1}, // _DBLLLNG@ - {DOUBLEREGS_16,DOUBLEREGS_32,0,INFfloat,1,1}, // _LLNGDBL@ --#if TARGET_LINUX || TARGET_OSX || TARGET_FREEBSD || TARGET_SOLARIS -+#if TARGET_LINUX || TARGET_OSX || TARGET_FREEBSD || TARGET_SOLARIS || TARGET_HAIKU - {DOUBLEREGS_16,mDX|mAX,0,INFfloat,2,2}, // _DBLULLNG@ - #else - {DOUBLEREGS_16,mDX|mAX,0,INFfloat,1,1}, // _DBLULLNG@ -diff -Naur dmd/src/dmd/backend/cod2.c dmd1/src/dmd/backend/cod2.c ---- dmd/src/dmd/backend/cod2.c 2010-09-14 07:16:00.049020928 +0000 -+++ dmd1/src/dmd/backend/cod2.c 2010-09-19 15:25:43.999292928 +0000 -@@ -151,7 +151,7 @@ - - ty1 = tybasic(e1->Ety); - if (tyfloating(ty1)) --#if TARGET_LINUX || TARGET_OSX || TARGET_FREEBSD || TARGET_SOLARIS -+#if TARGET_LINUX || TARGET_OSX || TARGET_FREEBSD || TARGET_SOLARIS || TARGET_HAIKU - return orth87(e,pretregs); - #else - return opdouble(e,pretregs,(e->Eoper == OPadd) ? CLIBdadd -@@ -793,7 +793,7 @@ - unsigned grex = rex << 16; - - if (tyfloating(tyml)) --#if TARGET_LINUX || TARGET_OSX || TARGET_FREEBSD || TARGET_SOLARIS -+#if TARGET_LINUX || TARGET_OSX || TARGET_FREEBSD || TARGET_SOLARIS || TARGET_HAIKU - return orth87(e,pretregs); - #else - return opdouble(e,pretregs,(oper == OPmul) ? CLIBdmul : CLIBddiv); -@@ -3761,7 +3761,7 @@ - goto L4; - - case FLtlsdata: --#if TARGET_LINUX || TARGET_OSX || TARGET_FREEBSD || TARGET_SOLARIS -+#if TARGET_LINUX || TARGET_OSX || TARGET_FREEBSD || TARGET_SOLARIS || TARGET_HAIKU - { - L5: - if (I64 && config.flags3 & CFG3pic) -@@ -3853,13 +3853,13 @@ - goto L4; - - case FLextern: --#if TARGET_LINUX || TARGET_OSX || TARGET_FREEBSD || TARGET_SOLARIS -+#if TARGET_LINUX || TARGET_OSX || TARGET_FREEBSD || TARGET_SOLARIS || TARGET_HAIKU - if (e->EV.sp.Vsym->ty() & mTYthread) - goto L5; - #endif - case FLdata: - case FLudata: --#if TARGET_LINUX || TARGET_OSX || TARGET_FREEBSD || TARGET_SOLARIS -+#if TARGET_LINUX || TARGET_OSX || TARGET_FREEBSD || TARGET_SOLARIS || TARGET_HAIKU - case FLgot: - case FLgotoff: - #endif -@@ -4141,7 +4141,7 @@ - - if (tyfloating(tyml)) - { --#if TARGET_LINUX || TARGET_OSX || TARGET_FREEBSD || TARGET_SOLARIS -+#if TARGET_LINUX || TARGET_OSX || TARGET_FREEBSD || TARGET_SOLARIS || TARGET_HAIKU - return post87(e,pretregs); - #else - if (config.inline8087) -diff -Naur dmd/src/dmd/backend/cod3.c dmd1/src/dmd/backend/cod3.c ---- dmd/src/dmd/backend/cod3.c 2010-09-14 07:16:00.003145728 +0000 -+++ dmd1/src/dmd/backend/cod3.c 2010-09-19 15:26:46.276037632 +0000 -@@ -534,7 +534,7 @@ - genjmp(c,JNE,FLblock,list_block(b->Bsucc)); /* JNE default */ - } - ce = getregs(mCX|mDI); --#if TARGET_LINUX || TARGET_OSX || TARGET_FREEBSD || TARGET_SOLARIS -+#if TARGET_LINUX || TARGET_OSX || TARGET_FREEBSD || TARGET_SOLARIS || TARGET_HAIKU - if (config.flags3 & CFG3pic) - { // Add in GOT - code *cx; -@@ -614,7 +614,7 @@ - mod = (disp > 127) ? 2 : 1; /* 1 or 2 byte displacement */ - if (config.flags & CFGromable) - gen1(ce,SEGCS); /* table is in code segment */ --#if TARGET_LINUX || TARGET_OSX || TARGET_FREEBSD || TARGET_SOLARIS -+#if TARGET_LINUX || TARGET_OSX || TARGET_FREEBSD || TARGET_SOLARIS || TARGET_HAIKU - if (config.flags3 & CFG3pic) - { // ADD EDX,(ncases-1)*2[EDI] - ct = genc1(CNIL,0x03,modregrm(mod,DX,7),FLconst,disp); -@@ -1092,7 +1092,7 @@ - gen1(c, 0x58 + reg); // L1: POP reg - - return cat(c,fixresult(e,retregs,pretregs)); --#elif TARGET_LINUX || TARGET_FREEBSD || TARGET_SOLARIS -+#elif TARGET_LINUX || TARGET_FREEBSD || TARGET_SOLARIS || TARGET_HAIKU - regm_t retregs; - unsigned reg; - code *c; -@@ -1125,7 +1125,7 @@ - #endif - } - --#if TARGET_LINUX || TARGET_OSX || TARGET_FREEBSD || TARGET_SOLARIS -+#if TARGET_LINUX || TARGET_OSX || TARGET_FREEBSD || TARGET_SOLARIS || TARGET_HAIKU - /***************************** - * Returns: - * # of bytes stored -@@ -1401,7 +1401,7 @@ - if (config.wflags & WFincbp && farfunc) - c = gen1(c,0x40 + BP); /* INC BP */ - if (config.target_cpu < TARGET_80286 || -- config.exe & (EX_LINUX | EX_LINUX64 | EX_OSX | EX_OSX64 | EX_FREEBSD | EX_FREEBSD64 | EX_SOLARIS | EX_SOLARIS64) || -+ config.exe & (EX_LINUX | EX_LINUX64 | EX_OSX | EX_OSX64 | EX_FREEBSD | EX_FREEBSD64 | EX_SOLARIS | EX_SOLARIS64 | EX_HAIKU) || - !localsize || - config.flags & CFGstack || - (xlocalsize >= 0x1000 && config.exe & EX_flat) || -@@ -2077,7 +2077,7 @@ - - code *cod3_load_got() - { --#if TARGET_LINUX || TARGET_OSX || TARGET_FREEBSD || TARGET_SOLARIS -+#if TARGET_LINUX || TARGET_OSX || TARGET_FREEBSD || TARGET_SOLARIS || TARGET_HAIKU - code *c; - code *cgot; - -@@ -2259,7 +2259,7 @@ - sthunk->Soffset = thunkoffset; - sthunk->Ssize = Coffset - thunkoffset; /* size of thunk */ - sthunk->Sseg = cseg; --#if TARGET_LINUX || TARGET_OSX || TARGET_FREEBSD || TARGET_SOLARIS -+#if TARGET_LINUX || TARGET_OSX || TARGET_FREEBSD || TARGET_SOLARIS || TARGET_HAIKU - objpubdef(cseg,sthunk,sthunk->Soffset); - #endif - searchfixlist(sthunk); /* resolve forward refs */ -@@ -4251,7 +4251,7 @@ - // un-named external with is the start of .rodata or .data - case FLextern: /* external data symbol */ - case FLtlsdata: --#if TARGET_LINUX || TARGET_FREEBSD || TARGET_SOLARIS -+#if TARGET_LINUX || TARGET_FREEBSD || TARGET_SOLARIS || TARGET_HAIKU - case FLgot: - case FLgotoff: - #endif -@@ -4344,7 +4344,7 @@ - // un-named external with is the start of .rodata or .data - case FLextern: /* external data symbol */ - case FLtlsdata: --#if TARGET_LINUX || TARGET_FREEBSD || TARGET_SOLARIS -+#if TARGET_LINUX || TARGET_FREEBSD || TARGET_SOLARIS || TARGET_HAIKU - case FLgot: - case FLgotoff: - #endif -@@ -4568,7 +4568,7 @@ - // resolve directly. - if (s->Sseg == p->Lseg && - (s->Sclass == SCstatic || --#if TARGET_LINUX || TARGET_OSX || TARGET_FREEBSD || TARGET_SOLARIS -+#if TARGET_LINUX || TARGET_OSX || TARGET_FREEBSD || TARGET_SOLARIS || TARGET_HAIKU - (!(config.flags3 & CFG3pic) && s->Sclass == SCglobal)) && - #else - s->Sclass == SCglobal) && -diff -Naur dmd/src/dmd/backend/cod4.c dmd1/src/dmd/backend/cod4.c ---- dmd/src/dmd/backend/cod4.c 2010-09-14 07:16:00.025165824 +0000 -+++ dmd1/src/dmd/backend/cod4.c 2010-09-19 15:27:05.449576960 +0000 -@@ -749,7 +749,7 @@ - byte = (sz == 1); // 1 for byte operation, else 0 - if (tyfloating(tyml)) - { --#if TARGET_LINUX || TARGET_OSX || TARGET_FREEBSD || TARGET_SOLARIS -+#if TARGET_LINUX || TARGET_OSX || TARGET_FREEBSD || TARGET_SOLARIS || TARGET_HAIKU - if (op == OPnegass) - c = cdnegass87(e,pretregs); - else -@@ -1192,7 +1192,7 @@ - - - if (tyfloating(tyml)) --#if TARGET_LINUX || TARGET_OSX || TARGET_FREEBSD || TARGET_SOLARIS -+#if TARGET_LINUX || TARGET_OSX || TARGET_FREEBSD || TARGET_SOLARIS || TARGET_HAIKU - return opass87(e,pretregs); - #else - return opassdbl(e,pretregs,op); -@@ -1685,7 +1685,7 @@ - unsigned rex = (I64 && sz == 8) ? REX_W : 0; - unsigned grex = rex << 16; // 64 bit operands - --#if TARGET_LINUX || TARGET_OSX || TARGET_FREEBSD || TARGET_SOLARIS -+#if TARGET_LINUX || TARGET_OSX || TARGET_FREEBSD || TARGET_SOLARIS || TARGET_HAIKU - if (tyfloating(tym)) /* if floating operation */ - { - retregs = mPSW; -@@ -2427,7 +2427,7 @@ - case OPd_s64: - return cnvt87(e,pretregs); - case OPd_u32: // use subroutine, not 8087 --#if TARGET_LINUX || TARGET_OSX || TARGET_FREEBSD || TARGET_SOLARIS -+#if TARGET_LINUX || TARGET_OSX || TARGET_FREEBSD || TARGET_SOLARIS || TARGET_HAIKU - retregs = mST0; - #else - retregs = DOUBLEREGS; -diff -Naur dmd/src/dmd/backend/code.h dmd1/src/dmd/backend/code.h ---- dmd/src/dmd/backend/code.h 2010-09-14 07:16:00.039059456 +0000 -+++ dmd1/src/dmd/backend/code.h 2010-09-19 15:27:18.326369280 +0000 -@@ -110,7 +110,7 @@ - #define RMload (1 << 30) - #define RMstore (1 << 31) - --#if TARGET_LINUX || TARGET_OSX || TARGET_FREEBSD || TARGET_SOLARIS -+#if TARGET_LINUX || TARGET_OSX || TARGET_FREEBSD || TARGET_SOLARIS || TARGET_HAIKU - // To support positional independent code, - // must be able to remove BX from available registers - extern regm_t ALLREGS; -@@ -669,7 +669,7 @@ - cd_t cdcomma; - cd_t cdloglog; - cd_t cdshift; --#if TARGET_LINUX || TARGET_OSX || TARGET_FREEBSD || TARGET_SOLARIS -+#if TARGET_LINUX || TARGET_OSX || TARGET_FREEBSD || TARGET_SOLARIS || TARGET_HAIKU - cd_t cdindpic; - #endif - cd_t cdind; -diff -Naur dmd/src/dmd/backend/debug.c dmd1/src/dmd/backend/debug.c ---- dmd/src/dmd/backend/debug.c 2010-09-14 07:16:00.005767168 +0000 -+++ dmd1/src/dmd/backend/debug.c 2010-09-19 15:27:38.099876864 +0000 -@@ -101,7 +101,7 @@ - if (t & mTYpasobj) - dbg_printf("mTYpasobj|"); - #endif --#if linux || __APPLE__ || __FreeBSD__ || __sun&&__SVR4 -+#if linux || __APPLE__ || __FreeBSD__ || __sun&&__SVR4 || __HAIKU__ - if (t & mTYtransu) - dbg_printf("mTYtransu|"); - #endif -@@ -294,7 +294,7 @@ - "ndp ","farda ","local ","csdat ","tlsdat", - "bprel ","frameh","asm ","blocko","alloca", - "stack ","dsym ", --#if TARGET_LINUX || TARGET_OSX || TARGET_FREEBSD || TARGET_SOLARIS -+#if TARGET_LINUX || TARGET_OSX || TARGET_FREEBSD || TARGET_SOLARIS || TARGET_HAIKU - "got ","gotoff", - #endif - #endif -diff -Naur dmd/src/dmd/backend/dwarf.c dmd1/src/dmd/backend/dwarf.c ---- dmd/src/dmd/backend/dwarf.c 2010-09-14 07:16:00.007077888 +0000 -+++ dmd1/src/dmd/backend/dwarf.c 2010-09-19 15:28:04.921174016 +0000 -@@ -22,7 +22,7 @@ - #include - #endif - --#if linux || __APPLE__ || __FreeBSD__ || __sun&&__SVR4 -+#if linux || __APPLE__ || __FreeBSD__ || __sun&&__SVR4 || __HAIKU__ - #include - #include - #include -@@ -402,7 +402,7 @@ - linebuf->writeString((char *)list_ptr(pl)); - linebuf->writeByte(0); - } --#if linux || __APPLE__ || __FreeBSD__ || __sun&&__SVR4 -+#if linux || __APPLE__ || __FreeBSD__ || __sun&&__SVR4 || __HAIKU__ - for (pl = pathsyslist; pl; pl = list_next(pl)) - { - linebuf->writeString((char *)list_ptr(pl)); -diff -Naur dmd/src/dmd/backend/el.c dmd1/src/dmd/backend/el.c ---- dmd/src/dmd/backend/el.c 2010-09-14 07:16:00.015728640 +0000 -+++ dmd1/src/dmd/backend/el.c 2010-09-19 15:28:43.187170816 +0000 -@@ -1329,7 +1329,7 @@ - return e; - } - #endif --#if TARGET_LINUX || TARGET_FREEBSD || TARGET_SOLARIS -+#if TARGET_LINUX || TARGET_FREEBSD || TARGET_SOLARIS || TARGET_HAIKU - - elem *el_picvar(symbol *s) - { elem *e; -@@ -1531,10 +1531,10 @@ - - //printf("el_var(s = '%s')\n", s->Sident); - //printf("%x\n", s->Stype->Tty); --#if TARGET_LINUX || TARGET_OSX || TARGET_FREEBSD || TARGET_SOLARIS -+#if TARGET_LINUX || TARGET_OSX || TARGET_FREEBSD || TARGET_SOLARIS || TARGET_HAIKU - // OSX is currently always pic - if (config.flags3 & CFG3pic && --#if TARGET_LINUX || TARGET_FREEBSD || TARGET_SOLARIS -+#if TARGET_LINUX || TARGET_FREEBSD || TARGET_SOLARIS || TARGET_HAIKU - (!(s->Stype->Tty & mTYthread) || I64) && - #endif - !tyfunc(s->ty())) -@@ -1553,7 +1553,7 @@ - //printf("thread local %s\n", s->Sident); - #if TARGET_OSX - ; --#elif TARGET_LINUX || TARGET_FREEBSD || TARGET_SOLARIS -+#elif TARGET_LINUX || TARGET_FREEBSD || TARGET_SOLARIS || TARGET_HAIKU - /* For 32 bit: - * Generate for var locals: - * MOV reg,GS:[00000000] // add GS: override in back end -@@ -1658,7 +1658,7 @@ - { elem *e; - - //printf("el_var(s = '%s')\n", s->Sident); --#if TARGET_LINUX || TARGET_OSX || TARGET_FREEBSD || TARGET_SOLARIS -+#if TARGET_LINUX || TARGET_OSX || TARGET_FREEBSD || TARGET_SOLARIS || TARGET_HAIKU - if (config.flags3 & CFG3pic && !tyfunc(s->ty())) - return el_picvar(s); - #endif -@@ -1755,7 +1755,7 @@ - return e; - } - #endif --#if TARGET_LINUX || TARGET_OSX || TARGET_FREEBSD || TARGET_SOLARIS -+#if TARGET_LINUX || TARGET_OSX || TARGET_FREEBSD || TARGET_SOLARIS || TARGET_HAIKU - if (config.flags3 & CFG3pic && tyfunc(s->ty())) - e = el_picvar(s); - else -diff -Naur dmd/src/dmd/backend/elfobj.c dmd1/src/dmd/backend/elfobj.c ---- dmd/src/dmd/backend/elfobj.c 2010-09-14 07:16:00.040632320 +0000 -+++ dmd1/src/dmd/backend/elfobj.c 2010-09-19 15:28:59.817364992 +0000 -@@ -1863,7 +1863,7 @@ - } - break; - case mTYman_std: --#if TARGET_LINUX || TARGET_FREEBSD || TARGET_SOLARIS -+#if TARGET_LINUX || TARGET_FREEBSD || TARGET_SOLARIS || TARGET_HAIKU - if (tyfunc(s->ty()) && !variadic(s->Stype)) - #else - if (!(config.flags4 & CFG4oldstdmangle) && -diff -Naur dmd/src/dmd/backend/evalu8.c dmd1/src/dmd/backend/evalu8.c ---- dmd/src/dmd/backend/evalu8.c 2010-09-14 07:16:00.031981568 +0000 -+++ dmd1/src/dmd/backend/evalu8.c 2010-09-19 15:29:18.926416896 +0000 -@@ -42,7 +42,7 @@ - - extern void error(const char *filename, unsigned linnum, const char *format, ...); - --#if linux || __APPLE__ || __FreeBSD__ || __sun&&__SVR4 -+#if linux || __APPLE__ || __FreeBSD__ || __sun&&__SVR4 || __HAIKU__ - int _status87() - { - return fetestexcept(FE_ALL_EXCEPT); -@@ -514,7 +514,7 @@ - if (e2->Eoper == OPconst) - { targ_int i = e2->EV.Vint; - --#if TARGET_LINUX || TARGET_OSX || TARGET_FREEBSD || TARGET_SOLARIS -+#if TARGET_LINUX || TARGET_OSX || TARGET_FREEBSD || TARGET_SOLARIS || TARGET_HAIKU - if (i && e1->EV.sp.Vsym->Sfl == FLgot) - break; - #endif -diff -Naur dmd/src/dmd/backend/global.h dmd1/src/dmd/backend/global.h ---- dmd/src/dmd/backend/global.h 2010-09-14 07:16:00.052428800 +0000 -+++ dmd1/src/dmd/backend/global.h 2010-09-19 15:29:26.810549248 +0000 -@@ -546,7 +546,7 @@ - void dwarf_CFA_args_size(size_t sz); - #endif - --#if TARGET_LINUX || TARGET_OSX || TARGET_FREEBSD || TARGET_SOLARIS -+#if TARGET_LINUX || TARGET_OSX || TARGET_FREEBSD || TARGET_SOLARIS || TARGET_HAIKU - void elfobj_gotref(symbol *s); - symbol *elfobj_getGOTsym(); - void elfobj_refGOTsym(); -diff -Naur dmd/src/dmd/backend/machobj.c dmd1/src/dmd/backend/machobj.c ---- dmd/src/dmd/backend/machobj.c 2010-09-14 07:16:00.008650752 +0000 -+++ dmd1/src/dmd/backend/machobj.c 2010-09-19 15:29:53.417333248 +0000 -@@ -21,7 +21,7 @@ - #include - #endif - --#if linux || __APPLE__ || __FreeBSD__ || __sun&&__SVR4 -+#if linux || __APPLE__ || __FreeBSD__ || __sun&&__SVR4 || __HAIKU__ - #include - #include - #endif -@@ -1615,7 +1615,7 @@ - strupr(dest); // to upper case - break; - case mTYman_std: --#if TARGET_LINUX || TARGET_OSX || TARGET_FREEBSD || TARGET_SOLARIS -+#if TARGET_LINUX || TARGET_OSX || TARGET_FREEBSD || TARGET_SOLARIS || TARGET_HAIKU - if (tyfunc(s->ty()) && !variadic(s->Stype)) - #else - if (!(config.flags4 & CFG4oldstdmangle) && -diff -Naur dmd/src/dmd/backend/nteh.c dmd1/src/dmd/backend/nteh.c ---- dmd/src/dmd/backend/nteh.c 2010-09-14 07:16:00.019922944 +0000 -+++ dmd1/src/dmd/backend/nteh.c 2010-09-19 15:30:37.083099648 +0000 -@@ -415,7 +415,7 @@ - /* An sindex value of -2 is a magic value that tells the - * stack unwinder to skip this frame. - */ -- assert(config.exe & (EX_LINUX | EX_LINUX64 | EX_OSX | EX_OSX64 | EX_FREEBSD | EX_FREEBSD64 | EX_SOLARIS | EX_SOLARIS64)); -+ assert(config.exe & (EX_LINUX | EX_LINUX64 | EX_OSX | EX_OSX64 | EX_FREEBSD | EX_FREEBSD64 | EX_SOLARIS | EX_SOLARIS64 | EX_HAIKU)); - cs.Iop = 0x68; - cs.Iflags = 0; - cs.Irex = 0; -diff -Naur dmd/src/dmd/backend/optabgen.c dmd1/src/dmd/backend/optabgen.c ---- dmd/src/dmd/backend/optabgen.c 2010-09-14 07:16:00.063700992 +0000 -+++ dmd1/src/dmd/backend/optabgen.c 2010-09-19 15:30:57.498860032 +0000 -@@ -703,7 +703,7 @@ - case FLctor: segfl[i] = -1; break; - case FLdtor: segfl[i] = -1; break; - case FLdsymbol: segfl[i] = -1; break; --#if TARGET_LINUX || TARGET_OSX || TARGET_FREEBSD || TARGET_SOLARIS -+#if TARGET_LINUX || TARGET_OSX || TARGET_FREEBSD || TARGET_SOLARIS || TARGET_HAIKU - case FLgot: segfl[i] = -1; break; - case FLgotoff: segfl[i] = -1; break; - #endif -diff -Naur dmd/src/dmd/backend/os.c dmd1/src/dmd/backend/os.c ---- dmd/src/dmd/backend/os.c 2010-09-14 07:16:00.039321600 +0000 -+++ dmd1/src/dmd/backend/os.c 2010-09-19 15:31:43.780664832 +0000 -@@ -26,7 +26,7 @@ - #include - #endif - --#if linux || __APPLE__ || __FreeBSD__ || __sun&&__SVR4 -+#if linux || __APPLE__ || __FreeBSD__ || __sun&&__SVR4 || __HAIKU__ - #include - #include - #include -@@ -658,7 +658,7 @@ - if (!find) - return 0; - return (find->attribute & FA_DIREC) ? 2 : 1; --#elif linux || __APPLE__ || __FreeBSD__ || __sun&&__SVR4 -+#elif linux || __APPLE__ || __FreeBSD__ || __sun&&__SVR4 || __HAIKU__ - struct stat buf; - - return stat(name,&buf) == 0; /* file exists if stat succeeded */ -@@ -735,7 +735,7 @@ - - int file_write(char *name, void *buffer, unsigned len) - { --#if linux || __APPLE__ || __FreeBSD__ || __sun&&__SVR4 -+#if linux || __APPLE__ || __FreeBSD__ || __sun&&__SVR4 || __HAIKU__ - int fd; - ssize_t numwritten; - -@@ -811,7 +811,7 @@ - - int file_createdirs(char *name) - { --#if linux || __APPLE__ || __FreeBSD__ || __sun&&__SVR4 -+#if linux || __APPLE__ || __FreeBSD__ || __sun&&__SVR4 || __HAIKU__ - return 1; - #endif - #if _WIN32 -@@ -861,7 +861,7 @@ - } - #endif - --#if linux || __APPLE__ || __FreeBSD__ || __sun&&__SVR4 -+#if linux || __APPLE__ || __FreeBSD__ || __sun&&__SVR4 || __HAIKU__ - int os_critsecsize() - { - return sizeof(pthread_mutex_t); -diff -Naur dmd/src/dmd/backend/out.c dmd1/src/dmd/backend/out.c ---- dmd/src/dmd/backend/out.c 2010-09-14 07:16:00.046661632 +0000 -+++ dmd1/src/dmd/backend/out.c 2010-09-19 15:31:52.633077760 +0000 -@@ -408,7 +408,7 @@ - flags = CFoff | CFseg; - if (tybasic(dt->Dty) == TYcptr) - reftocodseg(seg,offset,dt->DTabytes); --#if TARGET_LINUX || TARGET_OSX || TARGET_FREEBSD || TARGET_SOLARIS -+#if TARGET_LINUX || TARGET_OSX || TARGET_FREEBSD || TARGET_SOLARIS || TARGET_HAIKU - else - reftodatseg(seg,offset,dt->DTabytes,dt->DTseg,flags); - #else -diff -Naur dmd/src/dmd/backend/parser.h dmd1/src/dmd/backend/parser.h ---- dmd/src/dmd/backend/parser.h 2010-09-14 07:16:00.043515904 +0000 -+++ dmd1/src/dmd/backend/parser.h 2010-09-23 20:53:34.909901824 +0000 -@@ -156,7 +156,7 @@ - #define FQtop 8 // top level file, already open - #define FQqual 0x10 // filename is already qualified - #endif --#if linux || __APPLE__ || __FreeBSD__ || __sun&&__SVR4 -+#if linux || __APPLE__ || __FreeBSD__ || __sun&&__SVR4 || __HAIKU__ - #define FQnext 0x20 // search starts after directory - #endif // of last included file - -@@ -698,7 +698,7 @@ - - extern list_t pathlist; // include paths - extern list_t headers; // pre-include files --#if linux || __APPLE__ || __FreeBSD__ || __sun&&__SVR4 -+#if linux || __APPLE__ || __FreeBSD__ || __sun&&__SVR4 || __HAIKU__ - extern list_t pathsyslist; // include path for .h file overrides - #endif - -diff -Naur dmd/src/dmd/backend/strtold.c dmd1/src/dmd/backend/strtold.c ---- dmd/src/dmd/backend/strtold.c 2010-09-14 07:16:00.062390272 +0000 -+++ dmd1/src/dmd/backend/strtold.c 2010-09-19 15:32:39.060030976 +0000 -@@ -20,7 +20,7 @@ - #if _WIN32 - #include - #endif --#if linux || __APPLE__ || __FreeBSD__ || __sun&&__SVR4 -+#if linux || __APPLE__ || __FreeBSD__ || __sun&&__SVR4 || __HAIKU__ - #include - #endif - -@@ -30,7 +30,7 @@ - void __pascal __set_errno (int an_errno); - #endif - --#if _WIN32 || linux || __APPLE__ || __FreeBSD__ || __sun&&__SVR4 -+#if _WIN32 || linux || __APPLE__ || __FreeBSD__ || __sun&&__SVR4 || __HAIKU__ - - #if 0 - /* This is for compilers that don't support hex float literals, -diff -Naur dmd/src/dmd/backend/token.h dmd1/src/dmd/backend/token.h ---- dmd/src/dmd/backend/token.h 2010-09-14 07:16:00.044302336 +0000 -+++ dmd1/src/dmd/backend/token.h 2010-09-19 15:32:54.867958784 +0000 -@@ -179,7 +179,7 @@ - TK_stdcall, - TK_syscall, - TK_try, --#if TARGET_LINUX || TARGET_OSX || TARGET_FREEBSD || TARGET_SOLARIS -+#if TARGET_LINUX || TARGET_OSX || TARGET_FREEBSD || TARGET_SOLARIS || TARGET_HAIKU - TK_attribute, - TK_extension, - TK_format, -@@ -211,7 +211,7 @@ - TKandand,TKshl,TKshr,TKrcur,TKeq,TKaddass,TKminass,TKmulass,TKdivass, - TKmodass,TKshrass,TKshlass,TKandass,TKxorass,TKorass,TKsemi, - TKadd,TKellipsis, --#if !TX86 || TARGET_LINUX || TARGET_OSX || TARGET_FREEBSD || TARGET_SOLARIS -+#if !TX86 || TARGET_LINUX || TARGET_OSX || TARGET_FREEBSD || TARGET_SOLARIS || TARGET_HAIKU - TKdollar, - #endif - -diff -Naur dmd/src/dmd/backend/ty.h dmd1/src/dmd/backend/ty.h ---- dmd/src/dmd/backend/ty.h 2010-09-14 07:16:00.038535168 +0000 -+++ dmd1/src/dmd/backend/ty.h 2010-09-19 15:33:02.589299712 +0000 -@@ -304,7 +304,7 @@ - /* Array to give the 'relaxed' type for relaxed type checking */ - extern unsigned char _tyrelax[]; - #define type_relax (config.flags3 & CFG3relax) // !=0 if relaxed type checking --#if TARGET_LINUX || TARGET_OSX || TARGET_FREEBSD || TARGET_SOLARIS -+#if TARGET_LINUX || TARGET_OSX || TARGET_FREEBSD || TARGET_SOLARIS || TARGET_HAIKU - #define type_semirelax (config.flags3 & CFG3semirelax) // !=0 if semi-relaxed type checking - #else - #define type_semirelax type_relax -diff -Naur dmd/src/dmd/backend/type.h dmd1/src/dmd/backend/type.h ---- dmd/src/dmd/backend/type.h 2010-09-14 07:16:00.019136512 +0000 -+++ dmd1/src/dmd/backend/type.h 2010-09-19 15:33:16.247988224 +0000 -@@ -54,7 +54,7 @@ - unsigned short Tflags; // TFxxxxx - - #if TX86 --#if TARGET_LINUX || TARGET_OSX || TARGET_FREEBSD || TARGET_SOLARIS -+#if TARGET_LINUX || TARGET_OSX || TARGET_FREEBSD || TARGET_SOLARIS || TARGET_HAIKU - #define mTYnoret 0x010000 // function has no return - #define mTYtransu 0x010000 // transparent union - #else -@@ -68,7 +68,7 @@ - #define mTYsyscall 0x400000 - #define mTYjava 0x800000 - --#if TARGET_LINUX || TARGET_OSX || TARGET_FREEBSD || TARGET_SOLARIS -+#if TARGET_LINUX || TARGET_OSX || TARGET_FREEBSD || TARGET_SOLARIS || TARGET_HAIKU - #define mTYTFF 0xFE0000 - #else - #define mTYTFF 0xFF0000 -diff -Naur dmd/src/dmd/backend/var.c dmd1/src/dmd/backend/var.c ---- dmd/src/dmd/backend/var.c 2010-09-14 07:16:00.006815744 +0000 -+++ dmd1/src/dmd/backend/var.c 2010-09-19 15:33:25.649854976 +0000 -@@ -58,7 +58,7 @@ - #if MEMMODELS == 1 - tym_t functypetab[LINK_MAXDIM] = - { --#if TARGET_LINUX || TARGET_OSX || TARGET_FREEBSD || TARGET_SOLARIS -+#if TARGET_LINUX || TARGET_OSX || TARGET_FREEBSD || TARGET_SOLARIS || TARGET_HAIKU - TYnfunc, - TYnpfunc, - TYnpfunc, -diff -Naur dmd/src/dmd/cond.c dmd1/src/dmd/cond.c ---- dmd/src/dmd/cond.c 2010-09-14 07:16:00.002097152 +0000 -+++ dmd1/src/dmd/cond.c 2010-09-19 15:34:06.023855104 +0000 -@@ -138,6 +138,7 @@ - #endif - "OSX", "FreeBSD", - "Solaris", -+ "Haiku", - "LittleEndian", "BigEndian", - "all", - "none", -diff -Naur dmd/src/dmd/e2ir.c dmd1/src/dmd/e2ir.c ---- dmd/src/dmd/e2ir.c 2010-09-14 07:16:00.029622272 +0000 -+++ dmd1/src/dmd/e2ir.c 2010-09-19 15:34:41.236716032 +0000 -@@ -174,7 +174,8 @@ - if ((global.params.isLinux || - global.params.isOSX || - global.params.isFreeBSD || -- global.params.isSolaris) && tf->linkage != LINKd) -+ global.params.isSolaris || -+ global.params.isHaiku) && tf->linkage != LINKd) - ; // ehidden goes last on Linux/OSX C++ - else - { -@@ -1582,7 +1583,7 @@ - if (global.params.useInvariants && t1->ty == Tclass && - !((TypeClass *)t1)->sym->isInterfaceDeclaration()) - { --#if TARGET_LINUX || TARGET_FREEBSD || TARGET_SOLARIS -+#if TARGET_LINUX || TARGET_FREEBSD || TARGET_SOLARIS || TARGET_HAIKU - e = el_bin(OPcall, TYvoid, el_var(rtlsym[RTLSYM__DINVARIANT]), e); - #else - e = el_bin(OPcall, TYvoid, el_var(rtlsym[RTLSYM_DINVARIANT]), e); -diff -Naur dmd/src/dmd/eh.c dmd1/src/dmd/eh.c ---- dmd/src/dmd/eh.c 2010-09-14 07:16:00.013631488 +0000 -+++ dmd1/src/dmd/eh.c 2010-09-19 15:34:56.559153152 +0000 -@@ -26,7 +26,7 @@ - symbol *except_gentables() - { - //printf("except_gentables()\n"); --#if TARGET_LINUX || TARGET_OSX || TARGET_FREEBSD || TARGET_SOLARIS -+#if TARGET_LINUX || TARGET_OSX || TARGET_FREEBSD || TARGET_SOLARIS || TARGET_HAIKU - symbol *s; - int sz; // size so far - dt_t **pdt; -diff -Naur dmd/src/dmd/expression.c dmd1/src/dmd/expression.c ---- dmd/src/dmd/expression.c 2010-09-14 07:16:00.011534336 +0000 -+++ dmd1/src/dmd/expression.c 2010-09-23 20:55:42.509083648 +0000 -@@ -1625,6 +1625,8 @@ - { - #if __APPLE__ - return (__inline_isnan(x1) && __inline_isnan(x2)) || -+#elif __HAIKU__ -+ return (__isnan(x1) && __isnan(x2)) || - #else - return (isnan(x1) && isnan(x2)) || - #endif -@@ -1734,6 +1736,8 @@ - - #if __APPLE__ - if (__inline_isnan(value)) -+#elif __HAIKU__ -+ if (__isnan(value)) - #else - if (isnan(value)) - #endif -diff -Naur dmd/src/dmd/glue.c dmd1/src/dmd/glue.c ---- dmd/src/dmd/glue.c 2010-09-14 07:16:00.022806528 +0000 -+++ dmd1/src/dmd/glue.c 2010-09-19 15:35:50.215220224 +0000 -@@ -610,7 +610,7 @@ - // Pull in RTL startup code - if (func->isMain()) - { objextdef("_main"); --#if TARGET_LINUX || TARGET_OSX || TARGET_FREEBSD || TARGET_SOLARIS -+#if TARGET_LINUX || TARGET_OSX || TARGET_FREEBSD || TARGET_SOLARIS || TARGET_HAIKU - obj_ehsections(); // initialize exception handling sections - #endif - #if TARGET_WINDOS -@@ -770,7 +770,7 @@ - pi++; - } - -- if ((global.params.isLinux || global.params.isOSX || global.params.isFreeBSD || global.params.isSolaris) && -+ if ((global.params.isLinux || global.params.isOSX || global.params.isFreeBSD || global.params.isSolaris || global.params.isHaiku) && - linkage != LINKd && shidden && sthis) - { - /* swap shidden and sthis -@@ -1015,7 +1015,7 @@ - s->toObjFile(0); - } - --#if TARGET_LINUX || TARGET_OSX || TARGET_FREEBSD || TARGET_SOLARIS -+#if TARGET_LINUX || TARGET_OSX || TARGET_FREEBSD || TARGET_SOLARIS || TARGET_HAIKU - // A hack to get a pointer to this function put in the .dtors segment - if (ident && memcmp(ident->toChars(), "_STD", 4) == 0) - obj_staticdtor(s); -@@ -1061,7 +1061,7 @@ - //case Tbit: t = TYuchar; break; - case Tbool: t = TYbool; break; - case Tchar: t = TYchar; break; --#if TARGET_LINUX || TARGET_OSX || TARGET_FREEBSD || TARGET_SOLARIS -+#if TARGET_LINUX || TARGET_OSX || TARGET_FREEBSD || TARGET_SOLARIS || TARGET_HAIKU - case Twchar: t = TYwchar_t; break; - case Tdchar: t = TYdchar; break; - #else -@@ -1151,7 +1151,7 @@ - - case LINKc: - tyf = TYnfunc; --#if TARGET_LINUX || TARGET_OSX || TARGET_FREEBSD || TARGET_SOLARIS -+#if TARGET_LINUX || TARGET_OSX || TARGET_FREEBSD || TARGET_SOLARIS || TARGET_HAIKU - if (retStyle() == RETstack) - tyf = TYhfunc; - #endif -diff -Naur dmd/src/dmd/haiku.mak dmd1/src/dmd/haiku.mak ---- dmd/src/dmd/haiku.mak 1970-01-01 00:00:00.000000000 +0000 -+++ dmd1/src/dmd/haiku.mak 2010-09-19 15:16:23.496762880 +0000 -@@ -0,0 +1,599 @@ -+ -+C=backend -+TK=tk -+ROOT=root -+ -+MODEL=-m32 -+ -+CC=g++ $(MODEL) -+ -+#OPT=-g -g3 -+#OPT=-O2 -+ -+#COV=-fprofile-arcs -ftest-coverage -+ -+WARNINGS=-Wno-deprecated -Wstrict-aliasing -+ -+#GFLAGS = $(WARNINGS) -D__near= -D__pascal= -fno-exceptions -g -DDEBUG=1 $(COV) -+GFLAGS = $(WARNINGS) -D__near= -D__pascal= -fno-exceptions -O2 -+ -+CFLAGS = $(GFLAGS) -I$(ROOT) -D__I86__=1 -DMARS=1 -DTARGET_HAIKU=1 -D_DH -+MFLAGS = $(GFLAGS) -I$C -I$(TK) -D__I86__=1 -DMARS=1 -DTARGET_HAIKU=1 -D_DH -+ -+CH= $C/cc.h $C/global.h $C/parser.h $C/oper.h $C/code.h $C/type.h \ -+ $C/dt.h $C/cgcv.h $C/el.h $C/iasm.h -+TOTALH= -+ -+DMD_OBJS = \ -+ access.o array.o attrib.o bcomplex.o bit.o blockopt.o \ -+ cast.o code.o cg.o cg87.o cgcod.o cgcs.o cgelem.o cgen.o \ -+ cgreg.o cgsched.o class.o cod1.o cod2.o cod3.o cod4.o cod5.o \ -+ constfold.o irstate.o dchar.o cond.o debug.o \ -+ declaration.o dsymbol.o dt.o dump.o e2ir.o ee.o eh.o el.o \ -+ dwarf.o enum.o evalu8.o expression.o func.o gdag.o gflow.o \ -+ glocal.o gloop.o glue.o gnuc.o go.o gother.o html.o iasm.o id.o \ -+ identifier.o impcnvtab.o import.o inifile.o init.o inline.o \ -+ lexer.o link.o lstring.o mangle.o mars.o rmem.o module.o msc.o mtype.o \ -+ nteh.o cppmangle.o opover.o optimize.o os.o out.o outbuf.o \ -+ parse.o ph.o ptrntab.o root.o rtlsym.o s2ir.o scope.o statement.o \ -+ stringtable.o struct.o csymbol.o template.o tk.o tocsym.o todt.o \ -+ type.o typinf.o util.o var.o version.o strtold.o utf.o staticassert.o \ -+ unialpha.o toobj.o toctype.o toelfdebug.o entity.o doc.o macro.o \ -+ hdrgen.o delegatize.o aa.o ti_achar.o toir.o interpret.o traits.o \ -+ builtin.o clone.o aliasthis.o \ -+ man.o arrayop.o port.o response.o async.o json.o speller.o aav.o unittests.o \ -+ imphint.o \ -+ libelf.o elfobj.o -+ -+SRC = win32.mak linux.mak osx.mak freebsd.mak solaris.mak haiku.mak \ -+ mars.c enum.c struct.c dsymbol.c import.c idgen.c impcnvgen.c \ -+ identifier.c mtype.c expression.c optimize.c template.h \ -+ template.c lexer.c declaration.c cast.c cond.h cond.c link.c \ -+ aggregate.h parse.c statement.c constfold.c version.h version.c \ -+ inifile.c iasm.c module.c scope.c dump.c init.h init.c attrib.h \ -+ attrib.c opover.c class.c mangle.c bit.c tocsym.c func.c inline.c \ -+ access.c complex_t.h irstate.h irstate.c glue.c msc.c ph.c tk.c \ -+ s2ir.c todt.c e2ir.c util.c identifier.h parse.h \ -+ scope.h enum.h import.h mars.h module.h mtype.h dsymbol.h \ -+ declaration.h lexer.h expression.h irstate.h statement.h eh.c \ -+ utf.h utf.c staticassert.h staticassert.c unialpha.c \ -+ typinf.c toobj.c toctype.c tocvdebug.c toelfdebug.c entity.c \ -+ doc.h doc.c macro.h macro.c hdrgen.h hdrgen.c arraytypes.h \ -+ delegatize.c toir.h toir.c interpret.c traits.c cppmangle.c \ -+ builtin.c clone.c lib.h libomf.c libelf.c libmach.c arrayop.c \ -+ aliasthis.h aliasthis.c json.h json.c unittests.c imphint.c \ -+ $C/cdef.h $C/cc.h $C/oper.h $C/ty.h $C/optabgen.c \ -+ $C/global.h $C/parser.h $C/code.h $C/type.h $C/dt.h $C/cgcv.h \ -+ $C/el.h $C/iasm.h $C/rtlsym.h $C/html.h \ -+ $C/bcomplex.c $C/blockopt.c $C/cg.c $C/cg87.c \ -+ $C/cgcod.c $C/cgcs.c $C/cgcv.c $C/cgelem.c $C/cgen.c $C/cgobj.c \ -+ $C/cgreg.c $C/var.c $C/strtold.c \ -+ $C/cgsched.c $C/cod1.c $C/cod2.c $C/cod3.c $C/cod4.c $C/cod5.c \ -+ $C/code.c $C/symbol.c $C/debug.c $C/dt.c $C/ee.c $C/el.c \ -+ $C/evalu8.c $C/go.c $C/gflow.c $C/gdag.c \ -+ $C/gother.c $C/glocal.c $C/gloop.c $C/html.c $C/newman.c \ -+ $C/nteh.c $C/os.c $C/out.c $C/outbuf.c $C/ptrntab.c $C/rtlsym.c \ -+ $C/type.c $C/melf.h $C/mach.h $C/bcomplex.h \ -+ $C/cdeflnx.h $C/outbuf.h $C/token.h $C/tassert.h \ -+ $C/elfobj.c $C/cv4.h $C/dwarf2.h $C/cpp.h $C/exh.h $C/go.h \ -+ $C/dwarf.c $C/dwarf.h $C/aa.h $C/aa.c $C/tinfo.h $C/ti_achar.c \ -+ $C/machobj.c \ -+ $(TK)/filespec.h $(TK)/mem.h $(TK)/list.h $(TK)/vec.h \ -+ $(TK)/filespec.c $(TK)/mem.c $(TK)/vec.c $(TK)/list.c \ -+ $(ROOT)/dchar.h $(ROOT)/dchar.c $(ROOT)/lstring.h \ -+ $(ROOT)/lstring.c $(ROOT)/root.h $(ROOT)/root.c $(ROOT)/array.c \ -+ $(ROOT)/rmem.h $(ROOT)/rmem.c $(ROOT)/port.h $(ROOT)/port.c \ -+ $(ROOT)/gnuc.h $(ROOT)/gnuc.c $(ROOT)/man.c \ -+ $(ROOT)/stringtable.h $(ROOT)/stringtable.c \ -+ $(ROOT)/response.c $(ROOT)/async.h $(ROOT)/async.c \ -+ $(ROOT)/aav.h $(ROOT)/aav.c \ -+ $(ROOT)/speller.h $(ROOT)/speller.c -+ -+ -+all: dmd -+ -+dmd: $(DMD_OBJS) -+ gcc $(MODEL) -lstdc++ -lroot $(COV) $(DMD_OBJS) -o dmd -+ -+clean: -+ rm -f $(DMD_OBJS) dmd optab.o id.o impcnvgen idgen id.c id.h \ -+ impcnvtab.c optabgen debtab.c optab.c cdxxx.c elxxx.c fltables.c \ -+ tytab.c core \ -+ *.cov *.gcda *.gcno -+ -+######## optabgen generates some source -+ -+optabgen: $C/optabgen.c $C/cc.h $C/oper.h -+ $(CC) $(MFLAGS) $< -o optabgen -+ ./optabgen -+ -+optabgen_output = debtab.c optab.c cdxxx.c elxxx.c fltables.c tytab.c -+$(optabgen_output) : optabgen -+ -+######## idgen generates some source -+ -+idgen_output = id.h id.c -+$(idgen_output) : idgen -+ -+idgen : idgen.c -+ $(CC) idgen.c -o idgen -+ ./idgen -+ -+######### impcnvgen generates some source -+ -+impcnvtab_output = impcnvtab.c -+$(impcnvtab_output) : impcnvgen -+ -+impcnvgen : mtype.h impcnvgen.c -+ $(CC) $(CFLAGS) impcnvgen.c -o impcnvgen -+ ./impcnvgen -+ -+######### -+ -+$(DMD_OBJS) : $(idgen_output) $(optabgen_output) $(impcnvgen_output) -+ -+aa.o: $C/aa.h $C/tinfo.h $C/aa.c -+ $(CC) -c $(MFLAGS) -I. $C/aa.c -+ -+aav.o: $(ROOT)/aav.c -+ $(CC) -c $(GFLAGS) -I$(ROOT) $< -+ -+access.o: access.c -+ $(CC) -c $(CFLAGS) $< -+ -+aliasthis.o: aliasthis.c -+ $(CC) -c $(CFLAGS) $< -+ -+array.o: $(ROOT)/array.c -+ $(CC) -c $(GFLAGS) -I$(ROOT) $< -+ -+arrayop.o: arrayop.c -+ $(CC) -c $(CFLAGS) $< -+ -+async.o: $(ROOT)/async.c -+ $(CC) -c $(GFLAGS) -I$(ROOT) $< -+ -+attrib.o: attrib.c -+ $(CC) -c $(CFLAGS) $< -+ -+bcomplex.o: $C/bcomplex.c -+ $(CC) -c $(MFLAGS) $< -+ -+bit.o: expression.h bit.c -+ $(CC) -c -I$(ROOT) $(MFLAGS) bit.c -+ -+blockopt.o: $C/blockopt.c -+ $(CC) -c $(MFLAGS) $C/blockopt.c -+ -+builtin.o: builtin.c -+ $(CC) -c $(CFLAGS) $< -+ -+cast.o: cast.c -+ $(CC) -c $(CFLAGS) $< -+ -+cg.o: fltables.c $C/cg.c -+ $(CC) -c $(MFLAGS) -I. $C/cg.c -+ -+cg87.o: $C/cg87.c -+ $(CC) -c $(MFLAGS) $< -+ -+cgcod.o: $C/cgcod.c -+ $(CC) -c $(MFLAGS) -I. $< -+ -+cgcs.o: $C/cgcs.c -+ $(CC) -c $(MFLAGS) $< -+ -+cgcv.o: $C/cgcv.c -+ $(CC) -c $(MFLAGS) $< -+ -+cgelem.o: $C/rtlsym.h $C/cgelem.c -+ $(CC) -c $(MFLAGS) -I. $C/cgelem.c -+ -+cgen.o: $C/rtlsym.h $C/cgen.c -+ $(CC) -c $(MFLAGS) $C/cgen.c -+ -+cgobj.o: $C/cgobj.c -+ $(CC) -c $(MFLAGS) $< -+ -+cgreg.o: $C/cgreg.c -+ $(CC) -c $(MFLAGS) $< -+ -+cgsched.o: $C/rtlsym.h $C/cgsched.c -+ $(CC) -c $(MFLAGS) $C/cgsched.c -+ -+class.o: class.c -+ $(CC) -c $(CFLAGS) $< -+ -+clone.o: clone.c -+ $(CC) -c $(CFLAGS) $< -+ -+cod1.o: $C/rtlsym.h $C/cod1.c -+ $(CC) -c $(MFLAGS) $C/cod1.c -+ -+cod2.o: $C/rtlsym.h $C/cod2.c -+ $(CC) -c $(MFLAGS) $C/cod2.c -+ -+cod3.o: $C/rtlsym.h $C/cod3.c -+ $(CC) -c $(MFLAGS) $C/cod3.c -+ -+cod4.o: $C/cod4.c -+ $(CC) -c $(MFLAGS) $< -+ -+cod5.o: $C/cod5.c -+ $(CC) -c $(MFLAGS) $< -+ -+code.o: $C/code.c -+ $(CC) -c $(MFLAGS) $< -+ -+constfold.o: constfold.c -+ $(CC) -c $(CFLAGS) $< -+ -+irstate.o: irstate.h irstate.c -+ $(CC) -c $(MFLAGS) -I$(ROOT) irstate.c -+ -+csymbol.o : $C/symbol.c -+ $(CC) -c $(MFLAGS) $C/symbol.c -o csymbol.o -+ -+dchar.o: $(ROOT)/dchar.c -+ $(CC) -c $(GFLAGS) -I$(ROOT) $< -+ -+cond.o: cond.c -+ $(CC) -c $(CFLAGS) $< -+ -+cppmangle.o: cppmangle.c -+ $(CC) -c $(CFLAGS) $< -+ -+debug.o: $C/debug.c -+ $(CC) -c $(MFLAGS) -I. $< -+ -+declaration.o: declaration.c -+ $(CC) -c $(CFLAGS) $< -+ -+delegatize.o: delegatize.c -+ $(CC) -c $(CFLAGS) $< -+ -+doc.o: doc.c -+ $(CC) -c $(CFLAGS) $< -+ -+dsymbol.o: dsymbol.c -+ $(CC) -c $(CFLAGS) $< -+ -+dt.o: $C/dt.h $C/dt.c -+ $(CC) -c $(MFLAGS) $C/dt.c -+ -+dump.o: dump.c -+ $(CC) -c $(CFLAGS) $< -+ -+dwarf.o: $C/dwarf.h $C/dwarf.c -+ $(CC) -c $(MFLAGS) -I. $C/dwarf.c -+ -+e2ir.o: $C/rtlsym.h expression.h toir.h e2ir.c -+ $(CC) -c -I$(ROOT) $(MFLAGS) e2ir.c -+ -+ee.o: $C/ee.c -+ $(CC) -c $(MFLAGS) $< -+ -+eh.o : $C/cc.h $C/code.h $C/type.h $C/dt.h eh.c -+ $(CC) -c $(MFLAGS) eh.c -+ -+el.o: $C/rtlsym.h $C/el.h $C/el.c -+ $(CC) -c $(MFLAGS) $C/el.c -+ -+elfobj.o: $C/elfobj.c -+ $(CC) -c $(MFLAGS) $< -+ -+entity.o: entity.c -+ $(CC) -c $(CFLAGS) $< -+ -+enum.o: enum.c -+ $(CC) -c $(CFLAGS) $< -+ -+evalu8.o: $C/evalu8.c -+ $(CC) -c $(MFLAGS) $< -+ -+expression.o: expression.c -+ $(CC) -c $(CFLAGS) $< -+ -+func.o: func.c -+ $(CC) -c $(CFLAGS) $< -+ -+gdag.o: $C/gdag.c -+ $(CC) -c $(MFLAGS) $< -+ -+gflow.o: $C/gflow.c -+ $(CC) -c $(MFLAGS) $< -+ -+#globals.o: globals.c -+# $(CC) -c $(CFLAGS) $< -+ -+glocal.o: $C/rtlsym.h $C/glocal.c -+ $(CC) -c $(MFLAGS) $C/glocal.c -+ -+gloop.o: $C/gloop.c -+ $(CC) -c $(MFLAGS) $< -+ -+glue.o: $(CH) $(TOTALH) $C/rtlsym.h mars.h module.h glue.c -+ $(CC) -c $(MFLAGS) -I$(ROOT) glue.c -+ -+gnuc.o: $(ROOT)/gnuc.h $(ROOT)/gnuc.c -+ $(CC) -c $(GFLAGS) $(ROOT)/gnuc.c -+ -+go.o: $C/go.c -+ $(CC) -c $(MFLAGS) $< -+ -+gother.o: $C/gother.c -+ $(CC) -c $(MFLAGS) $< -+ -+hdrgen.o: hdrgen.c -+ $(CC) -c $(CFLAGS) $< -+ -+html.o: $(CH) $(TOTALH) $C/html.h $C/html.c -+ $(CC) -c -I$(ROOT) $(MFLAGS) $C/html.c -+ -+iasm.o : $(CH) $(TOTALH) $C/iasm.h iasm.c -+ $(CC) -c $(MFLAGS) -I$(ROOT) iasm.c -+ -+id.o : id.h id.c -+ $(CC) -c $(CFLAGS) id.c -+ -+identifier.o: identifier.c -+ $(CC) -c $(CFLAGS) $< -+ -+impcnvtab.o: mtype.h impcnvtab.c -+ $(CC) -c $(CFLAGS) -I$(ROOT) impcnvtab.c -+ -+imphint.o: imphint.c -+ $(CC) -c $(CFLAGS) $< -+ -+import.o: import.c -+ $(CC) -c $(CFLAGS) $< -+ -+inifile.o: inifile.c -+ $(CC) -c $(CFLAGS) $< -+ -+init.o: init.c -+ $(CC) -c $(CFLAGS) $< -+ -+inline.o: inline.c -+ $(CC) -c $(CFLAGS) $< -+ -+interpret.o: interpret.c -+ $(CC) -c $(CFLAGS) $< -+ -+json.o: json.c -+ $(CC) -c $(CFLAGS) $< -+ -+lexer.o: lexer.c -+ $(CC) -c $(CFLAGS) $< -+ -+libelf.o: libelf.c $C/melf.h -+ $(CC) -c $(CFLAGS) -I$C $< -+ -+libmach.o: libmach.c $C/mach.h -+ $(CC) -c $(CFLAGS) -I$C $< -+ -+link.o: link.c -+ $(CC) -c $(CFLAGS) $< -+ -+lstring.o: $(ROOT)/lstring.c -+ $(CC) -c $(GFLAGS) -I$(ROOT) $< -+ -+machobj.o: $C/machobj.c -+ $(CC) -c $(MFLAGS) $< -+ -+macro.o: macro.c -+ $(CC) -c $(CFLAGS) $< -+ -+man.o: $(ROOT)/man.c -+ $(CC) -c $(GFLAGS) -I$(ROOT) $< -+ -+mangle.o: mangle.c -+ $(CC) -c $(CFLAGS) $< -+ -+mars.o: mars.c -+ $(CC) -c $(CFLAGS) $< -+ -+rmem.o: $(ROOT)/rmem.c -+ $(CC) -c $(GFLAGS) -I$(ROOT) $(ROOT)/rmem.c -+ -+module.o: $(TOTALH) $C/html.h module.c -+ $(CC) -c $(CFLAGS) -I$C module.c -+ -+msc.o: $(CH) mars.h msc.c -+ $(CC) -c $(MFLAGS) msc.c -+ -+mtype.o: mtype.c -+ $(CC) -c $(CFLAGS) $< -+ -+nteh.o: $C/rtlsym.h $C/nteh.c -+ $(CC) -c $(MFLAGS) $C/nteh.c -+ -+opover.o: opover.c -+ $(CC) -c $(CFLAGS) $< -+ -+optimize.o: optimize.c -+ $(CC) -c $(CFLAGS) $< -+ -+os.o: $C/os.c -+ $(CC) -c $(MFLAGS) $< -+ -+out.o: $C/out.c -+ $(CC) -c $(MFLAGS) $< -+ -+outbuf.o : $C/outbuf.h $C/outbuf.c -+ $(CC) -c $(MFLAGS) $C/outbuf.c -+ -+parse.o: parse.c -+ $(CC) -c $(CFLAGS) $< -+ -+ph.o: ph.c -+ $(CC) -c $(MFLAGS) $< -+ -+port.o: $(ROOT)/port.c -+ $(CC) -c $(GFLAGS) -I$(ROOT) $< -+ -+ptrntab.o: $C/iasm.h $C/ptrntab.c -+ $(CC) -c $(MFLAGS) $C/ptrntab.c -+ -+response.o: $(ROOT)/response.c -+ $(CC) -c $(GFLAGS) -I$(ROOT) $< -+ -+root.o: $(ROOT)/root.c -+ $(CC) -c $(GFLAGS) -I$(ROOT) $< -+ -+rtlsym.o: $C/rtlsym.h $C/rtlsym.c -+ $(CC) -c $(MFLAGS) $C/rtlsym.c -+ -+s2ir.o : $C/rtlsym.h statement.h s2ir.c -+ $(CC) -c -I$(ROOT) $(MFLAGS) s2ir.c -+ -+scope.o: scope.c -+ $(CC) -c $(CFLAGS) $< -+ -+speller.o: $(ROOT)/speller.c -+ $(CC) -c $(GFLAGS) -I$(ROOT) $< -+ -+statement.o: statement.c -+ $(CC) -c $(CFLAGS) $< -+ -+staticassert.o: staticassert.h staticassert.c -+ $(CC) -c $(CFLAGS) staticassert.c -+ -+stringtable.o: $(ROOT)/stringtable.c -+ $(CC) -c $(GFLAGS) -I$(ROOT) $< -+ -+strtold.o: $C/strtold.c -+ gcc $(MODEL) -c $C/strtold.c -+ -+struct.o: struct.c -+ $(CC) -c $(CFLAGS) $< -+ -+template.o: template.c -+ $(CC) -c $(CFLAGS) $< -+ -+ti_achar.o: $C/tinfo.h $C/ti_achar.c -+ $(CC) -c $(MFLAGS) -I. $C/ti_achar.c -+ -+tk.o: tk.c -+ $(CC) -c $(MFLAGS) tk.c -+ -+tocsym.o: $(CH) $(TOTALH) mars.h module.h tocsym.c -+ $(CC) -c $(MFLAGS) -I$(ROOT) tocsym.c -+ -+toctype.o: $(CH) $(TOTALH) $C/rtlsym.h mars.h module.h toctype.c -+ $(CC) -c $(MFLAGS) -I$(ROOT) toctype.c -+ -+todt.o : mtype.h expression.h $C/dt.h todt.c -+ $(CC) -c -I$(ROOT) $(MFLAGS) todt.c -+ -+toelfdebug.o: $(CH) $(TOTALH) mars.h toelfdebug.c -+ $(CC) -c $(MFLAGS) -I$(ROOT) toelfdebug.c -+ -+toir.o: $C/rtlsym.h expression.h toir.h toir.c -+ $(CC) -c -I$(ROOT) $(MFLAGS) toir.c -+ -+toobj.o: $(CH) $(TOTALH) mars.h module.h toobj.c -+ $(CC) -c $(MFLAGS) -I$(ROOT) toobj.c -+ -+traits.o: $(TOTALH) traits.c -+ $(CC) -c $(CFLAGS) $< -+ -+type.o: $C/type.c -+ $(CC) -c $(MFLAGS) $C/type.c -+ -+typinf.o: $(CH) $(TOTALH) mars.h module.h mtype.h typinf.c -+ $(CC) -c $(MFLAGS) -I$(ROOT) typinf.c -+ -+util.o: util.c -+ $(CC) -c $(MFLAGS) $< -+ -+utf.o: utf.h utf.c -+ $(CC) -c $(CFLAGS) utf.c -+ -+unialpha.o: unialpha.c -+ $(CC) -c $(CFLAGS) $< -+ -+unittests.o: unittests.c -+ $(CC) -c $(CFLAGS) $< -+ -+var.o: $C/var.c optab.c -+ $(CC) -c $(MFLAGS) -I. $C/var.c -+ -+version.o: version.c -+ $(CC) -c $(CFLAGS) $< -+ -+###################################################### -+ -+gcov: -+ gcov access.c -+ gcov aliasthis.c -+ gcov arrayop.c -+ gcov attrib.c -+ gcov bit.c -+ gcov builtin.c -+ gcov cast.c -+ gcov class.c -+ gcov clone.c -+ gcov cond.c -+ gcov constfold.c -+ gcov declaration.c -+ gcov delegatize.c -+ gcov doc.c -+ gcov dsymbol.c -+ gcov dump.c -+ gcov e2ir.c -+ gcov eh.c -+ gcov entity.c -+ gcov enum.c -+ gcov expression.c -+ gcov func.c -+ gcov glue.c -+ gcov iasm.c -+ gcov identifier.c -+ gcov imphint.c -+ gcov import.c -+ gcov inifile.c -+ gcov init.c -+ gcov inline.c -+ gcov interpret.c -+ gcov irstate.c -+ gcov json.c -+ gcov lexer.c -+ gcov libelf.c -+ gcov link.c -+ gcov macro.c -+ gcov mangle.c -+ gcov mars.c -+ gcov module.c -+ gcov msc.c -+ gcov mtype.c -+ gcov opover.c -+ gcov optimize.c -+ gcov parse.c -+ gcov ph.c -+ gcov scope.c -+ gcov statement.c -+ gcov staticassert.c -+ gcov s2ir.c -+ gcov struct.c -+ gcov template.c -+ gcov tk.c -+ gcov tocsym.c -+ gcov todt.c -+ gcov toobj.c -+ gcov toctype.c -+ gcov toelfdebug.c -+ gcov typinf.c -+ gcov unialpha.c -+ gcov utf.c -+ gcov util.c -+ gcov version.c -+ -+# gcov hdrgen.c -+# gcov tocvdebug.c -+ -+###################################################### -+ -+zip: -+ -rm -f dmdsrc.zip -+ zip dmdsrc $(SRC) -diff -Naur dmd/src/dmd/inifile.c dmd1/src/dmd/inifile.c ---- dmd/src/dmd/inifile.c 2010-09-14 07:16:00.055312384 +0000 -+++ dmd1/src/dmd/inifile.c 2010-09-19 15:37:02.201064448 +0000 -@@ -111,8 +111,8 @@ - filename = (char *)FileName::replaceName(argv0, inifile); - if (!FileName::exists(filename)) - { --#if linux || __APPLE__ || __FreeBSD__ || __sun&&__SVR4 --#if __GLIBC__ || __APPLE__ || __FreeBSD__ || __sun&&__SVR4 // This fix by Thomas Kuehne -+#if linux || __APPLE__ || __FreeBSD__ || __sun&&__SVR4 || __HAIKU__ -+#if __GLIBC__ || __APPLE__ || __FreeBSD__ || __sun&&__SVR4 || __HAIKU__ // This fix by Thomas Kuehne - /* argv0 might be a symbolic link, - * so try again looking past it to the real path - */ -diff -Naur dmd/src/dmd/link.c dmd1/src/dmd/link.c ---- dmd/src/dmd/link.c 2010-09-14 07:16:00.028835840 +0000 -+++ dmd1/src/dmd/link.c 2010-09-26 22:44:20.477626368 +0000 -@@ -19,7 +19,7 @@ - #include - #endif - --#if linux || __APPLE__ || __FreeBSD__ || __sun&&__SVR4 -+#if linux || __APPLE__ || __FreeBSD__ || __sun&&__SVR4 || __HAIKU__ - #include - #include - #include -@@ -198,7 +198,7 @@ - delete lnkfilename; - } - return status; --#elif linux || __APPLE__ || __FreeBSD__ || __sun&&__SVR4 -+#elif linux || __APPLE__ || __FreeBSD__ || __sun&&__SVR4 || __HAIKU__ - pid_t childpid; - int i; - int status; -@@ -348,8 +348,12 @@ - argv.push((void *)buf); // turns into /usr/lib/libphobos2.a - - // argv.push((void *)"-ldruntime"); -- argv.push((void *)"-lpthread"); -- argv.push((void *)"-lm"); -+ #if __HAIKU__ -+ argv.push((void *)"-lroot"); -+ #else -+ argv.push((void *)"-lpthread"); -+ argv.push((void *)"-lm"); -+ #endif - - if (!global.params.quiet || global.params.verbose) - { -@@ -486,7 +490,7 @@ - //printf("spawning '%s'\n",file); - #if _WIN32 - return spawnl(0,file,file,args,NULL); --#elif linux || __APPLE__ || __FreeBSD__ || __sun&&__SVR4 -+#elif linux || __APPLE__ || __FreeBSD__ || __sun&&__SVR4 || __HAIKU__ - char *full; - int cmdl = strlen(cmd); - -@@ -549,7 +553,7 @@ - else - ex = global.params.exefile; - return spawnv(0,ex,(char **)argv.data); --#elif linux || __APPLE__ || __FreeBSD__ || __sun&&__SVR4 -+#elif linux || __APPLE__ || __FreeBSD__ || __sun&&__SVR4 || __HAIKU__ - pid_t childpid; - int status; - -diff -Naur dmd/src/dmd/mangle.c dmd1/src/dmd/mangle.c ---- dmd/src/dmd/mangle.c 2010-09-14 07:16:00.008126464 +0000 -+++ dmd1/src/dmd/mangle.c 2010-09-19 15:39:32.027525120 +0000 -@@ -24,7 +24,7 @@ - #include "id.h" - #include "module.h" - --#if TARGET_LINUX || TARGET_OSX || TARGET_FREEBSD || TARGET_SOLARIS -+#if TARGET_LINUX || TARGET_OSX || TARGET_FREEBSD || TARGET_SOLARIS || TARGET_HAIKU - char *cpp_mangle(Dsymbol *s); - #endif - -@@ -119,7 +119,7 @@ - return ident->toChars(); - - case LINKcpp: --#if DMDV2 && (TARGET_LINUX || TARGET_OSX || TARGET_FREEBSD || TARGET_SOLARIS) -+#if DMDV2 && (TARGET_LINUX || TARGET_OSX || TARGET_FREEBSD || TARGET_SOLARIS || TARGET_HAIKU) - return cpp_mangle(this); - #else - // Windows C++ mangling is done by C++ back end -diff -Naur dmd/src/dmd/mars.c dmd1/src/dmd/mars.c ---- dmd/src/dmd/mars.c 2010-09-14 07:16:00.036700160 +0000 -+++ dmd1/src/dmd/mars.c 2010-09-26 21:50:22.656932864 +0000 -@@ -14,7 +14,7 @@ - #include - #include - --#if linux || __APPLE__ || __FreeBSD__ || __sun&&__SVR4 -+#if linux || __APPLE__ || __FreeBSD__ || __sun&&__SVR4 || __HAIKU__ - #include - #endif - -@@ -59,7 +59,7 @@ - - #if TARGET_WINDOS - obj_ext = "obj"; --#elif TARGET_LINUX || TARGET_OSX || TARGET_FREEBSD || TARGET_SOLARIS -+#elif TARGET_LINUX || TARGET_OSX || TARGET_FREEBSD || TARGET_SOLARIS || TARGET_HAIKU - obj_ext = "o"; - #elif TARGET_NET - #else -@@ -68,7 +68,7 @@ - - #if TARGET_WINDOS - lib_ext = "lib"; --#elif TARGET_LINUX || TARGET_OSX || TARGET_FREEBSD || TARGET_SOLARIS -+#elif TARGET_LINUX || TARGET_OSX || TARGET_FREEBSD || TARGET_SOLARIS || TARGET_HAIKU - lib_ext = "a"; - #elif TARGET_NET - #else -@@ -77,7 +77,7 @@ - - #if TARGET_WINDOS - dll_ext = "dll"; --#elif TARGET_LINUX || TARGET_FREEBSD || TARGET_SOLARIS -+#elif TARGET_LINUX || TARGET_FREEBSD || TARGET_SOLARIS || TARGET_HAIKU - dll_ext = "so"; - #elif TARGET_OSX - dll_ext = "dylib"; -@@ -354,7 +354,7 @@ - - #if TARGET_WINDOS - global.params.defaultlibname = "phobos"; --#elif TARGET_LINUX || TARGET_OSX || TARGET_FREEBSD || TARGET_SOLARIS -+#elif TARGET_LINUX || TARGET_OSX || TARGET_FREEBSD || TARGET_SOLARIS || TARGET_HAIKU - global.params.defaultlibname = "phobos"; - #elif TARGET_NET - #else -@@ -375,6 +375,10 @@ - VersionCondition::addPredefinedGlobalIdent("Posix"); - VersionCondition::addPredefinedGlobalIdent("linux"); - global.params.isLinux = 1; -+#elif TARGET_HAIKU -+ VersionCondition::addPredefinedGlobalIdent("Posix"); -+ VersionCondition::addPredefinedGlobalIdent("Haiku"); -+ global.params.isHaiku = 1; - #elif TARGET_OSX - VersionCondition::addPredefinedGlobalIdent("Posix"); - VersionCondition::addPredefinedGlobalIdent("OSX"); -@@ -403,7 +407,7 @@ - - #if _WIN32 - inifilename = inifile(argv[0], "sc.ini"); --#elif linux || __APPLE__ || __FreeBSD__ || __sun&&__SVR4 -+#elif linux || __APPLE__ || __FreeBSD__ || __sun&&__SVR4 || __HAIKU__ - inifilename = inifile(argv[0], "dmd.conf"); - #else - #error "fix this" -@@ -428,7 +432,7 @@ - global.params.link = 0; - else if (strcmp(p + 1, "cov") == 0) - global.params.cov = 1; --#if TARGET_LINUX || TARGET_OSX || TARGET_FREEBSD || TARGET_SOLARIS -+#if TARGET_LINUX || TARGET_OSX || TARGET_FREEBSD || TARGET_SOLARIS || TARGET_HAIKU - else if (strcmp(p + 1, "fPIC") == 0) - global.params.pic = 1; - #endif -diff -Naur dmd/src/dmd/mars.h dmd1/src/dmd/mars.h ---- dmd/src/dmd/mars.h 2010-09-14 07:16:00.038273024 +0000 -+++ dmd1/src/dmd/mars.h 2010-09-19 15:53:13.589824000 +0000 -@@ -86,7 +86,7 @@ - #define MODULEINFO_IS_STRUCT DMDV2 // if ModuleInfo is a struct rather than a class - - // Set if C++ mangling is done by the front end --#define CPP_MANGLE (DMDV2 && (TARGET_LINUX || TARGET_OSX || TARGET_FREEBSD || TARGET_SOLARIS)) -+#define CPP_MANGLE (DMDV2 && (TARGET_LINUX || TARGET_OSX || TARGET_FREEBSD || TARGET_SOLARIS || TARGET_HAIKU)) - - /* Other targets are TARGET_LINUX, TARGET_OSX, TARGET_FREEBSD and - * TARGET_SOLARIS, which are -@@ -98,7 +98,7 @@ - #define OMFOBJ 1 - #endif - --#if TARGET_LINUX || TARGET_FREEBSD || TARGET_SOLARIS -+#if TARGET_LINUX || TARGET_FREEBSD || TARGET_SOLARIS || TARGET_HAIKU - #ifndef ELFOBJ - #define ELFOBJ 1 - #endif -@@ -133,6 +133,7 @@ - char cpu; // target CPU - char isX86_64; // generate X86_64 bit code - char isLinux; // generate code for linux -+ char isHaiku; // generate code for Haiku - char isOSX; // generate code for Mac OSX - char isWindows; // generate code for Windows - char isFreeBSD; // generate code for FreeBSD -diff -Naur dmd/src/dmd/msc.c dmd1/src/dmd/msc.c ---- dmd/src/dmd/msc.c 2010-09-14 07:16:00.040632320 +0000 -+++ dmd1/src/dmd/msc.c 2010-09-19 15:54:02.013107200 +0000 -@@ -81,6 +81,13 @@ - if (params->pic) - config.flags3 |= CFG3pic; - #endif -+#if TARGET_HAIKU -+ config.exe = EX_HAIKU; -+ config.flags |= CFGnoebp; -+ config.flags |= CFGalwaysframe; -+ if (params->pic) -+ config.flags3 |= CFG3pic; -+#endif - #if TARGET_OSX - if (params->isX86_64) - config.exe = EX_OSX64; -diff -Naur dmd/src/dmd/mtype.c dmd1/src/dmd/mtype.c ---- dmd/src/dmd/mtype.c 2010-09-14 07:16:00.028049408 +0000 -+++ dmd1/src/dmd/mtype.c 2010-09-19 15:54:47.708050944 +0000 -@@ -71,7 +71,7 @@ - int REALSIZE = 16; - int REALPAD = 6; - int REALALIGNSIZE = 16; --#elif TARGET_LINUX || TARGET_FREEBSD || TARGET_SOLARIS -+#elif TARGET_LINUX || TARGET_FREEBSD || TARGET_SOLARIS || TARGET_HAIKU - int REALSIZE = 12; - int REALPAD = 2; - int REALALIGNSIZE = 4; -@@ -236,7 +236,7 @@ - if (global.params.isX86_64) - { - PTRSIZE = 8; -- if (global.params.isLinux || global.params.isFreeBSD || global.params.isSolaris) -+ if (global.params.isLinux || global.params.isFreeBSD || global.params.isSolaris || global.params.isHaiku) - { - REALSIZE = 16; - REALPAD = 6; -@@ -251,7 +251,7 @@ - #if TARGET_OSX - REALSIZE = 16; - REALPAD = 6; --#elif TARGET_LINUX || TARGET_FREEBSD || TARGET_SOLARIS -+#elif TARGET_LINUX || TARGET_FREEBSD || TARGET_SOLARIS || TARGET_HAIKU - REALSIZE = 12; - REALPAD = 2; - #else -@@ -1077,7 +1077,7 @@ - sz = REALALIGNSIZE; - break; - --#if TARGET_LINUX || TARGET_OSX || TARGET_FREEBSD || TARGET_SOLARIS -+#if TARGET_LINUX || TARGET_OSX || TARGET_FREEBSD || TARGET_SOLARIS || TARGET_HAIKU - case Tint64: - case Tuns64: - case Tfloat64: -diff -Naur dmd/src/dmd/root/man.c dmd1/src/dmd/root/man.c ---- dmd/src/dmd/root/man.c 2010-09-14 07:16:00.030408704 +0000 -+++ dmd1/src/dmd/root/man.c 2010-09-19 15:55:15.172228608 +0000 -@@ -26,7 +26,7 @@ - - #endif - --#if linux || __FreeBSD__ || __sun&&__SVR4 -+#if linux || __FreeBSD__ || __sun&&__SVR4 || __HAIKU__ - - #include - #include -diff -Naur dmd/src/dmd/root/port.c dmd1/src/dmd/root/port.c ---- dmd/src/dmd/root/port.c 2010-09-14 07:16:00.046661632 +0000 -+++ dmd1/src/dmd/root/port.c 2010-09-23 21:00:14.377487360 +0000 -@@ -315,7 +315,7 @@ - - #endif - --#if linux || __APPLE__ || __FreeBSD__ -+#if linux || __APPLE__ || __FreeBSD__ || __HAIKU__ - - #include - #if linux -@@ -373,6 +373,8 @@ - { - #if __APPLE__ - return __inline_isnan(r); -+#elif __HAIKU__ -+ return ::__isnan(r); - #else - return ::isnan(r); - #endif -@@ -382,6 +384,8 @@ - { - #if __APPLE__ - return __inline_isnan(r); -+#elif __HAIKU__ -+ return ::__isnan(r); - #else - return ::isnan(r); - #endif -@@ -414,6 +418,8 @@ - { - #if __APPLE__ - return fpclassify(r) == FP_INFINITE; -+#elif __HAIKU__ -+ return ::__isinf(r); - #else - return ::isinf(r); - #endif -diff -Naur dmd/src/dmd/root/response.c dmd1/src/dmd/root/response.c ---- dmd/src/dmd/root/response.c 2010-09-14 07:16:00.022282240 +0000 -+++ dmd1/src/dmd/root/response.c 2010-09-19 15:56:08.390332416 +0000 -@@ -19,7 +19,7 @@ - #include - #endif - --#if linux || __APPLE__ || __FreeBSD__ || __sun&&__SVR4 -+#if linux || __APPLE__ || __FreeBSD__ || __sun&&__SVR4 || __HAIKU__ - #include - #include - #include -diff -Naur dmd/src/dmd/root/rmem.c dmd1/src/dmd/root/rmem.c ---- dmd/src/dmd/root/rmem.c 2010-09-14 07:16:00.052690944 +0000 -+++ dmd1/src/dmd/root/rmem.c 2010-09-19 15:56:26.385875968 +0000 -@@ -6,7 +6,7 @@ - #include - #include - --#if linux || __APPLE__ || __FreeBSD__ || __sun&&__SVR4 -+#if linux || __APPLE__ || __FreeBSD__ || __sun&&__SVR4 || __HAIKU__ - #include "../root/rmem.h" - #else - #include "rmem.h" -diff -Naur dmd/src/dmd/root/root.c dmd1/src/dmd/root/root.c ---- dmd/src/dmd/root/root.c 2010-09-14 07:16:00.025427968 +0000 -+++ dmd1/src/dmd/root/root.c 2010-09-19 15:56:47.602931200 +0000 -@@ -7,7 +7,7 @@ - // in artistic.txt, or the GNU General Public License in gnu.txt. - // See the included readme.txt for details. - --#define POSIX (linux || __APPLE__ || __FreeBSD__ || __sun&&__SVR4) -+#define POSIX (linux || __APPLE__ || __FreeBSD__ || __sun&&__SVR4 || __HAIKU__) - - #include - #include -diff -Naur dmd/src/dmd/tk/filespec.c dmd1/src/dmd/tk/filespec.c ---- dmd/src/dmd/tk/filespec.c 2010-09-14 07:16:00.017301504 +0000 -+++ dmd1/src/dmd/tk/filespec.c 2010-09-19 15:57:58.566755328 +0000 -@@ -25,7 +25,7 @@ - #include - #endif - --#if M_UNIX || M_XENIX || linux || __APPLE__ || __FreeBSD__ || __sun&&__SVR4 -+#if M_UNIX || M_XENIX || linux || __APPLE__ || __FreeBSD__ || __sun&&__SVR4 || __HAIKU__ - #include - #include - #endif -@@ -87,7 +87,7 @@ - /**********************/ - char * filespecrootpath(char *filespec) - { --#if SUN || M_UNIX || M_XENIX || linux || __APPLE__ || __FreeBSD__ || __sun&&__SVR4 -+#if SUN || M_UNIX || M_XENIX || linux || __APPLE__ || __FreeBSD__ || __sun&&__SVR4 || __HAIKU__ - #define DIRCHAR '/' - #endif - #if MSDOS || __OS2__ || __NT__ || _WIN32 -@@ -112,7 +112,7 @@ - #endif - - /* get current working directory path */ --#if SUN || M_UNIX || M_XENIX || linux || __APPLE__ || __FreeBSD__ || __sun&&__SVR4 -+#if SUN || M_UNIX || M_XENIX || linux || __APPLE__ || __FreeBSD__ || __sun&&__SVR4 || __HAIKU__ - cwd_t = (char *)getcwd(NULL, 256); - #endif - #if MSDOS || __OS2__ || __NT__ || _WIN32 -@@ -133,7 +133,7 @@ - if (cwd[strlen(cwd) - 1] == DIRCHAR) - cwd[strlen(cwd) - 1] = '\0'; - #endif --#if SUN || M_UNIX || M_XENIX || linux || __APPLE__ || __FreeBSD__ || __sun&&__SVR4 -+#if SUN || M_UNIX || M_XENIX || linux || __APPLE__ || __FreeBSD__ || __sun&&__SVR4 || __HAIKU__ - free(cwd_t); - #endif - p = filespec; -@@ -150,7 +150,7 @@ - { - cwd_t = cwd; - cwd = (char *)mem_calloc(strlen(cwd_t) + 1 + strlen(p) + 1); --#if SUN || M_UNIX || M_XENIX || linux || __APPLE__ || __FreeBSD__ || __sun&&__SVR4 -+#if SUN || M_UNIX || M_XENIX || linux || __APPLE__ || __FreeBSD__ || __sun&&__SVR4 || __HAIKU__ - sprintf(cwd, "%s/%s", cwd_t, p); /* add relative directory */ - #endif - #if MSDOS || __OS2__ || __NT__ || _WIN32 -@@ -171,7 +171,7 @@ - { /* ... save remaining string */ - cwd_t = cwd; - cwd = (char *)mem_calloc(strlen(cwd_t) + 1 + strlen(p) + 1); --#if SUN || M_UNIX || M_XENIX || linux || __APPLE__ || __FreeBSD__ || __sun&&__SVR4 -+#if SUN || M_UNIX || M_XENIX || linux || __APPLE__ || __FreeBSD__ || __sun&&__SVR4 || __HAIKU__ - sprintf(cwd, "%s/%s", cwd_t, p); /* add relative directory */ - #endif - #if MSDOS || __OS2__ || __NT__ || _WIN32 -@@ -402,7 +402,7 @@ - #if MSDOS || __OS2__ || __NT__ || _WIN32 - return filespecforceext(filespec,"BAK"); - #endif --#if BSDUNIX || linux || __APPLE__ || __FreeBSD__ || __sun&&__SVR4 -+#if BSDUNIX || linux || __APPLE__ || __FreeBSD__ || __sun&&__SVR4 || __HAIKU__ - char *p,*f; - - /* Prepend .B to file name, if it isn't already there */ -diff -Naur dmd/src/dmd/tk/mem.c dmd1/src/dmd/tk/mem.c ---- dmd/src/dmd/tk/mem.c 2010-09-14 07:16:00.064225280 +0000 -+++ dmd1/src/dmd/tk/mem.c 2010-09-19 15:58:19.705691648 +0000 -@@ -296,7 +296,7 @@ - 11111, - 0, - BEFOREVAL, --#if !(linux || __APPLE__ || __FreeBSD__ || __sun&&__SVR4) -+#if !(linux || __APPLE__ || __FreeBSD__ || __sun&&__SVR4 || __HAIKU__) - AFTERVAL - #endif - }; -@@ -804,7 +804,7 @@ - mem_numalloc = 0; - mem_maxalloc = 0; - mem_alloclist.Mnext = NULL; --#if linux || __APPLE__ || __FreeBSD__ || __sun&&__SVR4 -+#if linux || __APPLE__ || __FreeBSD__ || __sun&&__SVR4 || __HAIKU__ - *(long *) &(mem_alloclist.data[0]) = AFTERVAL; - #endif - #endif -diff -Naur dmd/src/dmd/toir.c dmd1/src/dmd/toir.c ---- dmd/src/dmd/toir.c 2010-09-14 07:16:00.028835840 +0000 -+++ dmd1/src/dmd/toir.c 2010-09-19 15:58:55.091226112 +0000 -@@ -676,7 +676,7 @@ - } - return RETstack; - } -- else if ((global.params.isLinux || global.params.isOSX || global.params.isFreeBSD || global.params.isSolaris) && -+ else if ((global.params.isLinux || global.params.isOSX || global.params.isFreeBSD || global.params.isSolaris || global.params.isHaiku) && - linkage == LINKc && - tn->iscomplex()) - { -diff -Naur dmd/src/dmd/util.c dmd1/src/dmd/util.c ---- dmd/src/dmd/util.c 2010-09-14 07:16:00.055312384 +0000 -+++ dmd1/src/dmd/util.c 2010-09-19 15:59:11.752877568 +0000 -@@ -131,7 +131,7 @@ - - #endif - --#if linux || __APPLE__ || __FreeBSD__ || __sun&&__SVR4 -+#if linux || __APPLE__ || __FreeBSD__ || __sun&&__SVR4 || __HAIKU__ - void util_progress() - { - } -diff -Naur dmd/src/phobos/etc/c/zlib/haiku.mak dmd1/src/phobos/etc/c/zlib/haiku.mak ---- dmd/src/phobos/etc/c/zlib/haiku.mak 1970-01-01 00:00:00.000000000 +0000 -+++ dmd1/src/phobos/etc/c/zlib/haiku.mak 2010-09-14 07:16:06.000000000 +0000 -@@ -0,0 +1,79 @@ -+# Makefile for zlib -+ -+MODEL=32 -+CC=gcc -+LD=link -+CFLAGS=-O -m$(MODEL) -+LDFLAGS= -+O=.o -+ -+.c.o: -+ $(CC) -c $(CFLAGS) $* -+ -+.d.o: -+ $(DMD) -c $(DFLAGS) $* -+ -+# variables -+OBJS = adler32$(O) compress$(O) crc32$(O) gzio$(O) uncompr$(O) deflate$(O) \ -+ trees$(O) zutil$(O) inflate$(O) infback$(O) inftrees$(O) inffast$(O) -+ -+all: zlib.a example minigzip -+ -+adler32.o: adler32.c zlib.h zconf.h -+ $(CC) -c $(cvarsdll) $(CFLAGS) $*.c -+ -+compress.o: compress.c zlib.h zconf.h -+ $(CC) -c $(cvarsdll) $(CFLAGS) $*.c -+ -+crc32.o: crc32.c zlib.h zconf.h -+ $(CC) -c $(cvarsdll) $(CFLAGS) $*.c -+ -+deflate.o: deflate.c deflate.h zutil.h zlib.h zconf.h -+ $(CC) -c $(cvarsdll) $(CFLAGS) $*.c -+ -+gzio.o: gzio.c zutil.h zlib.h zconf.h -+ $(CC) -c $(cvarsdll) $(CFLAGS) $*.c -+ -+infback.o: infback.c zlib.h zconf.h inftrees.h inflate.h inffast.h -+ $(CC) -c $(cvarsdll) $(CFLAGS) $*.c -+ -+inflate.o: inflate.c zlib.h zconf.h inftrees.h inflate.h inffast.h -+ $(CC) -c $(cvarsdll) $(CFLAGS) $*.c -+ -+inftrees.o: inftrees.c zlib.h zconf.h inftrees.h -+ $(CC) -c $(cvarsdll) $(CFLAGS) $*.c -+ -+inffast.o: inffast.c zlib.h zconf.h inftrees.h inflate.h inffast.h -+ $(CC) -c $(cvarsdll) $(CFLAGS) $*.c -+ -+trees.o: trees.c deflate.h zutil.h zlib.h zconf.h trees.h -+ $(CC) -c $(cvarsdll) $(CFLAGS) $*.c -+ -+uncompr.o: uncompr.c zlib.h zconf.h -+ $(CC) -c $(cvarsdll) $(CFLAGS) $*.c -+ -+zutil.o: zutil.c zutil.h zlib.h zconf.h -+ $(CC) -c $(cvarsdll) $(CFLAGS) $*.c -+ -+example.o: example.c zlib.h zconf.h -+ $(CC) -c $(cvarsdll) $(CFLAGS) $*.c -+ -+minigzip.o: minigzip.c zlib.h zconf.h -+ $(CC) -c $(cvarsdll) $(CFLAGS) $*.c -+ -+zlib.a: $(OBJS) -+ ar -r $@ $(OBJS) -+ -+example: example.o zlib.a -+ $(CC) $(CFLAGS) -o $@ example.o zlib.a -g -+ -+minigzip: minigzip.o zlib.a -+ $(CC) $(CFLAGS) -o $@ minigzip.o zlib.a -g -+ -+test: example minigzip -+ ./example -+ echo hello world | minigzip | minigzip -d -+ -+clean: -+ $(RM) $(OBJS) zlib.a example.o example minigzip minigzip.o test foo.gz -+ -diff -Naur dmd/src/phobos/haiku.mak dmd1/src/phobos/haiku.mak ---- dmd/src/phobos/haiku.mak 1970-01-01 00:00:00.000000000 +0000 -+++ dmd1/src/phobos/haiku.mak 2010-09-23 21:08:26.131858432 +0000 -@@ -0,0 +1,650 @@ -+# Makefile to build Haiku D runtime library libphobos.a. -+# Targets: -+# make -+# Same as make unittest -+# make libphobos.a -+# Build libphobos.a -+# make clean -+# Delete unneeded files created by build process -+# make unittest -+# Build libphobos.a, build and run unit tests -+ -+LIB=libphobos.a -+ -+MAKEFILE=haiku.mak -+MODEL=32 -+ -+CFLAGS=-O -m$(MODEL) -+#CFLAGS=-g -m$(MODEL) -+ -+DFLAGS=-O -release -w -m$(MODEL) -+#DFLAGS=-unittest -w -m$(MODEL) -+ -+CC=gcc -+#DMD=/dmd/bin/dmd -+DMD=dmd -+ -+.SUFFIXES: .c .o .cpp .d .asm -+ -+.c.o: -+ $(CC) -c $(CFLAGS) $*.c -+ -+.cpp.o: -+ g++ -c $(CFLAGS) $*.cpp -+ -+.d.o: -+ $(DMD) -c $(DFLAGS) $*.d -+ -+.asm.o: -+ $(CC) -c $*.asm -+ -+targets : $(LIB) -+ -+test.o : test.d -+ $(DMD) -c test -g -+ -+test : test.o $(LIB) -+ $(CC) -o $@ test.o $(LIB) -lroot -+ -+OBJS = complex.o gcstats.o \ -+ critical.o object.o monitor.o \ -+ linux.o linuxsocket.o \ -+ posix.o posixsocket.o posixpthread.o \ -+ Dcrc32.o errno.o \ -+ std_c_stdarg.o \ -+ Czlib.o \ -+ pthread.o -+ -+ALLMAKEFILES= \ -+ win32.mak linux.mak osx.mak freebsd.mak solaris.mak haiku.mak -+ -+ZLIB_OBJS = etc/c/zlib/adler32.o etc/c/zlib/compress.o \ -+ etc/c/zlib/crc32.o etc/c/zlib/gzio.o \ -+ etc/c/zlib/uncompr.o etc/c/zlib/deflate.o \ -+ etc/c/zlib/trees.o etc/c/zlib/zutil.o \ -+ etc/c/zlib/inflate.o etc/c/zlib/infback.o \ -+ etc/c/zlib/inftrees.o etc/c/zlib/inffast.o -+ -+GC_OBJS= internal/gc/gc.o internal/gc/gcold.o internal/gc/gcx.o \ -+ internal/gc/gcbits.o internal/gc/gclinux.o -+ -+SRC= errno.c object.d unittest.d crc32.d gcstats.d -+ -+SRC_STD= std/zlib.d std/zip.d std/stdint.d std/conv.d std/utf.d std/uri.d \ -+ std/math.d std/string.d std/path.d std/date.d \ -+ std/ctype.d std/file.d std/compiler.d std/system.d std/moduleinit.d \ -+ std/outbuffer.d std/math2.d std/thread.d std/md5.d std/base64.d \ -+ std/asserterror.d std/dateparse.d std/outofmemory.d std/mmfile.d \ -+ std/intrinsic.d std/array.d std/switcherr.d std/syserror.d \ -+ std/regexp.d std/random.d std/stream.d std/process.d \ -+ std/socket.d std/socketstream.d std/loader.d std/stdarg.d \ -+ std/stdio.d std/format.d std/perf.d std/openrj.d std/uni.d \ -+ std/boxer.d std/cstream.d std/demangle.d std/cover.d std/bitarray.d \ -+ std/signals.d std/cpuid.d std/typetuple.d std/traits.d std/bind.d \ -+ std/metastrings.d -+ -+SRC_STD_C= std/c/process.d std/c/stdlib.d std/c/time.d std/c/stdio.d \ -+ std/c/math.d std/c/stdarg.d std/c/stddef.d std/c/fenv.d std/c/string.d \ -+ std/d/locale.d -+ -+SRC_TI= \ -+ std/typeinfo/ti_wchar.d std/typeinfo/ti_uint.d \ -+ std/typeinfo/ti_short.d std/typeinfo/ti_ushort.d \ -+ std/typeinfo/ti_byte.d std/typeinfo/ti_ubyte.d \ -+ std/typeinfo/ti_long.d std/typeinfo/ti_ulong.d \ -+ std/typeinfo/ti_ptr.d \ -+ std/typeinfo/ti_float.d std/typeinfo/ti_double.d \ -+ std/typeinfo/ti_real.d std/typeinfo/ti_delegate.d \ -+ std/typeinfo/ti_creal.d std/typeinfo/ti_ireal.d \ -+ std/typeinfo/ti_cfloat.d std/typeinfo/ti_ifloat.d \ -+ std/typeinfo/ti_cdouble.d std/typeinfo/ti_idouble.d \ -+ std/typeinfo/ti_Ashort.d \ -+ std/typeinfo/ti_Ag.d \ -+ std/typeinfo/ti_AC.d std/typeinfo/ti_C.d \ -+ std/typeinfo/ti_int.d std/typeinfo/ti_char.d \ -+ std/typeinfo/ti_dchar.d \ -+ std/typeinfo/ti_Aint.d \ -+ std/typeinfo/ti_Along.d \ -+ std/typeinfo/ti_Afloat.d std/typeinfo/ti_Adouble.d \ -+ std/typeinfo/ti_Areal.d \ -+ std/typeinfo/ti_Acfloat.d std/typeinfo/ti_Acdouble.d \ -+ std/typeinfo/ti_Acreal.d \ -+ std/typeinfo/ti_void.d -+ -+SRC_INTC= \ -+ internal/complex.c internal/critical.c \ -+ internal/minit.asm internal/deh.c \ -+ internal/monitor.c \ -+ internal/mars.h -+ -+ -+SRC_INT= \ -+ internal/switch.d \ -+ internal/alloca.d internal/llmath.d \ -+ internal/arraycat.d internal/invariant.d \ -+ internal/memset.d internal/arraycast.d internal/aaA.d internal/adi.d \ -+ internal/dmain2.d internal/cast.d internal/qsort.d internal/deh2.d \ -+ internal/cmath2.d internal/obj.d internal/aApply.d \ -+ internal/aApplyR.d internal/object.d internal/trace.d internal/qsort2.d -+ -+SRC_STD_WIN= std/windows/registry.d \ -+ std/windows/iunknown.d std/windows/charset.d -+ -+SRC_STD_C_WIN= std/c/windows/windows.d std/c/windows/com.d \ -+ std/c/windows/winsock.d std/c/windows/stat.d -+ -+SRC_STD_C_LINUX= std/c/linux/linux.d std/c/linux/linuxextern.d \ -+ std/c/linux/socket.d std/c/linux/pthread.d -+ -+SRC_STD_C_OSX= std/c/osx/osx.d -+ -+SRC_STD_C_FREEBSD= std/c/freebsd/freebsd.d \ -+ std/c/freebsd/socket.d std/c/freebsd/pthread.d \ -+ std/c/freebsd/math.d -+ -+SRC_STD_C_SOLARIS= std/c/solaris/solaris.d \ -+ std/c/solaris/socket.d std/c/solaris/pthread.d -+ -+SRC_STD_C_POSIX= std/c/posix/posix.d \ -+ std/c/posix/socket.d std/c/posix/pthread.d -+ -+SRC_ETC= etc/gamma.d -+ -+SRC_ETC_C= etc/c/zlib.d -+ -+SRC_ZLIB= etc/c/zlib/trees.h \ -+ etc/c/zlib/inffixed.h \ -+ etc/c/zlib/inffast.h \ -+ etc/c/zlib/crc32.h \ -+ etc/c/zlib/algorithm.txt \ -+ etc/c/zlib/uncompr.c \ -+ etc/c/zlib/compress.c \ -+ etc/c/zlib/deflate.h \ -+ etc/c/zlib/inftrees.h \ -+ etc/c/zlib/infback.c \ -+ etc/c/zlib/zutil.c \ -+ etc/c/zlib/crc32.c \ -+ etc/c/zlib/inflate.h \ -+ etc/c/zlib/example.c \ -+ etc/c/zlib/inffast.c \ -+ etc/c/zlib/trees.c \ -+ etc/c/zlib/inflate.c \ -+ etc/c/zlib/gzio.c \ -+ etc/c/zlib/zconf.h \ -+ etc/c/zlib/zconf.in.h \ -+ etc/c/zlib/minigzip.c \ -+ etc/c/zlib/deflate.c \ -+ etc/c/zlib/inftrees.c \ -+ etc/c/zlib/zutil.h \ -+ etc/c/zlib/zlib.3 \ -+ etc/c/zlib/zlib.h \ -+ etc/c/zlib/adler32.c \ -+ etc/c/zlib/ChangeLog \ -+ etc/c/zlib/README \ -+ etc/c/zlib/win32.mak \ -+ etc/c/zlib/linux.mak \ -+ etc/c/zlib/haiku.mak \ -+ etc/c/zlib/osx.mak \ -+ etc/c/zlib/freebsd.mak \ -+ etc/c/zlib/solaris.mak -+ -+SRC_GC= internal/gc/gc.d \ -+ internal/gc/gcold.d \ -+ internal/gc/gcx.d \ -+ internal/gc/gcstub.d \ -+ internal/gc/gcbits.d \ -+ internal/gc/win32.d \ -+ internal/gc/gclinux.d \ -+ internal/gc/gcosxc.c \ -+ internal/gc/testgc.d \ -+ internal/gc/win32.mak \ -+ internal/gc/linux.mak \ -+ internal/gc/haiku.mak \ -+ internal/gc/osx.mak \ -+ internal/gc/freebsd.mak \ -+ internal/gc/solaris.mak -+ -+ALLSRCS = $(SRC) $(SRC_STD) std/gc.d $(SRC_STD_C) $(SRC_TI) $(SRC_INTC) $(SRC_INT) $(SRC_STD_WIN) \ -+ $(SRC_STD_C_WIN) $(SRC_STD_C_LINUX) $(SRC_ETC) $(SRC_ETC_C) \ -+ $(SRC_ZLIB) $(SRC_GC) $(SRC_STD_C_FREEBSD) $(SRC_STD_C_SOLARIS) \ -+ $(SRC_STD_C_POSIX) -+ -+ -+SRCS= \ -+ internal/aaA.d internal/adi.d \ -+ internal/aApply.d internal/aApplyR.d internal/memset.d \ -+ internal/arraycast.d internal/arraycat.d \ -+ internal/switch.d internal/qsort.d internal/invariant.d \ -+ internal/dmain2.d internal/cast.d internal/obj.d \ -+ internal/arrayfloat.d internal/arraydouble.d internal/arrayreal.d \ -+ internal/arraybyte.d internal/arrayshort.d internal/arrayint.d \ -+ internal/deh2.d internal/llmath.d \ -+ internal/trace.d internal/cmath2.d \ -+ internal/alloca.d \ -+ $(SRC_STD) \ -+ $(SRC_TI) -+ -+ -+$(LIB) : $(OBJS) $(GC_OBJS) $(ZLIB_OBJS) $(SRCS) $(MAKEFILE) -+# rm -f $(LIB) -+# ar -r $@ $(OBJS) $(ZLIB_OBJS) $(GC_OBJS) -+ $(DMD) -lib -of$(LIB) $(DFLAGS) $(SRCS) $(OBJS) $(ZLIB_OBJS) $(GC_OBJS) -+ -+unittest : -+ $(DMD) $(DFLAGS) -unittest -version=Unittest unittest.d $(SRCS) $(LIB) -L-ldl -+ ./unittest -+ -+cov : $(SRCS) $(LIB) -+ $(DMD) -cov -unittest -ofcov -m$(MODEL) unittest.d $(SRCS) $(LIB) -+ ./cov -+ -+ -+########################################################### -+ -+$(GC_OBJS): -+# cd internal/gc -+# make -f $(MAKEFILE) dmgc.a -+# cd ../.. -+ make DMD=$(DMD) MODEL=$(MODEL) -C ./internal/gc -f $(MAKEFILE) -+ -+$(ZLIB_OBJS): -+# cd etc/c/zlib -+# make -f $(MAKEFILE) -+# cd ../../.. -+ make -C ./etc/c/zlib -f $(MAKEFILE) MODEL=$(MODEL) -+ -+### -+ -+Dcrc32.o : crc32.d -+ $(DMD) -c $(DFLAGS) crc32.d -ofDcrc32.o -+ -+errno.o : errno.c -+ -+gcstats.o : gcstats.d -+ $(DMD) -c $(DFLAGS) gcstats.d -+ -+### internal -+ -+aaA.o : internal/aaA.d -+ $(DMD) -c $(DFLAGS) internal/aaA.d -+ -+aApply.o : internal/aApply.d -+ $(DMD) -c $(DFLAGS) internal/aApply.d -+ -+aApplyR.o : internal/aApplyR.d -+ $(DMD) -c $(DFLAGS) internal/aApplyR.d -+ -+adi.o : internal/adi.d -+ $(DMD) -c $(DFLAGS) internal/adi.d -+ -+alloca.o : internal/alloca.d -+ $(DMD) -c $(DFLAGS) internal/alloca.d -+ -+arraycast.o : internal/arraycast.d -+ $(DMD) -c $(DFLAGS) internal/arraycast.d -+ -+arraycat.o : internal/arraycat.d -+ $(DMD) -c $(DFLAGS) internal/arraycat.d -+ -+cast.o : internal/cast.d -+ $(DMD) -c $(DFLAGS) internal/cast.d -+ -+cmath2.o : internal/cmath2.d -+ $(DMD) -c $(DFLAGS) internal/cmath2.d -+ -+complex.o : internal/complex.c -+ $(CC) -c $(CFLAGS) internal/complex.c -+ -+critical.o : internal/critical.c -+ $(CC) -c $(CFLAGS) internal/critical.c -+ -+#deh.o : internal/mars.h internal/deh.cA -+# $(CC) -c $(CFLAGS) internal/deh.c -+ -+deh2.o : internal/deh2.d -+ $(DMD) -c $(DFLAGS) -release internal/deh2.d -+ -+dmain2.o : internal/dmain2.d -+ $(DMD) -c $(DFLAGS) internal/dmain2.d -+ -+invariant.o : internal/invariant.d -+ $(DMD) -c $(DFLAGS) internal/invariant.d -+ -+llmath.o : internal/llmath.d -+ $(DMD) -c $(DFLAGS) internal/llmath.d -+ -+memset.o : internal/memset.d -+ $(DMD) -c $(DFLAGS) internal/memset.d -+ -+#minit.o : internal/minit.asm -+# $(CC) -c internal/minit.asm -+ -+monitor.o : internal/mars.h internal/monitor.c -+ $(CC) -c $(CFLAGS) internal/monitor.c -+ -+obj.o : internal/obj.d -+ $(DMD) -c $(DFLAGS) internal/obj.d -+ -+object.o : internal/object.d -+ $(DMD) -c $(DFLAGS) internal/object.d -+ -+qsort.o : internal/qsort.d -+ $(DMD) -c $(DFLAGS) internal/qsort.d -+ -+switch.o : internal/switch.d -+ $(DMD) -c $(DFLAGS) internal/switch.d -+ -+trace.o : internal/trace.d -+ $(DMD) -c $(DFLAGS) internal/trace.d -+ -+### std -+ -+array.o : std/array.d -+ $(DMD) -c $(DFLAGS) std/array.d -+ -+asserterror.o : std/asserterror.d -+ $(DMD) -c $(DFLAGS) std/asserterror.d -+ -+base64.o : std/base64.d -+ $(DMD) -c $(DFLAGS) std/base64.d -+ -+bind.o : std/bind.d -+ $(DMD) -c $(DFLAGS) std/bind.d -+ -+bitarray.o : std/bitarray.d -+ $(DMD) -c $(DFLAGS) std/bitarray.d -+ -+boxer.o : std/boxer.d -+ $(DMD) -c $(DFLAGS) std/boxer.d -+ -+compiler.o : std/compiler.d -+ $(DMD) -c $(DFLAGS) std/compiler.d -+ -+conv.o : std/conv.d -+ $(DMD) -c $(DFLAGS) std/conv.d -+ -+cover.o : std/cover.d -+ $(DMD) -c $(DFLAGS) std/cover.d -+ -+cpuid.o : std/cpuid.d -+ $(DMD) -c $(DFLAGS) std/cpuid.d -+ -+cstream.o : std/cstream.d -+ $(DMD) -c $(DFLAGS) std/cstream.d -+ -+ctype.o : std/ctype.d -+ $(DMD) -c $(DFLAGS) std/ctype.d -+ -+date.o : std/dateparse.d std/date.d -+ $(DMD) -c $(DFLAGS) std/date.d -+ -+dateparse.o : std/dateparse.d std/date.d -+ $(DMD) -c $(DFLAGS) std/dateparse.d -+ -+demangle.o : std/demangle.d -+ $(DMD) -c $(DFLAGS) std/demangle.d -+ -+file.o : std/file.d -+ $(DMD) -c $(DFLAGS) std/file.d -+ -+format.o : std/format.d -+ $(DMD) -c $(DFLAGS) std/format.d -+ -+gc.o : std/gc.d -+ $(DMD) -c $(DFLAGS) std/gc.d -+ -+loader.o : std/loader.d -+ $(DMD) -c $(DFLAGS) std/loader.d -+ -+math.o : std/math.d -+ $(DMD) -c $(DFLAGS) std/math.d -+ -+math2.o : std/math2.d -+ $(DMD) -c $(DFLAGS) std/math2.d -+ -+md5.o : std/md5.d -+ $(DMD) -c $(DFLAGS) std/md5.d -+ -+metastrings.o : std/metastrings.d -+ $(DMD) -c $(DFLAGS) std/metastrings.d -+ -+mmfile.o : std/mmfile.d -+ $(DMD) -c $(DFLAGS) std/mmfile.d -+ -+moduleinit.o : std/moduleinit.d -+ $(DMD) -c $(DFLAGS) std/moduleinit.d -+ -+openrj.o : std/openrj.d -+ $(DMD) -c $(DFLAGS) std/openrj.d -+ -+outbuffer.o : std/outbuffer.d -+ $(DMD) -c $(DFLAGS) std/outbuffer.d -+ -+outofmemory.o : std/outofmemory.d -+ $(DMD) -c $(DFLAGS) std/outofmemory.d -+ -+path.o : std/path.d -+ $(DMD) -c $(DFLAGS) std/path.d -+ -+perf.o : std/perf.d -+ $(DMD) -c $(DFLAGS) std/perf.d -+ -+process.o : std/process.d -+ $(DMD) -c $(DFLAGS) std/process.d -+ -+random.o : std/random.d -+ $(DMD) -c $(DFLAGS) std/random.d -+ -+regexp.o : std/regexp.d -+ $(DMD) -c $(DFLAGS) std/regexp.d -+ -+signals.o : std/signals.d -+ $(DMD) -c $(DFLAGS) std/signals.d -+ -+socket.o : std/socket.d -+ $(DMD) -c $(DFLAGS) std/socket.d -+ -+socketstream.o : std/socketstream.d -+ $(DMD) -c $(DFLAGS) std/socketstream.d -+ -+stdio.o : std/stdio.d -+ $(DMD) -c $(DFLAGS) std/stdio.d -+ -+stream.o : std/stream.d -+ $(DMD) -c $(DFLAGS) -d std/stream.d -+ -+string.o : std/string.d -+ $(DMD) -c $(DFLAGS) std/string.d -+ -+switcherr.o : std/switcherr.d -+ $(DMD) -c $(DFLAGS) std/switcherr.d -+ -+system.o : std/system.d -+ $(DMD) -c $(DFLAGS) std/system.d -+ -+syserror.o : std/syserror.d -+ $(DMD) -c $(DFLAGS) std/syserror.d -+ -+thread.o : std/thread.d -+ $(DMD) -c $(DFLAGS) std/thread.d -+ -+traits.o : std/traits.d -+ $(DMD) -c $(DFLAGS) std/traits.d -+ -+typetuple.o : std/typetuple.d -+ $(DMD) -c $(DFLAGS) std/typetuple.d -+ -+uri.o : std/uri.d -+ $(DMD) -c $(DFLAGS) std/uri.d -+ -+uni.o : std/uni.d -+ $(DMD) -c $(DFLAGS) std/uni.d -+ -+utf.o : std/utf.d -+ $(DMD) -c $(DFLAGS) std/utf.d -+ -+Dzlib.o : std/zlib.d -+ $(DMD) -c $(DFLAGS) std/zlib.d -ofDzlib.o -+ -+zip.o : std/zip.d -+ $(DMD) -c $(DFLAGS) std/zip.d -+ -+### std/c -+ -+std_c_stdarg.o : std/c/stdarg.d -+ $(DMD) -c $(DFLAGS) std/c/stdarg.d -ofstd_c_stdarg.o -+ -+### std/c/linux -+ -+linux.o : std/c/linux/linux.d -+ $(DMD) -c $(DFLAGS) std/c/linux/linux.d -+ -+linuxsocket.o : std/c/linux/socket.d -+ $(DMD) -c $(DFLAGS) std/c/linux/socket.d -oflinuxsocket.o -+ -+pthread.o : std/c/linux/pthread.d -+ $(DMD) -c $(DFLAGS) std/c/linux/pthread.d -+ -+### std/c/posix -+ -+posix.o : std/c/posix/posix.d -+ $(DMD) -c $(DFLAGS) std/c/posix/posix.d -+ -+posixsocket.o : std/c/posix/socket.d -+ $(DMD) -c $(DFLAGS) std/c/posix/socket.d -ofposixsocket.o -+ -+posixpthread.o : std/c/posix/pthread.d -+ $(DMD) -c $(DFLAGS) std/c/posix/pthread.d -ofposixpthread.o -+ -+### etc -+ -+### etc/c -+ -+Czlib.o : etc/c/zlib.d -+ $(DMD) -c $(DFLAGS) etc/c/zlib.d -ofCzlib.o -+ -+### std/typeinfo -+ -+ti_void.o : std/typeinfo/ti_void.d -+ $(DMD) -c $(DFLAGS) std/typeinfo/ti_void.d -+ -+ti_wchar.o : std/typeinfo/ti_wchar.d -+ $(DMD) -c $(DFLAGS) std/typeinfo/ti_wchar.d -+ -+ti_dchar.o : std/typeinfo/ti_dchar.d -+ $(DMD) -c $(DFLAGS) std/typeinfo/ti_dchar.d -+ -+ti_uint.o : std/typeinfo/ti_uint.d -+ $(DMD) -c $(DFLAGS) std/typeinfo/ti_uint.d -+ -+ti_short.o : std/typeinfo/ti_short.d -+ $(DMD) -c $(DFLAGS) std/typeinfo/ti_short.d -+ -+ti_ushort.o : std/typeinfo/ti_ushort.d -+ $(DMD) -c $(DFLAGS) std/typeinfo/ti_ushort.d -+ -+ti_byte.o : std/typeinfo/ti_byte.d -+ $(DMD) -c $(DFLAGS) std/typeinfo/ti_byte.d -+ -+ti_ubyte.o : std/typeinfo/ti_ubyte.d -+ $(DMD) -c $(DFLAGS) std/typeinfo/ti_ubyte.d -+ -+ti_long.o : std/typeinfo/ti_long.d -+ $(DMD) -c $(DFLAGS) std/typeinfo/ti_long.d -+ -+ti_ulong.o : std/typeinfo/ti_ulong.d -+ $(DMD) -c $(DFLAGS) std/typeinfo/ti_ulong.d -+ -+ti_ptr.o : std/typeinfo/ti_ptr.d -+ $(DMD) -c $(DFLAGS) std/typeinfo/ti_ptr.d -+ -+ti_float.o : std/typeinfo/ti_float.d -+ $(DMD) -c $(DFLAGS) std/typeinfo/ti_float.d -+ -+ti_double.o : std/typeinfo/ti_double.d -+ $(DMD) -c $(DFLAGS) std/typeinfo/ti_double.d -+ -+ti_real.o : std/typeinfo/ti_real.d -+ $(DMD) -c $(DFLAGS) std/typeinfo/ti_real.d -+ -+ti_delegate.o : std/typeinfo/ti_delegate.d -+ $(DMD) -c $(DFLAGS) std/typeinfo/ti_delegate.d -+ -+ti_creal.o : std/typeinfo/ti_creal.d -+ $(DMD) -c $(DFLAGS) std/typeinfo/ti_creal.d -+ -+ti_ireal.o : std/typeinfo/ti_ireal.d -+ $(DMD) -c $(DFLAGS) std/typeinfo/ti_ireal.d -+ -+ti_cfloat.o : std/typeinfo/ti_cfloat.d -+ $(DMD) -c $(DFLAGS) std/typeinfo/ti_cfloat.d -+ -+ti_ifloat.o : std/typeinfo/ti_ifloat.d -+ $(DMD) -c $(DFLAGS) std/typeinfo/ti_ifloat.d -+ -+ti_cdouble.o : std/typeinfo/ti_cdouble.d -+ $(DMD) -c $(DFLAGS) std/typeinfo/ti_cdouble.d -+ -+ti_idouble.o : std/typeinfo/ti_idouble.d -+ $(DMD) -c $(DFLAGS) std/typeinfo/ti_idouble.d -+ -+ti_AC.o : std/typeinfo/ti_AC.d -+ $(DMD) -c $(DFLAGS) std/typeinfo/ti_AC.d -+ -+ti_Ag.o : std/typeinfo/ti_Ag.d -+ $(DMD) -c $(DFLAGS) std/typeinfo/ti_Ag.d -+ -+ti_Abit.o : std/typeinfo/ti_Abit.d -+ $(DMD) -c $(DFLAGS) std/typeinfo/ti_Abit.d -+ -+ti_Ashort.o : std/typeinfo/ti_Ashort.d -+ $(DMD) -c $(DFLAGS) std/typeinfo/ti_Ashort.d -+ -+ti_Aint.o : std/typeinfo/ti_Aint.d -+ $(DMD) -c $(DFLAGS) std/typeinfo/ti_Aint.d -+ -+ti_Along.o : std/typeinfo/ti_Along.d -+ $(DMD) -c $(DFLAGS) std/typeinfo/ti_Along.d -+ -+ti_Afloat.o : std/typeinfo/ti_Afloat.d -+ $(DMD) -c $(DFLAGS) std/typeinfo/ti_Afloat.d -+ -+ti_Adouble.o : std/typeinfo/ti_Adouble.d -+ $(DMD) -c $(DFLAGS) std/typeinfo/ti_Adouble.d -+ -+ti_Areal.o : std/typeinfo/ti_Areal.d -+ $(DMD) -c $(DFLAGS) std/typeinfo/ti_Areal.d -+ -+ti_Acfloat.o : std/typeinfo/ti_Acfloat.d -+ $(DMD) -c $(DFLAGS) std/typeinfo/ti_Acfloat.d -+ -+ti_Acdouble.o : std/typeinfo/ti_Acdouble.d -+ $(DMD) -c $(DFLAGS) std/typeinfo/ti_Acdouble.d -+ -+ti_Acreal.o : std/typeinfo/ti_Acreal.d -+ $(DMD) -c $(DFLAGS) std/typeinfo/ti_Acreal.d -+ -+ti_C.o : std/typeinfo/ti_C.d -+ $(DMD) -c $(DFLAGS) std/typeinfo/ti_C.d -+ -+ti_char.o : std/typeinfo/ti_char.d -+ $(DMD) -c $(DFLAGS) std/typeinfo/ti_char.d -+ -+ti_int.o : std/typeinfo/ti_int.d -+ $(DMD) -c $(DFLAGS) std/typeinfo/ti_int.d -+ -+ti_bit.o : std/typeinfo/ti_bit.d -+ $(DMD) -c $(DFLAGS) std/typeinfo/ti_bit.d -+ -+ -+########################################################## -+ -+zip : $(ALLSRCS) $(ALLMAKEFILES) phoboslicense.txt -+ $(RM) phobos.zip -+ zip phobos $(ALLSRCS) $(ALLMAKEFILES) phoboslicense.txt -+ -+clean: -+ $(RM) $(LIB) $(OBJS) unittest unittest.o -+ make -C ./internal/gc -f $(MAKEFILE) clean -+ make -C ./etc/c/zlib -f $(MAKEFILE) clean -+ -diff -Naur dmd/src/phobos/internal/gc/haiku.mak dmd1/src/phobos/internal/gc/haiku.mak ---- dmd/src/phobos/internal/gc/haiku.mak 1970-01-01 00:00:00.000000000 +0000 -+++ dmd1/src/phobos/internal/gc/haiku.mak 2010-09-20 16:41:30.325582848 +0000 -@@ -0,0 +1,56 @@ -+ -+# makefile to build linux D garbage collector -+ -+MODEL=32 -+#DMD=../../../dmd -+DMD=dmd -+CFLAGS=-g -m$(MODEL) -+#DFLAGS=-unittest -g -release -+DFLAGS=-release -O -inline -m$(MODEL) -I../.. -+#DFLAGS=-release -inline -O -+CC=gcc -+MAKEFILE=haiku.mak -+ -+OBJS= gc.o gcx.o gcbits.o gclinux.o gcold.o -+ -+SRC= gc.d gcx.d gcbits.d win32.d gclinux.d gcold.d testgc.d \ -+ win32.mak osx.mak linux.mak freebsd.mak solaris.mak -+ -+.c.o: -+ $(CC) -c $(CFLAGS) $* -+ -+.d.o: -+ $(DMD) -c $(DFLAGS) $* -+ -+targets : dmgc.a -+ -+testgc : testgc.o $(OBJS) $(MAKEFILE) -+ $(DMD) -of$@ -m$(MODEL) testgc.o gc.o gcx.o gcbits.o gclinux.o -g -+ -+testgc.o : testgc.d -+ $(DMD) -c $(DFLAGS) testgc.d -+ -+dmgc.a : $(OBJS) $(MAKEFILE) -+ ar -r $@ $(OBJS) -+ -+gc.o : gc.d -+ $(DMD) -c $(DFLAGS) gc.d -+ -+gcold.o : gcold.d -+ $(DMD) -c $(DFLAGS) gcold.d -+ -+gcx.o : gcx.d -+ $(DMD) -c $(DFLAGS) gcx.d gcbits.d -+ -+#gcbits.o : gcbits.d -+# $(DMD) -c $(DFLAGS) gcbits.d -+ -+gclinux.o : gclinux.d -+ $(DMD) -c $(DFLAGS) gclinux.d -+ -+zip : $(SRC) -+ $(RM) dmgc.zip -+ zip dmgc $(SRC) -+ -+clean: -+ $(RM) $(OBJS) dmgc.a testgc testgc.o