Name
SPVM::Resource::Libpng - The Resource of The libpng Library
Description
SPVM::Resource::Libpng class in SPVM is a resource class for the libpng library.
Usage
MyClass.config:
my $config = SPVM::Builder::Config->new_c99(file => __FILE__);
$config->use_resource('Resource::Zlib');
$config->use_resource('Resource::Libpng');
$config;
MyClass.c:
#include <png.h>
int32_t SPVM__MyClass__test(SPVM_ENV* env, SPVM_VALUE* stack) {
png_colorp palette;
return 0;
}
Original Product
Original Product Version
Language
The C language
Language Specification
C99
Required Resources
Header Files
pngconf.hpngdebug.hpng.hpnginfo.hpnglibconf.hpngpriv.hpngstruct.h
Source Files
png.cpngerror.cpngget.cpngmem.cpngpread.cpngread.cpngrio.cpngrtran.cpngrutil.cpngset.cpngtest.cpngtrans.cpngwio.cpngwrite.cpngwtran.cpngwutil.carm/arm_init.carm/filter_neon_intrinsics.carm/filter_neon.Sarm/palette_neon_intrinsics.c
How to Create Resource
Donwload
mkdir -p .tmp
git clone https://github.com/glennrp/libpng.git .tmp/libpng
git -C .tmp/libpng checkout tags/v1.6.45 -b branch_vv1.6.45
git -C .tmp/libpng branch
Extracting Header Files
The header files of libpng is copied into the include directory by the following command.
rsync -av --include='*.h' --exclude='*' .tmp/libpng/ lib/SPVM/Resource/Libpng.native/include/
cp lib/SPVM/Resource/Libpng.native/src/scripts/pnglibconf.h.prebuilt lib/SPVM/Resource/Libpng.native/include/pnglibconf.h
Extracting Source Files
The source files of libpng are copied into the src directory by the following command.
rsync -av --exclude='.git' .tmp/libpng/ lib/SPVM/Resource/Libpng.native/src/
The used source files are extracted by the following command.
find lib/SPVM/Resource/Libpng.native/src/* | perl -p -e 's|^\Qlib/SPVM/Resource/Libpng.native/src/||' | grep -P '^\w+\.c$' | grep -v -P '^example\.c'
Repository
SPVM::Resource::Libpng - Github
Copyright & License
Copyright (c) 2023 Yuki Kimoto
MIT License