javonet-ruby-sdk 2.4.8 → 2.4.9

Sign up to get free protection for your applications and to get access to all the features.
Files changed (219) hide show
  1. checksums.yaml +4 -4
  2. data/VERSION +1 -1
  3. data/lib/javonet-ruby-sdk/Binaries/Clr/Windows/X64/Javonet.Clr.Utils.dll +0 -0
  4. data/lib/javonet-ruby-sdk/Binaries/Clr/Windows/X64/JavonetClrRuntime.dll +0 -0
  5. data/lib/javonet-ruby-sdk/Binaries/Jvm/Linux/X64/JavonetJvmRuntime.jar +0 -0
  6. data/lib/javonet-ruby-sdk/Binaries/Jvm/MacOs/X64/JavonetJvmRuntime.jar +0 -0
  7. data/lib/javonet-ruby-sdk/Binaries/Jvm/Windows/X64/JavonetJvmRuntime.jar +0 -0
  8. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetActivationService.so +0 -0
  9. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetCppRuntimeNative.so +0 -0
  10. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetGoRuntimeNative.so +0 -0
  11. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetJvmRuntimeNative.so +0 -0
  12. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetNetcoreRuntimeNative.so +0 -0
  13. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetNodejs1816RuntimeNative.so +0 -0
  14. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetNodejsRuntimeNative.so +0 -0
  15. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetPerlRuntimeNative.so +0 -0
  16. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetPythonRuntimeNative.so +0 -0
  17. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetRuby278RuntimeNative.so +0 -0
  18. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetRubyRuntimeNative.so +0 -0
  19. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetTcpClient.so +0 -0
  20. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetTcpTlsClient.so +0 -0
  21. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libUtils.so +0 -0
  22. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/openssl3/libJavonetActivationService.so +0 -0
  23. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/openssl3/libJavonetTcpTlsClient.so +0 -0
  24. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/openssl3/libUtils.so +0 -0
  25. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/version.txt +1 -1
  26. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetActivationService.dylib +0 -0
  27. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetCppRuntimeNative.dylib +0 -0
  28. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetGoRuntimeNative.dylib +0 -0
  29. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetJvmRuntimeNative.dylib +0 -0
  30. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetNetcoreRuntimeNative.dylib +0 -0
  31. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetNodejs1816RuntimeNative.dylib +0 -0
  32. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetNodejsRuntimeNative.dylib +0 -0
  33. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetPerlRuntimeNative.dylib +0 -0
  34. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetPythonRuntimeNative.dylib +0 -0
  35. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetRuby278RuntimeNative.dylib +0 -0
  36. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetRubyRuntimeNative.dylib +0 -0
  37. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetTcpClient.dylib +0 -0
  38. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetTcpTlsClient.dylib +0 -0
  39. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libUtils.dylib +0 -0
  40. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/version.txt +1 -1
  41. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetActivationService.dll +0 -0
  42. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetClrRuntimeNative.dll +0 -0
  43. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetCppRuntimeNative.dll +0 -0
  44. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetGoRuntimeNative.dll +0 -0
  45. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetJvmRuntimeNative.dll +0 -0
  46. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetNetcoreRuntimeNative.dll +0 -0
  47. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetNodejs1816RuntimeNative.dll +0 -0
  48. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetNodejsRuntimeNative.dll +0 -0
  49. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetPerlRuntimeNative.dll +0 -0
  50. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetPythonRuntimeNative.dll +0 -0
  51. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetRuby278RuntimeNative.dll +0 -0
  52. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetRubyRuntimeNative.dll +0 -0
  53. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetTcpClient.dll +0 -0
  54. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetTcpTlsClient.dll +0 -0
  55. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/Utils.dll +0 -0
  56. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/version.txt +1 -1
  57. data/lib/javonet-ruby-sdk/Binaries/Netcore/Linux/X64/Javonet.Netcore.Core.dll +0 -0
  58. data/lib/javonet-ruby-sdk/Binaries/Netcore/Linux/X64/Javonet.Netcore.Utils.dll +0 -0
  59. data/lib/javonet-ruby-sdk/Binaries/Netcore/MacOs/X64/Javonet.Netcore.Core.dll +0 -0
  60. data/lib/javonet-ruby-sdk/Binaries/Netcore/MacOs/X64/Javonet.Netcore.Utils.dll +0 -0
  61. data/lib/javonet-ruby-sdk/Binaries/Netcore/Windows/X64/Javonet.Netcore.Core.dll +0 -0
  62. data/lib/javonet-ruby-sdk/Binaries/Netcore/Windows/X64/Javonet.Netcore.Utils.dll +0 -0
  63. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/ExtUtils/Helpers/Unix.pm +2 -2
  64. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/ExtUtils/Helpers/VMS.pm +2 -2
  65. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/ExtUtils/Helpers/Windows.pm +2 -2
  66. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/ExtUtils/Helpers.pm +10 -8
  67. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/ExtUtils/InstallPaths.pm +9 -7
  68. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/Module/Build/Tiny.pm +2 -2
  69. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/Nice/Try.pm +146 -23
  70. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/Class/Load/XS/XS.so +0 -0
  71. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/Data/UUID/UUID.so +0 -0
  72. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/FFI/Platypus/Platypus.so +0 -0
  73. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/List/Util/Util.so +0 -0
  74. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/Moose/Moose.so +0 -0
  75. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/PPI/XS/XS.so +0 -0
  76. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/Package/Stash/XS/XS.so +0 -0
  77. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/Params/Util/Util.so +0 -0
  78. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/Want/Want.so +0 -0
  79. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/autobox/autobox.so +0 -0
  80. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/share/dist/FFI-Platypus/lib/libplfill.so +0 -0
  81. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/autobox.pm +2 -2
  82. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/autobox.pod +27 -26
  83. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/perllocal.pod +88 -154
  84. data/lib/javonet-ruby-sdk/Binaries/Perl/MacOs/X64/deps/lib/perl5/ExtUtils/Helpers/Unix.pm +2 -2
  85. data/lib/javonet-ruby-sdk/Binaries/Perl/MacOs/X64/deps/lib/perl5/ExtUtils/Helpers/VMS.pm +2 -2
  86. data/lib/javonet-ruby-sdk/Binaries/Perl/MacOs/X64/deps/lib/perl5/ExtUtils/Helpers/Windows.pm +2 -2
  87. data/lib/javonet-ruby-sdk/Binaries/Perl/MacOs/X64/deps/lib/perl5/ExtUtils/Helpers.pm +10 -8
  88. data/lib/javonet-ruby-sdk/Binaries/Perl/MacOs/X64/deps/lib/perl5/ExtUtils/InstallPaths.pm +9 -7
  89. data/lib/javonet-ruby-sdk/Binaries/Perl/MacOs/X64/deps/lib/perl5/Module/Build/Tiny.pm +2 -2
  90. data/lib/javonet-ruby-sdk/Binaries/Perl/MacOs/X64/deps/lib/perl5/Nice/Try.pm +146 -23
  91. data/lib/javonet-ruby-sdk/Binaries/Perl/MacOs/X64/deps/lib/perl5/darwin-thread-multi-2level/auto/Package/Stash/XS/XS.bundle +0 -0
  92. data/lib/javonet-ruby-sdk/Binaries/Perl/MacOs/X64/deps/lib/perl5/darwin-thread-multi-2level/auto/autobox/autobox.bundle +0 -0
  93. data/lib/javonet-ruby-sdk/Binaries/Perl/MacOs/X64/deps/lib/perl5/darwin-thread-multi-2level/autobox.pm +2 -2
  94. data/lib/javonet-ruby-sdk/Binaries/Perl/MacOs/X64/deps/lib/perl5/darwin-thread-multi-2level/autobox.pod +27 -26
  95. data/lib/javonet-ruby-sdk/Binaries/Perl/MacOs/X64/deps/lib/perl5/darwin-thread-multi-2level/perllocal.pod +82 -148
  96. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/auto/Data/UUID/UUID.xs.dll +0 -0
  97. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/auto/PPI/XS/XS.xs.dll +0 -0
  98. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/auto/Scalar/Util/Numeric/Numeric.xs.dll +0 -0
  99. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/auto/Want/Want.xs.dll +0 -0
  100. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/auto/autobox/autobox.xs.dll +0 -0
  101. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/autobox.pm +2 -2
  102. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/autobox.pod +27 -26
  103. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/perllocal.pod +40 -18
  104. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/lib/perl5/Nice/Try.pm +146 -23
  105. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/lib/perl5/Test/Fatal.pm +477 -0
  106. data/lib/javonet-ruby-sdk/Binaries/Python/Linux/X64/javonet/core/interpreter/Interpreter.py +11 -9
  107. data/lib/javonet-ruby-sdk/Binaries/Python/Linux/X64/javonet/core/protocol/CommandSerializer.py +3 -16
  108. data/lib/javonet-ruby-sdk/Binaries/Python/Linux/X64/javonet/core/receiver/Receiver.py +3 -1
  109. data/lib/javonet-ruby-sdk/Binaries/Python/Linux/X64/javonet/core/referenceCache/ReferencesCache.py +2 -1
  110. data/lib/javonet-ruby-sdk/Binaries/Python/Linux/X64/javonet/core/transmitter/Transmitter.py +2 -14
  111. data/lib/javonet-ruby-sdk/Binaries/Python/Linux/X64/javonet/core/webSocketClient/WebSocketClient.py +32 -0
  112. data/lib/javonet-ruby-sdk/Binaries/Python/Linux/X64/javonet/utils/ConnectionType.py +1 -0
  113. data/lib/javonet-ruby-sdk/Binaries/Python/Linux/X64/javonet/utils/connectionData/IConnectionData.py +18 -0
  114. data/lib/javonet-ruby-sdk/Binaries/Python/Linux/X64/javonet/utils/connectionData/InMemoryConnectionData.py +23 -0
  115. data/lib/javonet-ruby-sdk/Binaries/Python/Linux/X64/javonet/utils/connectionData/TcpConnectionData.py +67 -0
  116. data/lib/javonet-ruby-sdk/Binaries/Python/Linux/X64/javonet/utils/connectionData/WsConnectionData.py +30 -0
  117. data/lib/javonet-ruby-sdk/Binaries/Python/Linux/X64/javonet/utils/connectionData/__init__.py +0 -0
  118. data/lib/javonet-ruby-sdk/Binaries/Python/MacOs/X64/javonet/core/interpreter/Interpreter.py +11 -9
  119. data/lib/javonet-ruby-sdk/Binaries/Python/MacOs/X64/javonet/core/protocol/CommandSerializer.py +3 -16
  120. data/lib/javonet-ruby-sdk/Binaries/Python/MacOs/X64/javonet/core/receiver/Receiver.py +3 -1
  121. data/lib/javonet-ruby-sdk/Binaries/Python/MacOs/X64/javonet/core/referenceCache/ReferencesCache.py +2 -1
  122. data/lib/javonet-ruby-sdk/Binaries/Python/MacOs/X64/javonet/core/transmitter/Transmitter.py +2 -14
  123. data/lib/javonet-ruby-sdk/Binaries/Python/MacOs/X64/javonet/core/webSocketClient/WebSocketClient.py +32 -0
  124. data/lib/javonet-ruby-sdk/Binaries/Python/MacOs/X64/javonet/utils/ConnectionType.py +1 -0
  125. data/lib/javonet-ruby-sdk/Binaries/Python/MacOs/X64/javonet/utils/connectionData/IConnectionData.py +18 -0
  126. data/lib/javonet-ruby-sdk/Binaries/Python/MacOs/X64/javonet/utils/connectionData/InMemoryConnectionData.py +23 -0
  127. data/lib/javonet-ruby-sdk/Binaries/Python/MacOs/X64/javonet/utils/connectionData/TcpConnectionData.py +67 -0
  128. data/lib/javonet-ruby-sdk/Binaries/Python/MacOs/X64/javonet/utils/connectionData/WsConnectionData.py +30 -0
  129. data/lib/javonet-ruby-sdk/Binaries/Python/MacOs/X64/javonet/utils/connectionData/__init__.py +0 -0
  130. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/__pycache__/__init__.cpython-311.pyc +0 -0
  131. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/generator/__pycache__/__init__.cpython-311.pyc +0 -0
  132. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/generator/internal/__pycache__/PythonStringBuilder.cpython-311.pyc +0 -0
  133. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/generator/internal/__pycache__/__init__.cpython-311.pyc +0 -0
  134. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/__pycache__/AbstractCommandHandler.cpython-311.pyc +0 -0
  135. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/__pycache__/AbstractHandler.cpython-311.pyc +0 -0
  136. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/__pycache__/ArrayGetItemHandler.cpython-311.pyc +0 -0
  137. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/__pycache__/ArrayGetRankHandler.cpython-311.pyc +0 -0
  138. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/__pycache__/ArrayGetSizeHandler.cpython-311.pyc +0 -0
  139. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/__pycache__/ArrayHandler.cpython-311.pyc +0 -0
  140. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/__pycache__/ArraySetItemHandler.cpython-311.pyc +0 -0
  141. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/__pycache__/CastingHandler.cpython-311.pyc +0 -0
  142. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/__pycache__/CreateClassInstanceHandler.cpython-311.pyc +0 -0
  143. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/__pycache__/DestructReferenceHandler.cpython-311.pyc +0 -0
  144. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/__pycache__/EnableNamespaceHandler.cpython-311.pyc +0 -0
  145. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/__pycache__/EnableTypeHandler.cpython-311.pyc +0 -0
  146. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/__pycache__/GetEnumItemHandler.cpython-311.pyc +0 -0
  147. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/__pycache__/GetEnumNameHandler.cpython-311.pyc +0 -0
  148. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/__pycache__/GetEnumValueHandler.cpython-311.pyc +0 -0
  149. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/__pycache__/GetInstanceFieldHandler.cpython-311.pyc +0 -0
  150. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/__pycache__/GetStaticFieldHandler.cpython-311.pyc +0 -0
  151. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/__pycache__/GetTypeHandler.cpython-311.pyc +0 -0
  152. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/__pycache__/Handler.cpython-311.pyc +0 -0
  153. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/__pycache__/HandlerDictionary.cpython-311.pyc +0 -0
  154. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/__pycache__/InvokeInstanceMethodHandler.cpython-311.pyc +0 -0
  155. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/__pycache__/InvokeStaticMethodHandler.cpython-311.pyc +0 -0
  156. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/__pycache__/LoadLibraryHandler.cpython-311.pyc +0 -0
  157. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/__pycache__/ResolveInstanceHandler.cpython-311.pyc +0 -0
  158. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/__pycache__/SetInstanceFieldHandler.cpython-311.pyc +0 -0
  159. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/__pycache__/SetStaticFieldHandler.cpython-311.pyc +0 -0
  160. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/__pycache__/ValueHandler.cpython-311.pyc +0 -0
  161. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/__pycache__/__init__.cpython-311.pyc +0 -0
  162. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/interpreter/Interpreter.py +11 -9
  163. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/interpreter/__pycache__/Interpreter.cpython-311.pyc +0 -0
  164. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/interpreter/__pycache__/__init__.cpython-311.pyc +0 -0
  165. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/namespaceCache/__pycache__/NamespaceCache.cpython-311.pyc +0 -0
  166. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/namespaceCache/__pycache__/__init__.cpython-311.pyc +0 -0
  167. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/protocol/CommandSerializer.py +3 -16
  168. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/protocol/__pycache__/CommandDeserializer.cpython-311.pyc +0 -0
  169. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/protocol/__pycache__/CommandSerializer.cpython-311.pyc +0 -0
  170. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/protocol/__pycache__/TypeDeserializer.cpython-311.pyc +0 -0
  171. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/protocol/__pycache__/TypeSerializer.cpython-311.pyc +0 -0
  172. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/protocol/__pycache__/__init__.cpython-311.pyc +0 -0
  173. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/receiver/Receiver.py +3 -1
  174. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/receiver/__pycache__/Receiver.cpython-311.pyc +0 -0
  175. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/receiver/__pycache__/__init__.cpython-311.pyc +0 -0
  176. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/referenceCache/ReferencesCache.py +2 -1
  177. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/referenceCache/__pycache__/ReferencesCache.cpython-311.pyc +0 -0
  178. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/referenceCache/__pycache__/__init__.cpython-311.pyc +0 -0
  179. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/transmitter/Transmitter.py +2 -14
  180. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/typeCache/__pycache__/TypeCache.cpython-311.pyc +0 -0
  181. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/typeCache/__pycache__/__init__.cpython-311.pyc +0 -0
  182. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/webSocketClient/WebSocketClient.py +32 -0
  183. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/utils/ConnectionType.py +1 -0
  184. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/utils/__pycache__/Command.cpython-311.pyc +0 -0
  185. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/utils/__pycache__/CommandType.cpython-311.pyc +0 -0
  186. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/utils/__pycache__/ConnectionType.cpython-311.pyc +0 -0
  187. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/utils/__pycache__/ExceptionType.cpython-311.pyc +0 -0
  188. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/utils/__pycache__/RuntimeName.cpython-311.pyc +0 -0
  189. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/utils/__pycache__/StringEncodingMode.cpython-311.pyc +0 -0
  190. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/utils/__pycache__/Type.cpython-311.pyc +0 -0
  191. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/utils/__pycache__/__init__.cpython-311.pyc +0 -0
  192. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/utils/connectionData/IConnectionData.py +18 -0
  193. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/utils/connectionData/InMemoryConnectionData.py +23 -0
  194. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/utils/connectionData/TcpConnectionData.py +67 -0
  195. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/utils/connectionData/WsConnectionData.py +30 -0
  196. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/utils/connectionData/__init__.py +0 -0
  197. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/utils/connectionData/__pycache__/IConnectionData.cpython-311.pyc +0 -0
  198. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/utils/connectionData/__pycache__/InMemoryConnectionData.cpython-311.pyc +0 -0
  199. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/utils/connectionData/__pycache__/__init__.cpython-311.pyc +0 -0
  200. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/utils/exception/__pycache__/ExceptionSerializer.cpython-311.pyc +0 -0
  201. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/utils/exception/__pycache__/__init__.cpython-311.pyc +0 -0
  202. data/lib/javonet-ruby-sdk/Binaries/version.txt +1 -1
  203. metadata +24 -18
  204. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libruby.so.3.1.5 +0 -0
  205. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libruby.so.3.3.1 +0 -0
  206. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libruby.3.3.dylib +0 -0
  207. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/x64-vcruntime140-ruby330.dll +0 -0
  208. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/CPAN/Meta/Requirements/Range.pm +0 -776
  209. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/CPAN/Meta/Requirements.pm +0 -834
  210. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/CPAN/Requirements/Dynamic.pm +0 -384
  211. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/ExtUtils/HasCompiler.pm +0 -308
  212. data/lib/javonet-ruby-sdk/Binaries/Perl/MacOs/X64/deps/lib/perl5/CPAN/Meta/Requirements/Range.pm +0 -776
  213. data/lib/javonet-ruby-sdk/Binaries/Perl/MacOs/X64/deps/lib/perl5/CPAN/Meta/Requirements.pm +0 -834
  214. data/lib/javonet-ruby-sdk/Binaries/Perl/MacOs/X64/deps/lib/perl5/CPAN/Requirements/Dynamic.pm +0 -384
  215. data/lib/javonet-ruby-sdk/Binaries/Perl/MacOs/X64/deps/lib/perl5/ExtUtils/HasCompiler.pm +0 -308
  216. data/lib/javonet-ruby-sdk/Binaries/Python/Linux/X64/javonet/utils/TcpConnectionData.py +0 -29
  217. data/lib/javonet-ruby-sdk/Binaries/Python/MacOs/X64/javonet/utils/TcpConnectionData.py +0 -29
  218. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/utils/TcpConnectionData.py +0 -29
  219. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/utils/__pycache__/TcpConnectionData.cpython-311.pyc +0 -0
@@ -1,384 +0,0 @@
1
- package CPAN::Requirements::Dynamic;
2
- $CPAN::Requirements::Dynamic::VERSION = '0.001';
3
- use strict;
4
- use warnings;
5
-
6
- use Carp 'croak';
7
- use Parse::CPAN::Meta;
8
-
9
- sub _version_satisfies {
10
- my ($version, $range) = @_;
11
- require CPAN::Meta::Requirements::Range;
12
- return CPAN::Meta::Requirements::Range->with_string_requirement($range)->accepts($version);
13
- }
14
-
15
- sub _is_interactive {
16
- return -t STDIN && (-t STDOUT || !(-f STDOUT || -c STDOUT));
17
- }
18
-
19
- sub _read_line {
20
- return undef if $ENV{PERL_MM_USE_DEFAULT} || !_is_interactive && eof STDIN;;
21
-
22
- my $answer = <STDIN>;
23
- chomp $answer if defined $answer;
24
- return $answer;
25
- }
26
-
27
- sub _prompt {
28
- my ($mess, $default) = @_;
29
-
30
- local $|=1;
31
- print "$mess [$default]";
32
- my $answer = _read_line;
33
- $answer = $default if !defined $answer or !length $answer;
34
-
35
- return $answer;
36
- }
37
-
38
- my %default_commands = (
39
- can_xs => sub {
40
- my ($self) = @_;
41
- require ExtUtils::HasCompiler;
42
- return ExtUtils::HasCompiler::can_compile_extension(config => $self->{config});
43
- },
44
- can_run => sub {
45
- my ($self, $command) = @_;
46
- require IPC::Cmd;
47
- return IPC::Cmd::can_run($command);
48
- },
49
- config_defined => sub {
50
- my ($self, $entry) = @_;
51
- return $self->{config}->get($entry) eq 'define';
52
- },
53
- has_env => sub {
54
- my ($self, $entry) = @_;
55
- return !!$ENV{$entry};
56
- },
57
- has_module => sub {
58
- my ($self, $module, $range) = @_;
59
- require Module::Metadata;
60
- my $data = Module::Metadata->new_from_module($module);
61
- return !!0 unless $data;
62
- return !!1 if not defined $range;
63
- return _version_satisfies($data->version($module), $range);
64
- },
65
- has_perl => sub {
66
- my ($self, $range) = @_;
67
- return _version_satisfies($], $range);
68
- },
69
- is_extended => sub {
70
- return !!$ENV{EXTENDED_TESTING};
71
- },
72
- is_interactive => sub {
73
- return _is_interactive;
74
- },
75
- is_os => sub {
76
- my ($self, @wanted) = @_;
77
- return !!grep { $_ eq $^O } @wanted
78
- },
79
- is_os_type => sub {
80
- my ($self, $wanted) = @_;
81
- require Perl::OSType;
82
- return Perl::OSType::is_os_type($wanted);
83
- },
84
- is_smoker => sub {
85
- return !!$ENV{AUTOMATED_TESTING};
86
- },
87
- prompt_default_yes => sub {
88
- my ($self, $message) = @_;
89
- return _prompt("$message [Y/n]", "y") =~ /^y/i;
90
- },
91
- prompt_default_no => sub {
92
- my ($self, $message) = @_;
93
- return _prompt("$message [y/N]", "n") =~ /^y/i;
94
- },
95
- want_pureperl => sub {
96
- my ($self) = @_;
97
- return !!$self->{pureperl_only};
98
- },
99
- want_xs => sub {
100
- my ($self) = @_;
101
- return !!0 if $self->{pureperl_only};
102
- require ExtUtils::HasCompiler;
103
- return ExtUtils::HasCompiler::can_compile_extension(config => $self->{config});
104
- },
105
- want_compiled => sub {
106
- my ($self) = @_;
107
- return defined $self->{pureperl_only} && $self->{pureperl_only} == 0;
108
- },
109
- );
110
-
111
- sub new {
112
- my ($class, %args) = @_;
113
- return bless {
114
- config => $args{config} || do { require ExtUtils::Config; ExtUtils::Config->new },
115
- prereqs => $args{prereqs} || do { require CPAN::Meta::Prereqs; CPAN::Meta::Prereqs->new },
116
- commands => $args{commands} || \%default_commands,
117
- pureperl_only => $args{pureperl_only},
118
- }, $class;
119
- }
120
-
121
- sub _get_command {
122
- my ($self, $name) = @_;
123
- if ($name eq 'or') {
124
- return sub {
125
- my ($self, @each) = @_;
126
- for my $elem (@each) {
127
- return !!1 if $self->_run_condition($elem);
128
- }
129
- return !!0;
130
- };
131
- } elsif ($name eq 'and') {
132
- return sub {
133
- my ($self, @each) = @_;
134
- for my $elem (@each) {
135
- return !!0 if not $self->_run_condition($elem);
136
- }
137
- return !!1;
138
- };
139
- } else {
140
- return $self->{commands}{$name} || croak "No such command $name";
141
- }
142
- }
143
-
144
- sub _run_condition {
145
- my ($self, $condition) = @_;
146
-
147
- my $negate = !!0;
148
- my ($function, @arguments) = @{ $condition };
149
- while ($function eq 'not') {
150
- $function = shift @arguments;
151
- $negate = !$negate;
152
- }
153
-
154
- my $method = $self->_get_command($function);
155
- my $primary = $self->$method(@arguments);
156
- return $negate ? !$primary : $primary;
157
- }
158
-
159
- sub evaluate {
160
- my ($self, $argument) = @_;
161
- my $version = $argument->{version};
162
- croak "Dynamic prereqs spec version $version is not supported" if int $version > 1;
163
- my @prereqs;
164
-
165
- for my $entry (@{ $argument->{expressions} }) {
166
- if ($self->_run_condition($entry->{condition})) {
167
- if ($entry->{error}) {
168
- die "$entry->{error}\n";
169
- } elsif (my $prereqs = $entry->{prereqs}) {
170
- my $phase = $entry->{phase} || 'runtime';
171
- my $relation = $entry->{relation} || 'requires';
172
- my $prereqs = { $phase => { $relation => $entry->{prereqs} } };
173
- push @prereqs, CPAN::Meta::Prereqs->new($prereqs);
174
- }
175
- }
176
- }
177
-
178
- return $self->{prereqs}->with_merged_prereqs(\@prereqs);
179
- }
180
-
181
- sub evaluate_file {
182
- my ($self, $filename) = @_;
183
- my $structure = Parse::CPAN::Meta->load_file($filename);
184
- return $self->evaluate($structure);
185
- }
186
-
187
- 1;
188
-
189
- # ABSTRACT: Dynamic prerequisites in meta files
190
-
191
- __END__
192
-
193
- =pod
194
-
195
- =encoding UTF-8
196
-
197
- =head1 NAME
198
-
199
- CPAN::Requirements::Dynamic - Dynamic prerequisites in meta files
200
-
201
- =head1 VERSION
202
-
203
- version 0.001
204
-
205
- =head1 SYNOPSIS
206
-
207
- my $result = $dynamic->evaluate({
208
- expressions => [
209
- {
210
- condition => [ 'has_perl' => 'v5.20.0' ],
211
- prereqs => { Bar => "1.3" },
212
- },
213
- {
214
- condition => [ is_os => 'linux' ],
215
- prereqs => { Baz => "1.4" },
216
- },
217
- {
218
- condition => [ config_defined => 'usethreads' ],
219
- prereqs => { Quz => "1.5" },
220
- },
221
- {
222
- condition => [ has_module => 'CPAN::Meta', '2' ],
223
- prereqs => { Wuz => "1.6" },
224
- },
225
- {
226
- condition => [ and =>
227
- [ config_defined => 'usethreads' ],
228
- [ is_os => 'openbsd' ],
229
- ],
230
- prereqs => { Euz => "1.7" },
231
- },
232
- {
233
- condition => [ not => is_os_type => 'Unix'],
234
- error => 'OS unsupported',
235
- },
236
- ],
237
- });
238
-
239
- =head1 DESCRIPTION
240
-
241
- This module implements a format for describing dynamic prerequisites of a distribution.
242
-
243
- =head1 METHODS
244
-
245
- =head2 new(%options)
246
-
247
- This constructor takes two (optional but recommended) named arguments
248
-
249
- =over 4
250
-
251
- =item * config
252
-
253
- This is an L<ExtUtils::Config|ExtUtils::Config> (compatible) object for reading configuration.
254
-
255
- =item * pureperl_only
256
-
257
- This should be the value of the C<pureperl-only> flag.
258
-
259
- =back
260
-
261
- =head2 evaluate(%options)
262
-
263
- This takes a hash with two named arguments: C<version> and C<expressions>. The former is the version of the format, it currently defaults to 1. The latter is a list of hashes that can contain the following keys:
264
-
265
- =over 4
266
-
267
- =item * condition
268
-
269
- The condition of the dynamic requirement. This is an array with a name as first values and zero or more arguments following it. The semantics are described below under L</Conditions>
270
-
271
- =item * prereqs
272
-
273
- The prereqs is a hash with modules for keys and the required version as values (e.g. C<< { Foo => '1.234' } >>).
274
-
275
- =item * phase
276
-
277
- The phase of the requirements. This defaults to C<'runtime'>. Other valid values include C<'build'> and C<'test'>.
278
-
279
- =item * relation
280
-
281
- The relation of the requirements. This defaults to C<'requires'>, but other valid values include C<'recommends'>, C<'suggests'> and C<'conflicts'>.
282
-
283
- =item * error
284
-
285
- It will die with this error if set. The two messages C<"No support for OS"> and C<"OS unsupported"> have special meaning to CPAN Testers and are generally encouraged for situations that indicate not a failed build but an impossibility to build.
286
-
287
- =back
288
-
289
- C<condition> and one of C<prereqs> or C<error> are mandatory.
290
-
291
- =head2 evaluate_file($filename)
292
-
293
- This takes a filename, that can be either a YAML file or a JSON file, and evaluates it.
294
-
295
- =head2 Conditions
296
-
297
- =head3 can_xs
298
-
299
- This returns true if a compiler appears to be available.
300
-
301
- =head3 can_run($command)
302
-
303
- Returns true if a C<$command> can be run.
304
-
305
- =head3 config_defined($variable)
306
-
307
- This returns true if a specific configuration variable is defined.
308
-
309
- =head3 has_env($variable)
310
-
311
- This returns true if the environmental variable with the name in C<$variable> is true.
312
-
313
- =head3 has_module($module, $version = 0)
314
-
315
- Returns true if a module is installed on the system. If a C<$version> is given, it will also check if that version is provided. C<$version> is interpreted exactly as in the CPAN::Meta spec.
316
-
317
- =head3 has_perl($version)
318
-
319
- Returns true if the perl version satisfies C<$version>. C<$version> is interpreted exactly as in the CPAN::Meta spec (e.g. C<1.2> equals C<< '>= 1.2' >>).
320
-
321
- =head3 is_extended
322
-
323
- Returns true if extended testing is asked for.
324
-
325
- =head3 is_interactive
326
-
327
- Returns true if installed from a terminal that can answer prompts.
328
-
329
- =head3 is_os(@systems)
330
-
331
- Returns true if the OS name equals any of C<@systems>.
332
-
333
- =head3 is_os_type($type)
334
-
335
- Returns true if the OS type equals C<$type>. Typical values of C<$type> are C<'Unix'> or C<'Windows'>.
336
-
337
- =head3 is_smoker
338
-
339
- Returns true when running on a smoker.
340
-
341
- =head3 has_env
342
-
343
- This returns true if the given environmental variable is true.
344
-
345
- =head3 prompt_default_no
346
-
347
- This will ask a yes/no question to the user, defaulting to no.
348
-
349
- =head3 prompt_default_yes
350
-
351
- This will ask a yes/no question to the user, defaulting to yes.
352
-
353
- =head3 want_pureperl
354
-
355
- This returns true if the user has indicated they want a pure-perl build.
356
-
357
- =head3 want_compiled
358
-
359
- This returns true if the user has explicitly indicated they do not want a pure-perl build.
360
-
361
- =head3 not
362
-
363
- This takes an expression and negates its value.
364
-
365
- =head3 or
366
-
367
- This takes list of arrayrefs, each containing a condition expression. If at least one of the conditions is true this will also return true.
368
-
369
- =head3 and
370
-
371
- This takes a list of arrayrefs, each containing a condition expression. If all of the conditions are true this will also return true.
372
-
373
- =head1 AUTHOR
374
-
375
- Leon Timmermans <fawaka@gmail.com>
376
-
377
- =head1 COPYRIGHT AND LICENSE
378
-
379
- This software is copyright (c) 2023 by Leon Timmermans.
380
-
381
- This is free software; you can redistribute it and/or modify it under
382
- the same terms as the Perl 5 programming language system itself.
383
-
384
- =cut
@@ -1,308 +0,0 @@
1
- package ExtUtils::HasCompiler;
2
- $ExtUtils::HasCompiler::VERSION = '0.025';
3
- use strict;
4
- use warnings;
5
-
6
- use base 'Exporter';
7
- our @EXPORT_OK = qw/can_compile_loadable_object can_compile_static_library can_compile_extension/;
8
- our %EXPORT_TAGS = (all => \@EXPORT_OK);
9
-
10
- use Config;
11
- use Carp 'carp';
12
- use File::Basename 'basename';
13
- use File::Spec::Functions qw/catfile catdir rel2abs curdir/;
14
- use File::Temp qw/tempdir tempfile/;
15
-
16
- my $tempdir = tempdir('HASCOMPILERXXXX', CLEANUP => 1, DIR => rel2abs(curdir));
17
-
18
- my $loadable_object_format = <<'END';
19
- #define PERL_NO_GET_CONTEXT
20
- #include "EXTERN.h"
21
- #include "perl.h"
22
- #include "XSUB.h"
23
-
24
- #ifndef PERL_UNUSED_VAR
25
- #define PERL_UNUSED_VAR(var)
26
- #endif
27
-
28
- XS(exported) {
29
- #ifdef dVAR
30
- dVAR;
31
- #endif
32
- dXSARGS;
33
-
34
- PERL_UNUSED_VAR(cv); /* -W */
35
- PERL_UNUSED_VAR(items); /* -W */
36
-
37
- XSRETURN_IV(42);
38
- }
39
-
40
- #ifndef XS_EXTERNAL
41
- #define XS_EXTERNAL(foo) XS(foo)
42
- #endif
43
-
44
- /* we don't want to mess with .def files on mingw */
45
- #if defined(WIN32) && defined(__GNUC__)
46
- # define EXPORT __declspec(dllexport)
47
- #else
48
- # define EXPORT
49
- #endif
50
-
51
- EXPORT XS_EXTERNAL(boot_%s) {
52
- #ifdef dVAR
53
- dVAR;
54
- #endif
55
- dXSARGS;
56
-
57
- PERL_UNUSED_VAR(cv); /* -W */
58
- PERL_UNUSED_VAR(items); /* -W */
59
-
60
- newXS("%s::exported", exported, __FILE__);
61
- }
62
-
63
- END
64
-
65
- my $counter = 1;
66
- my %prelinking = map { $_ => 1 } qw/MSWin32 VMS aix/;
67
-
68
- sub can_compile_loadable_object {
69
- my %args = @_;
70
-
71
- my $output = $args{output} || \*STDOUT;
72
-
73
- my $config = $args{config} || 'ExtUtils::HasCompiler::Config';
74
- return if not $config->get('usedl');
75
-
76
- my ($source_handle, $source_name) = tempfile('TESTXXXX', DIR => $tempdir, SUFFIX => '.c', UNLINK => 1);
77
- my $basename = basename($source_name, '.c');
78
- my $abs_basename = catfile($tempdir, $basename);
79
-
80
- my ($cc, $ccflags, $optimize, $cccdlflags, $ld, $ldflags, $lddlflags, $libperl, $perllibs, $archlibexp, $_o, $dlext) = map { $config->get($_) } qw/cc ccflags optimize cccdlflags ld ldflags lddlflags libperl perllibs archlibexp _o dlext/;
81
-
82
- my $incdir = catdir($archlibexp, 'CORE');
83
- my $object_file = $abs_basename.$_o;
84
- my $loadable_object = "$abs_basename.$dlext";
85
-
86
- my @commands;
87
- if ($^O eq 'MSWin32' && $cc =~ /^cl/) {
88
- push @commands, qq{$cc $ccflags $cccdlflags $optimize /I "$incdir" /c $source_name /Fo$object_file};
89
- push @commands, qq{$ld $object_file $lddlflags $libperl $perllibs /out:$loadable_object /def:$abs_basename.def /pdb:$abs_basename.pdb};
90
- }
91
- elsif ($^O eq 'VMS') {
92
- # Mksymlists is only the beginning of the story.
93
- open my $opt_fh, '>>', "$abs_basename.opt" or do { carp "Couldn't append to '$abs_basename.opt'"; return };
94
- print $opt_fh "PerlShr/Share\n";
95
- close $opt_fh;
96
-
97
- my $incdirs = $ccflags =~ s{ /inc[^=]+ (?:=)+ (?:\()? ( [^\/\)]* ) }{}xi ? "$1,$incdir" : $incdir;
98
- push @commands, qq{$cc $ccflags $optimize /include=($incdirs) $cccdlflags $source_name /obj=$object_file};
99
- push @commands, qq{$ld $ldflags $lddlflags=$loadable_object $object_file,$abs_basename.opt/OPTIONS,${incdir}perlshr_attr.opt/OPTIONS' $perllibs};
100
- }
101
- else {
102
- my @extra;
103
- my $inc = qq{"-I$incdir"};
104
- if ($^O eq 'MSWin32') {
105
- my $lib = '-l' . ($libperl =~ /lib([^.]+)\./)[0];
106
- push @extra, "$abs_basename.def", $lib, $perllibs;
107
- }
108
- elsif ($^O =~ /^(cygwin|msys)$/) {
109
- push @extra, catfile($incdir, $config->get('useshrplib') ? 'libperl.dll.a' : 'libperl.a');
110
- }
111
- elsif ($^O eq 'aix') {
112
- $lddlflags =~ s/\Q$(BASEEXT)\E/$abs_basename/;
113
- $lddlflags =~ s/\Q$(PERL_INC)\E/$incdir/;
114
- }
115
- elsif ($^O eq 'android') {
116
- push @extra, qq{"-L$incdir"}, '-lperl', $perllibs;
117
- }
118
- elsif ($^O eq 'darwin' && $config->get('perlpath') eq '/usr/bin/perl' && ($config->get('osvers') =~ /(\d+)/)[0] >= 18) {
119
- $inc = qq{-iwithsysroot "$incdir"};
120
- }
121
- push @commands, qq{$cc $ccflags $optimize $inc $cccdlflags -c $source_name -o $object_file};
122
- push @commands, qq{$ld $object_file -o $loadable_object $lddlflags @extra};
123
- }
124
-
125
- if ($prelinking{$^O}) {
126
- require ExtUtils::Mksymlists;
127
- ExtUtils::Mksymlists::Mksymlists(NAME => $basename, FILE => $abs_basename, IMPORTS => {});
128
- }
129
-
130
- my $shortname = '_Loadable' . $counter++;
131
- my $package = "ExtUtils::HasCompiler::$shortname";
132
- printf $source_handle $loadable_object_format, $basename, $package or do { carp "Couldn't write to $source_name: $!"; return };
133
- close $source_handle or do { carp "Couldn't close $source_name: $!"; return };
134
-
135
- for my $command (@commands) {
136
- print $output "$command\n" if not $args{quiet};
137
- system $command and do { carp "Couldn't execute $command: $!"; return };
138
- }
139
-
140
- # Skip loading when cross-compiling
141
- return 1 if exists $args{skip_load} ? $args{skip_load} : $config->get('usecrosscompile');
142
-
143
- require DynaLoader;
144
- local @DynaLoader::dl_require_symbols = "boot_$basename";
145
- my $handle = DynaLoader::dl_load_file(rel2abs($loadable_object), 0);
146
- if ($handle) {
147
- my $symbol = DynaLoader::dl_find_symbol($handle, "boot_$basename") or do { carp "Couldn't find boot symbol for $basename"; return };
148
- my $compilet = DynaLoader::dl_install_xsub('__ANON__::__ANON__', $symbol, $source_name);
149
- my $ret = eval { $compilet->(); $package->exported } or carp $@;
150
- delete $ExtUtils::HasCompiler::{"$shortname\::"};
151
- eval { DynaLoader::dl_unload_file($handle) } or carp $@;
152
- return defined $ret && $ret == 42;
153
- }
154
- else {
155
- carp "Couldn't load $loadable_object: " . DynaLoader::dl_error();
156
- return;
157
- }
158
- }
159
-
160
- my %static_unsupported_on = map { $_ => 1 } qw/VMS aix MSWin32 cygwin/;
161
- sub can_compile_static_library {
162
- my %args = @_;
163
-
164
- my $output = $args{output} || \*STDOUT;
165
-
166
- my $config = $args{config} || 'ExtUtils::HasCompiler::Config';
167
- return if $config->get('useshrplib') eq 'true';
168
-
169
- my ($source_handle, $source_name) = tempfile('TESTXXXX', DIR => $tempdir, SUFFIX => '.c', UNLINK => 1);
170
- my $basename = basename($source_name, '.c');
171
- my $abs_basename = catfile($tempdir, $basename);
172
-
173
- my ($cc, $ccflags, $optimize, $ar, $full_ar, $ranlib, $archlibexp, $_o, $lib_ext) = map { $config->get($_) } qw/cc ccflags optimize ar full_ar ranlib archlibexp _o lib_ext/;
174
- my $incdir = catdir($archlibexp, 'CORE');
175
- my $object_file = "$abs_basename$_o";
176
- my $static_library = $abs_basename.$lib_ext;
177
-
178
- my @commands;
179
- if ($static_unsupported_on{$^O}) {
180
- return;
181
- }
182
- else {
183
- my $my_ar = length $full_ar ? $full_ar : $ar;
184
- push @commands, qq{$cc $ccflags $optimize "-I$incdir" -c $source_name -o $object_file};
185
- push @commands, qq{$my_ar cr $static_library $object_file};
186
- push @commands, qq{$ranlib $static_library} if $ranlib ne ':';
187
- }
188
-
189
- my $shortname = '_Loadable' . $counter++;
190
- my $package = "ExtUtils::HasCompiler::$shortname";
191
- printf $source_handle $loadable_object_format, $basename, $package or do { carp "Couldn't write to $source_name: $!"; return };
192
- close $source_handle or do { carp "Couldn't close $source_name: $!"; return };
193
-
194
- for my $command (@commands) {
195
- print $output "$command\n" if not $args{quiet};
196
- system $command and do { carp "Couldn't execute $command: $!"; return };
197
- }
198
- return 1;
199
- }
200
-
201
- sub can_compile_extension {
202
- my %args = @_;
203
- $args{config} ||= 'ExtUtils::HasCompiler::Config';
204
- my $linktype = $args{linktype} || ($args{config}->get('usedl') ? 'dynamic' : 'static');
205
- return $linktype eq 'static' ? can_compile_static_library(%args) : can_compile_loadable_object(%args);
206
- }
207
-
208
- sub ExtUtils::HasCompiler::Config::get {
209
- my (undef, $key) = @_;
210
- return $ENV{uc $key} || $Config{$key};
211
- }
212
-
213
- 1;
214
-
215
- # ABSTRACT: Check for the presence of a compiler
216
-
217
- __END__
218
-
219
- =pod
220
-
221
- =encoding UTF-8
222
-
223
- =head1 NAME
224
-
225
- ExtUtils::HasCompiler - Check for the presence of a compiler
226
-
227
- =head1 VERSION
228
-
229
- version 0.025
230
-
231
- =head1 SYNOPSIS
232
-
233
- use ExtUtils::HasCompiler 'can_compile_extension';
234
- if (can_compile_extension()) {
235
- ...
236
- }
237
- else {
238
- ...
239
- }
240
-
241
- =head1 DESCRIPTION
242
-
243
- This module tries to check if the current system is capable of compiling, linking and loading an XS module.
244
-
245
- B<Notice>: this is an early release, interface stability isn't guaranteed yet.
246
-
247
- =head1 FUNCTIONS
248
-
249
- =head2 can_compile_loadable_object(%opts)
250
-
251
- This checks if the system can compile, link and load a perl loadable object. It may take the following options:
252
-
253
- =over 4
254
-
255
- =item * quiet
256
-
257
- Do not output the executed compilation commands.
258
-
259
- =item * config
260
-
261
- An L<ExtUtils::Config|ExtUtils::Config> (compatible) object for configuration.
262
-
263
- =item * skip_load
264
-
265
- This causes can_compile_loadable_object to not try to load the generated object. This defaults to true on a cross-compiling perl.
266
-
267
- =back
268
-
269
- =head2 can_compile_static_library(%opts)
270
-
271
- This checks if the system can compile and link a perl static library. It does not check it it can compile a new perl with it. It may take the following options:
272
-
273
- =over 4
274
-
275
- =item * quiet
276
-
277
- Do not output the executed compilation commands.
278
-
279
- =item * config
280
-
281
- An L<ExtUtils::Config|ExtUtils::Config> (compatible) object for configuration.
282
-
283
- =back
284
-
285
- =head2 can_compile_extension(%opts)
286
-
287
- This will call either C<can_compile_loadable_object>, or C<can_compile_static_library>, depending on which is the default on your configuration. In addition to the arguments listed above, it can take one more optional argument:
288
-
289
- =over 4
290
-
291
- =item * linktype
292
-
293
- This will force the linktype to be either static or dynamic. Dynamic compilation on a static perl won't work, but static libraries can be viable on a dynamic perl.
294
-
295
- =back
296
-
297
- =head1 AUTHOR
298
-
299
- Leon Timmermans <fawaka@gmail.com>
300
-
301
- =head1 COPYRIGHT AND LICENSE
302
-
303
- This software is copyright (c) 2014 by Leon Timmermans.
304
-
305
- This is free software; you can redistribute it and/or modify it under
306
- the same terms as the Perl 5 programming language system itself.
307
-
308
- =cut