Procházet zdrojové kódy

Changed premake to use toolchain script from bx.

bkaradzic před 13 roky
rodič
revize
f85b001272
1 změnil soubory, kde provedl 2 přidání a 279 odebrání
  1. 2 279
      premake/premake4.lua

+ 2 - 279
premake/premake4.lua

@@ -17,290 +17,13 @@ solution "bgfx"
 
 	language "C++"
 
-newoption {
-	trigger = "gcc",
-	value = "GCC",
-	description = "Choose GCC flavor",
-	allowed = {
-		{ "emscripten", "Emscripten" },
-		{ "linux", "Linux" },
-		{ "mingw", "MinGW" },
-		{ "nacl", "Native Client" },
-		{ "pnacl", "Native Client - PNaCl" },
-	}
-}
-
--- Avoid error when invoking premake4 --help.
-if (_ACTION == nil) then return end
-
 BGFX_DIR = (path.getabsolute("..") .. "/")
 local BGFX_BUILD_DIR = (BGFX_DIR .. ".build/")
 local BGFX_THIRD_PARTY_DIR = (BGFX_DIR .. "3rdparty/")
-
 BX_DIR = (BGFX_DIR .. "../bx/")
 
-local XEDK = os.getenv("XEDK")
-if not XEDK then XEDK = "<you must install XBOX SDK>" end
-
-location (BGFX_BUILD_DIR .. "projects/" .. _ACTION)
-
-if _ACTION == "clean" then
-	os.rmdir(BUILD_DIR)
-end
-
-if _ACTION == "gmake" then
-
-	if nil == _OPTIONS["gcc"] then
-		print("GCC flavor must be specified!")
-		os.exit(1)
-	end
-
-	flags {
-		"ExtraWarnings",
-	}
-
-	if "emscripten" == _OPTIONS["gcc"] then
-
-		if not os.getenv("EMSCRIPTEN") then 
-			print("Set EMSCRIPTEN enviroment variables.")
-		end
-
-		premake.gcc.cc = "$(EMSCRIPTEN)/emcc"
-		premake.gcc.cxx = "$(EMSCRIPTEN)/em++"
-		premake.gcc.ar = "$(EMSCRIPTEN)/emar"
-		location (BGFX_BUILD_DIR .. "projects/" .. _ACTION .. "-emscripten")
-	end
-
-	if "linux" == _OPTIONS["gcc"] then
-		location (BGFX_BUILD_DIR .. "projects/" .. _ACTION .. "-linux")
-	end
-
-	if "mingw" == _OPTIONS["gcc"] then
-		premake.gcc.cc = "$(MINGW)/bin/mingw32-gcc"
-		premake.gcc.cxx = "$(MINGW)/bin/mingw32-g++"
-		premake.gcc.ar = "$(MINGW)/bin/ar"
-		location (BGFX_BUILD_DIR .. "projects/" .. _ACTION .. "-mingw")
-	end
-
-	if "nacl" == _OPTIONS["gcc"] then
-
-		if not os.getenv("NACL") then 
-			print("Set NACL enviroment variables.")
-		end
-
-		premake.gcc.cc = "$(NACL)/bin/x86_64-nacl-gcc"
-		premake.gcc.cxx = "$(NACL)/bin/x86_64-nacl-g++"
-		premake.gcc.ar = "$(NACL)/bin/x86_64-nacl-ar"
-		location (BGFX_BUILD_DIR .. "projects/" .. _ACTION .. "-nacl")
-	end
-
-	if "pnacl" == _OPTIONS["gcc"] then
-
-		if not os.getenv("PNACL") then 
-			print("Set PNACL enviroment variables.")
-		end
-
-		premake.gcc.cc = "$(PNACL)/bin/pnacl-clang"
-		premake.gcc.cxx = "$(PNACL)/bin/pnacl-clang++"
-		premake.gcc.ar = "$(PNACL)/bin/pnacl-ar"
-		location (BGFX_BUILD_DIR .. "projects/" .. _ACTION .. "-pnacl")
-	end
-end
-
-flags {
-	"StaticRuntime",
-	"NoMinimalRebuild",
-	"NoPCH",
-	"NativeWChar",
-	"NoRTTI",
-	"NoExceptions",
-	"NoEditAndContinue",
-	"Symbols",
-}
-
-defines {
-	"__STDC_LIMIT_MACROS",
-	"__STDC_FORMAT_MACROS",
-	"__STDC_CONSTANT_MACROS",
-}
-
-configuration "Debug"
-	targetsuffix "Debug"
-
-configuration "Release"
-	flags {
-		"OptimizeSpeed",
-	}
-	targetsuffix "Release"
-
-configuration { "vs*" }
-	includedirs { BX_DIR .. "include/compat/msvc" }
-	defines {
-		"WIN32",
-		"_WIN32",
-		"_HAS_EXCEPTIONS=0",
-		"_HAS_ITERATOR_DEBUGGING=0",
-		"_SCL_SECURE=0",
-		"_SECURE_SCL=0",
-		"_SCL_SECURE_NO_WARNINGS",
-		"_CRT_SECURE_NO_WARNINGS",
-		"_CRT_SECURE_NO_DEPRECATE",
-	}
-	buildoptions {
-		"/Oy-", -- Suppresses creation of frame pointers on the call stack.
-		"/Ob2", -- The Inline Function Expansion
-	}
-
-configuration { "x32", "vs*" }
-	targetdir (BGFX_BUILD_DIR .. "win32_" .. _ACTION .. "/bin")
-	objdir (BGFX_BUILD_DIR .. "win32_" .. _ACTION .. "/obj")
-	libdirs {
-		BGFX_THIRD_PARTY_DIR .. "lib/win32_" .. _ACTION,
-		"$(DXSDK_DIR)/lib/x86",
-	}
-
-configuration { "x64", "vs*" }
-	defines { "_WIN64" }
-	targetdir (BGFX_BUILD_DIR .. "win64_" .. _ACTION .. "/bin")
-	objdir (BGFX_BUILD_DIR .. "win64_" .. _ACTION .. "/obj")
-	libdirs {
-		BGFX_THIRD_PARTY_DIR .. "lib/win64_" .. _ACTION,
-		"$(DXSDK_DIR)/lib/x64",
-	}
-
-configuration { "mingw" }
-	defines { "WIN32" }
-	includedirs { BX_DIR .. "include/compat/mingw" }
-	buildoptions {
-		"-std=c++0x",
-		"-U__STRICT_ANSI__",
-		"-Wunused-value",
-		"-fdata-sections",
-		"-ffunction-sections",
---		"-fmerge-all-constants"
-	}
-	linkoptions {
-		"-Wl,--gc-sections",
-	}
-
-configuration { "x32", "mingw" }
-	targetdir (BGFX_BUILD_DIR .. "win32_mingw" .. "/bin")
-	objdir (BGFX_BUILD_DIR .. "win32_mingw" .. "/obj")
-	libdirs {
-		BGFX_THIRD_PARTY_DIR .. "lib/win32_mingw",
-		"$(DXSDK_DIR)/lib/x86",
-	}
-	buildoptions { "-m32" }
-
-configuration { "x64", "mingw" }
-	targetdir (BGFX_BUILD_DIR .. "win64_mingw" .. "/bin")
-	objdir (BGFX_BUILD_DIR .. "win64_mingw" .. "/obj")
-	libdirs {
-		BGFX_THIRD_PARTY_DIR .. "lib/win64_mingw",
-		"$(DXSDK_DIR)/lib/x64",
-	}
-	buildoptions { "-m64" }
-
-configuration { "linux" }
-	buildoptions {
-		"-std=c++0x",
-		"-U__STRICT_ANSI__",
-		"-Wunused-value",
-		"-mfpmath=sse", -- force SSE to get 32-bit and 64-bit builds deterministic.
-		"-msse2",
-	}
-	links {
-		"rt",
-	}
-	linkoptions {
-		"-Wl,--gc-sections",
-	}
-
-configuration { "linux", "x32" }
-	targetdir (BGFX_BUILD_DIR .. "linux32_gcc" .. "/bin")
-	objdir (BGFX_BUILD_DIR .. "linux32_gcc" .. "/obj")
-	libdirs { BGFX_THIRD_PARTY_DIR .. "lib/linux32_gcc" }
-	buildoptions {
-		"-m32",
-	}
-
-configuration { "linux", "x64" }
-	targetdir (BGFX_BUILD_DIR .. "linux64_gcc" .. "/bin")
-	objdir (BGFX_BUILD_DIR .. "linux64_gcc" .. "/obj")
-	libdirs { BGFX_THIRD_PARTY_DIR .. "lib/linux64_gcc" }
-	buildoptions {
-		"-m64",
-	}
-
-configuration { "emscripten" }
-	targetdir (BGFX_BUILD_DIR .. "emscripten" .. "/bin")
-	objdir (BGFX_BUILD_DIR .. "emscripten" .. "/obj")
-	libdirs { BGFX_THIRD_PARTY_DIR .. "lib/emscripten" }
-	includedirs { "$(EMSCRIPTEN)/system/include" }
-	buildoptions {
-		"-pthread",
-	}
-
-configuration { "nacl" }
-	defines { "_BSD_SOURCE=1", "_POSIX_C_SOURCE=199506", "_XOPEN_SOURCE=600" }
-	includedirs { BX_DIR .. "include/compat/nacl" }
-	buildoptions {
-		"-std=c++0x",
-		"-U__STRICT_ANSI__",
-		"-pthread",
-		"-fno-stack-protector",
-		"-fdiagnostics-show-option",
-		"-Wunused-value",
-		"-fdata-sections",
-		"-ffunction-sections",
-		"-mfpmath=sse", -- force SSE to get 32-bit and 64-bit builds deterministic.
-		"-msse2",
---		"-fmerge-all-constants",
-	}
-	linkoptions {
-		"-Wl,--gc-sections",
-	}
-
-configuration { "x32", "nacl" }
-	targetdir (BGFX_BUILD_DIR .. "nacl-x86" .. "/bin")
-	objdir (BGFX_BUILD_DIR .. "nacl-x86" .. "/obj")
-	libdirs { BGFX_THIRD_PARTY_DIR .. "lib/nacl-x86" }
-	linkoptions { "-melf32_nacl" }
-
-configuration { "x64", "nacl" }
-	targetdir (BGFX_BUILD_DIR .. "nacl-x64" .. "/bin")
-	objdir (BGFX_BUILD_DIR .. "nacl-x64" .. "/obj")
-	libdirs { BGFX_THIRD_PARTY_DIR .. "lib/nacl-x64" }
-	linkoptions { "-melf64_nacl" }
-
-configuration { "pnacl" }
-	defines { "_BSD_SOURCE=1", "_POSIX_C_SOURCE=199506", "_XOPEN_SOURCE=600", "__native_client__", "__LITTLE_ENDIAN__" }
-	includedirs { BX_DIR .. "include/compat/nacl" }
-	buildoptions {
-		"-std=c++0x",
-		"-U__STRICT_ANSI__",
-		"-fno-stack-protector",
-		"-fdiagnostics-show-option",
-		"-Wunused-value",
-		"-fdata-sections",
-		"-ffunction-sections",
-	}
-	targetdir (BGFX_BUILD_DIR .. "pnacl" .. "/bin")
-	objdir (BGFX_BUILD_DIR .. "pnacl" .. "/obj")
-	libdirs { BGFX_THIRD_PARTY_DIR .. "lib/pnacl" }
-	includedirs { "$(PNACL)/sysroot/include" }
-
-configuration { "Xbox360" }
-	targetdir (BGFX_BUILD_DIR .. "xbox360" .. "/bin")
-	objdir (BGFX_BUILD_DIR .. "xbox360" .. "/obj")
-	includedirs { BX_DIR .. "include/compat/msvc" }
-	libdirs { BGFX_THIRD_PARTY_DIR .. "lib/xbox360" }
-	defines {
-		"NOMINMAX",
-		"_XBOX",
-	}
-
-configuration {} -- reset configuration
+dofile (BX_DIR .. "premake/toolchain.lua")
+toolchain(BGFX_BUILD_DIR, BGFX_THIRD_PARTY_DIR)
 
 function copyLib()
 end