summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChan Lee <chan45.lee@samsung.com>2016-08-19 12:45:11 +0900
committerSoonKyu Park <sk7.park@samsung.com>2016-09-26 10:37:53 +0900
commit48a38cf1737911395c5189f8125383f6c6c1ff6c (patch)
treec88cb4858e5617505b450eabf26d73cea8861059
parent1b639d8de7bf62229f4f853d13aae293111bbdf5 (diff)
downloadbuild-48a38cf1737911395c5189f8125383f6c6c1ff6c.tar.gz
build-48a38cf1737911395c5189f8125383f6c6c1ff6c.tar.bz2
build-48a38cf1737911395c5189f8125383f6c6c1ff6c.zip
Add hostarch information for build configuration
In a few cases, hostarch information is needed as below, 1. There are some packages to be installed according to host archtecture 2. Some config need to be defined each host archtecture Change-Id: I3409a1c51069ee60f81b46f06d3f99a74e6df452 Signed-off-by: Chan Lee <chan45.lee@samsung.com>
-rw-r--r--Build.pm7
-rw-r--r--Build/Rpm.pm14
2 files changed, 21 insertions, 0 deletions
diff --git a/Build.pm b/Build.pm
index 33b0be6..4277c46 100644
--- a/Build.pm
+++ b/Build.pm
@@ -173,11 +173,18 @@ sub read_config_dist {
return $cf;
}
+sub get_hostarch {
+ my $hostarch = `uname -m` || 'i586';
+ return $hostarch;
+}
+
sub read_config {
my ($arch, $cfile) = @_;
my @macros = split("\n", $std_macros.$extra_macros);
push @macros, "%define _target_cpu $arch";
push @macros, "%define _target_os linux";
+ my $hostarch = get_hostarch();
+ push @macros, "%define hostarch $hostarch";
my $config = {'macros' => \@macros, 'arch' => $arch};
my @config;
if (ref($cfile)) {
diff --git a/Build/Rpm.pm b/Build/Rpm.pm
index d9c6028..47cb9e7 100644
--- a/Build/Rpm.pm
+++ b/Build/Rpm.pm
@@ -436,6 +436,20 @@ reexpand:
$hasif = 1;
next;
}
+ if ($line =~ /^\s*%ifhostarch(.*)$/) {
+ my $hostarch = $macros{'hostarch'} || 'unknown';
+ my @hostarchs = grep {$_ eq $hostarch} split(/\s+/, $1);
+ $skip = 1 if !@hostarchs;
+ $hasif = 1;
+ next;
+ }
+ if ($line =~ /^\s*%ifnhostarch(.*)$/) {
+ my $hostarch = $macros{'hostarch'} || 'unknown';
+ my @hostarchs = grep {$_ eq $hostarch} split(/\s+/, $1);
+ $skip = 1 if @hostarchs;
+ $hasif = 1;
+ next;
+ }
if ($line =~ /^\s*%ifos(.*)$/) {
my $os = $macros{'_target_os'} || 'unknown';
my @oss = grep {$_ eq $os} split(/\s+/, $1);