build: rename osx premake binary

Rename osx premake binary to premake5-osx, so that we can add
premake5-linux.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@iki.fi>
build: add linux premake5 binary

Add linux premake binary.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@iki.fi>
build: move windows bindings to i686-pc-win32 directory

Move windows bindings to i686-pc-win32, the same way as osx bindings are
(and linux bindings will be).

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@iki.fi>
build: fix nunit dll filename

Linux is case-sensitive with filenames, and as the NUnit library files
are lowercase, we need to use lowercase in the build files also.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@iki.fi>
build: fix llvm linking

Use llvm-config tool to get the needed LLVM libraries.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@iki.fi>
build: fix clang linking

At least on linux with gcc the linking order of the libraries is
important. Fix linking clang libraries by changing the link order.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@iki.fi>
build: remove unused StaticLinksOpt()

The function is not used anymore, so remove it.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@iki.fi>
build: use LLVM from an instal directory

Require the LLVM to be installed into deps/llvm/install, and use the
LLVM from there. This simplifies the include and library paths.

We still need some hacks to include the private clang CodeGen headers,
though.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@iki.fi>
build: remove setting libdirs in premake4.lua

"ibdirs { libdir }" in the main premake4.lua file causes Debug_x32
directory to be added for the libdirs for all builds. I think that's a
bug in premake, as at the same place setting, say, "targetdir" works
fine.

However, setting "libdir" to "libdirs" is not needed at all, so let's remove it.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@iki.fi>
build: use path.join() for objdir

use path.join() to set objdir.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@iki.fi>
CppParser: Fix compilation warning

Fix the following warning:

warning: backslash-newline at end of file [enabled by default]

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@iki.fi>
ParserGen: fix compilation warning

Fix the following warning:

ParserGen.cs(208,26): warning CS0618: `CppSharp.AST.Declaration.Ignore' is obsolete: `Replace set by ExplicitlyIgnore(). Replace get by GenerationKind == GenerationKind.None.'

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@iki.fi>
build: add os.is_linux()

Add function to detect if running on linux.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@iki.fi>
ParserGen: Linux binding generation

Add code to generate Linux bindings.

This is experimental for now.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@iki.fi>
CppParser: add generated linux bindings

Add C# Bindings for CppParser for 64 bit Linux.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@iki.fi>
build: use linux bindings

Use CppParser C# bindings for linux when compiling on Linux.

Note: this always uses 64 bit version for now.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@iki.fi>
disable tests