[Chapel Merge] Update PALS launcher to work with or without `cray

Branch: refs/heads/main
Revision: 57ffb5f
Author: gbtitus
Link: Update PALS launcher to work with or without `cray` wrapper. by gbtitus · Pull Request #19230 · chapel-lang/chapel · GitHub
Log Message:

Merge pull request #19230 from gbtitus/update-pals-launcher

Update PALS launcher to work with or without cray wrapper.

(Reviewed by @ronawho and @jhh67.)

HPE Cray EX system configurations have evolved such that the PALS
launcher used with the PBS workload manager may either be exposed
directly to the user or hidden behind a cray wrapper. Here, make
the Chapel PALS launcher work in either case.

While here, also refactor to create a common function for finding an
executable in the PATH.

Note that much of this was tested by inspection due to lack of
availability of systems with the affected WLMs and/or launchers.

Modified Files:
M make/compiler/Makefile.gnu

M runtime/include/chpllaunch.h
M runtime/src/chpl-launcher-common.c
M runtime/src/launch/pals/launch-pals.c
M runtime/src/launch/pals/pals-utils.c
M runtime/src/launch/pbs-aprun/launch-pbs-aprun.c

Compare: https://github.com/chapel-lang/chapel/compare/4e679f1d8831...57ffb5f73e47