mirror of
https://github.com/wpilibsuite/allwpilib
synced 2026-07-03 03:01:44 +00:00
Fix more emscripten compiler errors (#7895)
I ran the CMake configure with:
```bash
emcmake cmake -B build-wasm -S . \
-DCMAKE_BUILD_TYPE=Release \
-DBUILD_SHARED_LIBS=OFF \
-DWITH_SIMULATION_MODULES=OFF \
-DWITH_PROTOBUF=OFF \
-DWITH_GUI=OFF \
-DWITH_CSCORE=OFF
```
* Turned off simulation modules because they require shared libraries
* Turned off GUI because glfw requires libssh
* Turned off cscore because it requires OpenCV
I still get the following compiler errors:
```
/home/tav/frc/wpilib/allwpilib/wpinet/src/main/native/thirdparty/libuv/src/unix/linux.cpp:43:10: fatal error: 'sys/epoll.h' file not found
43 | #include <sys/epoll.h>
| ^~~~~~~~~~~~~
```
```
/home/tav/frc/wpilib/allwpilib/wpinet/src/main/native/thirdparty/libuv/src/unix/stream.cpp:991:56: error: comparison of integers of different signs: 'unsigned long' and 'long' [-Werror,-Wsign-compare]
991 | for (cmsg = CMSG_FIRSTHDR(msg); cmsg != NULL; cmsg = CMSG_NXTHDR(msg, cmsg)) {
| ^~~~~~~~~~~~~~~~~~~~~~
/home/tav/.cache/emscripten/sysroot/include/sys/socket.h:358:44: note: expanded from macro 'CMSG_NXTHDR'
358 | __CMSG_LEN(cmsg) + sizeof(struct cmsghdr) >= __MHDR_END(mhdr) - (unsigned char *)(cmsg) \
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
```
/home/tav/frc/wpilib/allwpilib/wpinet/src/main/native/thirdparty/libuv/src/unix/core.cpp:748:56: error: comparison of integers of different signs: 'unsigned long' and 'long' [-Werror,-Wsign-compare]
748 | for (cmsg = CMSG_FIRSTHDR(msg); cmsg != NULL; cmsg = CMSG_NXTHDR(msg, cmsg))
| ^~~~~~~~~~~~~~~~~~~~~~
/home/tav/.cache/emscripten/sysroot/include/sys/socket.h:358:44: note: expanded from macro 'CMSG_NXTHDR'
358 | __CMSG_LEN(cmsg) + sizeof(struct cmsghdr) >= __MHDR_END(mhdr) - (unsigned char *)(cmsg) \
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
This commit is contained in:
18
wpiutil/src/main/native/thirdparty/debugging/src/emscripten.cpp
vendored
Normal file
18
wpiutil/src/main/native/thirdparty/debugging/src/emscripten.cpp
vendored
Normal file
@@ -0,0 +1,18 @@
|
||||
#if defined(__EMSCRIPTEN__)
|
||||
|
||||
# include <debugging.hpp>
|
||||
|
||||
# include <atomic>
|
||||
# include <fstream>
|
||||
# include <string>
|
||||
|
||||
namespace wpi {
|
||||
|
||||
bool is_debugger_present() noexcept
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
} // namespace wpi
|
||||
|
||||
#endif
|
||||
@@ -656,32 +656,32 @@ namespace wpi
|
||||
/// \returns The number of bytes `value` is in the given unit.
|
||||
/// \ingroup memory_core
|
||||
/// @{
|
||||
constexpr std::size_t operator"" _KiB(unsigned long long value) noexcept
|
||||
constexpr std::size_t operator""_KiB(unsigned long long value) noexcept
|
||||
{
|
||||
return std::size_t(value * 1024);
|
||||
}
|
||||
|
||||
constexpr std::size_t operator"" _KB(unsigned long long value) noexcept
|
||||
constexpr std::size_t operator""_KB(unsigned long long value) noexcept
|
||||
{
|
||||
return std::size_t(value * 1000);
|
||||
}
|
||||
|
||||
constexpr std::size_t operator"" _MiB(unsigned long long value) noexcept
|
||||
constexpr std::size_t operator""_MiB(unsigned long long value) noexcept
|
||||
{
|
||||
return std::size_t(value * 1024 * 1024);
|
||||
}
|
||||
|
||||
constexpr std::size_t operator"" _MB(unsigned long long value) noexcept
|
||||
constexpr std::size_t operator""_MB(unsigned long long value) noexcept
|
||||
{
|
||||
return std::size_t(value * 1000 * 1000);
|
||||
}
|
||||
|
||||
constexpr std::size_t operator"" _GiB(unsigned long long value) noexcept
|
||||
constexpr std::size_t operator""_GiB(unsigned long long value) noexcept
|
||||
{
|
||||
return std::size_t(value * 1024 * 1024 * 1024);
|
||||
}
|
||||
|
||||
constexpr std::size_t operator"" _GB(unsigned long long value) noexcept
|
||||
constexpr std::size_t operator""_GB(unsigned long long value) noexcept
|
||||
{
|
||||
return std::size_t(value * 1000 * 1000 * 1000);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user