gem5-dev@gem5.org

The gem5 Developer List

View all threads

[S] Change in gem5/gem5[develop]: scons: Add stdc++fs and libc++experimental for clang LIBS env

MJ
Melissa Jost (Gerrit)
Mon, Apr 24, 2023 11:30 PM

Melissa Jost has submitted this change. (
https://gem5-review.googlesource.com/c/public/gem5/+/69777?usp=email )

Change subject: scons: Add stdc++fs and libc++experimental for clang LIBS
env
......................................................................

scons: Add stdc++fs and libc++experimental for clang LIBS env

This change fixes a failure in the compiler tests:
https://jenkins.gem5.org/job/compiler-checks/573/

These tests were failing due to the use of std::filesystem, which
requires 'stdc++fs' to be linked for clang versions 6
through 10.

Change-Id: I4fa03923e8dc616046dead939c77d49b301de36b
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/69777
Reviewed-by: Bobby Bruce bbruce@ucdavis.edu
Maintainer: Bobby Bruce bbruce@ucdavis.edu
Tested-by: kokoro noreply+kokoro@google.com

M SConstruct
1 file changed, 12 insertions(+), 0 deletions(-)

Approvals:
Bobby Bruce: Looks good to me, approved; Looks good to me, approved
kokoro: Regressions pass

diff --git a/SConstruct b/SConstruct
index 7e8f177..b784a04 100755
--- a/SConstruct
+++ b/SConstruct
@@ -512,6 +512,18 @@

      env.Append(TCMALLOC_CCFLAGS=['-fno-builtin'])
  •    if compareVersions(env['CXXVERSION'], "11") < 0:
    
  •        # `libstdc++fs`` must be explicitly linked for  
    

`std::filesystem``

  •        # in clang versions 6 through 10.
    
  •        #
    
  •        # In addition, for these versions, the
    
  •        # `std::filesystem` is under the `experimental`
    
  •        # namespace(`std::experimental::filesystem`).
    
  •        #
    
  •        # Note: gem5 does not support clang versions < 6.
    
  •        env.Append(LIBS=['stdc++fs'])
    
  •     # On Mac OS X/Darwin we need to also use libc++ (part of XCode) as
        # opposed to libstdc++, as the later is dated.
        if sys.platform == "darwin":
    

--
To view, visit
https://gem5-review.googlesource.com/c/public/gem5/+/69777?usp=email
To unsubscribe, or for help writing mail filters, visit
https://gem5-review.googlesource.com/settings

Gerrit-MessageType: merged
Gerrit-Project: public/gem5
Gerrit-Branch: develop
Gerrit-Change-Id: I4fa03923e8dc616046dead939c77d49b301de36b
Gerrit-Change-Number: 69777
Gerrit-PatchSet: 3
Gerrit-Owner: Melissa Jost melissakjost@gmail.com
Gerrit-Reviewer: Bobby Bruce bbruce@ucdavis.edu
Gerrit-Reviewer: Gabe Black gabe.black@gmail.com
Gerrit-Reviewer: Melissa Jost mkjost@ucdavis.edu
Gerrit-Reviewer: kokoro noreply+kokoro@google.com

Melissa Jost has submitted this change. ( https://gem5-review.googlesource.com/c/public/gem5/+/69777?usp=email ) Change subject: scons: Add stdc++fs and libc++experimental for clang LIBS env ...................................................................... scons: Add stdc++fs and libc++experimental for clang LIBS env This change fixes a failure in the compiler tests: https://jenkins.gem5.org/job/compiler-checks/573/ These tests were failing due to the use of `std::filesystem`, which requires 'stdc++fs' to be linked for clang versions 6 through 10. Change-Id: I4fa03923e8dc616046dead939c77d49b301de36b Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/69777 Reviewed-by: Bobby Bruce <bbruce@ucdavis.edu> Maintainer: Bobby Bruce <bbruce@ucdavis.edu> Tested-by: kokoro <noreply+kokoro@google.com> --- M SConstruct 1 file changed, 12 insertions(+), 0 deletions(-) Approvals: Bobby Bruce: Looks good to me, approved; Looks good to me, approved kokoro: Regressions pass diff --git a/SConstruct b/SConstruct index 7e8f177..b784a04 100755 --- a/SConstruct +++ b/SConstruct @@ -512,6 +512,18 @@ env.Append(TCMALLOC_CCFLAGS=['-fno-builtin']) + if compareVersions(env['CXXVERSION'], "11") < 0: + # `libstdc++fs`` must be explicitly linked for `std::filesystem`` + # in clang versions 6 through 10. + # + # In addition, for these versions, the + # `std::filesystem` is under the `experimental` + # namespace(`std::experimental::filesystem`). + # + # Note: gem5 does not support clang versions < 6. + env.Append(LIBS=['stdc++fs']) + + # On Mac OS X/Darwin we need to also use libc++ (part of XCode) as # opposed to libstdc++, as the later is dated. if sys.platform == "darwin": -- To view, visit https://gem5-review.googlesource.com/c/public/gem5/+/69777?usp=email To unsubscribe, or for help writing mail filters, visit https://gem5-review.googlesource.com/settings Gerrit-MessageType: merged Gerrit-Project: public/gem5 Gerrit-Branch: develop Gerrit-Change-Id: I4fa03923e8dc616046dead939c77d49b301de36b Gerrit-Change-Number: 69777 Gerrit-PatchSet: 3 Gerrit-Owner: Melissa Jost <melissakjost@gmail.com> Gerrit-Reviewer: Bobby Bruce <bbruce@ucdavis.edu> Gerrit-Reviewer: Gabe Black <gabe.black@gmail.com> Gerrit-Reviewer: Melissa Jost <mkjost@ucdavis.edu> Gerrit-Reviewer: kokoro <noreply+kokoro@google.com>