1 # Buildsheet autogenerated by ravenadm tool -- Do not edit.
3 NAMEBASE= perl-Sys-MemInfo
7 SDESC[536]= Returns free and used physical memory (5.36)
8 SDESC[538]= Returns free and used physical memory (5.38)
10 CONTACT= Perl_Automaton[perl@ironwolf.systems]
13 SITES[main]= CPAN/ID:S/SC/SCRESTO
14 DISTFILE[1]= Sys-MemInfo-0.99.tar.gz:main
19 OPTIONS_AVAILABLE= PERL_536 PERL_538
20 OPTIONS_STANDARD= none
21 VOPTS[536]= PERL_536=ON PERL_538=OFF
22 VOPTS[538]= PERL_536=OFF PERL_538=ON
24 DISTNAME= Sys-MemInfo-0.99
30 [PERL_536].USES_ON= perl:536,configure
32 [PERL_538].USES_ON= perl:538,configure
34 [FILE:351:descriptions/desc.single]
35 This module return the total amount of free and used physical memory
36 in bytes in totalmem and freemem variables.
38 This module has been tested on Linux 3.13.0, UnixWare 7.1.2, AIX5,
39 OpenBSD 3.8, NetBSD 2.0.2, FreBSD 5.4, HPUX11, Solaris 9, Tru64 5.1,
40 Irix 6.5, MacOS X 10.2 and Windows XP.
42 It should work on FreeBSD 4 and Windows 9X/ME/NT/200X/Vista.
46 0786319d3a3a8bae5d727939244bf17e140b714f52734d5e9f627203e4cf3e3b 13276 Sys-MemInfo-0.99.tar.gz
49 [FILE:749:patches/patch-Makefile.PL]
50 --- Makefile.PL.orig 2016-10-14 00:11:59 UTC
52 @@ -26,6 +26,10 @@ for ($^O) {
54 copy ('arch/solaris.xs', 'MemInfo.xs');
55 print "Sys::MemInfo for Solaris\n";
56 + } elsif (/midnight/) {
57 + copy ('arch/freebsd.xs', 'MemInfo.xs');
58 + $define = '-DFREEBSD5';
59 + print "Sys::MemInfo for MidnightBSD\n";
61 copy ('arch/freebsd.xs', 'MemInfo.xs');
63 @@ -36,6 +40,9 @@ for ($^O) {
65 print "Sys::MemInfo for FreeBSD 4 and lower\n";
67 + } elsif (/dragonfly/) {
68 + copy ('arch/dragonfly.xs', 'MemInfo.xs');
69 + print "Sys::MemInfo for DragonFly\n";
71 copy ('arch/bsd.xs', 'MemInfo.xs');
75 [FILE:372:patches/patch-arch_bsd.xs]
76 $NetBSD: patch-arch_bsd.xs,v 1.1 2021/12/18 15:07:01 prlw1 Exp $
78 UVM appeared since NetBSD 2.0.2.
80 --- arch/bsd.xs.orig 2006-09-16 14:32:56.000000000 +0000
82 @@ -8,6 +8,9 @@ MODULE = Sys::MemInfo PACKAGE = Sys::Mem
84 #include <sys/param.h>
85 #include <sys/sysctl.h>
87 +#include <uvm/uvm_extern.h>
94 [FILE:2422:patches/patch-arch_dragonfly.xs]
95 --- /dev/null 2015-12-12 12:33:16.341252360 +0200
102 +MODULE = Sys::MemInfo PACKAGE = Sys::MemInfo
104 +#include "arch/functions.h"
107 +#include <sys/param.h>
108 +#include <sys/sysctl.h>
109 +#include <vm/vm_param.h>
115 + XPUSHs(sv_2mortal(newSVpv(_totalmem, strlen(_totalmem))));
116 + XPUSHs(sv_2mortal(newSVpv(_freemem, strlen(_freemem))));
117 + XPUSHs(sv_2mortal(newSVpv(_totalswap, strlen(_totalswap))));
118 + XPUSHs(sv_2mortal(newSVpv(_freeswap, strlen(_freeswap))));
124 + unsigned long long ret = 0;
125 + size_t len = sizeof (ret);
126 + static int mib[2] = { CTL_HW, HW_PHYSMEM };
128 + if (sysctl (mib, 2, &ret, &len, NULL, 0) != -1) {
129 + RETVAL = (double) (ret);
143 + size_t len = sizeof (fmem);
144 + static int pagesize = 0;
146 + if (!pagesize) pagesize = getpagesize();
148 + if (sysctlbyname("vm.stats.vm.v_free_count", &fmem, &len, NULL, 0) != -1) {
149 + ret = (double) (fmem);
163 + int sused_anon = 0;
164 + int sused_cache = 0;
165 + size_t len = sizeof (free_swap);
166 + static int pagesize = 0;
168 + if (!pagesize) pagesize = getpagesize();
170 + if (sysctlbyname("vm.swap_size", &free_swap, &len, NULL, 0) != -1) {
171 + ret = (double) (free_swap);
173 + if (sysctlbyname("vm.swap_anon_use", &sused_anon, &len, NULL, 0) != -1) {
174 + ret += (double) (sused_anon);
176 + if (sysctlbyname("vm.swap_cache_use", &sused_cache, &len, NULL, 0) != -1) {
177 + ret += (double) (sused_cache);
192 + size_t len = sizeof (free_swap);
193 + static int pagesize = 0;
195 + if (!pagesize) pagesize = getpagesize();
197 + if (sysctlbyname("vm.swap_size", &free_swap, &len, NULL, 0) != -1) {
198 + ret = (double) (free_swap);
207 +# vim:et:ts=2:sts=2:sw=2