diff dmd/mars.h @ 1367:8026319762be

Merged DMD 1.045 !!!
author Tomas Lindquist Olsen <tomas.l.olsen gmail com>
date Sat, 16 May 2009 22:21:31 +0200
parents 46f6365a50d7
children 229e02867307
line wrap: on
line diff
--- a/dmd/mars.h	Sat May 16 18:37:16 2009 +0200
+++ b/dmd/mars.h	Sat May 16 22:21:31 2009 +0200
@@ -36,6 +36,8 @@
 	_WIN64		Windows for AMD64
 	linux		Linux
 	__APPLE__	Mac OSX
+	__FreeBSD__	FreeBSD
+	__sun&&__SVR4	Solaris, OpenSolaris (yes, both macros are necessary)
 
 For the target systems, there are the target operating system and
 the target object file format:
@@ -44,13 +46,15 @@
 	TARGET_WINDOS	Covers 32 bit windows and 64 bit windows
 	TARGET_LINUX	Covers 32 and 64 bit linux
 	TARGET_OSX	Covers 32 and 64 bit Mac OSX
+	TARGET_FREEBSD	Covers 32 and 64 bit FreeBSD
+	TARGET_SOLARIS	Covers 32 and 64 bit Solaris
 
     It is expected that the compiler for each platform will be able
     to generate 32 and 64 bit code from the same compiler binary.
 
     Target object module format:
 	OMFOBJ		Intel Object Module Format, used on Windows
-	ELFOBJ		Elf Object Module Format, used on linux
+	ELFOBJ		Elf Object Module Format, used on linux, FreeBSD and Solaris
 	MACHOBJ		Mach-O Object Module Format, used on Mac OSX
 
     There are currently no macros for byte endianness order.
@@ -81,7 +85,8 @@
 #define STRUCTTHISREF DMDV2	// if 'this' for struct is a reference, not a pointer
 #define SNAN_DEFAULT_INIT DMDV2	// if floats are default initialized to signalling NaN
 
-/* Other targets are TARGET_LINUX and TARGET_OSX, which are
+/* Other targets are TARGET_LINUX, TARGET_OSX, TARGET_FREEBSD and
+ * TARGET_SOLARIS, which are
  * set on the command line via the compiler makefile.
  */
 
@@ -90,7 +95,7 @@
 #define OMFOBJ 1
 #endif
 
-#if TARGET_LINUX
+#if TARGET_LINUX || TARGET_FREEBSD || TARGET_SOLARIS
 #ifndef ELFOBJ
 #define ELFOBJ 1
 #endif