regent: Add launcher interface to standard library
This MR adds a new Regent standard library which makes it easier to deploy certain kinds of Regent applications involving a Regent program with an optional mapper. There are two main API calls:
local cmapper = launcher.build_library("mapper")
Builds libmapper.so
from mapper.cc
. This automatically reads CXX
and CXXFLAGS
environment variables to use the correct C++ compiler settings for the application.
launcher.launch(main, "app", cmapper.register_mappers, {"-lmapper"})
Either runs the application directly (when SAVEOBJ=0
), or builds app
and links it to libmapper.so
(when SAVEOBJ=1
). This also obeys the de facto standard Regent environment variables SAVEOBJ
, STANDALONE
and OBJNAME
.
Edited by Elliott Slaughter