Ver código fonte

Merge pull request #855 from nakst/master

Update Essence API header
gingerBill 4 anos atrás
pai
commit
f49278b5f4
4 arquivos alterados com 438 adições e 298 exclusões
  1. 3 0
      core/os/os_essence.odin
  2. 417 296
      core/sys/es/api.odin
  3. 17 1
      core/time/time_essence.odin
  4. 1 1
      src/main.cpp

+ 3 - 0
core/os/os_essence.odin

@@ -50,3 +50,6 @@ write :: proc(fd: Handle, data: []u8) -> (int, Errno) {
 	return (int) (0), (Errno) (1);
 }
 
+seek :: proc(fd: Handle, offset: i64, whence: int) -> (i64, Errno) {
+	return (i64) (0), (Errno) (1);
+}

Diferenças do arquivo suprimidas por serem muito extensas
+ 417 - 296
core/sys/es/api.odin


+ 17 - 1
core/time/time_essence.odin

@@ -1,2 +1,18 @@
 package time
-IS_SUPPORTED :: false;
+
+import "core:sys/es"
+
+IS_SUPPORTED :: true;
+
+now :: proc() -> Time {
+	// TODO Replace once there's a proper time API.
+	return Time{_nsec = i64(es.TimeStampMs() * 1e6)};
+}
+
+sleep :: proc(d: Duration) {
+	es.Sleep(u64(d/Millisecond));
+}
+
+_tick_now :: proc() -> Tick {
+	return Tick{_nsec = i64(es.TimeStampMs() * 1e6)};
+}

+ 1 - 1
src/main.cpp

@@ -2216,7 +2216,7 @@ int main(int arg_count, char const **arg_ptr) {
 
 		if (build_context.cross_compiling && selected_target_metrics->metrics == &target_essence_amd64) {
 	#ifdef GB_SYSTEM_UNIX
-			system_exec_command_line_app("linker", "x86_64-essence-gcc \"%.*s.o\" -o \"%.*s\" %.*s %.*s", // -ffreestanding -nostdlib
+			system_exec_command_line_app("linker", "x86_64-essence-gcc -ffreestanding -nostdlib \"%.*s.o\" -o \"%.*s\" %.*s %.*s",
 					LIT(output_base), LIT(output_base), LIT(build_context.link_flags), LIT(build_context.extra_linker_flags));
 	#else
 			gb_printf_err("Linking for cross compilation for this platform is not yet supported (%.*s %.*s)\n",

Alguns arquivos não foram mostrados porque muitos arquivos mudaram nesse diff