flux-framework / dyad

DYAD: DYnamic and Asynchronous Data Streamliner
GNU Lesser General Public License v3.0
7 stars 5 forks source link

Replaces the use of Makefiles with the Autotools #1

Closed ilumsden closed 2 years ago

ilumsden commented 2 years ago

This PR replaces the vanilla Makefiles with the use of the Autotools. As a result of this PR, DYAD now depends on the following:

Because a version number is required for the Autotools, this PR currently gives DYAD a placeholder version of 0.1.0. The "real" initial version (including development status, like alpha, beta, etc.) should probably be decided before merging this PR.

This PR also copies two files from flux-core into DYAD:

Finally, this PR adds a new dyadrun script. This script allows users to set DYAD's environment variables using command-line arguments (instead of having to remember all those env vars). Additionally, it will also run the specified program (by interpreting the first unrecognized, non-flag argument as the program name). So, for example, if you have the application consumer that uses the wrapper API, DYAD is managing the path /tmp/app, and DYAD's KVS namespace is test, you could run the following:

$ dyadrun -c -pre -path /tmp/app -n test consumer

If searching for this script in the repository, it is actually under the name dyadrun.in. When building DYAD, Automake will replace some template variables defined in dyadrun.in to create dyadrun. During install, the build system will install dyadrun into the bindir.

@JaeseungYeom one thing that will need to be done in the future for dyadrun is that the usage statement will need to be updated so that the flags corresponding to DYAD_SHARED_STORAGE, DYAD_NUM_CPA_POINTS, and DYAD_SYNC_CHECK are documented.

ilumsden commented 2 years ago

This branch was supposed to be in a fork. Deleting this PR and will reopen the correct way.