Skip to content

Boost & libpcap's VERSION #1043

Open
Open
@gvanem

Description

@gvanem

I stumbled on an issue while building libtins with support for Boost.
When compiling libtin's src/tcp_ip/ack_tracker.cpp:

In file included from ./include\tins/tcp_ip/ack_tracker.h:38:
In file included from f:/MinGW32/src/CPP/Boost_1_74_0\boost/icl/interval_set.hpp:13:
In file included from f:/MinGW32/src/CPP/Boost_1_74_0\boost/icl/type_traits/is_interval_joiner.hpp:11:
In file included from f:/MinGW32/src/CPP/Boost_1_74_0\boost/config.hpp:44:
In file included from f:/MinGW32/src/CPP/Boost_1_74_0\boost/config/detail/select_stdlib_config.hpp:24:
f:/MinGW32/src/inet/libpcap\version(1,1): error: expected unqualified-id
1.11.0-PRE-GIT
^

The lines prior to line 24 in Boost's select_stdlib_config.hpp:

#if defined(__cplusplus) && defined(__has_include)
#  if __has_include(<version>)
// It should be safe to include `<version>` when it is present without checking
// the actual C++ language version as it consists solely of macro definitions.
// [version.syn] p1: The header <version> supplies implementation-dependent
// information about the C++ standard library (e.g., version number and release date).
#    include <version>  // << !! libpcap's VERSION. 
#  else
#    include <cstddef>
#  endif

This should be no issue on e.g. Linux. But on Windows, the filesystem is case-insensitive.
So could libpcap's VERSION please be renamed to VERSION.dat or similar (as OpenSSL does it)?

PS. I was building libtins with the dev-tree of libpcap (not the installed stuff). Using clang-cl on Win-10.

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions