- changed title to reduce number of architecture files
reduce number of architecture files
The current mechanism in Cactus requires that there are files darwinX.Y for every single OSX release (and also for hpux, freebsd, aix, openbsd, osf, solaris, unicos, unicosmp basically anything that is not GNU/Linux) which is cumbersome as we have to keep track of Apple’s releases and always end up adding a new boilerplate file
#! /bin/sh
# /*@@
# @file darwin18.0.0
# @date 2019-03-17
# @author Roland Haas
# @desc
# Known architecture stuff for OS X (Darwin) release 18.0.0
# @enddesc
# @version $Header$
# @@*/
. $srcdir/known-architectures/darwin
Pull request https://bitbucket.org/cactuscode/cactus/pull-requests/59/cactus-allow-for-globs-in-architecture/diff avoids this by letting the files be named as shell globs and matches those globs against the architecture name.
Kind of ugly but does get the job done. An alternative may be to instead allow a magic comment:
#CCTK ARCHITECTURE=darwin[0-9]*
parse the file and use it if its REGEX matches the architecture.
Comments (12)
-
reporter -
reporter An alternative that parses the files for a string
#CCTK ARCHITECTURE darwin[0-9]*
instead is in: https://bitbucket.org/cactuscode/cactus/pull-requests/60/rhaas-architecture-globs2/diff -
reporter - changed status to open
Please review.
-
reporter Unless objected I will push https://bitbucket.org/cactuscode/cactus/pull-requests/60/rhaas-architecture-globs2/diff after 2019-06-28.
-
reporter - changed status to resolved
-
reporter This version uses awk which should be present on all POSIX systems. If this causes an issue then the branch rhaas/architecture_globs3 uses perl which we already require for other parts of the build process. Both versions are about equally complex.
-
reporter - changed status to open
known-architectures actually appears twice in configure and missing the second time (as I did) makes compilation fail on OSX since the second part is the one settings LIBS (to include gfortran when linking).
-
reporter A pull request with a fix is here: https://bitbucket.org/cactuscode/cactus/pull-requests/65/rhaas-known-architectures/diff
-
reporter - changed milestone to ET_2019_10
- marked as blocker
Newly found bug in original pull request prevent compilation on OSX.
-
reporter Please review.
-
reporter No objection by @Zach Etienne
-
reporter - changed status to resolved
- Log in to comment
The current mechanism in Cactus requires that there are files darwinX.Y for every single OSX release (and also for hpux, freebsd, aix, openbsd, osf, solaris, unicos, unicosmp basically anything that is not GNU/Linux) which is cumbersome as we have to keep track of Apple’s releases and always end up adding a new boilerplate file
Pull request https://bitbucket.org/cactuscode/cactus/pull-requests/59/cactus-allow-for-globs-in-architecture/diff avoids this by letting the files be named as shell globs and matches those globs against the architecture name.
Kind of ugly but does get the job done. An alternative may be to instead allow a magic comment:
parse the file and use it if its REGEX matches the architecture.