PATH=C:\mingw\bin;C:\cygwin\bin;C:\cpanfly-5.20\var\megalib\bin;C:\Perl-5.20\site\bin;C:\Perl-5.20\bin;C:\cygwin\bin;C:\Program Files\Perforce;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\system32\WindowsPowerShell\v1.0;C:\WINDOWS\system32\WindowsPowerShell\v1.0;C:\instantclient_11_2;C:\cygwin\bin;C:\Program Files\Perforce;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\system32\WindowsPowerShell\v1.0;C:\WINDOWS\system32\WindowsPowerShell\v1.0;C:\mysql\bin Start 2015-02-19T06:37:00 ActivePerl-2000 CPAN-2.00 LIB=C:\PROGRA~1\MICROS~3\VC98\Lib\PSDK PATH=C:/CPANFL~1.20/var/libs/bin;C:\mingw\bin;C:\cygwin\bin;C:\CPANFL~1.20\var\megalib\bin;C:\Perl-5.20\site\bin;C:\Perl-5.20\bin;C:\cygwin\bin;C:\PROGRA~1\Perforce;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\system32\WINDOW~2\v1.0;C:\WINDOWS\system32\WINDOW~2\v1.0;C:\INSTAN~1;C:\cygwin\bin;C:\PROGRA~1\Perforce;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\system32\WINDOW~2\v1.0;C:\WINDOWS\system32\WINDOW~2\v1.0;C:\mysql\bin Reading 'C:\cpanfly-5.20\var\cpan\Metadata' Database was generated on Thu, 19 Feb 2015 13:17:02 GMT Running make for P/PL/PLICEASE/FFI-Platypus-0.26.tar.gz Fetching with LWP: http://cpan.nas1.activestate.com/authors/id/P/PL/PLICEASE/FFI-Platypus-0.26.tar.gz Checksum for C:\cpanfly-5.20\var\cpan\sources\authors\id\P\PL\PLICEASE\FFI-Platypus-0.26.tar.gz ok FFI-Platypus-0.26/ FFI-Platypus-0.26/share/ FFI-Platypus-0.26/share/include/ FFI-Platypus-0.26/share/include/ffi_util.h FFI-Platypus-0.26/lib/ FFI-Platypus-0.26/lib/Module/ FFI-Platypus-0.26/lib/Module/Build/ FFI-Platypus-0.26/lib/Module/Build/FFI.pm FFI-Platypus-0.26/lib/FFI/ FFI-Platypus-0.26/lib/FFI/Platypus/ FFI-Platypus-0.26/lib/FFI/Platypus/Type/ FFI-Platypus-0.26/lib/FFI/Platypus/Type/PointerSizeBuffer.pm FFI-Platypus-0.26/lib/FFI/Platypus/Type/StringPointer.pm FFI-Platypus-0.26/lib/FFI/Platypus/Record/ FFI-Platypus-0.26/lib/FFI/Platypus/Record/TieArray.pm FFI-Platypus-0.26/lib/FFI/Platypus/Declare.pm FFI-Platypus-0.26/lib/FFI/Platypus/Lang/ FFI-Platypus-0.26/lib/FFI/Platypus/Lang/ASM.pm FFI-Platypus-0.26/lib/FFI/Platypus/Lang/C.pm FFI-Platypus-0.26/lib/FFI/Platypus/Record.pm FFI-Platypus-0.26/lib/FFI/Platypus/Memory.pm FFI-Platypus-0.26/lib/FFI/Platypus/Buffer.pm FFI-Platypus-0.26/lib/FFI/Platypus/Type.pod FFI-Platypus-0.26/lib/FFI/Platypus/API.pm FFI-Platypus-0.26/lib/FFI/Platypus.pm FFI-Platypus-0.26/lib/FFI/Platypus.xs FFI-Platypus-0.26/include/ FFI-Platypus-0.26/include/ffi_platypus_call.h FFI-Platypus-0.26/include/ffi_platypus_guts.h FFI-Platypus-0.26/include/perl_math_int64.h FFI-Platypus-0.26/include/ffi_platypus.h FFI-Platypus-0.26/include/libtest.h FFI-Platypus-0.26/include/ppport.h FFI-Platypus-0.26/examples/ FFI-Platypus-0.26/examples/attach_from_pointer.pl FFI-Platypus-0.26/examples/win32_getSystemTime.pl FFI-Platypus-0.26/examples/list_integer_types.pl FFI-Platypus-0.26/examples/time_record.pl FFI-Platypus-0.26/examples/java/ FFI-Platypus-0.26/examples/java/Example.java FFI-Platypus-0.26/examples/java/between.cpp FFI-Platypus-0.26/examples/java/example.pl FFI-Platypus-0.26/examples/java/Makefile FFI-Platypus-0.26/examples/get_uptime.pl FFI-Platypus-0.26/examples/var_array.pl FFI-Platypus-0.26/examples/var_array.c FFI-Platypus-0.26/examples/closure.pl FFI-Platypus-0.26/examples/time_oo.pl FFI-Platypus-0.26/examples/archive.pl FFI-Platypus-0.26/examples/integer.pl FFI-Platypus-0.26/examples/notify.pl FFI-Platypus-0.26/examples/string.pl FFI-Platypus-0.26/examples/closure.c FFI-Platypus-0.26/examples/malloc.pl FFI-Platypus-0.26/examples/getpid.pl FFI-Platypus-0.26/examples/bzip2.pl FFI-Platypus-0.26/examples/pipe.pl FFI-Platypus-0.26/examples/time.pl FFI-Platypus-0.26/examples/char.pl FFI-Platypus-0.26/examples/math.pl FFI-Platypus-0.26/examples/uuid.pl FFI-Platypus-0.26/examples/zmq3.pl FFI-Platypus-0.26/xt/ FFI-Platypus-0.26/xt/release/ FFI-Platypus-0.26/xt/release/pod_spelling_system.t FFI-Platypus-0.26/xt/release/pod_spelling_common.t FFI-Platypus-0.26/xt/release/build_environment.t FFI-Platypus-0.26/xt/release/pod_coverage.t FFI-Platypus-0.26/xt/release/unused_vars.t FFI-Platypus-0.26/xt/release/release.yml FFI-Platypus-0.26/xt/release/version.t FFI-Platypus-0.26/xt/release/no_tabs.t FFI-Platypus-0.26/xt/release/changes.t FFI-Platypus-0.26/xt/release/strict.t FFI-Platypus-0.26/xt/release/fixme.t FFI-Platypus-0.26/xt/release/pod.t FFI-Platypus-0.26/xt/release/eol.t FFI-Platypus-0.26/libtest/ FFI-Platypus-0.26/libtest/complex_double.c FFI-Platypus-0.26/libtest/complex_float.c FFI-Platypus-0.26/libtest/align_string.c FFI-Platypus-0.26/libtest/align_array.c FFI-Platypus-0.26/libtest/align_fixed.c FFI-Platypus-0.26/libtest/longdouble.c FFI-Platypus-0.26/libtest/pointer.c FFI-Platypus-0.26/libtest/uint16.c FFI-Platypus-0.26/libtest/string.c FFI-Platypus-0.26/libtest/uint32.c FFI-Platypus-0.26/libtest/double.c FFI-Platypus-0.26/libtest/record.c FFI-Platypus-0.26/libtest/sint32.c FFI-Platypus-0.26/libtest/sint64.c FFI-Platypus-0.26/libtest/sint16.c FFI-Platypus-0.26/libtest/uint64.c FFI-Platypus-0.26/libtest/float.c FFI-Platypus-0.26/libtest/uint8.c FFI-Platypus-0.26/libtest/align.c FFI-Platypus-0.26/libtest/sint8.c FFI-Platypus-0.26/libtest/basic.c FFI-Platypus-0.26/libtest/color.c FFI-Platypus-0.26/inc/ FFI-Platypus-0.26/inc/template/ FFI-Platypus-0.26/inc/template/accessor_wrapper.tt FFI-Platypus-0.26/inc/template/accessor.tt FFI-Platypus-0.26/inc/probe/ FFI-Platypus-0.26/inc/probe/longdouble.c FFI-Platypus-0.26/inc/probe/bigendian.c FFI-Platypus-0.26/inc/probe/complex.c FFI-Platypus-0.26/inc/run/ FFI-Platypus-0.26/inc/run/generate_record_accessor.pl FFI-Platypus-0.26/inc/run/test_examples.pl FFI-Platypus-0.26/inc/run/before_build.pl FFI-Platypus-0.26/inc/run/travis.pl FFI-Platypus-0.26/inc/run/readme.pl FFI-Platypus-0.26/inc/My/ FFI-Platypus-0.26/inc/My/HeaderVersion.pm FFI-Platypus-0.26/inc/My/ModuleBuild.pm FFI-Platypus-0.26/inc/My/AutoConf.pm FFI-Platypus-0.26/inc/My/CopyList.pm FFI-Platypus-0.26/inc/My/LibTest.pm FFI-Platypus-0.26/inc/My/Probe.pm FFI-Platypus-0.26/inc/My/Copy.pm FFI-Platypus-0.26/inc/eg/ FFI-Platypus-0.26/inc/eg/complex.c FFI-Platypus-0.26/inc/eg/small.c FFI-Platypus-0.26/CONTRIBUTING FFI-Platypus-0.26/t/ FFI-Platypus-0.26/t/ffi_platypus_type_pointer_size_buffer.t FFI-Platypus-0.26/t/ffi_platypus_type_string_pointer.t FFI-Platypus-0.26/t/ffi_platypus_function_private.t FFI-Platypus-0.26/t/ffi_platypus_ignore_not_found.t FFI-Platypus-0.26/t/ffi_platypus_record_tiearray.t FFI-Platypus-0.26/t/ffi_platypus_closure_private.t FFI-Platypus-0.26/t/ffi_platypus_declare_sizeof.t FFI-Platypus-0.26/t/ffi_platypus_declare_sticky.t FFI-Platypus-0.26/t/ffi_platypus_declare_cast.t FFI-Platypus-0.26/t/ffi_platypus_type_private.t FFI-Platypus-0.26/t/ffi_platypus_declare_lang.t FFI-Platypus-0.26/t/ffi_platypus_custom_type.t FFI-Platypus-0.26/t/ffi_platypus_find_symbol.t FFI-Platypus-0.26/t/ffi_platypus_function.t FFI-Platypus-0.26/t/ffi_platypus_find_lib.t FFI-Platypus-0.26/t/ffi_platypus_alignof.t FFI-Platypus-0.26/t/ffi_platypus_declare.t FFI-Platypus-0.26/t/ffi_platypus_closure.t FFI-Platypus-0.26/t/ffi_platypus_sizeof.t FFI-Platypus-0.26/t/ffi_platypus_buffer.t FFI-Platypus-0.26/t/type_complex_double.t FFI-Platypus-0.26/t/ffi_platypus_memory.t FFI-Platypus-0.26/t/ffi_platypus_attach.t FFI-Platypus-0.26/t/ffi_platypus_record.t FFI-Platypus-0.26/t/ffi_platypus_types.t FFI-Platypus-0.26/t/type_complex_float.t FFI-Platypus-0.26/t/ffi_platypus_type.t FFI-Platypus-0.26/t/ffi_platypus_cast.t FFI-Platypus-0.26/t/ffi_platypus_lang.t FFI-Platypus-0.26/t/ffi_platypus_lib.t FFI-Platypus-0.26/t/ffi_platypus_new.t FFI-Platypus-0.26/t/type_longdouble.t FFI-Platypus-0.26/t/type_string.t FFI-Platypus-0.26/t/closure_die.t FFI-Platypus-0.26/t/type_uint32.t FFI-Platypus-0.26/t/type_sint64.t FFI-Platypus-0.26/t/type_opaque.t FFI-Platypus-0.26/t/type_double.t FFI-Platypus-0.26/t/type_uint64.t FFI-Platypus-0.26/t/type_sint32.t FFI-Platypus-0.26/t/type_sint16.t FFI-Platypus-0.26/t/type_uint16.t FFI-Platypus-0.26/t/type_record.t FFI-Platypus-0.26/t/type_float.t FFI-Platypus-0.26/t/type_uint8.t FFI-Platypus-0.26/t/type_sint8.t FFI-Platypus-0.26/t/00_diag.txt FFI-Platypus-0.26/t/03_basic.t FFI-Platypus-0.26/t/01_diag.t FFI-Platypus-0.26/t/00_diag.t FFI-Platypus-0.26/t/02_use.t FFI-Platypus-0.26/META.json FFI-Platypus-0.26/cpanfile FFI-Platypus-0.26/MANIFEST FFI-Platypus-0.26/Build.PL FFI-Platypus-0.26/META.yml FFI-Platypus-0.26/xs/ FFI-Platypus-0.26/xs/perl_math_int64.c FFI-Platypus-0.26/xs/record_string.c FFI-Platypus-0.26/xs/record_opaque.c FFI-Platypus-0.26/xs/record_simple.c FFI-Platypus-0.26/xs/ClosureData.xs FFI-Platypus-0.26/xs/Function.xs FFI-Platypus-0.26/xs/Declare.xs FFI-Platypus-0.26/xs/Record.xs FFI-Platypus-0.26/xs/closure.c FFI-Platypus-0.26/xs/complex.c FFI-Platypus-0.26/xs/havepm.c FFI-Platypus-0.26/xs/custom.c FFI-Platypus-0.26/xs/Type.xs FFI-Platypus-0.26/xs/windl.c FFI-Platypus-0.26/xs/names.c FFI-Platypus-0.26/xs/API.xs FFI-Platypus-0.26/xs/meta.c FFI-Platypus-0.26/xs/dl.xs FFI-Platypus-0.26/dist.ini FFI-Platypus-0.26/INSTALL FFI-Platypus-0.26/LICENSE FFI-Platypus-0.26/Changes FFI-Platypus-0.26/SUPPORT FFI-Platypus-0.26/typemap FFI-Platypus-0.26/README ---- Unsatisfied dependencies detected during ---- ---- PLICEASE/FFI-Platypus-0.26.tar.gz ---- Alien::FFI [build_requires] Running make test Make had some problems, won't test Delayed until after prerequisites Running test for module 'Alien::FFI' Running make for P/PL/PLICEASE/Alien-FFI-0.07.tar.gz Checksum for C:\cpanfly-5.20\var\cpan\sources\authors\id\P\PL\PLICEASE\Alien-FFI-0.07.tar.gz ok Alien-FFI-0.07 Alien-FFI-0.07/README Alien-FFI-0.07/Changes Alien-FFI-0.07/t Alien-FFI-0.07/t/use.t Alien-FFI-0.07/LICENSE Alien-FFI-0.07/INSTALL Alien-FFI-0.07/dist.ini Alien-FFI-0.07/META.yml Alien-FFI-0.07/Build.PL Alien-FFI-0.07/MANIFEST Alien-FFI-0.07/cpanfile Alien-FFI-0.07/META.json Alien-FFI-0.07/t/00_diag.t Alien-FFI-0.07/t/00_diag.txt Alien-FFI-0.07/lib/Alien Alien-FFI-0.07/lib/Alien/FFI.pm Alien-FFI-0.07/xt/release Alien-FFI-0.07/xt/release/eol.t Alien-FFI-0.07/xt/release/pod.t Alien-FFI-0.07/xt/release/fixme.t Alien-FFI-0.07/xt/release/strict.t Alien-FFI-0.07/xt/release/no_tabs.t Alien-FFI-0.07/xt/release/changes.t Alien-FFI-0.07/xt/release/version.t Alien-FFI-0.07/inc/My Alien-FFI-0.07/inc/My/ModuleBuild.pm Alien-FFI-0.07/xt/release/release.yml Alien-FFI-0.07/xt/release/unused_vars.t Alien-FFI-0.07/xt/release/pod_coverage.t Alien-FFI-0.07/xt/release/build_environment.t Alien-FFI-0.07/xt/release/pod_spelling_system.t Alien-FFI-0.07/xt/release/pod_spelling_common.t ---- Unsatisfied dependencies detected during ---- ---- PLICEASE/Alien-FFI-0.07.tar.gz ---- Alien::Base [build_requires] Running make test Make had some problems, won't test Delayed until after prerequisites Running test for module 'Alien::Base' Running make for P/PL/PLICEASE/Alien-Base-0.010.tar.gz Checksum for C:\cpanfly-5.20\var\cpan\sources\authors\id\P\PL\PLICEASE\Alien-Base-0.010.tar.gz ok Alien-Base-0.010 Alien-Base-0.010/Changes Alien-Base-0.010/Build.PL Alien-Base-0.010/LICENSE Alien-Base-0.010/MANIFEST Alien-Base-0.010/TODO Alien-Base-0.010/META.yml Alien-Base-0.010/README Alien-Base-0.010/META.json Alien-Base-0.010/examples Alien-Base-0.010/examples/Alien-GSL Alien-Base-0.010/examples/Alien-GSL/Build.PL Alien-Base-0.010/examples/Alien-GSL/MANIFEST Alien-Base-0.010/examples/Alien-GSL/lib Alien-Base-0.010/examples/Alien-GSL/lib/Alien Alien-Base-0.010/examples/Alien-GSL/lib/Alien/GSL.pm Alien-Base-0.010/examples/Alien-Nettle Alien-Base-0.010/examples/Alien-Nettle/Build.PL Alien-Base-0.010/examples/Alien-Nettle/MANIFEST Alien-Base-0.010/examples/Alien-Nettle/lib Alien-Base-0.010/examples/Alien-Nettle/lib/Alien Alien-Base-0.010/examples/Alien-Nettle/lib/Alien/Nettle.pm Alien-Base-0.010/lib Alien-Base-0.010/lib/Alien Alien-Base-0.010/lib/Alien/Base.pm Alien-Base-0.010/lib/Alien/Base Alien-Base-0.010/lib/Alien/Base/ModuleBuild.pm Alien-Base-0.010/lib/Alien/Base/PkgConfig.pm Alien-Base-0.010/lib/Alien/Base/Authoring.pod Alien-Base-0.010/lib/Alien/Base/ModuleBuild Alien-Base-0.010/lib/Alien/Base/ModuleBuild/API.pod Alien-Base-0.010/lib/Alien/Base/ModuleBuild/Utils.pm Alien-Base-0.010/lib/Alien/Base/ModuleBuild/Cabinet.pm Alien-Base-0.010/lib/Alien/Base/ModuleBuild/File.pm Alien-Base-0.010/lib/Alien/Base/ModuleBuild/Repository.pm Alien-Base-0.010/lib/Alien/Base/ModuleBuild/Repository Alien-Base-0.010/lib/Alien/Base/ModuleBuild/Repository/Local.pm Alien-Base-0.010/lib/Alien/Base/ModuleBuild/Repository/HTTP.pm Alien-Base-0.010/lib/Alien/Base/ModuleBuild/Repository/FTP.pm Alien-Base-0.010/xt Alien-Base-0.010/xt/release Alien-Base-0.010/xt/release/pod.t Alien-Base-0.010/t Alien-Base-0.010/t/http.t Alien-Base-0.010/t/http_uri.t Alien-Base-0.010/t/RepositoryTest.pm Alien-Base-0.010/t/build_flags.t Alien-Base-0.010/t/inline_cpp.t Alien-Base-0.010/t/yy-system_installed.t Alien-Base-0.010/t/validation.t Alien-Base-0.010/t/repository_content_disposition.t Alien-Base-0.010/t/cabinet.t Alien-Base-0.010/t/find_lib.t Alien-Base-0.010/t/repository.t Alien-Base-0.010/t/interpolate.t Alien-Base-0.010/t/file.t Alien-Base-0.010/t/version.t Alien-Base-0.010/t/pkgconfig.t Alien-Base-0.010/t/00_diag.t Alien-Base-0.010/t/inline.t Alien-Base-0.010/t/builder.t Alien-Base-0.010/t/utils.t Alien-Base-0.010/t/install_destination.t Alien-Base-0.010/t/local_repo.t Alien-Base-0.010/t/find_lib Alien-Base-0.010/t/find_lib/mixed Alien-Base-0.010/t/find_lib/mixed/include Alien-Base-0.010/t/find_lib/mixed/include/mylib.h Alien-Base-0.010/t/find_lib/mixed/include/otherlib.h Alien-Base-0.010/t/find_lib/mixed/dynamic Alien-Base-0.010/t/find_lib/mixed/dynamic/libotherlib.so Alien-Base-0.010/t/find_lib/mixed/dynamic/libmylib.so.1.2.3 Alien-Base-0.010/t/find_lib/mixed/dynamic/mylib.dll Alien-Base-0.010/t/find_lib/mixed/dynamic/otherlib.dll Alien-Base-0.010/t/find_lib/mixed/lib Alien-Base-0.010/t/find_lib/mixed/lib/mylib.lib Alien-Base-0.010/t/find_lib/mixed/lib/otherlib.lib Alien-Base-0.010/t/find_lib/mixed/lib/libotherlib.a Alien-Base-0.010/t/find_lib/mixed/lib/libmylib.a Alien-Base-0.010/t/find_lib/mixed/lib/dirlikelib.so Alien-Base-0.010/t/find_lib/mixed/lib/dirlikelib.so/dontfindthis Alien-Base-0.010/t/find_lib/mixed/lib/dirlikelib.a Alien-Base-0.010/t/find_lib/mixed/lib/dirlikelib.a/dontfindthis Alien-Base-0.010/t/find_lib/dynamic Alien-Base-0.010/t/find_lib/dynamic/include Alien-Base-0.010/t/find_lib/dynamic/include/mylib.h Alien-Base-0.010/t/find_lib/dynamic/include/otherlib.h Alien-Base-0.010/t/find_lib/dynamic/lib Alien-Base-0.010/t/find_lib/dynamic/lib/libotherlib.so Alien-Base-0.010/t/find_lib/dynamic/lib/libmylib.so.0 Alien-Base-0.010/t/find_lib/dynamic/lib/prepostdot.0.so.0 Alien-Base-0.010/t/find_lib/dynamic/lib/onlypredot.0.so Alien-Base-0.010/t/find_lib/dynamic/lib/libmylib.0.so Alien-Base-0.010/t/find_lib/dynamic/lib/onlypostdot.so.0 Alien-Base-0.010/t/find_lib/dynamic/lib/mylib.dll Alien-Base-0.010/t/find_lib/dynamic/lib/libmylib.so Alien-Base-0.010/t/find_lib/dynamic/lib/dirlikelib.so Alien-Base-0.010/t/find_lib/dynamic/lib/dirlikelib.so/dontfindthis Alien-Base-0.010/t/find_lib/static Alien-Base-0.010/t/find_lib/static/include Alien-Base-0.010/t/find_lib/static/include/mylib.h Alien-Base-0.010/t/find_lib/static/include/otherlib.h Alien-Base-0.010/t/find_lib/static/lib Alien-Base-0.010/t/find_lib/static/lib/mylib.lib Alien-Base-0.010/t/find_lib/static/lib/otherlib.lib Alien-Base-0.010/t/find_lib/static/lib/libotherlib.a Alien-Base-0.010/t/find_lib/static/lib/libmylib.a Alien-Base-0.010/t/find_lib/static/lib/dirlikelib.so Alien-Base-0.010/t/find_lib/static/lib/dirlikelib.so/dontfindthis Alien-Base-0.010/t/find_lib/static/lib/dirlikelib.a Alien-Base-0.010/t/find_lib/static/lib/dirlikelib.a/dontfindthis Alien-Base-0.010/t/test_http Alien-Base-0.010/t/test_http/index.html Alien-Base-0.010/t/builder Alien-Base-0.010/t/builder/bin Alien-Base-0.010/t/builder/bin/privateapp.bat Alien-Base-0.010/t/builder/bin/privateapp Alien-Base-0.010/t/system_installed Alien-Base-0.010/t/system_installed/MANIFEST Alien-Base-0.010/t/system_installed/lib Alien-Base-0.010/t/system_installed/lib/MyTest.pm Alien-Base-0.010/t/pkgconfig Alien-Base-0.010/t/pkgconfig/gsl.pc Alien-Base-0.010/t/pkgconfig/test.pc CPAN.pm: Building P/PL/PLICEASE/Alien-Base-0.010.tar.gz >>> C:\Perl-5.20\bin\perl.exe Build.PL 'pkg-config' is not recognized as an internal or external command, operable program or batch file. Created MYMETA.yml and MYMETA.json Creating new 'Build' script for 'Alien-Base' version '0.010' >>> C:\Perl-5.20\bin\perl.exe ./Build Building Alien-Base PLICEASE/Alien-Base-0.010.tar.gz C:\Perl-5.20\bin\perl.exe ./Build -- OK Running Build test >>> C:\Perl-5.20\bin\perl.exe ./Build test verbose=1 # # perl 5.020001 # Acme::Alien::DontPanic undefined # Acme::Ford::Prefect undefined # Acme::Ford::Prefect::FFI undefined # Archive::Extract 0.72 # Capture::Tiny 0.28 # Cwd 3.47 # File::ShareDir 1.102 # File::Spec 3.47 # File::Temp 0.2304 # File::chdir 0.1010 # FindBin 1.51 # HTML::LinkExtor 3.69 # HTTP::Tiny 0.054 # Inline 0.79 # Inline::C 0.74 # Inline::CPP undefined # List::MoreUtils 0.405 # Module::Build 0.4211 # Perl::OSType 1.008 # Shell::Config::Generate 0.19 # Shell::Guess 0.06 # Sort::Versions 1.60 # Test::More 1.001009 # Text::ParseWords 3.29 # URI 1.65 # parent 0.228 t\00_diag.t ......................... 1..1 ok 1 - okay ok t\build_flags.t ..................... # Subtest: unix ok 1 1..1 ok 1 - unix # Subtest: windows ok 1 ok 2 ok 3 1..3 ok 2 - windows 1..2 ok t\builder.t ......................... # Subtest: default temp and share # [out] # + C:\Perl-5.20\bin\perl.exe C:\cpanfly-5.20\var\megalib/PkgConfig.pm --modversion ok 1 - An object of class 'Alien::Base::ModuleBuild' isa 'Alien::Base::ModuleBuild' ok 2 - An object of class 'Alien::Base::ModuleBuild' isa 'Module::Build' ok 3 - Creates _alien dir ok 4 - Creates _share dir # [out] # Cleaning up build files ok 5 - Removes _alien dir ok 6 - Removes _share dir 1..6 ok 1 - default temp and share # Subtest: override temp and share # [out] # + C:\Perl-5.20\bin\perl.exe C:\cpanfly-5.20\var\megalib/PkgConfig.pm --modversion ok 1 - Creates _test_temp dir ok 2 - Creates _test_temp dir # [out] # Cleaning up build files ok 3 - Removes _test_temp dir ok 4 - Removes _test_share dir 1..4 ok 2 - override temp and share # Subtest: destdir 1..0 # SKIP TODO on MSWin32 ok 3 # skip TODO on MSWin32 # Subtest: alien_bin_requires # bin = C:\cpanfly-5.20\var\cpan\build\Alien-Base-0.010-d_cMVw\t\builder\bin # [out] # + C:\Perl-5.20\bin\perl.exe C:\cpanfly-5.20\var\megalib/PkgConfig.pm --modversion foobarbazfakething ok 1 - no Alien::MSYS ok 2 - normal build requires ok 3 - alien_bin_requires implies a build requires # [out] # + privateapp # "seems okay"; ok 4 - found privateapp in path ok 5 - cmd shell helper ok 6 - bat shell helper ok 7 - power shell helper 1..7 ok 4 - alien_bin_requires # Subtest: alien_check_built_version # [out] # + C:\Perl-5.20\bin\perl.exe C:\cpanfly-5.20\var\megalib/PkgConfig.pm --modversion foobarbazfakething # [out] # Building My-Test # 'blib' scheme is detected. Setting ALIEN_BLIB=1. If this has been done in error, please set ALIEN_BLIB and restart build process to disambiguate. # + C:\Perl-5.20\bin\perl.exe C:\cpanfly-5.20\var\megalib/PkgConfig.pm --modversion foobarbazfakething # Downloading File: foo.tar.gz ... Done # Extracting Archive ... Done # Building library ... # + cd C:\cpanfly-5.20\var\tmp\_iYzuEkkza\_alien\foo # + C:\Perl-5.20\bin\perl.exe C:\cpanfly-5.20\var\tmp\_iYzuEkkza/build.pl # Done # Installing library to C:\cpanfly-5.20\var\tmp\_iYzuEkkza\_alien\foo ... # + cd C:\cpanfly-5.20\var\tmp\_iYzuEkkza\_alien\foo # + C:\Perl-5.20\bin\perl.exe C:\cpanfly-5.20\var\tmp\_iYzuEkkza/build.pl # Done ok 1 - version is set correctly 1..1 ok 5 - alien_check_built_version # Subtest: multi arg do_system # [out] # + C:\Perl-5.20\bin\perl.exe C:\cpanfly-5.20\var\megalib/PkgConfig.pm --modversion foobarbazfakething # [out] # Building My-Test # 'blib' scheme is detected. Setting ALIEN_BLIB=1. If this has been done in error, please set ALIEN_BLIB and restart build process to disambiguate. # + C:\Perl-5.20\bin\perl.exe C:\cpanfly-5.20\var\megalib/PkgConfig.pm --modversion foobarbazfakething # Downloading File: foo.tar.gz ... Done # Extracting Archive ... Done # Building library ... # + cd C:\cpanfly-5.20\var\tmp\_iYzuEkkza\_alien\foo # + C:\Perl-5.20\bin\perl.exe C:\cpanfly-5.20\var\tmp\_iYzuEkkza/build.pl build it # Done # Installing library to C:\cpanfly-5.20\var\tmp\_iYzuEkkza\_alien\foo ... # + cd C:\cpanfly-5.20\var\tmp\_iYzuEkkza\_alien\foo # + C:\Perl-5.20\bin\perl.exe C:\cpanfly-5.20\var\tmp\_iYzuEkkza/build.pl install it # Done ok 1 - version is set correctly 1..1 ok 6 - multi arg do_system # Subtest: source build requires # Subtest: not installed, not forced ok 1 - Foo::Bar = 1.1 1..1 ok 1 - not installed, not forced # Subtest: not installed, forced ok 1 - Foo::Bar = 1.1 1..1 ok 2 - not installed, forced # Subtest: installed, not forced ok 1 - Foo::Bar = undef 1..1 ok 3 - installed, not forced # Subtest: installed, forced ok 1 - Foo::Bar = 1.1 1..1 ok 4 - installed, forced 1..4 ok 7 - source build requires 1..7 ok t\cabinet.t ......................... 1..4 ok 1 - use Alien::Base::ModuleBuild::Cabinet; ok 2 - An object of class 'Alien::Base::ModuleBuild::Cabinet' isa 'Alien::Base::ModuleBuild::Cabinet' ok 3 - add_files the files ok 4 - add_files, well ... adds files ok t\file.t ............................ 1..2 ok 1 - use Alien::Base::ModuleBuild::File; ok 2 - An object of class 'Alien::Base::ModuleBuild::File' isa 'Alien::Base::ModuleBuild::File' ok t\find_lib.t ........................ + C:\Perl-5.20\bin\perl.exe C:\cpanfly-5.20\var\megalib/PkgConfig.pm --modversion test # Subtest: Find from file structure ok 1 - found paths from extensions only ok 2 - An object of class 'Alien::Base::PkgConfig' isa 'Alien::Base::PkgConfig' # libs = -LC:/cpanfly-5.20/var/cpan/build/Alien-Base-0.010-d_cMVw/t/find_lib/dynamic/lib -lmylib -lonlypostdot -lonlypredot -lotherlib -lprepostdot ok 3 - ->keyword('Libs') returns mylib ok 4 - ->keyword('Libs') finds mylib directory ok 5 - ->keyword('Libs') finds mylib 1..5 ok 1 - Find from file structure # Subtest: Find using alien_provides_libs ok 1 - found paths from provides ok 2 - An object of class 'Alien::Base::PkgConfig' isa 'Alien::Base::PkgConfig' # libs = -LC:/cpanfly-5.20/var/cpan/build/Alien-Base-0.010-d_cMVw/t/find_lib/dynamic/lib -lmylib ok 3 - ->keyword('Libs') returns mylib ok 4 - ->keyword('Libs') finds mylib directory ok 5 - ->keyword('Libs') finds mylib 1..5 ok 2 - Find using alien_provides_libs # Subtest: Find with static libs only ok 1 - found paths from extensions only ok 2 - An object of class 'Alien::Base::PkgConfig' isa 'Alien::Base::PkgConfig' # libs = -LC:/cpanfly-5.20/var/cpan/build/Alien-Base-0.010-d_cMVw/t/find_lib/static/lib -lmylib -lotherlib ok 3 - ->keyword('Libs') returns mylib ok 4 - ->keyword('Libs') finds mylib directory ok 5 - ->keyword('Libs') finds mylib 1..5 ok 3 - Find with static libs only # Subtest: Find with static libs and dynamic dir ok 1 - found paths from extensions only ok 2 - An object of class 'Alien::Base::PkgConfig' isa 'Alien::Base::PkgConfig' # libs = -LC:/cpanfly-5.20/var/cpan/build/Alien-Base-0.010-d_cMVw/t/find_lib/mixed/lib -lmylib -lotherlib ok 3 - ->keyword('Libs') returns mylib ok 4 - ->keyword('Libs') finds mylib directory ok 5 - ->keyword('Libs') finds mylib 1..5 ok 4 - Find with static libs and dynamic dir 1..4 ok t\http.t ............................ ok 1 - use Alien::Base::ModuleBuild::Repository::HTTP; ok 2 - parse HTML for anchor targets (HTML::LinkExtor) ok 3 - parse HTML for anchor targets (HTML::LinkExtor, dispatched) ok 4 - parse HTML for anchor targets (Text::Balanced) ok 5 - parse HTML for anchor targets (Text::Balanced, dispatched) # Subtest: connection() and protocol_class # Subtest: HTTP::Tiny ok 1 - 'default HTTP class' isa 'HTTP::Tiny' 1..1 ok 1 - HTTP::Tiny # Subtest: LWP::UserAgent ok 1 - An object of class 'LWP::UserAgent' isa 'LWP::UserAgent' 1..1 ok 2 - LWP::UserAgent # Subtest: default ok 1 - 'default HTTP class' isa 'HTTP::Tiny' 1..1 ok 3 - default # Subtest: invalid class ok 1 1..1 ok 4 - invalid class 1..4 ok 6 - connection() and protocol_class # Subtest: list_files() # Subtest: mock client ok 1 1..1 ok 1 - mock client # Subtest: LWP::UserAgent ok 1 1..1 ok 2 - LWP::UserAgent 1..2 ok 7 - list_files() # Subtest: get_file() # Subtest: mock client ok 1 1..1 ok 1 - mock client # Subtest: LWP::UserAgent ok 1 1..1 ok 2 - LWP::UserAgent 1..2 ok 8 - get_file() 1..8 ok t\http_uri.t ........................ ok 1 - use Alien::Base::ModuleBuild::Repository::HTTP; ok 2 - simplest case ok 3 - simplest case with the HTTPS protocol ok 4 - path with spaces ok 5 - extended path with spaces ok 6 - remove repeated / ok 7 - file with path ok 8 - absolute URI found in link ok 9 - absolute URI on different host 1..9 ok t\inline.t .......................... skipped: test requires Acme::Alien::DontPanic 0.010Can't locate Acme/Alien/DontPanic.pm in @INC (you may need to install the Acme::Alien::DontPanic module) (@INC contains: C:\cpanfly-5.20\var\cpan\build\Alien-Base-0.010-d_cMVw\blib\lib C:\cpanfly-5.20\var\cpan\build\Alien-Base-0.010-d_cMVw\blib\arch C:\cpanfly-5.20\var\megalib C:/cpanfly-5.20/var/megalib C:/cpanfly-5.20/var/megalib C:/Perl-5.20/site/lib C:/Perl-5.20/lib .) at (eval 8) line 1. t\inline_cpp.t ...................... skipped: test requires Inline 0.56 and Inline::CPP t\install_destination.t ............. + C:\Perl-5.20\bin\perl.exe C:\cpanfly-5.20\var\megalib/PkgConfig.pm --modversion ok 1 - path looks good 1..1 ok t\interpolate.t ..................... + C:\Perl-5.20\bin\perl.exe C:\cpanfly-5.20\var\megalib/PkgConfig.pm --modversion test ok 1 - prefix interpolation ok 2 - no prefix interpolation with escape ok 3 - share_dir interpolation ok 4 - no share_dir interpolation with escape ok 5 - %x is current interpreter ok 6 - version prior to setting it ok 7 - version warning prior to setting it ok 8 - version after setting it ok 9 - version warning after setting it 1..9 ok t\local_repo.t ...................... ok 1 ok 2 - copied this file to temp dir 1..2 ok t\pkgconfig.t ....................... ok 1 - use Alien::Base::PkgConfig; ok 2 - Test file found ok 3 - An object of class 'Alien::Base::PkgConfig' isa 'Alien::Base::PkgConfig' ok 4 - pcfiledir is a directory ok 5 - pcfiledir contains test.pc ok 6 - read vars ok 7 - read keywords ok 8 - understands package name from file path ok 9 - var getter ok 10 - var setter ok 11 - abstract vars in terms of each other ok 12 - abstract simple ok 13 - abstract abstract 'nested' ok 14 - Simple keyword getter ok 15 - single interpolation keyword ok 16 - multiple interpolation keyword ok 17 - multiple interpolation keyword with override 1..17 ok t\repository.t ...................... ok 1 - without pattern, probe returns an object for each file ok 2 - An object of class 'Alien::Base::ModuleBuild::File' isa 'Alien::Base::ModuleBuild::File' ok 3 - with pattern, probe returns an object for each matching file ok 4 - An object of class 'Alien::Base::ModuleBuild::File' isa 'Alien::Base::ModuleBuild::File' ok 5 - without capture, no version information is available ok 6 - with pattern, probe returns an object for each matching file ok 7 - An object of class 'Alien::Base::ModuleBuild::File' isa 'Alien::Base::ModuleBuild::File' ok 8 - with capture, version information is available ok 9 - with exact filename, probe returns one object ok 10 - An object of class 'Alien::Base::ModuleBuild::File' isa 'Alien::Base::ModuleBuild::File' ok 11 - the name of the object is the given filename ok 12 - without exact version, no version information is available ok 13 - with exact filename, probe returns one object ok 14 - An object of class 'Alien::Base::ModuleBuild::File' isa 'Alien::Base::ModuleBuild::File' ok 15 - the name of the object is the given filename ok 16 - with exact version, the version of the object if the given version ok 17 - the SHA-1 hash of the given filename ok 18 - the SHA-256 hash of the given filename 1..18 ok t\repository_content_disposition.t .. 1..7 ok 1 - use Alien::Base::ModuleBuild::Repository::HTTP; ok 2 - use Alien::Base::ModuleBuild::File; ok 3 - no content disposition ok 4 - filename = foo.txt (bare) ok 5 - filename = foo.txt (double quotes) ok 6 - filename = foo with space.txt (double quotes with space) ok 7 - filename = foo.txt (space terminated) ok t\utils.t ........................... ok 1 - use Alien::Base::ModuleBuild::Utils; ok 2 - parse HTML for anchor targets ok 3 - No capture groups ok 4 - One capture group ok 5 - Two capture group 1..5 ok t\validation.t ...................... ok 1 - use Alien::Base::ModuleBuild; + C:\Perl-5.20\bin\perl.exe C:\cpanfly-5.20\var\megalib/PkgConfig.pm --modversion ok 2 - undef validates to true ok 3 - platform Windows on Windows ok 4 - platform Unix on Windows is false ok 5 # skip Unix test ok 6 # skip Unix test ok 7 - platform src 1..7 ok t\version.t ......................... ok 1 - use Alien::Base::ModuleBuild; 0.26 ok 2 # skip pkg-config returned no packages ok 3 # skip pkg-config returned no packages 1..3 ok t\yy-system_installed.t ............. skipped: Could not find any library for testing All tests successful. Files=20, Tests=106, 37 wallclock secs ( 0.09 usr + 0.02 sys = 0.11 CPU) Result: PASS PLICEASE/Alien-Base-0.010.tar.gz C:\Perl-5.20\bin\perl.exe ./Build test verbose=1 -- OK Graham Ollis <plicease@cpan.org> A base class for Alien:: modules >>> (cd C:\cpanfly-5.20\var\cpan\build\Alien-Base-0.010-d_cMVw && tar cvf - Alien-Base-0.010.ppd blib) | gzip -c >C:/cpanfly-5.20/var/REPO/P/PL/PLICEASE/Alien-Base-0.010.tar.gz Alien-Base-0.010.ppd blib/ blib/lib/ blib/lib/Alien/ blib/lib/Alien/Base/ blib/lib/Alien/Base/Authoring.pod blib/lib/Alien/Base/ModuleBuild/ blib/lib/Alien/Base/ModuleBuild/API.pod blib/lib/Alien/Base/ModuleBuild/Cabinet.pm blib/lib/Alien/Base/ModuleBuild/File.pm blib/lib/Alien/Base/ModuleBuild/Repository/ blib/lib/Alien/Base/ModuleBuild/Repository/FTP.pm blib/lib/Alien/Base/ModuleBuild/Repository/HTTP.pm blib/lib/Alien/Base/ModuleBuild/Repository/Local.pm blib/lib/Alien/Base/ModuleBuild/Repository.pm blib/lib/Alien/Base/ModuleBuild/Utils.pm blib/lib/Alien/Base/ModuleBuild.pm blib/lib/Alien/Base/PkgConfig.pm blib/lib/Alien/Base.pm >>> mv C:\cpanfly-5.20\var\cpan\build\Alien-Base-0.010-d_cMVw/Alien-Base-0.010.ppd C:/cpanfly-5.20/var/REPO/P/PL/PLICEASE Running make for P/PL/PLICEASE/Alien-FFI-0.07.tar.gz Prepending C:\cpanfly-5.20\var\cpan\build\Alien-Base-0.010-d_cMVw/blib/arch C:\cpanfly-5.20\var\cpan\build\Alien-Base-0.010-d_cMVw/blib/lib to PERL5LIB for 'get' Prepending C:\cpanfly-5.20\var\cpan\build\Alien-Base-0.010-d_cMVw/blib/arch C:\cpanfly-5.20\var\cpan\build\Alien-Base-0.010-d_cMVw/blib/lib to PERL5LIB for 'make' CPAN.pm: Building P/PL/PLICEASE/Alien-FFI-0.07.tar.gz >>> C:\Perl-5.20\bin\perl.exe Build.PL + C:\Perl-5.20\bin\perl.exe C:/cpanfly-5.20/var/megalib/PkgConfig.pm --modversion libffi + C:\Perl-5.20\bin\perl.exe C:/cpanfly-5.20/var/megalib/PkgConfig.pm --modversion libffi Created MYMETA.yml and MYMETA.json Creating new 'Build' script for 'Alien-FFI' version '0.07' >>> C:\Perl-5.20\bin\perl.exe ./Build Building Alien-FFI 'blib' scheme is detected. Setting ALIEN_BLIB=1. If this has been done in error, please set ALIEN_BLIB and restart build process to disambiguate. + C:\Perl-5.20\bin\perl.exe C:/cpanfly-5.20/var/megalib/PkgConfig.pm --modversion libffi Downloading File: libffi-3.2.1.tar.gz ... Done Extracting Archive ... Done Building library ... + cd C:\cpanfly-5.20\var\cpan\build\Alien-FFI-0.07-DL7MhK\_alien\libffi-3.2.1 + sh configure --disable-builddir --disable-shared --with-pic --prefix=C:/cpanfly-5.20/var/cpan/build/Alien-FFI-0.07-DL7MhK/blib/lib/auto/share/dist/Alien-FFI checking build system type... i686-pc-mingw32 checking host system type... i686-pc-mingw32 checking target system type... i686-pc-mingw32 checking for gsed... sed checking for a BSD-compatible install... /usr/bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... /usr/bin/mkdir -p checking for gawk... gawk checking whether make sets $(MAKE)... yes checking whether make supports nested variables... yes checking for gcc... gcc checking whether the C compiler works... yes checking for C compiler default output file name... a.exe checking for suffix of executables... .exe checking whether we are cross compiling... no checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ISO C89... none needed checking for style of include used by make... GNU checking dependency style of gcc... gcc3 checking for g++... g++ checking whether we are using the GNU C++ compiler... yes checking whether g++ accepts -g... yes checking dependency style of g++... gcc3 checking dependency style of gcc... gcc3 checking whether gcc and cc understand -c and -o together... yes checking how to print strings... printf checking for a sed that does not truncate output... /usr/bin/sed checking for grep that handles long lines and -e... /usr/bin/grep checking for egrep... /usr/bin/grep -E checking for fgrep... /usr/bin/grep -F checking for ld used by gcc... c:/mingw/i686-w64-mingw32/bin/ld.exe checking if the linker (c:/mingw/i686-w64-mingw32/bin/ld.exe) is GNU ld... yes checking for BSD- or MS-compatible name lister (nm)... /c/mingw/bin/nm checking the name lister (/c/mingw/bin/nm) interface... BSD nm checking whether ln -s works... no, using cp -pR checking the maximum length of command line arguments... 8192 checking whether the shell understands some XSI constructs... yes checking whether the shell understands "+="... yes checking how to convert i686-pc-mingw32 file names to i686-pc-mingw32 format... func_convert_file_msys_to_w32 checking how to convert i686-pc-mingw32 file names to toolchain format... func_convert_file_msys_to_w32 checking for c:/mingw/i686-w64-mingw32/bin/ld.exe option to reload object files... -r checking for objdump... objdump checking how to recognize dependent libraries... file_magic ^x86 archive import|^x86 DLL checking for dlltool... dlltool checking how to associate runtime and link libraries... func_cygming_dll_for_implib checking for ar... ar checking for archiver @FILE support... @ checking for strip... strip checking for ranlib... ranlib checking command to parse /c/mingw/bin/nm output from gcc object... ok checking for sysroot... no checking for mt... no checking if : is a manifest tool... no checking how to run the C preprocessor... gcc -E checking for ANSI C header files... yes checking for sys/types.h... yes checking for sys/stat.h... yes checking for stdlib.h... yes checking for string.h... yes checking for memory.h... yes checking for strings.h... yes checking for inttypes.h... yes checking for stdint.h... yes checking for unistd.h... yes checking for dlfcn.h... no checking for objdir... .libs checking if gcc supports -fno-rtti -fno-exceptions... no checking for gcc option to produce PIC... -DDLL_EXPORT -DPIC checking if gcc PIC flag -DDLL_EXPORT -DPIC works... yes checking if gcc static flag -static works... yes checking if gcc supports -c -o file.o... yes checking if gcc supports -c -o file.o... (cached) yes checking whether the gcc linker (c:/mingw/i686-w64-mingw32/bin/ld.exe) supports shared libraries... yes checking dynamic linker characteristics... Win32 ld.exe checking how to hardcode library paths into programs... immediate checking whether stripping libraries is possible... yes checking if libtool supports shared libraries... yes checking whether to build shared libraries... no checking whether to build static libraries... yes checking how to run the C++ preprocessor... g++ -E checking for ld used by g++... c:/mingw/i686-w64-mingw32/bin/ld.exe checking if the linker (c:/mingw/i686-w64-mingw32/bin/ld.exe) is GNU ld... yes checking whether the g++ linker (c:/mingw/i686-w64-mingw32/bin/ld.exe) supports shared libraries... yes checking for g++ option to produce PIC... -DDLL_EXPORT -DPIC checking if g++ PIC flag -DDLL_EXPORT -DPIC works... yes checking if g++ static flag -static works... yes checking if g++ supports -c -o file.o... yes checking if g++ supports -c -o file.o... (cached) yes checking whether the g++ linker (c:/mingw/i686-w64-mingw32/bin/ld.exe) supports shared libraries... yes checking dynamic linker characteristics... Win32 ld.exe checking how to hardcode library paths into programs... immediate checking size of size_t... 4 checking for C compiler vendor... gnu checking whether C compiler accepts -fstrict-aliasing... yes checking whether C compiler accepts -ffast-math... yes checking for gcc architecture flag... checking for x86 cpuid 0 output... 5:756e6547:6c65746e:49656e69 checking for x86 cpuid 1 output... 206c2:800:209:78bfbff checking whether C compiler accepts -march=corei7... yes checking for gcc architecture flag... -march=corei7 checking whether C compiler accepts -O3 -fomit-frame-pointer -fstrict-aliasing -ffast-math -march=corei7... yes checking CFLAGS for maximum warnings... -Wall checking whether to enable maintainer-specific portions of Makefiles... no checking sys/mman.h usability... no checking sys/mman.h presence... no checking for sys/mman.h... no checking for mmap... no checking for mkostemp... no checking for sys/mman.h... (cached) no checking for mmap... (cached) no checking for ANSI C header files... (cached) yes checking for memcpy... yes checking for size_t... yes checking for working alloca.h... no checking for alloca... yes checking size of double... 8 checking size of long double... 12 checking whether byte ordering is bigendian... no checking assembler .cfi pseudo-op support... yes checking assembler supports pc related relocs... yes checking assembler .ascii pseudo-op support... yes checking assembler .string pseudo-op support... yes checking for _ prefix in compiled symbols... yes checking whether .eh_frame section should be read-only... no checking for __attribute__((visibility("hidden")))... no checking that generated files are newer than configure... done configure: creating ./config.status config.status: creating include/Makefile config.status: creating include/ffi.h config.status: creating Makefile config.status: creating testsuite/Makefile config.status: creating man/Makefile config.status: creating libffi.pc config.status: creating fficonfig.h config.status: linking src/x86/ffitarget.h to include/ffitarget.h config.status: executing buildir commands config.status: skipping top_srcdir/Makefile - not created config.status: executing depfiles commands config.status: executing libtool commands config.status: executing include commands config.status: executing src commands + make make 'AR_FLAGS=' 'CC_FOR_BUILD=' 'CFLAGS=-O3 -fomit-frame-pointer -fstrict-aliasing -ffast-math -march=corei7 -Wall -fexceptions' 'CXXFLAGS=-g -O2' 'CFLAGS_FOR_BUILD=' 'CFLAGS_FOR_TARGET=' 'INSTALL=/usr/bin/install -c' 'INSTALL_DATA=/usr/bin/install -c -m 644' 'INSTALL_PROGRAM=/usr/bin/install -c' 'INSTALL_SCRIPT=/usr/bin/install -c' 'JC1FLAGS=' 'LDFLAGS=' 'LIBCFLAGS=' 'LIBCFLAGS_FOR_TARGET=' 'MAKE=make' 'MAKEINFO=/bin/sh C:/cpanfly-5.20/var/cpan/build/Alien-FFI-0.07-DL7MhK/_alien/libffi-3.2.1/missing makeinfo ' 'PICFLAG=' 'PICFLAG_FOR_TARGET=' 'RUNTESTFLAGS=' 'SHELL=/bin/sh' 'exec_prefix=C:/cpanfly-5.20/var/cpan/build/Alien-FFI-0.07-DL7MhK/blib/lib/auto/share/dist/Alien-FFI' 'infodir=C:/cpanfly-5.20/var/cpan/build/Alien-FFI-0.07-DL7MhK/blib/lib/auto/share/dist/Alien-FFI/share/info' 'libdir=C:/cpanfly-5.20/var/cpan/build/Alien-FFI-0.07-DL7MhK/blib/lib/auto/share/dist/Alien-FFI/lib' 'mandir=C:/cpanfly-5.20/var/cpan/build/Alien-FFI-0.07-DL7MhK/blib/lib/auto/share/dist/Alien-FFI/share/man' 'prefix=C:/cpanfly-5.20/var/cpan/build/Alien-FFI-0.07-DL7MhK/blib/lib/auto/share/dist/Alien-FFI' 'AR=ar' 'AS=as' 'CC=gcc' 'CXX=g++' 'LD=c:/mingw/i686-w64-mingw32/bin/ld.exe' 'NM=/c/mingw/bin/nm' 'RANLIB=ranlib' 'DESTDIR=' all-recursive make[1]: Entering directory `/c/cpanfly-5.20/var/cpan/build/Alien-FFI-0.07-DL7MhK/_alien/libffi-3.2.1' Making all in include make[2]: Entering directory `/c/cpanfly-5.20/var/cpan/build/Alien-FFI-0.07-DL7MhK/_alien/libffi-3.2.1/include' make[2]: Nothing to be done for `all'. make[2]: Leaving directory `/c/cpanfly-5.20/var/cpan/build/Alien-FFI-0.07-DL7MhK/_alien/libffi-3.2.1/include' Making all in testsuite make[2]: Entering directory `/c/cpanfly-5.20/var/cpan/build/Alien-FFI-0.07-DL7MhK/_alien/libffi-3.2.1/testsuite' make[2]: Nothing to be done for `all'. make[2]: Leaving directory `/c/cpanfly-5.20/var/cpan/build/Alien-FFI-0.07-DL7MhK/_alien/libffi-3.2.1/testsuite' Making all in man make[2]: Entering directory `/c/cpanfly-5.20/var/cpan/build/Alien-FFI-0.07-DL7MhK/_alien/libffi-3.2.1/man' make[2]: Nothing to be done for `all'. make[2]: Leaving directory `/c/cpanfly-5.20/var/cpan/build/Alien-FFI-0.07-DL7MhK/_alien/libffi-3.2.1/man' make[2]: Entering directory `/c/cpanfly-5.20/var/cpan/build/Alien-FFI-0.07-DL7MhK/_alien/libffi-3.2.1' depbase=`echo src/prep_cif.lo | sed 's|[^/]*$|.deps/&|;s|\.lo$||'`;\ /bin/sh ./libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I. -I./include -Iinclude -I./src -O3 -fomit-frame-pointer -fstrict-aliasing -ffast-math -march=corei7 -Wall -fexceptions -MT src/prep_cif.lo -MD -MP -MF $depbase.Tpo -c -o src/prep_cif.lo src/prep_cif.c &&\ mv -f $depbase.Tpo $depbase.Plo libtool: compile: gcc -DHAVE_CONFIG_H -I. -I. -I./include -Iinclude -I./src -O3 -fomit-frame-pointer -fstrict-aliasing -ffast-math -march=corei7 -Wall -fexceptions -MT src/prep_cif.lo -MD -MP -MF src/.deps/prep_cif.Tpo -c src/prep_cif.c -o src/prep_cif.o depbase=`echo src/types.lo | sed 's|[^/]*$|.deps/&|;s|\.lo$||'`;\ /bin/sh ./libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I. -I./include -Iinclude -I./src -O3 -fomit-frame-pointer -fstrict-aliasing -ffast-math -march=corei7 -Wall -fexceptions -MT src/types.lo -MD -MP -MF $depbase.Tpo -c -o src/types.lo src/types.c &&\ mv -f $depbase.Tpo $depbase.Plo libtool: compile: gcc -DHAVE_CONFIG_H -I. -I. -I./include -Iinclude -I./src -O3 -fomit-frame-pointer -fstrict-aliasing -ffast-math -march=corei7 -Wall -fexceptions -MT src/types.lo -MD -MP -MF src/.deps/types.Tpo -c src/types.c -o src/types.o depbase=`echo src/raw_api.lo | sed 's|[^/]*$|.deps/&|;s|\.lo$||'`;\ /bin/sh ./libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I. -I./include -Iinclude -I./src -O3 -fomit-frame-pointer -fstrict-aliasing -ffast-math -march=corei7 -Wall -fexceptions -MT src/raw_api.lo -MD -MP -MF $depbase.Tpo -c -o src/raw_api.lo src/raw_api.c &&\ mv -f $depbase.Tpo $depbase.Plo libtool: compile: gcc -DHAVE_CONFIG_H -I. -I. -I./include -Iinclude -I./src -O3 -fomit-frame-pointer -fstrict-aliasing -ffast-math -march=corei7 -Wall -fexceptions -MT src/raw_api.lo -MD -MP -MF src/.deps/raw_api.Tpo -c src/raw_api.c -o src/raw_api.o depbase=`echo src/java_raw_api.lo | sed 's|[^/]*$|.deps/&|;s|\.lo$||'`;\ /bin/sh ./libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I. -I./include -Iinclude -I./src -O3 -fomit-frame-pointer -fstrict-aliasing -ffast-math -march=corei7 -Wall -fexceptions -MT src/java_raw_api.lo -MD -MP -MF $depbase.Tpo -c -o src/java_raw_api.lo src/java_raw_api.c &&\ mv -f $depbase.Tpo $depbase.Plo libtool: compile: gcc -DHAVE_CONFIG_H -I. -I. -I./include -Iinclude -I./src -O3 -fomit-frame-pointer -fstrict-aliasing -ffast-math -march=corei7 -Wall -fexceptions -MT src/java_raw_api.lo -MD -MP -MF src/.deps/java_raw_api.Tpo -c src/java_raw_api.c -o src/java_raw_api.o depbase=`echo src/closures.lo | sed 's|[^/]*$|.deps/&|;s|\.lo$||'`;\ /bin/sh ./libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I. -I./include -Iinclude -I./src -O3 -fomit-frame-pointer -fstrict-aliasing -ffast-math -march=corei7 -Wall -fexceptions -MT src/closures.lo -MD -MP -MF $depbase.Tpo -c -o src/closures.lo src/closures.c &&\ mv -f $depbase.Tpo $depbase.Plo libtool: compile: gcc -DHAVE_CONFIG_H -I. -I. -I./include -Iinclude -I./src -O3 -fomit-frame-pointer -fstrict-aliasing -ffast-math -march=corei7 -Wall -fexceptions -MT src/closures.lo -MD -MP -MF src/.deps/closures.Tpo -c src/closures.c -o src/closures.o depbase=`echo src/x86/ffi.lo | sed 's|[^/]*$|.deps/&|;s|\.lo$||'`;\ /bin/sh ./libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I. -I./include -Iinclude -I./src -O3 -fomit-frame-pointer -fstrict-aliasing -ffast-math -march=corei7 -Wall -fexceptions -MT src/x86/ffi.lo -MD -MP -MF $depbase.Tpo -c -o src/x86/ffi.lo src/x86/ffi.c &&\ mv -f $depbase.Tpo $depbase.Plo libtool: compile: gcc -DHAVE_CONFIG_H -I. -I. -I./include -Iinclude -I./src -O3 -fomit-frame-pointer -fstrict-aliasing -ffast-math -march=corei7 -Wall -fexceptions -MT src/x86/ffi.lo -MD -MP -MF src/x86/.deps/ffi.Tpo -c src/x86/ffi.c -o src/x86/ffi.o depbase=`echo src/x86/win32.lo | sed 's|[^/]*$|.deps/&|;s|\.lo$||'`;\ /bin/sh ./libtool --mode=compile gcc -DHAVE_CONFIG_H -I. -I. -I./include -Iinclude -I./src -I. -I./include -Iinclude -I./src -MT src/x86/win32.lo -MD -MP -MF $depbase.Tpo -c -o src/x86/win32.lo src/x86/win32.S &&\ mv -f $depbase.Tpo $depbase.Plo libtool: compile: gcc -DHAVE_CONFIG_H -I. -I. -I./include -Iinclude -I./src -I. -I./include -Iinclude -I./src -MT src/x86/win32.lo -MD -MP -MF src/x86/.deps/win32.Tpo -c src/x86/win32.S -o src/x86/win32.o /bin/sh ./libtool --tag=CC --mode=link gcc -O3 -fomit-frame-pointer -fstrict-aliasing -ffast-math -march=corei7 -Wall -fexceptions -o libffi_convenience.la src/prep_cif.lo src/types.lo src/raw_api.lo src/java_raw_api.lo src/closures.lo src/x86/ffi.lo src/x86/win32.lo libtool: link: ar cru .libs/libffi_convenience.a src/prep_cif.o src/types.o src/raw_api.o src/java_raw_api.o src/closures.o src/x86/ffi.o src/x86/win32.o libtool: link: ranlib .libs/libffi_convenience.a libtool: link: ( cd ".libs" && rm -f "libffi_convenience.la" && cp -pR "../libffi_convenience.la" "libffi_convenience.la" ) /bin/sh ./libtool --tag=CC --mode=link gcc -O3 -fomit-frame-pointer -fstrict-aliasing -ffast-math -march=corei7 -Wall -fexceptions -no-undefined -version-info `grep -v '^#' ./libtool-version` -no-undefined -bindir "C:/cpanfly-5.20/var/cpan/build/Alien-FFI-0.07-DL7MhK/blib/lib/auto/share/dist/Alien-FFI/bin" -o libffi.la -rpath C:/cpanfly-5.20/var/cpan/build/Alien-FFI-0.07-DL7MhK/blib/lib/auto/share/dist/Alien-FFI/lib/../lib src/prep_cif.lo src/types.lo src/raw_api.lo src/java_raw_api.lo src/closures.lo src/x86/ffi.lo src/x86/win32.lo libtool: link: ar cru .libs/libffi.a src/prep_cif.o src/types.o src/raw_api.o src/java_raw_api.o src/closures.o src/x86/ffi.o src/x86/win32.o libtool: link: ranlib .libs/libffi.a libtool: link: ( cd ".libs" && rm -f "libffi.la" && cp -pR "../libffi.la" "libffi.la" ) make[2]: Leaving directory `/c/cpanfly-5.20/var/cpan/build/Alien-FFI-0.07-DL7MhK/_alien/libffi-3.2.1' make[1]: Leaving directory `/c/cpanfly-5.20/var/cpan/build/Alien-FFI-0.07-DL7MhK/_alien/libffi-3.2.1' Done Installing library to C:\cpanfly-5.20\var\cpan\build\Alien-FFI-0.07-DL7MhK\_alien\libffi-3.2.1 ... + cd C:\cpanfly-5.20\var\cpan\build\Alien-FFI-0.07-DL7MhK\_alien\libffi-3.2.1 + make install Making install in include make[1]: Entering directory `/c/cpanfly-5.20/var/cpan/build/Alien-FFI-0.07-DL7MhK/_alien/libffi-3.2.1/include' make[2]: Entering directory `/c/cpanfly-5.20/var/cpan/build/Alien-FFI-0.07-DL7MhK/_alien/libffi-3.2.1/include' make[2]: Nothing to be done for `install-exec-am'. /usr/bin/mkdir -p 'C:/cpanfly-5.20/var/cpan/build/Alien-FFI-0.07-DL7MhK/blib/lib/auto/share/dist/Alien-FFI/lib/libffi-3.2.1/include' /usr/bin/install -c -m 644 ffi.h ffitarget.h 'C:/cpanfly-5.20/var/cpan/build/Alien-FFI-0.07-DL7MhK/blib/lib/auto/share/dist/Alien-FFI/lib/libffi-3.2.1/include' make[2]: Leaving directory `/c/cpanfly-5.20/var/cpan/build/Alien-FFI-0.07-DL7MhK/_alien/libffi-3.2.1/include' make[1]: Leaving directory `/c/cpanfly-5.20/var/cpan/build/Alien-FFI-0.07-DL7MhK/_alien/libffi-3.2.1/include' Making install in testsuite make[1]: Entering directory `/c/cpanfly-5.20/var/cpan/build/Alien-FFI-0.07-DL7MhK/_alien/libffi-3.2.1/testsuite' make[2]: Entering directory `/c/cpanfly-5.20/var/cpan/build/Alien-FFI-0.07-DL7MhK/_alien/libffi-3.2.1/testsuite' make[2]: Nothing to be done for `install-exec-am'. make[2]: Nothing to be done for `install-data-am'. make[2]: Leaving directory `/c/cpanfly-5.20/var/cpan/build/Alien-FFI-0.07-DL7MhK/_alien/libffi-3.2.1/testsuite' make[1]: Leaving directory `/c/cpanfly-5.20/var/cpan/build/Alien-FFI-0.07-DL7MhK/_alien/libffi-3.2.1/testsuite' Making install in man make[1]: Entering directory `/c/cpanfly-5.20/var/cpan/build/Alien-FFI-0.07-DL7MhK/_alien/libffi-3.2.1/man' make[2]: Entering directory `/c/cpanfly-5.20/var/cpan/build/Alien-FFI-0.07-DL7MhK/_alien/libffi-3.2.1/man' make[2]: Nothing to be done for `install-exec-am'. /usr/bin/mkdir -p 'C:/cpanfly-5.20/var/cpan/build/Alien-FFI-0.07-DL7MhK/blib/lib/auto/share/dist/Alien-FFI/share/man/man3' /usr/bin/install -c -m 644 ffi.3 ffi_call.3 ffi_prep_cif.3 ffi_prep_cif_var.3 'C:/cpanfly-5.20/var/cpan/build/Alien-FFI-0.07-DL7MhK/blib/lib/auto/share/dist/Alien-FFI/share/man/man3' make[2]: Leaving directory `/c/cpanfly-5.20/var/cpan/build/Alien-FFI-0.07-DL7MhK/_alien/libffi-3.2.1/man' make[1]: Leaving directory `/c/cpanfly-5.20/var/cpan/build/Alien-FFI-0.07-DL7MhK/_alien/libffi-3.2.1/man' make[1]: Entering directory `/c/cpanfly-5.20/var/cpan/build/Alien-FFI-0.07-DL7MhK/_alien/libffi-3.2.1' make[2]: Entering directory `/c/cpanfly-5.20/var/cpan/build/Alien-FFI-0.07-DL7MhK/_alien/libffi-3.2.1' /usr/bin/mkdir -p 'C:/cpanfly-5.20/var/cpan/build/Alien-FFI-0.07-DL7MhK/blib/lib/auto/share/dist/Alien-FFI/lib/../lib' /bin/sh ./libtool --mode=install /usr/bin/install -c libffi.la 'C:/cpanfly-5.20/var/cpan/build/Alien-FFI-0.07-DL7MhK/blib/lib/auto/share/dist/Alien-FFI/lib/../lib' libtool: install: /usr/bin/install -c .libs/libffi.lai C:/cpanfly-5.20/var/cpan/build/Alien-FFI-0.07-DL7MhK/blib/lib/auto/share/dist/Alien-FFI/lib/../lib/libffi.la libtool: install: /usr/bin/install -c .libs/libffi.a C:/cpanfly-5.20/var/cpan/build/Alien-FFI-0.07-DL7MhK/blib/lib/auto/share/dist/Alien-FFI/lib/../lib/libffi.a libtool: install: chmod 644 C:/cpanfly-5.20/var/cpan/build/Alien-FFI-0.07-DL7MhK/blib/lib/auto/share/dist/Alien-FFI/lib/../lib/libffi.a libtool: install: ranlib C:/cpanfly-5.20/var/cpan/build/Alien-FFI-0.07-DL7MhK/blib/lib/auto/share/dist/Alien-FFI/lib/../lib/libffi.a /usr/bin/mkdir -p 'C:/cpanfly-5.20/var/cpan/build/Alien-FFI-0.07-DL7MhK/blib/lib/auto/share/dist/Alien-FFI/share/info' /usr/bin/install -c -m 644 ./doc/libffi.info 'C:/cpanfly-5.20/var/cpan/build/Alien-FFI-0.07-DL7MhK/blib/lib/auto/share/dist/Alien-FFI/share/info' install-info --info-dir='C:/cpanfly-5.20/var/cpan/build/Alien-FFI-0.07-DL7MhK/blib/lib/auto/share/dist/Alien-FFI/share/info' 'C:/cpanfly-5.20/var/cpan/build/Alien-FFI-0.07-DL7MhK/blib/lib/auto/share/dist/Alien-FFI/share/info/libffi.info' install-info: No such file or directory for /cpanfly-5.20/var/cpan/build/Alien-FFI-0.07-DL7MhK/blib/lib/auto/share/dist/Alien-FFI/share/info/libffi.info /usr/bin/mkdir -p 'C:/cpanfly-5.20/var/cpan/build/Alien-FFI-0.07-DL7MhK/blib/lib/auto/share/dist/Alien-FFI/lib/pkgconfig' /usr/bin/install -c -m 644 libffi.pc 'C:/cpanfly-5.20/var/cpan/build/Alien-FFI-0.07-DL7MhK/blib/lib/auto/share/dist/Alien-FFI/lib/pkgconfig' make[2]: Leaving directory `/c/cpanfly-5.20/var/cpan/build/Alien-FFI-0.07-DL7MhK/_alien/libffi-3.2.1' make[1]: Leaving directory `/c/cpanfly-5.20/var/cpan/build/Alien-FFI-0.07-DL7MhK/_alien/libffi-3.2.1' Done Isolating dynamic libraries ... Done PLICEASE/Alien-FFI-0.07.tar.gz C:\Perl-5.20\bin\perl.exe ./Build -- OK Prepending C:\cpanfly-5.20\var\cpan\build\Alien-Base-0.010-d_cMVw/blib/arch C:\cpanfly-5.20\var\cpan\build\Alien-Base-0.010-d_cMVw/blib/lib to PERL5LIB for 'test' Running Build test >>> C:\Perl-5.20\bin\perl.exe ./Build test verbose=1 'blib' scheme is detected. Setting ALIEN_BLIB=1. If this has been done in error, please set ALIEN_BLIB and restart build process to disambiguate. # # # # ACTIVEPERL_CONFIG_DISABLE=1 # HARNESS_ACTIVE=1 # HARNESS_IS_VERBOSE=1 # HARNESS_VERSION=3.35 # PERL5LIB=C:\cpanfly-5.20\var\cpan\build\Alien-FFI-0.07-DL7MhK\blib\lib;C:\cpanfly-5.20\var\cpan\build\Alien-FFI-0.07-DL7MhK\blib\arch;inc;C:\cpanfly-5.20\var\cpan\build\Alien-Base-0.010-d_cMVw\blib\arch;C:\cpanfly-5.20\var\cpan\build\Alien-Base-0.010-d_cMVw\blib\lib;C:\cpanfly-5.20\var\megalib;C:\cpanfly-5.20\var\cpan\build\Alien-Base-0.010-d_cMVw/blib/arch;C:\cpanfly-5.20\var\cpan\build\Alien-Base-0.010-d_cMVw/blib/lib;C:/cpanfly-5.20/var/megalib;C:\cpanfly-5.20\var\cpan\build\Alien-Base-0.010-d_cMVw/blib/arch;C:\cpanfly-5.20\var\cpan\build\Alien-Base-0.010-d_cMVw/blib/lib;C:/cpanfly-5.20/var/megalib # PERL5_CPANPLUS_IS_RUNNING=9524 # PERL5_CPAN_IS_RUNNING=9524 # PERL5_CPAN_IS_RUNNING_IN_RECURSION=11020,9524 # PERL_DL_NONLAZY=1 # PERL_MM_USE_DEFAULT=1 # # # # PERL5LIB path # C:\cpanfly-5.20\var\cpan\build\Alien-FFI-0.07-DL7MhK\blib\lib # C:\cpanfly-5.20\var\cpan\build\Alien-FFI-0.07-DL7MhK\blib\arch # inc # C:\cpanfly-5.20\var\cpan\build\Alien-Base-0.010-d_cMVw\blib\arch # C:\cpanfly-5.20\var\cpan\build\Alien-Base-0.010-d_cMVw\blib\lib # C:\cpanfly-5.20\var\megalib # C:\cpanfly-5.20\var\cpan\build\Alien-Base-0.010-d_cMVw/blib/arch # C:\cpanfly-5.20\var\cpan\build\Alien-Base-0.010-d_cMVw/blib/lib # C:/cpanfly-5.20/var/megalib # C:\cpanfly-5.20\var\cpan\build\Alien-Base-0.010-d_cMVw/blib/arch # C:\cpanfly-5.20\var\cpan\build\Alien-Base-0.010-d_cMVw/blib/lib # C:/cpanfly-5.20/var/megalib # # # # perl v5.20.1 # Alien::Base 0.01 # Module::Build 0.4211 # Test::More 1.001009 # # # t/00_diag.t .. 1..1 ok 1 - okay ok t/use.t ...... 1..1 ok 1 - use Alien::FFI; ok All tests successful. Files=2, Tests=2, 1 wallclock secs ( 0.05 usr + 0.02 sys = 0.06 CPU) Result: PASS Testing library (if applicable) ... + cd C:\cpanfly-5.20\var\cpan\build\Alien-FFI-0.07-DL7MhK\_alien\libffi-3.2.1 Done PLICEASE/Alien-FFI-0.07.tar.gz C:\Perl-5.20\bin\perl.exe ./Build test verbose=1 -- OK Graham Ollis <plicease@cpan.org> Build and make available libffi >>> (cd C:\cpanfly-5.20\var\cpan\build\Alien-FFI-0.07-DL7MhK && tar cvf - Alien-FFI-0.07.ppd blib) | gzip -c >C:/cpanfly-5.20/var/REPO/P/PL/PLICEASE/Alien-FFI-0.07.tar.gz Alien-FFI-0.07.ppd blib/ blib/lib/ blib/lib/Alien/ blib/lib/Alien/FFI/ blib/lib/Alien/FFI/ConfigData.pm blib/lib/Alien/FFI/Install/ blib/lib/Alien/FFI/Install/Files.pm blib/lib/Alien/FFI.pm blib/lib/auto/ blib/lib/auto/share/ blib/lib/auto/share/dist/ blib/lib/auto/share/dist/Alien-FFI/ blib/lib/auto/share/dist/Alien-FFI/dynamic/ blib/lib/auto/share/dist/Alien-FFI/dynamic/libffi.la blib/lib/auto/share/dist/Alien-FFI/lib/ blib/lib/auto/share/dist/Alien-FFI/lib/libffi-3.2.1/ blib/lib/auto/share/dist/Alien-FFI/lib/libffi-3.2.1/include/ blib/lib/auto/share/dist/Alien-FFI/lib/libffi-3.2.1/include/ffi.h blib/lib/auto/share/dist/Alien-FFI/lib/libffi-3.2.1/include/ffitarget.h blib/lib/auto/share/dist/Alien-FFI/lib/libffi.a blib/lib/auto/share/dist/Alien-FFI/lib/pkgconfig/ blib/lib/auto/share/dist/Alien-FFI/lib/pkgconfig/libffi.pc blib/lib/auto/share/dist/Alien-FFI/README blib/lib/auto/share/dist/Alien-FFI/share/ blib/lib/auto/share/dist/Alien-FFI/share/info/ blib/lib/auto/share/dist/Alien-FFI/share/info/dir blib/lib/auto/share/dist/Alien-FFI/share/info/libffi.info blib/lib/auto/share/dist/Alien-FFI/share/man/ blib/lib/auto/share/dist/Alien-FFI/share/man/man3/ blib/lib/auto/share/dist/Alien-FFI/share/man/man3/ffi.3 blib/lib/auto/share/dist/Alien-FFI/share/man/man3/ffi_call.3 blib/lib/auto/share/dist/Alien-FFI/share/man/man3/ffi_prep_cif.3 blib/lib/auto/share/dist/Alien-FFI/share/man/man3/ffi_prep_cif_var.3 >>> mv C:\cpanfly-5.20\var\cpan\build\Alien-FFI-0.07-DL7MhK/Alien-FFI-0.07.ppd C:/cpanfly-5.20/var/REPO/P/PL/PLICEASE Running make for P/PL/PLICEASE/FFI-Platypus-0.26.tar.gz Prepending C:\cpanfly-5.20\var\cpan\build\Alien-FFI-0.07-DL7MhK/blib/arch C:\cpanfly-5.20\var\cpan\build\Alien-FFI-0.07-DL7MhK/blib/lib C:\cpanfly-5.20\var\cpan\build\Alien-Base-0.010-d_cMVw/blib/arch C:\cpanfly-5.20\var\cpan\build\Alien-Base-0.010-d_cMVw/blib/lib to PERL5LIB for 'get' Prepending C:\cpanfly-5.20\var\cpan\build\Alien-FFI-0.07-DL7MhK/blib/arch C:\cpanfly-5.20\var\cpan\build\Alien-FFI-0.07-DL7MhK/blib/lib C:\cpanfly-5.20\var\cpan\build\Alien-Base-0.010-d_cMVw/blib/arch C:\cpanfly-5.20\var\cpan\build\Alien-Base-0.010-d_cMVw/blib/lib to PERL5LIB for 'make' CPAN.pm: Building P/PL/PLICEASE/FFI-Platypus-0.26.tar.gz >>> C:\Perl-5.20\bin\perl.exe Build.PL CONFIGURE + $args{extra_compiler_flags} = -IC:/cpanfly-5.20/var/cpan/build/Alien-FFI-0.07-DL7MhK/blib/lib/auto/share/dist/Alien-FFI/lib/libffi-3.2.1/include + $args{extra_linker_flags} = -LC:/cpanfly-5.20/var/cpan/build/Alien-FFI-0.07-DL7MhK/blib/lib/auto/share/dist/Alien-FFI/lib/../lib -lffi -lpsapi Created MYMETA.yml and MYMETA.json Creating new 'Build' script for 'FFI-Platypus' version '0.26' >>> C:\Perl-5.20\bin\perl.exe ./Build Checking for cc... gcc Checking for stdlib.h... yes Checking for stdint.h... yes Checking for sys/types.h... yes Checking for sys/stat.h... yes Checking for unistd.h... yes Checking for alloca.h... no Checking for dlfcn.h... no Checking for limits.h... yes Checking for stddef.h... yes Checking for wchar.h... yes Checking for signal.h... yes Checking for inttypes.h... yes Checking for windows.h... yes Checking for sys/cygwin.h... no Checking for string.h... yes Checking for psapi.h... no Checking for stdio.h... yes Checking for stdbool.h... yes Checking for complex.h... yes Checking whether RTLD_LAZY is declared... no Checking whether alloca is declared... no Checking for dlopen in -lmoldname... no Checking for dlopen in -lkernel32... no Checking for dlopen in -luser32... no Checking for dlopen in -lgdi32... no Checking for dlopen in -lwinspool... no Checking for dlopen in -lcomdlg32... no Checking for dlopen in -ladvapi32... no Checking for dlopen in -lshell32... no Checking for dlopen in -lole32... no Checking for dlopen in -loleaut32... no Checking for dlopen in -lnetapi32... no Checking for dlopen in -luuid... no Checking for dlopen in -lws2_32... no Checking for dlopen in -lmpr... no Checking for dlopen in -lwinmm... no Checking for dlopen in -lversion... no Checking for dlopen in -lodbc32... no Checking for dlopen in -lodbccp32... no Checking for dlopen in -lcomctl32... no Checking for size of char... yes Checking for compute result of (signed(char))... yes Checking for size of signed char... yes Checking for size of unsigned char... yes Checking for size of short... 2 Checking for compute result of (signed(short))... yes Checking for size of signed short... 2 Checking for size of unsigned short... 2 Checking for size of int... 4 Checking for compute result of (signed(int))... yes Checking for size of signed int... 4 Checking for size of unsigned int... 4 Checking for size of long... 4 Checking for compute result of (signed(long))... yes Checking for size of signed long... 4 Checking for size of unsigned long... 4 Checking for size of long long... 8 Checking for compute result of (signed(long long))... yes Checking for size of signed long long... 8 Checking for size of unsigned long long... 8 Checking for size of size_t... 4 Checking for compute result of (signed(size_t))... no Checking for size of dev_t... 4 Checking for compute result of (signed(dev_t))... no Checking for size of ino_t... 2 Checking for compute result of (signed(ino_t))... no Checking for size of mode_t... 2 Checking for compute result of (signed(mode_t))... no Checking for size of nlink_t... no Checking for size of uid_t... no Checking for size of gid_t... no Checking for size of off_t... 4 Checking for compute result of (signed(off_t))... no Checking for size of blksize_t... no Checking for size of blkcnt_t... no Checking for size of time_t... 4 Checking for compute result of (signed(time_t))... yes Checking for size of uint8_t... yes Checking for size of int8_t... yes Checking for size of uint16_t... 2 Checking for size of int16_t... 2 Checking for size of uint32_t... 4 Checking for size of int32_t... 4 Checking for size of uint64_t... 8 Checking for size of int64_t... 8 Checking for size of int_least8_t... yes Checking for size of int_least16_t... 2 Checking for size of int_least32_t... 4 Checking for size of int_least64_t... 8 Checking for size of uint_least8_t... yes Checking for size of uint_least16_t... 2 Checking for size of uint_least32_t... 4 Checking for size of uint_least64_t... 8 Checking for size of ptrdiff_t... 4 Checking for compute result of (signed(ptrdiff_t))... yes Checking for size of wchar_t... 2 Checking for compute result of (signed(wchar_t))... no Checking for size of wint_t... 2 Checking for compute result of (signed(wint_t))... no Checking for size of float... 4 Checking for size of double... 8 Checking for size of bool... no Checking for size of _Bool... yes Checking for compute result of (signed(_Bool))... no Checking for stdlib.h... (cached) yes Checking for stdarg.h... yes Checking for string.h... (cached) yes Checking for float.h... yes Checking for assert.h... yes Checking for ctype.h... yes Checking for errno.h... yes Checking for limits.h... (cached) yes Checking for locale.h... yes Checking for math.h... yes Checking for setjmp.h... yes Checking for signal.h... (cached) yes Checking for stddef.h... (cached) yes Checking for stdio.h... (cached) yes Checking for time.h... yes Checking for sys/types.h... (cached) yes Checking for sys/stat.h... (cached) yes Checking for memory.h... yes Checking for strings.h... yes Checking for inttypes.h... (cached) yes Checking for stdint.h... (cached) yes Checking for unistd.h... (cached) yes Checking for align of void*... 4 Checking for align of float... 4 Checking for align of double... 8 Checking for align of long double... 4 Checking for align of float complex... no Checking for compute result of (__builtin_offsetof(struct align, bfloat_complex))... 4 Checking for align of double complex... no Checking for compute result of (__builtin_offsetof(struct align, bdouble_complex))... 8 Checking for align of int8_t... yes Checking for align of int16_t... 2 Checking for align of int32_t... 4 Checking for align of int64_t... 8 Checking for size of long double... 12 Checking for size of float complex... 8 Checking for size of double complex... 16 Checking for size of complex... 16 gcc -c -I"include" -s -O2 -DWIN32 -DPERL_TEXTMODE_SCRIPTS -DUSE_SITECUSTOMIZE -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -DUSE_PERLIO -fwrapv -fno-strict-aliasing -mms-bitfields -IC:/cpanfly-5.20/var/cpan/build/Alien-FFI-0.07-DL7MhK/blib/lib/auto/share/dist/Alien-FFI/lib/libffi-3.2.1/include -s -O2 -I"C:\Perl-5.20\lib\CORE" -I"C:\MinGW\i686-w64-mingw32\include" -o "inc\probe\bigendian.o" "inc\probe\bigendian.c" g++ -o inc\probe\bigendian.exe inc\probe\bigendian.o -LC:/cpanfly-5.20/var/cpan/build/Alien-FFI-0.07-DL7MhK/blib/lib/auto/share/dist/Alien-FFI/lib/../lib -lffi -lpsapi inc\probe\bigendian.exe --test exit = 2 gcc -c -I"include" -s -O2 -DWIN32 -DPERL_TEXTMODE_SCRIPTS -DUSE_SITECUSTOMIZE -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -DUSE_PERLIO -fwrapv -fno-strict-aliasing -mms-bitfields -IC:/cpanfly-5.20/var/cpan/build/Alien-FFI-0.07-DL7MhK/blib/lib/auto/share/dist/Alien-FFI/lib/libffi-3.2.1/include -s -O2 -I"C:\Perl-5.20\lib\CORE" -I"C:\MinGW\i686-w64-mingw32\include" -o "inc\probe\complex.o" "inc\probe\complex.c" g++ -o inc\probe\complex.exe inc\probe\complex.o -LC:/cpanfly-5.20/var/cpan/build/Alien-FFI-0.07-DL7MhK/blib/lib/auto/share/dist/Alien-FFI/lib/../lib -lffi -lpsapi inc\probe\complex.exe --test exit = 0 gcc -c -I"include" -s -O2 -DWIN32 -DPERL_TEXTMODE_SCRIPTS -DUSE_SITECUSTOMIZE -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -DUSE_PERLIO -fwrapv -fno-strict-aliasing -mms-bitfields -IC:/cpanfly-5.20/var/cpan/build/Alien-FFI-0.07-DL7MhK/blib/lib/auto/share/dist/Alien-FFI/lib/libffi-3.2.1/include -s -O2 -I"C:\Perl-5.20\lib\CORE" -I"C:\MinGW\i686-w64-mingw32\include" -o "inc\probe\longdouble.o" "inc\probe\longdouble.c" g++ -o inc\probe\longdouble.exe inc\probe\longdouble.o -LC:/cpanfly-5.20/var/cpan/build/Alien-FFI-0.07-DL7MhK/blib/lib/auto/share/dist/Alien-FFI/lib/../lib -lffi -lpsapi inc\probe\longdouble.exe --test exit = 0 Building FFI-Platypus gcc -c -I"include" -I"xs" -s -O2 -DWIN32 -DPERL_TEXTMODE_SCRIPTS -DUSE_SITECUSTOMIZE -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -DUSE_PERLIO -fwrapv -fno-strict-aliasing -mms-bitfields -IC:/cpanfly-5.20/var/cpan/build/Alien-FFI-0.07-DL7MhK/blib/lib/auto/share/dist/Alien-FFI/lib/libffi-3.2.1/include -s -O2 -I"C:\Perl-5.20\lib\CORE" -I"C:\MinGW\i686-w64-mingw32\include" -o "xs\closure.o" "xs\closure.c" gcc -c -I"include" -I"xs" -s -O2 -DWIN32 -DPERL_TEXTMODE_SCRIPTS -DUSE_SITECUSTOMIZE -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -DUSE_PERLIO -fwrapv -fno-strict-aliasing -mms-bitfields -IC:/cpanfly-5.20/var/cpan/build/Alien-FFI-0.07-DL7MhK/blib/lib/auto/share/dist/Alien-FFI/lib/libffi-3.2.1/include -s -O2 -I"C:\Perl-5.20\lib\CORE" -I"C:\MinGW\i686-w64-mingw32\include" -o "xs\complex.o" "xs\complex.c" gcc -c -I"include" -I"xs" -s -O2 -DWIN32 -DPERL_TEXTMODE_SCRIPTS -DUSE_SITECUSTOMIZE -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -DUSE_PERLIO -fwrapv -fno-strict-aliasing -mms-bitfields -IC:/cpanfly-5.20/var/cpan/build/Alien-FFI-0.07-DL7MhK/blib/lib/auto/share/dist/Alien-FFI/lib/libffi-3.2.1/include -s -O2 -I"C:\Perl-5.20\lib\CORE" -I"C:\MinGW\i686-w64-mingw32\include" -o "xs\custom.o" "xs\custom.c" gcc -c -I"include" -I"xs" -s -O2 -DWIN32 -DPERL_TEXTMODE_SCRIPTS -DUSE_SITECUSTOMIZE -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -DUSE_PERLIO -fwrapv -fno-strict-aliasing -mms-bitfields -IC:/cpanfly-5.20/var/cpan/build/Alien-FFI-0.07-DL7MhK/blib/lib/auto/share/dist/Alien-FFI/lib/libffi-3.2.1/include -s -O2 -I"C:\Perl-5.20\lib\CORE" -I"C:\MinGW\i686-w64-mingw32\include" -o "xs\havepm.o" "xs\havepm.c" gcc -c -I"include" -I"xs" -s -O2 -DWIN32 -DPERL_TEXTMODE_SCRIPTS -DUSE_SITECUSTOMIZE -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -DUSE_PERLIO -fwrapv -fno-strict-aliasing -mms-bitfields -IC:/cpanfly-5.20/var/cpan/build/Alien-FFI-0.07-DL7MhK/blib/lib/auto/share/dist/Alien-FFI/lib/libffi-3.2.1/include -s -O2 -I"C:\Perl-5.20\lib\CORE" -I"C:\MinGW\i686-w64-mingw32\include" -o "xs\meta.o" "xs\meta.c" gcc -c -I"include" -I"xs" -s -O2 -DWIN32 -DPERL_TEXTMODE_SCRIPTS -DUSE_SITECUSTOMIZE -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -DUSE_PERLIO -fwrapv -fno-strict-aliasing -mms-bitfields -IC:/cpanfly-5.20/var/cpan/build/Alien-FFI-0.07-DL7MhK/blib/lib/auto/share/dist/Alien-FFI/lib/libffi-3.2.1/include -s -O2 -I"C:\Perl-5.20\lib\CORE" -I"C:\MinGW\i686-w64-mingw32\include" -o "xs\names.o" "xs\names.c" gcc -c -I"include" -I"xs" -s -O2 -DWIN32 -DPERL_TEXTMODE_SCRIPTS -DUSE_SITECUSTOMIZE -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -DUSE_PERLIO -fwrapv -fno-strict-aliasing -mms-bitfields -IC:/cpanfly-5.20/var/cpan/build/Alien-FFI-0.07-DL7MhK/blib/lib/auto/share/dist/Alien-FFI/lib/libffi-3.2.1/include -s -O2 -I"C:\Perl-5.20\lib\CORE" -I"C:\MinGW\i686-w64-mingw32\include" -o "xs\perl_math_int64.o" "xs\perl_math_int64.c" gcc -c -I"include" -I"xs" -s -O2 -DWIN32 -DPERL_TEXTMODE_SCRIPTS -DUSE_SITECUSTOMIZE -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -DUSE_PERLIO -fwrapv -fno-strict-aliasing -mms-bitfields -IC:/cpanfly-5.20/var/cpan/build/Alien-FFI-0.07-DL7MhK/blib/lib/auto/share/dist/Alien-FFI/lib/libffi-3.2.1/include -s -O2 -I"C:\Perl-5.20\lib\CORE" -I"C:\MinGW\i686-w64-mingw32\include" -o "xs\record_opaque.o" "xs\record_opaque.c" gcc -c -I"include" -I"xs" -s -O2 -DWIN32 -DPERL_TEXTMODE_SCRIPTS -DUSE_SITECUSTOMIZE -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -DUSE_PERLIO -fwrapv -fno-strict-aliasing -mms-bitfields -IC:/cpanfly-5.20/var/cpan/build/Alien-FFI-0.07-DL7MhK/blib/lib/auto/share/dist/Alien-FFI/lib/libffi-3.2.1/include -s -O2 -I"C:\Perl-5.20\lib\CORE" -I"C:\MinGW\i686-w64-mingw32\include" -o "xs\record_simple.o" "xs\record_simple.c" gcc -c -I"include" -I"xs" -s -O2 -DWIN32 -DPERL_TEXTMODE_SCRIPTS -DUSE_SITECUSTOMIZE -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -DUSE_PERLIO -fwrapv -fno-strict-aliasing -mms-bitfields -IC:/cpanfly-5.20/var/cpan/build/Alien-FFI-0.07-DL7MhK/blib/lib/auto/share/dist/Alien-FFI/lib/libffi-3.2.1/include -s -O2 -I"C:\Perl-5.20\lib\CORE" -I"C:\MinGW\i686-w64-mingw32\include" -o "xs\record_string.o" "xs\record_string.c" gcc -c -I"include" -I"xs" -s -O2 -DWIN32 -DPERL_TEXTMODE_SCRIPTS -DUSE_SITECUSTOMIZE -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -DUSE_PERLIO -fwrapv -fno-strict-aliasing -mms-bitfields -IC:/cpanfly-5.20/var/cpan/build/Alien-FFI-0.07-DL7MhK/blib/lib/auto/share/dist/Alien-FFI/lib/libffi-3.2.1/include -s -O2 -I"C:\Perl-5.20\lib\CORE" -I"C:\MinGW\i686-w64-mingw32\include" -o "xs\windl.o" "xs\windl.c" gcc -c -I"include" -I"xs" -s -O2 -DWIN32 -DPERL_TEXTMODE_SCRIPTS -DUSE_SITECUSTOMIZE -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -DUSE_PERLIO -fwrapv -fno-strict-aliasing -mms-bitfields -IC:/cpanfly-5.20/var/cpan/build/Alien-FFI-0.07-DL7MhK/blib/lib/auto/share/dist/Alien-FFI/lib/libffi-3.2.1/include -s -O2 "-DXS_VERSION=\"0.26\"" "-DVERSION=\"0.26\"" -I"C:\Perl-5.20\lib\CORE" -I"C:\MinGW\i686-w64-mingw32\include" -o "lib\FFI\Platypus.o" "lib\FFI\Platypus.c" In file included from lib\\FFI\\Platypus.xs:41:0: include/ffi_platypus_call.h: In function 'ffi_pl_sub_call': include/ffi_platypus_call.h:455:19: warning: assignment from incompatible pointer type [enabled by default] In file included from lib\FFI/../../xs/Function.xs:115:0: include/ffi_platypus_call.h: In function 'XS_FFI__Platypus__Function_call': include/ffi_platypus_call.h:455:19: warning: assignment from incompatible pointer type [enabled by default] lib\FFI/../../xs/Function.xs: In function 'XS_FFI__Platypus__Function_attach': lib\FFI/../../xs/Function.xs:127:7: warning: passing argument 1 of 'Perl_croak_nocontext' from incompatible pointer type [enabled by default] C:\Perl-5.20\lib\CORE/proto.h:5585:27: note: expected 'const char *' but argument is of type 'struct PerlInterpreter *' ExtUtils::Mkbootstrap::Mkbootstrap('blib\arch\auto\FFI\Platypus\Platypus.bs') Writing blib\arch\auto\FFI\Platypus\Platypus.bs.bs Generating script 'lib\FFI\Platypus.lds' dlltool --def "lib\FFI\Platypus.def" --output-exp "lib\FFI\Platypus.exp" g++ -o "blib\arch\auto\FFI\Platypus\Platypus.dll" -Wl,--base-file,"lib\FFI\Platypus.base" -Wl,--image-base,0x291c0000 -mdll -s -static-libgcc -static-libstdc++ -L"C:\Perl-5.20\lib\CORE" -L"C:\MinGW\i686-w64-mingw32\lib" "lib\FFI\Platypus.lds" -LC:/cpanfly-5.20/var/cpan/build/Alien-FFI-0.07-DL7MhK/blib/lib/auto/share/dist/Alien-FFI/lib/../lib -lffi -lpsapi "lib\FFI\Platypus.exp" dlltool --def "lib\FFI\Platypus.def" --output-exp "lib\FFI\Platypus.exp" --base-file "lib\FFI\Platypus.base" g++ -o "blib\arch\auto\FFI\Platypus\Platypus.dll" -Wl,--image-base,0x291c0000 -mdll -s -static-libgcc -static-libstdc++ -L"C:\Perl-5.20\lib\CORE" -L"C:\MinGW\i686-w64-mingw32\lib" "lib\FFI\Platypus.lds" -LC:/cpanfly-5.20/var/cpan/build/Alien-FFI-0.07-DL7MhK/blib/lib/auto/share/dist/Alien-FFI/lib/../lib -lffi -lpsapi "lib\FFI\Platypus.exp" PLICEASE/FFI-Platypus-0.26.tar.gz C:\Perl-5.20\bin\perl.exe ./Build -- OK Prepending C:\cpanfly-5.20\var\cpan\build\Alien-FFI-0.07-DL7MhK/blib/arch C:\cpanfly-5.20\var\cpan\build\Alien-FFI-0.07-DL7MhK/blib/lib C:\cpanfly-5.20\var\cpan\build\Alien-Base-0.010-d_cMVw/blib/arch C:\cpanfly-5.20\var\cpan\build\Alien-Base-0.010-d_cMVw/blib/lib to PERL5LIB for 'test' Running Build test >>> C:\Perl-5.20\bin\perl.exe ./Build test verbose=1 gcc -c -I"C:\cpanfly-5.20\var\cpan\build\FFI-Platypus-0.26-Pv0_qc\include" -s -O2 -DWIN32 -DPERL_TEXTMODE_SCRIPTS -DUSE_SITECUSTOMIZE -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -DUSE_PERLIO -fwrapv -fno-strict-aliasing -mms-bitfields -IC:/cpanfly-5.20/var/cpan/build/Alien-FFI-0.07-DL7MhK/blib/lib/auto/share/dist/Alien-FFI/lib/libffi-3.2.1/include -s -O2 -I"C:\Perl-5.20\lib\CORE" -I"C:\MinGW\i686-w64-mingw32\include" -o "libtest\align.o" "libtest\align.c" gcc -c -I"C:\cpanfly-5.20\var\cpan\build\FFI-Platypus-0.26-Pv0_qc\include" -s -O2 -DWIN32 -DPERL_TEXTMODE_SCRIPTS -DUSE_SITECUSTOMIZE -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -DUSE_PERLIO -fwrapv -fno-strict-aliasing -mms-bitfields -IC:/cpanfly-5.20/var/cpan/build/Alien-FFI-0.07-DL7MhK/blib/lib/auto/share/dist/Alien-FFI/lib/libffi-3.2.1/include -s -O2 -I"C:\Perl-5.20\lib\CORE" -I"C:\MinGW\i686-w64-mingw32\include" -o "libtest\align_array.o" "libtest\align_array.c" gcc -c -I"C:\cpanfly-5.20\var\cpan\build\FFI-Platypus-0.26-Pv0_qc\include" -s -O2 -DWIN32 -DPERL_TEXTMODE_SCRIPTS -DUSE_SITECUSTOMIZE -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -DUSE_PERLIO -fwrapv -fno-strict-aliasing -mms-bitfields -IC:/cpanfly-5.20/var/cpan/build/Alien-FFI-0.07-DL7MhK/blib/lib/auto/share/dist/Alien-FFI/lib/libffi-3.2.1/include -s -O2 -I"C:\Perl-5.20\lib\CORE" -I"C:\MinGW\i686-w64-mingw32\include" -o "libtest\align_fixed.o" "libtest\align_fixed.c" gcc -c -I"C:\cpanfly-5.20\var\cpan\build\FFI-Platypus-0.26-Pv0_qc\include" -s -O2 -DWIN32 -DPERL_TEXTMODE_SCRIPTS -DUSE_SITECUSTOMIZE -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -DUSE_PERLIO -fwrapv -fno-strict-aliasing -mms-bitfields -IC:/cpanfly-5.20/var/cpan/build/Alien-FFI-0.07-DL7MhK/blib/lib/auto/share/dist/Alien-FFI/lib/libffi-3.2.1/include -s -O2 -I"C:\Perl-5.20\lib\CORE" -I"C:\MinGW\i686-w64-mingw32\include" -o "libtest\align_string.o" "libtest\align_string.c" gcc -c -I"C:\cpanfly-5.20\var\cpan\build\FFI-Platypus-0.26-Pv0_qc\include" -s -O2 -DWIN32 -DPERL_TEXTMODE_SCRIPTS -DUSE_SITECUSTOMIZE -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -DUSE_PERLIO -fwrapv -fno-strict-aliasing -mms-bitfields -IC:/cpanfly-5.20/var/cpan/build/Alien-FFI-0.07-DL7MhK/blib/lib/auto/share/dist/Alien-FFI/lib/libffi-3.2.1/include -s -O2 -I"C:\Perl-5.20\lib\CORE" -I"C:\MinGW\i686-w64-mingw32\include" -o "libtest\basic.o" "libtest\basic.c" gcc -c -I"C:\cpanfly-5.20\var\cpan\build\FFI-Platypus-0.26-Pv0_qc\include" -s -O2 -DWIN32 -DPERL_TEXTMODE_SCRIPTS -DUSE_SITECUSTOMIZE -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -DUSE_PERLIO -fwrapv -fno-strict-aliasing -mms-bitfields -IC:/cpanfly-5.20/var/cpan/build/Alien-FFI-0.07-DL7MhK/blib/lib/auto/share/dist/Alien-FFI/lib/libffi-3.2.1/include -s -O2 -I"C:\Perl-5.20\lib\CORE" -I"C:\MinGW\i686-w64-mingw32\include" -o "libtest\color.o" "libtest\color.c" gcc -c -I"C:\cpanfly-5.20\var\cpan\build\FFI-Platypus-0.26-Pv0_qc\include" -s -O2 -DWIN32 -DPERL_TEXTMODE_SCRIPTS -DUSE_SITECUSTOMIZE -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -DUSE_PERLIO -fwrapv -fno-strict-aliasing -mms-bitfields -IC:/cpanfly-5.20/var/cpan/build/Alien-FFI-0.07-DL7MhK/blib/lib/auto/share/dist/Alien-FFI/lib/libffi-3.2.1/include -s -O2 -I"C:\Perl-5.20\lib\CORE" -I"C:\MinGW\i686-w64-mingw32\include" -o "libtest\complex_double.o" "libtest\complex_double.c" gcc -c -I"C:\cpanfly-5.20\var\cpan\build\FFI-Platypus-0.26-Pv0_qc\include" -s -O2 -DWIN32 -DPERL_TEXTMODE_SCRIPTS -DUSE_SITECUSTOMIZE -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -DUSE_PERLIO -fwrapv -fno-strict-aliasing -mms-bitfields -IC:/cpanfly-5.20/var/cpan/build/Alien-FFI-0.07-DL7MhK/blib/lib/auto/share/dist/Alien-FFI/lib/libffi-3.2.1/include -s -O2 -I"C:\Perl-5.20\lib\CORE" -I"C:\MinGW\i686-w64-mingw32\include" -o "libtest\complex_float.o" "libtest\complex_float.c" gcc -c -I"C:\cpanfly-5.20\var\cpan\build\FFI-Platypus-0.26-Pv0_qc\include" -s -O2 -DWIN32 -DPERL_TEXTMODE_SCRIPTS -DUSE_SITECUSTOMIZE -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -DUSE_PERLIO -fwrapv -fno-strict-aliasing -mms-bitfields -IC:/cpanfly-5.20/var/cpan/build/Alien-FFI-0.07-DL7MhK/blib/lib/auto/share/dist/Alien-FFI/lib/libffi-3.2.1/include -s -O2 -I"C:\Perl-5.20\lib\CORE" -I"C:\MinGW\i686-w64-mingw32\include" -o "libtest\double.o" "libtest\double.c" gcc -c -I"C:\cpanfly-5.20\var\cpan\build\FFI-Platypus-0.26-Pv0_qc\include" -s -O2 -DWIN32 -DPERL_TEXTMODE_SCRIPTS -DUSE_SITECUSTOMIZE -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -DUSE_PERLIO -fwrapv -fno-strict-aliasing -mms-bitfields -IC:/cpanfly-5.20/var/cpan/build/Alien-FFI-0.07-DL7MhK/blib/lib/auto/share/dist/Alien-FFI/lib/libffi-3.2.1/include -s -O2 -I"C:\Perl-5.20\lib\CORE" -I"C:\MinGW\i686-w64-mingw32\include" -o "libtest\float.o" "libtest\float.c" gcc -c -I"C:\cpanfly-5.20\var\cpan\build\FFI-Platypus-0.26-Pv0_qc\include" -s -O2 -DWIN32 -DPERL_TEXTMODE_SCRIPTS -DUSE_SITECUSTOMIZE -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -DUSE_PERLIO -fwrapv -fno-strict-aliasing -mms-bitfields -IC:/cpanfly-5.20/var/cpan/build/Alien-FFI-0.07-DL7MhK/blib/lib/auto/share/dist/Alien-FFI/lib/libffi-3.2.1/include -s -O2 -I"C:\Perl-5.20\lib\CORE" -I"C:\MinGW\i686-w64-mingw32\include" -o "libtest\longdouble.o" "libtest\longdouble.c" gcc -c -I"C:\cpanfly-5.20\var\cpan\build\FFI-Platypus-0.26-Pv0_qc\include" -s -O2 -DWIN32 -DPERL_TEXTMODE_SCRIPTS -DUSE_SITECUSTOMIZE -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -DUSE_PERLIO -fwrapv -fno-strict-aliasing -mms-bitfields -IC:/cpanfly-5.20/var/cpan/build/Alien-FFI-0.07-DL7MhK/blib/lib/auto/share/dist/Alien-FFI/lib/libffi-3.2.1/include -s -O2 -I"C:\Perl-5.20\lib\CORE" -I"C:\MinGW\i686-w64-mingw32\include" -o "libtest\pointer.o" "libtest\pointer.c" gcc -c -I"C:\cpanfly-5.20\var\cpan\build\FFI-Platypus-0.26-Pv0_qc\include" -s -O2 -DWIN32 -DPERL_TEXTMODE_SCRIPTS -DUSE_SITECUSTOMIZE -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -DUSE_PERLIO -fwrapv -fno-strict-aliasing -mms-bitfields -IC:/cpanfly-5.20/var/cpan/build/Alien-FFI-0.07-DL7MhK/blib/lib/auto/share/dist/Alien-FFI/lib/libffi-3.2.1/include -s -O2 -I"C:\Perl-5.20\lib\CORE" -I"C:\MinGW\i686-w64-mingw32\include" -o "libtest\record.o" "libtest\record.c" gcc -c -I"C:\cpanfly-5.20\var\cpan\build\FFI-Platypus-0.26-Pv0_qc\include" -s -O2 -DWIN32 -DPERL_TEXTMODE_SCRIPTS -DUSE_SITECUSTOMIZE -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -DUSE_PERLIO -fwrapv -fno-strict-aliasing -mms-bitfields -IC:/cpanfly-5.20/var/cpan/build/Alien-FFI-0.07-DL7MhK/blib/lib/auto/share/dist/Alien-FFI/lib/libffi-3.2.1/include -s -O2 -I"C:\Perl-5.20\lib\CORE" -I"C:\MinGW\i686-w64-mingw32\include" -o "libtest\sint16.o" "libtest\sint16.c" gcc -c -I"C:\cpanfly-5.20\var\cpan\build\FFI-Platypus-0.26-Pv0_qc\include" -s -O2 -DWIN32 -DPERL_TEXTMODE_SCRIPTS -DUSE_SITECUSTOMIZE -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -DUSE_PERLIO -fwrapv -fno-strict-aliasing -mms-bitfields -IC:/cpanfly-5.20/var/cpan/build/Alien-FFI-0.07-DL7MhK/blib/lib/auto/share/dist/Alien-FFI/lib/libffi-3.2.1/include -s -O2 -I"C:\Perl-5.20\lib\CORE" -I"C:\MinGW\i686-w64-mingw32\include" -o "libtest\sint32.o" "libtest\sint32.c" gcc -c -I"C:\cpanfly-5.20\var\cpan\build\FFI-Platypus-0.26-Pv0_qc\include" -s -O2 -DWIN32 -DPERL_TEXTMODE_SCRIPTS -DUSE_SITECUSTOMIZE -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -DUSE_PERLIO -fwrapv -fno-strict-aliasing -mms-bitfields -IC:/cpanfly-5.20/var/cpan/build/Alien-FFI-0.07-DL7MhK/blib/lib/auto/share/dist/Alien-FFI/lib/libffi-3.2.1/include -s -O2 -I"C:\Perl-5.20\lib\CORE" -I"C:\MinGW\i686-w64-mingw32\include" -o "libtest\sint64.o" "libtest\sint64.c" gcc -c -I"C:\cpanfly-5.20\var\cpan\build\FFI-Platypus-0.26-Pv0_qc\include" -s -O2 -DWIN32 -DPERL_TEXTMODE_SCRIPTS -DUSE_SITECUSTOMIZE -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -DUSE_PERLIO -fwrapv -fno-strict-aliasing -mms-bitfields -IC:/cpanfly-5.20/var/cpan/build/Alien-FFI-0.07-DL7MhK/blib/lib/auto/share/dist/Alien-FFI/lib/libffi-3.2.1/include -s -O2 -I"C:\Perl-5.20\lib\CORE" -I"C:\MinGW\i686-w64-mingw32\include" -o "libtest\sint8.o" "libtest\sint8.c" gcc -c -I"C:\cpanfly-5.20\var\cpan\build\FFI-Platypus-0.26-Pv0_qc\include" -s -O2 -DWIN32 -DPERL_TEXTMODE_SCRIPTS -DUSE_SITECUSTOMIZE -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -DUSE_PERLIO -fwrapv -fno-strict-aliasing -mms-bitfields -IC:/cpanfly-5.20/var/cpan/build/Alien-FFI-0.07-DL7MhK/blib/lib/auto/share/dist/Alien-FFI/lib/libffi-3.2.1/include -s -O2 -I"C:\Perl-5.20\lib\CORE" -I"C:\MinGW\i686-w64-mingw32\include" -o "libtest\string.o" "libtest\string.c" gcc -c -I"C:\cpanfly-5.20\var\cpan\build\FFI-Platypus-0.26-Pv0_qc\include" -s -O2 -DWIN32 -DPERL_TEXTMODE_SCRIPTS -DUSE_SITECUSTOMIZE -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -DUSE_PERLIO -fwrapv -fno-strict-aliasing -mms-bitfields -IC:/cpanfly-5.20/var/cpan/build/Alien-FFI-0.07-DL7MhK/blib/lib/auto/share/dist/Alien-FFI/lib/libffi-3.2.1/include -s -O2 -I"C:\Perl-5.20\lib\CORE" -I"C:\MinGW\i686-w64-mingw32\include" -o "libtest\uint16.o" "libtest\uint16.c" gcc -c -I"C:\cpanfly-5.20\var\cpan\build\FFI-Platypus-0.26-Pv0_qc\include" -s -O2 -DWIN32 -DPERL_TEXTMODE_SCRIPTS -DUSE_SITECUSTOMIZE -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -DUSE_PERLIO -fwrapv -fno-strict-aliasing -mms-bitfields -IC:/cpanfly-5.20/var/cpan/build/Alien-FFI-0.07-DL7MhK/blib/lib/auto/share/dist/Alien-FFI/lib/libffi-3.2.1/include -s -O2 -I"C:\Perl-5.20\lib\CORE" -I"C:\MinGW\i686-w64-mingw32\include" -o "libtest\uint32.o" "libtest\uint32.c" gcc -c -I"C:\cpanfly-5.20\var\cpan\build\FFI-Platypus-0.26-Pv0_qc\include" -s -O2 -DWIN32 -DPERL_TEXTMODE_SCRIPTS -DUSE_SITECUSTOMIZE -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -DUSE_PERLIO -fwrapv -fno-strict-aliasing -mms-bitfields -IC:/cpanfly-5.20/var/cpan/build/Alien-FFI-0.07-DL7MhK/blib/lib/auto/share/dist/Alien-FFI/lib/libffi-3.2.1/include -s -O2 -I"C:\Perl-5.20\lib\CORE" -I"C:\MinGW\i686-w64-mingw32\include" -o "libtest\uint64.o" "libtest\uint64.c" gcc -c -I"C:\cpanfly-5.20\var\cpan\build\FFI-Platypus-0.26-Pv0_qc\include" -s -O2 -DWIN32 -DPERL_TEXTMODE_SCRIPTS -DUSE_SITECUSTOMIZE -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -DUSE_PERLIO -fwrapv -fno-strict-aliasing -mms-bitfields -IC:/cpanfly-5.20/var/cpan/build/Alien-FFI-0.07-DL7MhK/blib/lib/auto/share/dist/Alien-FFI/lib/libffi-3.2.1/include -s -O2 -I"C:\Perl-5.20\lib\CORE" -I"C:\MinGW\i686-w64-mingw32\include" -o "libtest\uint8.o" "libtest\uint8.c" gcc -mdll -s -static-libgcc -static-libstdc++ -LC:/Perl-5.20/lib/CORE -LC:/MinGW/i686-w64-mingw32/lib -o C:/cpanfly-5.20/var/cpan/build/FFI-Platypus-0.26-Pv0_qc/libtest/libtest.dll -Wl,--export-all-symbols libtest/align.o libtest/align_array.o libtest/align_fixed.o libtest/align_string.o libtest/basic.o libtest/color.o libtest/complex_double.o libtest/complex_float.o libtest/double.o libtest/float.o libtest/longdouble.o libtest/pointer.o libtest/record.o libtest/sint16.o libtest/sint32.o libtest/sint64.o libtest/sint8.o libtest/string.o libtest/uint16.o libtest/uint32.o libtest/uint64.o libtest/uint8.o # # # # ACTIVEPERL_CONFIG_DISABLE=1 # HARNESS_ACTIVE=1 # HARNESS_IS_VERBOSE=1 # HARNESS_VERSION=3.35 # PERL5LIB=C:\cpanfly-5.20\var\cpan\build\FFI-Platypus-0.26-Pv0_qc\blib\lib;C:\cpanfly-5.20\var\cpan\build\FFI-Platypus-0.26-Pv0_qc\blib\arch;inc;C:\cpanfly-5.20\var\cpan\build\Alien-FFI-0.07-DL7MhK\blib\arch;C:\cpanfly-5.20\var\cpan\build\Alien-FFI-0.07-DL7MhK\blib\lib;C:\cpanfly-5.20\var\cpan\build\Alien-Base-0.010-d_cMVw\blib\arch;C:\cpanfly-5.20\var\cpan\build\Alien-Base-0.010-d_cMVw\blib\lib;C:\cpanfly-5.20\var\megalib;C:\cpanfly-5.20\var\cpan\build\Alien-FFI-0.07-DL7MhK/blib/arch;C:\cpanfly-5.20\var\cpan\build\Alien-FFI-0.07-DL7MhK/blib/lib;C:\cpanfly-5.20\var\cpan\build\Alien-Base-0.010-d_cMVw/blib/arch;C:\cpanfly-5.20\var\cpan\build\Alien-Base-0.010-d_cMVw/blib/lib;C:/cpanfly-5.20/var/megalib;C:\cpanfly-5.20\var\cpan\build\Alien-FFI-0.07-DL7MhK/blib/arch;C:\cpanfly-5.20\var\cpan\build\Alien-FFI-0.07-DL7MhK/blib/lib;C:\cpanfly-5.20\var\cpan\build\Alien-Base-0.010-d_cMVw/blib/arch;C:\cpanfly-5.20\var\cpan\build\Alien-Base-0.010-d_cMVw/blib/lib;C:/cpanfly-5.20/var/megalib # PERL5_CPANPLUS_IS_RUNNING=9524 # PERL5_CPAN_IS_RUNNING=9524 # PERL5_CPAN_IS_RUNNING_IN_RECURSION=11020,9524 # PERL_DL_NONLAZY=1 # PERL_MM_USE_DEFAULT=1 # # # # PERL5LIB path # C:\cpanfly-5.20\var\cpan\build\FFI-Platypus-0.26-Pv0_qc\blib\lib # C:\cpanfly-5.20\var\cpan\build\FFI-Platypus-0.26-Pv0_qc\blib\arch # inc # C:\cpanfly-5.20\var\cpan\build\Alien-FFI-0.07-DL7MhK\blib\arch # C:\cpanfly-5.20\var\cpan\build\Alien-FFI-0.07-DL7MhK\blib\lib # C:\cpanfly-5.20\var\cpan\build\Alien-Base-0.010-d_cMVw\blib\arch # C:\cpanfly-5.20\var\cpan\build\Alien-Base-0.010-d_cMVw\blib\lib # C:\cpanfly-5.20\var\megalib # C:\cpanfly-5.20\var\cpan\build\Alien-FFI-0.07-DL7MhK/blib/arch # C:\cpanfly-5.20\var\cpan\build\Alien-FFI-0.07-DL7MhK/blib/lib # C:\cpanfly-5.20\var\cpan\build\Alien-Base-0.010-d_cMVw/blib/arch # C:\cpanfly-5.20\var\cpan\build\Alien-Base-0.010-d_cMVw/blib/lib # C:/cpanfly-5.20/var/megalib # C:\cpanfly-5.20\var\cpan\build\Alien-FFI-0.07-DL7MhK/blib/arch # C:\cpanfly-5.20\var\cpan\build\Alien-FFI-0.07-DL7MhK/blib/lib # C:\cpanfly-5.20\var\cpan\build\Alien-Base-0.010-d_cMVw/blib/arch # C:\cpanfly-5.20\var\cpan\build\Alien-Base-0.010-d_cMVw/blib/lib # C:/cpanfly-5.20/var/megalib # # # # perl v5.20.1 # Alien::Base 0.01 # Alien::FFI 0.07 # Config::AutoConf 0.309 # ExtUtils::CBuilder 0.280220 # FFI::CheckLib 0.11 # File::ShareDir 1.102 # JSON::PP 2.27300 # Module::Build 0.4211 # PkgConfig 0.08726 # Test::More 1.001009 # # # t/00_diag.t ................................ 1..1 ok 1 - okay ok # # # # dlext[]=dll # dlext[]=xs.dll # # # complex_double : complex, double complex # complex_float : float complex # longdouble : long double # sint16 : int16_t, int_least16_t, short, signed short # sint32 : int, int32_t, int_least32_t, long, ptrdiff_t, signed int, signed long, time_t # sint64 : int64_t, int_least64_t, long long, signed long long # sint8 : char, int8_t, int_least8_t, signed char # uint16 : ino_t, mode_t, uint16_t, uint_least16_t, unsigned short, ushort, wchar_t, wint_t # uint32 : dev_t, off_t, size_t, uint, uint32_t, uint_least32_t, ulong, unsigned int, unsigned long # uint64 : uint64_t, uint_least64_t, unsigned long long # uint8 : bool, uchar, uint8_t, uint_least8_t, unsigned char # # t/01_diag.t ................................ 1..1 ok 1 - good ok t/02_use.t ................................. 1..11 ok 1 - use FFI::Platypus; ok 2 - use FFI::Platypus::Declare; ok 3 - use FFI::Platypus::Memory; ok 4 - use FFI::Platypus::Buffer; ok 5 - use FFI::Platypus::API; ok 6 - use FFI::Platypus::Type::PointerSizeBuffer; ok 7 - use FFI::Platypus::Type::StringPointer; ok 8 - use FFI::Platypus::Lang::ASM; ok 9 - use FFI::Platypus::Lang::C; ok 10 - use FFI::Platypus::Record; ok 11 - use Module::Build::FFI; ok t/03_basic.t ............................... 1..1 ok 1 - An object of class 'FFI::Platypus' isa 'FFI::Platypus' ok t/closure_die.t ............................ 1..2 ok 1 ok 2 - does not exit # warning = 'omg i don't want to die! at t/closure_die.t line 10. # ' ok t/ffi_platypus_alignof.t ................... 1..4 # Subtest: ffi types 1..45 ok 1 - alignof sint8 = 1 ok 2 - alignof sint8 [2] = 1 ok 3 - alignof sint8 * = 4 ok 4 - alignof custom_sint8 = 1 ok 5 - alignof uint8 = 1 ok 6 - alignof uint8 [2] = 1 ok 7 - alignof uint8 * = 4 ok 8 - alignof custom_uint8 = 1 ok 9 - alignof sint16 = 2 ok 10 - alignof sint16 [2] = 2 ok 11 - alignof sint16 * = 4 ok 12 - alignof custom_sint16 = 2 ok 13 - alignof uint16 = 2 ok 14 - alignof uint16 [2] = 2 ok 15 - alignof uint16 * = 4 ok 16 - alignof custom_uint16 = 2 ok 17 - alignof sint32 = 4 ok 18 - alignof sint32 [2] = 4 ok 19 - alignof sint32 * = 4 ok 20 - alignof custom_sint32 = 4 ok 21 - alignof uint32 = 4 ok 22 - alignof uint32 [2] = 4 ok 23 - alignof uint32 * = 4 ok 24 - alignof custom_uint32 = 4 ok 25 - alignof sint64 = 8 ok 26 - alignof sint64 [2] = 8 ok 27 - alignof sint64 * = 4 ok 28 - alignof custom_sint64 = 8 ok 29 - alignof uint64 = 8 ok 30 - alignof uint64 [2] = 8 ok 31 - alignof uint64 * = 4 ok 32 - alignof custom_uint64 = 8 ok 33 - alignof float = 4 ok 34 - alignof float [2] = 4 ok 35 - alignof float * = 4 ok 36 - alignof custom_float = 4 ok 37 - alignof double = 8 ok 38 - alignof double [2] = 8 ok 39 - alignof double * = 4 ok 40 - alignof custom_double = 8 ok 41 - alignof opaque = 4 ok 42 - alignof opaque [2] = 4 ok 43 - alignof opaque * = 4 ok 44 - alignof custom_opaque = 4 ok 45 - alignof string = 4 ok 1 - ffi types # Subtest: aliases 1..2 ok 1 - alignof ushort = 2 ok 2 - alignof foo = 2 ok 2 - aliases # Subtest: closure 1..1 ok 1 - sizeof closure_t = 4 ok 3 - closure # Subtest: record 1..1 ok 1 - generic record alignment not supported # cannot determine alignment of record at t/ffi_platypus_alignof.t line 64. ok 4 - record ok t/ffi_platypus_attach.t .................... 1..5 ok 1 - f0(22) = 22 ok 2 - f1(22) = 22 ok 3 - Roger::f1(22) = 22 ok 4 - f0_wrap(22) = 25 ok 5 - f0_wrap(22) = 25 ok t/ffi_platypus_buffer.t .................... 1..2 # Subtest: simple 1..3 ok 1 - ptr = 12446276 ok 2 - size = 16 ok 3 - scalar = me grimlock king ok 1 - simple # Subtest: unicode 1..3 ok 1 - ptr = 12425348 ok 2 - size = 12 ok 3 - scalar = привет ok 2 - unicode ok t/ffi_platypus_cast.t ...................... 1..3 # Subtest: cast from string to pointer 1..2 ok 1 - dynamic ok 2 - static ok 1 - cast from string to pointer # Subtest: cast from pointer to string 1..2 ok 1 - dynamic ok 2 - static ok 2 - cast from pointer to string # Subtest: cast closure to opaque 1..2 ok 1 - dynamic ok 2 - static ok 3 - cast closure to opaque ok t/ffi_platypus_closure.t ................... 1..2 ok 1 - An object of class 'FFI::Platypus::Closure' isa 'FFI::Platypus::Closure' ok 2 - closure.(1) = 2 ok t/ffi_platypus_closure_private.t ........... 1..2 ok 1 - An object of class 'FFI::Platypus::Closure' isa 'FFI::Platypus::Closure' ok 2 - closure.(1) = 2 ok t/ffi_platypus_custom_type.t ............... 1..11 # Subtest: float 1..6 ok 1 - ffi.custom_type 1 # {"float_1":{"custom_perl_to_nat":null,"type":"custom_perl","size":4,"ffi_type":"float","element_type":"float"}} ok 2 - ffi.custom_type 1 # {"float_1":{"size":4,"custom_native_to_p":null,"type":"custom_perl","element_type":"float","ffi_type":"float"}} ok 3 - ffi.custom_type 1 # {"float_1":{"ffi_type":"float","element_type":"float","type":"custom_perl","custom_perl_to_nat":null,"size":4,"custom_native_to_p":null}} ok 4 - ffi.custom_type 1 # {"float_1":{"size":4,"custom_perl_to_nat":null,"type":"custom_perl","custom_perl_to_native_p":null,"element_type":"float","ffi_type":"float"}} ok 5 - ffi.custom_type 1 # {"float_1":{"element_type":"float","ffi_type":"float","size":4,"custom_native_to_p":null,"custom_perl_to_native_p":null,"type":"custom_perl"}} ok 6 - ffi.custom_type 1 # {"float_1":{"element_type":"float","ffi_type":"float","custom_native_to_p":null,"size":4,"type":"custom_perl","custom_perl_to_native_p":null,"custom_perl_to_nat":null}} ok 1 - float # Subtest: double 1..6 ok 1 - ffi.custom_type 1 # {"double_1":{"element_type":"float","ffi_type":"double","size":8,"type":"custom_perl","custom_perl_to_nat":null}} ok 2 - ffi.custom_type 1 # {"double_1":{"type":"custom_perl","custom_native_to_p":null,"size":8,"ffi_type":"double","element_type":"float"}} ok 3 - ffi.custom_type 1 # {"double_1":{"type":"custom_perl","custom_perl_to_nat":null,"custom_native_to_p":null,"size":8,"ffi_type":"double","element_type":"float"}} ok 4 - ffi.custom_type 1 # {"double_1":{"custom_perl_to_native_p":null,"type":"custom_perl","custom_perl_to_nat":null,"size":8,"ffi_type":"double","element_type":"float"}} ok 5 - ffi.custom_type 1 # {"double_1":{"custom_native_to_p":null,"size":8,"type":"custom_perl","custom_perl_to_native_p":null,"element_type":"float","ffi_type":"double"}} ok 6 - ffi.custom_type 1 # {"double_1":{"custom_perl_to_native_p":null,"type":"custom_perl","custom_perl_to_nat":null,"custom_native_to_p":null,"size":8,"ffi_type":"double","element_type":"float"}} ok 2 - double # Subtest: opaque 1..6 ok 1 - ffi.custom_type 1 # {"opaque_1":{"type":"custom_perl","custom_perl_to_nat":null,"size":4,"ffi_type":"pointer","element_type":"opaque"}} ok 2 - ffi.custom_type 1 # {"opaque_1":{"ffi_type":"pointer","element_type":"opaque","type":"custom_perl","custom_native_to_p":null,"size":4}} ok 3 - ffi.custom_type 1 # {"opaque_1":{"ffi_type":"pointer","element_type":"opaque","type":"custom_perl","custom_perl_to_nat":null,"custom_native_to_p":null,"size":4}} ok 4 - ffi.custom_type 1 # {"opaque_1":{"element_type":"opaque","ffi_type":"pointer","size":4,"type":"custom_perl","custom_perl_to_native_p":null,"custom_perl_to_nat":null}} ok 5 - ffi.custom_type 1 # {"opaque_1":{"type":"custom_perl","custom_perl_to_native_p":null,"custom_native_to_p":null,"size":4,"ffi_type":"pointer","element_type":"opaque"}} ok 6 - ffi.custom_type 1 # {"opaque_1":{"custom_native_to_p":null,"size":4,"custom_perl_to_nat":null,"type":"custom_perl","custom_perl_to_native_p":null,"element_type":"opaque","ffi_type":"pointer"}} ok 3 - opaque # Subtest: uint8 1..6 ok 1 - ffi.custom_type 1 # {"uint8_1":{"sign":0,"ffi_type":"uint8","element_type":"int","custom_perl_to_nat":null,"type":"custom_perl","size":1}} ok 2 - ffi.custom_type 1 # {"uint8_1":{"ffi_type":"uint8","sign":0,"element_type":"int","type":"custom_perl","custom_native_to_p":null,"size":1}} ok 3 - ffi.custom_type 1 # {"uint8_1":{"element_type":"int","sign":0,"ffi_type":"uint8","size":1,"custom_native_to_p":null,"custom_perl_to_nat":null,"type":"custom_perl"}} ok 4 - ffi.custom_type 1 # {"uint8_1":{"custom_perl_to_nat":null,"custom_perl_to_native_p":null,"type":"custom_perl","size":1,"ffi_type":"uint8","sign":0,"element_type":"int"}} ok 5 - ffi.custom_type 1 # {"uint8_1":{"custom_native_to_p":null,"size":1,"type":"custom_perl","custom_perl_to_native_p":null,"element_type":"int","sign":0,"ffi_type":"uint8"}} ok 6 - ffi.custom_type 1 # {"uint8_1":{"ffi_type":"uint8","sign":0,"element_type":"int","custom_perl_to_native_p":null,"custom_native_to_p":null,"size":1,"type":"custom_perl","custom_perl_to_nat":null}} ok 4 - uint8 # Subtest: sint8 1..6 ok 1 - ffi.custom_type 1 # {"sint8_1":{"ffi_type":"sint8","sign":1,"element_type":"int","type":"custom_perl","custom_perl_to_nat":null,"size":1}} ok 2 - ffi.custom_type 1 # {"sint8_1":{"element_type":"int","ffi_type":"sint8","sign":1,"custom_native_to_p":null,"size":1,"type":"custom_perl"}} ok 3 - ffi.custom_type 1 # {"sint8_1":{"element_type":"int","sign":1,"ffi_type":"sint8","custom_native_to_p":null,"size":1,"custom_perl_to_nat":null,"type":"custom_perl"}} ok 4 - ffi.custom_type 1 # {"sint8_1":{"custom_perl_to_nat":null,"custom_perl_to_native_p":null,"type":"custom_perl","size":1,"ffi_type":"sint8","sign":1,"element_type":"int"}} ok 5 - ffi.custom_type 1 # {"sint8_1":{"element_type":"int","sign":1,"ffi_type":"sint8","custom_native_to_p":null,"size":1,"type":"custom_perl","custom_perl_to_native_p":null}} ok 6 - ffi.custom_type 1 # {"sint8_1":{"ffi_type":"sint8","sign":1,"element_type":"int","custom_perl_to_native_p":null,"size":1,"custom_native_to_p":null,"type":"custom_perl","custom_perl_to_nat":null}} ok 5 - sint8 # Subtest: uint16 1..6 ok 1 - ffi.custom_type 1 # {"uint16_1":{"element_type":"int","sign":0,"ffi_type":"uint16","size":2,"custom_perl_to_nat":null,"type":"custom_perl"}} ok 2 - ffi.custom_type 1 # {"uint16_1":{"element_type":"int","sign":0,"ffi_type":"uint16","custom_native_to_p":null,"size":2,"type":"custom_perl"}} ok 3 - ffi.custom_type 1 # {"uint16_1":{"element_type":"int","sign":0,"ffi_type":"uint16","custom_native_to_p":null,"size":2,"custom_perl_to_nat":null,"type":"custom_perl"}} ok 4 - ffi.custom_type 1 # {"uint16_1":{"ffi_type":"uint16","sign":0,"element_type":"int","type":"custom_perl","custom_perl_to_native_p":null,"custom_perl_to_nat":null,"size":2}} ok 5 - ffi.custom_type 1 # {"uint16_1":{"ffi_type":"uint16","sign":0,"element_type":"int","type":"custom_perl","custom_perl_to_native_p":null,"size":2,"custom_native_to_p":null}} ok 6 - ffi.custom_type 1 # {"uint16_1":{"custom_native_to_p":null,"size":2,"custom_perl_to_native_p":null,"element_type":"int","ffi_type":"uint16","sign":0,"custom_perl_to_nat":null,"type":"custom_perl"}} ok 6 - uint16 # Subtest: sint16 1..6 ok 1 - ffi.custom_type 1 # {"sint16_1":{"type":"custom_perl","custom_perl_to_nat":null,"size":2,"ffi_type":"sint16","sign":1,"element_type":"int"}} ok 2 - ffi.custom_type 1 # {"sint16_1":{"custom_native_to_p":null,"size":2,"type":"custom_perl","element_type":"int","sign":1,"ffi_type":"sint16"}} ok 3 - ffi.custom_type 1 # {"sint16_1":{"element_type":"int","ffi_type":"sint16","sign":1,"size":2,"custom_native_to_p":null,"type":"custom_perl","custom_perl_to_nat":null}} ok 4 - ffi.custom_type 1 # {"sint16_1":{"custom_perl_to_nat":null,"custom_perl_to_native_p":null,"type":"custom_perl","size":2,"ffi_type":"sint16","sign":1,"element_type":"int"}} ok 5 - ffi.custom_type 1 # {"sint16_1":{"type":"custom_perl","custom_perl_to_native_p":null,"size":2,"custom_native_to_p":null,"sign":1,"ffi_type":"sint16","element_type":"int"}} ok 6 - ffi.custom_type 1 # {"sint16_1":{"type":"custom_perl","custom_perl_to_nat":null,"custom_native_to_p":null,"size":2,"custom_perl_to_native_p":null,"element_type":"int","ffi_type":"sint16","sign":1}} ok 7 - sint16 # Subtest: uint32 1..6 ok 1 - ffi.custom_type 1 # {"uint32_1":{"size":4,"custom_perl_to_nat":null,"type":"custom_perl","element_type":"int","ffi_type":"uint32","sign":0}} ok 2 - ffi.custom_type 1 # {"uint32_1":{"type":"custom_perl","custom_native_to_p":null,"size":4,"ffi_type":"uint32","sign":0,"element_type":"int"}} ok 3 - ffi.custom_type 1 # {"uint32_1":{"custom_perl_to_nat":null,"type":"custom_perl","size":4,"custom_native_to_p":null,"ffi_type":"uint32","sign":0,"element_type":"int"}} ok 4 - ffi.custom_type 1 # {"uint32_1":{"size":4,"custom_perl_to_native_p":null,"type":"custom_perl","custom_perl_to_nat":null,"element_type":"int","sign":0,"ffi_type":"uint32"}} ok 5 - ffi.custom_type 1 # {"uint32_1":{"element_type":"int","ffi_type":"uint32","sign":0,"size":4,"custom_native_to_p":null,"type":"custom_perl","custom_perl_to_native_p":null}} ok 6 - ffi.custom_type 1 # {"uint32_1":{"ffi_type":"uint32","sign":0,"element_type":"int","custom_perl_to_native_p":null,"size":4,"custom_native_to_p":null,"custom_perl_to_nat":null,"type":"custom_perl"}} ok 8 - uint32 # Subtest: sint32 1..6 ok 1 - ffi.custom_type 1 # {"sint32_1":{"ffi_type":"sint32","sign":1,"element_type":"int","custom_perl_to_nat":null,"type":"custom_perl","size":4}} ok 2 - ffi.custom_type 1 # {"sint32_1":{"element_type":"int","sign":1,"ffi_type":"sint32","size":4,"custom_native_to_p":null,"type":"custom_perl"}} ok 3 - ffi.custom_type 1 # {"sint32_1":{"element_type":"int","sign":1,"ffi_type":"sint32","custom_native_to_p":null,"size":4,"type":"custom_perl","custom_perl_to_nat":null}} ok 4 - ffi.custom_type 1 # {"sint32_1":{"element_type":"int","sign":1,"ffi_type":"sint32","size":4,"custom_perl_to_native_p":null,"type":"custom_perl","custom_perl_to_nat":null}} ok 5 - ffi.custom_type 1 # {"sint32_1":{"element_type":"int","ffi_type":"sint32","sign":1,"size":4,"custom_native_to_p":null,"type":"custom_perl","custom_perl_to_native_p":null}} ok 6 - ffi.custom_type 1 # {"sint32_1":{"size":4,"custom_native_to_p":null,"custom_perl_to_native_p":null,"element_type":"int","ffi_type":"sint32","sign":1,"type":"custom_perl","custom_perl_to_nat":null}} ok 9 - sint32 # Subtest: uint64 1..6 ok 1 - ffi.custom_type 1 # {"uint64_1":{"type":"custom_perl","custom_perl_to_nat":null,"size":8,"ffi_type":"uint64","sign":0,"element_type":"int"}} ok 2 - ffi.custom_type 1 # {"uint64_1":{"custom_native_to_p":null,"size":8,"type":"custom_perl","element_type":"int","ffi_type":"uint64","sign":0}} ok 3 - ffi.custom_type 1 # {"uint64_1":{"custom_native_to_p":null,"size":8,"type":"custom_perl","custom_perl_to_nat":null,"element_type":"int","ffi_type":"uint64","sign":0}} ok 4 - ffi.custom_type 1 # {"uint64_1":{"element_type":"int","ffi_type":"uint64","sign":0,"size":8,"custom_perl_to_nat":null,"custom_perl_to_native_p":null,"type":"custom_perl"}} ok 5 - ffi.custom_type 1 # {"uint64_1":{"sign":0,"ffi_type":"uint64","element_type":"int","custom_perl_to_native_p":null,"type":"custom_perl","custom_native_to_p":null,"size":8}} ok 6 - ffi.custom_type 1 # {"uint64_1":{"sign":0,"ffi_type":"uint64","element_type":"int","custom_perl_to_native_p":null,"size":8,"custom_native_to_p":null,"type":"custom_perl","custom_perl_to_nat":null}} ok 10 - uint64 # Subtest: sint64 1..6 ok 1 - ffi.custom_type 1 # {"sint64_1":{"type":"custom_perl","custom_perl_to_nat":null,"size":8,"sign":1,"ffi_type":"sint64","element_type":"int"}} ok 2 - ffi.custom_type 1 # {"sint64_1":{"type":"custom_perl","custom_native_to_p":null,"size":8,"sign":1,"ffi_type":"sint64","element_type":"int"}} ok 3 - ffi.custom_type 1 # {"sint64_1":{"ffi_type":"sint64","sign":1,"element_type":"int","custom_perl_to_nat":null,"type":"custom_perl","custom_native_to_p":null,"size":8}} ok 4 - ffi.custom_type 1 # {"sint64_1":{"ffi_type":"sint64","sign":1,"element_type":"int","custom_perl_to_native_p":null,"type":"custom_perl","custom_perl_to_nat":null,"size":8}} ok 5 - ffi.custom_type 1 # {"sint64_1":{"element_type":"int","ffi_type":"sint64","sign":1,"custom_native_to_p":null,"size":8,"type":"custom_perl","custom_perl_to_native_p":null}} ok 6 - ffi.custom_type 1 # {"sint64_1":{"ffi_type":"sint64","sign":1,"element_type":"int","custom_perl_to_native_p":null,"size":8,"custom_native_to_p":null,"type":"custom_perl","custom_perl_to_nat":null}} ok 11 - sint64 ok t/ffi_platypus_declare.t ................... 1..3 # Subtest: normal 1..4 ok 1 - f0(22) = 22 ok 2 - f1(22) = 22 ok 3 - f0_wrap(22) = 25 ok 4 - f0_wrap2(22) = 25 ok 1 - normal # Subtest: with type aliases 1..1 ok 1 - atoi("42") = 42 ok 2 - with type aliases # Subtest: simple closure test 1..2 ok 1 - An object of class 'FFI::Platypus::Closure' isa 'FFI::Platypus::Closure' ok 2 - closure.(1) = 2 ok 3 - simple closure test ok t/ffi_platypus_declare_cast.t .............. 1..3 # Subtest: cast from string to pointer 1..2 ok 1 - dynamic ok 2 - static ok 1 - cast from string to pointer # Subtest: cast from pointer to string 1..2 ok 1 - dynamic ok 2 - static ok 2 - cast from pointer to string # Subtest: cast closure to opaque 1..2 ok 1 - dynamic ok 2 - static ok 3 - cast closure to opaque ok t/ffi_platypus_declare_lang.t .............. 1..2 # Subtest: C 1..3 ok 1 - int is an okay type ok 2 - foo_t is not an okay type # unknown type: foo_t at t/ffi_platypus_declare_lang.t line 16. ok 3 - sint16 is an okay type ok 1 - C # Subtest: Foo constructor 1..5 ok 1 - int is not an okay type # unknown type: int at t/ffi_platypus_declare_lang.t line 35. ok 2 - foo_t is an okay type ok 3 - sint16 is an okay type ok 4 - sizeof foo_t = 2 ok 5 - sizeof foo_t = 4 ok 2 - Foo constructor ok t/ffi_platypus_declare_sizeof.t ............ 1..2 ok 1 - sizeof uint32 = 4 ok 2 - sizeof uint32[2] = 8 ok t/ffi_platypus_declare_sticky.t ............ 1..1 ok 1 - call_closure(2) = 4 ok t/ffi_platypus_find_lib.t .................. 1..1 ok 1 - found f0 = 1802245760 ok t/ffi_platypus_find_symbol.t ............... 1..2 # Subtest: external 1..2 ok 1 - ffi.find_symbol(f0) = 1802245760 ok 2 - ffi.find_symbol(bogus) = undef ok 1 - external # Subtest: internal 1..2 ok 1 - ffi.find_symbol(printf) = 2008885186 ok 2 - ffi.find_symbol(bogus) = undef ok 2 - internal ok t/ffi_platypus_function.t .................. 1..2 # Subtest: built in type 1..4 ok 1 - ffi.function(f0, [uint8] => uint8) ok 2 - An object of class 'FFI::Platypus::Function' isa 'FFI::Platypus::Function' ok 3 - function.call(22) = 22 ok 4 - function.(22) = 22 ok 1 - built in type # Subtest: custom type 1..4 ok 1 - ffi.function(f0, [my_int_8] => my_int_8) ok 2 - An object of class 'FFI::Platypus::Function' isa 'FFI::Platypus::Function' ok 3 - function.call(22) = 22 ok 4 - function.(22) = 22 ok 2 - custom type ok t/ffi_platypus_function_private.t .......... 1..4 ok 1 - FFI::Platypus::Function->new ok 2 - An object of class 'FFI::Platypus::Function' isa 'FFI::Platypus::Function' ok 3 - function.call(22) = 22 ok 4 - fooble(22) = 22 ok t/ffi_platypus_ignore_not_found.t .......... 1..5 # lib=libtest\libtest.dll # Subtest: ignore_not_found=undef 1..4 ok 1 - no exception ok 2 - returned a function # f1 isa FFI::Platypus::Function ok 3 - function exception # exception=unable to find bogus at t/ffi_platypus_ignore_not_found.t line 22. ok 4 - attach exception # exception=unable to find bogus at t/ffi_platypus_ignore_not_found.t line 26. ok 1 - ignore_not_found=undef # Subtest: ignore_not_found=0 1..4 ok 1 - no exception ok 2 - returned a function # f1 isa FFI::Platypus::Function ok 3 - function exception # exception=unable to find bogus at t/ffi_platypus_ignore_not_found.t line 44. ok 4 - attach exception # exception=unable to find bogus at t/ffi_platypus_ignore_not_found.t line 48. ok 2 - ignore_not_found=0 # Subtest: ignore_not_found=0 (constructor) 1..4 ok 1 - no exception ok 2 - returned a function # f1 isa FFI::Platypus::Function ok 3 - function exception # exception=unable to find bogus at t/ffi_platypus_ignore_not_found.t line 64. ok 4 - attach exception # exception=unable to find bogus at t/ffi_platypus_ignore_not_found.t line 68. ok 3 - ignore_not_found=0 (constructor) # Subtest: ignore_not_found=1 1..5 ok 1 - no exception ok 2 - returned a function # f1 isa FFI::Platypus::Function ok 3 - function no exception ok 4 - f2 is undefined ok 5 - attach no exception ok 4 - ignore_not_found=1 # Subtest: ignore_not_found=1 (constructor) 1..5 ok 1 - no exception ok 2 - returned a function # f1 isa FFI::Platypus::Function ok 3 - function no exception ok 4 - f2 is undefined ok 5 - attach no exception ok 5 - ignore_not_found=1 (constructor) ok t/ffi_platypus_lang.t ...................... 1..4 # Subtest: C 1..4 ok 1 - int is an okay type ok 2 - foo_t is not an okay type # unknown type: foo_t at t/ffi_platypus_lang.t line 17. ok 3 - sint16 is an okay type ok 4 - unable to find unmangled name ok 1 - C # Subtest: ASM 1..4 ok 1 - int is not an okay type # unknown type: int at t/ffi_platypus_lang.t line 33. ok 2 - foo_t is not an okay type # unknown type: foo_t at t/ffi_platypus_lang.t line 36. ok 3 - sint16 is an okay type ok 4 - unable to find unmangled name ok 2 - ASM # Subtest: Foo constructor 1..6 ok 1 - int is not an okay type # unknown type: int at t/ffi_platypus_lang.t line 52. ok 2 - foo_t is an okay type ok 3 - sint16 is an okay type ok 4 - sizeof foo_t = 2 ok 5 - sizeof foo_t = 4 ok 6 ok 3 - Foo constructor # Subtest: Foo attribute 1..6 ok 1 - int is not an okay type # unknown type: int at t/ffi_platypus_lang.t line 74. ok 2 - foo_t is an okay type ok 3 - sint16 is an okay type ok 4 - sizeof foo_t = 2 ok 5 - sizeof foo_t = 4 ok 6 ok 4 - Foo attribute ok t/ffi_platypus_lib.t ....................... 1..3 ok 1 - exists libtest\libtest.dll ok 2 - ffi.lib (set) ok 3 - ffi.lib (get) ok t/ffi_platypus_memory.t .................... 1..2 # Subtest: malloc calloc memset free 1..1 ok 1 - string = yyyyxxxx ok 1 - malloc calloc memset free # Subtest: realloc memcpy free strdup ok 1 - string = this and 1..1 ok 2 - realloc memcpy free strdup ok t/ffi_platypus_new.t ....................... 1..3 # Subtest: no arguments 1..2 ok 1 - 'FFI::Platypus.new' isa 'FFI::Platypus' ok 2 - ffi.lib ok 1 - no arguments # Subtest: with single lib 1..2 ok 1 - 'FFI::Platypus.new' isa 'FFI::Platypus' ok 2 - ffi.lib ok 2 - with single lib # Subtest: with multiple lib 1..2 ok 1 - 'FFI::Platypus.new' isa 'FFI::Platypus' ok 2 - ffi.lib ok 3 - with multiple lib ok t/ffi_platypus_record.t .................... 1..8 # Subtest: integer accessor 1..8 ok 1 - An object of class 'Foo1' isa 'Foo1' ok 2 - foo._record_size = 8 ok 3 - foo.first = 1 ok 4 - foo.second = 2 ok 5 - foo.first = 22 ok 6 - foo.second = 42 ok 7 - foo.first = 3 ok 8 - foo.second = 4 ok 1 - integer accessor # Subtest: values match in C 1..4 ok 1 - An object of class 'Color' isa 'Color' ok 2 - color.get_red = 50 ok 3 - color.get_green = 100 ok 4 - color.get_blue = 150 ok 2 - values match in C # Subtest: complex alignment 1..15 ok 1 - An object of class 'Foo2' isa 'Foo2' ok 2 - uint64 = 512 ok 3 - sint64 = -512 ok 4 - uint32 = 1024 ok 5 - sint32 = -1024 ok 6 - uint16 = 2048 ok 7 - sint16 = -2048 ok 8 - uint8 = 48 ok 9 - sint8 = -48 ok 10 - float = 1.5 ok 11 - double = -1.5 ok 12 - get_opaque = 13541736 ok 13 - opaque = 13541736 ok 14 - get_opaque = undef ok 15 - opaque = undef ok 3 - complex alignment # Subtest: same name 1..1 ok 1 - two members of the same name not allowed # accessor/method foo already exists at t/ffi_platypus_record.t line 182. ok 4 - same name # Subtest: array alignment 1..14 ok 1 - An object of class 'Foo4' isa 'Foo4' # Subtest: unsigned 8 integer 1..4 ok 1 - uint8 = 1,2,3 ok 2 - get_uint8 = 1,2,3 ok 3 - uint8(1) = 2 ok 4 - uint8 = 1,20,3 ok 2 - unsigned 8 integer # Subtest: signed 8 integer 1..4 ok 1 - sint8 = -1,2,-3 ok 2 - get_sint8 = -1,2,-3 ok 3 - sint8(2) = -3 ok 4 - sint8 = -1,-20,-3 ok 3 - signed 8 integer # Subtest: unsigned 16 integer 1..4 ok 1 - uint16 = 1,2,3 ok 2 - get_uint16 = 1,2,3 ok 3 - uint16(1) = 2 ok 4 - uint16 = 1,20,3 ok 4 - unsigned 16 integer # Subtest: signed 16 integer 1..4 ok 1 - sint16 = -1,2,-3 ok 2 - get_sint16 = -1,2,-3 ok 3 - sint16(2) = -3 ok 4 - sint16 = -1,-20,-3 ok 5 - signed 16 integer # Subtest: unsigned 32 integer 1..4 ok 1 - uint32 = 1,2,3 ok 2 - get_uint32 = 1,2,3 ok 3 - uint32(1) = 2 ok 4 - uint32 = 1,20,3 ok 6 - unsigned 32 integer # Subtest: signed 32 integer 1..4 ok 1 - sint32 = -1,2,-3 ok 2 - get_sint32 = -1,2,-3 ok 3 - sint32(2) = -3 ok 4 - sint32 = -1,-20,-3 ok 7 - signed 32 integer # Subtest: unsigned 64 integer 1..4 ok 1 - uint64 = 1,2,3 ok 2 - get_uint64 = 1,2,3 ok 3 - uint64(1) = 2 ok 4 - uint64 = 1,20,3 ok 8 - unsigned 64 integer # Subtest: signed 64 integer 1..4 ok 1 - sint64 = -1,2,-3 ok 2 - get_sint64 = -1,2,-3 ok 3 - sint64(2) = -3 ok 4 - sint64 = -1,-20,-3 ok 9 - signed 64 integer # Subtest: float 1..5 ok 1 - float = 1.5,0,-1.5 ok 2 ok 3 ok 4 ok 5 - float = 1.5,20,-1.5 ok 10 - float # Subtest: double 1..5 ok 1 - double = 1.5,0,-1.5 ok 2 ok 3 ok 4 ok 5 - double = 1.5,20,-1.5 ok 11 - double # Subtest: opaque 1..6 ok 1 - opaque = 13486848,undef,13344552 ok 2 - opaque = 13486848,13486848,13344552 ok 3 - opaque = undef,13486848,13344552 ok 4 ok 5 ok 6 ok 12 - opaque ok 13 - align = 8 ok 14 - align is positive ok 5 - array alignment # Subtest: string ro 1..8 ok 1 - An object of class 'Foo5' isa 'Foo5' ok 2 - foo.value = undef ok 3 - foo.get_value = undef ok 4 - foo.value = my value ok 5 - foo.get_value = my value ok 6 - value is ro # member is read only at t/ffi_platypus_record.t line 344. ok 7 - foo.value = undef ok 8 - foo.get_value = undef ok 6 - string ro # Subtest: fixed string 1..6 ok 1 - An object of class 'Foo6' isa 'Foo6' ok 2 - foo.value = "\0\0\0\0\0\0\0\0\0\0" ok 3 - foo.get_value = "" ok 4 - foo.value = "one two th" ok 5 - foo.value = 123456789\0 ok 6 - foo.get_value = 123456789 ok 7 - fixed string # Subtest: string rw 1..7 ok 1 - An object of class 'Foo7' isa 'Foo7' ok 2 - foo.value = hi there ok 3 - foo.get_value = hi there ok 4 - foo.value = undef ok 5 - foo.get_value = undef ok 6 - foo.value = starscream!!! ok 7 - foo.get_value = starscream!!! ok 8 - string rw ok t/ffi_platypus_record_tiearray.t ........... 1..45 ok 1 - An object of class 'Foo' isa 'Foo' ok 2 ok 3 ok 4 ok 5 ok 6 ok 7 ok 8 ok 9 ok 10 ok 11 ok 12 ok 13 ok 14 ok 15 ok 16 ok 17 ok 18 ok 19 ok 20 ok 21 ok 22 ok 23 ok 24 ok 25 ok 26 ok 27 ok 28 ok 29 ok 30 ok 31 ok 32 ok 33 ok 34 ok 35 ok 36 ok 37 ok 38 ok 39 ok 40 ok 41 ok 42 ok 43 ok 44 ok 45 ok t/ffi_platypus_sizeof.t .................... 1..5 # Subtest: integers 1..8 ok 1 - sizeof uint8 = 1 ok 2 - sizeof uint16 = 2 ok 3 - sizeof uint32 = 4 ok 4 - sizeof uint64 = 8 ok 5 - sizeof sint8 = 1 ok 6 - sizeof sint16 = 2 ok 7 - sizeof sint32 = 4 ok 8 - sizeof sint64 = 8 ok 1 - integers # Subtest: floats 1..2 ok 1 - sizeof float = 4 ok 2 - sizeof double = 8 ok 2 - floats # Subtest: pointers 1..14 ok 1 - sizeof opaque = 4 ok 2 - sizeof uint8* = 4 ok 3 - sizeof uint16* = 4 ok 4 - sizeof uint32* = 4 ok 5 - sizeof uint64* = 4 ok 6 - sizeof sint8* = 4 ok 7 - sizeof sint16* = 4 ok 8 - sizeof sint32* = 4 ok 9 - sizeof sint64* = 4 ok 10 - sizeof float* = 4 ok 11 - sizeof double* = 4 ok 12 - sizeof opaque* = 4 ok 13 - sizeof string = 4 ok 14 - sizeof (int)->int = 4 ok 3 - pointers # Subtest: arrays 1..110 ok 1 - sizeof uint8 [32] = 1 ok 2 - sizeof uint8 [32] = 2 ok 3 - sizeof uint8 [32] = 3 ok 4 - sizeof uint8 [32] = 4 ok 5 - sizeof uint8 [32] = 5 ok 6 - sizeof uint8 [32] = 6 ok 7 - sizeof uint8 [32] = 7 ok 8 - sizeof uint8 [32] = 8 ok 9 - sizeof uint8 [32] = 9 ok 10 - sizeof uint8 [32] = 10 ok 11 - sizeof uint16 [32] = 2 ok 12 - sizeof uint16 [32] = 4 ok 13 - sizeof uint16 [32] = 6 ok 14 - sizeof uint16 [32] = 8 ok 15 - sizeof uint16 [32] = 10 ok 16 - sizeof uint16 [32] = 12 ok 17 - sizeof uint16 [32] = 14 ok 18 - sizeof uint16 [32] = 16 ok 19 - sizeof uint16 [32] = 18 ok 20 - sizeof uint16 [32] = 20 ok 21 - sizeof uint32 [32] = 4 ok 22 - sizeof uint32 [32] = 8 ok 23 - sizeof uint32 [32] = 12 ok 24 - sizeof uint32 [32] = 16 ok 25 - sizeof uint32 [32] = 20 ok 26 - sizeof uint32 [32] = 24 ok 27 - sizeof uint32 [32] = 28 ok 28 - sizeof uint32 [32] = 32 ok 29 - sizeof uint32 [32] = 36 ok 30 - sizeof uint32 [32] = 40 ok 31 - sizeof uint64 [32] = 8 ok 32 - sizeof uint64 [32] = 16 ok 33 - sizeof uint64 [32] = 24 ok 34 - sizeof uint64 [32] = 32 ok 35 - sizeof uint64 [32] = 40 ok 36 - sizeof uint64 [32] = 48 ok 37 - sizeof uint64 [32] = 56 ok 38 - sizeof uint64 [32] = 64 ok 39 - sizeof uint64 [32] = 72 ok 40 - sizeof uint64 [32] = 80 ok 41 - sizeof sint8 [32] = 1 ok 42 - sizeof sint8 [32] = 2 ok 43 - sizeof sint8 [32] = 3 ok 44 - sizeof sint8 [32] = 4 ok 45 - sizeof sint8 [32] = 5 ok 46 - sizeof sint8 [32] = 6 ok 47 - sizeof sint8 [32] = 7 ok 48 - sizeof sint8 [32] = 8 ok 49 - sizeof sint8 [32] = 9 ok 50 - sizeof sint8 [32] = 10 ok 51 - sizeof sint16 [32] = 2 ok 52 - sizeof sint16 [32] = 4 ok 53 - sizeof sint16 [32] = 6 ok 54 - sizeof sint16 [32] = 8 ok 55 - sizeof sint16 [32] = 10 ok 56 - sizeof sint16 [32] = 12 ok 57 - sizeof sint16 [32] = 14 ok 58 - sizeof sint16 [32] = 16 ok 59 - sizeof sint16 [32] = 18 ok 60 - sizeof sint16 [32] = 20 ok 61 - sizeof sint32 [32] = 4 ok 62 - sizeof sint32 [32] = 8 ok 63 - sizeof sint32 [32] = 12 ok 64 - sizeof sint32 [32] = 16 ok 65 - sizeof sint32 [32] = 20 ok 66 - sizeof sint32 [32] = 24 ok 67 - sizeof sint32 [32] = 28 ok 68 - sizeof sint32 [32] = 32 ok 69 - sizeof sint32 [32] = 36 ok 70 - sizeof sint32 [32] = 40 ok 71 - sizeof sint64 [32] = 8 ok 72 - sizeof sint64 [32] = 16 ok 73 - sizeof sint64 [32] = 24 ok 74 - sizeof sint64 [32] = 32 ok 75 - sizeof sint64 [32] = 40 ok 76 - sizeof sint64 [32] = 48 ok 77 - sizeof sint64 [32] = 56 ok 78 - sizeof sint64 [32] = 64 ok 79 - sizeof sint64 [32] = 72 ok 80 - sizeof sint64 [32] = 80 ok 81 - sizeof float [32] = 4 ok 82 - sizeof float [32] = 8 ok 83 - sizeof float [32] = 12 ok 84 - sizeof float [32] = 16 ok 85 - sizeof float [32] = 20 ok 86 - sizeof float [32] = 24 ok 87 - sizeof float [32] = 28 ok 88 - sizeof float [32] = 32 ok 89 - sizeof float [32] = 36 ok 90 - sizeof float [32] = 40 ok 91 - sizeof double [32] = 8 ok 92 - sizeof double [32] = 16 ok 93 - sizeof double [32] = 24 ok 94 - sizeof double [32] = 32 ok 95 - sizeof double [32] = 40 ok 96 - sizeof double [32] = 48 ok 97 - sizeof double [32] = 56 ok 98 - sizeof double [32] = 64 ok 99 - sizeof double [32] = 72 ok 100 - sizeof double [32] = 80 ok 101 - sizeof opaque [32] = 4 ok 102 - sizeof opaque [32] = 8 ok 103 - sizeof opaque [32] = 12 ok 104 - sizeof opaque [32] = 16 ok 105 - sizeof opaque [32] = 20 ok 106 - sizeof opaque [32] = 24 ok 107 - sizeof opaque [32] = 28 ok 108 - sizeof opaque [32] = 32 ok 109 - sizeof opaque [32] = 36 ok 110 - sizeof opaque [32] = 40 ok 4 - arrays # Subtest: custom_type ok 1 - sizeof my_uint8 = 1 ok 2 - sizeof my_uint16 = 2 ok 3 - sizeof my_uint32 = 4 ok 4 - sizeof my_uint64 = 8 ok 5 - sizeof my_sint8 = 1 ok 6 - sizeof my_sint16 = 2 ok 7 - sizeof my_sint32 = 4 ok 8 - sizeof my_sint64 = 8 ok 9 - sizeof my_float = 4 ok 10 - sizeof my_double = 8 ok 11 - sizeof my_opaque = 4 1..11 ok 5 - custom_type ok t/ffi_platypus_type.t ...................... 1..8 # Subtest: simple type 1..2 ok 1 - ffi.type(sint8) ok 2 - An object of class 'FFI::Platypus::Type' isa 'FFI::Platypus::Type' ok 1 - simple type # Subtest: aliased type 1..4 ok 1 - ffi.type(sint8 => my_integer_8) ok 2 - An object of class 'FFI::Platypus::Type' isa 'FFI::Platypus::Type' ok 3 - An object of class 'FFI::Platypus::Type' isa 'FFI::Platypus::Type' ok 4 - ffi.types returns my_integer_8 ok 2 - aliased type # Subtest: ffi basic types 1..15 # Subtest: sint8 1..3 ok 1 - ffi.type(sint8) ok 2 - An object of class 'FFI::Platypus::Type' isa 'FFI::Platypus::Type' # {"ffi_type":"sint8","element_type":"int","element_size":1,"type":"scalar","size":1,"sign":1} ok 3 - size = 1 ok 1 - sint8 # Subtest: uint8 1..3 ok 1 - ffi.type(uint8) ok 2 - An object of class 'FFI::Platypus::Type' isa 'FFI::Platypus::Type' # {"type":"scalar","ffi_type":"uint8","element_type":"int","element_size":1,"size":1,"sign":0} ok 3 - size = 1 ok 2 - uint8 # Subtest: sint16 1..3 ok 1 - ffi.type(sint16) ok 2 - An object of class 'FFI::Platypus::Type' isa 'FFI::Platypus::Type' # {"element_type":"int","ffi_type":"sint16","element_size":2,"type":"scalar","size":2,"sign":1} ok 3 - size = 2 ok 3 - sint16 # Subtest: uint16 1..3 ok 1 - ffi.type(uint16) ok 2 - An object of class 'FFI::Platypus::Type' isa 'FFI::Platypus::Type' # {"size":2,"sign":0,"type":"scalar","ffi_type":"uint16","element_size":2,"element_type":"int"} ok 3 - size = 2 ok 4 - uint16 # Subtest: sint32 1..3 ok 1 - ffi.type(sint32) ok 2 - An object of class 'FFI::Platypus::Type' isa 'FFI::Platypus::Type' # {"size":4,"sign":1,"element_size":4,"ffi_type":"sint32","element_type":"int","type":"scalar"} ok 3 - size = 4 ok 5 - sint32 # Subtest: uint32 1..3 ok 1 - ffi.type(uint32) ok 2 - An object of class 'FFI::Platypus::Type' isa 'FFI::Platypus::Type' # {"element_type":"int","ffi_type":"uint32","element_size":4,"type":"scalar","sign":0,"size":4} ok 3 - size = 4 ok 6 - uint32 # Subtest: sint64 1..3 ok 1 - ffi.type(sint64) ok 2 - An object of class 'FFI::Platypus::Type' isa 'FFI::Platypus::Type' # {"type":"scalar","ffi_type":"sint64","element_type":"int","element_size":8,"sign":1,"size":8} ok 3 - size = 8 ok 7 - sint64 # Subtest: uint64 1..3 ok 1 - ffi.type(uint64) ok 2 - An object of class 'FFI::Platypus::Type' isa 'FFI::Platypus::Type' # {"element_type":"int","ffi_type":"uint64","element_size":8,"type":"scalar","size":8,"sign":0} ok 3 - size = 8 ok 8 - uint64 # Subtest: float 1..3 ok 1 - ffi.type(float) ok 2 - An object of class 'FFI::Platypus::Type' isa 'FFI::Platypus::Type' # {"element_type":"float","ffi_type":"float","element_size":4,"type":"scalar","size":4} ok 3 - size = 4 ok 9 - float # Subtest: double 1..3 ok 1 - ffi.type(double) ok 2 - An object of class 'FFI::Platypus::Type' isa 'FFI::Platypus::Type' # {"size":8,"element_size":8,"ffi_type":"double","element_type":"float","type":"scalar"} ok 3 - size = 8 ok 10 - double # Subtest: opaque 1..3 ok 1 - ffi.type(opaque) ok 2 - An object of class 'FFI::Platypus::Type' isa 'FFI::Platypus::Type' # {"size":4,"type":"scalar","ffi_type":"pointer","element_size":4,"element_type":"opaque"} ok 3 - size = 4 ok 11 - opaque # Subtest: string 1..3 ok 1 - ffi.type(string) ok 2 - An object of class 'FFI::Platypus::Type' isa 'FFI::Platypus::Type' # {"element_type":"opaque","ffi_type":"pointer","element_size":4,"fixed_size":0,"type":"string","access":"ro","size":4} ok 3 - size = 4 ok 12 - string # Subtest: longdouble 1..3 ok 1 - ffi.type(longdouble) ok 2 - An object of class 'FFI::Platypus::Type' isa 'FFI::Platypus::Type' # {"exotic":1,"size":12,"ffi_type":"longdouble","element_type":"float","element_size":12,"type":"scalar"} ok 3 - size = 12 ok 13 - longdouble # Subtest: complex_float 1..3 ok 1 - ffi.type(complex_float) ok 2 - An object of class 'FFI::Platypus::Type' isa 'FFI::Platypus::Type' # {"type":"scalar","element_size":8,"ffi_type":"complex_float","element_type":"float","size":8,"exotic":1} ok 3 - size = 8 ok 14 - complex_float # Subtest: complex_double 1..3 ok 1 - ffi.type(complex_double) ok 2 - An object of class 'FFI::Platypus::Type' isa 'FFI::Platypus::Type' # {"exotic":1,"size":16,"ffi_type":"complex_double","element_size":16,"element_type":"float","type":"scalar"} ok 3 - size = 16 ok 15 - complex_double ok 3 - ffi basic types # Subtest: ffi pointer types 1..15 # Subtest: sint8 * 1..3 ok 1 - ffi.type(sint8 *) ok 2 - An object of class 'FFI::Platypus::Type' isa 'FFI::Platypus::Type' # {"type":"pointer","element_size":1,"ffi_type":"sint8","element_type":"int","size":4,"sign":1} ok 3 - size = 4 ok 1 - sint8 * # Subtest: uint8 * 1..3 ok 1 - ffi.type(uint8 *) ok 2 - An object of class 'FFI::Platypus::Type' isa 'FFI::Platypus::Type' # {"type":"pointer","element_size":1,"ffi_type":"uint8","element_type":"int","sign":0,"size":4} ok 3 - size = 4 ok 2 - uint8 * # Subtest: sint16 * 1..3 ok 1 - ffi.type(sint16 *) ok 2 - An object of class 'FFI::Platypus::Type' isa 'FFI::Platypus::Type' # {"type":"pointer","element_size":2,"ffi_type":"sint16","element_type":"int","size":4,"sign":1} ok 3 - size = 4 ok 3 - sint16 * # Subtest: uint16 * 1..3 ok 1 - ffi.type(uint16 *) ok 2 - An object of class 'FFI::Platypus::Type' isa 'FFI::Platypus::Type' # {"size":4,"sign":0,"ffi_type":"uint16","element_size":2,"element_type":"int","type":"pointer"} ok 3 - size = 4 ok 4 - uint16 * # Subtest: sint32 * 1..3 ok 1 - ffi.type(sint32 *) ok 2 - An object of class 'FFI::Platypus::Type' isa 'FFI::Platypus::Type' # {"sign":1,"size":4,"type":"pointer","element_type":"int","ffi_type":"sint32","element_size":4} ok 3 - size = 4 ok 5 - sint32 * # Subtest: uint32 * 1..3 ok 1 - ffi.type(uint32 *) ok 2 - An object of class 'FFI::Platypus::Type' isa 'FFI::Platypus::Type' # {"type":"pointer","element_size":4,"ffi_type":"uint32","element_type":"int","size":4,"sign":0} ok 3 - size = 4 ok 6 - uint32 * # Subtest: sint64 * 1..3 ok 1 - ffi.type(sint64 *) ok 2 - An object of class 'FFI::Platypus::Type' isa 'FFI::Platypus::Type' # {"size":4,"sign":1,"type":"pointer","element_type":"int","ffi_type":"sint64","element_size":8} ok 3 - size = 4 ok 7 - sint64 * # Subtest: uint64 * 1..3 ok 1 - ffi.type(uint64 *) ok 2 - An object of class 'FFI::Platypus::Type' isa 'FFI::Platypus::Type' # {"size":4,"sign":0,"type":"pointer","element_type":"int","ffi_type":"uint64","element_size":8} ok 3 - size = 4 ok 8 - uint64 * # Subtest: float * 1..3 ok 1 - ffi.type(float *) ok 2 - An object of class 'FFI::Platypus::Type' isa 'FFI::Platypus::Type' # {"ffi_type":"float","element_type":"float","element_size":4,"type":"pointer","size":4} ok 3 - size = 4 ok 9 - float * # Subtest: double * 1..3 ok 1 - ffi.type(double *) ok 2 - An object of class 'FFI::Platypus::Type' isa 'FFI::Platypus::Type' # {"size":4,"type":"pointer","element_type":"float","ffi_type":"double","element_size":8} ok 3 - size = 4 ok 10 - double * # Subtest: opaque * 1..3 ok 1 - ffi.type(opaque *) ok 2 - An object of class 'FFI::Platypus::Type' isa 'FFI::Platypus::Type' # {"size":4,"type":"pointer","element_type":"opaque","ffi_type":"pointer","element_size":4} ok 3 - size = 4 ok 11 - opaque * # Subtest: string * 1..0 # SKIP ME GRIMLOCK SAY STRING CAN NO BE POINTER ok 12 # skip ME GRIMLOCK SAY STRING CAN NO BE POINTER # Subtest: longdouble * 1..3 ok 1 - ffi.type(longdouble *) ok 2 - An object of class 'FFI::Platypus::Type' isa 'FFI::Platypus::Type' # {"size":4,"type":"pointer","element_size":12,"ffi_type":"longdouble","element_type":"float"} ok 3 - size = 4 ok 13 - longdouble * # Subtest: complex_float * 1..3 ok 1 - ffi.type(complex_float *) ok 2 - An object of class 'FFI::Platypus::Type' isa 'FFI::Platypus::Type' # {"ffi_type":"complex_float","element_size":8,"element_type":"float","type":"pointer","size":4} ok 3 - size = 4 ok 14 - complex_float * # Subtest: complex_double * 1..3 ok 1 - ffi.type(complex_double *) ok 2 - An object of class 'FFI::Platypus::Type' isa 'FFI::Platypus::Type' # {"size":4,"type":"pointer","element_size":16,"ffi_type":"complex_double","element_type":"float"} ok 3 - size = 4 ok 15 - complex_double * ok 4 - ffi pointer types # Subtest: ffi array types 1..15 # Subtest: sint8 [5] 1..4 ok 1 - ffi.type(sint8 [5]) ok 2 - An object of class 'FFI::Platypus::Type' isa 'FFI::Platypus::Type' # {"sign":1,"size":5,"type":"array","element_count":5,"element_type":"int","ffi_type":"sint8","element_size":1} ok 3 - size = 5 ok 4 - size = 5 ok 1 - sint8 [5] # Subtest: uint8 [7] 1..4 ok 1 - ffi.type(uint8 [7]) ok 2 - An object of class 'FFI::Platypus::Type' isa 'FFI::Platypus::Type' # {"sign":0,"size":7,"type":"array","element_count":7,"element_type":"int","ffi_type":"uint8","element_size":1} ok 3 - size = 7 ok 4 - size = 7 ok 2 - uint8 [7] # Subtest: sint16 [9] 1..4 ok 1 - ffi.type(sint16 [9]) ok 2 - An object of class 'FFI::Platypus::Type' isa 'FFI::Platypus::Type' # {"sign":1,"size":18,"type":"array","element_count":9,"element_type":"int","ffi_type":"sint16","element_size":2} ok 3 - size = 18 ok 4 - size = 9 ok 3 - sint16 [9] # Subtest: uint16 [11] 1..4 ok 1 - ffi.type(uint16 [11]) ok 2 - An object of class 'FFI::Platypus::Type' isa 'FFI::Platypus::Type' # {"size":22,"sign":0,"ffi_type":"uint16","element_size":2,"element_type":"int","type":"array","element_count":11} ok 3 - size = 22 ok 4 - size = 11 ok 4 - uint16 [11] # Subtest: sint32 [13] 1..4 ok 1 - ffi.type(sint32 [13]) ok 2 - An object of class 'FFI::Platypus::Type' isa 'FFI::Platypus::Type' # {"ffi_type":"sint32","element_type":"int","element_size":4,"type":"array","element_count":13,"size":52,"sign":1} ok 3 - size = 52 ok 4 - size = 13 ok 5 - sint32 [13] # Subtest: uint32 [15] 1..4 ok 1 - ffi.type(uint32 [15]) ok 2 - An object of class 'FFI::Platypus::Type' isa 'FFI::Platypus::Type' # {"size":60,"sign":0,"element_count":15,"type":"array","element_type":"int","ffi_type":"uint32","element_size":4} ok 3 - size = 60 ok 4 - size = 15 ok 6 - uint32 [15] # Subtest: sint64 [17] 1..4 ok 1 - ffi.type(sint64 [17]) ok 2 - An object of class 'FFI::Platypus::Type' isa 'FFI::Platypus::Type' # {"sign":1,"size":136,"ffi_type":"sint64","element_size":8,"element_type":"int","type":"array","element_count":17} ok 3 - size = 136 ok 4 - size = 17 ok 7 - sint64 [17] # Subtest: uint64 [19] 1..4 ok 1 - ffi.type(uint64 [19]) ok 2 - An object of class 'FFI::Platypus::Type' isa 'FFI::Platypus::Type' # {"sign":0,"size":152,"ffi_type":"uint64","element_size":8,"element_type":"int","type":"array","element_count":19} ok 3 - size = 152 ok 4 - size = 19 ok 8 - uint64 [19] # Subtest: float [21] 1..4 ok 1 - ffi.type(float [21]) ok 2 - An object of class 'FFI::Platypus::Type' isa 'FFI::Platypus::Type' # {"ffi_type":"float","element_type":"float","element_size":4,"element_count":21,"type":"array","size":84} ok 3 - size = 84 ok 4 - size = 21 ok 9 - float [21] # Subtest: double [23] 1..4 ok 1 - ffi.type(double [23]) ok 2 - An object of class 'FFI::Platypus::Type' isa 'FFI::Platypus::Type' # {"type":"array","element_count":23,"element_size":8,"ffi_type":"double","element_type":"float","size":184} ok 3 - size = 184 ok 4 - size = 23 ok 10 - double [23] # Subtest: opaque [25] 1..4 ok 1 - ffi.type(opaque [25]) ok 2 - An object of class 'FFI::Platypus::Type' isa 'FFI::Platypus::Type' # {"size":100,"element_count":25,"type":"array","element_type":"opaque","ffi_type":"pointer","element_size":4} ok 3 - size = 100 ok 4 - size = 25 ok 11 - opaque [25] # Subtest: string [27] 1..0 # SKIP ME GRIMLOCK SAY STRING CAN NO BE ARRAY ok 12 # skip ME GRIMLOCK SAY STRING CAN NO BE ARRAY # Subtest: longdouble [29] 1..4 ok 1 - ffi.type(longdouble [29]) ok 2 - An object of class 'FFI::Platypus::Type' isa 'FFI::Platypus::Type' # {"ffi_type":"longdouble","element_type":"float","element_size":12,"type":"array","element_count":29,"size":348} ok 3 - size = 348 ok 4 - size = 29 ok 13 - longdouble [29] # Subtest: complex_float [31] 1..4 ok 1 - ffi.type(complex_float [31]) ok 2 - An object of class 'FFI::Platypus::Type' isa 'FFI::Platypus::Type' # {"size":248,"ffi_type":"complex_float","element_size":8,"element_type":"float","type":"array","element_count":31} ok 3 - size = 248 ok 4 - size = 31 ok 14 - complex_float [31] # Subtest: complex_double [33] 1..4 ok 1 - ffi.type(complex_double [33]) ok 2 - An object of class 'FFI::Platypus::Type' isa 'FFI::Platypus::Type' # {"size":528,"ffi_type":"complex_double","element_size":16,"element_type":"float","type":"array","element_count":33} ok 3 - size = 528 ok 4 - size = 33 ok 15 - complex_double [33] ok 5 - ffi array types # Subtest: closure types 1..6 ok 1 - (int)->int is a legal closure type # {"ffi_type":"pointer","element_size":4,"element_type":"opaque","signature":[[{"size":4,"sign":1,"type":"scalar","element_type":"int","ffi_type":"sint32","element_size":4}],{"sign":1,"size":4,"type":"scalar","ffi_type":"sint32","element_type":"int","element_size":4}],"type":"closure","size":4} ok 2 # skip arrays not currently supported as closure argument types ok 3 - inline closure illegal ok 4 - argument type closure illegal ok 5 - return type closure illegal ok 6 - a more complicated closure # {"size":4,"type":"closure","ffi_type":"pointer","element_size":4,"element_type":"opaque","signature":[[{"size":4,"sign":1,"type":"scalar","ffi_type":"sint32","element_type":"int","element_size":4},{"sign":1,"size":4,"ffi_type":"sint32","element_size":4,"element_type":"int","type":"scalar"},{"ffi_type":"sint32","element_type":"int","element_size":4,"type":"scalar","size":4,"sign":1},{"sign":1,"size":1,"type":"scalar","element_type":"int","ffi_type":"sint8","element_size":1},{"size":4,"fixed_size":0,"ffi_type":"pointer","element_type":"opaque","element_size":4,"type":"string","access":"ro"},{"size":4,"element_type":"opaque","ffi_type":"pointer","element_size":4,"type":"scalar"}],{"size":1,"type":"scalar","ffi_type":"void","element_type":"void","element_size":1}]} ok 6 - closure types # Subtest: record 1..4 # {"size":1,"ffi_type":"pointer","element_type":"opaque","type":"record","ref":0} # {"size":32,"ffi_type":"pointer","element_type":"opaque","type":"record","ref":0} ok 1 - sizeof my_record_1 = 1 ok 2 - sizeof my_record_32 = 32 # {"ffi_type":"pointer","element_type":"opaque","ref":1,"type":"record","size":22} # {"size":44,"type":"record","ref":1,"element_type":"opaque","ffi_type":"pointer"} ok 3 - sizeof my_record_22 = 22 ok 4 - sizeof my_record_44 = 44 ok 7 - record # Subtest: string # Subtest: string 1..3 ok 1 - sizeof string = 4 ok 2 - not fixed size ok 3 - access = ro # {"size":4,"fixed_size":0,"ffi_type":"pointer","element_size":4,"element_type":"opaque","access":"ro","type":"string"} ok 1 - string # Subtest: string_rw 1..3 ok 1 - sizeof string_rw = 4 ok 2 - not fixed size ok 3 - access = rw # {"type":"string","access":"rw","fixed_size":0,"element_size":4,"ffi_type":"pointer","element_type":"opaque","size":4} ok 2 - string_rw # Subtest: string_ro 1..3 ok 1 - sizeof string_ro = 4 ok 2 - not fixed size ok 3 - access = ro # {"size":4,"type":"string","access":"ro","ffi_type":"pointer","element_type":"opaque","element_size":4,"fixed_size":0} ok 3 - string_ro # Subtest: string rw 1..3 ok 1 - sizeof string rw = 4 ok 2 - not fixed size ok 3 - access = rw # {"size":4,"fixed_size":0,"element_size":4,"ffi_type":"pointer","element_type":"opaque","access":"rw","type":"string"} ok 4 - string rw # Subtest: string ro 1..3 ok 1 - sizeof string ro = 4 ok 2 - not fixed size ok 3 - access = ro # {"access":"ro","type":"string","ffi_type":"pointer","element_type":"opaque","element_size":4,"fixed_size":0,"size":4} ok 5 - string ro # Subtest: string (10) ok 1 - sizeof string (10) = 10 ok 2 - fixed size ok 3 - access = rw # {"type":"string","access":"rw","fixed_size":1,"element_size":4,"ffi_type":"pointer","element_type":"opaque","size":10} 1..3 ok 6 - string (10) # Subtest: string(10) ok 1 - sizeof string(10) = 10 ok 2 - fixed size ok 3 - access = rw # {"access":"rw","type":"string","ffi_type":"pointer","element_type":"opaque","element_size":4,"fixed_size":1,"size":10} 1..3 ok 7 - string(10) 1..7 ok 8 - string ok t/ffi_platypus_type_pointer_size_buffer.t .. 1..1 ok 1 ok t/ffi_platypus_type_private.t .............. 1..15 # Subtest: void 1..3 ok 1 - type = FFI::Platypus::Type->new(void) ok 2 - An object of class 'FFI::Platypus::Type' isa 'FFI::Platypus::Type' ok 3 - type.meta.ffi_type = void ok 1 - void # Subtest: uint8 1..3 ok 1 - type = FFI::Platypus::Type->new(uint8) ok 2 - An object of class 'FFI::Platypus::Type' isa 'FFI::Platypus::Type' ok 3 - type.meta.ffi_type = uint8 ok 2 - uint8 # Subtest: sint8 1..3 ok 1 - type = FFI::Platypus::Type->new(sint8) ok 2 - An object of class 'FFI::Platypus::Type' isa 'FFI::Platypus::Type' ok 3 - type.meta.ffi_type = sint8 ok 3 - sint8 # Subtest: uint16 1..3 ok 1 - type = FFI::Platypus::Type->new(uint16) ok 2 - An object of class 'FFI::Platypus::Type' isa 'FFI::Platypus::Type' ok 3 - type.meta.ffi_type = uint16 ok 4 - uint16 # Subtest: sint16 1..3 ok 1 - type = FFI::Platypus::Type->new(sint16) ok 2 - An object of class 'FFI::Platypus::Type' isa 'FFI::Platypus::Type' ok 3 - type.meta.ffi_type = sint16 ok 5 - sint16 # Subtest: uint32 1..3 ok 1 - type = FFI::Platypus::Type->new(uint32) ok 2 - An object of class 'FFI::Platypus::Type' isa 'FFI::Platypus::Type' ok 3 - type.meta.ffi_type = uint32 ok 6 - uint32 # Subtest: sint32 1..3 ok 1 - type = FFI::Platypus::Type->new(sint32) ok 2 - An object of class 'FFI::Platypus::Type' isa 'FFI::Platypus::Type' ok 3 - type.meta.ffi_type = sint32 ok 7 - sint32 # Subtest: uint64 1..3 ok 1 - type = FFI::Platypus::Type->new(uint64) ok 2 - An object of class 'FFI::Platypus::Type' isa 'FFI::Platypus::Type' ok 3 - type.meta.ffi_type = uint64 ok 8 - uint64 # Subtest: sint64 1..3 ok 1 - type = FFI::Platypus::Type->new(sint64) ok 2 - An object of class 'FFI::Platypus::Type' isa 'FFI::Platypus::Type' ok 3 - type.meta.ffi_type = sint64 ok 9 - sint64 # Subtest: float 1..3 ok 1 - type = FFI::Platypus::Type->new(float) ok 2 - An object of class 'FFI::Platypus::Type' isa 'FFI::Platypus::Type' ok 3 - type.meta.ffi_type = float ok 10 - float # Subtest: double 1..3 ok 1 - type = FFI::Platypus::Type->new(double) ok 2 - An object of class 'FFI::Platypus::Type' isa 'FFI::Platypus::Type' ok 3 - type.meta.ffi_type = double ok 11 - double # Subtest: longdouble 1..3 ok 1 - type = FFI::Platypus::Type->new(longdouble) ok 2 - An object of class 'FFI::Platypus::Type' isa 'FFI::Platypus::Type' ok 3 - type.meta.ffi_type = longdouble ok 12 - longdouble # Subtest: opaque 1..3 ok 1 - type = FFI::Platypus::Type->new(opaque) ok 2 - An object of class 'FFI::Platypus::Type' isa 'FFI::Platypus::Type' ok 3 - type.meta.ffi_type = pointer ok 13 - opaque # Subtest: pointer 1..3 ok 1 - type = FFI::Platypus::Type->new(pointer) ok 2 - An object of class 'FFI::Platypus::Type' isa 'FFI::Platypus::Type' ok 3 - type.meta.ffi_type = pointer ok 14 - pointer # Subtest: string 1..3 ok 1 - type = FFI::Platypus::Type->new(string) ok 2 - An object of class 'FFI::Platypus::Type' isa 'FFI::Platypus::Type' ok 3 - type.meta.ffi_type = pointer ok 15 - string ok t/ffi_platypus_type_string_pointer.t ....... 1..3 # Subtest: arg pass in 1..3 ok 1 - not null ok 2 - \undef is null ok 3 - undef is null ok 1 - arg pass in # Subtest: arg pass out 1..2 ok 1 - not null string = hi there ok 2 - not null string = and another ok 2 - arg pass out # Subtest: return value 1..3 ok 1 - not null string = once more onto ok 2 - \null ok 3 - null ok 3 - return value ok t/ffi_platypus_types.t ..................... 1..1 # Subtest: class or instance method 1..1 ok 1 - class and instance methods are identical # type: bool # type: char # type: complex # type: complex_double # type: complex_float # type: dev_t # type: double # type: double complex # type: float # type: float complex # type: ino_t # type: int # type: int16_t # type: int32_t # type: int64_t # type: int8_t # type: int_least16_t # type: int_least32_t # type: int_least64_t # type: int_least8_t # type: long # type: long double # type: long long # type: longdouble # type: mode_t # type: off_t # type: opaque # type: pointer # type: ptrdiff_t # type: short # type: signed char # type: signed int # type: signed long # type: signed long long # type: signed short # type: sint16 # type: sint32 # type: sint64 # type: sint8 # type: size_t # type: string # type: time_t # type: uchar # type: uint # type: uint16 # type: uint16_t # type: uint32 # type: uint32_t # type: uint64 # type: uint64_t # type: uint8 # type: uint8_t # type: uint_least16_t # type: uint_least32_t # type: uint_least64_t # type: uint_least8_t # type: ulong # type: unsigned char # type: unsigned int # type: unsigned long # type: unsigned long long # type: unsigned short # type: ushort # type: void # type: wchar_t # type: wint_t ok 1 - class or instance method ok t/type_complex_double.t .................... 1..1 # Subtest: standard argument 1..3 # Subtest: with a real number 1..2 # to_string(10.5) = 10.5 + 0 * i ok 1 - creal(10.5) = 10.5 ok 2 - cimag(10.5) = 0.0 ok 1 - with a real number # Subtest: with an array ref 1..2 # to_string([10.5,20.5]) = 10.5 + 20.5 * i ok 1 - creal([10.5,20.5]) = 10.5 ok 2 - cimag([10.5,20.5]) = 20.5 ok 2 - with an array ref # Subtest: with Math::Complex 1..2 # to_string($c) = 10.5 + 20.5 * i ok 1 - creal($c) = 10.5 ok 2 - cimag($c) = 20.5 ok 3 - with Math::Complex ok 1 - standard argument ok t/type_complex_float.t ..................... 1..1 # Subtest: standard argument 1..3 # Subtest: with a real number 1..2 # to_string(10.5) = 10.5 + 0 * i ok 1 - creal(10.5) = 10.5 ok 2 - cimag(10.5) = 0.0 ok 1 - with a real number # Subtest: with an array ref 1..2 # to_string([10.5,20.5]) = 10.5 + 20.5 * i ok 1 - creal([10.5,20.5]) = 10.5 ok 2 - cimag([10.5,20.5]) = 20.5 ok 2 - with an array ref # Subtest: with Math::Complex 1..2 # to_string($c) = 10.5 + 20.5 * i ok 1 - creal($c) = 10.5 ok 2 - cimag($c) = 20.5 ok 3 - with Math::Complex ok 1 - standard argument ok t/type_double.t ............................ 1..19 ok 1 - add(1.5,2.5) = 4 ok 2 - add() = 0.0 ok 3 - inc(\$i,4.25) = \7.75 ok 4 - i=3.5+4.25 ok 5 - inc(\3,4) = \7 ok 6 - sum([1..10]) = 55 ok 7 - sum2([1..10],10) = 55 ok 8 - array increment ok 9 - null() == undef ok 10 - is_null(undef) == 1 ok 11 - is_null() == 1 ok 12 - is_null(22) == 0 ok 13 - static_array = [-5.5, 5.5, -10, 10, -15.5, 15.5, 20, -20, 25.5, -25.5] ok 14 - null2() == undef ok 15 - call_closure(2.5) = 4.75 ok 16 - call_closure(2.5) = 0 # Subtest: custom type input 1..2 ok 1 ok 2 - custom_add(1.25,2.5) = 4 ok 17 - custom type input # Subtest: custom type output 1..2 ok 1 ok 2 - custom_add2(1,1) = 2.25 ok 18 - custom type output ok 19 - closure_pointer_is_null() = 1 ok t/type_float.t ............................. 1..19 ok 1 - add(1.5,2.5) = 4 ok 2 - add() = 0.0 ok 3 - inc(\$i,4.25) = \7.75 ok 4 - i=3.5+4.25 ok 5 - inc(\3,4) = \7 ok 6 - sum([1..10]) = 55 ok 7 - sum2([1..10],10) = 55 ok 8 - array increment ok 9 - null() == undef ok 10 - is_null(undef) == 1 ok 11 - is_null() == 1 ok 12 - is_null(22) == 0 ok 13 - static_array = [-5.5, 5.5, -10, 10, -15.5, 15.5, 20, -20, 25.5, -25.5] ok 14 - null2() == undef ok 15 - call_closure(2.5) = 4.75 ok 16 - call_closure(2.5) = 0 # Subtest: custom type input 1..2 ok 1 ok 2 - custom_add(1.25,2.5) = 4 ok 17 - custom type input # Subtest: custom type output 1..2 ok 1 ok 2 - custom_add2(1,1) = 2.25 ok 18 - custom type output ok 19 - closure_pointer_is_null() = 1 ok t/type_longdouble.t ........................ 1..2 # Subtest: with Math::LongDouble 1..5 # Subtest: scalar 1..2 ok 1 - An object of class 'Math::LongDouble' isa 'Math::LongDouble' ok 2 - add(1.5,2.5) = 4.0 ok 1 - scalar # Subtest: pointer 1..6 ok 1 ok 2 ok 3 ok 4 ok 5 - An object of class 'Math::LongDouble' isa 'Math::LongDouble' ok 6 ok 2 - pointer # Subtest: array fixed 1..4 ok 1 # [1.0e+000,2.0e+000,3.0e+000] ok 2 ok 3 ok 4 ok 3 - array fixed # Subtest: array var 1..4 ok 1 # [1.0e+000,2.0e+000,3.0e+000] ok 2 ok 3 ok 4 ok 4 - array var # Subtest: array return 1..3 # [1.0e+000,2.0e+000,3.0e+000] ok 1 ok 2 ok 3 ok 5 - array return ok 1 - with Math::LongDouble # Subtest: without Math::LongDouble 1..5 # You have Math::LongDouble, but for this test we are going to turn it off # Subtest: scalar 1..1 ok 1 - add(1.5,2.5) = 4 ok 1 - scalar # Subtest: pointer 1..5 ok 1 ok 2 ok 3 ok 4 ok 5 ok 2 - pointer # Subtest: array fixed 1..4 ok 1 # [1,2,3] ok 2 ok 3 ok 4 ok 3 - array fixed # Subtest: array var 1..4 ok 1 # [1,2,3] ok 2 ok 3 ok 4 ok 4 - array var # Subtest: array return 1..3 # [1,2,3] ok 1 ok 2 ok 3 ok 5 - array return ok 2 - without Math::LongDouble ok t/type_opaque.t ............................ 1..23 ok 1 - null = undef ok 2 - is_null(undef) == 1 ok 3 - is_null() == 1 ok 4 - is_null($ptr) = 0 ok 5 - setp(10476416); getp() = 10476416 ok 6 - get($tmp); tmp = 10476416 ok 7 - get(\$tmp); \$tmp = undef ok 8 - aa_in([one two three]) ok 9 - aa_null_in([undef,undef,undef]) ok 10 - aa_out() ok 11 - aa_null_out() ok 12 - ra_out() ok 13 - ra_null_out ok 14 - pp2p(\undef) = undef ok 15 - pp2p(\10454512) = 10454512 ok 16 - p2pp(undef) = \undef ok 17 - pp2p(10454512) = \10454512 ok 18 - call_closure(undef) = undef ok 19 - save = undef ok 20 - call_closure(\13733544) = 13733544 ok 21 - save = 13733544 # Subtest: custom type input 1..2 ok 1 ok 2 ok 22 - custom type input # Subtest: custom type output 1..2 ok 1 ok 2 ok 23 - custom type output ok t/type_record.t ............................ 1..2 # record size = 20 # Subtest: not a reference 1..2 # Subtest: in 1..3 # packed size = 20 ok 1 - get_value($packed) = 42 ok 2 - get_name($packed) = hi there ok 3 - is_null(undef) ok 1 - in # Subtest: out 1..3 # packed size = 20 ok 1 - get_value($packed) = 47 ok 2 - get_value($packed) = platypus ok 3 - null() = undef ok 2 - out ok 1 - not a reference # Subtest: is a reference 1..2 # Subtest: in 1..3 # packed size = 20 ok 1 - get_value(\$packed) = 42 ok 2 - get_name(\$packed) = hi there ok 3 - is_null(\undef) ok 1 - in # Subtest: out 1..5 # packed size = 30 ok 1 - An object of class 'My::FooRecord' isa 'My::FooRecord' ok 2 - packed.my_method = starscream ok 3 - get_value($packed) = 47 ok 4 - get_value($packed) = platypus ok 5 - null() = \undef ok 2 - out ok 2 - is a reference ok t/type_sint16.t ............................ 1..19 ok 1 - add(-1,2) = 1 ok 2 - add() = 0 ok 3 - inc(\$i,4) = \1 ok 4 - i=1 ok 5 - inc(\-3,4) = \1 ok 6 - sum([-5..4]) = -5 ok 7 - sum([-5..4],10) = -5 ok 8 - array increment ok 9 - null() == undef ok 10 - is_null(undef) == 1 ok 11 - is_null() == 1 ok 12 - is_null(22) == 0 ok 13 - static_array = [-1,2,-3,4,-5,6,-7,8,-9,10] ok 14 - null2() == undef ok 15 - call_closure(-2) = -4 ok 16 - call_closure(2) = 0 # Subtest: custom type input 1..2 ok 1 ok 2 - custom_add(-2,-1) = -5 ok 17 - custom type input # Subtest: custom type output 1..2 ok 1 ok 2 - custom_add2(-2,-1) = -6 ok 18 - custom type output ok 19 - closure_pointer_is_null() = 1 ok t/type_sint32.t ............................ 1..19 ok 1 - add(-1,2) = 1 ok 2 - add() = 0 ok 3 - inc(\$i,4) = \1 ok 4 - i=1 ok 5 - inc(\-3,4) = \1 ok 6 - sum([-5..4]) = -5 ok 7 - sum([-5..4],10) = -5 ok 8 - array increment ok 9 - null() == undef ok 10 - is_null(undef) == 1 ok 11 - is_null() == 1 ok 12 - is_null(22) == 0 ok 13 - static_array = [-1,2,-3,4,-5,6,-7,8,-9,10] ok 14 - null2() == undef ok 15 - call_closure(-2) = -4 ok 16 - call_closure(2) = 0 # Subtest: custom type input 1..2 ok 1 ok 2 - custom_add(-2,-1) = -5 ok 17 - custom type input # Subtest: custom type output 1..2 ok 1 ok 2 - custom_add2(-2,-1) = -6 ok 18 - custom type output ok 19 - closure_pointer_is_null() = 1 ok t/type_sint64.t ............................ 1..19 ok 1 - add(-1,2) = 1 ok 2 - add() = 0 ok 3 - inc(\$i,4) = \1 ok 4 - i=1 ok 5 - inc(\-3,4) = \1 ok 6 - sum([-5..4]) = -5 ok 7 - sum([-5..4],10) = -5 ok 8 - array increment ok 9 - null() == undef ok 10 - is_null(undef) == 1 ok 11 - is_null() == 1 ok 12 - is_null(22) == 0 ok 13 - static_array = [-1,2,-3,4,-5,6,-7,8,-9,10] ok 14 - null2() == undef ok 15 - call_closure(-2) = -4 ok 16 - call_closure(2) = 0 # Subtest: custom type input 1..2 ok 1 ok 2 - custom_add(-2,-1) = -5 ok 17 - custom type input # Subtest: custom type output 1..2 ok 1 ok 2 - custom_add2(-2,-1) = -6 ok 18 - custom type output ok 19 - closure_pointer_is_null() = 1 ok t/type_sint8.t ............................. 1..19 ok 1 - add(-1,2) = 1 ok 2 - add() = 0 ok 3 - inc(\$i,4) = \1 ok 4 - i=1 ok 5 - inc(\-3,4) = \1 ok 6 - sum([-5..4]) = -5 ok 7 - sum([-5..4],10) = -5 ok 8 - array increment ok 9 - null() == undef ok 10 - is_null(undef) == 1 ok 11 - is_null() == 1 ok 12 - is_null(22) == 0 ok 13 - static_array = [-1,2,-3,4,-5,6,-7,8,-9,10] ok 14 - null2() == undef ok 15 - call_closure(-2) = -4 ok 16 - call_closure(2) = 0 # Subtest: custom type input 1..2 ok 1 ok 2 - custom_add(-2,-1) = -5 ok 17 - custom type input # Subtest: custom type output 1..2 ok 1 ok 2 - custom_add2(-2,-1) = -6 ok 18 - custom type output ok 19 - closure_pointer_is_null() = 1 ok t/type_string.t ............................ 1..17 ok 1 - string_matches_foobarbaz(foobarbaz) = true ok 2 - string_matches_foobarbaz(foobarbaz) = false ok 3 - string_return_foobarbaz() = foobarbaz ok 4 - null() = undef ok 5 - is_null(undef) = 1 ok 6 - is_null() = 1 ok 7 - is_null("foo") = 0 ok 8 - $save = hey there ok 9 - $save = undef ok 10 - fixed_input_test(foobarbaz\0) ok 11 - fixed_input_is_null(undef) ok 12 - string_fixed_text(0) = zero ok 13 - string_fixed_text(1) = one ok 14 - string_fixed_text(2) = two ok 15 - string_fixed_text(3) = three ok 16 - fixed_output_null() ok 17 - save=zero ok t/type_uint16.t ............................ 1..20 ok 1 - add(1,2) = 3 ok 2 - add() = 0 ok 3 - inc(\$i,4) = \7 ok 4 - i=3+4 ok 5 - inc(\3,4) = \7 ok 6 - sum([1..10]) = 55 ok 7 - sum2([1..10],10) = 55 ok 8 - array increment ok 9 - null() == undef ok 10 - is_null(undef) == 1 ok 11 - is_null() == 1 ok 12 - is_null(22) == 0 ok 13 - static_array = [1,4,6,8,10,12,14,16,18,20] ok 14 - null2() == undef ok 15 - call_closure(2) = 4 ok 16 - call_closure(2) = 0 # Subtest: custom type input 1..2 ok 1 ok 2 - custom_add(2,1) = 5 ok 17 - custom type input # Subtest: custom type output 1..2 ok 1 ok 2 - custom_add2(1,1) = 4 ok 18 - custom type output # Subtest: custom type post 1..2 ok 1 ok 2 - custom_add3(1,2) = 3 ok 19 - custom type post ok 20 - closure_pointer_is_null() = 1 ok t/type_uint32.t ............................ 1..20 ok 1 - add(1,2) = 3 ok 2 - add() = 0 ok 3 - inc(\$i,4) = \7 ok 4 - i=3+4 ok 5 - inc(\3,4) = \7 ok 6 - sum([1..10]) = 55 ok 7 - sum2([1..10],10) = 55 ok 8 - array increment ok 9 - null() == undef ok 10 - is_null(undef) == 1 ok 11 - is_null() == 1 ok 12 - is_null(22) == 0 ok 13 - static_array = [1,4,6,8,10,12,14,16,18,20] ok 14 - null2() == undef ok 15 - call_closure(2) = 4 ok 16 - call_closure(2) = 0 # Subtest: custom type input 1..2 ok 1 ok 2 - custom_add(2,1) = 5 ok 17 - custom type input # Subtest: custom type output 1..2 ok 1 ok 2 - custom_add2(1,1) = 4 ok 18 - custom type output # Subtest: custom type post 1..2 ok 1 ok 2 - custom_add3(1,2) = 3 ok 19 - custom type post ok 20 - closure_pointer_is_null() = 1 ok t/type_uint64.t ............................ 1..20 ok 1 - add(1,2) = 3 ok 2 - add() = 0 ok 3 - inc(\$i,4) = \7 ok 4 - i=3+4 ok 5 - inc(\3,4) = \7 ok 6 - sum([1..10]) = 55 ok 7 - sum2([1..10],10) = 55 ok 8 - array increment ok 9 - null() == undef ok 10 - is_null(undef) == 1 ok 11 - is_null() == 1 ok 12 - is_null(22) == 0 ok 13 - static_array = [1,4,6,8,10,12,14,16,18,20] ok 14 - null2() == undef ok 15 - call_closure(2) = 4 ok 16 - call_closure(2) = 0 # Subtest: custom type input 1..2 ok 1 ok 2 - custom_add(2,1) = 5 ok 17 - custom type input # Subtest: custom type output 1..2 ok 1 ok 2 - custom_add2(1,1) = 4 ok 18 - custom type output # Subtest: custom type post 1..2 ok 1 ok 2 - custom_add3(1,2) = 3 ok 19 - custom type post ok 20 - closure_pointer_is_null() = 1 ok t/type_uint8.t ............................. 1..20 ok 1 - add(1,2) = 3 ok 2 - add() = 0 ok 3 - inc(\$i,4) = \7 ok 4 - i=3+4 ok 5 - inc(\3,4) = \7 ok 6 - sum([1..10]) = 55 ok 7 - sum2([1..10],10) = 55 ok 8 - array increment ok 9 - null() == undef ok 10 - is_null(undef) == 1 ok 11 - is_null() == 1 ok 12 - is_null(22) == 0 ok 13 - static_array = [1,4,6,8,10,12,14,16,18,20] ok 14 - null2() == undef ok 15 - call_closure(2) = 4 ok 16 - call_closure(2) = 0 # Subtest: custom type input 1..2 ok 1 ok 2 - custom_add(2,1) = 5 ok 17 - custom type input # Subtest: custom type output 1..2 ok 1 ok 2 - custom_add2(1,1) = 4 ok 18 - custom type output # Subtest: custom type post 1..2 ok 1 ok 2 - custom_add3(1,2) = 3 ok 19 - custom type post ok 20 - closure_pointer_is_null() = 1 ok All tests successful. Files=50, Tests=408, 30 wallclock secs ( 0.42 usr + 0.14 sys = 0.56 CPU) Result: PASS PLICEASE/FFI-Platypus-0.26.tar.gz C:\Perl-5.20\bin\perl.exe ./Build test verbose=1 -- OK Graham Ollis <plicease@cpan.org> Write Perl bindings to non-Perl libraries with FFI. No XS required. >>> (cd C:\cpanfly-5.20\var\cpan\build\FFI-Platypus-0.26-Pv0_qc && tar cvf - FFI-Platypus-0.26.ppd blib) | gzip -c >C:/cpanfly-5.20/var/REPO/P/PL/PLICEASE/FFI-Platypus-0.26.tar.gz FFI-Platypus-0.26.ppd blib/ blib/arch/ blib/arch/auto/ blib/arch/auto/FFI/ blib/arch/auto/FFI/Platypus/ blib/arch/auto/FFI/Platypus/Platypus.bs blib/arch/auto/FFI/Platypus/Platypus.bs.bs blib/arch/auto/FFI/Platypus/Platypus.dll blib/lib/ blib/lib/auto/ blib/lib/auto/share/ blib/lib/auto/share/dist/ blib/lib/auto/share/dist/FFI-Platypus/ blib/lib/auto/share/dist/FFI-Platypus/include/ blib/lib/auto/share/dist/FFI-Platypus/include/ffi_util.h blib/lib/FFI/ blib/lib/FFI/Platypus/ blib/lib/FFI/Platypus/API.pm blib/lib/FFI/Platypus/Buffer.pm blib/lib/FFI/Platypus/ConfigData.pm blib/lib/FFI/Platypus/Declare.pm blib/lib/FFI/Platypus/Lang/ blib/lib/FFI/Platypus/Lang/ASM.pm blib/lib/FFI/Platypus/Lang/C.pm blib/lib/FFI/Platypus/Memory.pm blib/lib/FFI/Platypus/Record/ blib/lib/FFI/Platypus/Record/TieArray.pm blib/lib/FFI/Platypus/Record.pm blib/lib/FFI/Platypus/Type/ blib/lib/FFI/Platypus/Type/PointerSizeBuffer.pm blib/lib/FFI/Platypus/Type/StringPointer.pm blib/lib/FFI/Platypus/Type.pod blib/lib/FFI/Platypus.pm blib/lib/Module/ blib/lib/Module/Build/ blib/lib/Module/Build/FFI.pm >>> mv C:\cpanfly-5.20\var\cpan\build\FFI-Platypus-0.26-Pv0_qc/FFI-Platypus-0.26.ppd C:/cpanfly-5.20/var/REPO/P/PL/PLICEASE Finished 2015-02-19T06:40:20