#!/usr/bin/perl #--------------------------------------------------------------- # Module : multiarch-utils # File : check-multiarch # Version : $Id: check-multiarch-files 156134 2005-08-07 14:29:26Z gbeauchesne $ # Author : Gwenole Beauchesne # Created On : Mon Jan 24 18:02:21 CET 2005 #--------------------------------------------------------------- use strict; use MDK::Common; my $RPM_BUILD_ROOT = (shift); if (! -d $RPM_BUILD_ROOT ) { while () { } # consume all inputs exit 1 } while () { chomp; # File must be located in the usual development directories -f $_ or next; m,^\Q$RPM_BUILD_ROOT\E/usr(/X11R6)?/(bin|include)/, or next; m,/multiarch-.+-\w+/, and next; m,/include/asm, and next; my $multiarch = 0; my $multiarch_type; # Heuristics for binary files if (/bin/) { my $file_magic = `file $_`; $multiarch_type = "binary"; # check for *-config script files if (/.+[-_]config/ && $file_magic =~ /shell script/) { my $options; foreach (cat_($_)) { foreach my $opt (qw(cflags libs ldflags cppflags libdir libtool)) { $options .= " --$opt" if /(\[--$opt\]|--$opt\s+([\#\[]|display|print))/; } } # run the script to find out any libdir dependent flags if ($options) { my $output = `$_ $options`; $multiarch = 1 if ($output =~ /(?