Skip to content

replace --use-compiler-cache with --use-ccache and --use-f90cache#1912

Merged
boegel merged 2 commits intoeasybuilders:developfrom
boegel:ccache
Sep 16, 2016
Merged

replace --use-compiler-cache with --use-ccache and --use-f90cache#1912
boegel merged 2 commits intoeasybuilders:developfrom
boegel:ccache

Conversation

@boegel
Copy link
Copy Markdown
Member

@boegel boegel commented Sep 16, 2016

The most recent version of f90cache doesn't support GCC 5.x, and ccache 3.3 supports Fortran(77).

Besides that, it makes sense to split this up in order not to enforce using both ccache and f90cache, especially since the latter breaks Fortran compilation for recent GCC versions by doing an exit if the GCC version is too new (rather than acting as a fall through , which it should be doing).

Since --use-compiler-cache is not included in a released EasyBuild version yet, I feel it's OK to make this change now.

@boegel boegel added this to the v2.9.0 milestone Sep 16, 2016
if build_option('use_compiler_cache'):
self.prepare_compiler_cache()
# consider f90cache first, since ccache can also wrap Fortran compilers
for cache_tool in [F90CACHE, CCACHE]:
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

should the list of all tools also be a global?

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

it's only used in one place now, and it has to be in a specific order here, so I don't see the point in making it available globally? it'll make it harder to see why it's in a particular order


# set paths that should be used by compiler caching tool
comp_cache_path = build_option('use_%s' % cache_tool)
setvar('%s_DIR' % cache_tool.upper(), comp_cache_path)
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

are these values printed somewhere (for debug)?

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

setvar will issue a log message (which is exactly why I switched to using setvar)

@boegel
Copy link
Copy Markdown
Member Author

boegel commented Sep 16, 2016

Thanks @wpoely86!

@boegel boegel merged commit 2cfe64c into easybuilders:develop Sep 16, 2016
@boegel boegel deleted the ccache branch September 16, 2016 15:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants