pkgsrc-wip/dmd/patches/patch-af

93 lines
3.2 KiB
Plaintext

$NetBSD: patch-af,v 1.1.1.1 2011/02/16 17:10:41 thomasklausner Exp $
--- src/dmd/mars.c.orig 2010-12-20 20:02:36.000000000 +0000
+++ src/dmd/mars.c
@@ -15,7 +15,7 @@
#include <assert.h>
#include <limits.h>
-#if linux || __APPLE__ || __FreeBSD__ || __sun&&__SVR4
+#if linux || __APPLE__ || __FreeBSD__ || __sun&&__SVR4 || __NetBSD__
#include <errno.h>
#endif
@@ -60,7 +60,7 @@ Global::Global()
#if TARGET_WINDOS
obj_ext = "obj";
-#elif TARGET_LINUX || TARGET_OSX || TARGET_FREEBSD || TARGET_SOLARIS
+#elif TARGET_LINUX || TARGET_OSX || TARGET_FREEBSD || TARGET_NETBSD || TARGET_SOLARIS
obj_ext = "o";
#elif TARGET_NET
#else
@@ -69,7 +69,7 @@ Global::Global()
#if TARGET_WINDOS
lib_ext = "lib";
-#elif TARGET_LINUX || TARGET_OSX || TARGET_FREEBSD || TARGET_SOLARIS
+#elif TARGET_LINUX || TARGET_OSX || TARGET_FREEBSD || TARGET_NETBSD || TARGET_SOLARIS
lib_ext = "a";
#elif TARGET_NET
#else
@@ -78,7 +78,7 @@ Global::Global()
#if TARGET_WINDOS
dll_ext = "dll";
-#elif TARGET_LINUX || TARGET_FREEBSD || TARGET_SOLARIS
+#elif TARGET_LINUX || TARGET_FREEBSD || TARGET_NETBSD || TARGET_SOLARIS
dll_ext = "so";
#elif TARGET_OSX
dll_ext = "dylib";
@@ -361,7 +361,7 @@ int main(int argc, char *argv[])
#if TARGET_WINDOS
global.params.defaultlibname = "phobos";
-#elif TARGET_LINUX || TARGET_OSX || TARGET_FREEBSD || TARGET_SOLARIS
+#elif TARGET_LINUX || TARGET_OSX || TARGET_FREEBSD || TARGET_NETBSD || TARGET_SOLARIS
global.params.defaultlibname = "phobos2";
#elif TARGET_NET
#else
@@ -393,6 +393,10 @@ int main(int argc, char *argv[])
VersionCondition::addPredefinedGlobalIdent("Posix");
VersionCondition::addPredefinedGlobalIdent("FreeBSD");
global.params.isFreeBSD = 1;
+#elif TARGET_NETBSD
+ VersionCondition::addPredefinedGlobalIdent("Posix");
+ VersionCondition::addPredefinedGlobalIdent("NetBSD");
+ global.params.isNetBSD = 1;
#elif TARGET_SOLARIS
VersionCondition::addPredefinedGlobalIdent("Posix");
VersionCondition::addPredefinedGlobalIdent("Solaris");
@@ -410,7 +414,7 @@ int main(int argc, char *argv[])
#if _WIN32
inifilename = inifile(argv[0], "sc.ini");
-#elif linux || __APPLE__ || __FreeBSD__ || __sun&&__SVR4
+#elif linux || __APPLE__ || __FreeBSD__ || __sun&&__SVR4 || __NetBSD__
inifilename = inifile(argv[0], "dmd.conf");
#else
#error "fix this"
@@ -435,7 +439,7 @@ int main(int argc, char *argv[])
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_NETBSD || TARGET_SOLARIS
else if (strcmp(p + 1, "fPIC") == 0)
global.params.pic = 1;
#endif
@@ -727,6 +731,13 @@ int main(int argc, char *argv[])
browse("http://www.digitalmars.com/d/2.0/dmd-freebsd.html");
#endif
#endif
+#if __NetBSD__
+#if DMDV1
+ browse("http://www.digitalmars.com/d/1.0/dmd-netbsd.html");
+#else
+ browse("http://www.digitalmars.com/d/2.0/dmd-netbsd.html");
+#endif
+#endif
exit(EXIT_SUCCESS);
}
else if (strcmp(p + 1, "run") == 0)