Giter VIP home page Giter VIP logo

dawn-lib's Introduction

Builds dawn on Linux and macOS as one single easier-to-use library.

This is an experiment for playsys

The goal with this experiment is to make it less complex to build programs using dawn by allowing simplified linking with a single library. Eventually this will make it into playsys for the Linux host wgpu implementation.

Build

Requirements to build: (config.sh checks for all of these)

  • Linux with X11 or macOS >=10.15
  • cmake >=3.10
  • bash or a bash-compatible shell like zsh
  • wget or curl
  • git
  • ninja
  • python3

Configure build: (run after every git clone/pull/checkout)

sh config.sh

Build libwgpu:

bash build.sh
# bash build.sh -clean  # rebuild from scratch

Build & run example program:

bash hello_triangle/build.sh
./hello_triangle/bin/hello_triangle    # statically linked
./hello_triangle/bin/hello_triangle-sh # dynamically linked

Linux note: To run the examples, you must be in an X11 shell

dawn-lib's People

Contributors

rsms avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

Forkers

microsvuln

dawn-lib's Issues

Library and Framework not found

BUILD_DIR=out/debug
ninja: Entering directory `out/debug'
ninja: no work to do.
using C++ standard library /usr/local/Cellar/llvm/13.0.1_1/lib/libc++.a
create out/debug/libwgpu.a
create out/debug/libwgpu.dylib
ld64.lld: error: library not found for -lc
ld64.lld: error: framework not found for -framework CoreFoundation
ld64.lld: error: framework not found for -framework CoreGraphics
ld64.lld: error: framework not found for -framework QuartzCore
ld64.lld: error: framework not found for -framework IOSurface
ld64.lld: error: framework not found for -framework Metal
ld64.lld: error: framework not found for -framework IOKit
ld64.lld: error: framework not found for -framework Cocoa
ld64.lld: error: library not found for -lc++
ld64.lld: error: undefined symbol: __Unwind_Resume

referenced by out/debug/lto.cache/llvmcache-FF7E9E2FE1E2CB845556D3819423A93FE9F9BBF9

ld64.lld: error: undefined symbol: _objc_msgSend

referenced by out/debug/CMakeFiles/wgpu1.dir/wgpu_metal.mm.o

ld64.lld: error: undefined symbol: __Unwind_Resume

referenced by out/debug/lto.cache/llvmcache-FF7E9E2FE1E2CB845556D3819423A93FE9F9BBF9

ld64.lld: error: undefined symbol: __ZdlPv

referenced by out/debug/CMakeFiles/wgpu1.dir/wgpu_metal.mm.o

ld64.lld: error: undefined symbol: __Znwm

referenced by out/debug/CMakeFiles/wgpu1.dir/wgpu_metal.mm.o

ld64.lld: error: undefined symbol: __ZdlPv

referenced by out/debug/CMakeFiles/wgpu1.dir/wgpu_metal.mm.o

ld64.lld: error: undefined symbol: OBJC_CLASS$_CAMetalLayer

referenced by out/debug/CMakeFiles/wgpu1.dir/wgpu_metal.mm.o

ld64.lld: error: undefined symbol: ___gxx_personality_v0

referenced by out/debug/CMakeFiles/wgpu1.dir/wgpu_metal.mm.o

ld64.lld: error: undefined symbol: ___cxa_guard_release

referenced by out/debug/CMakeFiles/wgpu1.dir/wgpu.cc.o

ld64.lld: error: undefined symbol: ___cxa_atexit

referenced by out/debug/CMakeFiles/wgpu1.dir/wgpu.cc.o

ld64.lld: error: undefined symbol: ___cxa_guard_acquire

referenced by out/debug/CMakeFiles/wgpu1.dir/wgpu.cc.o

ld64.lld: error: too many errors emitted, stopping now (use --error-limit=0 to see all errors)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.