Yuri <y...@rawbw.com> writes: > On 2019-07-10 07:19, Jan Beich wrote: > >> 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 > > > This helps with locating the header/library, but it fails to compile > in poudriere on 12.0-RELEASE-p7: > > x.cpp:213:15: error: no member named 'is_symlink' in > 'std::experimental::filesystem::v1::directory_entry' > if (entry.is_symlink()) > ~~~~~ ^
Convert "entry.is_symlink()" to "std::filesystem::is_symlink(entry)" > It looks like 12.0-RELEASE-p7 is technically broken, because it > doesn't include is_symlink(). is_symlink() exists but not as a member function of directory_entry under std::experimental namespace. Same is true even for newer versions of libc++ or libstdc++. _______________________________________________ freebsd-ports@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/freebsd-ports To unsubscribe, send any mail to "freebsd-ports-unsubscr...@freebsd.org"