Fixes for compiling glslang on Android.
Primarily fix is due to Android not supporting std::to_string().
This commit is contained in:
parent
f99b7dde08
commit
8b64fa5474
@ -42,6 +42,7 @@
|
|||||||
|
|
||||||
#include <algorithm>
|
#include <algorithm>
|
||||||
#include <cassert>
|
#include <cassert>
|
||||||
|
#include "../glslang/Include/Common.h"
|
||||||
|
|
||||||
namespace spv {
|
namespace spv {
|
||||||
|
|
||||||
|
@ -24,7 +24,9 @@ set(LIBRARIES
|
|||||||
if(WIN32)
|
if(WIN32)
|
||||||
set(LIBRARIES ${LIBRARIES} psapi)
|
set(LIBRARIES ${LIBRARIES} psapi)
|
||||||
elseif(UNIX)
|
elseif(UNIX)
|
||||||
set(LIBRARIES ${LIBRARIES} pthread)
|
if(NOT ANDROID)
|
||||||
|
set(LIBRARIES ${LIBRARIES} pthread)
|
||||||
|
endif()
|
||||||
endif(WIN32)
|
endif(WIN32)
|
||||||
|
|
||||||
target_link_libraries(glslangValidator ${LIBRARIES})
|
target_link_libraries(glslangValidator ${LIBRARIES})
|
||||||
|
@ -51,6 +51,17 @@
|
|||||||
#define UINT_PTR uintptr_t
|
#define UINT_PTR uintptr_t
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifdef __ANDROID__
|
||||||
|
#include <sstream>
|
||||||
|
namespace std {
|
||||||
|
template<typename T>
|
||||||
|
std::string to_string(const T& val) {
|
||||||
|
std::ostringstream os;
|
||||||
|
os << val;
|
||||||
|
return os.str();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#endif
|
||||||
/* windows only pragma */
|
/* windows only pragma */
|
||||||
#ifdef _MSC_VER
|
#ifdef _MSC_VER
|
||||||
#pragma warning(disable : 4786) // Don't warn about too long identifiers
|
#pragma warning(disable : 4786) // Don't warn about too long identifiers
|
||||||
|
@ -48,6 +48,8 @@ namespace {
|
|||||||
bool is_positive_infinity(double x) {
|
bool is_positive_infinity(double x) {
|
||||||
#ifdef _MSC_VER
|
#ifdef _MSC_VER
|
||||||
return _fpclass(x) == _FPCLASS_PINF;
|
return _fpclass(x) == _FPCLASS_PINF;
|
||||||
|
#elif defined __ANDROID__
|
||||||
|
return std::isinf(x) && (x >= 0);
|
||||||
#else
|
#else
|
||||||
return isinf(x) && (x >= 0);
|
return isinf(x) && (x >= 0);
|
||||||
#endif
|
#endif
|
||||||
|
@ -62,6 +62,9 @@ void DetachThreadLinux(void *)
|
|||||||
//
|
//
|
||||||
void OS_CleanupThreadData(void)
|
void OS_CleanupThreadData(void)
|
||||||
{
|
{
|
||||||
|
#ifdef __ANDROID__
|
||||||
|
DetachThread();
|
||||||
|
#else
|
||||||
int old_cancel_state, old_cancel_type;
|
int old_cancel_state, old_cancel_type;
|
||||||
void *cleanupArg = NULL;
|
void *cleanupArg = NULL;
|
||||||
|
|
||||||
@ -85,6 +88,7 @@ void OS_CleanupThreadData(void)
|
|||||||
// Restore the thread's previous cancellation mode.
|
// Restore the thread's previous cancellation mode.
|
||||||
//
|
//
|
||||||
pthread_setcanceltype(old_cancel_state, NULL);
|
pthread_setcanceltype(old_cancel_state, NULL);
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user