überSpark: Develop CoSS Development Guide üobject collection build example

Need to flesh out a basic minimum working example of how we can build a üobject collection with the new überSpark toolchain.

Linked PR:

Re-issued PR on develop branch:

I have created a PR (linked into the OP) for testing. @Cap, can you test and confirm the example presented in the revised CoSS Development Guide works?

You will need to do a:

make clean
make docs_html

at the source root and view the docs at docs/_build/index.html. Follow the revised CoSS Development Guide and see if you are able to successfully build the hello-mul üobject collection.

Thanks!

@amitvasudevan, should the docs have an assumed environment (i.e. WSL/Ubuntu)? I was confused a bit by the --root-dir line (as I didn’t read down further to the Note that explains it). Is it worth adding a line to detect if the tool is in WSL/Ubuntu vs vanilla Ubuntu by checking /proc/version or /proc/sys/kernel/osrelease f for “Microsoft”? To determine this and set the default appropriately?

@amitvasudevan, should the docs have an assumed environment (i.e. WSL/Ubuntu)? I was confused a bit by the --root-dir line (as I didn’t read down further to the Note that explains it).

Yes, it does seem like a little bit of a kludge for the time being to handle WSL environments and docker volume mounts successfully. Maybe we can just reorder the current docs to mention the environment before we begin the example discussion.

Is it worth adding a line to detect if the tool is in WSL/Ubuntu vs vanilla Ubuntu by checking /proc/version or /proc/sys/kernel/osrelease f for “Microsoft”? To determine this and set the default appropriately?

That would be a nice addition if you think we can detect WSL/Ubuntu vs vanilla Ubuntu in a deterministic and reproducible manner. However, I do think it might be worth doing this as a separate task once this PR is merged. Thoughts?

Thanks!

@amitvasudevan, that makes sense to make it a separate PR. It has a different goal/purpose than this Task/PR. I think that will help keep things clear.

Ok great. Please let me know when you have had a chance to test the current PR and if you have any reviews thereof. I can go ahead and incorporate those changes before merging this.

Thanks!

Another potential separate task is to make a default/generic build bridges. i.e. a single line that sets up the GCC, gnu-as, and gnu-ld

@amitvasudevan, I reviewed the PR. I successfully built the example uobj (hello-mul). If you could add a comment about the docs assumed build environment earlier in prepnamespace.rst, that will help ensure there are not lingering questions about --root-dir. Otherwise, I think the PR is ready to be merged.

Thanks @Cap. Re-issued PR and merged with develop branch

Am closing this task topic. Thanks!