This PR replaces the vanilla Makefiles with the use of the Autotools. As a result of this PR, DYAD now depends on the following:
autoconf
automake
libtool
pkg_config (to locate and load external packages, like Flux-Core)
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:
autogen.sh (a super simple shell script that runs libtoolize and autoreconf)
config/ax_cxx_compile_stdcxx.m4 (defines a macro for configure.ac that can check for a minimum required version of C++)
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.
This PR replaces the vanilla Makefiles with the use of the Autotools. As a result of this PR, DYAD now depends on the following:
autoconf
automake
libtool
pkg_config
(to locate and load external packages, like Flux-Core)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:
autogen.sh
(a super simple shell script that runslibtoolize
andautoreconf
)config/ax_cxx_compile_stdcxx.m4
(defines a macro forconfigure.ac
that can check for a minimum required version of C++)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 applicationconsumer
that uses the wrapper API, DYAD is managing the path/tmp/app
, and DYAD's KVS namespace istest
, you could run the following: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 indyadrun.in
to createdyadrun
. During install, the build system will installdyadrun
into thebindir
.@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 toDYAD_SHARED_STORAGE
,DYAD_NUM_CPA_POINTS
, andDYAD_SYNC_CHECK
are documented.