-
-
Notifications
You must be signed in to change notification settings - Fork 662
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
Moving to OCaml 4 #5174
Comments
I think the HF PPA still have to support Ubuntu 12.04 for an year, until 12.04 reaches its EOL in April 2017. |
That would be a good thing to do, so we can move away from camlp4o and start using new language extension framework for lexing/parsing, starting with #5163. |
Glad to hear you're volunteering to rewrite the parser! |
Haha :) Well I'm more interested in lexer, since this multi-byte issue is really annoying and it's even more annoying that the issue isn't obvious to them latin people :-P |
* add --wait stdio * fix for old ocaml (see #5174)
Today I tried to setup my laptop with OCaml 4.02 + MSVC 2015, was quite hard indeed.
Resulting haxe.exe has dependency with VCRUNTIME140.DLL and universal CRT DLL as well. I would advice to use MingW for releases instead I think we should advise users to use OCPWin MingW to compile and modify Haxe. Maybe with using my HaxeDevelop project as well ? But this requires extra tools in PATH (make, sed) |
Ok, it seems we can keep the Makefile.win without MSVC=1 to compile for MSVC with OCPWin, it simply requires copying libs/extc/zlib/zlib.lib (or zlib64.lib which I have just pushed) into ocaml/lib/msvc-xx, then rename it as "z.a" |
The "Building on Windows (Cygwin)" way, documented in http://haxe.org/documentation/introduction/building-haxe.html still works great for me (I just set up the environment on my notebook again). The only thing to mention is that you need a 32-bit version because there's no Neko 64-bit on windows. |
Trying OCPWin-MINGW-Full:
So yes, getting rid of CamlP4 and using OCPWin-MingW seems like a quite convenient way of developing Haxe. Some benchmarks:
|
Did some additional benchmarks today, making sure that they were all done using the same Haxe version. Compiling the full version of Evoland 2 (different computer than yesterday):
I would have like to see 4.02/MSVC32 to know if these 30% performances gain came from either 4.02 or using MingW toolchain. I suspect the former because as far as I understand OCaml only use the assembler and linker of the toolchain, so there is no compiler-specific optimization being performed (only for C the parts, but they are rarely called). I would advise that we make Windows releases with MingW32, and that we update the build instructions for windows in order to have people using OCPWin for MingW. |
What's our stance on using opam and ocamlfind? I was looking into integrating sedlex extension today (for #5163), but it has a couple of dependencies (gen, ppx_tools) and to integrate it like others (into the I feel like the right thing to do is to do everything the opam way (of course everyone will need to setup proper opam environment, but that's another story). |
OCPWin is simply impossible to set up for us windows peasants. It implies having a working cygwin/mingw/whatever environment. The solution I found is the awesome OCaml distribution for windows by @fdopen. It's very easy to install and has everything we need to build Haxe on Windows. Moreover, I had no problems with opam installing Merlin and other packages - it just works. So I strongly recommend it. I wrote a step-by-step instruction that worked for me and @Simn here: https://gist.github.com/nadako/1e73ee2fa759d2ea9bf4acb65e3e3052. I think we should embrace opam packages and ocamlfind, because otherwise, using e.g. |
This is pretty much concluded because @nadako's instructions work like a charm. As an added bonus we now get to have a good IDE due to this VS Code plugin: https://github.com/hackwaly/vscode-ocaml I forget, was there anything special we had to do for merlin to work? Might be worthwhile to add that to the instructions. Other than that we only have to port Hugh and then we're done. |
Are there some issues if you have already Cygwin installed ? Asking potential contributors to uninstall their working software does not sound like a good idea :) |
Pretty sure that would work regardless, it's most likely just the "I don't want to deal with problems that come from existing installations of something" clause. |
I think we can close here. |
I think it's time we do that. Is anyone still using OCaml 3 or was I the only one?
The text was updated successfully, but these errors were encountered: