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: 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 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 install directory

Require the LLVM to be installed into deps/llvm/install, and use the
LLVM from there. This simplifies the include and library paths. It also
resembles more the way things should work if the LLVM was provided by
the distribution.

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

"libdirs { 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>
add x86_64-linux-gnu headers

Add .tar.xz containing linux headers which can be used to generate
CppParser bindings for Linux on Windows.

The headers were collected from the following Ubunt 14.04 64bit
packages:

libc6-dev_2.19-0ubuntu6_amd64.deb
libgcc-4.8-dev_4.8.2-19ubuntu1_amd64.deb
libstdc++-4.8-dev_4.8.2-19ubuntu1_amd64.deb
linux-libc-dev_3.13.0-24.47_amd64.deb

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>
ParserGen: print what is being generated

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

Fix the following warning by removing the new keyword:

src/AST/Type.cs(230,25): warning CS0109: The member `CppSharp.AST.PointerType.IsReference' does not hide an inherited member. The new keyword is not required

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@iki.fi>
docs: update build instructions in GettingStarted.md

Update build instructions in GettingStarted.md.

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