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