From d3b4cf8c9b780166232f621b5a6040d1e6afc20d Mon Sep 17 00:00:00 2001 From: =?utf8?q?Zden=C4=9Bk=20=C5=A0ustr?= Date: Thu, 25 Feb 2010 16:07:08 +0000 Subject: [PATCH] Support for self-reliant distinguishing between lib and lib64. - Thanks to Eamonn ;-) --- org.glite.lb/configure | 48 +++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 47 insertions(+), 1 deletion(-) diff --git a/org.glite.lb/configure b/org.glite.lb/configure index c645dc5..052a801 100755 --- a/org.glite.lb/configure +++ b/org.glite.lb/configure @@ -26,7 +26,7 @@ my $lbjp_tag = ''; my $jp_tag = ''; my $sec_tag = ''; my $jobid_tag = ''; -my $libdir = 'lib'; +my $libdir = getlibdir(); my @nodes = qw/client server logger utils client-java doc ws-test db jpprimary jpindex jpclient harvester/; my %enable_nodes; @@ -697,6 +697,52 @@ sub gsoap_version { return $gsoap_version; } +sub getlibdir { + $libdir="lib"; + + open INP, "uname -s | "; # Check kernel name + $kname= ; + chomp($kname); + close INP; + + if ( $kname == "Linux") { + $arch = ("x86_64\npowerpc\nppc64\n"); + + open INP, "uname -p | "; # Check processor type + $procname= ; + chomp($procname); + close INP; + + if ($arch =~/^$procname\n/) { + $libdir="lib64"; + return ($libdir); } + + open INP, "uname -m | "; # Check machine hardware + $machname= ; + chomp($machname); + close INP; + + if ($arch =~/^$machname\n/) { + $libdir="lib64"; + return ($libdir); } + + # special cases (hyperlink lib64, Debian) + if (-l "/usr/lib64") { + $libdir="lib"; } + + # if /usr/lib64 doesn't exist at all (AIX) + unless ( -e "/usr/lib64" ) { + $libdir="lib"; } + } + + if ( $kname == "SunOS") { + if (-e "/usr/lib/64") { + $libdir="lib/64"; } + } + + return $libdir; +} + sub usage { my @ext = keys %extern_prefix; -- 1.8.2.3