Browse Source

Merge pull request #4647 from karl-zylinski/raylib-wasm

Make it easier to do Raylib WASM builds
gingerBill 8 months ago
parent
commit
fdd3b46c10

+ 5 - 0
vendor/raylib/raygui.odin

@@ -3,6 +3,7 @@ package raylib
 import "core:c"
 import "core:c"
 
 
 RAYGUI_SHARED :: #config(RAYGUI_SHARED, false)
 RAYGUI_SHARED :: #config(RAYGUI_SHARED, false)
+RAYGUI_WASM_LIB :: #config(RAYGUI_WASM_LIB, "wasm/libraygui.a")
 
 
 when ODIN_OS == .Windows {
 when ODIN_OS == .Windows {
 	foreign import lib {
 	foreign import lib {
@@ -22,6 +23,10 @@ when ODIN_OS == .Windows {
 			"macos/libraygui.dylib" when RAYGUI_SHARED else "macos/libraygui.a",
 			"macos/libraygui.dylib" when RAYGUI_SHARED else "macos/libraygui.a",
 		}
 		}
 	}
 	}
+} else when ODIN_ARCH == .wasm32 || ODIN_ARCH == .wasm64p32 {
+	foreign import lib {
+		RAYGUI_WASM_LIB,
+	}
 } else {
 } else {
 	foreign import lib "system:raygui"
 	foreign import lib "system:raygui"
 }
 }

+ 5 - 0
vendor/raylib/raylib.odin

@@ -100,6 +100,7 @@ MAX_TEXT_BUFFER_LENGTH :: #config(RAYLIB_MAX_TEXT_BUFFER_LENGTH, 1024)
 #assert(size_of(rune) == size_of(c.int))
 #assert(size_of(rune) == size_of(c.int))
 
 
 RAYLIB_SHARED :: #config(RAYLIB_SHARED, false)
 RAYLIB_SHARED :: #config(RAYLIB_SHARED, false)
+RAYLIB_WASM_LIB :: #config(RAYLIB_WASM_LIB, "wasm/libraylib.a")
 
 
 when ODIN_OS == .Windows {
 when ODIN_OS == .Windows {
 	@(extra_linker_flags="/NODEFAULTLIB:" + ("msvcrt" when RAYLIB_SHARED else "libcmt"))
 	@(extra_linker_flags="/NODEFAULTLIB:" + ("msvcrt" when RAYLIB_SHARED else "libcmt"))
@@ -127,6 +128,10 @@ when ODIN_OS == .Windows {
 		"system:OpenGL.framework",
 		"system:OpenGL.framework",
 		"system:IOKit.framework",
 		"system:IOKit.framework",
 	} 
 	} 
+} else when ODIN_ARCH == .wasm32 || ODIN_ARCH == .wasm64p32 {
+	foreign import lib {
+		RAYLIB_WASM_LIB,
+	}
 } else {
 } else {
 	foreign import lib "system:raylib"
 	foreign import lib "system:raylib"
 }
 }

+ 5 - 0
vendor/raylib/rlgl/rlgl.odin

@@ -113,6 +113,7 @@ import rl "../."
 VERSION :: "5.0"
 VERSION :: "5.0"
 
 
 RAYLIB_SHARED :: #config(RAYLIB_SHARED, false)
 RAYLIB_SHARED :: #config(RAYLIB_SHARED, false)
+RAYLIB_WASM_LIB :: #config(RAYLIB_WASM_LIB, "../wasm/libraylib.a")
 
 
 // Note: We pull in the full raylib library. If you want a truly stand-alone rlgl, then:
 // Note: We pull in the full raylib library. If you want a truly stand-alone rlgl, then:
 // - Compile a separate rlgl library and use that in the foreign import blocks below.
 // - Compile a separate rlgl library and use that in the foreign import blocks below.
@@ -145,6 +146,10 @@ when ODIN_OS == .Windows {
 		"system:OpenGL.framework",
 		"system:OpenGL.framework",
 		"system:IOKit.framework",
 		"system:IOKit.framework",
 	} 
 	} 
+} else when ODIN_ARCH == .wasm32 || ODIN_ARCH == .wasm64p32 {
+	foreign import lib {
+		RAYLIB_WASM_LIB,
+	}
 } else {
 } else {
 	foreign import lib "system:raylib"
 	foreign import lib "system:raylib"
 }
 }

BIN
vendor/raylib/wasm/libraygui.a


BIN
vendor/raylib/wasm/libraylib.a