12.0-RELEASE-p7 doesn't contain std::filesystem that has been added to 12.0-STABLE some time later

Jan Beich jbeich at FreeBSD.org
Wed Jul 10 14:19:30 UTC 2019


Yuri <yuri at rawbw.com> writes:

> Maybe the patch level should be updated, because any port using
> std::filesystem fails in the current poudriere 12.0-RELEASE-p7 VM.

Which port? What error? std::filesystem can be used on any FreeBSD version.

C++ example:

  #if __cplusplus >= 201703L && __has_include(<filesystem>)
  #include <filesystem>
  #else
  #include <experimental/filesystem>
  namespace std {
    namespace filesystem = experimental::filesystem;
  }
  #endif

Makefile example:

  .if exists(/usr/lib/libc++fs.a)
  LIBS+=	-lc++fs
  .elif exists(/usr/lib/libc++experimental.a)
  # XXX Remove after FreeBSD 12.0 EOL
  LIBS+=	-lc++experimental
  .else
  # XXX Remove after FreeBSD 11.2 EOL
  USE_GCC=	yes
  LIBS+=	-lstdc++fs
  .endif


More information about the freebsd-ports mailing list