зеркало из https://github.com/mozilla/gecko-dev.git
BeOS landing; thanks to Duncan Wilcox (duncan@be.com) for these changes.
This commit is contained in:
Родитель
c6944b28dd
Коммит
19791ca7c0
|
@ -0,0 +1,48 @@
|
|||
#!/bin/sh
|
||||
#
|
||||
# The contents of this file are subject to the Netscape Public License
|
||||
# Version 1.0 (the "NPL"); you may not use this file except in
|
||||
# compliance with the NPL. You may obtain a copy of the NPL at
|
||||
# http://www.mozilla.org/NPL/
|
||||
#
|
||||
# Software distributed under the NPL is distributed on an "AS IS" basis,
|
||||
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
|
||||
# for the specific language governing rights and limitations under the
|
||||
# NPL.
|
||||
#
|
||||
# The Initial Developer of this code under the NPL is Netscape
|
||||
# Communications Corporation. Portions created by Netscape are
|
||||
# Copyright (C) 1998 Netscape Communications Corporation. All Rights
|
||||
# Reserved.
|
||||
#
|
||||
# this is a hackish script used from config/rules.mk under BeOS
|
||||
# to generate a stub for a library if it doesn't exist yet
|
||||
|
||||
sopath=$1
|
||||
libname=$2;
|
||||
|
||||
# output the library name
|
||||
echo -l${libname}
|
||||
|
||||
# check if the requested lib is in the LIBRARY_PATH search path
|
||||
for dir in $(echo $LIBRARY_PATH | sed 's/:/ /g') ;
|
||||
do
|
||||
if test -e ${dir}/lib${libname}.so ; then
|
||||
exit ;
|
||||
fi
|
||||
done
|
||||
|
||||
# switch to executable output path
|
||||
cd ${sopath}
|
||||
|
||||
# check if the requested lib is in the executable output path
|
||||
if test -e lib${libname}.so ; then
|
||||
exit ;
|
||||
fi
|
||||
|
||||
# generate stub
|
||||
|
||||
echo "stub(){return(0);}">${libname}.c
|
||||
c++ -nostart ${libname}.c -olib${libname}.so
|
||||
rm ${libname}.c
|
||||
|
|
@ -0,0 +1,72 @@
|
|||
#perl
|
||||
#
|
||||
# The contents of this file are subject to the Netscape Public License
|
||||
# Version 1.0 (the "NPL"); you may not use this file except in
|
||||
# compliance with the NPL. You may obtain a copy of the NPL at
|
||||
# http://www.mozilla.org/NPL/
|
||||
#
|
||||
# Software distributed under the NPL is distributed on an "AS IS" basis,
|
||||
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
|
||||
# for the specific language governing rights and limitations under the
|
||||
# NPL.
|
||||
#
|
||||
# The Initial Developer of this code under the NPL is Netscape
|
||||
# Communications Corporation. Portions created by Netscape are
|
||||
# Copyright (C) 1998 Netscape Communications Corporation. All Rights
|
||||
# Reserved.
|
||||
#
|
||||
|
||||
# Build BeOS intermodule dependencies
|
||||
|
||||
$| = 1;
|
||||
|
||||
@SOLIST=<dist/bin/*.so dist/bin/component/*.so dist/BeOS*/bin/*.so /boot/develop/lib/x86/*.so>;
|
||||
|
||||
# load defined symbols
|
||||
foreach $so (@SOLIST) {
|
||||
next if $so eq $name;
|
||||
if(open(SO, "nm -g $so |")) {
|
||||
$so =~ s/\/*[^\/]*\///g;
|
||||
$so =~ s/^lib//;
|
||||
$so =~ s/\.so$//;
|
||||
while($def = <SO>) {
|
||||
chop $def;
|
||||
$def =~ / [ACDT] (.*)$/;
|
||||
next unless $1;
|
||||
#if($defsyms{$1}) {
|
||||
# print "$1 already defined in $defsyms{$1}\n";
|
||||
#}
|
||||
$defsyms{$1} = $so;
|
||||
}
|
||||
close(SO);
|
||||
}
|
||||
}
|
||||
|
||||
mkdir "dependencies.beos", 0777;
|
||||
|
||||
foreach $name (@ARGV) {
|
||||
($libname = $name) =~ s/\/*[^\/]*\///g;
|
||||
$libname =~ s/^lib//;
|
||||
$libname =~ s/\.so$//;
|
||||
print "Processing $libname...\n";
|
||||
if(open(IN, "nm -gu $name |")) {
|
||||
@syms = <IN>;
|
||||
close IN;
|
||||
chop @syms;
|
||||
|
||||
foreach $s (@syms) {
|
||||
$so = $defsyms{$s};
|
||||
$deps{$so}++ if $so && $so ne $libname;
|
||||
#print "$s not found\n" unless $so;
|
||||
}
|
||||
|
||||
if(open(OUT, ">dependencies.beos/$libname.dependencies")) {
|
||||
foreach $key (sort(keys %deps)) {
|
||||
print OUT " $key";
|
||||
}
|
||||
print OUT "\n";
|
||||
close(OUT);
|
||||
}
|
||||
}
|
||||
undef %deps;
|
||||
}
|
Загрузка…
Ссылка в новой задаче