From 230913d40161f7d9225e67b4b45293125f4c138e Mon Sep 17 00:00:00 2001 From: Jack Andersen Date: Fri, 15 May 2015 12:39:43 -1000 Subject: [PATCH] initial project stubs --- hecl/driver/CDriver.hpp | 4 +++ hecl/driver/COptionsParser.hpp | 4 +++ hecl/driver/driver.pri | 4 +++ hecl/driver/driver.pro | 17 ++++++++++ hecl/driver/main.cpp | 7 ++++ hecl/hecl.pro | 22 +++++++++++++ hecl/include/HECLBackend.hpp | 4 +++ hecl/include/HECLDatabase.hpp | 4 +++ hecl/include/HECLFrontend.hpp | 4 +++ hecl/include/HECLRuntime.hpp | 4 +++ hecl/lib/backend/GLSL/CGLSLFragEmitter.cpp | 0 hecl/lib/backend/GLSL/CGLSLObject.cpp | 0 hecl/lib/backend/GLSL/CGLSLSpec.cpp | 0 hecl/lib/backend/GLSL/CGLSLVertEmitter.cpp | 0 hecl/lib/backend/GX/CGXFragEmitter.cpp | 0 hecl/lib/backend/GX/CGXObject.cpp | 0 hecl/lib/backend/GX/CGXSpec.cpp | 0 hecl/lib/backend/GX/CGXVertEmitter.cpp | 0 .../backend/GX2LLVM/CGX2LLVMFragEmitter.cpp | 0 hecl/lib/backend/GX2LLVM/CGX2LLVMObject.cpp | 0 hecl/lib/backend/GX2LLVM/CGX2LLVMSpec.cpp | 0 .../backend/GX2LLVM/CGX2LLVMVertEmitter.cpp | 0 hecl/lib/backend/HECLBackend.cpp | 0 hecl/lib/backend/HLSL/CHLSLFragEmitter.cpp | 0 hecl/lib/backend/HLSL/CHLSLObject.cpp | 0 hecl/lib/backend/HLSL/CHLSLSpec.cpp | 0 hecl/lib/backend/HLSL/CHLSLVertEmitter.cpp | 0 hecl/lib/backend/IBackendFragEmitter.hpp | 4 +++ hecl/lib/backend/IBackendObject.hpp | 4 +++ hecl/lib/backend/IBackendSpec.hpp | 4 +++ hecl/lib/backend/IBackendVertEmitter.hpp | 4 +++ hecl/lib/backend/VSPIR/CVSPIRFragEmitter.cpp | 0 hecl/lib/backend/VSPIR/CVSPIRObject.cpp | 0 hecl/lib/backend/VSPIR/CVSPIRSpec.cpp | 0 hecl/lib/backend/VSPIR/CVSPIRVertEmitter.cpp | 0 hecl/lib/backend/backend.pri | 33 +++++++++++++++++++ hecl/lib/database/CDataObject.cpp | 0 hecl/lib/database/CObjectStoreDir.cpp | 0 hecl/lib/database/CObjectStorePacked.cpp | 0 hecl/lib/database/HECLDatabase.cpp | 0 hecl/lib/database/IObjectStore.hpp | 4 +++ hecl/lib/database/database.pri | 8 +++++ hecl/lib/frontend/CHECLIR.cpp | 0 hecl/lib/frontend/CHECLLexer.cpp | 0 hecl/lib/frontend/expr/CExprAdd.hpp | 4 +++ hecl/lib/frontend/expr/CExprBase.hpp | 4 +++ hecl/lib/frontend/expr/CExprCall.hpp | 4 +++ hecl/lib/frontend/expr/CExprGroup.hpp | 4 +++ hecl/lib/frontend/expr/CExprLighting.hpp | 4 +++ hecl/lib/frontend/expr/CExprMul.hpp | 4 +++ hecl/lib/frontend/expr/CExprRoot.hpp | 4 +++ hecl/lib/frontend/expr/CExprSub.hpp | 4 +++ hecl/lib/frontend/expr/CExprTexture.hpp | 4 +++ hecl/lib/frontend/expr/CExprTextureGather.hpp | 4 +++ hecl/lib/frontend/expr/expr.hpp | 15 +++++++++ hecl/lib/frontend/frontend.pri | 16 +++++++++ hecl/lib/lib.pro | 13 ++++++++ hecl/lib/runtime/D3D11/CD3D11RuntimeCache.cpp | 0 .../lib/runtime/D3D11/CD3D11RuntimeObject.cpp | 0 hecl/lib/runtime/D3D11/CD3D11RuntimeSpec.cpp | 0 hecl/lib/runtime/GX/CGXRuntimeCache.cpp | 0 hecl/lib/runtime/GX/CGXRuntimeObject.cpp | 0 hecl/lib/runtime/GX/CGXRuntimeSpec.cpp | 0 hecl/lib/runtime/GX2/CGX2RuntimeCache.cpp | 0 hecl/lib/runtime/GX2/CGX2RuntimeObject.cpp | 0 hecl/lib/runtime/GX2/CGX2RuntimeSpec.cpp | 0 hecl/lib/runtime/HECLRuntime.cpp | 0 hecl/lib/runtime/IRuntimeCache.hpp | 4 +++ hecl/lib/runtime/IRuntimeObject.hpp | 4 +++ hecl/lib/runtime/IRuntimeSpec.hpp | 4 +++ hecl/lib/runtime/Metal/CMetalRuntimeCache.cpp | 0 .../lib/runtime/Metal/CMetalRuntimeObject.cpp | 0 hecl/lib/runtime/Metal/CMetalRuntimeSpec.cpp | 0 hecl/lib/runtime/OGL3/COGL3RuntimeCache.cpp | 0 hecl/lib/runtime/OGL3/COGL3RuntimeObject.cpp | 0 hecl/lib/runtime/OGL3/COGL3RuntimeSpec.cpp | 0 .../lib/runtime/Vulkan/CMetalRuntimeCache.cpp | 0 .../runtime/Vulkan/CMetalRuntimeObject.cpp | 0 hecl/lib/runtime/Vulkan/CMetalRuntimeSpec.cpp | 0 hecl/lib/runtime/runtime.pri | 25 ++++++++++++++ 80 files changed, 256 insertions(+) create mode 100644 hecl/driver/CDriver.hpp create mode 100644 hecl/driver/COptionsParser.hpp create mode 100644 hecl/driver/driver.pri create mode 100644 hecl/driver/driver.pro create mode 100644 hecl/driver/main.cpp create mode 100644 hecl/hecl.pro create mode 100644 hecl/include/HECLBackend.hpp create mode 100644 hecl/include/HECLDatabase.hpp create mode 100644 hecl/include/HECLFrontend.hpp create mode 100644 hecl/include/HECLRuntime.hpp create mode 100644 hecl/lib/backend/GLSL/CGLSLFragEmitter.cpp create mode 100644 hecl/lib/backend/GLSL/CGLSLObject.cpp create mode 100644 hecl/lib/backend/GLSL/CGLSLSpec.cpp create mode 100644 hecl/lib/backend/GLSL/CGLSLVertEmitter.cpp create mode 100644 hecl/lib/backend/GX/CGXFragEmitter.cpp create mode 100644 hecl/lib/backend/GX/CGXObject.cpp create mode 100644 hecl/lib/backend/GX/CGXSpec.cpp create mode 100644 hecl/lib/backend/GX/CGXVertEmitter.cpp create mode 100644 hecl/lib/backend/GX2LLVM/CGX2LLVMFragEmitter.cpp create mode 100644 hecl/lib/backend/GX2LLVM/CGX2LLVMObject.cpp create mode 100644 hecl/lib/backend/GX2LLVM/CGX2LLVMSpec.cpp create mode 100644 hecl/lib/backend/GX2LLVM/CGX2LLVMVertEmitter.cpp create mode 100644 hecl/lib/backend/HECLBackend.cpp create mode 100644 hecl/lib/backend/HLSL/CHLSLFragEmitter.cpp create mode 100644 hecl/lib/backend/HLSL/CHLSLObject.cpp create mode 100644 hecl/lib/backend/HLSL/CHLSLSpec.cpp create mode 100644 hecl/lib/backend/HLSL/CHLSLVertEmitter.cpp create mode 100644 hecl/lib/backend/IBackendFragEmitter.hpp create mode 100644 hecl/lib/backend/IBackendObject.hpp create mode 100644 hecl/lib/backend/IBackendSpec.hpp create mode 100644 hecl/lib/backend/IBackendVertEmitter.hpp create mode 100644 hecl/lib/backend/VSPIR/CVSPIRFragEmitter.cpp create mode 100644 hecl/lib/backend/VSPIR/CVSPIRObject.cpp create mode 100644 hecl/lib/backend/VSPIR/CVSPIRSpec.cpp create mode 100644 hecl/lib/backend/VSPIR/CVSPIRVertEmitter.cpp create mode 100644 hecl/lib/backend/backend.pri create mode 100644 hecl/lib/database/CDataObject.cpp create mode 100644 hecl/lib/database/CObjectStoreDir.cpp create mode 100644 hecl/lib/database/CObjectStorePacked.cpp create mode 100644 hecl/lib/database/HECLDatabase.cpp create mode 100644 hecl/lib/database/IObjectStore.hpp create mode 100644 hecl/lib/database/database.pri create mode 100644 hecl/lib/frontend/CHECLIR.cpp create mode 100644 hecl/lib/frontend/CHECLLexer.cpp create mode 100644 hecl/lib/frontend/expr/CExprAdd.hpp create mode 100644 hecl/lib/frontend/expr/CExprBase.hpp create mode 100644 hecl/lib/frontend/expr/CExprCall.hpp create mode 100644 hecl/lib/frontend/expr/CExprGroup.hpp create mode 100644 hecl/lib/frontend/expr/CExprLighting.hpp create mode 100644 hecl/lib/frontend/expr/CExprMul.hpp create mode 100644 hecl/lib/frontend/expr/CExprRoot.hpp create mode 100644 hecl/lib/frontend/expr/CExprSub.hpp create mode 100644 hecl/lib/frontend/expr/CExprTexture.hpp create mode 100644 hecl/lib/frontend/expr/CExprTextureGather.hpp create mode 100644 hecl/lib/frontend/expr/expr.hpp create mode 100644 hecl/lib/frontend/frontend.pri create mode 100644 hecl/lib/lib.pro create mode 100644 hecl/lib/runtime/D3D11/CD3D11RuntimeCache.cpp create mode 100644 hecl/lib/runtime/D3D11/CD3D11RuntimeObject.cpp create mode 100644 hecl/lib/runtime/D3D11/CD3D11RuntimeSpec.cpp create mode 100644 hecl/lib/runtime/GX/CGXRuntimeCache.cpp create mode 100644 hecl/lib/runtime/GX/CGXRuntimeObject.cpp create mode 100644 hecl/lib/runtime/GX/CGXRuntimeSpec.cpp create mode 100644 hecl/lib/runtime/GX2/CGX2RuntimeCache.cpp create mode 100644 hecl/lib/runtime/GX2/CGX2RuntimeObject.cpp create mode 100644 hecl/lib/runtime/GX2/CGX2RuntimeSpec.cpp create mode 100644 hecl/lib/runtime/HECLRuntime.cpp create mode 100644 hecl/lib/runtime/IRuntimeCache.hpp create mode 100644 hecl/lib/runtime/IRuntimeObject.hpp create mode 100644 hecl/lib/runtime/IRuntimeSpec.hpp create mode 100644 hecl/lib/runtime/Metal/CMetalRuntimeCache.cpp create mode 100644 hecl/lib/runtime/Metal/CMetalRuntimeObject.cpp create mode 100644 hecl/lib/runtime/Metal/CMetalRuntimeSpec.cpp create mode 100644 hecl/lib/runtime/OGL3/COGL3RuntimeCache.cpp create mode 100644 hecl/lib/runtime/OGL3/COGL3RuntimeObject.cpp create mode 100644 hecl/lib/runtime/OGL3/COGL3RuntimeSpec.cpp create mode 100644 hecl/lib/runtime/Vulkan/CMetalRuntimeCache.cpp create mode 100644 hecl/lib/runtime/Vulkan/CMetalRuntimeObject.cpp create mode 100644 hecl/lib/runtime/Vulkan/CMetalRuntimeSpec.cpp create mode 100644 hecl/lib/runtime/runtime.pri diff --git a/hecl/driver/CDriver.hpp b/hecl/driver/CDriver.hpp new file mode 100644 index 000000000..b1c7d8920 --- /dev/null +++ b/hecl/driver/CDriver.hpp @@ -0,0 +1,4 @@ +#ifndef CDRIVER_HPP +#define CDRIVER_HPP + +#endif // CDRIVER_HPP diff --git a/hecl/driver/COptionsParser.hpp b/hecl/driver/COptionsParser.hpp new file mode 100644 index 000000000..4273c7221 --- /dev/null +++ b/hecl/driver/COptionsParser.hpp @@ -0,0 +1,4 @@ +#ifndef COPTIONSPARSER_HPP +#define COPTIONSPARSER_HPP + +#endif // COPTIONSPARSER_HPP diff --git a/hecl/driver/driver.pri b/hecl/driver/driver.pri new file mode 100644 index 000000000..48d1274ca --- /dev/null +++ b/hecl/driver/driver.pri @@ -0,0 +1,4 @@ +SOURCES += \ + $$PWD/CDriver.cpp \ + $$PWD/COptionsParser.cpp \ + $$PWD/main.cpp diff --git a/hecl/driver/driver.pro b/hecl/driver/driver.pro new file mode 100644 index 000000000..c2a2b5994 --- /dev/null +++ b/hecl/driver/driver.pro @@ -0,0 +1,17 @@ +TARGET = hecl +CONFIG -= Qt +QT = +LIBS -= -lQtGui -lQtCore +unix:QMAKE_CXXFLAGS += -std=c++11 -stdlib=libc++ +unix:!macx:LIBS += -std=c++11 -stdlib=libc++ -lc++abi + +LIBPATH += $$OUT_PWD/../lib +LIBS += -lhecl + +SOURCES += \ + $$PWD/main.cpp + +HEADERS += \ + COptionsParser.hpp \ + CDriver.hpp + diff --git a/hecl/driver/main.cpp b/hecl/driver/main.cpp new file mode 100644 index 000000000..6b6fdfe78 --- /dev/null +++ b/hecl/driver/main.cpp @@ -0,0 +1,7 @@ +#include + +int main(int argc, char** argv) +{ + printf("Hello World!\n"); + return 0; +} diff --git a/hecl/hecl.pro b/hecl/hecl.pro new file mode 100644 index 000000000..3180cea7f --- /dev/null +++ b/hecl/hecl.pro @@ -0,0 +1,22 @@ +TEMPLATE = subdirs + +# Enable building with LLVM dependencies +exists ($$PWD/llvm) { + LLVMROOT = $$PWD/llvm +} +!isEmpty(LLVMROOT) { + message("Configuring for LLVM backends using '$$LLVMROOT'") + DEFINES += HECL_LLVM=1 +} + +HEADERS += \ + include/HECLBackend.hpp \ + include/HECLDatabase.hpp \ + include/HECLFrontend.hpp \ + include/HECLRuntime.hpp + +SUBDIRS += \ + lib \ + driver + +driver.depends = lib diff --git a/hecl/include/HECLBackend.hpp b/hecl/include/HECLBackend.hpp new file mode 100644 index 000000000..93fbfa49f --- /dev/null +++ b/hecl/include/HECLBackend.hpp @@ -0,0 +1,4 @@ +#ifndef HECLBACKEND_HPP +#define HECLBACKEND_HPP + +#endif // HECLBACKEND_HPP diff --git a/hecl/include/HECLDatabase.hpp b/hecl/include/HECLDatabase.hpp new file mode 100644 index 000000000..26974ee08 --- /dev/null +++ b/hecl/include/HECLDatabase.hpp @@ -0,0 +1,4 @@ +#ifndef HECLDATABASE_HPP +#define HECLDATABASE_HPP + +#endif // HECLDATABASE_HPP diff --git a/hecl/include/HECLFrontend.hpp b/hecl/include/HECLFrontend.hpp new file mode 100644 index 000000000..6fdf15cdf --- /dev/null +++ b/hecl/include/HECLFrontend.hpp @@ -0,0 +1,4 @@ +#ifndef HECLFRONTEND_HPP +#define HECLFRONTEND_HPP + +#endif // HECLFRONTEND_HPP diff --git a/hecl/include/HECLRuntime.hpp b/hecl/include/HECLRuntime.hpp new file mode 100644 index 000000000..9453c0530 --- /dev/null +++ b/hecl/include/HECLRuntime.hpp @@ -0,0 +1,4 @@ +#ifndef HECLRUNTIME_HPP +#define HECLRUNTIME_HPP + +#endif // HECLRUNTIME_HPP diff --git a/hecl/lib/backend/GLSL/CGLSLFragEmitter.cpp b/hecl/lib/backend/GLSL/CGLSLFragEmitter.cpp new file mode 100644 index 000000000..e69de29bb diff --git a/hecl/lib/backend/GLSL/CGLSLObject.cpp b/hecl/lib/backend/GLSL/CGLSLObject.cpp new file mode 100644 index 000000000..e69de29bb diff --git a/hecl/lib/backend/GLSL/CGLSLSpec.cpp b/hecl/lib/backend/GLSL/CGLSLSpec.cpp new file mode 100644 index 000000000..e69de29bb diff --git a/hecl/lib/backend/GLSL/CGLSLVertEmitter.cpp b/hecl/lib/backend/GLSL/CGLSLVertEmitter.cpp new file mode 100644 index 000000000..e69de29bb diff --git a/hecl/lib/backend/GX/CGXFragEmitter.cpp b/hecl/lib/backend/GX/CGXFragEmitter.cpp new file mode 100644 index 000000000..e69de29bb diff --git a/hecl/lib/backend/GX/CGXObject.cpp b/hecl/lib/backend/GX/CGXObject.cpp new file mode 100644 index 000000000..e69de29bb diff --git a/hecl/lib/backend/GX/CGXSpec.cpp b/hecl/lib/backend/GX/CGXSpec.cpp new file mode 100644 index 000000000..e69de29bb diff --git a/hecl/lib/backend/GX/CGXVertEmitter.cpp b/hecl/lib/backend/GX/CGXVertEmitter.cpp new file mode 100644 index 000000000..e69de29bb diff --git a/hecl/lib/backend/GX2LLVM/CGX2LLVMFragEmitter.cpp b/hecl/lib/backend/GX2LLVM/CGX2LLVMFragEmitter.cpp new file mode 100644 index 000000000..e69de29bb diff --git a/hecl/lib/backend/GX2LLVM/CGX2LLVMObject.cpp b/hecl/lib/backend/GX2LLVM/CGX2LLVMObject.cpp new file mode 100644 index 000000000..e69de29bb diff --git a/hecl/lib/backend/GX2LLVM/CGX2LLVMSpec.cpp b/hecl/lib/backend/GX2LLVM/CGX2LLVMSpec.cpp new file mode 100644 index 000000000..e69de29bb diff --git a/hecl/lib/backend/GX2LLVM/CGX2LLVMVertEmitter.cpp b/hecl/lib/backend/GX2LLVM/CGX2LLVMVertEmitter.cpp new file mode 100644 index 000000000..e69de29bb diff --git a/hecl/lib/backend/HECLBackend.cpp b/hecl/lib/backend/HECLBackend.cpp new file mode 100644 index 000000000..e69de29bb diff --git a/hecl/lib/backend/HLSL/CHLSLFragEmitter.cpp b/hecl/lib/backend/HLSL/CHLSLFragEmitter.cpp new file mode 100644 index 000000000..e69de29bb diff --git a/hecl/lib/backend/HLSL/CHLSLObject.cpp b/hecl/lib/backend/HLSL/CHLSLObject.cpp new file mode 100644 index 000000000..e69de29bb diff --git a/hecl/lib/backend/HLSL/CHLSLSpec.cpp b/hecl/lib/backend/HLSL/CHLSLSpec.cpp new file mode 100644 index 000000000..e69de29bb diff --git a/hecl/lib/backend/HLSL/CHLSLVertEmitter.cpp b/hecl/lib/backend/HLSL/CHLSLVertEmitter.cpp new file mode 100644 index 000000000..e69de29bb diff --git a/hecl/lib/backend/IBackendFragEmitter.hpp b/hecl/lib/backend/IBackendFragEmitter.hpp new file mode 100644 index 000000000..63e685e63 --- /dev/null +++ b/hecl/lib/backend/IBackendFragEmitter.hpp @@ -0,0 +1,4 @@ +#ifndef IBACKENDFRAGEMITTER_HPP +#define IBACKENDFRAGEMITTER_HPP + +#endif // IBACKENDFRAGEMITTER_HPP diff --git a/hecl/lib/backend/IBackendObject.hpp b/hecl/lib/backend/IBackendObject.hpp new file mode 100644 index 000000000..09ed56102 --- /dev/null +++ b/hecl/lib/backend/IBackendObject.hpp @@ -0,0 +1,4 @@ +#ifndef IBACKENDOBJECT_HPP +#define IBACKENDOBJECT_HPP + +#endif // IBACKENDOBJECT_HPP diff --git a/hecl/lib/backend/IBackendSpec.hpp b/hecl/lib/backend/IBackendSpec.hpp new file mode 100644 index 000000000..9c6539e26 --- /dev/null +++ b/hecl/lib/backend/IBackendSpec.hpp @@ -0,0 +1,4 @@ +#ifndef IBACKENDSPEC_HPP +#define IBACKENDSPEC_HPP + +#endif // IBACKENDSPEC_HPP diff --git a/hecl/lib/backend/IBackendVertEmitter.hpp b/hecl/lib/backend/IBackendVertEmitter.hpp new file mode 100644 index 000000000..76434b849 --- /dev/null +++ b/hecl/lib/backend/IBackendVertEmitter.hpp @@ -0,0 +1,4 @@ +#ifndef IBACKENDVERTEMITTER_HPP +#define IBACKENDVERTEMITTER_HPP + +#endif // IBACKENDVERTEMITTER_HPP diff --git a/hecl/lib/backend/VSPIR/CVSPIRFragEmitter.cpp b/hecl/lib/backend/VSPIR/CVSPIRFragEmitter.cpp new file mode 100644 index 000000000..e69de29bb diff --git a/hecl/lib/backend/VSPIR/CVSPIRObject.cpp b/hecl/lib/backend/VSPIR/CVSPIRObject.cpp new file mode 100644 index 000000000..e69de29bb diff --git a/hecl/lib/backend/VSPIR/CVSPIRSpec.cpp b/hecl/lib/backend/VSPIR/CVSPIRSpec.cpp new file mode 100644 index 000000000..e69de29bb diff --git a/hecl/lib/backend/VSPIR/CVSPIRVertEmitter.cpp b/hecl/lib/backend/VSPIR/CVSPIRVertEmitter.cpp new file mode 100644 index 000000000..e69de29bb diff --git a/hecl/lib/backend/backend.pri b/hecl/lib/backend/backend.pri new file mode 100644 index 000000000..b7318f802 --- /dev/null +++ b/hecl/lib/backend/backend.pri @@ -0,0 +1,33 @@ +HEADERS += \ + $$PWD/IBackendFragEmitter.hpp \ + $$PWD/IBackendObject.hpp \ + $$PWD/IBackendSpec.hpp \ + $$PWD/IBackendVertEmitter.hpp + +SOURCES += \ + $$PWD/GLSL/CGLSLFragEmitter.cpp \ + $$PWD/GLSL/CGLSLObject.cpp \ + $$PWD/GLSL/CGLSLSpec.cpp \ + $$PWD/GLSL/CGLSLVertEmitter.cpp \ + $$PWD/GX/CGXFragEmitter.cpp \ + $$PWD/GX/CGXObject.cpp \ + $$PWD/GX/CGXSpec.cpp \ + $$PWD/GX/CGXVertEmitter.cpp \ + $$PWD/HLSL/CHLSLFragEmitter.cpp \ + $$PWD/HLSL/CHLSLObject.cpp \ + $$PWD/HLSL/CHLSLSpec.cpp \ + $$PWD/HLSL/CHLSLVertEmitter.cpp \ + $$PWD/VSPIR/CVSPIRFragEmitter.cpp \ + $$PWD/VSPIR/CVSPIRObject.cpp \ + $$PWD/VSPIR/CVSPIRSpec.cpp \ + $$PWD/VSPIR/CVSPIRVertEmitter.cpp \ + $$PWD/HECLBackend.cpp + +!isEmpty(LLVMROOT) { + message("Added GX2 Backend") +SOURCES += \ + $$PWD/GX2LLVM/CGX2LLVMFragEmitter.cpp \ + $$PWD/GX2LLVM/CGX2LLVMObject.cpp \ + $$PWD/GX2LLVM/CGX2LLVMSpec.cpp \ + $$PWD/GX2LLVM/CGX2LLVMVertEmitter.cpp +} diff --git a/hecl/lib/database/CDataObject.cpp b/hecl/lib/database/CDataObject.cpp new file mode 100644 index 000000000..e69de29bb diff --git a/hecl/lib/database/CObjectStoreDir.cpp b/hecl/lib/database/CObjectStoreDir.cpp new file mode 100644 index 000000000..e69de29bb diff --git a/hecl/lib/database/CObjectStorePacked.cpp b/hecl/lib/database/CObjectStorePacked.cpp new file mode 100644 index 000000000..e69de29bb diff --git a/hecl/lib/database/HECLDatabase.cpp b/hecl/lib/database/HECLDatabase.cpp new file mode 100644 index 000000000..e69de29bb diff --git a/hecl/lib/database/IObjectStore.hpp b/hecl/lib/database/IObjectStore.hpp new file mode 100644 index 000000000..3ad2090b8 --- /dev/null +++ b/hecl/lib/database/IObjectStore.hpp @@ -0,0 +1,4 @@ +#ifndef IOBJECTSTORE_HPP +#define IOBJECTSTORE_HPP + +#endif // IOBJECTSTORE_HPP diff --git a/hecl/lib/database/database.pri b/hecl/lib/database/database.pri new file mode 100644 index 000000000..63a472897 --- /dev/null +++ b/hecl/lib/database/database.pri @@ -0,0 +1,8 @@ +HEADERS += \ + $$PWD/IObjectStore.hpp + +SOURCES += \ + $$PWD/CDataObject.cpp \ + $$PWD/CObjectStoreDir.cpp \ + $$PWD/CObjectStorePacked.cpp \ + $$PWD/HECLDatabase.cpp diff --git a/hecl/lib/frontend/CHECLIR.cpp b/hecl/lib/frontend/CHECLIR.cpp new file mode 100644 index 000000000..e69de29bb diff --git a/hecl/lib/frontend/CHECLLexer.cpp b/hecl/lib/frontend/CHECLLexer.cpp new file mode 100644 index 000000000..e69de29bb diff --git a/hecl/lib/frontend/expr/CExprAdd.hpp b/hecl/lib/frontend/expr/CExprAdd.hpp new file mode 100644 index 000000000..92eb36beb --- /dev/null +++ b/hecl/lib/frontend/expr/CExprAdd.hpp @@ -0,0 +1,4 @@ +#ifndef CEXPRADD_HPP +#define CEXPRADD_HPP + +#endif // CEXPRADD_HPP diff --git a/hecl/lib/frontend/expr/CExprBase.hpp b/hecl/lib/frontend/expr/CExprBase.hpp new file mode 100644 index 000000000..0a0f1d2ba --- /dev/null +++ b/hecl/lib/frontend/expr/CExprBase.hpp @@ -0,0 +1,4 @@ +#ifndef CEXPRBASE_HPP +#define CEXPRBASE_HPP + +#endif // CEXPRBASE_HPP diff --git a/hecl/lib/frontend/expr/CExprCall.hpp b/hecl/lib/frontend/expr/CExprCall.hpp new file mode 100644 index 000000000..83d449807 --- /dev/null +++ b/hecl/lib/frontend/expr/CExprCall.hpp @@ -0,0 +1,4 @@ +#ifndef CEXPRCALL_HPP +#define CEXPRCALL_HPP + +#endif // CEXPRCALL_HPP diff --git a/hecl/lib/frontend/expr/CExprGroup.hpp b/hecl/lib/frontend/expr/CExprGroup.hpp new file mode 100644 index 000000000..dabec847e --- /dev/null +++ b/hecl/lib/frontend/expr/CExprGroup.hpp @@ -0,0 +1,4 @@ +#ifndef CEXPRGROUP_HPP +#define CEXPRGROUP_HPP + +#endif // CEXPRGROUP_HPP diff --git a/hecl/lib/frontend/expr/CExprLighting.hpp b/hecl/lib/frontend/expr/CExprLighting.hpp new file mode 100644 index 000000000..8d1c355d9 --- /dev/null +++ b/hecl/lib/frontend/expr/CExprLighting.hpp @@ -0,0 +1,4 @@ +#ifndef CEXPRLIGHTING_HPP +#define CEXPRLIGHTING_HPP + +#endif // CEXPRLIGHTING_HPP diff --git a/hecl/lib/frontend/expr/CExprMul.hpp b/hecl/lib/frontend/expr/CExprMul.hpp new file mode 100644 index 000000000..5a10c917f --- /dev/null +++ b/hecl/lib/frontend/expr/CExprMul.hpp @@ -0,0 +1,4 @@ +#ifndef CEXPRMUL_HPP +#define CEXPRMUL_HPP + +#endif // CEXPRMUL_HPP diff --git a/hecl/lib/frontend/expr/CExprRoot.hpp b/hecl/lib/frontend/expr/CExprRoot.hpp new file mode 100644 index 000000000..e052e26b2 --- /dev/null +++ b/hecl/lib/frontend/expr/CExprRoot.hpp @@ -0,0 +1,4 @@ +#ifndef CEXPRROOT_HPP +#define CEXPRROOT_HPP + +#endif // CEXPRROOT_HPP diff --git a/hecl/lib/frontend/expr/CExprSub.hpp b/hecl/lib/frontend/expr/CExprSub.hpp new file mode 100644 index 000000000..22f350b20 --- /dev/null +++ b/hecl/lib/frontend/expr/CExprSub.hpp @@ -0,0 +1,4 @@ +#ifndef CEXPRSUB_HPP +#define CEXPRSUB_HPP + +#endif // CEXPRSUB_HPP diff --git a/hecl/lib/frontend/expr/CExprTexture.hpp b/hecl/lib/frontend/expr/CExprTexture.hpp new file mode 100644 index 000000000..06c286c66 --- /dev/null +++ b/hecl/lib/frontend/expr/CExprTexture.hpp @@ -0,0 +1,4 @@ +#ifndef CEXPRTEXTURE_HPP +#define CEXPRTEXTURE_HPP + +#endif // CEXPRTEXTURE_HPP diff --git a/hecl/lib/frontend/expr/CExprTextureGather.hpp b/hecl/lib/frontend/expr/CExprTextureGather.hpp new file mode 100644 index 000000000..7ae870676 --- /dev/null +++ b/hecl/lib/frontend/expr/CExprTextureGather.hpp @@ -0,0 +1,4 @@ +#ifndef CEXPRTEXTUREGATHER_HPP +#define CEXPRTEXTUREGATHER_HPP + +#endif // CEXPRTEXTUREGATHER_HPP diff --git a/hecl/lib/frontend/expr/expr.hpp b/hecl/lib/frontend/expr/expr.hpp new file mode 100644 index 000000000..55d08b8ae --- /dev/null +++ b/hecl/lib/frontend/expr/expr.hpp @@ -0,0 +1,15 @@ +#ifndef EXPR_HPP +#define EXPR_HPP + +#include "CExprBase.hpp" +#include "CExprRoot.hpp" +#include "CExprCall.hpp" +#include "CExprGroup.hpp" +#include "CExprMul.hpp" +#include "CExprAdd.hpp" +#include "CExprSub.hpp" +#include "CExprTexture.hpp" +#include "CExprTextureGather.hpp" +#include "CExprLighting.hpp" + +#endif // EXPR_HPP diff --git a/hecl/lib/frontend/frontend.pri b/hecl/lib/frontend/frontend.pri new file mode 100644 index 000000000..9656a1067 --- /dev/null +++ b/hecl/lib/frontend/frontend.pri @@ -0,0 +1,16 @@ +HEADERS += \ + $$PWD/expr/CExprAdd.hpp \ + $$PWD/expr/CExprBase.hpp \ + $$PWD/expr/CExprCall.hpp \ + $$PWD/expr/CExprGroup.hpp \ + $$PWD/expr/CExprLighting.hpp \ + $$PWD/expr/CExprMul.hpp \ + $$PWD/expr/CExprRoot.hpp \ + $$PWD/expr/CExprSub.hpp \ + $$PWD/expr/CExprTexture.hpp \ + $$PWD/expr/CExprTextureGather.hpp \ + $$PWD/expr/expr.hpp + +SOURCES += \ + $$PWD/CHECLIR.cpp \ + $$PWD/CHECLLexer.cpp diff --git a/hecl/lib/lib.pro b/hecl/lib/lib.pro new file mode 100644 index 000000000..5e1bc9c6d --- /dev/null +++ b/hecl/lib/lib.pro @@ -0,0 +1,13 @@ +TEMPLATE = lib +CONFIG += staticlib +TARGET = hecl +CONFIG -= Qt +QT = +unix:QMAKE_CXXFLAGS += -std=c++11 -stdlib=libc++ + +INCLUDEPATH += $$PWD + +include (frontend/frontend.pri) +include (backend/backend.pri) +include (database/database.pri) +include (runtime/runtime.pri) diff --git a/hecl/lib/runtime/D3D11/CD3D11RuntimeCache.cpp b/hecl/lib/runtime/D3D11/CD3D11RuntimeCache.cpp new file mode 100644 index 000000000..e69de29bb diff --git a/hecl/lib/runtime/D3D11/CD3D11RuntimeObject.cpp b/hecl/lib/runtime/D3D11/CD3D11RuntimeObject.cpp new file mode 100644 index 000000000..e69de29bb diff --git a/hecl/lib/runtime/D3D11/CD3D11RuntimeSpec.cpp b/hecl/lib/runtime/D3D11/CD3D11RuntimeSpec.cpp new file mode 100644 index 000000000..e69de29bb diff --git a/hecl/lib/runtime/GX/CGXRuntimeCache.cpp b/hecl/lib/runtime/GX/CGXRuntimeCache.cpp new file mode 100644 index 000000000..e69de29bb diff --git a/hecl/lib/runtime/GX/CGXRuntimeObject.cpp b/hecl/lib/runtime/GX/CGXRuntimeObject.cpp new file mode 100644 index 000000000..e69de29bb diff --git a/hecl/lib/runtime/GX/CGXRuntimeSpec.cpp b/hecl/lib/runtime/GX/CGXRuntimeSpec.cpp new file mode 100644 index 000000000..e69de29bb diff --git a/hecl/lib/runtime/GX2/CGX2RuntimeCache.cpp b/hecl/lib/runtime/GX2/CGX2RuntimeCache.cpp new file mode 100644 index 000000000..e69de29bb diff --git a/hecl/lib/runtime/GX2/CGX2RuntimeObject.cpp b/hecl/lib/runtime/GX2/CGX2RuntimeObject.cpp new file mode 100644 index 000000000..e69de29bb diff --git a/hecl/lib/runtime/GX2/CGX2RuntimeSpec.cpp b/hecl/lib/runtime/GX2/CGX2RuntimeSpec.cpp new file mode 100644 index 000000000..e69de29bb diff --git a/hecl/lib/runtime/HECLRuntime.cpp b/hecl/lib/runtime/HECLRuntime.cpp new file mode 100644 index 000000000..e69de29bb diff --git a/hecl/lib/runtime/IRuntimeCache.hpp b/hecl/lib/runtime/IRuntimeCache.hpp new file mode 100644 index 000000000..50e3bacfb --- /dev/null +++ b/hecl/lib/runtime/IRuntimeCache.hpp @@ -0,0 +1,4 @@ +#ifndef IRUNTIMECACHE_HPP +#define IRUNTIMECACHE_HPP + +#endif // IRUNTIMECACHE_HPP diff --git a/hecl/lib/runtime/IRuntimeObject.hpp b/hecl/lib/runtime/IRuntimeObject.hpp new file mode 100644 index 000000000..56ba2c7eb --- /dev/null +++ b/hecl/lib/runtime/IRuntimeObject.hpp @@ -0,0 +1,4 @@ +#ifndef IRUNTIMEOBJECT_HPP +#define IRUNTIMEOBJECT_HPP + +#endif // IRUNTIMEOBJECT_HPP diff --git a/hecl/lib/runtime/IRuntimeSpec.hpp b/hecl/lib/runtime/IRuntimeSpec.hpp new file mode 100644 index 000000000..3f085cd0d --- /dev/null +++ b/hecl/lib/runtime/IRuntimeSpec.hpp @@ -0,0 +1,4 @@ +#ifndef IRUNTIMESPEC_HPP +#define IRUNTIMESPEC_HPP + +#endif // IRUNTIMESPEC_HPP diff --git a/hecl/lib/runtime/Metal/CMetalRuntimeCache.cpp b/hecl/lib/runtime/Metal/CMetalRuntimeCache.cpp new file mode 100644 index 000000000..e69de29bb diff --git a/hecl/lib/runtime/Metal/CMetalRuntimeObject.cpp b/hecl/lib/runtime/Metal/CMetalRuntimeObject.cpp new file mode 100644 index 000000000..e69de29bb diff --git a/hecl/lib/runtime/Metal/CMetalRuntimeSpec.cpp b/hecl/lib/runtime/Metal/CMetalRuntimeSpec.cpp new file mode 100644 index 000000000..e69de29bb diff --git a/hecl/lib/runtime/OGL3/COGL3RuntimeCache.cpp b/hecl/lib/runtime/OGL3/COGL3RuntimeCache.cpp new file mode 100644 index 000000000..e69de29bb diff --git a/hecl/lib/runtime/OGL3/COGL3RuntimeObject.cpp b/hecl/lib/runtime/OGL3/COGL3RuntimeObject.cpp new file mode 100644 index 000000000..e69de29bb diff --git a/hecl/lib/runtime/OGL3/COGL3RuntimeSpec.cpp b/hecl/lib/runtime/OGL3/COGL3RuntimeSpec.cpp new file mode 100644 index 000000000..e69de29bb diff --git a/hecl/lib/runtime/Vulkan/CMetalRuntimeCache.cpp b/hecl/lib/runtime/Vulkan/CMetalRuntimeCache.cpp new file mode 100644 index 000000000..e69de29bb diff --git a/hecl/lib/runtime/Vulkan/CMetalRuntimeObject.cpp b/hecl/lib/runtime/Vulkan/CMetalRuntimeObject.cpp new file mode 100644 index 000000000..e69de29bb diff --git a/hecl/lib/runtime/Vulkan/CMetalRuntimeSpec.cpp b/hecl/lib/runtime/Vulkan/CMetalRuntimeSpec.cpp new file mode 100644 index 000000000..e69de29bb diff --git a/hecl/lib/runtime/runtime.pri b/hecl/lib/runtime/runtime.pri new file mode 100644 index 000000000..1a2daf0a3 --- /dev/null +++ b/hecl/lib/runtime/runtime.pri @@ -0,0 +1,25 @@ +HEADERS += \ + $$PWD/IRuntimeCache.hpp \ + $$PWD/IRuntimeObject.hpp \ + $$PWD/IRuntimeSpec.hpp + +SOURCES += \ + $$PWD/D3D11/CD3D11RuntimeCache.cpp \ + $$PWD/D3D11/CD3D11RuntimeObject.cpp \ + $$PWD/D3D11/CD3D11RuntimeSpec.cpp \ + $$PWD/GX/CGXRuntimeCache.cpp \ + $$PWD/GX/CGXRuntimeObject.cpp \ + $$PWD/GX/CGXRuntimeSpec.cpp \ + $$PWD/GX2/CGX2RuntimeCache.cpp \ + $$PWD/GX2/CGX2RuntimeObject.cpp \ + $$PWD/GX2/CGX2RuntimeSpec.cpp \ + $$PWD/Metal/CMetalRuntimeCache.cpp \ + $$PWD/Metal/CMetalRuntimeObject.cpp \ + $$PWD/Metal/CMetalRuntimeSpec.cpp \ + $$PWD/OGL3/COGL3RuntimeCache.cpp \ + $$PWD/OGL3/COGL3RuntimeObject.cpp \ + $$PWD/OGL3/COGL3RuntimeSpec.cpp \ + $$PWD/Vulkan/CMetalRuntimeCache.cpp \ + $$PWD/Vulkan/CMetalRuntimeObject.cpp \ + $$PWD/Vulkan/CMetalRuntimeSpec.cpp \ + $$PWD/HECLRuntime.cpp