|
|
|
#!/usr/bin/env bash
|
|
|
|
|
|
|
|
set -euxo pipefail
|
|
|
|
|
|
|
|
bindgen "$DEVKITPRO/libctru/include/citro3d.h" \
|
|
|
|
--rust-target nightly \
|
|
|
|
--use-core \
|
|
|
|
--distrust-clang-mangling \
|
|
|
|
--no-layout-tests \
|
|
|
|
--ctypes-prefix "::libc" \
|
|
|
|
--no-prepend-enum-name \
|
|
|
|
--fit-macro-constant-types \
|
|
|
|
--must-use-type "Result" \
|
|
|
|
--generate "functions,types,vars" \
|
|
|
|
--blocklist-type "u(8|16|32|64)" \
|
|
|
|
--opaque-type "GPU_.*" \
|
|
|
|
--opaque-type "GFX_.*" \
|
|
|
|
--opaque-type "float24Uniform_s" \
|
|
|
|
--allowlist-type "C3D_.*" \
|
|
|
|
--allowlist-type "DVLB_.*" \
|
|
|
|
--allowlist-type "shader.*" \
|
|
|
|
--allowlist-type "float24Uniform_s" \
|
|
|
|
--allowlist-function "C3D_.*" \
|
|
|
|
--allowlist-function "shader.*" \
|
|
|
|
--allowlist-function "DVLB_.*" \
|
|
|
|
--allowlist-function "linear.*" \
|
|
|
|
--allowlist-var "C3D_.*" \
|
|
|
|
--allowlist-type "GPU_.*" \
|
|
|
|
--allowlist-type "GX_.*" \
|
|
|
|
--allowlist-function 'AttrInfo_(Init|AddLoader|AddFixed)' \
|
|
|
|
--allowlist-function 'BufInfo_(Init|Add)' \
|
|
|
|
--allowlist-function 'Mtx_.*' \
|
|
|
|
-- \
|
|
|
|
--target=arm-none-eabi \
|
|
|
|
--sysroot=$DEVKITARM/arm-none-eabi \
|
|
|
|
-isystem$DEVKITARM/arm-none-eabi/include \
|
|
|
|
-I$DEVKITPRO/libctru/include \
|
|
|
|
-mfloat-abi=hard \
|
|
|
|
-march=armv6k \
|
|
|
|
-mtune=mpcore \
|
|
|
|
-mfpu=vfp \
|
|
|
|
-DARM11 \
|
|
|
|
-D_3DS \
|
|
|
|
-D__3DS__ \
|
|
|
|
> src/bindings.rs
|