From e63d71c23b0d86ec40dcdf8fdd6cec11fd232d8e Mon Sep 17 00:00:00 2001 From: Laytan Date: Mon, 5 Feb 2024 18:48:17 +0100 Subject: [PATCH] implement bsd's, same as darwin --- .../spall/{spall_darwin.odin => spall_unix.odin} | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) rename core/prof/spall/{spall_darwin.odin => spall_unix.odin} (77%) diff --git a/core/prof/spall/spall_darwin.odin b/core/prof/spall/spall_unix.odin similarity index 77% rename from core/prof/spall/spall_darwin.odin rename to core/prof/spall/spall_unix.odin index 5af50f57a..7915f8c32 100644 --- a/core/prof/spall/spall_darwin.odin +++ b/core/prof/spall/spall_unix.odin @@ -1,19 +1,24 @@ //+private +//+build darwin, freebsd, openbsd package spall // Only for types. import "core:os" -foreign import system "system:System.framework" +when ODIN_OS == .Darwin { + foreign import libc "system:System.framework" +} else { + foreign import libc "system:c" +} timespec :: struct { tv_sec: i64, // seconds tv_nsec: i64, // nanoseconds } -foreign system { - @(link_name="__error") __error :: proc() -> ^i32 --- - @(link_name="write") _unix_write :: proc(handle: os.Handle, buffer: rawptr, count: uint) -> int --- +foreign libc { + __error :: proc() -> ^i32 --- + @(link_name="write") _unix_write :: proc(handle: os.Handle, buffer: rawptr, count: uint) -> int --- @(link_name="clock_gettime") _unix_clock_gettime :: proc(clock_id: u64, timespec: ^timespec) -> i32 --- }