Browse Source

Enable traits if and only if some macros are defined

Double Sine 7 years ago
parent
commit
6722fbd562

+ 4 - 1
navicat-patcher/ResourceGuardCapstone.hpp

@@ -1,6 +1,7 @@
 #pragma once
 #include "ResourceGuard.hpp"
-#include <capstone/capstone.h>
+
+#if defined(CAPSTONE_ENGINE_H)
 
 struct CapstoneHandleTraits {
     using HandleType = csh;
@@ -10,3 +11,5 @@ struct CapstoneHandleTraits {
     }
 };
 
+#endif
+

+ 13 - 3
navicat-patcher/ResourceGuardOpenssl.hpp

@@ -1,8 +1,7 @@
 #pragma once
 #include "ResourceGuard.hpp"
-#include <openssl/bio.h>
-#include <openssl/bn.h>
-#include <openssl/rsa.h>
+
+#if defined(HEADER_BIO_H)
 
 struct OpensslBIOTraits {
     using HandleType = BIO*;
@@ -10,21 +9,32 @@ struct OpensslBIOTraits {
     static constexpr auto& Releasor = BIO_free;
 };
 
+
 struct OpensslBIOChainTraits {
     using HandleType = BIO*;
     static inline const HandleType InvalidValue = nullptr;
     static constexpr auto& Releasor = BIO_free_all;
 };
 
+#endif
+
+#if defined(HEADER_BN_H)
+
 struct OpensslBNTraits {
     using HandleType = BIGNUM*;
     static inline const HandleType InvalidValue = nullptr;
     static constexpr auto& Releasor = BN_free;
 };
 
+#endif
+
+#if defined(HEADER_RSA_H)
+
 struct OpensslRSATraits {
     using HandleType = RSA*;
     static inline const HandleType InvalidValue = nullptr;
     static constexpr auto& Releasor = RSA_free;
 };
 
+#endif
+

+ 4 - 1
navicat-patcher/ResourceGuardWin32.hpp

@@ -1,6 +1,7 @@
 #pragma once
 #include "ResourceGuard.hpp"
-#include <windows.h>
+
+#if defined(_WINDOWS_)
 
 struct GenericHandleTraits {
     using HandleType = HANDLE;
@@ -20,3 +21,5 @@ struct MapViewTraits {
     static constexpr auto& Releasor = UnmapViewOfFile;
 };
 
+#endif
+