xref: /aoo42x/main/solenv/bin/gccinstlib.pl (revision cdf0e10c)
1*cdf0e10cSrcweir:
2*cdf0e10cSrcweireval 'exec perl -wS $0 ${1+"$@"}'
3*cdf0e10cSrcweir   if 0;
4*cdf0e10cSrcweir#*************************************************************************
5*cdf0e10cSrcweir#
6*cdf0e10cSrcweir# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
7*cdf0e10cSrcweir#
8*cdf0e10cSrcweir# Copyright 2000, 2010 Oracle and/or its affiliates.
9*cdf0e10cSrcweir#
10*cdf0e10cSrcweir# OpenOffice.org - a multi-platform office productivity suite
11*cdf0e10cSrcweir#
12*cdf0e10cSrcweir# This file is part of OpenOffice.org.
13*cdf0e10cSrcweir#
14*cdf0e10cSrcweir# OpenOffice.org is free software: you can redistribute it and/or modify
15*cdf0e10cSrcweir# it under the terms of the GNU Lesser General Public License version 3
16*cdf0e10cSrcweir# only, as published by the Free Software Foundation.
17*cdf0e10cSrcweir#
18*cdf0e10cSrcweir# OpenOffice.org is distributed in the hope that it will be useful,
19*cdf0e10cSrcweir# but WITHOUT ANY WARRANTY; without even the implied warranty of
20*cdf0e10cSrcweir# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
21*cdf0e10cSrcweir# GNU Lesser General Public License version 3 for more details
22*cdf0e10cSrcweir# (a copy is included in the LICENSE file that accompanied this code).
23*cdf0e10cSrcweir#
24*cdf0e10cSrcweir# You should have received a copy of the GNU Lesser General Public License
25*cdf0e10cSrcweir# version 3 along with OpenOffice.org.  If not, see
26*cdf0e10cSrcweir# <http://www.openoffice.org/license.html>
27*cdf0e10cSrcweir# for a copy of the LGPLv3 License.
28*cdf0e10cSrcweir#
29*cdf0e10cSrcweir#*************************************************************************
30*cdf0e10cSrcweir
31*cdf0e10cSrcweir$ENV{'LC_MESSAGES'} = 'C';
32*cdf0e10cSrcweir
33*cdf0e10cSrcweir$Dest = pop(@ARGV) || die "No destination to copy to";
34*cdf0e10cSrcweir
35*cdf0e10cSrcweir$cc = $ENV{'CC'} || die "No CC environment set";
36*cdf0e10cSrcweir
37*cdf0e10cSrcweirif ($Dest =~ /--help/ || @ARGV < 1) {
38*cdf0e10cSrcweir    print "Syntax:\n  gcc-instlib <library-in-libpath ...> <destination-dir>\n";
39*cdf0e10cSrcweir    exit (0);
40*cdf0e10cSrcweir}
41*cdf0e10cSrcweirforeach $File (@ARGV) {
42*cdf0e10cSrcweir    my $string;
43*cdf0e10cSrcweir
44*cdf0e10cSrcweir    open (GCCOut, "LANGUAGE=C LC_ALL=C $cc -print-file-name=$File|") || die "Failed to exec $cc -print-file-name=$File $!";
45*cdf0e10cSrcweir    $string=<GCCOut>;
46*cdf0e10cSrcweir    chomp ($string);
47*cdf0e10cSrcweir    push (@CopySrc, $string);
48*cdf0e10cSrcweir    close (GCCOut);
49*cdf0e10cSrcweir}
50*cdf0e10cSrcweir
51*cdf0e10cSrcweirforeach $Src (@CopySrc) {
52*cdf0e10cSrcweir    printf "copy $Src to $Dest\n";
53*cdf0e10cSrcweir    system ("/bin/cp $Src $Dest") && die "copy failed: $!";
54*cdf0e10cSrcweir}
55*cdf0e10cSrcweir
56*cdf0e10cSrcweir
57*cdf0e10cSrcweirforeach $File (@ARGV) {
58*cdf0e10cSrcweir    #https://bugzilla.redhat.com/show_bug.cgi?id=149465
59*cdf0e10cSrcweir    printf "unprelinking $Dest/$File\n";
60*cdf0e10cSrcweir    #If it's already unprelinked .i.e. no .gnu.prelink_undo section, that's fine
61*cdf0e10cSrcweir    #If prelink is not installed, it's massively unlikely that it's prelinked
62*cdf0e10cSrcweir    system ("prelink -u $Dest/$File > /dev/null 2>&1");
63*cdf0e10cSrcweir}
64*cdf0e10cSrcweir
65*cdf0e10cSrcweirexit (0);
66