![]() System : Linux absol.cf 5.4.0-198-generic #218-Ubuntu SMP Fri Sep 27 20:18:53 UTC 2024 x86_64 User : www-data ( 33) PHP Version : 7.4.33 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare, Directory : /proc/self/root/usr/share/perl5/Debian/Debhelper/Buildsystem/ |
Upload File : |
# A debhelper build system class for handling ninja based projects. # # Copyright: © 2017 Michael Biebl # License: GPL-2+ package Debian::Debhelper::Buildsystem::ninja; use strict; use warnings; use Debian::Debhelper::Dh_Lib qw(%dh dpkg_architecture_value); use parent qw(Debian::Debhelper::Buildsystem); sub DESCRIPTION { "Ninja (build.ninja)" } sub new { my $class=shift; my $this=$class->SUPER::new(@_); $this->{buildcmd} = "ninja"; return $this; } sub check_auto_buildable { my $this=shift; my ($step) = @_; if (-e $this->get_buildpath("build.ninja")) { # This is always called in the source directory, but generally # Ninja files are created (or live) in the build directory. return 1; } return 0; } sub build { my $this=shift; my %options = ( update_env => { 'LC_ALL' => 'C.UTF-8', } ); if (!$dh{QUIET}) { unshift @_, "-v"; } if ($this->get_parallel() > 0) { unshift @_, "-j" . $this->get_parallel(); } $this->doit_in_builddir(\%options, $this->{buildcmd}, @_); } sub test { my $this=shift; my %options = ( update_env => { 'LC_ALL' => 'C.UTF-8', } ); if ($this->get_parallel() > 0) { $options{update_env}{MESON_TESTTHREADS} = $this->get_parallel(); } $this->doit_in_builddir(\%options, $this->{buildcmd}, "test", @_); } sub install { my $this=shift; my $destdir=shift; my %options = ( update_env => { 'LC_ALL' => 'C.UTF-8', 'DESTDIR' => $destdir, } ); $this->doit_in_builddir(\%options, $this->{buildcmd}, "install", @_); } sub clean { my $this=shift; if (!$this->rmdir_builddir()) { my %options = ( update_env => { 'LC_ALL' => 'C.UTF-8', } ); $this->doit_in_builddir(\%options, $this->{buildcmd}, "clean", @_); } } 1