Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(7)

Side by Side Diff: src/platform/dh-chromeos/lib/Debian/Debhelper/Buildsystem/scons_chromeos.pm

Issue 1521015: build: Delete files from the previous build system. (Closed)
Patch Set: merge Created 10 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « src/platform/dh-chromeos/debian/rules ('k') | src/platform/dh-chromeos/make_pkg.sh » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
1 # A debhelper build system class for handling SCons based projects.
2 # Extended for Chrome OS (cross-compiling support, parallel builds).
3 #
4 # Copyright: © 2009 Luca Falavigna
5 # Copyright: © 2009 The Chromium OS Authors.
6 # License: GPL-2+
7
8 package Debian::Debhelper::Buildsystem::scons_chromeos;
9
10 use strict;
11 use File::Path;
12 use Debian::Debhelper::Dh_Lib qw(dpkg_architecture_value);
13 use base 'Debian::Debhelper::Buildsystem';
14
15 sub DESCRIPTION {
16 "SCons, extended for Chrome OS (Sconstruct)"
17 }
18
19 sub check_auto_buildable {
20 my $this=shift;
21 if (-e $this->get_sourcepath("SConstruct.chromiumos")) {
22 return -e $this->get_sourcepath("SConstruct.chromiumos");
23 } elsif (-e $this->get_sourcepath("SConstruct")) {
24 return -e $this->get_sourcepath("SConstruct");
25 } elsif (-e $this->get_sourcepath("Sconstruct")) {
26 return -e $this->get_sourcepath("Sconstruct");
27 } elsif (-e $this->get_sourcepath("sconstruct")) {
28 return -e $this->get_sourcepath("sconstruct");
29 }
30 }
31
32 sub new {
33 my $class=shift;
34 my $this=$class->SUPER::new(@_);
35 $this->enforce_in_source_building();
36 return $this;
37 }
38
39 my %toolchain = (
40 CC => 'gcc',
41 CXX => 'g++',
42 AR => 'ar',
43 RANLIB => 'ranlib',
44 LD => 'ld',
45 NM => 'nm',
46 );
47
48 sub do_scons {
49 my $this=shift;
50
51 my @opts;
52 if (-e $this->get_sourcepath("SConstruct.chromiumos")) {
53 push @opts, "-f", "SConstruct.chromiumos";
54 }
55 return $this->doit_in_sourcedir("scons", @opts, @_);
56 }
57
58 sub build {
59 my $this=shift;
60
61 my $deb_build_gnu_type=dpkg_architecture_value("DEB_BUILD_GNU_TYPE");
62 my $deb_host_gnu_type=dpkg_architecture_value("DEB_HOST_GNU_TYPE");
63 if ($deb_build_gnu_type eq $deb_host_gnu_type) {
64 for my $tool (keys %toolchain) {
65 $ENV{$tool}=$toolchain{$tool};
66 }
67 } else {
68 for my $tool (keys %toolchain) {
69 $ENV{$tool}="$deb_host_gnu_type-$toolchain{$tool}";
70 }
71 }
72
73 my @opts;
74 open NUM_JOBS, '-|',
75 "grep processor /proc/cpuinfo | awk '{a++} END {print a}'";
76 my $num_jobs = <NUM_JOBS>;
77 chomp $num_jobs;
78 close NUM_JOBS;
79 if ($num_jobs ne '') {
80 push @opts, "-j$num_jobs";
81 }
82
83 $this->do_scons(@opts, @_);
84 }
85
86 sub clean {
87 my $this=shift;
88 $this->do_scons("-c", @_);
89 unlink($this->get_buildpath(".sconsign.dblite"));
90 rmtree($this->get_buildpath(".sconf_temp"));
91 }
92
93 1
OLDNEW
« no previous file with comments | « src/platform/dh-chromeos/debian/rules ('k') | src/platform/dh-chromeos/make_pkg.sh » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698