From dde4fb017ecf0c6ae0b0d395972d7da67fda29df Mon Sep 17 00:00:00 2001
From: Gary Talent <gary@drinkingtea.net>
Date: Tue, 2 Mar 2021 23:38:43 -0600
Subject: [PATCH] [ox/claw] Make Claw build in GBA builds, only without OC

---
 deps/ox/src/ox/CMakeLists.txt      | 2 +-
 deps/ox/src/ox/claw/CMakeLists.txt | 6 ++++--
 deps/ox/src/ox/claw/read.hpp       | 4 ++++
 deps/ox/src/ox/claw/write.hpp      | 2 ++
 4 files changed, 11 insertions(+), 3 deletions(-)

diff --git a/deps/ox/src/ox/CMakeLists.txt b/deps/ox/src/ox/CMakeLists.txt
index 52b9f3c1..f475ee8f 100644
--- a/deps/ox/src/ox/CMakeLists.txt
+++ b/deps/ox/src/ox/CMakeLists.txt
@@ -1,8 +1,8 @@
 if(OX_USE_STDLIB)
-	add_subdirectory(claw)
 	add_subdirectory(oc)
 endif()
 add_subdirectory(clargs)
+add_subdirectory(claw)
 add_subdirectory(fs)
 add_subdirectory(mc)
 add_subdirectory(ptrarith)
diff --git a/deps/ox/src/ox/claw/CMakeLists.txt b/deps/ox/src/ox/claw/CMakeLists.txt
index ff5e3aca..207e7e13 100644
--- a/deps/ox/src/ox/claw/CMakeLists.txt
+++ b/deps/ox/src/ox/claw/CMakeLists.txt
@@ -8,7 +8,9 @@ add_library(
 target_link_libraries(
 	OxClaw PUBLIC
 		OxMetalClaw
-		OxOrganicClaw
+		$<$<BOOL:OX_USE_STDLIB>:OxOrganicClaw>
 )
 
-add_subdirectory(test)
+if(OX_RUN_TESTS)
+	add_subdirectory(test)
+endif()
\ No newline at end of file
diff --git a/deps/ox/src/ox/claw/read.hpp b/deps/ox/src/ox/claw/read.hpp
index 5d8ce188..79a5d494 100644
--- a/deps/ox/src/ox/claw/read.hpp
+++ b/deps/ox/src/ox/claw/read.hpp
@@ -9,7 +9,9 @@
 #pragma once
 
 #include <ox/mc/read.hpp>
+#ifdef OX_USE_STDLIB
 #include <ox/oc/read.hpp>
+#endif
 #include <ox/std/string.hpp>
 #include <ox/std/vector.hpp>
 
@@ -43,11 +45,13 @@ Error readClaw(char *buff, std::size_t buffLen, T *val) {
 			MetalClawReader reader(bit_cast<uint8_t*>(header.value.data), buffLen);
 			return model(&reader, val);
 		}
+#ifdef OX_USE_STDLIB
 		case ClawFormat::Organic:
 		{
 			OrganicClawReader reader(bit_cast<uint8_t*>(header.value.data), buffLen);
 			return model(&reader, val);
 		}
+#endif
 		case ClawFormat::None:
 			return OxError(1);
 	}
diff --git a/deps/ox/src/ox/claw/write.hpp b/deps/ox/src/ox/claw/write.hpp
index 607d4a30..ee133830 100644
--- a/deps/ox/src/ox/claw/write.hpp
+++ b/deps/ox/src/ox/claw/write.hpp
@@ -9,7 +9,9 @@
 #pragma once
 
 #include <ox/mc/write.hpp>
+#ifdef OX_USE_STDLIB
 #include <ox/oc/write.hpp>
+#endif
 #include <ox/std/string.hpp>
 #include <ox/std/vector.hpp>