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())
        ~~~~~ ^

It looks like 12.0-RELEASE-p7 is technically broken, because it doesn't include is_symlink().


Yuri



_______________________________________________
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"

Reply via email to