-
-
Notifications
You must be signed in to change notification settings - Fork 6.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Build with c++17 support #18403
Build with c++17 support #18403
Conversation
you'll want garbear@cpp17 |
I tried building on ubuntu 18.04. I'm getting the following error building libinput:
When I revert this PR libinput builds successfully. |
@garbear I just pushed a commit before you commented that should fix that issue (hopefully) |
I believe I tried with 5d80d13 and it didn't fix the problem. |
You'll need to rerun |
I found I had to do a |
Runtime tested on x11. macos is building as we speak. I get build warnings when building target depends, but I get the same warnings on master too:
|
Yay!, we had a good build. I'm not happy with the I also still need approval for some upstream package changes: |
Let me have a play with the apple side of things. In Big Sur (and xcode 12) sysroot will be required for both native and target building, therefore we will possibly need to change some of the apple ordering. This may make relocating the search unnecessary. |
Im thinking something along these lines https://paste.kodi.tv/efayisigik As mentioned above, the apple world WILL need isysroot to be set for native depends in the very near future. Still have to use a temp cache for the CXXFLAGS, as we dont want it to pollute flags for the build. ie all flags, (CFLAGS, CXXFLAGS, LDFLAGS) end up being passed through to target platform flags. we only want it for testing the compiler capabilities initially. We then AC_SUBST the native sysroot, and add that sysroot to our config.native.in for our dependencies to use later |
Objections? |
This reverts commit bd6818f.
This reverts commit bd6818f.
This reverts commit bd6818f.
This reverts commit bd6818f.
This reverts commit bd6818f.
This reverts commit bd6818f.
This reverts commit bd6818f.
This reverts commit bd6818f.
This reverts commit bd6818f.
This reverts commit bd6818f.
This reverts commit bd6818f.
This reverts commit bd6818f.
This reverts commit bd6818f.
This reverts commit bd6818f.
This reverts commit bd6818f.
This reverts commit bd6818f.
This reverts commit bd6818f.
This reverts commit bd6818f.
This reverts commit bd6818f.
This reverts commit bd6818f.
This reverts commit bd6818f.
This reverts commit bd6818f.
This reverts commit bd6818f.
This reverts commit bd6818f. This also includes a fix for the following: CLog: fix SPDLOG_LEVEL_NAMES to allow compiling Otherwise the following error occurs: xbmc/utils/log.h:12:89: error: ‘constexpr fmt::v8::basic_string_view<Char>::basic_string_view(const Char*) [with Char = char]’ called in a constant expression 12 | #define SPDLOG_LEVEL_NAMES {"TRACE", "DEBUG", "INFO", "WARNING", "ERROR", "FATAL", "OFF"}; | ^ In file included from /usr/include/fmt/format.h:44, from xbmc/utils/StringUtils.h:37, from xbmc/utils/log.h:19, /usr/include/fmt/core.h:460:3: note: ‘constexpr fmt::v8::basic_string_view<Char>::basic_string_view(const Char*) [with Char = char]’ is not usable as a ‘constexpr’ function because: 460 | basic_string_view(const Char* s) : data_(s) { | ^~~~~~~~~~~~~~~~~ /usr/include/fmt/core.h:460:3: error: member ‘fmt::v8::basic_string_view<char>::size_’ must be initialized by mem-initializer in ‘constexpr’ constructor /usr/include/fmt/core.h:439:10: note: declared here 439 | size_t size_; | ^~~~~
This reverts commit bd6818f. This also includes a fix for the following: CLog: fix SPDLOG_LEVEL_NAMES to allow compiling Otherwise the following error occurs: xbmc/utils/log.h:12:89: error: ‘constexpr fmt::v8::basic_string_view<Char>::basic_string_view(const Char*) [with Char = char]’ called in a constant expression 12 | #define SPDLOG_LEVEL_NAMES {"TRACE", "DEBUG", "INFO", "WARNING", "ERROR", "FATAL", "OFF"}; | ^ In file included from /usr/include/fmt/format.h:44, from xbmc/utils/StringUtils.h:37, from xbmc/utils/log.h:19, /usr/include/fmt/core.h:460:3: note: ‘constexpr fmt::v8::basic_string_view<Char>::basic_string_view(const Char*) [with Char = char]’ is not usable as a ‘constexpr’ function because: 460 | basic_string_view(const Char* s) : data_(s) { | ^~~~~~~~~~~~~~~~~ /usr/include/fmt/core.h:460:3: error: member ‘fmt::v8::basic_string_view<char>::size_’ must be initialized by mem-initializer in ‘constexpr’ constructor /usr/include/fmt/core.h:439:10: note: declared here 439 | size_t size_; | ^~~~~
Let's see how this goes. Now with the RPi toolchain out of the way
we only may have to update the one build box to Ubuntu 18.04.(done).