Files
p2p-rendering-computation/Docs/Bindings.md
Akilan Selvacoumar 65b90d7ce9 Update Bindings.md
2023-12-16 02:17:25 +00:00

1.3 KiB

Language Bindings

Language bindings refers to wrappers to bridge 2 programming languages. This is used in P2PRC to extend calling P2PRC functions in other programming languages. Currently this is done by generating .so and .h from the Go compiler.

How to build shared object files

The easier way

# Run
make sharedObjects

Or the direct way

# Run
cd Bindings && go build -buildmode=c-shared -o p2prc.so

If successfully built:

# Enter into the Bindings directory
cd Bindings
# List files
ls
# Find files
p2prc.h p2prc.so

Current languages supported

  • Python

Build sample python program

The easier way

# Run
make python
# Expected ouput
Output is in the Directory Bindings/python/export/
# Run
cd Bindings/python/export/
# list files
ls
# Expected output
SharedObjects/	p2prc.py

Above shows a generated folder which consists of a folder called "SharedObjects/" which consists of p2prc.so and p2prc.h files. p2prc.py refers to a sample python script calling P2PRC go functions. To start an any project to extend P2PRC with python, This generated folder can copied and created as a new git repo for P2PRC extensions scripted or used a reference point as proof of concept that P2PRC can be called from other programming languages.