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: 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: 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>
Generator: Remove DriverOptions.Is32Bit

DriverOptions.Is32Bit is used to decide whether to use 4 or 8 byte
pointer size in VTable calculations.

Instead of having a settable Is32Bit property, use
TargetInfo.PointerWidth for this. This allows us to remove the whole
Is32Bit property, and the IS_64_BIT define.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@iki.fi>
Merge pull request #251 from tomba/misc-improvements

Misc improvements
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>
Parser/CppParser: Use installed LLVM config.h

The parsers include clang's private config.h file, which is not present
in the installed LLVM. However, the installed LLVM has
llvm/Config/config.h, which contains the same things that clang's
private config.h contains.

So use the LLVM's public config.h instead, so that we're more ready to
use a real LLVM installation.

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>
docs: update build instructions in GettingStarted.md

Update build instructions in GettingStarted.md.

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>
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>