[Chapel Merge] C Interoperability Primer

Branch: refs/heads/main
Revision: 091a021
Author: ShreyasKhandekar
Log Message:

Merge pull request #18030 from ShreyasKhandekar/cInteropPrimerRebase

C Interoperability Primer

This is aimed at providing a primer to demonstrate some of Chapel's interoperability functionality of calling C code from Chapel and vice-versa.

The Changes made are:

  • Builds upon the primer by @lydia-duncan she started in #11858
  • Adds more examples of emptystructs
  • Examples of procs using refs using a simple factorial example
  • Compiling the libraries and satisfying dependencies
  • Added a test for interopWithC.chpl

Signed-off-by: Shreyas Khandekar shreyaskhandekar@email.arizona.edu
[Reviewed by @lydia-duncan and @stonea]

Modified Files:
A test/release/examples/primers/.gitignore

A test/release/examples/primers/cClient.cleanfiles
A test/release/examples/primers/cClient.good
A test/release/examples/primers/cClient.lastcompopts
A test/release/examples/primers/cClient.precomp
A test/release/examples/primers/cClient.skipif
A test/release/examples/primers/cClient.test.c
A test/release/examples/primers/cHelper.c
A test/release/examples/primers/cHelper.h
A test/release/examples/primers/fact.c
A test/release/examples/primers/fact.h
A test/release/examples/primers/interopWithC.chpl
A test/release/examples/primers/interopWithC.good
A test/release/examples/primers/interopWithC.skipif
M doc/Makefile
M doc/rst/meta/primers/index.rst
M doc/rst/technotes/libraries.rst

Compare: https://github.com/chapel-lang/chapel/compare/fa48c058c4f7...091a021f6494