On Monday, 9 February 2015 at 22:38:51 UTC, Elie Morisse wrote:
On Monday, 9 February 2015 at 07:10:56 UTC, Suliman wrote:
If somebody have working Windows build, could you please share it?

It would be nice to know if someone even managed to build Calypso on Windows yet :)


Hello Elie,

I did manage to build Calypso on Win7, and the resulting binary works to produce an obj file, but linking of a full executable fails :(

I am getting "file contains invalid .pdata contributions" when trying to link. Trass3r over on ldc's github page was getting this error at one point also, but I don't know what the solution was. It seems like this was back in Aug 2014 so I would have thought any changes needed were picked up by Calypso when you forked in Oct.

I would post an issue with ldc but Calypso isn't up to date, so it might not be really fair as the fix may be in the newest ldc. I can't see anything standing out in the commits for an issue like this, but I might just be missing it.

Thanks,
Kelly



P.S. There is a small patch needed to compile on windows with VS2013. Things should still build fine on Linux with the patch. Here it is:

diff --git a/dmd2/cpp/cppimport.cpp b/dmd2/cpp/cppimport.cpp
index 709f324..2dec2ae 100644
--- a/dmd2/cpp/cppimport.cpp
+++ b/dmd2/cpp/cppimport.cpp
@@ -6,7 +6,10 @@
 #include "cpp/calypso.h"
 #include "expression.h"

+#ifndef _MSC_VER
 #include <unistd.h>
+#endif
+
 #include <stdlib.h>
 #include <stdio.h>

diff --git a/dmd2/cpp/cppmodule.cpp b/dmd2/cpp/cppmodule.cpp
index 114f3f0..385cb79 100644
--- a/dmd2/cpp/cppmodule.cpp
+++ b/dmd2/cpp/cppmodule.cpp
@@ -21,7 +21,10 @@
 #include "cppexpression.h"
 #include "cpptemplate.h"

+#ifndef _MSC_VER
 #include <unistd.h>
+#endif
+
 #include <stdio.h>
 #include <stdlib.h>

diff --git a/dmd2/mars.h b/dmd2/mars.h
index b22dc5b..fc8f798 100644
--- a/dmd2/mars.h
+++ b/dmd2/mars.h
@@ -270,8 +270,8 @@ struct Compiler
     const char *vendor;     // Compiler backend name
 };

-struct LangPlugin;
-typedef Array<struct LangPlugin *> LangPlugins;
+class LangPlugin;
+typedef Array<class LangPlugin *> LangPlugins;

 typedef unsigned structalign_t;
 #define STRUCTALIGN_DEFAULT ((structalign_t) ~0)

Reply via email to