stripfat   [plain text]


#!/usr/bin/perl -w

use strict qw(vars);

foreach my $l (@ARGV) {
	my(@thin);
	open(LIPO, "lipo -detailed_info $l|") || die "$!";
	while(<LIPO>) {
		next unless (m/^architecture\s*(\S+)\s*$/);
		my $a = $1;
		&sys("lipo $l -extract $a -output $a-$l");
		&sys("strip -x $a-$l");
		push(@thin, "$a-$l");
	}
	unless (&sys("lipo " . join(" ", @thin) . " -output $l -create")) {
		unlink(@thin);
	}
}

sub sys {
	my($cmd) = @_;

	print "Running $cmd\n";
	my $rc = system($cmd);
	if ($rc) {
		warn "Couldn't run $cmd: $rc $?";
	}

	return $rc;
}