mirror of
https://github.com/Ed94/Odin.git
synced 2026-08-07 16:18:52 +00:00
Utilize foreign import constant strings for foreign imports
This commit is contained in:
Vendored
+5
-31
@@ -5,47 +5,21 @@ import "core:c"
|
|||||||
RAYGUI_SHARED :: #config(RAYGUI_SHARED, false)
|
RAYGUI_SHARED :: #config(RAYGUI_SHARED, false)
|
||||||
|
|
||||||
when ODIN_OS == .Windows {
|
when ODIN_OS == .Windows {
|
||||||
when RAYGUI_SHARED {
|
|
||||||
foreign import lib {
|
foreign import lib {
|
||||||
"windows/rayguidll.lib",
|
"windows/rayguidll.lib" when RAYGUI_SHARED else "windows/raygui.lib",
|
||||||
}
|
|
||||||
} else {
|
|
||||||
foreign import lib {
|
|
||||||
"windows/raygui.lib",
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
} else when ODIN_OS == .Linux {
|
} else when ODIN_OS == .Linux {
|
||||||
when RAYGUI_SHARED {
|
foreign import lib {
|
||||||
foreign import lib "linux/libraygui.so"
|
"linux/libraygui.so" when RAYGUI_SHARED else "linux/libraygui.a"
|
||||||
} else {
|
|
||||||
foreign import lib "linux/libraygui.a"
|
|
||||||
}
|
}
|
||||||
} else when ODIN_OS == .Darwin {
|
} else when ODIN_OS == .Darwin {
|
||||||
when ODIN_ARCH == .arm64 {
|
when ODIN_ARCH == .arm64 {
|
||||||
when RAYGUI_SHARED {
|
|
||||||
foreign import lib {
|
foreign import lib {
|
||||||
"macos-arm64/libraygui.dylib",
|
"macos-arm64/libraygui.dylib" when RAYGUI_SHARED else "macos-arm64/libraygui.a",
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
foreign import lib {
|
foreign import lib {
|
||||||
"macos-arm64/libraygui.a",
|
"macos/libraygui.dylib" when RAYGUI_SHARED else "macos/libraygui.a",
|
||||||
// "system:Cocoa.framework",
|
|
||||||
// "system:OpenGL.framework",
|
|
||||||
// "system:IOKit.framework",
|
|
||||||
}
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
when RAYGUI_SHARED {
|
|
||||||
foreign import lib {
|
|
||||||
"macos/libraygui.dylib",
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
foreign import lib {
|
|
||||||
"macos/libraygui.a",
|
|
||||||
// "system:Cocoa.framework",
|
|
||||||
// "system:OpenGL.framework",
|
|
||||||
// "system:IOKit.framework",
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
Vendored
+6
-49
@@ -97,77 +97,34 @@ MAX_TEXT_BUFFER_LENGTH :: #config(RAYLIB_MAX_TEXT_BUFFER_LENGTH, 1024)
|
|||||||
RAYLIB_SHARED :: #config(RAYLIB_SHARED, false)
|
RAYLIB_SHARED :: #config(RAYLIB_SHARED, false)
|
||||||
|
|
||||||
when ODIN_OS == .Windows {
|
when ODIN_OS == .Windows {
|
||||||
when RAYLIB_SHARED {
|
_WINDOWS_LIB :: "windows/raylib" +" dll" when RAYLIB_SHARED else "" + ".lib"
|
||||||
@(extra_linker_flags="/NODEFAULTLIB:msvcrt")
|
@(extra_linker_flags="/NODEFAULTLIB:msvcrt")
|
||||||
foreign import lib {
|
foreign import lib {
|
||||||
"windows/raylibdll.lib",
|
"windows/raylibdll.lib" when RAYLIB_SHARED else "windows/raylib.lib" ,
|
||||||
"system:Winmm.lib",
|
"system:Winmm.lib",
|
||||||
"system:Gdi32.lib",
|
"system:Gdi32.lib",
|
||||||
"system:User32.lib",
|
"system:User32.lib",
|
||||||
"system:Shell32.lib",
|
"system:Shell32.lib",
|
||||||
}
|
}
|
||||||
} else {
|
|
||||||
@(extra_linker_flags="/NODEFAULTLIB:libcmt")
|
|
||||||
foreign import lib {
|
|
||||||
"windows/raylib.lib",
|
|
||||||
"system:Winmm.lib",
|
|
||||||
"system:Gdi32.lib",
|
|
||||||
"system:User32.lib",
|
|
||||||
"system:Shell32.lib",
|
|
||||||
}
|
|
||||||
}
|
|
||||||
} else when ODIN_OS == .Linux {
|
} else when ODIN_OS == .Linux {
|
||||||
when RAYLIB_SHARED {
|
|
||||||
foreign import lib {
|
foreign import lib {
|
||||||
// Note(bumbread): I'm not sure why in `linux/` folder there are
|
// Note(bumbread): I'm not sure why in `linux/` folder there are
|
||||||
// multiple copies of raylib.so, but since these bindings are for
|
// multiple copies of raylib.so, but since these bindings are for
|
||||||
// particular version of the library, I better specify it. Ideally,
|
// particular version of the library, I better specify it. Ideally,
|
||||||
// though, it's best specified in terms of major (.so.4)
|
// though, it's best specified in terms of major (.so.4)
|
||||||
"linux/libraylib.so.500",
|
"linux/libraylib.so.500" when RAYLIB_SHARED else "linux/libraylib.a",
|
||||||
"system:dl",
|
"system:dl",
|
||||||
"system:pthread",
|
"system:pthread",
|
||||||
}
|
}
|
||||||
} else {
|
|
||||||
foreign import lib {
|
|
||||||
"linux/libraylib.a",
|
|
||||||
"system:dl",
|
|
||||||
"system:pthread",
|
|
||||||
}
|
|
||||||
}
|
|
||||||
} else when ODIN_OS == .Darwin {
|
} else when ODIN_OS == .Darwin {
|
||||||
when ODIN_ARCH == .arm64 {
|
|
||||||
when RAYLIB_SHARED {
|
|
||||||
foreign import lib {
|
foreign import lib {
|
||||||
"macos-arm64/libraylib.500.dylib",
|
"macos" +
|
||||||
|
"-arm64" when ODIN_ARCH == .arm64 else "" +
|
||||||
|
"/libraylib" + ".500.dylib" when RAYLIB_SHARED else ".a",
|
||||||
"system:Cocoa.framework",
|
"system:Cocoa.framework",
|
||||||
"system:OpenGL.framework",
|
"system:OpenGL.framework",
|
||||||
"system:IOKit.framework",
|
"system:IOKit.framework",
|
||||||
}
|
}
|
||||||
} else {
|
|
||||||
foreign import lib {
|
|
||||||
"macos-arm64/libraylib.a",
|
|
||||||
"system:Cocoa.framework",
|
|
||||||
"system:OpenGL.framework",
|
|
||||||
"system:IOKit.framework",
|
|
||||||
}
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
when RAYLIB_SHARED {
|
|
||||||
foreign import lib {
|
|
||||||
"macos/libraylib.500.dylib",
|
|
||||||
"system:Cocoa.framework",
|
|
||||||
"system:OpenGL.framework",
|
|
||||||
"system:IOKit.framework",
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
foreign import lib {
|
|
||||||
"macos/libraylib.a",
|
|
||||||
"system:Cocoa.framework",
|
|
||||||
"system:OpenGL.framework",
|
|
||||||
"system:IOKit.framework",
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
} else {
|
} else {
|
||||||
foreign import lib "system:raylib"
|
foreign import lib "system:raylib"
|
||||||
}
|
}
|
||||||
|
|||||||
Vendored
+1
-10
@@ -122,21 +122,12 @@ when ODIN_OS == .Windows {
|
|||||||
} else when ODIN_OS == .Linux {
|
} else when ODIN_OS == .Linux {
|
||||||
foreign import lib "linux/libraylib.a"
|
foreign import lib "linux/libraylib.a"
|
||||||
} else when ODIN_OS == .Darwin {
|
} else when ODIN_OS == .Darwin {
|
||||||
when ODIN_ARCH == .arm64 {
|
|
||||||
foreign import lib {
|
foreign import lib {
|
||||||
"macos-arm64/libraylib.a",
|
"macos-arm64/libraylib.a" when ODIN_ARCH == .arm64 else "macos/libraylib.a",
|
||||||
"system:Cocoa.framework",
|
"system:Cocoa.framework",
|
||||||
"system:OpenGL.framework",
|
"system:OpenGL.framework",
|
||||||
"system:IOKit.framework",
|
"system:IOKit.framework",
|
||||||
}
|
}
|
||||||
} else {
|
|
||||||
foreign import lib {
|
|
||||||
"macos/libraylib.a",
|
|
||||||
"system:Cocoa.framework",
|
|
||||||
"system:OpenGL.framework",
|
|
||||||
"system:IOKit.framework",
|
|
||||||
}
|
|
||||||
}
|
|
||||||
} else {
|
} else {
|
||||||
foreign import lib "system:raylib"
|
foreign import lib "system:raylib"
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user