Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Unofficial GitHub mirror of Haxe and dependencies. Updated hourly, except when something goes wrong (then it sometimes takes me a few days to fix it).
Haxe OCaml C
Pull request Compare This branch is 753 commits ahead, 2 commits behind itegebo:master.

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
doc
libs
std
tests
.gitignore
Makefile
Makefile.win
README.md
ast.ml
codegen.ml
common.ml
dce.ml
genas3.ml
gencommon.ml
gencpp.ml
gencs.ml
genjava.ml
genjs.ml
genneko.ml
genphp.ml
genswf.ml
genswf8.ml
genswf9.ml
genxml.ml
haxe.hxproj
install.ml
interp.ml
lexer.mll
main.ml
matcher.ml
optimizer.ml
parser.ml
type.ml
typecore.ml
typeload.ml
typer.ml

README.md

Haxe

This git repository is a mirror of the source code and dependencies of Haxe. It is completely unofficial.

It incorporates:

  • A complete history of the Haxe SVN repository.
  • A complete history of the ocamllibs SVN repository (in the libs subdirectory), which contains source and binary dependencies that are needed to compile Haxe.
  • A copy of install.ml modified to work without SVN. Haxe has a proper Makefile now, but install.ml is still useful for compiling on Windows, or if the Makefile doesn’t work for you.

Building on Linux/Unix

To build you need a working GCC compiler toolchain, the OCaml compiler, camlp4 (usually included with OCaml), Findlib, Neko, and zlib (including development header files).

To install these on Debian/Ubuntu systems, just run:

sudo apt-get install build-essential ocaml camlp4 ocaml-findlib \
    neko zlib1g-dev

Then, to build, run:

make

If all goes well, you will end up with the executables haxe, haxedoc, and haxelib in the working directory.

Building on Windows

To build you need a Microsoft compiler toolchain, and an OCaml compiler that is based on the Microsoft toolchain.

To obtain a Microsoft compiler toolchain you can do one of the following:

  • Install a copy of Microsoft Visual Studio Professional or above.
  • Install the Windows 7 SDK.

OCaml Microsoft-based native Win32 port (3.09.0) is known to successfully compile Haxe on Windows, although it is not the latest version.

If you wish, you can check the latest release of OCaml, the previous release, and other older releases, but note that not every version has a Microsoft-based port available, and that MinGW- or Cygwin-based ports are not equivalent.

To build, you need to open a “Visual Studio Command Prompt” or “Windows 7 SDK Command Prompt”. This is not the same as an ordinary command prompt. You can find it in your Start Menu after installing Visual Studio or the Windows 7 SDK.

Then, to build, run:

ocaml install.ml

If all goes well, you will end up with a bin directory containing haxe.exe, and the standard library std.

Using the Makefile on Windows

It is apparently possible to build for Windows using Makefile.win, but I could not find clear documentation of the required tools, and it does not appear to be at all straightforward to set up.

Install

Despite the name, install.ml doesn’t actually install Haxe, it just compiles it. You need to manually copy the binaries and standard library (std) to wherever you want them.

Branches

haxe/master

This branch tracks the official Haxe SVN trunk, without any additional changes (and also without any SVN externals).

ocamllibs/master

This branch tracks ocamllibs trunk, without any additional changes.

master

Both haxe/master and ocamllibs/master are merged into master. This branch also includes this README and a modified copy of install.ml in the root so that everything compiles out of the box.

The vanilla install.ml can be found in the doc subdirectory, although it isn’t very useful to git users because it expects to check Haxe out from SVN.

Other branches

Other SVN branches of haxe and ocamllibs will be tracked as haxe/branch-name and ocamllibs/branch-name respectively (at the time of writing there aren’t any).

Patches and Pull Requests

If you’re developing improvements to Haxe against this repository that’s great, that’s what it’s for, but there’s not much point in filing a pull request unless you’ve made changes to this README or install.ml.

To submit patches back to the Haxe compiler team you’ll need to create a patch and submit it to the mailing list or as an attachment to the Haxe issue tracker.

If there is something wrong with something specific to this mirror, then pull requests are of course very welcome.

Updates

This repository is updated automatically once per hour: changes from both upstream SVN repositories are synced and merged in. Occasionally manual intervention is required and it takes a bit longer.

Contact

This repository is maintained by Daniel Cassidy.

If there’s something wrong with it, for example install.ml doesn’t work for you, or the repository isn’t up to date with respect to the Haxe SVN repository (and hasn’t been for several hours), then the best thing to do is probably to report an issue.

Acknowledgements

Philipp Klose created a similar Haxe mirror on GitHub before I did. Although he did a fine job of it, it didn’t work well for me on Windows, and I spent quite a bit of time figuring out the most sensible sequence of changes to make it work, before giving up and starting again. That’s more my fault than his, although I’m happier with the way things are set up here. This README is largely based on the one in his repository.

Haxe itself is developed by many people, very few of whom are me.

Something went wrong with that request. Please try again.