From 049ca6de42980748ec1ed12e0b5893f41d07c87a Mon Sep 17 00:00:00 2001 From: sephiroth99 Date: Fri, 25 Sep 2015 23:40:56 -0400 Subject: [PATCH 1/3] Use Clang 3.8 for Linux building. --- xenia-build | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/xenia-build b/xenia-build index 35bfcdc3a..c45cd84ec 100755 --- a/xenia-build +++ b/xenia-build @@ -503,8 +503,8 @@ class BaseBuildCommand(Command): print('ERROR: don\'t know how to build on this platform.') else: # TODO(benvanik): allow gcc? - os.environ['CXX'] = 'clang++' - os.environ['CC'] = 'clang' + os.environ['CXX'] = 'clang++-3.8' + os.environ['CC'] = 'clang-3.8' result = shell_call([ 'make', '-Cbuild/', From 9dfabba583e1bc7dff7ff4f246156ee2e08d4a35 Mon Sep 17 00:00:00 2001 From: sephiroth99 Date: Fri, 25 Sep 2015 23:50:05 -0400 Subject: [PATCH 2/3] Fix compile error uncovered by Clang 3.8. --- src/xenia/cpu/elf_module.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/xenia/cpu/elf_module.h b/src/xenia/cpu/elf_module.h index 859f0fae3..470b9671f 100644 --- a/src/xenia/cpu/elf_module.h +++ b/src/xenia/cpu/elf_module.h @@ -30,7 +30,7 @@ class ElfModule : public xe::cpu::Module { bool loaded() const { return loaded_; } uint32_t entry_point() const { return entry_point_; } - const std::string& name() const { return name_; } + const std::string& name() const override { return name_; } const std::string& path() const { return path_; } bool Load(const std::string& name, const std::string& path, From 030803977917223ad4a725f30337d9e11a9f2090 Mon Sep 17 00:00:00 2001 From: sephiroth99 Date: Sat, 26 Sep 2015 00:17:32 -0400 Subject: [PATCH 3/3] Update Linux section of building.md document. --- building.md | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/building.md b/building.md index 595bc6037..186d992b5 100644 --- a/building.md +++ b/building.md @@ -34,14 +34,13 @@ get helpful spacers/movs in the disassembly. ### Linux -Linux support is extremely experimental and incomplete. +Linux support is extremely experimental and presently incomplete. -Only tested with GCC 4.9 on Ubuntu 14. [CodeLite](http://codelite.org) is the -IDE of choice and `xb premake` will spit out files for that. Make also works via -`xb build`. +The build script uses LLVM/Clang 3.8. GCC should also work, but is not easily +swappable right now. -Currently building requires that CC == CXX == g++. If you know a way around this -(to force .c files to be built with g++) let me know. +[CodeLite](http://codelite.org) is the IDE of choice and `xb premake` will spit +out files for that. Make also works via `xb build`. ## Running