Skip to content

Commit

Permalink
Merge branch 'master' of github.com:aldacron/Derelict3
Browse files Browse the repository at this point in the history
  • Loading branch information
mdparker committed Aug 15, 2012
2 parents 2c607a6 + e8b966b commit 8d3279b
Showing 1 changed file with 55 additions and 35 deletions.
90 changes: 55 additions & 35 deletions build/build.d
Original file line number Diff line number Diff line change
Expand Up @@ -8,16 +8,21 @@ import std.string : format, toUpper, capitalize;

// Output configuration
enum outdir = "../lib/";

enum MajorVersion = "3";
enum MinorVersion = "0";
enum BumpVersion = "0";
enum FullVersion = MajorVersion ~"."~ MinorVersion ~"."~ BumpVersion;
version(Windows)
{
enum prefix = "";
enum extension = ".lib";
version(Shared) enum extension = ".dll";
else enum extension = ".lib";
}
else version(Posix)
{
enum prefix = "lib";
enum extension = ".a";
version(Shared) enum extension = ".so";
else enum extension = ".a";
}
else
{
Expand All @@ -31,26 +36,41 @@ version(DigitalMars)
enum compilerOptions = "-lib -O -release -inline -property -w -wi";
string buildCompileString(string files, string packageName)
{
string libName = format("%s%s%s%s", prefix, "Derelict", packageName, extension);
return format("dmd %s -I../import -of%s%s", compilerOptions, outdir, libName, files);
string libName = "%s%s%s%s".format( prefix, "Derelict", packageName, extension );
version(Shared)
static assert(false, "DMD do not support yet shared library");
else
return format("dmd %s -I../import -of%s%s", compilerOptions, outdir, libName, files);
}
}
else version(GNU)
{
pragma(msg, "Using the GNU GDC compiler.");
enum compilerOptions = "-s -O3 -Wall";
version(Shared)
enum compilerOptions = "-s -O3 -Wall -shared";
else
enum compilerOptions = "-s -O3 -Wall";
string buildCompileString(string files, string packageName)
{
return format("gdc %s -I../import -o %s%s%s%s%s", compilerOptions, outdir, prefix, "Derelict", packageName, extension, files);
string libName = "%s%s%s%s".format( prefix, "Derelict", packageName, extension );
version(Shared)
return format("gdc %s -Xlinker -soname=%s.%s -I../import -o %s%s.%s %s", compilerOptions, libName,MajorVersion, outdir, libName, FullVersion, files);
else
return format("gdc %s -I../import -o %s%s %s", compilerOptions, outdir, libName, files);
}
}
else version(LDC)
{
pragma(msg, "Using the LDC compiler.");
enum compilerOptions = "-lib -O -release -enable-inlining -property -w -wi";
version(Shared) enum compilerOptions = "-shared -O -release -enable-inlining -property -w -wi";
else enum compilerOptions = "-lib -O -release -enable-inlining -property -w -wi";
string buildCompileString(string files, string packageName)
{
return format("ldc2 %s -I../import -of%s%s%s%s%s", compilerOptions, outdir, prefix, "Derelict", packageName, extension, files);
string libName = "%s%s%s%s".format( prefix, "Derelict", packageName, extension );
version(Shared)
return "ldc2 %s -soname=%s.%s -I../import -of%s%s.%s %s".format( compilerOptions, libName, MajorVersion, outdir, libName, FullVersion, files);
else
return format("ldc2 %s -I../import -of%s%sDerelict%s%s %s", compilerOptions, outdir, prefix, packageName, extension, files);
}
}
else
Expand All @@ -60,35 +80,35 @@ else


// Package names
enum packUtil = "Util";
enum packGL3 = "GL3";
enum packGLFW3 = "GLFW3";
enum packIL = "IL";
enum packAL = "AL";
enum packALURE = "ALURE";
enum packFT = "FT";
enum packSDL2 = "SDL2";
enum packODE = "ODE";
enum packUtil = "Util";
enum packGL3 = "GL3";
enum packGLFW3 = "GLFW3";
enum packIL = "IL";
enum packAL = "AL";
enum packALURE = "ALURE";
enum packFT = "FT";
enum packSDL2 = "SDL2";
enum packODE = "ODE";
enum packASSIMP = "ASSIMP";
enum packFG = "FG";
enum packFI = "FI";
enum packSFML2 = "SFML2";
enum packFG = "FG";
enum packFI = "FI";
enum packSFML2 = "SFML2";

// Source paths
enum srcDerelict = "../import/derelict/";
enum srcUtil = srcDerelict ~ "util/";
enum srcGL3 = srcDerelict ~ "opengl3/";
enum srcGLFW3 = srcDerelict ~ "glfw3/";
enum srcIL = srcDerelict ~ "devil/";
enum srcAL = srcDerelict ~ "openal/";
enum srcALURE = srcDerelict ~ "alure/";
enum srcFT = srcDerelict ~ "freetype/";
enum srcSDL2 = srcDerelict ~ "sdl2/";
enum srcODE = srcDerelict ~ "ode/";
enum srcASSIMP = srcDerelict ~ "assimp/";
enum srcFG = srcDerelict ~ "freeglut/";
enum srcFI = srcDerelict ~ "freeimage/";
enum srcSFML2 = srcDerelict ~ "sfml2/";
enum srcDerelict = "../import/derelict/";
enum srcUtil = srcDerelict ~ "util/";
enum srcGL3 = srcDerelict ~ "opengl3/";
enum srcGLFW3 = srcDerelict ~ "glfw3/";
enum srcIL = srcDerelict ~ "devil/";
enum srcAL = srcDerelict ~ "openal/";
enum srcALURE = srcDerelict ~ "alure/";
enum srcFT = srcDerelict ~ "freetype/";
enum srcSDL2 = srcDerelict ~ "sdl2/";
enum srcODE = srcDerelict ~ "ode/";
enum srcASSIMP = srcDerelict ~ "assimp/";
enum srcFG = srcDerelict ~ "freeglut/";
enum srcFI = srcDerelict ~ "freeimage/";
enum srcSFML2 = srcDerelict ~ "sfml2/";

// Map package names to source paths.
string[string] pathMap;
Expand Down

0 comments on commit 8d3279b

Please sign in to comment.