Browse Source

Added amalgamated build.

Branimir Karadžić 8 years ago
parent
commit
a7d088ae9c
4 changed files with 56 additions and 5 deletions
  1. 5 1
      scripts/bin2c.lua
  2. 28 4
      scripts/bx.lua
  3. 5 0
      scripts/genie.lua
  4. 18 0
      src/amalgamated.cpp

+ 5 - 1
scripts/bin2c.lua

@@ -4,7 +4,6 @@
 --
 --
 
 
 project "bin2c"
 project "bin2c"
-	uuid "60eaa654-7d06-11e4-be8e-880965202986"
 	kind "ConsoleApp"
 	kind "ConsoleApp"
 
 
 	includedirs {
 	includedirs {
@@ -23,6 +22,11 @@ project "bin2c"
 	configuration { "mingw-*" }
 	configuration { "mingw-*" }
 		targetextension ".exe"
 		targetextension ".exe"
 
 
+	configuration { "linux-*" }
+		links {
+			"pthread",
+		}
+
 	configuration {}
 	configuration {}
 
 
 	strip()
 	strip()

+ 28 - 4
scripts/bx.lua

@@ -7,13 +7,13 @@ project "bx"
 	kind "StaticLib"
 	kind "StaticLib"
 
 
 	includedirs {
 	includedirs {
-		"../include",
+		path.join(BX_DIR, "include"),
 	}
 	}
 
 
 	files {
 	files {
-		"../include/**.h",
-		"../include/**.inl",
-		"../src/**.cpp",
+		path.join(BX_DIR, "include/**.h"),
+		path.join(BX_DIR, "include/**.inl"),
+		path.join(BX_DIR, "src/**.cpp"),
 	}
 	}
 
 
 	configuration { "linux-*" }
 	configuration { "linux-*" }
@@ -22,3 +22,27 @@ project "bx"
 		}
 		}
 
 
 	configuration {}
 	configuration {}
+
+	if _OPTIONS["with-amalgamated"] then
+		excludes {
+			path.join(BX_DIR, "src/commandline.cpp"),
+			path.join(BX_DIR, "src/crt.cpp"),
+			path.join(BX_DIR, "src/crtimpl.cpp"),
+			path.join(BX_DIR, "src/debug.cpp"),
+			path.join(BX_DIR, "src/dtoa.cpp"),
+			path.join(BX_DIR, "src/fpumath.cpp"),
+			path.join(BX_DIR, "src/mutex.cpp"),
+			path.join(BX_DIR, "src/os.cpp"),
+			path.join(BX_DIR, "src/sem.cpp"),
+			path.join(BX_DIR, "src/sort.cpp"),
+			path.join(BX_DIR, "src/string.cpp"),
+			path.join(BX_DIR, "src/thread.cpp"),
+			path.join(BX_DIR, "src/timer.cpp"),
+		}
+	else
+		excludes {
+			path.join(BX_DIR, "src/amalgamated.**"),
+		}
+	end
+
+	configuration {}

+ 5 - 0
scripts/genie.lua

@@ -3,6 +3,11 @@
 -- License: https://github.com/bkaradzic/bx#license-bsd-2-clause
 -- License: https://github.com/bkaradzic/bx#license-bsd-2-clause
 --
 --
 
 
+newoption {
+	trigger = "with-amalgamated",
+	description = "Enable amalgamated build.",
+}
+
 solution "bx"
 solution "bx"
 	configurations {
 	configurations {
 		"Debug",
 		"Debug",

+ 18 - 0
src/amalgamated.cpp

@@ -0,0 +1,18 @@
+/*
+ *  Copyright 2011-2017 Branimir Karadzic. All rights reserved.
+ *  License: https://github.com/bkaradzic/bgfx#license-bsd-2-clause
+ */
+
+#include "commandline.cpp"
+#include "crt.cpp"
+#include "crtimpl.cpp"
+#include "debug.cpp"
+#include "dtoa.cpp"
+#include "fpumath.cpp"
+#include "mutex.cpp"
+#include "os.cpp"
+#include "sem.cpp"
+#include "sort.cpp"
+#include "string.cpp"
+#include "thread.cpp"
+#include "timer.cpp"