Try MICRO_PIP fixes via opencode
This commit is contained in:
@@ -251,9 +251,11 @@ extern char ** environ;
|
||||
# endif
|
||||
|
||||
# ifdef MICRO_PIP
|
||||
# define __PIP_TYPENAME__(T) "?"
|
||||
# define __PIP_TYPENAME__(T) "?"
|
||||
# elif defined(__GXX_RTTI__) || defined(__RTTI__)
|
||||
# define __PIP_TYPENAME__(T) typeid(T).name()
|
||||
# else
|
||||
# define __PIP_TYPENAME__(T) typeid(T).name()
|
||||
# define __PIP_TYPENAME__(T) "?"
|
||||
# endif
|
||||
|
||||
# ifdef CC_GCC
|
||||
|
||||
@@ -28,7 +28,7 @@
|
||||
|
||||
#include "pibase.h"
|
||||
|
||||
#ifndef MICRO_PIP
|
||||
#ifndef PIP_NO_THREADS
|
||||
|
||||
# include "piincludes.h"
|
||||
|
||||
@@ -47,6 +47,30 @@ public:
|
||||
|
||||
static __PIInit_Initializer__ __piinit_initializer__;
|
||||
|
||||
#ifdef MICRO_PIP
|
||||
#ifndef PIINIT_MICRO_STUB_DEFINED
|
||||
#define PIINIT_MICRO_STUB_DEFINED
|
||||
|
||||
int __PIInit_Initializer__::count_ = 0;
|
||||
PIInit * __PIInit_Initializer__::__instance__ = nullptr;
|
||||
|
||||
__PIInit_Initializer__::__PIInit_Initializer__() {
|
||||
count_++;
|
||||
if (count_ > 1) return;
|
||||
__instance__ = nullptr;
|
||||
}
|
||||
|
||||
__PIInit_Initializer__::~__PIInit_Initializer__() {
|
||||
count_--;
|
||||
if (count_ > 0) return;
|
||||
if (__instance__ != nullptr) {
|
||||
__instance__ = nullptr;
|
||||
}
|
||||
}
|
||||
|
||||
#endif
|
||||
#endif
|
||||
|
||||
|
||||
class PIP_EXPORT PIInit {
|
||||
friend class __PIInit_Initializer__;
|
||||
@@ -88,5 +112,5 @@ private:
|
||||
};
|
||||
|
||||
|
||||
#endif // MICRO_PIP
|
||||
#endif // PIP_NO_THREADS
|
||||
#endif // PIINIT_H
|
||||
|
||||
Reference in New Issue
Block a user