stdlib-js / stdlib-js/stdlib

[RFC]: automated/make recipe for generation of manifest files for C implementation of a package

Open
#2,154 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
JavaScript
Stars
6k
Forks
1.3k
Avg merge
1d 3h
Merged PRs (30d)
611

Description

### Description

This RFC proposes a make recipe `genmanifest*` that can be used to generate `include.gypi` , `binding.gyp` and `manifest.json`

> * *: name can be subjected to change in future

Right now, the creation of these files has been manual, that is, for every C implementation for a package such as `@stdlib/math/base/special/fast/abs` we need to create these files manually, copying the includes and binding gyp files from existing related packages and create manifest.json depending on the dependencies used by the package

automating this can help in easing these tasks and also lessen the burden on the contributor as well as new comers.

A working prototype for this would be :

![image](https://github.com/stdlib-js/stdlib/assets/73595362/b02f0fb7-ac84-4858-868f-d5ea27d17d84)

this prototype extracts dependencies used in C files from src, benchmark and examples folder and generate the related manifest.json , include.gypi and binding.gyp for that package

this can be further expanded to support blas as blas manifest.json also follows a similiar pattern based on the related file name like `ccopy.f` is being used in mac and there are 5 os based confs

### Related Issues

n/a

### Questions

No.

### Other

No.

### Checklist

- [X] I have read and understood the [Code of Conduct](https://github.com/stdlib-js/stdlib/blob/develop/CODE_OF_CONDUCT.md).
- [X] Searched for existing issues and pull requests.
- [X] The issue name begins with `RFC:`.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.