-
Notifications
You must be signed in to change notification settings - Fork 23
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Windows support #146
Comments
It's not planned, but it should be done whenever it would be sufficiently stable for production use. The framework rely essentially upon portable libraries, so it should not take too much effort to build a working DLL. What kind of issues are you experiencing? |
Here is my errors.
But I have issues with Gee, I can't compile packaging it. |
Gee has been removed along with CTPL, so you should try this release v0.2.6. The |
Ok, i'll try to build with it. Thanks. |
Ok, I have just one last problem (I hope). Soup.Status doesn't seems to exist in my version of libsoup (I have 2.4). Which version are you using ? |
Minimal dependencies are described here: http://valum-framework.readthedocs.org/en/latest/installation.html#dependencies It requires at least |
It's possible that the VAPI is not up-to-date though: it ships along with Vala. |
That too complicated. I stop trying to install Valum. I'll install Linux. Thanks for your help ! |
@Bat41 I'm only half sorry to hear that! I'll have to get my hands dirty some days I suppose. You should use Fedora, Valum comes packaged and batteries-included from that copr https://copr.fedoraproject.org/coprs/arteymix/valum-framework/ |
I have recently build Val 0.32 for Windows. I tried to recompile Valum using this version, and i can compile just with few changes (6 lines). Yey ! But i still get this error : error: program does not contain a static `main' method Can you help me, please ? 😄 |
Could you gist me the whole build log? If examples are not enabled, it should not build a program, but rather a shared library. |
How do you tell to the compiler to output a library (.vapi I supose) ? |
Just add |
Otherwise, just build everything along your application. It would be nice to adapt the build with |
Then, maybe work CI out with AppVeyor |
Thanks. Now Vala compilation works, but C don't. I just have to add headers file. |
I have got some problems ... https://gist.github.com/Bat41/7e07829451dbde71cb7e I think it's not today I could start using Valum. 😭 |
@Bat41 This is supposed to be automated by In short, I would just like to hear it working, I think it would motivate me to port the build. Have you tried How about being (eventually) in charge of testing the build on Windows? |
@Bat41 You can use Vagrant to work in a virtual environment in the meantime |
I tried waf long time ago, but i didn't worked, so I made my own script. But I could try again ... |
Waf doesn't detect gcc. 😑 But can't I just add the source in the folder of my website sources ? Without compilation. |
I tried, and it's not possible. 😞 |
There's a couple of things to do for Windows support:
As I said, all of Valum's dependencies are portable, so it's just a matter of how we build. FastCGI uses SCGI is fully portable, but I plan on supporting UNIX domain socket as well, so it has to be conditionally enabled. CGI work with UNIX streams too, so it should be adapted. |
@Bat41 By the way I've just successfully cross-compiled for mingwn using Meson. There's still some work to do it get it right though There's a couple of changes to make so that the framework can be fully portable. It would basically allow anyone to cross-compile a Web app into a Windows executable. |
Make both platform-dependant 'gio-unix-2.0' and 'gio-windows-2.0' dependencies optional and use features accordingly via 'GIO_UNIX' and 'GIO_WINDOWS' definitions. For FastCGI, gracefully fallback with no fd-based async I/O.
Make both platform-dependant 'gio-unix-2.0' and 'gio-windows-2.0' dependencies optional and use features accordingly via 'GIO_UNIX' and 'GIO_WINDOWS' definitions. For FastCGI, gracefully fallback with no fd-based async I/O. Add basic cross files to target 32 and 64 bit targets.
Make both platform-dependant 'gio-unix-2.0' and 'gio-windows-2.0' dependencies optional and use features accordingly via 'GIO_UNIX' and 'GIO_WINDOWS' definitions. For FastCGI, gracefully fallback with no fd-based async I/O. Add basic cross files to target 32 and 64 bit targets.
Make both platform-dependant 'gio-unix-2.0' and 'gio-windows-2.0' dependencies optional and use features accordingly via 'GIO_UNIX' and 'GIO_WINDOWS' definitions. For FastCGI, gracefully fallback with no fd-based async I/O. Add basic cross files to target 32 and 64 bit targets.
Make both platform-dependant 'gio-unix-2.0' and 'gio-windows-2.0' dependencies optional and use features accordingly via 'GIO_UNIX' and 'GIO_WINDOWS' definitions. Disable '--socket' option if 'gio-unix-2.0' is not available. For FastCGI, use 'GLib.Win32InputStream' and 'GLib.Win32OutputStream' and gracefully fallback with basic I/O wrapper. Add basic cross files to target 32 and 64 bit targets with MinGW. Drop non-portable 'fork' for an eventual portable strategy involving 'GLib.Subprocess'.
Make both platform-dependant 'gio-unix-2.0' and 'gio-windows-2.0' dependencies optional and use features accordingly via 'GIO_UNIX' and 'GIO_WINDOWS' definitions. Disable '--socket' option if 'gio-unix-2.0' is not available. For FastCGI, use 'GLib.Win32InputStream' and 'GLib.Win32OutputStream' and gracefully fallback with basic I/O wrapper. Add basic cross files to target 32 and 64 bit targets with MinGW. Drop non-portable 'fork' for an eventual portable strategy involving 'GLib.Subprocess'.
Make both platform-dependant 'gio-unix-2.0' and 'gio-windows-2.0' dependencies optional and use features accordingly via 'GIO_UNIX' and 'GIO_WINDOWS' definitions. Disable '--socket' option if 'gio-unix-2.0' is not available. For FastCGI, use 'GLib.Win32InputStream' and 'GLib.Win32OutputStream' and gracefully fallback with basic I/O wrapper. Add basic cross files to target 32 and 64 bit targets with MinGW. Drop non-portable 'fork' for an eventual portable strategy involving 'GLib.Subprocess'.
Make both platform-dependant 'gio-unix-2.0' and 'gio-windows-2.0' dependencies optional and use features accordingly via 'GIO_UNIX' and 'GIO_WINDOWS' definitions. Disable '--socket' option if 'gio-unix-2.0' is not available. For FastCGI, use 'GLib.Win32InputStream' and 'GLib.Win32OutputStream' and gracefully fallback with basic I/O wrapper. Add basic cross files to target 32 and 64 bit targets with MinGW. Drop non-portable 'fork' for an eventual portable strategy involving 'GLib.Subprocess'.
Make both platform-dependant 'gio-unix-2.0' and 'gio-windows-2.0' dependencies optional and use features accordingly via 'GIO_UNIX' and 'GIO_WINDOWS' definitions. Use 'add_project_arguments' instead of 'vala_defines' Disable '--socket' option if 'gio-unix-2.0' is not available. For FastCGI, use 'GLib.Win32InputStream' and 'GLib.Win32OutputStream' and gracefully fallback with basic I/O wrapper. Add basic cross files to target 32 and 64 bit targets with MinGW.
Make both platform-dependant 'gio-unix-2.0' and 'gio-windows-2.0' dependencies optional and use features accordingly via 'GIO_UNIX' and 'GIO_WINDOWS' definitions. Use 'add_project_arguments' instead of 'vala_defines' Disable '--socket' option if 'gio-unix-2.0' is not available. For FastCGI, use 'GLib.Win32InputStream' and 'GLib.Win32OutputStream' and gracefully fallback with basic I/O wrapper. Add basic cross files to target 32 and 64 bit targets with MinGW.
Having just attempted to build under MSYS2 i've come to the conclusion this is impossible because of the dependency on |
@ZanderBrown There's work in progress for making it optional, see #198 is using |
Make both platform-dependant 'gio-unix-2.0' and 'gio-windows-2.0' dependencies optional and use features accordingly via 'GIO_UNIX' and 'GIO_WINDOWS' definitions. Use 'add_project_arguments' instead of 'vala_defines' Disable '--socket' option if 'gio-unix-2.0' is not available. For FastCGI, use 'GLib.Win32InputStream' and 'GLib.Win32OutputStream' and gracefully fallback with basic I/O wrapper. Add basic cross files to target 32 and 64 bit targets with MinGW.
Make both platform-dependant 'gio-unix-2.0' and 'gio-windows-2.0' dependencies optional and use features accordingly via 'GIO_UNIX' and 'GIO_WINDOWS' definitions. Use 'add_project_arguments' instead of 'vala_defines' Disable '--socket' option if 'gio-unix-2.0' is not available. For FastCGI, use 'GLib.Win32InputStream' and 'GLib.Win32OutputStream' and gracefully fallback with basic I/O wrapper. Add basic cross files to target 32 and 64 bit targets with MinGW.
Make both platform-dependant 'gio-unix-2.0' and 'gio-windows-2.0' dependencies optional and use features accordingly via 'GIO_UNIX' and 'GIO_WINDOWS' definitions. Use 'add_project_arguments' instead of 'vala_defines' Disable '--socket' option if 'gio-unix-2.0' is not available. For FastCGI, use 'GLib.Win32InputStream' and 'GLib.Win32OutputStream' and gracefully fallback with basic I/O wrapper. Add basic cross files to target 32 and 64 bit targets with MinGW.
Make both platform-dependant 'gio-unix-2.0' and 'gio-windows-2.0' dependencies optional and use features accordingly via 'GIO_UNIX' and 'GIO_WINDOWS' definitions. Use 'add_project_arguments' instead of 'vala_defines' Disable '--socket' option if 'gio-unix-2.0' is not available. For FastCGI, use 'GLib.Win32InputStream' and 'GLib.Win32OutputStream' and gracefully fallback with basic I/O wrapper. Add basic cross files to target 32 and 64 bit targets with MinGW.
Hello,
I'm developing with Vala on Windows (I'm the only one, I think :p ). I tried your framework with Vala 0.20, but it doesn't seems to work ...
Is a Windows support planned ? And excuse me if I have done some mistakes with English ... I'm learning. 😄
The text was updated successfully, but these errors were encountered: