Remove when suffixes; Implement file scope when statement, evaluated in source order

This commit is contained in:
Ginger Bill
2017-09-10 15:17:37 +01:00
parent 85097a9958
commit e6e0aba8c3
12 changed files with 373 additions and 400 deletions
+3 -1
View File
@@ -1,7 +1,9 @@
// TODO(bill): Use assembly instead here to implement atomics
// Inline vs external file?
import win32 "core:sys/windows.odin" when ODIN_OS == "windows";
when ODIN_OS == "windows" {
import win32 "core:sys/windows.odin";
}
_ :: compile_assert(ODIN_ARCH == "amd64"); // TODO(bill): x86 version
+7 -4
View File
@@ -1,8 +1,11 @@
foreign_system_library lib "opengl32.lib" when ODIN_OS == "windows";
foreign_system_library lib "gl" when ODIN_OS == "linux";
when ODIN_OS == "windows" do foreign_system_library lib "opengl32.lib";
when ODIN_OS == "linux" do foreign_system_library lib "gl";
when ODIN_OS == "windows" {
import win32 "core:sys/windows.odin";
import "core:sys/wgl.odin";
}
import win32 "core:sys/windows.odin" when ODIN_OS == "windows";
import "core:sys/wgl.odin" when ODIN_OS == "windows";
export "core:opengl_constants.odin";
_ := compile_assert(ODIN_OS != "osx");
+3 -3
View File
@@ -1,6 +1,6 @@
export "core:os_windows.odin" when ODIN_OS == "windows";
export "core:os_x.odin" when ODIN_OS == "osx";
export "core:os_linux.odin" when ODIN_OS == "linux";
when ODIN_OS == "windows" do export "core:os_windows.odin";
when ODIN_OS == "osx" do export "core:os_x.odin";
when ODIN_OS == "linux" do export "core:os_linux.odin";
write_string :: proc(fd: Handle, str: string) -> (int, Errno) {
return write(fd, cast([]u8)str);
+2 -2
View File
@@ -1,2 +1,2 @@
export "core:sync_windows.odin" when ODIN_OS == "windows";
export "core:sync_linux.odin" when ODIN_OS == "linux";
when ODIN_OS == "windows" do export "core:sync_windows.odin";
when ODIN_OS == "linux" do export "core:sync_linux.odin";
+1 -1
View File
@@ -1,4 +1,4 @@
import win32 "core:sys/windows.odin" when ODIN_OS == "windows";
when ODIN_OS == "windows" do import win32 "core:sys/windows.odin";
import "core:atomics.odin";
Semaphore :: struct {
+1 -1
View File
@@ -1,4 +1,4 @@
foreign_system_library "opengl32.lib" when ODIN_OS == "windows";
when ODIN_OS == "windows" do foreign_system_library "opengl32.lib";
using import "core:sys/windows.odin";
+7 -5
View File
@@ -1,8 +1,10 @@
foreign_system_library "kernel32.lib" when ODIN_OS == "windows";
foreign_system_library "user32.lib" when ODIN_OS == "windows";
foreign_system_library "gdi32.lib" when ODIN_OS == "windows";
foreign_system_library "winmm.lib" when ODIN_OS == "windows";
foreign_system_library "shell32.lib" when ODIN_OS == "windows";
when ODIN_OS == "windows" {
foreign_system_library "kernel32.lib";
foreign_system_library "user32.lib";
foreign_system_library "gdi32.lib";
foreign_system_library "winmm.lib";
foreign_system_library "shell32.lib";
}
Handle :: rawptr;
Hwnd :: Handle;