Hi Ved,
Yes, the trick is to declare the functions you want to import in your C source, then pass the `--allow-undefined` flag to wasm-ld when linking your wasm module. Here's a complete example:
hello.c:
```
int print_int(int x);
int do_work(int x) {
print_int(x);
return x;
}
```
clang -target wasm32 -c hello.c -o hello.o
wasm-ld hello.o -o hello.wasm --no-entry --allow-undefined --export=do_work
This will give you a wasm module that imports function "env" "print_int" and exports function "do_work". Note that Wasm uses a two-level namespace for imports, but the first level will always be "env" unless you annotate the function declaration with `__attribute__((import_module("my_other_namespace")))`.
Best,
Thomas