Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Expand install.sh to allow passing configure options to GASNet #101

Open
bonachea opened this issue Apr 1, 2024 · 1 comment
Open

Expand install.sh to allow passing configure options to GASNet #101

bonachea opened this issue Apr 1, 2024 · 1 comment

Comments

@bonachea
Copy link
Member

bonachea commented Apr 1, 2024

Currently install.sh configures GASNet-EX with only three hard-coded "customization points":

  1. C Compiler
  2. C++ compiler
  3. Install prefix

ie:

FC="$FC" CC="$CC" CXX="$CXX" ./configure --prefix "$PREFIX"

I'd consider these the "bare minimum" settings necessary to get a functional GASNet-EX install, and they happen to be sufficient for smp-conduit (no network) on most systems. However this implicitly instructs GASNet's configure to use the auto-detected defaults for all other settings, for which there are several hundred (see GASNet configure --help).

Distributed systems differ wildly in the details of available network hardware and especially job spawning, such that many real deployments with a network will require additional configure arguments to override the automatic defaults with system-appropriate settings to get a working/optimal GASNet install.

This issue is to request a mechanism for the command-line invocation of install.sh to pass configure arguments to the underlying GASNet configure. Options include:

  1. My recommendation would be the approach taken by UPC++ whereby any unrecognized command-line options to install.sh are passed-through unmodified to GASNet configure. This mimics the way that configure itself operates with sub-packages.
  2. Another (complementary) mechanism would be to define an envvar like $GASNET_CONFIGURE_ARGS that supplies a list of configure options for GASNet configure. UPC++'s installer also recognizes this variable for legacy reasons, but it can also be useful in some packaging scenarios where one needs to inject configure options without directly modifying a scripted invocation of install.sh.
@ktras
Copy link
Collaborator

ktras commented Apr 3, 2024

I'm leaning towards option 2, since based on discussion with Dan in a meeting, option 2 is likely what we will want in the long term for integration into LLVM CMake build system.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants