diff options
Diffstat (limited to 'test cases/wasm')
-rw-r--r-- | test cases/wasm/1 basic/hello.c | 6 | ||||
-rw-r--r-- | test cases/wasm/1 basic/hello.cpp | 6 | ||||
-rw-r--r-- | test cases/wasm/1 basic/hello.html | 8 | ||||
-rw-r--r-- | test cases/wasm/1 basic/meson.build | 4 | ||||
-rw-r--r-- | test cases/wasm/2 threads/meson.build | 10 | ||||
-rw-r--r-- | test cases/wasm/2 threads/threads.c | 21 | ||||
-rw-r--r-- | test cases/wasm/2 threads/threads.cpp | 13 | ||||
-rw-r--r-- | test cases/wasm/3 jslib/meson.build | 8 | ||||
-rw-r--r-- | test cases/wasm/3 jslib/prog.c | 10 | ||||
-rw-r--r-- | test cases/wasm/3 jslib/somefuncs.js | 6 |
10 files changed, 92 insertions, 0 deletions
diff --git a/test cases/wasm/1 basic/hello.c b/test cases/wasm/1 basic/hello.c new file mode 100644 index 0000000..2328803 --- /dev/null +++ b/test cases/wasm/1 basic/hello.c @@ -0,0 +1,6 @@ +#include <stdio.h> + +int main() { + printf("Hello World\n"); + return 0; +} diff --git a/test cases/wasm/1 basic/hello.cpp b/test cases/wasm/1 basic/hello.cpp new file mode 100644 index 0000000..44b14ac --- /dev/null +++ b/test cases/wasm/1 basic/hello.cpp @@ -0,0 +1,6 @@ +#include<iostream> + +int main(void) { + std::cout << "Hello World" << std::endl; + return 0; +} diff --git a/test cases/wasm/1 basic/hello.html b/test cases/wasm/1 basic/hello.html new file mode 100644 index 0000000..637bc20 --- /dev/null +++ b/test cases/wasm/1 basic/hello.html @@ -0,0 +1,8 @@ +<html> + <head> + <meta charset="utf-8"> + </head> + <body> + <script src="hello.js"></script> + </body> +</html> diff --git a/test cases/wasm/1 basic/meson.build b/test cases/wasm/1 basic/meson.build new file mode 100644 index 0000000..1092a9b --- /dev/null +++ b/test cases/wasm/1 basic/meson.build @@ -0,0 +1,4 @@ +project('emcctest', 'c', 'cpp') + +executable('hello-c', 'hello.c') +executable('hello', 'hello.cpp') diff --git a/test cases/wasm/2 threads/meson.build b/test cases/wasm/2 threads/meson.build new file mode 100644 index 0000000..cb682b8 --- /dev/null +++ b/test cases/wasm/2 threads/meson.build @@ -0,0 +1,10 @@ +project( + 'threads', + 'c', 'cpp', + default_options : ['cpp_std=c++11'], +) + +dep_threads = dependency('threads') + +executable('threads-c', 'threads.c', dependencies : dep_threads) +executable('threads-c++', 'threads.cpp', dependencies : dep_threads) diff --git a/test cases/wasm/2 threads/threads.c b/test cases/wasm/2 threads/threads.c new file mode 100644 index 0000000..7b1a46e --- /dev/null +++ b/test cases/wasm/2 threads/threads.c @@ -0,0 +1,21 @@ +#include <stdio.h> +#include <unistd.h> +#include <pthread.h> + +void inthread(void * args) { + sleep(1); + printf("In thread\n"); +} + +int main() { +#ifdef __EMSCRIPTEN_PTHREADS__ + pthread_t thread_id; + printf("Before Thread\n"); + pthread_create(&thread_id, NULL, (void *)*inthread, NULL); + pthread_join(thread_id, NULL); + printf("After Thread\n"); + return 0; +#else +# error "threads not enabled\n" +#endif +} diff --git a/test cases/wasm/2 threads/threads.cpp b/test cases/wasm/2 threads/threads.cpp new file mode 100644 index 0000000..1caa73d --- /dev/null +++ b/test cases/wasm/2 threads/threads.cpp @@ -0,0 +1,13 @@ +#include <unistd.h> +#include <iostream> +#include <thread> + +int main(void) { + std::cout << "Before thread" << std::endl; + std::thread t([]() { + sleep(1); + std::cout << "In a thread." << std::endl; + }); + t.join(); + std::cout << "After thread" << std::endl; +} diff --git a/test cases/wasm/3 jslib/meson.build b/test cases/wasm/3 jslib/meson.build new file mode 100644 index 0000000..3cc1740 --- /dev/null +++ b/test cases/wasm/3 jslib/meson.build @@ -0,0 +1,8 @@ +project('jslib', 'c') + +cc = meson.get_compiler('c') + +sf_dep = cc.find_library('somefuncs.js', dirs: meson.current_source_dir()) + +executable('libcallc', 'prog.c', + dependencies: sf_dep)
\ No newline at end of file diff --git a/test cases/wasm/3 jslib/prog.c b/test cases/wasm/3 jslib/prog.c new file mode 100644 index 0000000..780da7c --- /dev/null +++ b/test cases/wasm/3 jslib/prog.c @@ -0,0 +1,10 @@ +#include <stdio.h> +#include <emscripten.h> + +extern void sample_function(); + +int main() { + printf("Hello World\n"); + // sampleFunction(); ???? + return 0; +} diff --git a/test cases/wasm/3 jslib/somefuncs.js b/test cases/wasm/3 jslib/somefuncs.js new file mode 100644 index 0000000..1c00336 --- /dev/null +++ b/test cases/wasm/3 jslib/somefuncs.js @@ -0,0 +1,6 @@ +mergeInto(LibraryManager.library, { + sample_function__sig: 'v', + sample_function: function() { + alert("Something happened!"); + }, +}); |