javonet-ruby-sdk 2.4.8 → 2.4.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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