aboutsummaryrefslogtreecommitdiff
path: root/Makefile.pl
diff options
context:
space:
mode:
authorAndrey Ponomarenko <aponomarenko@rosalab.ru>2015-08-11 22:45:36 +0300
committerAndrey Ponomarenko <aponomarenko@rosalab.ru>2015-08-11 22:45:36 +0300
commit52b2e35f3dfda9369631beeb5d5480df65c47950 (patch)
treeac6bea92cfbb470504ea8442edd8c991b5a1e4e7 /Makefile.pl
parentc522134dcd0c1d963ec558179038e5869ae34298 (diff)
downloadabi-compliance-checker-52b2e35f3dfda9369631beeb5d5480df65c47950.tar.gz
Added -types-list option. Fixed detection of DataType_Size_And_Stack rule. Limited number of affected symbols shown for each BC problem in the report. Simplified Makefile. Do not install descriptors. Removed unused code. Improved CSS styles of the report.
Diffstat (limited to 'Makefile.pl')
-rwxr-xr-xMakefile.pl55
1 files changed, 27 insertions, 28 deletions
diff --git a/Makefile.pl b/Makefile.pl
index f59ac08..9767d47 100755
--- a/Makefile.pl
+++ b/Makefile.pl
@@ -3,10 +3,10 @@
# Makefile for ABI Compliance Checker
# Install/remove the tool for GNU/Linux, FreeBSD and Mac OS X
#
-# Copyright (C) 2009-2010 The Linux Foundation
# Copyright (C) 2009-2011 Institute for System Programming, RAS
# Copyright (C) 2011-2012 Nokia Corporation and/or its subsidiary(-ies)
-# Copyright (C) 2011-2014 ROSA Laboratory
+# Copyright (C) 2012-2013 ROSA Laboratory
+# Copyright (C) 2013-2015 Andrey Ponomarenko's ABI laboratory
#
# Written by Andrey Ponomarenko
#
@@ -46,7 +46,6 @@ DESCRIPTION:
USAGE:
sudo perl $0 -install -prefix /usr
- sudo perl $0 -update -prefix /usr
sudo perl $0 -remove -prefix /usr
OPTIONS:
@@ -54,14 +53,11 @@ OPTIONS:
Print this help.
--prefix=PREFIX
- Install files in PREFIX [/usr/local].
+ Install files in PREFIX [/usr].
-install
Command to install the tool.
- -update
- Command to update existing installation.
-
-remove
Command to remove the tool.
@@ -79,14 +75,13 @@ if(not @ARGV)
exit(0);
}
-my ($PREFIX, $DESTDIR, $Help, $Install, $Update, $Remove);
+my ($PREFIX, $DESTDIR, $Help, $Install, $Remove);
GetOptions(
"h|help!" => \$Help,
"prefix=s" => \$PREFIX,
"destdir=s" => \$DESTDIR,
"install!" => \$Install,
- "update!" => \$Update,
"remove!" => \$Remove
) or exit(1);
@@ -97,18 +92,24 @@ sub scenario()
print $HELP_MSG;
exit(0);
}
- if(not $Install and not $Update and not $Remove)
+ if(not $Install and not $Remove)
{
- print STDERR "ERROR: command is not selected (-install, -update or -remove)\n";
+ print STDERR "ERROR: command is not selected (-install or -remove)\n";
exit(1);
}
+
+ if($Install)
+ { # remove old version first
+ $Remove = 1;
+ }
+
if($PREFIX ne "/") {
$PREFIX=~s/[\/]+\Z//g;
}
if(not $PREFIX)
{ # default prefix
if($Config{"osname"}!~/win/i) {
- $PREFIX = "/usr/local";
+ $PREFIX = "/usr";
}
}
if(my $Var = $ENV{"DESTDIR"})
@@ -165,31 +166,28 @@ sub scenario()
print STDERR "ERROR: you should be root\n";
exit(1);
}
- if($Remove or $Update)
+ if($Remove)
{
if(-e $EXE_PATH."/".$TOOL_SNAME)
{ # remove executable
print "-- Removing $TOOL_PATH\n";
unlink($EXE_PATH."/".$TOOL_SNAME);
}
+ elsif(not $Install) {
+ print "The tool is not installed\n";
+ }
if(-d $MODULES_PATH)
{ # remove modules
print "-- Removing $MODULES_PATH\n";
rmtree($MODULES_PATH);
}
+ elsif(not $Install) {
+ print "The modules of the tool are not installed\n";
+ }
}
- if($Install or $Update)
+ if($Install)
{
- if(-e $EXE_PATH."/".$TOOL_SNAME or -e $MODULES_PATH)
- { # check installed
- if(not $Remove)
- {
- print STDERR "ERROR: you should remove old version first (`perl $0 -remove --prefix=$PREFIX`)\n";
- exit(1);
- }
- }
-
# configure
my $Content = readFile($ARCHIVE_DIR."/".$TOOL_SNAME.".pl");
if($DESTDIR) { # relative path
@@ -212,9 +210,9 @@ sub scenario()
# copy modules
if(-d $ARCHIVE_DIR."/modules")
{
- print "-- Installing $MODULES_PATH\n";
- mkpath($MODULES_PATH);
- copyDir($ARCHIVE_DIR."/modules", $MODULES_PATH);
+ print "-- Installing $MODULES_PATH\n";
+ mkpath($MODULES_PATH);
+ copyDir($ARCHIVE_DIR."/modules", $MODULES_PATH);
}
# check PATH
@@ -254,7 +252,8 @@ sub copyDir($$)
}
foreach my $Path (sort keys(%Files))
{
- if($Config{"osname"}!~/win/ and $Path=~/Targets\/(windows|symbian)/) {
+ if($Path=~/Targets\//)
+ { # Do not install descriptors
next;
}
my $Inst = $Path;
@@ -291,4 +290,4 @@ sub writeFile($$)
close(FILE);
}
-scenario(); \ No newline at end of file
+scenario();