mirror of
https://github.com/odin-lang/Odin.git
synced 2026-02-15 23:54:07 +00:00
Enable odin check examples/all for JS.
This commit is contained in:
6
.github/workflows/ci.yml
vendored
6
.github/workflows/ci.yml
vendored
@@ -159,6 +159,12 @@ jobs:
|
||||
- name: Odin check examples/all for OpenBSD amd64
|
||||
if: matrix.os == 'ubuntu-latest'
|
||||
run: ./odin check examples/all -vet -strict-style -disallow-do -target:openbsd_amd64
|
||||
- name: Odin check examples/all for js_wasm32
|
||||
if: matrix.os == 'ubuntu-latest'
|
||||
run: ./odin check examples/all -vet -strict-style -disallow-do -no-entry-point -target:js_wasm32
|
||||
- name: Odin check examples/all for js_wasm64p32
|
||||
if: matrix.os == 'ubuntu-latest'
|
||||
run: ./odin check examples/all -vet -strict-style -disallow-do -no-entry-point -target:js_wasm64p32
|
||||
|
||||
- name: Odin check examples/all/sdl3 for Linux i386
|
||||
if: matrix.os == 'ubuntu-latest'
|
||||
|
||||
@@ -139,9 +139,6 @@ Context_Memory_Input :: struct #packed {
|
||||
}
|
||||
when size_of(rawptr) == 8 {
|
||||
#assert(size_of(Context_Memory_Input) == 64)
|
||||
} else {
|
||||
// e.g. `-target:windows_i386`
|
||||
#assert(size_of(Context_Memory_Input) == 52)
|
||||
}
|
||||
|
||||
Context_Stream_Input :: struct #packed {
|
||||
|
||||
36
core/path/filepath/path_js.odin
Normal file
36
core/path/filepath/path_js.odin
Normal file
@@ -0,0 +1,36 @@
|
||||
package filepath
|
||||
|
||||
import "base:runtime"
|
||||
|
||||
import "core:strings"
|
||||
|
||||
SEPARATOR :: '/'
|
||||
SEPARATOR_STRING :: `/`
|
||||
LIST_SEPARATOR :: ':'
|
||||
|
||||
is_reserved_name :: proc(path: string) -> bool {
|
||||
return false
|
||||
}
|
||||
|
||||
is_abs :: proc(path: string) -> bool {
|
||||
return strings.has_prefix(path, "/")
|
||||
}
|
||||
|
||||
abs :: proc(path: string, allocator := context.allocator) -> (string, bool) {
|
||||
if is_abs(path) {
|
||||
return strings.clone(string(path), allocator), true
|
||||
}
|
||||
|
||||
return path, false
|
||||
}
|
||||
|
||||
join :: proc(elems: []string, allocator := context.allocator) -> (joined: string, err: runtime.Allocator_Error) #optional_allocator_error {
|
||||
for e, i in elems {
|
||||
if e != "" {
|
||||
runtime.DEFAULT_TEMP_ALLOCATOR_TEMP_GUARD(ignore = context.temp_allocator == allocator)
|
||||
p := strings.join(elems[i:], SEPARATOR_STRING, context.temp_allocator) or_return
|
||||
return clean(p, allocator)
|
||||
}
|
||||
}
|
||||
return "", nil
|
||||
}
|
||||
@@ -1,6 +1,6 @@
|
||||
package sysinfo
|
||||
|
||||
when !(ODIN_ARCH == .amd64 || ODIN_ARCH == .i386 || ODIN_ARCH == .arm32 || ODIN_ARCH == .arm64 || ODIN_ARCH == .riscv64) {
|
||||
when !(ODIN_ARCH == .amd64 || ODIN_ARCH == .i386 || ODIN_ARCH == .arm32 || ODIN_ARCH == .arm64 || ODIN_ARCH == .riscv64 || ODIN_ARCH == .wasm32 || ODIN_ARCH == .wasm64p32) {
|
||||
#assert(false, "This package is unsupported on this architecture.")
|
||||
}
|
||||
|
||||
|
||||
13
core/time/timezone/tz_js.odin
Normal file
13
core/time/timezone/tz_js.odin
Normal file
@@ -0,0 +1,13 @@
|
||||
#+build js
|
||||
#+private
|
||||
package timezone
|
||||
|
||||
import "core:time/datetime"
|
||||
|
||||
local_tz_name :: proc(allocator := context.allocator) -> (name: string, success: bool) {
|
||||
return
|
||||
}
|
||||
|
||||
_region_load :: proc(_reg_str: string, allocator := context.allocator) -> (out_reg: ^datetime.TZ_Region, success: bool) {
|
||||
return nil, true
|
||||
}
|
||||
148
examples/all/all_js.odin
Normal file
148
examples/all/all_js.odin
Normal file
@@ -0,0 +1,148 @@
|
||||
#+build js
|
||||
package all
|
||||
|
||||
// Imports "every" package
|
||||
// This is useful for knowing what exists and producing documentation with `odin doc`
|
||||
|
||||
@(require) import "core:bufio"
|
||||
@(require) import "core:bytes"
|
||||
@(require) import "core:c"
|
||||
|
||||
@(require) import "core:compress"
|
||||
@(require) import "core:compress/shoco"
|
||||
@(require) import "core:compress/gzip"
|
||||
@(require) import "core:compress/zlib"
|
||||
|
||||
@(require) import "core:container/avl"
|
||||
@(require) import "core:container/bit_array"
|
||||
@(require) import "core:container/priority_queue"
|
||||
@(require) import "core:container/queue"
|
||||
@(require) import "core:container/small_array"
|
||||
@(require) import "core:container/lru"
|
||||
@(require) import "core:container/intrusive/list"
|
||||
@(require) import "core:container/rbtree"
|
||||
@(require) import "core:container/topological_sort"
|
||||
|
||||
@(require) import "core:crypto"
|
||||
@(require) import "core:crypto/aead"
|
||||
@(require) import "core:crypto/aegis"
|
||||
@(require) import "core:crypto/aes"
|
||||
@(require) import "core:crypto/blake2b"
|
||||
@(require) import "core:crypto/blake2s"
|
||||
@(require) import "core:crypto/chacha20"
|
||||
@(require) import "core:crypto/chacha20poly1305"
|
||||
@(require) import chash "core:crypto/hash"
|
||||
@(require) import "core:crypto/deoxysii"
|
||||
@(require) import "core:crypto/ed25519"
|
||||
@(require) import "core:crypto/hkdf"
|
||||
@(require) import "core:crypto/hmac"
|
||||
@(require) import "core:crypto/kmac"
|
||||
@(require) import "core:crypto/legacy/keccak"
|
||||
@(require) import "core:crypto/legacy/md5"
|
||||
@(require) import "core:crypto/legacy/sha1"
|
||||
@(require) import "core:crypto/pbkdf2"
|
||||
@(require) import "core:crypto/poly1305"
|
||||
@(require) import "core:crypto/ristretto255"
|
||||
@(require) import "core:crypto/sha2"
|
||||
@(require) import "core:crypto/sha3"
|
||||
@(require) import "core:crypto/shake"
|
||||
@(require) import "core:crypto/sm3"
|
||||
@(require) import "core:crypto/tuplehash"
|
||||
@(require) import "core:crypto/x25519"
|
||||
@(require) import "core:crypto/x448"
|
||||
|
||||
@(require) import "core:debug/pe"
|
||||
@(require) import "core:debug/trace"
|
||||
|
||||
@(require) import "core:dynlib"
|
||||
@(require) import "core:net"
|
||||
|
||||
@(require) import "core:encoding/base32"
|
||||
@(require) import "core:encoding/base64"
|
||||
@(require) import "core:encoding/cbor"
|
||||
@(require) import "core:encoding/csv"
|
||||
@(require) import "core:encoding/endian"
|
||||
@(require) import "core:encoding/hxa"
|
||||
@(require) import "core:encoding/ini"
|
||||
@(require) import "core:encoding/json"
|
||||
@(require) import "core:encoding/varint"
|
||||
@(require) import "core:encoding/xml"
|
||||
@(require) import "core:encoding/uuid"
|
||||
@(require) import "core:encoding/uuid/legacy"
|
||||
|
||||
@(require) import "core:fmt"
|
||||
@(require) import "core:hash"
|
||||
@(require) import "core:hash/xxhash"
|
||||
|
||||
@(require) import "core:image"
|
||||
@(require) import "core:image/bmp"
|
||||
@(require) import "core:image/netpbm"
|
||||
@(require) import "core:image/png"
|
||||
@(require) import "core:image/qoi"
|
||||
@(require) import "core:image/tga"
|
||||
|
||||
@(require) import "core:io"
|
||||
@(require) import "core:log"
|
||||
|
||||
@(require) import "core:math"
|
||||
@(require) import "core:math/big"
|
||||
@(require) import "core:math/bits"
|
||||
@(require) import "core:math/fixed"
|
||||
@(require) import "core:math/linalg"
|
||||
@(require) import "core:math/linalg/glsl"
|
||||
@(require) import "core:math/linalg/hlsl"
|
||||
@(require) import "core:math/noise"
|
||||
@(require) import "core:math/rand"
|
||||
@(require) import "core:math/ease"
|
||||
@(require) import "core:math/cmplx"
|
||||
|
||||
@(require) import "core:mem"
|
||||
@(require) import "core:mem/tlsf"
|
||||
@(require) import "core:mem/virtual"
|
||||
|
||||
@(require) import "core:odin/ast"
|
||||
@(require) import doc_format "core:odin/doc-format"
|
||||
|
||||
@(require) import "core:odin/tokenizer"
|
||||
@(require) import "core:os"
|
||||
@(require) import "core:path/slashpath"
|
||||
|
||||
@(require) import "core:relative"
|
||||
|
||||
@(require) import "core:reflect"
|
||||
@(require) import "base:runtime"
|
||||
@(require) import "base:sanitizer"
|
||||
@(require) import "core:simd"
|
||||
@(require) import "core:simd/x86"
|
||||
@(require) import "core:slice"
|
||||
@(require) import "core:slice/heap"
|
||||
@(require) import "core:sort"
|
||||
@(require) import "core:strconv"
|
||||
@(require) import "core:strings"
|
||||
@(require) import "core:sync"
|
||||
|
||||
@(require) import "core:terminal"
|
||||
@(require) import "core:terminal/ansi"
|
||||
|
||||
@(require) import "core:text/edit"
|
||||
@(require) import "core:text/i18n"
|
||||
@(require) import "core:text/match"
|
||||
@(require) import "core:text/regex"
|
||||
@(require) import "core:text/scanner"
|
||||
@(require) import "core:text/table"
|
||||
|
||||
@(require) import "core:thread"
|
||||
@(require) import "core:time"
|
||||
@(require) import "core:time/datetime"
|
||||
@(require) import "core:time/timezone"
|
||||
|
||||
|
||||
@(require) import "core:sys/orca"
|
||||
@(require) import "core:sys/info"
|
||||
|
||||
@(require) import "core:unicode"
|
||||
@(require) import "core:unicode/utf8"
|
||||
@(require) import "core:unicode/utf8/utf8string"
|
||||
@(require) import "core:unicode/utf16"
|
||||
|
||||
main :: proc() {}
|
||||
@@ -1,10 +1,5 @@
|
||||
#+build linux
|
||||
package all
|
||||
|
||||
import linux "core:sys/linux"
|
||||
|
||||
import xlib "vendor:x11/xlib"
|
||||
|
||||
_ :: linux
|
||||
|
||||
_ :: xlib
|
||||
@(require) import "core:sys/linux"
|
||||
@(require) import "vendor:x11/xlib"
|
||||
@@ -1,3 +1,4 @@
|
||||
#+build !js
|
||||
package all
|
||||
|
||||
// Imports every package
|
||||
@@ -152,9 +153,6 @@ import utf8 "core:unicode/utf8"
|
||||
import utf8string "core:unicode/utf8/utf8string"
|
||||
import utf16 "core:unicode/utf16"
|
||||
|
||||
main :: proc(){}
|
||||
|
||||
|
||||
_ :: bufio
|
||||
_ :: bytes
|
||||
_ :: c
|
||||
@@ -280,3 +278,5 @@ _ :: utf8
|
||||
_ :: utf8string
|
||||
_ :: utf16
|
||||
_ :: sanitizer
|
||||
|
||||
main :: proc() {}
|
||||
@@ -1,8 +1,5 @@
|
||||
#+build darwin, openbsd, freebsd, netbsd
|
||||
package all
|
||||
|
||||
import posix "core:sys/posix"
|
||||
import kqueue "core:sys/kqueue"
|
||||
|
||||
_ :: posix
|
||||
_ :: kqueue
|
||||
@(require) import "core:sys/posix"
|
||||
@(require) import "core:sys/kqueue"
|
||||
@@ -1,102 +1,48 @@
|
||||
#+build !js
|
||||
package all
|
||||
|
||||
import cgltf "vendor:cgltf"
|
||||
// import commonmark "vendor:commonmark"
|
||||
import ENet "vendor:ENet"
|
||||
import exr "vendor:OpenEXRCore"
|
||||
import ggpo "vendor:ggpo"
|
||||
import gl "vendor:OpenGL"
|
||||
import glfw "vendor:glfw"
|
||||
import microui "vendor:microui"
|
||||
import miniaudio "vendor:miniaudio"
|
||||
import PM "vendor:portmidi"
|
||||
import rl "vendor:raylib"
|
||||
import zlib "vendor:zlib"
|
||||
@(require) import "vendor:cgltf"
|
||||
@(require) import "vendor:ENet"
|
||||
@(require) import "vendor:OpenEXRCore"
|
||||
@(require) import "vendor:ggpo"
|
||||
@(require) import "vendor:OpenGL"
|
||||
@(require) import "vendor:glfw"
|
||||
@(require) import "vendor:microui"
|
||||
@(require) import "vendor:miniaudio"
|
||||
@(require) import "vendor:portmidi"
|
||||
@(require) import "vendor:raylib"
|
||||
@(require) import "vendor:zlib"
|
||||
|
||||
import SDL "vendor:sdl2"
|
||||
import SDLNet "vendor:sdl2/net"
|
||||
import IMG "vendor:sdl2/image"
|
||||
import MIX "vendor:sdl2/mixer"
|
||||
import TTF "vendor:sdl2/ttf"
|
||||
@(require) import "vendor:sdl2"
|
||||
@(require) import "vendor:sdl2/net"
|
||||
@(require) import "vendor:sdl2/image"
|
||||
@(require) import "vendor:sdl2/mixer"
|
||||
@(require) import "vendor:sdl2/ttf"
|
||||
|
||||
import vk "vendor:vulkan"
|
||||
@(require) import "vendor:vulkan"
|
||||
|
||||
// NOTE(bill): only one can be checked at a time
|
||||
import lua_5_4 "vendor:lua/5.4"
|
||||
|
||||
import nvg "vendor:nanovg"
|
||||
import nvg_gl "vendor:nanovg/gl"
|
||||
import fontstash "vendor:fontstash"
|
||||
|
||||
_ :: cgltf
|
||||
// _ :: commonmark
|
||||
_ :: ENet
|
||||
_ :: exr
|
||||
_ :: ggpo
|
||||
_ :: gl
|
||||
_ :: glfw
|
||||
_ :: microui
|
||||
_ :: miniaudio
|
||||
_ :: PM
|
||||
_ :: rl
|
||||
_ :: zlib
|
||||
|
||||
_ :: SDL
|
||||
_ :: SDLNet
|
||||
_ :: IMG
|
||||
_ :: MIX
|
||||
_ :: TTF
|
||||
|
||||
_ :: vk
|
||||
|
||||
_ :: lua_5_4
|
||||
|
||||
_ :: nvg
|
||||
_ :: nvg_gl
|
||||
_ :: fontstash
|
||||
|
||||
@(require) import lua54 "vendor:lua/5.4"
|
||||
@(require) import "vendor:nanovg"
|
||||
@(require) import "vendor:nanovg/gl"
|
||||
@(require) import "vendor:fontstash"
|
||||
|
||||
// NOTE: needed for doc generator
|
||||
@(require) import "core:sys/darwin/Foundation"
|
||||
@(require) import "core:sys/darwin/CoreFoundation"
|
||||
@(require) import "core:sys/darwin/Security"
|
||||
@(require) import "vendor:darwin/Metal"
|
||||
@(require) import "vendor:darwin/MetalKit"
|
||||
@(require) import "vendor:darwin/QuartzCore"
|
||||
|
||||
import NS "core:sys/darwin/Foundation"
|
||||
import CF "core:sys/darwin/CoreFoundation"
|
||||
import SEC "core:sys/darwin/Security"
|
||||
import MTL "vendor:darwin/Metal"
|
||||
import MTK "vendor:darwin/MetalKit"
|
||||
import CA "vendor:darwin/QuartzCore"
|
||||
|
||||
_ :: NS
|
||||
_ :: CF
|
||||
_ :: SEC
|
||||
_ :: MTL
|
||||
_ :: MTK
|
||||
_ :: CA
|
||||
|
||||
|
||||
import DXC "vendor:directx/dxc"
|
||||
import D3D11 "vendor:directx/d3d11"
|
||||
import D3D12 "vendor:directx/d3d12"
|
||||
import DXGI "vendor:directx/dxgi"
|
||||
|
||||
_ :: DXC
|
||||
_ :: D3D11
|
||||
_ :: D3D12
|
||||
_ :: DXGI
|
||||
|
||||
|
||||
import cm "vendor:commonmark"
|
||||
_ :: cm
|
||||
|
||||
|
||||
import stb_easy_font "vendor:stb/easy_font"
|
||||
import stbi "vendor:stb/image"
|
||||
import stbrp "vendor:stb/rect_pack"
|
||||
import stbtt "vendor:stb/truetype"
|
||||
import stb_vorbis "vendor:stb/vorbis"
|
||||
|
||||
_ :: stb_easy_font
|
||||
_ :: stbi
|
||||
_ :: stbrp
|
||||
_ :: stbtt
|
||||
_ :: stb_vorbis
|
||||
@(require) import "vendor:directx/dxc"
|
||||
@(require) import "vendor:directx/d3d11"
|
||||
@(require) import "vendor:directx/d3d12"
|
||||
@(require) import "vendor:directx/dxgi"
|
||||
@(require) import "vendor:commonmark"
|
||||
|
||||
@(require) import "vendor:stb/easy_font"
|
||||
@(require) import stbi "vendor:stb/image"
|
||||
@(require) import "vendor:stb/rect_pack"
|
||||
@(require) import "vendor:stb/truetype"
|
||||
@(require) import "vendor:stb/vorbis"
|
||||
13
examples/all/all_vendor_js.odin
Normal file
13
examples/all/all_vendor_js.odin
Normal file
@@ -0,0 +1,13 @@
|
||||
#+build js
|
||||
package all
|
||||
|
||||
@(require) import "vendor:box2d"
|
||||
@(require) import "vendor:cgltf"
|
||||
@(require) import "vendor:fontstash"
|
||||
@(require) import "vendor:microui"
|
||||
@(require) import "vendor:stb/easy_font"
|
||||
@(require) import "vendor:stb/image"
|
||||
@(require) import "vendor:stb/rect_pack"
|
||||
@(require) import "vendor:stb/truetype"
|
||||
@(require) import "vendor:wgpu"
|
||||
@(require) import "vendor:wasm/WebGL"
|
||||
@@ -1,16 +1,9 @@
|
||||
#+build windows
|
||||
package all
|
||||
|
||||
import wgpu "vendor:wgpu"
|
||||
import wgpu_glfw_glue "vendor:wgpu/glfwglue"
|
||||
import wgpu_sdl_glue "vendor:wgpu/sdl2glue"
|
||||
import b2 "vendor:box2d"
|
||||
import game_input "vendor:windows/GameInput"
|
||||
import XAudio2 "vendor:windows/XAudio2"
|
||||
|
||||
_ :: wgpu
|
||||
_ :: wgpu_glfw_glue
|
||||
_ :: wgpu_sdl_glue
|
||||
_ :: b2
|
||||
_ :: game_input
|
||||
_ :: XAudio2
|
||||
|
||||
@(require) import "vendor:wgpu/glfwglue"
|
||||
@(require) import "vendor:wgpu/sdl2glue"
|
||||
@(require) import "vendor:wgpu"
|
||||
@(require) import "vendor:box2d"
|
||||
@(require) import "vendor:windows/GameInput"
|
||||
@(require) import "vendor:windows/XAudio2"
|
||||
Reference in New Issue
Block a user