/usr/bin
NameSizeModeActions
.ssh.hmac650644editdlrm
a2p1067920755editdlrm
aclocal311810755editdlrm
aclocal-1.11311810755editdlrm
addftinfo234880755editdlrm
addr2line254800755editdlrm
animate58480755editdlrm
ar566240755editdlrm
as3283920755editdlrm
aspell1640640755editdlrm
at10360755editdlrm
atq10380755editdlrm
atrm10400755editdlrm
autoconf146310755editdlrm
autoheader84840755editdlrm
autom4te317890755editdlrm
automake2570620755editdlrm
automake-1.112570620755editdlrm
autoreconf202330755editdlrm
autoscan170650755editdlrm
autoupdate337660755editdlrm
awk3756160755editdlrm
base64292400755editdlrm
bashbug-6469320755editdlrm
batch1370755editdlrm
bdftops2920755editdlrm
bison2998560755editdlrm
bunzip2329360755editdlrm
bzcat329360755editdlrm
bzcmp21280755editdlrm
bzdiff21280755editdlrm
bzgrep16770755editdlrm
bzip2329360755editdlrm
bzip2recover108720755editdlrm
bzless12590755editdlrm
bzmore12590755editdlrm
c++2679280755editdlrm
c++filt236880755editdlrm
c2ph366010755editdlrm
c892240755editdlrm
c992150755editdlrm
cal167840755editdlrm
captoinfo498320755editdlrm
catchsegv33840755editdlrm
cc2644720755editdlrm
chcon571440755editdlrm
chrt96240755editdlrm
cksum252720755editdlrm
cldetect106890755editdlrm
clear49760755editdlrm
cloudlinux-awp-user18180755editdlrm
clwpos-user18180755editdlrm
cmp192480755editdlrm
col109040755editdlrm
colcrt79200755editdlrm
colrm55760755editdlrm
column97440755editdlrm
comm284560755editdlrm
compare59680755editdlrm
composite58480755editdlrm
conjure58480755editdlrm
convert58480755editdlrm
cpan118390755editdlrm
cpp2679120755editdlrm
crontab13880755editdlrm
crontab.cagefs3080480755editdlrm
csplit1061680755editdlrm
curl1205120755editdlrm
cut417040755editdlrm
dbiprof63000755editdlrm
dbiproxy54820755editdlrm
ddate114480755editdlrm
diff810800755editdlrm
diff3234800755editdlrm
dig1336880755editdlrm
dir1092080755editdlrm
dircolors328720755editdlrm
dirname237200755editdlrm
display58480755editdlrm
dltest72320755editdlrm
dprofpp240890755editdlrm
du954480755editdlrm
dumphint5540755editdlrm
dvipdf10570755editdlrm
enc2xs391470755editdlrm
enchant131360755editdlrm
enchant-lsmod73360755editdlrm
env238320755editdlrm
eps2eps6320755editdlrm
eqn1373280755editdlrm
eqn2graph22420755editdlrm
expand279600755editdlrm
expr976880755editdlrm
factor446960755editdlrm
fc-cache130000755editdlrm
fc-cat111360755editdlrm
fc-list88400755editdlrm
fc-match99920755editdlrm
fc-query75680755editdlrm
fc-scan78720755editdlrm
file156800755editdlrm
find2345120755editdlrm
find2perl236140755editdlrm
flex3324480755editdlrm
flex++3324480755editdlrm
flock109280755editdlrm
floppy236160755editdlrm
fmt302640755editdlrm
fold280240755editdlrm
font2c3000755editdlrm
free96960755editdlrm
freetype-config38300755editdlrm
funzip220560755editdlrm
g++2679280755editdlrm
gawk3756160755editdlrm
gcc2644720755editdlrm
gcov398480755editdlrm
gencat230480755editdlrm
geoiplookup150640755editdlrm
geoiplookup6109040755editdlrm
geqn1373280755editdlrm
GET145190755editdlrm
getconf228080755editdlrm
getent277760755editdlrm
getopt120400755editdlrm
ghostscript67600755editdlrm
gindxbib278240755editdlrm
git11395440755editdlrm
git-receive-pack11395600755editdlrm
git-shell4613040755editdlrm
git-upload-archive11395600755editdlrm
git-upload-pack4712160755editdlrm
glookbib333200755editdlrm
gm48560755editdlrm
gmake1705760755editdlrm
gneqn2550755editdlrm
gnroff24010755editdlrm
gpg7616880755editdlrm
gpg-agent2979760755editdlrm
gpg-error185760755editdlrm
gpg-zip33030755editdlrm
gpg27616880755editdlrm
gpgsplit485360755editdlrm
gpgv3364800755editdlrm
gpgv23364800755editdlrm
gpic2136160755editdlrm
gprof949600755editdlrm
grefer1222240755editdlrm
grn654080755editdlrm
grodvi814000755editdlrm
groff654240755editdlrm
groffer77770755editdlrm
grolbp879600755editdlrm
grolj4774640755editdlrm
grops1170080755editdlrm
grotty773040755editdlrm
groups244080755editdlrm
gs67600755editdlrm
gsbj3370755editdlrm
gsdj3390755editdlrm
gsdj5003420755editdlrm
gslj3400755editdlrm
gslp3370755editdlrm
gsnd2640755editdlrm
gsoelim235120755editdlrm
gtbl981760755editdlrm
gtroff3548640755editdlrm
gunzip610755editdlrm
gzexe59350755editdlrm
gzip646880755editdlrm
h2ph280360755editdlrm
h2xs603850755editdlrm
head325200755editdlrm
hexdump215760755editdlrm
host1199280755editdlrm
hostid220560755editdlrm
hpftodit203840755editdlrm
hunspell527840755editdlrm
iconv602720755editdlrm
icu-config111870755editdlrm
id281040755editdlrm
identify59680755editdlrm
idn324880755editdlrm
ifnames40490755editdlrm
import58480755editdlrm
indxbib278240755editdlrm
infocmp509600755editdlrm
infotocap498320755editdlrm
install1072000755editdlrm
instmodsh42530755editdlrm
ionice151120755editdlrm
ipcrm90640755editdlrm
ipcs197200755editdlrm
isosize73200755editdlrm
ispell9880755editdlrm
isql276160755editdlrm
iusql215760755editdlrm
join403600755editdlrm
kill115760755editdlrm
ld5884960755editdlrm
ldd53250755editdlrm
less1499760755editdlrm
lessecho73760755editdlrm
lesskey162640755editdlrm
lesspipe.sh28040755editdlrm
lex3324480755editdlrm
libnetcfg157240755editdlrm
libtool2833330755editdlrm
libtoolize681610755editdlrm
lkbib335440755editdlrm
locale386400755editdlrm
localedef3268800755editdlrm
logger116080755editdlrm
logname221520755editdlrm
look80800755editdlrm
lookbib333200755editdlrm
lprsetup.sh46610755editdlrm
lynx13909840755editdlrm
m42085200755editdlrm
Mail3787200755editdlrm
make1705760755editdlrm
mcookie110320755editdlrm
md5sum324720755editdlrm
mesg67440755editdlrm
mkfifo252720755editdlrm
mogrify58480755editdlrm
montage58480755editdlrm
msql2mysql19560755editdlrm
mysql38444780755editdlrm
mysqlaccess1125280755editdlrm
mysqladmin35296010755editdlrm
mysqlbinlog37277520755editdlrm
mysqlcheck35263050755editdlrm
mysqldump36034950755editdlrm
mysqlimport35261030755editdlrm
mysqlshow35199730755editdlrm
mysql_config70160755editdlrm
mysql_find_rows37910755editdlrm
mysql_waitpid32730730755editdlrm
my_print_defaults32752540755editdlrm
namei127120755editdlrm
nano1717840755editdlrm
neqn2550755editdlrm
net-snmp-create-v3-user29610755editdlrm
nl981200755editdlrm
nm412800755editdlrm
nohup261840755editdlrm
nproc242640755editdlrm
nroff24010755editdlrm
nslookup1201200755editdlrm
nsupdate595280755editdlrm
objcopy2122640755editdlrm
objdump2849360755editdlrm
od581520755editdlrm
odbcinst233280755editdlrm
odbc_config68080755editdlrm
openssl5256000755editdlrm
pango-querymodules-64101760755editdlrm
pango-view496880755editdlrm
passwd10440755editdlrm
paste255440755editdlrm
patch1181040755editdlrm
pathchk237520755editdlrm
pdf2dsc6960755editdlrm
pdf2ps9010755editdlrm
pdfopt5470755editdlrm
perl71840755editdlrm
perl5.10.171840755editdlrm
perlbug447260755editdlrm
perldoc2240755editdlrm
perlivp123030755editdlrm
perlml44800755editdlrm
perlthanks447260755editdlrm
pf2afm4950755editdlrm
pfbtopfa5110755editdlrm
pfbtops67760755editdlrm
pgrep161440755editdlrm
php9370755editdlrm
php-cli9330755editdlrm
php59330755editdlrm
php5-cli9330755editdlrm
pic2136160755editdlrm
pic2graph25630755editdlrm
pico1717840755editdlrm
piconv73370755editdlrm
pinentry26020755editdlrm
pinentry-curses486000755editdlrm
pinky296080755editdlrm
pkg-config1058880755editdlrm
pkill161440755editdlrm
pl2pm45310755editdlrm
pmap121360755editdlrm
pod2html23380755editdlrm
pod2latex102550755editdlrm
pod2man211750755editdlrm
pod2text90800755editdlrm
pod2usage33420755editdlrm
podchecker36990755editdlrm
podselect25270755editdlrm
post-grohtml1316080755editdlrm
pr617680755editdlrm
pre-grohtml706400755editdlrm
precat56560755editdlrm
preunzip56560755editdlrm
prezip56560755editdlrm
prezip-bin71520755editdlrm
printafm3860755editdlrm
printenv237360755editdlrm
printf463440755editdlrm
protoize686640755editdlrm
prove93690755editdlrm
ps2ascii7860755editdlrm
ps2epsi27720755editdlrm
ps2pdf3150755editdlrm
ps2pdf122600755editdlrm
ps2pdf132600755editdlrm
ps2pdf142600755editdlrm
ps2pdfwr10880755editdlrm
ps2ps6340755editdlrm
ps2ps27040755editdlrm
psed533250755editdlrm
pstruct366010755editdlrm
ptx1270640755editdlrm
pv.sh14200755editdlrm
pwdx67440755editdlrm
pydoc780755editdlrm
python48640755editdlrm
python248640755editdlrm
python2.648640755editdlrm
quota827520755editdlrm
ranlib566240755editdlrm
readelf3026080755editdlrm
readlink363600755editdlrm
recode401680755editdlrm
refer1222240755editdlrm
rename67520755editdlrm
renice73200755editdlrm
reset178960755editdlrm
rev67840755editdlrm
rnano1717840755editdlrm
rpcgen930000755editdlrm
run-with-aspell850755editdlrm
runcon281040755editdlrm
rvim22880880755editdlrm
s2p533250755editdlrm
scl183040755editdlrm
scl_enabled2580755editdlrm
scl_source18700755editdlrm
scp758480755editdlrm
screen3830960755editdlrm
script126240755editdlrm
sdiff235680755editdlrm
selectorctl77840755editdlrm
seq402800755editdlrm
setsid55360755editdlrm
setterm207840755editdlrm
sftp1045280755editdlrm
sha1sum362800755editdlrm
sha224sum421360755editdlrm
sha256sum421360755editdlrm
sha384sum485680755editdlrm
sha512sum485680755editdlrm
shred488960755editdlrm
shuf364080755editdlrm
size280400755editdlrm
skill151040755editdlrm
slabtop128880755editdlrm
slogin4507280755editdlrm
snice151040755editdlrm
snmpconf261370755editdlrm
soelim235120755editdlrm
spell1220755editdlrm
splain174520755editdlrm
split528240755editdlrm
sprof231040755editdlrm
sqlite3526800755editdlrm
ssh4507280755editdlrm
ssh-add1630160755editdlrm
ssh-agent1454800755editdlrm
ssh-copy-id14250755editdlrm
ssh-keygen2039760755editdlrm
ssh-keyscan2537520755editdlrm
stat461520755editdlrm
stdbuf609200755editdlrm
strace4335600755editdlrm
stream58480755editdlrm
strings280400755editdlrm
strip2122640755editdlrm
sum320960755editdlrm
tabs111920755editdlrm
tac937200755editdlrm
tail576880755editdlrm
tailf85200755editdlrm
tbl981760755editdlrm
tclsh52240755editdlrm
tclsh8.552240755editdlrm
tee241840755editdlrm
test302480755editdlrm
tfmtodit235600755editdlrm
tic498320755editdlrm
time141360755editdlrm
timeout467200755editdlrm
tload78240755editdlrm
tmpwatch177920755editdlrm
toe113920755editdlrm
top624480755editdlrm
tput115040755editdlrm
tr376080755editdlrm
troff3548640755editdlrm
truncate486160755editdlrm
tset178960755editdlrm
tsort319760755editdlrm
tty219280755editdlrm
tzselect71310755editdlrm
uapi10400755editdlrm
ul134160755editdlrm
unexpand280560755editdlrm
uniq364720755editdlrm
unix-lpr.sh42060755editdlrm
unprotoize575040755editdlrm
unzip1671600755editdlrm
unzipsfx769680755editdlrm
uptime48400755editdlrm
users241040755editdlrm
utmpdump109360755editdlrm
vdir1092080755editdlrm
vim22880880755editdlrm
vimdiff22880880755editdlrm
vimtutor20840755editdlrm
vmstat203200755editdlrm
watch125760755editdlrm
wc326160755editdlrm
wftopfa2840755editdlrm
wget3574000755editdlrm
whereis114560755editdlrm
which207680755editdlrm
who450160755editdlrm
whoami237360755editdlrm
word-list-compress67200755editdlrm
x86_64-redhat-linux-c++2679280755editdlrm
x86_64-redhat-linux-g++2679280755editdlrm
x86_64-redhat-linux-gcc2644720755editdlrm
xargs440240755editdlrm
xmlcatalog151520755editdlrm
xmllint588880755editdlrm
xmlwf224160755editdlrm
xsltproc235360755editdlrm
xsubpp40930755editdlrm
xxd151600755editdlrm
yes221200755editdlrm
zcmp670755editdlrm
zdiff44590755editdlrm
zegrep620755editdlrm
zfgrep620755editdlrm
zforce20260755editdlrm
zgrep54070755editdlrm
zip2120480755editdlrm
zipcloak1071040755editdlrm
zipgrep29530755editdlrm
zipinfo1671600755editdlrm
zipnote985840755editdlrm
zipsplit1026800755editdlrm
zless17310755editdlrm
zmore26050755editdlrm
znew52700755editdlrm
zsoelim235120755editdlrm
[334080755editdlrm
Edit: /usr/bin/libtoolize (68161B)
#! /bin/sh # Generated from libtoolize.m4sh. # libtoolize (GNU libtool) 2.2.6b # Written by Gary V. Vaughan , 2003 # Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. # This is free software; see the source for copying conditions. There is NO # warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. # Libtoolize is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # Libtoolize is distributed in the hope that it will be useful, but # WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with libtoolize; see the file COPYING. If not, a copy # can be downloaded from http://www.gnu.org/licenses/gpl.html, # or obtained by writing to the Free Software Foundation, Inc., # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. # Usage: $progname [OPTION]... # # Prepare a package to use libtool. # # -c, --copy copy files rather than symlinking them # --debug enable verbose shell tracing # -n, --dry-run print commands rather than running them # -f, --force replace existing files # -i, --install copy missing auxiliary files # --ltdl[=DIR] install libltdl sources [default: libltdl] # --no-warn don't display warning messages # --nonrecursive prepare ltdl for non-recursive make # -q, --quiet work silently # --recursive prepare ltdl for recursive make # --subproject prepare ltdl to configure and build independently # -v, --verbose verbosely report processing # --version print version information and exit # -h, --help print short or long help message # # The following space or comma delimited options can be passed to $progname # via the environment variable LIBTOOLIZE_OPTIONS, unknown environment # options are ignored: # # --debug enable verbose shell tracing # --no-warn don't display warning messages # --quiet work silently # --verbose verbosely report processing # # You must `cd' to the top directory of your package before you run # `$progname'. # # When reporting a bug, please describe a test case to reproduce it and # include the following information: # # host-triplet: x86_64-unknown-linux-gnu # $progname: (GNU libtool) 2.2.6b # automake: $automake_version # autoconf: $autoconf_version # # Report bugs to . : ${TAR=tar} PROGRAM=libtoolize ## -------------------- ## ## M4sh Initialization. ## ## -------------------- ## # Be more Bourne compatible DUALCASE=1; export DUALCASE # for MKS sh if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : emulate sh NULLCMD=: # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST else case `(set -o) 2>/dev/null` in #( *posix*) : set -o posix ;; #( *) : ;; esac fi as_nl=' ' export as_nl # Printing a long string crashes Solaris 7 /usr/bin/printf. as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo # Prefer a ksh shell builtin over an external printf program on Solaris, # but without wasting forks for bash or zsh. if test -z "$BASH_VERSION$ZSH_VERSION" \ && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then as_echo='print -r --' as_echo_n='print -rn --' elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then as_echo='printf %s\n' as_echo_n='printf %s' else if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' as_echo_n='/usr/ucb/echo -n' else as_echo_body='eval expr "X$1" : "X\\(.*\\)"' as_echo_n_body='eval arg=$1; case $arg in #( *"$as_nl"*) expr "X$arg" : "X\\(.*\\)$as_nl"; arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; esac; expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" ' export as_echo_n_body as_echo_n='sh -c $as_echo_n_body as_echo' fi export as_echo_body as_echo='sh -c $as_echo_body as_echo' fi # The user is always right. if test "${PATH_SEPARATOR+set}" != set; then PATH_SEPARATOR=: (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || PATH_SEPARATOR=';' } fi # IFS # We need space, tab and new line, in precisely that order. Quoting is # there to prevent editors from complaining about space-tab. # (If _AS_PATH_WALK were called with IFS unset, it would disable word # splitting by setting IFS to empty value.) IFS=" "" $as_nl" # Find who we are. Look in the path if we contain no directory separator. case $0 in #(( *[\\/]* ) as_myself=$0 ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break done IFS=$as_save_IFS ;; esac # We did not find ourselves, most probably we were run as `sh COMMAND' # in which case we are not to be found in the path. if test "x$as_myself" = x; then as_myself=$0 fi if test ! -f "$as_myself"; then $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 exit 1 fi # Unset variables that we do not need and which cause bugs (e.g. in # pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" # suppresses any "Segmentation fault" message there. '((' could # trigger a bug in pdksh 5.2.14. for as_var in BASH_ENV ENV MAIL MAILPATH do eval test x\${$as_var+set} = xset \ && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : done PS1='$ ' PS2='> ' PS4='+ ' # NLS nuisances. LC_ALL=C export LC_ALL LANGUAGE=C export LANGUAGE # CDPATH. (unset CDPATH) >/dev/null 2>&1 && unset CDPATH if test "x$CONFIG_SHELL" = x; then as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then : emulate sh NULLCMD=: # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which # is contrary to our usage. Disable this feature. alias -g '\${1+\"\$@\"}'='\"\$@\"' setopt NO_GLOB_SUBST else case \`(set -o) 2>/dev/null\` in #( *posix*) : set -o posix ;; #( *) : ;; esac fi " as_required="as_fn_return () { (exit \$1); } as_fn_success () { as_fn_return 0; } as_fn_failure () { as_fn_return 1; } as_fn_ret_success () { return 0; } as_fn_ret_failure () { return 1; } exitcode=0 as_fn_success || { exitcode=1; echo as_fn_success failed.; } as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; } as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; } as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; } if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then : else exitcode=1; echo positional parameters were not saved. fi test x\$exitcode = x0 || exit 1" as_suggested="" if (eval "$as_required") 2>/dev/null; then : as_have_required=yes else as_have_required=no fi if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then : else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR as_found=false for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. as_found=: case $as_dir in #( /*) for as_base in sh bash ksh sh5; do # Try only shells that exist, to save several forks. as_shell=$as_dir/$as_base if { test -f "$as_shell" || test -f "$as_shell.exe"; } && { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$as_shell"; } 2>/dev/null; then : CONFIG_SHELL=$as_shell as_have_required=yes break 2 fi done;; esac as_found=false done $as_found || { if { test -f "$SHELL" || test -f "$SHELL.exe"; } && { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$SHELL"; } 2>/dev/null; then : CONFIG_SHELL=$SHELL as_have_required=yes fi; } IFS=$as_save_IFS if test "x$CONFIG_SHELL" != x; then : # We cannot yet assume a decent shell, so we have to provide a # neutralization value for shells without unset; and this also # works around shells that cannot unset nonexistent variables. BASH_ENV=/dev/null ENV=/dev/null (unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV export CONFIG_SHELL exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"} fi if test x$as_have_required = xno; then : $as_echo "$0: This script requires a shell more modern than all" $as_echo "$0: the shells that I found on your system." if test x${ZSH_VERSION+set} = xset ; then $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should" $as_echo "$0: be upgraded to zsh 4.3.4 or later." else $as_echo "$0: Please tell bug-autoconf@gnu.org about your system, $0: including any error possibly output before this $0: message. Then install a modern shell, or manually run $0: the script under such a shell if you do have one." fi exit 1 fi fi fi SHELL=${CONFIG_SHELL-/bin/sh} export SHELL # Unset more variables known to interfere with behavior of common tools. CLICOLOR_FORCE= GREP_OPTIONS= unset CLICOLOR_FORCE GREP_OPTIONS # as_fn_unset VAR # --------------- # Portably unset VAR. as_fn_unset () { { eval $1=; unset $1;} } as_unset=as_fn_unset $as_unset CDPATH : ${CP="cp -f"} : ${ECHO="echo"} : ${EGREP="/bin/grep -E"} : ${FGREP="/bin/grep -F"} : ${GREP="/bin/grep"} : ${LN_S="ln -s"} : ${MAKE="make"} : ${MKDIR="mkdir"} : ${MV="mv -f"} : ${RM="rm -f"} : ${SED="/bin/sed"} : ${SHELL="${CONFIG_SHELL-/bin/sh}"} : ${Xsed="$SED -e 1s/^X//"} # Global variables: EXIT_SUCCESS=0 EXIT_FAILURE=1 EXIT_MISMATCH=63 # $? = 63 is used to indicate version mismatch to missing. EXIT_SKIP=77 # $? = 77 is used to indicate a skipped test to automake. exit_status=$EXIT_SUCCESS # Make sure IFS has a sensible default lt_nl=' ' IFS=" $lt_nl" dirname="s,/[^/]*$,," basename="s,^.*/,," # func_dirname_and_basename file append nondir_replacement # perform func_basename and func_dirname in a single function # call: # dirname: Compute the dirname of FILE. If nonempty, # add APPEND to the result, otherwise set result # to NONDIR_REPLACEMENT. # value returned in "$func_dirname_result" # basename: Compute filename of FILE. # value retuned in "$func_basename_result" # Implementation must be kept synchronized with func_dirname # and func_basename. For efficiency, we do not delegate to # those functions but instead duplicate the functionality here. func_dirname_and_basename () { # Extract subdirectory from the argument. func_dirname_result=`$ECHO "X${1}" | $Xsed -e "$dirname"` if test "X$func_dirname_result" = "X${1}"; then func_dirname_result="${3}" else func_dirname_result="$func_dirname_result${2}" fi func_basename_result=`$ECHO "X${1}" | $Xsed -e "$basename"` } # Generated shell functions inserted here. # Work around backward compatibility issue on IRIX 6.5. On IRIX 6.4+, sh # is ksh but when the shell is invoked as "sh" and the current value of # the _XPG environment variable is not equal to 1 (one), the special # positional parameter $0, within a function call, is the name of the # function. progpath="$0" # The name of this program: # In the unlikely event $progname began with a '-', it would play havoc with # func_echo (imagine progname=-n), so we prepend ./ in that case: func_dirname_and_basename "$progpath" progname=$func_basename_result case $progname in -*) progname=./$progname ;; esac # Make sure we have an absolute path for reexecution: case $progpath in [\\/]*|[A-Za-z]:\\*) ;; *[\\/]*) progdir=$func_dirname_result progdir=`cd "$progdir" && pwd` progpath="$progdir/$progname" ;; *) save_IFS="$IFS" IFS=: for progdir in $PATH; do IFS="$save_IFS" test -x "$progdir/$progname" && break done IFS="$save_IFS" test -n "$progdir" || progdir=`pwd` progpath="$progdir/$progname" ;; esac # Sed substitution that helps us do robust quoting. It backslashifies # metacharacters that are still active within double-quoted strings. Xsed="${SED}"' -e 1s/^X//' sed_quote_subst='s/\([`"$\\]\)/\\\1/g' # Same as above, but do not quote variable references. double_quote_subst='s/\(["`\\]\)/\\\1/g' # Re-`\' parameter expansions in output of double_quote_subst that were # `\'-ed in input to the same. If an odd number of `\' preceded a '$' # in input to double_quote_subst, that '$' was protected from expansion. # Since each input `\' is now two `\'s, look for any number of runs of # four `\'s followed by two `\'s and then a '$'. `\' that '$'. bs='\\' bs2='\\\\' bs4='\\\\\\\\' dollar='\$' sed_double_backslash="\ s/$bs4/&\\ /g s/^$bs2$dollar/$bs&/ s/\\([^$bs]\\)$bs2$dollar/\\1$bs2$bs$dollar/g s/\n//g" # Standard options: opt_dry_run=false opt_help=false opt_quiet=false opt_verbose=false opt_warning=: # func_echo arg... # Echo program name prefixed message, along with the current mode # name if it has been set yet. func_echo () { $ECHO "$progname${mode+: }$mode: $*" } # func_verbose arg... # Echo program name prefixed message in verbose mode only. func_verbose () { $opt_verbose && func_echo ${1+"$@"} # A bug in bash halts the script if the last line of a function # fails when set -e is in force, so we need another command to # work around that: : } # func_error arg... # Echo program name prefixed message to standard error. func_error () { $ECHO "$progname${mode+: }$mode: "${1+"$@"} 1>&2 } # func_warning arg... # Echo program name prefixed warning message to standard error. func_warning () { $opt_warning && $ECHO "$progname${mode+: }$mode: warning: "${1+"$@"} 1>&2 # bash bug again: : } # func_fatal_error arg... # Echo program name prefixed message to standard error, and exit. func_fatal_error () { func_error ${1+"$@"} exit $EXIT_FAILURE } # func_fatal_help arg... # Echo program name prefixed message to standard error, followed by # a help hint, and exit. func_fatal_help () { func_error ${1+"$@"} func_fatal_error "$help" } help="Try \`$progname --help' for more information." ## default # func_grep expression filename # Check whether EXPRESSION matches any line of FILENAME, without output. func_grep () { $GREP "$1" "$2" >/dev/null 2>&1 } # func_mkdir_p directory-path # Make sure the entire path to DIRECTORY-PATH is available. func_mkdir_p () { my_directory_path="$1" my_dir_list= if test -n "$my_directory_path" && test "$opt_dry_run" != ":"; then # Protect directory names starting with `-' case $my_directory_path in -*) my_directory_path="./$my_directory_path" ;; esac # While some portion of DIR does not yet exist... while test ! -d "$my_directory_path"; do # ...make a list in topmost first order. Use a colon delimited # list incase some portion of path contains whitespace. my_dir_list="$my_directory_path:$my_dir_list" # If the last portion added has no slash in it, the list is done case $my_directory_path in */*) ;; *) break ;; esac # ...otherwise throw away the child directory and loop my_directory_path=`$ECHO "X$my_directory_path" | $Xsed -e "$dirname"` done my_dir_list=`$ECHO "X$my_dir_list" | $Xsed -e 's,:*$,,'` save_mkdir_p_IFS="$IFS"; IFS=':' for my_dir in $my_dir_list; do IFS="$save_mkdir_p_IFS" # mkdir can fail with a `File exist' error if two processes # try to create one of the directories concurrently. Don't # stop in that case! $MKDIR "$my_dir" 2>/dev/null || : done IFS="$save_mkdir_p_IFS" # Bail out if we (or some other process) failed to create a directory. test -d "$my_directory_path" || \ func_fatal_error "Failed to create \`$1'" fi } # func_mktempdir [string] # Make a temporary directory that won't clash with other running # libtool processes, and avoids race conditions if possible. If # given, STRING is the basename for that directory. func_mktempdir () { my_template="${TMPDIR-/tmp}/${1-$progname}" if test "$opt_dry_run" = ":"; then # Return a directory name, but don't create it in dry-run mode my_tmpdir="${my_template}-$$" else # If mktemp works, use that first and foremost my_tmpdir=`mktemp -d "${my_template}-XXXXXXXX" 2>/dev/null` if test ! -d "$my_tmpdir"; then # Failing that, at least try and use $RANDOM to avoid a race my_tmpdir="${my_template}-${RANDOM-0}$$" save_mktempdir_umask=`umask` umask 0077 $MKDIR "$my_tmpdir" umask $save_mktempdir_umask fi # If we're not in dry-run mode, bomb out on failure test -d "$my_tmpdir" || \ func_fatal_error "cannot create temporary directory \`$my_tmpdir'" fi $ECHO "X$my_tmpdir" | $Xsed } # func_quote_for_eval arg # Aesthetically quote ARG to be evaled later. # This function returns two values: FUNC_QUOTE_FOR_EVAL_RESULT # is double-quoted, suitable for a subsequent eval, whereas # FUNC_QUOTE_FOR_EVAL_UNQUOTED_RESULT has merely all characters # which are still active within double quotes backslashified. func_quote_for_eval () { case $1 in *[\\\`\"\$]*) func_quote_for_eval_unquoted_result=`$ECHO "X$1" | $Xsed -e "$sed_quote_subst"` ;; *) func_quote_for_eval_unquoted_result="$1" ;; esac case $func_quote_for_eval_unquoted_result in # Double-quote args containing shell metacharacters to delay # word splitting, command substitution and and variable # expansion for a subsequent eval. # Many Bourne shells cannot handle close brackets correctly # in scan sets, so we specify it separately. *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") func_quote_for_eval_result="\"$func_quote_for_eval_unquoted_result\"" ;; *) func_quote_for_eval_result="$func_quote_for_eval_unquoted_result" esac } # func_quote_for_expand arg # Aesthetically quote ARG to be evaled later; same as above, # but do not quote variable references. func_quote_for_expand () { case $1 in *[\\\`\"]*) my_arg=`$ECHO "X$1" | $Xsed \ -e "$double_quote_subst" -e "$sed_double_backslash"` ;; *) my_arg="$1" ;; esac case $my_arg in # Double-quote args containing shell metacharacters to delay # word splitting and command substitution for a subsequent eval. # Many Bourne shells cannot handle close brackets correctly # in scan sets, so we specify it separately. *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") my_arg="\"$my_arg\"" ;; esac func_quote_for_expand_result="$my_arg" } # func_show_eval cmd [fail_exp] # Unless opt_silent is true, then output CMD. Then, if opt_dryrun is # not true, evaluate CMD. If the evaluation of CMD fails, and FAIL_EXP # is given, then evaluate it. func_show_eval () { my_cmd="$1" my_fail_exp="${2-:}" ${opt_silent-false} || { func_quote_for_expand "$my_cmd" eval "func_echo $func_quote_for_expand_result" } if ${opt_dry_run-false}; then :; else eval "$my_cmd" my_status=$? if test "$my_status" -eq 0; then :; else eval "(exit $my_status); $my_fail_exp" fi fi } # func_show_eval_locale cmd [fail_exp] # Unless opt_silent is true, then output CMD. Then, if opt_dryrun is # not true, evaluate CMD. If the evaluation of CMD fails, and FAIL_EXP # is given, then evaluate it. Use the saved locale for evaluation. func_show_eval_locale () { my_cmd="$1" my_fail_exp="${2-:}" ${opt_silent-false} || { func_quote_for_expand "$my_cmd" eval "func_echo $func_quote_for_expand_result" } if ${opt_dry_run-false}; then :; else eval "$lt_user_locale $my_cmd" my_status=$? eval "$lt_safe_locale" if test "$my_status" -eq 0; then :; else eval "(exit $my_status); $my_fail_exp" fi fi } # func_version # Echo version message to standard output and exit. func_version () { $SED -n '/^# '$PROGRAM' (GNU /,/# warranty; / { s/^# // s/^# *$// s/\((C)\)[ 0-9,-]*\( [1-9][0-9]*\)/\1\2/ p }' < "$progpath" exit $? } # func_usage # Echo short help message to standard output and exit. func_usage () { $SED -n '/^# Usage:/,/# -h/ { s/^# // s/^# *$// s/\$progname/'$progname'/ p }' < "$progpath" $ECHO $ECHO "run \`$progname --help | more' for full usage" exit $? } # func_help # Echo long help message to standard output and exit. func_help () { $SED -n '/^# Usage:/,/# Report bugs to/ { s/^# // s/^# *$// s*\$progname*'$progname'* s*\$host*'"$host"'* s*\$SHELL*'"$SHELL"'* s*\$LTCC*'"$LTCC"'* s*\$LTCFLAGS*'"$LTCFLAGS"'* s*\$LD*'"$LD"'* s/\$with_gnu_ld/'"$with_gnu_ld"'/ s/\$automake_version/'"`(automake --version) 2>/dev/null |$SED 1q`"'/ s/\$autoconf_version/'"`(autoconf --version) 2>/dev/null |$SED 1q`"'/ p }' < "$progpath" exit $? } # func_missing_arg argname # Echo program name prefixed message to standard error and set global # exit_cmd. func_missing_arg () { func_error "missing argument for $1" exit_cmd=exit } exit_cmd=: # test EBCDIC or ASCII case `echo X|tr X '\101'` in A) # ASCII based system # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr SP2NL='tr \040 \012' NL2SP='tr \015\012 \040\040' ;; *) # EBCDIC based system SP2NL='tr \100 \n' NL2SP='tr \r\n \100\100' ;; esac # Command line options: opt_debug=: opt_force=false opt_install=false opt_link=: opt_ltdl=false seen_autoconf=false seen_libtool=false seen_ltdl=false # ltdl can be installed to be self-contained (subproject, the default); # or to be configured by a parent project, either with a recursive or # nonrecursive automake driven make: ltdl_mode= # Locations for important files: prefix=/usr datadir=/usr/share pkgdatadir=/usr/share/libtool pkgltdldir=/usr/share/libtool aclocaldir=/usr/share/aclocal auxdir= macrodir= ltdldir= configure_ac=configure.in # Lists of all files libtoolize has ever installed. These are removed # before installing the latest files when --force was passed to help # ensure a clean upgrade. # Do not remove config.guess nor config.sub, we don't install them # without --install, and the project may not be using Automake. all_pkgconfig_files="ltmain.sh" all_pkgmacro_files="argz.m4 libtool.m4 ltdl.m4 ltoptions.m4 ltsugar.m4 ltversion.in ltversion.m4 lt~obsolete.m4" all_pkgltdl_files="COPYING.LIB Makefile Makefile.in Makefile.inc Makefile.am README acinclude.m4 aclocal.m4 argz_.h argz.c config.h.in config-h.in configure configure.ac configure.in libltdl/lt__alloc.h libltdl/lt__dirent.h libltdl/lt__glibc.h libltdl/lt__private.h libltdl/lt__strl.h libltdl/lt_dlloader.h libltdl/lt_error.h libltdl/lt_system.h libltdl/slist.h loaders/dld_link.c loaders/dlopen.c loaders/dyld.c loaders/load_add_on.c loaders/loadlibrary.c loaders/preopen.c loaders/shl_load.c lt__alloc.c lt__dirent.c lt__strl.c lt_dlloader.c lt_error.c ltdl.c ltdl.h slist.c" # Parse environment options { my_sed_env_opt='1s/^\([^,:; ]*\).*$/\1/;q' my_sed_env_rest='1s/^[^,:; ]*[,:; ]*\(.*\)$/\1/;q' while test -n "$LIBTOOLIZE_OPTIONS"; do opt=`echo "$LIBTOOLIZE_OPTIONS" | sed "$my_sed_env_opt"` LIBTOOLIZE_OPTIONS=`echo "$LIBTOOLIZE_OPTIONS" | sed "$my_sed_env_rest"` case $opt in --debug) opt_debug=: ;; --no-warn) opt_warning=false ;; --quiet) opt_quiet=: ;; --verbose) opt_verbose=: ;; --*) func_warning "unrecognized environment option \`$opt'" ;; *) func_fatal_help "garbled LIBTOOLIZE_OPTIONS near \`$opt'" ;; esac done } # Parse options once, thoroughly. This comes as soon as possible in # the script to make things like `libtoolize --version' happen quickly. { # sed scripts: my_sed_single_opt='1s/^\(..\).*$/\1/;q' my_sed_single_rest='1s/^..\(.*\)$/\1/;q' my_sed_long_opt='1s/^\(--[^=]*\)=.*/\1/;q' my_sed_long_arg='1s/^--[^=]*=//' while test "$#" -gt 0; do opt="$1" shift case $opt in --copy|-c) opt_link=false ;; --debug) func_echo "enabling shell trace mode" opt_debug='set -x' $opt_debug ;; --dry-run|-n) if $opt_dry_run; then :; else opt_dry_run=: RM="$ECHO $RM" test -n "$LN_S" && LN_S="$ECHO $LN_S" CP="$ECHO $CP" MKDIR="$ECHO $MKDIR" TAR="$ECHO $TAR" fi ;; --force|-f) opt_force=: ;; --install|-i) opt_install=: ;; --ltdl) opt_ltdl=: if test "$#" -gt 0; then case $1 in -*) ;; *) ltdldir=`$ECHO "X$1" | $Xsed -e 's,/*$,,'` shift ;; esac fi ;; --no-warn) opt_warning=false ;; --nonrecursive|--non-recursive) ltdl_mode=nonrecursive ;; --quiet|--automake|-q) # --automake is for 1.5 compatibility opt_quiet=: ;; --recursive) ltdl_mode=recursive ;; --subproject) ltdl_mode=subproject ;; --verbose|-v) opt_verbose=: ;; # Separate optargs to long options: --*=*) arg=`$ECHO "X$opt" | $Xsed -e "$my_sed_long_arg"` opt=`$ECHO "X$opt" | $Xsed -e "$my_sed_long_opt"` set dummy "$opt" "$arg" ${1+"$@"} shift ;; # Separate optargs to short options: #-X*) # arg=`$ECHO "X$opt" | $Xsed -e "$my_sed_single_rest"` # opt=`$ECHO "X$opt" | $Xsed -e "$my_sed_single_opt"` # set dummy "$opt" "$arg" ${1+"$@"} # shift # ;; # Separate non-argument short options: -c*|-f*|-i*|-n*|-q*|-v*) rest=`$ECHO "X$opt" | $Xsed -e "$my_sed_single_rest"` opt=`$ECHO "X$opt" | $Xsed -e "$my_sed_single_opt"` set dummy "$opt" "-$rest" ${1+"$@"} shift ;; -\?|-h) func_usage ;; --help) func_help ;; --version) func_version ;; --) break ;; -*) func_fatal_help "unrecognized option \`$opt'" ;; *) func_fatal_help "too many arguments" ;; esac done } # func_echo_once msg_var # Calls func_echo with the value of MSG_VAR, and then sets MSG_VAR="" so # that subsequent calls have no effect. func_echo_once () { $opt_debug if test -n "$1"; then eval my_msg=\$$1 if test -n "$my_msg"; then func_echo "$my_msg" eval $1="" fi fi } # func_copy srcfile destfile [msg_var] # A wrapper for func_copy_cb that accepts arguments in the same order # as the cp(1) shell command. func_copy () { $opt_debug test -f "$1" || \ { func_error "\`$1' not copied: not a regular file"; return 1; } my_f1=`$ECHO "X$1" | $Xsed -e "$basename"` if test -d "$2"; then func_copy_cb "$my_f1" \ `$ECHO "X$1" | $Xsed -e "$dirname"` "$2" "$3" else # Supporting this would mean changing the timestamp: test "X$my_f1" = X`$ECHO "X$2" | $Xsed -e "$basename"` \ || func_fatal_error "func_copy() cannot change filename on copy" func_copy_cb "$my_f1" \ `$ECHO "X$1" | $Xsed -e "$dirname"` \ `$ECHO "X$2" | $Xsed -e "$dirname"` \ "$3" fi return $copy_return_status # set in func_copy_cb } # func_copy_cb filename srcdir destdir [msg_var] # If option `--copy' was specified, or soft-linking SRCFILE to DESTFILE fails, # then try to copy SRCFILE to DESTFILE (without changing the timestamp if # possible). func_copy_cb () { $opt_debug my_file="$1" my_srcdir="$2" my_destdir="$3" my_msg_var="$4" copy_return_status=1 # Libtool is probably misinstalled if this happens: test -f "$my_srcdir/$my_file" || func_fatal_error "\`$my_file' not found in \`$my_srcdir'" case $opt_verbose in false) my_copy_msg="file \`$my_destdir/$my_file'" ;; *) my_copy_msg="file from \`$my_srcdir/$my_file'" ;; esac func_mkdir_p `$ECHO "X$my_destdir/$my_file" | $Xsed -e "$dirname"` $RM "$my_destdir/$my_file" if $opt_link; then if test "$my_file" = "aclocal.m4"; then if { ( cd "$my_srcdir" && $TAR chf - "$my_file" ) 2>/dev/null \ | ( umask 0 && cd "$my_destdir" && $TAR xf - ) >/dev/null 2>&1 ; } then $opt_quiet || func_echo_once "$my_msg_var" $opt_quiet || func_echo "copying $my_copy_msg" copy_return_status=0 fi else if $LN_S "$my_srcdir/$my_file" "$my_destdir/$my_file"; then $opt_quiet || func_echo_once "$my_msg_var" $opt_quiet || func_echo "linking $my_copy_msg" copy_return_status=0 fi fi else if { ( cd "$my_srcdir" && $TAR chf - "$my_file" ) 2>/dev/null \ | ( umask 0 && cd "$my_destdir" && $TAR xf - ) >/dev/null 2>&1; } \ && touch "$my_destdir/$my_file"; then $opt_quiet || func_echo_once "$my_msg_var" $opt_quiet || func_echo "copying $my_copy_msg" copy_return_status=0 fi fi if test "$copy_return_status" != 0; then $opt_quiet || func_echo_once "$my_msg_var" func_error "can not copy \`$my_srcdir/$my_file' to \`$my_destdir/'" exit_status=$EXIT_FAILURE fi } # func_copy_some_files srcfile_spec srcdir destdir [msg_var] [cb=func_copy_cb] # Call COPY_CB for each regular file in SRCDIR named by the ':' delimited # names in SRCFILE_SPEC. The odd calling convention is needed to allow # spaces in file and directory names. func_copy_some_files () { $opt_debug my_srcfile_spec="$1" my_srcdir="$2" my_destdir="$3" my_msg_var="$4" my_copy_cb="${5-func_copy_cb}" my_save_IFS="$IFS" IFS=: for my_filename in $my_srcfile_spec; do IFS="$my_save_IFS" if test -f "$my_srcdir/$my_filename"; then if test "X$my_copy_cb" = Xfunc_copy_cb; then $opt_force || if test -f "$my_destdir/$my_filename"; then $opt_quiet || func_echo_once "$my_msg_var" $opt_quiet \ || func_error "\`$my_destdir/$my_filename' exists: use \`--force' to overwrite" continue fi fi else func_echo_once "$my_msg_var" func_fatal_error "\`$my_filename' not found in \`$my_srcdir'" fi $my_copy_cb "$my_filename" "$my_srcdir" "$my_destdir" "$my_msg_var" done IFS="$my_save_IFS" } # func_fixup_Makefile srcfile srcdir destdir func_fixup_Makefile () { $opt_debug my_filename="$1" my_srcdir="$2" my_destdir="$3" my_fixup_non_subpackage_script="\ s,(LIBOBJS),(ltdl_LIBOBJS),g s,(LTLIBOBJS),(ltdl_LTLIBOBJS),g s,libltdl/configure.ac,, s,libltdl/configure,, s,libltdl/aclocal.m4,, s,libltdl/config-h.in,, s,libltdl/Makefile.am,, s,libltdl/Makefile.in,, /^[ ]*\\\\\$/d" case $my_filename in Makefile.am) my_fixup_non_subpackage_script=`echo "$my_fixup_non_subpackage_script" | \ sed 's,libltdl/,,'` my_fixup_inc_paths_script= ;; Makefile.inc) repl=$ltdldir repl_uscore=`$ECHO "X$repl" | $Xsed -e 's,[/.+-],_,g'` my_fixup_inc_paths_script="\ s,libltdl_,@repl_uscore@_, s,libltdl/,@repl@/, s,: libltdl/,: @repl@/, s, -Ilibltdl , -I@repl@ , s,\\\$(libltdl_,\$(@repl_uscore@_, s,)/libltdl ,)/@repl@ , s,@repl_uscore@,${repl_uscore},g s,@repl@,${repl},g" ;; esac $RM "$my_destdir/$my_filename" 2>/dev/null $opt_quiet || func_echo "creating file \`$my_destdir/$my_filename'" if $opt_dry_run; then :; else $SED "$my_fixup_non_subpackage_script $my_fixup_inc_paths_script" \ < "$my_srcdir/$my_filename" > "$my_destdir/$my_filename" || func_fatal_error "cannot create $my_destdir/$my_filename" fi } # func_scan_files # Scan configure.(ac|in) and aclocal.m4 (if present) for use of libltdl # and libtool. Possibly running some of these tools if necessary. # Libtoolize affects the contents of aclocal.m4, and should be run before # aclocal, so we can't use configure --trace which relies on a consistent # configure.(ac|in) and aclocal.m4. func_scan_files () { $opt_debug # Prefer configure.ac to configure.in test -f configure.ac && configure_ac=configure.ac test -f "$configure_ac" || configure_ac= # Set local variables to reflect contents of configure.ac my_sed_scan_configure_ac='s,#.*$,,; s,^dnl .*$,,; s, dnl .*$,,; /AC_INIT/ { s,^.*$,seen_autoconf=:, p } d' test -z "$configure_ac" \ || eval `$SED "$my_sed_scan_configure_ac" "$configure_ac"` $seen_autoconf || { my_configure_ac= test -n "$configure_ac" && my_configure_ac="$configure_ac: " func_verbose "${my_configure_ac}not using Autoconf" # Make sure ltdldir and ltdl_mode have sensible defaults # since we return early here: test -n "$ltdldir" || ltdldir=libltdl test -n "$ltdl_mode" || ltdl_mode=subproject return } # ---------------------------------------------------- # # Probe macro usage in configure.ac and/or aclocal.m4. # # ---------------------------------------------------- # my_sed_traces='s,#.*$,,; s,^dnl .*$,,; s, dnl .*$,, s,^.*AC_REQUIRE(.*$,,; s,^.*m4_require(.*$,,; s,^.*m4_define(.*$,, s,^.*A[CU]_DEFUN(.*$,,; s,^.*m4_defun(.*$,, /AC_CONFIG_AUX_DIR(/ { s,^.*AC_CONFIG_AUX_DIR([[ ]*\([^])]*\).*$,ac_auxdir=\1, p } /AC_CONFIG_MACRO_DIR(/ { s,^.*AC_CONFIG_MACRO_DIR([[ ]*\([^])]*\).*$,ac_macrodir=\1, p } /_LT_CONFIG_LTDL_DIR(/d /LT_CONFIG_LTDL_DIR(/ { s,^.*LT_CONFIG_LTDL_DIR([[ ]*\([^])]*\).*$,ac_ltdldir=\1, p } /\[A[CM]_PROG_LIBTOOL/d /A[CM]_PROG_LIBTOOL/ { s,^.*$,seen_libtool=:, p } /the.*option into.*LT_INIT.*parameter/d /\[LT_INIT/d /LT_INIT/ { s,^.*$,seen_libtool=:, p } /\[LTDL_INIT/d /LTDL_INIT/ { s,^.*LTDL_INIT([[ ]*\([^])]*\).*$,ltdl_options="\1", s,^.*LTDL_INIT[ ]*$,seen_ltdl=:, p } /LT_WITH_LTDL/ { s,^.*$,seen_ltdl=:, p } /AC_LIB_LTDL/ { s,^.*$,seen_ltdl=:, p } /AC_WITH_LTDL/ { s,^.*$,seen_ltdl=:, p } d' eval `cat aclocal.m4 "$configure_ac" 2>/dev/null | $SED "$my_sed_traces"` # ----------------- # # Validate ltdldir. # # ----------------- # ac_ltdldir=`$ECHO "X$ac_ltdldir" | $Xsed -e 's,/*$,,'` # If $configure_ac contains AC_CONFIG_LTDL_DIR, check that its # arguments were not given in terms of a shell variable! case "$ac_ltdldir" in *\$*) func_fatal_error "can not handle variables in LT_CONFIG_LTDL_DIR" ;; esac # If neither --ltdl nor LT_CONFIG_LTDL_DIR are specified, default to # `libltdl'. If both are specified, they must be the same. Otherwise, # take the one that is given! (If LT_CONFIG_LTDL_DIR is not specified # we suggest adding it later in this code.) case x$ac_ltdldir,x$ltdldir in x,x) ltdldir=libltdl ;; x*,x) ltdldir=$ac_ltdldir ;; x,x*) ltdldir=$ltdldir ;; *) test x"$ac_ltdldir" = x"$ltdldir" || \ func_fatal_error "--ltdl='$ltdldir' does not match LT_CONFIG_LTDL_DIR($ac_ltdldir)" ;; esac # ------------------- # # Validate ltdl_mode. # # ------------------- # test -n "$ltdl_options" && seen_ltdl=: # If $configure_ac contains LTDL_INIT, check that its # arguments were not given in terms of a shell variable! case "$ltdl_options" in *\$*) func_fatal_error "can not handle variables in LTDL_INIT" ;; esac # Extract mode name from ltdl_options # FIXME: Diagnose multiple conflicting modes in ltdl_options ac_ltdl_mode= case " $ltdl_options " in *" nonrecursive "*) ac_ltdl_mode=nonrecursive ;; *" recursive "*) ac_ltdl_mode=recursive ;; *" subproject "*) ac_ltdl_mode=subproject ;; esac # If neither --ltdl nor an LTDL_INIT mode are specified, default to # `subproject'. If both are specified, they must be the same. Otherwise, # take the one that is given! case x$ac_ltdl_mode,x$ltdl_mode in x,x) ltdl_mode=subproject ;; x*,x) ltdl_mode=$ac_ltdl_mode ;; x,x*) ltdl_mode=$ltdl_mode ;; *) test x"$ac_ltdl_mode" = x"$ltdl_mode" || \ func_fatal_error "--$ltdl_mode does not match LTDL_INIT($ac_ltdl_mode)" ;; esac # ---------------- # # Validate auxdir. # # ---------------- # if test -n "$ac_auxdir"; then # If $configure_ac contains AC_CONFIG_AUX_DIR, check that it was # not given in terms of a shell variable! case "$ac_auxdir" in *\$*) func_fatal_error "can not handle variables in AC_CONFIG_AUX_DIR" ;; *) auxdir=$ac_auxdir ;; esac else # Try to discover auxdir the same way it is discovered by configure. # Note that we default to the current directory. for dir in . .. ../..; do if test -f "$dir/install-sh"; then auxdir=$dir break elif test -f "$dir/install.sh"; then auxdir="$dir" break fi done fi # Just use the current directory if all else fails. test -n "$auxdir" || auxdir=. # ------------------------------ # # Find local m4 macro directory. # # ------------------------------ # # Hunt for ACLOCAL_AMFLAGS in `Makefile.am' for a `-I' argument. my_sed_aclocal_flags=' /^[ ]*ACLOCAL_[A-Z_]*FLAGS[ ]*=/ { s,^[^=]*=[ ]*\(.*\), \1, q } d' if test -f Makefile.am; then my_macrodir_is_next=false for arg in `$SED "$my_sed_aclocal_flags" Makefile.am`; do if $my_macrodir_is_next; then am_macrodir="$arg" break else if test "X$arg" = "X-I"; then my_macrodir_is_next=: else my_macrodir_is_next=false fi fi done fi macrodir="$ac_macrodir" test -z "$macrodir" && macrodir="$am_macrodir" if test -n "$am_macrodir" && test -n "$ac_macrodir"; then test "$am_macrodir" = "$ac_macrodir" \ || func_fatal_error "AC_CONFIG_MACRO_DIR([$ac_macrodir]) conflicts with ACLOCAL_AMFLAGS=-I $am_macrodir." fi } # func_included_files searchfile # Output INCLUDEFILE if SEARCHFILE m4_includes it, else output SEARCHFILE. func_included_files () { $opt_debug my_searchfile="$1" my_include_regex= my_sed_include=' /^m4_include(\[.*\])$/ { s,^m4_include(\[\(.*\)\])$,\1, p } d' if test -f "$my_searchfile"; then $ECHO "X$my_searchfile" | $Xsed # Only recurse when we don't care if all the variables we use get # trashed, since they are in global scope. for my_filename in `$SED "$my_sed_include" "$my_searchfile"`; do func_included_files $my_filename done fi } # func_serial filename [macro_regex] # Output the value of the serial number comment in FILENAME, where the # comment line must also match MACRO_REGEX, if given. func_serial () { $opt_debug my_filename="$1" my_macro_regex="$2" my_sed_serial=' /^# serial [1-9][0-9.]*[ ]*'"$my_macro_regex"'[ ]*$/ { s,^# serial \([1-9][0-9.]*\).*$,\1, q } d' # Search FILENAME and all the files it m4_includes for a serial number # in the file that AC_DEFUNs MACRO_REGEX. my_serial= for my_file in `func_included_files "$my_filename"`; do if test -z "$my_macro_regex" || test "$my_filename" = aclocal.m4 || test "$my_macro_regex" = `echo "$my_filename" | $SED "$basename"` || func_grep '^AC_DEFUN(\['"$my_macro_regex" "$my_file" then my_serial=`$SED -e "$my_sed_serial" "$my_file"` break fi done # If the file has no serial number, we assume it's ancient. test -n "$my_serial" || my_serial=0 $ECHO $my_serial } # func_serial_max serial1 serial2 # Compare (possibly multi-part, '.' delimited) serial numbers, and # return the largest in $func_serial_max_result. If they are the # same, func_serial_max_result will be empty. func_serial_max () { $opt_debug my_serial1="$1" my_serial2="$2" my_sed_dot='s/\..*$//g' my_sed_rest='s/^[0-9][1-9]*\.*//' my_sed_digits='s/[^0-9.]//g' # Incase they turn out to be the same, we'll set it to empty func_serial_max_result= test "X$1$2" = X`$ECHO "X$1$2" | $Xsed -e "$my_sed_digits"` || { func_error "serial numbers \`$1' or \`$2' contain non-digit chars" return } while test -n "$my_serial1$my_serial2"; do my_serial1_part=`$ECHO "X$my_serial1" | $Xsed -e "$my_sed_dot"` my_serial2_part=`$ECHO "X$my_serial2" | $Xsed -e "$my_sed_dot"` test -z "$my_serial1_part$my_serial2_part" \ && break test -z "$my_serial1_part" \ && { func_serial_max_result="$2"; break; } test -z "$my_serial2_part" \ && { func_serial_max_result="$1"; break; } test "$my_serial1_part" -gt "$my_serial2_part" \ && { func_serial_max_result="$1"; break; } test "$my_serial2_part" -gt "$my_serial1_part" \ && { func_serial_max_result="$2"; break; } my_serial1=`$ECHO "X$my_serial1" | $Xsed -e "$my_sed_rest"` my_serial2=`$ECHO "X$my_serial2" | $Xsed -e "$my_sed_rest"` done } # func_serial_update_check srcfile src_serial destfile dest_serial # Unless SRC_SERIAL is newer than DEST_SERIAL set $func_serial_update_check # to 'false'. func_serial_update_check () { $opt_debug my_srcfile="$1" my_src_serial="$2" my_destfile="$3" my_dest_serial="$4" my_update_p=: if test -f "$my_destfile"; then test "X$my_src_serial" = "X0" && { func_warning "no serial number on \`$my_srcfile', not copying." return } # Determine whether the destination has an older serial. func_serial_max "$my_src_serial" "$my_dest_serial" test "X$my_src_serial" = "X$func_serial_max_result" || my_update_p=false test "X$my_src_serial" = "X$func_serial_max_result" \ && func_verbose "\`$my_srcfile' is serial $my_src_serial, greater than $my_dest_serial in \`$my_destfile'" if test "X$my_dest_serial" = "X$func_serial_max_result"; then func_verbose "\`$my_srcfile' is serial $my_src_serial, less than $my_dest_serial in \`$my_destfile'" $opt_force || if test -n "$ac_macrodir$ac_ltdldir"; then func_error "\`$my_destfile' is newer: use \`--force' to overwrite" fi fi fi func_serial_update_check_result="$my_update_p" } # func_aclocal_update_check filename # Unless serial number of FILENAME is newer than the matching serial number # in aclocal.m4, set $func_aclocal_update_check to 'false'. func_aclocal_update_check () { $opt_debug my_srcfile="$aclocaldir/$1" my_destfile="aclocal.m4" case $need in libtool.m4) my_src_serial=`func_serial "$my_srcfile" LT_INIT` my_dest_serial=`func_serial "$my_destfile" LT_INIT` # Strictly, this libtoolize ought not to have to deal with ancient # serial formats, but we accept them here to be complete: test "X$my_src_serial" = "X0" && my_src_serial=`func_serial "$my_srcfile" 'A[CM]_PROG_LIBTOOL'` test "X$my_dest_serial" = "X0" && my_dest_serial=`func_serial "$my_destfile" 'A[CM]_PROG_LIBTOOL'` ;; ltdl.m4) my_src_serial=`func_serial "$my_srcfile" LTDL_INIT` my_dest_serial=`func_serial "$my_destfile" LTDL_INIT` ;; *) my_src_serial=`func_serial "$my_srcfile" "$need"` my_dest_serial=`func_serial "$my_destfile" "$need"` ;; esac func_serial_update_check \ "$my_srcfile" "$my_src_serial" "$my_destfile" "$my_dest_serial" func_aclocal_update_check_result="$func_serial_update_check_result" } # func_serial_update filename srcdir destdir [msg_var] [macro_re] [old_macro_re] # Copy the FILENAME from a SRCDIR to DESTDIR provided that either FILENAME # has a newer serial number, or DESTFILE does not yet exist, or the user # specified `--force' at the command line. If given, MACRO_REGEX or # OLD_MACRO_REGEX must match any text after "# serial N" in both files. func_serial_update () { $opt_debug my_filename="$1" my_srcdir="$2" my_destdir="$3" my_msg_var="$4" my_macro_regex="$5" my_old_macro_regex="$6" my_serial_update_p=: my_return_status=1 my_srcfile="$my_srcdir/$my_filename" my_destfile="$my_destdir/$my_filename" test -f "$my_srcfile" || func_fatal_error "\`$my_srcfile' does not exist." if test -f "$my_destfile"; then my_src_serial=`func_serial "$my_srcfile" "$my_macro_regex"` my_dest_serial=`func_serial "$my_destfile" "$my_macro_regex"` # Strictly, this libtoolize ought not to have to deal with ancient # serial formats, but we accept them here to be complete: test "X$my_src_serial" = "X0" && my_src_serial=`func_serial "$my_srcfile" "$my_old_macro_regex"` test "X$my_dest_serial" = "X0" && my_dest_serial=`func_serial "$my_destfile" "$my_old_macro_regex"` func_serial_update_check \ "$my_srcfile" "$my_src_serial" "$my_destfile" "$my_dest_serial" my_serial_update_p="$func_serial_update_check_result" fi if $my_serial_update_p || $opt_force; then func_copy "$my_srcfile" "$my_destfile" "$my_msg_var" my_return_status=$? elif $opt_force && test "X$my_dest_serial" = "X$my_src_serial"; then $opt_quiet || func_echo_once "$my_msg_var" $opt_quiet \ || func_echo "\`$my_destfile' is already up to date." fi # Do this after the copy for hand maintained `aclocal.m4', incase # it has `m4_include([DESTFILE])', so the copy effectively already # updated `aclocal.m4'. my_included_files=`func_included_files aclocal.m4` case `echo " $my_included_files " | $NL2SP` in # Skip included files: *" $my_destfile "*) ;; # Otherwise compare to aclocal.m4 serial number (func_serial # returns 0 for older macro serial numbers before we provided # serial tags, so the update message will be correctly given # if aclocal.m4 contains an untagged --i.e older-- macro file): *) if test -f aclocal.m4; then func_serial_max \ "$my_src_serial" `func_serial aclocal.m4 "$my_macro_regex"` if test "X$my_src_serial" = "X$func_serial_max_result"; then func_echo_once "$my_msg_var" func_echo "You should add the contents of \`$my_destfile' to \`aclocal.m4'." fi fi ;; esac return $my_return_status } # func_keyword_update filename srcdir destdir sed_script [msg_var] # Copy the FILENAME from a SRCDIR to DESTDIR provided that either FILENAME # has a newer revision according to the serial number extracted by # SED_SCRIPT, or DESTFILE does not yet exist, or the user specified # `--force' at the command line. func_keyword_update () { $opt_debug my_filename="$1" my_srcdir="$2" my_destdir="$3" my_sed_script="$4" my_msg_var="$5" my_srcfile="$my_srcdir/$my_filename" my_destfile="$my_destdir/$my_filename" my_keyword_update_p=: test -f "$my_srcfile" || func_fatal_error "\`$my_srcfile' does not exist." if test -f "$my_destfile"; then my_src_serial=`$SED -e "$my_sed_script" "$my_srcfile"` test -z "$my_src_serial" && { func_warning "no serial number in \`$my_srcfile', not copying." return } my_dest_serial=`$SED -e "$my_sed_script" "$my_destfile"` test -n "$my_dest_serial" || my_dest_serial=0 func_serial_update_check \ "$my_srcfile" "$my_src_serial" "$my_destfile" "$my_dest_serial" my_keyword_update_p="$func_serial_update_check_result" fi if $my_keyword_update_p || $opt_force; then func_copy "$my_srcfile" "$my_destfile" "$my_msg_var" elif $opt_verbose || $opt_force && test "X$my_dest_serial" = "X$my_src_serial"; then func_echo_once "$my_msg_var" func_echo "\`$my_destfile' is already up to date." fi } # func_ltmain_update filename srcdir destdir [msg_var] # Copy the FILENAME from a SRCDIR to DESTDIR provided that either FILENAME # has a newer revision, or DESTFILE does not yet exist, or the user # specified `--force' at the command line. func_ltmain_update () { $opt_debug my_sed_ltmain=' /^package_revision='\''*[0-9][1-9.]*'\''*/ { s,^package_revision='\''*\([0-9.]*\)'\''*[ ]*$,\1, p } d' func_keyword_update "$1" "$2" "$3" "$my_sed_ltmain" "$4" return $my_return_status } # func_config_update filename srcdir destdir [msg_var] # Copy the FILENAME from a SRCDIR to DESTDIR provided that either FILENAME # has a newer timestamp, or DESTFILE does not yet exist, or the user # specified `--force' at the command line. func_config_update () { $opt_debug my_sed_config=' /^timestamp='\''*[0-9][1-9-]*'\''*/ { s,^timestamp='\''*\([0-9-]*\)'\''*,\1, s/-/./g p } d' func_keyword_update "$1" "$2" "$3" "$my_sed_config" "$4" return $my_return_status } # func_install_update filename srcdir destdir [msg_var] # Copy the FILENAME from a SRCDIR to DESTDIR provided that either FILENAME # has a newer timestamp, or DESTFILE does not yet exist, or the user # specified `--force' at the command line. func_install_update () { $opt_debug my_sed_install=' /^scriptversion='\''*[0-9][1-9.-]*'\''*/ { s,[#;].*,, s,^scriptversion='\''*\([0-9.-]*\)'\''*,\1, s/-/./g p } d' func_keyword_update "$1" "$2" "$3" "$my_sed_install" "$4" return $my_return_status } # func_massage_aclocal_DATA [glob_exclude] # @aclocal_DATA\@ is substituted as per its value in Makefile.am; # this function massages it into a suitable format for func_copy_some_files. func_massage_aclocal_DATA () { $opt_debug pkgmacro_files= # GLOBAL VAR my_glob_exclude="$1" # Massage a value for pkgmacro_files from the value used in Makefile.am. for my_filename in m4/argz.m4 m4/libtool.m4 m4/ltdl.m4 m4/ltoptions.m4 m4/ltsugar.m4 m4/ltversion.m4 m4/lt~obsolete.m4; do my_filename=`$ECHO "X$my_filename" | $Xsed -e "$basename"` # ignore excluded filenames if test -n "$my_glob_exclude"; then my_cont=false eval 'case $my_filename in '$my_glob_exclude') my_cont=: ;; esac' $my_cont && continue fi pkgmacro_files="$pkgmacro_files:$my_filename" done # strip spurious leading `:' pkgmacro_files=`$ECHO "X$pkgmacro_files" | $Xsed -e 's,^:*,,'` } # func_install_pkgmacro_subproject # Unless --quiet was passed, display a message. Then copy pkgmacro_files # from libtool installation tree to subproject libltdl tree. func_install_pkgmacro_subproject () { $opt_debug # Remove any lingering files that my have been installed by some # previous libtoolize release: $opt_force && for file in $all_pkgmacro_files; do test -f "$subproject_macrodir/$file" && func_verbose "rm -f '$subproject_macrodir/$file'" rm -f "$subproject_macrodir/$file" done # Copy all the files from installed libltdl to this project, if the # user specified a macrodir. $opt_quiet || if test "x$macrodir" != "x$subproject_macrodir"; then pkgmacro_header="putting macros in \`$subproject_macrodir'." elif test -n "$subproject_macrodir"; then pkgmacro_header="putting macros in AC_CONFIG_MACRO_DIR, \`$subproject_macrodir'." fi func_copy_some_files "argz.m4:libtool.m4:ltdl.m4:$pkgmacro_files" \ "$aclocaldir" "$subproject_macrodir" pkgmacro_header } # func_install_pkgmacro_parent # Unless --quiet was passed, or AC_CONFIG_MACRO_DIR was not seen, display # a message. Then update appropriate macros if newer ones are available # from the libtool installation tree. func_install_pkgmacro_parent () { $opt_debug # Remove any lingering files that my have been installed by some # previous libtoolize release: $opt_force && for file in $all_pkgmacro_files; do test -f "$macrodir/$file" && func_verbose "rm -f '$macrodir/$file'" rm -f "$macrodir/$file" done # Copy all the files from installed libltdl to this project, if the # user specified a macrodir. $opt_quiet || if test -n "$ac_macrodir"; then my_pkgmacro_header="putting macros in AC_CONFIG_MACRO_DIR, \`$ac_macrodir'." elif test -n "$macrodir"; then my_pkgmacro_header="putting macros in \`$macrodir'." fi if $opt_ltdl; then func_serial_update argz.m4 "$aclocaldir" "$macrodir" \ my_pkgmacro_header argz.m4 else func_verbose "Not copying \`$macrodir/argz.m4', libltdl not used." fi func_serial_update libtool.m4 "$aclocaldir" "$macrodir" \ my_pkgmacro_header LT_INIT 'A[CM]_PROG_LIBTOOL' if $opt_ltdl; then func_serial_update ltdl.m4 "$aclocaldir" "$macrodir" \ my_pkgmacro_header 'LTDL_INIT' else func_verbose "Not copying \`$macrodir/ltdl.m4', libltdl not used." fi my_save_IFS="$IFS" IFS=: for file in $pkgmacro_files; do IFS="$my_save_IFS" func_serial_update "$file" "$aclocaldir" "$macrodir" \ my_pkgmacro_header "$file" done IFS="$my_save_IFS" } # func_install_pkgmacro_files # Install copies of the libtool and libltdl m4 macros into this package. func_install_pkgmacro_files () { $opt_debug # argz.m4, libtool.m4 and ltdl.m4 are handled specially: func_massage_aclocal_DATA 'argz.m4|libtool.m4|ltdl.m4' # 1. Parent has separate macrodir to subproject ltdl: if $opt_ltdl && test "x$ltdl_mode" = "xsubproject" && test -n "$macrodir" && test "x$macrodir" != "x$subproject_macrodir" then func_install_pkgmacro_parent func_install_pkgmacro_subproject # 2. Parent shares macrodir with subproject ltdl: elif $opt_ltdl && test "x$ltdl_mode" = "xsubproject" # && test "x$macrodir" = "x$subproject_macrodir" then func_install_pkgmacro_subproject # 3. Not a subproject, but macrodir was specified in parent: elif test -n "$macrodir"; then func_install_pkgmacro_parent # 4. AC_CONFIG_MACRO_DIR was not specified: else func_verbose "AC_CONFIG_MACRO_DIR not defined, not copying libtool macros." fi } # func_massage_pkgltdl_files [glob_exclude] # @pkgltdl_files\@ is substituted as per its value in Makefile.am; this # function massages it into a suitable format for func_copy_some_files. func_massage_pkgltdl_files () { $opt_debug pkgltdl_files= # GLOBAL VAR my_glob_exclude="$1" # Massage a value for pkgltdl_files from the value used in Makefile.am for my_filename in libltdl/COPYING.LIB libltdl/README libltdl/Makefile.inc libltdl/Makefile.am libltdl/configure.ac libltdl/aclocal.m4 libltdl/Makefile.in libltdl/config-h.in libltdl/configure libltdl/argz_.h libltdl/argz.c libltdl/loaders/dld_link.c libltdl/loaders/dlopen.c libltdl/loaders/dyld.c libltdl/loaders/load_add_on.c libltdl/loaders/loadlibrary.c libltdl/loaders/shl_load.c libltdl/lt__dirent.c libltdl/lt__strl.c libltdl/libltdl/lt__alloc.h libltdl/libltdl/lt__dirent.h libltdl/libltdl/lt__glibc.h libltdl/libltdl/lt__private.h libltdl/libltdl/lt__strl.h libltdl/libltdl/lt_dlloader.h libltdl/libltdl/lt_error.h libltdl/libltdl/lt_system.h libltdl/libltdl/slist.h libltdl/loaders/preopen.c libltdl/lt__alloc.c libltdl/lt_dlloader.c libltdl/lt_error.c libltdl/ltdl.c libltdl/ltdl.h libltdl/slist.c; do # Strip surplus leading 'libltdl/': my_filename=`expr "X$my_filename" : 'Xlibltdl/\(.*\)'` # ignore excluded filenames if test -n "$my_glob_exclude"; then my_cont=false eval 'case $my_filename in '$my_glob_exclude') my_cont=: ;; esac' $my_cont && continue fi # ignore duplicates case :$pkgltdl_files: in *:$my_filename:*) ;; *) pkgltdl_files="$pkgltdl_files:$my_filename" ;; esac done # strip spurious leading `:' pkgltdl_files=`$ECHO "X$pkgltdl_files" | $Xsed -e 's,^:*,,'` } # func_install_pkgltdl_files # Install copies of the libltdl files into this package. Any auxiliary # or m4 macro files needed in the libltdl tree will also be copied by # func_install_pkgconfig_files and func_install_pkgmacro_files resp. func_install_pkgltdl_files () { $opt_debug $opt_ltdl || return # Remove any lingering files that my have been installed by some # previous libtoolize release: $opt_force && for file in $all_pkgltdl_files; do test -f "$ltdldir/$file" && func_verbose "rm -f '$ltdldir/$file'" rm -f "$ltdldir/$file" done # Copy all the files from installed libltdl to this project, if the # user specified `--ltdl'. $opt_quiet || if test -n "$ac_ltdldir"; then pkgltdl_header="putting libltdl files in LT_CONFIG_LTDL_DIR, \`$ac_ltdldir'." elif test -n "$ltdldir"; then pkgltdl_header="putting libltdl files in \`$ltdldir'." fi # These files are handled specially, depending on ltdl_mode: if test "x$ltdl_mode" = "xsubproject"; then func_massage_pkgltdl_files 'Makefile.inc' else func_massage_pkgltdl_files 'Makefile.am|Makefile.in*|aclocal.m4|config*' fi func_copy_some_files "$pkgltdl_files" \ "$pkgltdldir/libltdl" "$ltdldir" pkgltdl_header # For recursive ltdl modes, copy a suitable Makefile.{am,inc}: case $ltdl_mode in recursive) func_fixup_Makefile "Makefile.am" "$pkgltdldir/libltdl" "$ltdldir" ;; nonrecursive) func_fixup_Makefile "Makefile.inc" "$pkgltdldir/libltdl" "$ltdldir" ;; esac } # func_massage_pkgconfig_files [glob_exclude] # @pkgconfig_files\@ is substituted as per its value in Makefile.am; this # function massages it into a suitable format for func_copy_some_files. func_massage_pkgconfig_files () { $opt_debug pkgconfig_files= # GLOBAL VAR my_glob_exclude="$1" # Massage a value for pkgconfig_files from the value used in Makefile.am for my_filename in config/compile config/config.guess config/config.sub config/depcomp config/install-sh config/missing config/ltmain.sh; do # ignore excluded filenames if test -n "$my_glob_exclude"; then my_cont=false eval 'case $my_filename in '$my_glob_exclude') my_cont=: ;; esac' $my_cont && continue fi # ignore duplicates case :$pkgconfig_files: in *:$my_filename:*) ;; *) pkgconfig_files="$pkgconfig_files:$my_filename" ;; esac done # strip spurious leading `:' pkgconfig_files=`$ECHO "X$pkgconfig_files" | $Xsed -e 's,^:*,,'` } # func_install_pkgconfig_subproject # Unless --quiet was passed, display a message. Then copy pkgconfig_files # from libtool installation tree to subproject libltdl tree. func_install_pkgconfig_subproject () { $opt_debug # Remove any lingering files that my have been installed by some # previous libtoolize release: $opt_force && for file in $all_pkgconfig_files; do test -f "$subproject_auxdir/$file" && func_verbose "rm -f '$subproject_auxdir/$file'" rm -f "$subproject_auxdir/$file" done # Copy all the files from installed libltdl to this project, if the # user specified an auxdir. $opt_quiet || if test "x$ac_auxdir" = "x$subproject_auxdir"; then pkgconfig_header="putting auxiliary files in AC_CONFIG_AUX_DIR, \`$subproject_auxdir'." elif test -n "$auxdir"; then pkgconfig_header="putting auxiliary files in \`$auxdir'." fi func_copy_some_files "$pkgconfig_files" \ "$pkgdatadir" "$ltdldir" pkgconfig_header } # func_install_pkgconfig_parent # Unless --quiet was passed, or AC_CONFIG_AUX_DIR was not seen, display a # message. Then update appropriate auxiliary files if newer ones are # available from the libtool installation tree. func_install_pkgconfig_parent () { $opt_debug # Remove any lingering files that my have been installed by some # previous libtoolize release: $opt_force && for file in $all_pkgconfig_files; do test -f "$auxdir/$file" && func_verbose "rm -f '$auxdir/$file'" rm -f "$auxdir/$file" done if test -n "$ac_auxdir"; then pkgconfig_header="putting auxiliary files in AC_CONFIG_AUX_DIR, \`$ac_auxdir'." elif test -n "$auxdir" || test "x$ltdldir" = "x."; then pkgconfig_header="putting auxiliary files in \`$auxdir'." fi if $opt_install; then func_config_update config.guess \ "$pkgdatadir/config" "$auxdir" pkgconfig_header func_config_update config.sub \ "$pkgdatadir/config" "$auxdir" pkgconfig_header func_install_update install-sh \ "$pkgdatadir/config" "$auxdir" pkgconfig_header fi func_ltmain_update ltmain.sh \ "$pkgdatadir/config" "$auxdir" pkgconfig_header } # func_install_pkgconfig_files # Install copies of the auxiliary files into this package according to # the whether libltdl is included as a subproject, and whether the parent # shares the AC_CONFIG_AUX_DIR setting. func_install_pkgconfig_files () { $opt_debug func_massage_pkgconfig_files # 1. Parent shares auxdir with subproject ltdl: if $opt_ltdl && test "x$ltdl_mode" = "xsubproject" && test "x$ac_auxdir" = "x$subproject_auxdir" then func_install_pkgconfig_subproject # 2. Parent has separate auxdir to subproject ltdl: elif $opt_ltdl && test "x$ltdl_mode" = "xsubproject" # && test "x$auxdir" != "x$subproject_auxdir" is implied then if $seen_autoconf; then func_install_pkgconfig_parent fi func_install_pkgconfig_subproject # 3. Not subproject, but AC_CONFIG_AUX_DIR was used in parent: elif test -n "$ac_auxdir" || test "x$auxdir" = "x."; then func_install_pkgconfig_parent # 4. AC_CONFIG_AUX_DIR was not specified: else func_verbose "AC_CONFIG_AUX_DIR not defined, not copying libtool auxiliary files." fi } # func_nonemptydir_p dirvar # DIRVAR is the name of a variable to evaluate. Unless DIRVAR names # a directory that exists and is non-empty abort with a diagnostic. func_nonemptydir_p () { $opt_debug my_dirvar="$1" my_dir=`eval echo "\\\$$my_dirvar"` # Is it a directory at all? test -d "$my_dir" \ || func_fatal_error "\$$my_dirvar not a directory: \`$my_dir'" # check that the directories contents can be ls'ed test -n "`{ cd $my_dir && ls; } 2>/dev/null`" \ || func_fatal_error "can not list files: \`$my_dir'" } # func_check_macros # Sanity check macros from aclocal.m4 against installed versions. func_check_macros () { $opt_debug $opt_quiet && return $seen_autoconf || return ac_config_macro_dir_advised=false if test -n "$ac_macrodir$ltdldir" && test -z "$macrodir"; then my_ac_config_macro_srcdir="$aclocaldir" if $opt_ltdl && test "$macrodir" != "$subproject_macrodir"; then my_ac_config_macro_srcdir="$subproject_macrodir" fi my_needed="libtool.m4 ltoptions.m4 ltversion.m4 ltsugar.m4 lt~obsolete.m4" $opt_ltdl && my_needed="$my_needed argz.m4 ltdl.m4" if test -f "aclocal.m4"; then for need in $my_needed; do func_aclocal_update_check $need $func_aclocal_update_check_result && my_missing="$my_missing $need" done else my_missing="$my_needed" fi if test -n "$my_missing"; then func_echo "You should add the contents of the following files to \`aclocal.m4':" for need in $my_missing; do func_echo " \`$my_ac_config_macro_srcdir/$need'" done if test "$my_ac_config_macro_srcdir" != "$aclocaldir"; then func_echo "or else add \`AC_CONFIG_MACRO_DIR([$subproject_macrodir])' to $configure_ac." ac_config_macro_dir_advised=: fi fi fi ## ---------------------------------------------------------- ## ## Since we return early here when --no-warn was given: ## ## DO NOT PUT ANYTHING BUT UPGRADE ADVICE MESSAGES BELOW HERE ## ## ---------------------------------------------------------- ## $opt_warning || return $seen_libtool || func_echo "Remember to add \`LT_INIT' to $configure_ac." # Suggest using LTDL_INIT if appropriate: $opt_ltdl && if test x$seen_ltdl != x:; then case $ltdl_mode in subproject) ltdl_init_args="" ;; *) ltdl_init_args="([$ltdl_mode])" ;; esac func_echo "Remember to add \`LTDL_INIT$ltdl_init_args' to $configure_ac." fi if $opt_ltdl; then # Remind the user to call LT_CONFIG_LTDL_DIR: test -n "$ac_ltdldir" || func_echo "Remember to add \`LT_CONFIG_LTDL_DIR([$ltdldir])' to \`$configure_ac'." # For subproject mode, offer some suggestions for avoiding duplicate # files in a project that uses libltdl: if test "x$ltdl_mode" = "xsubproject"; then test "$subproject_auxdir" = "$auxdir" || func_echo "Consider using \`AC_CONFIG_AUX_DIR([$subproject_auxdir])' in $configure_ac." $ac_config_macro_dir_advised || test "$subproject_macrodir" = "$macrodir" || func_echo "Consider using \`AC_CONFIG_MACRO_DIR([$subproject_macrodir])' in $configure_ac." ac_config_macro_dir_advised=: fi fi # Suggest modern idioms for storing autoconf macros: $ac_config_macro_dir_advised || if test -z "$ac_macrodir" || test x"$macrodir" = x.; then func_echo "Consider adding \`AC_CONFIG_MACRO_DIR([m4])' to $configure_ac and" func_echo "rerunning $progname, to keep the correct libtool macros in-tree." ac_config_macro_dir_advised=: elif test -z "$ac_macrodir$ltdldir"; then func_echo "Consider adding \`AC_CONFIG_MACRO_DIR([$macrodir])' to $configure_ac," func_echo "and rerunning $progname and aclocal." ac_config_macro_dir_advised=: fi if test -z "$am_macrodir$macrodir"; then func_echo "Consider adding \`-I m4' to ACLOCAL_AMFLAGS in Makefile.am." elif test -z "$am_macrodir"; then if $opt_ltdl && test "x$ltdl_mode" = "xsubproject" && test "$subproject_macrodir" != "$macrodir"; then func_echo "Consider adding \`-I $subproject_macrodir' to ACLOCAL_AMFLAGS in Makefile.am." else func_echo "Consider adding \`-I $macrodir' to ACLOCAL_AMFLAGS in Makefile.am." fi fi # Don't trace for this, we're just checking the user didn't invoke it # directly from configure.ac. $SED 's,dnl .*$,,; s,# .*$,,' "$configure_ac" | grep AC_PROG_RANLIB >/dev/null && func_echo "\`AC_PROG_RANLIB' is rendered obsolete by \`LT_INIT'" # FIXME: Ensure ltmain.sh, libtool.m4 and ltdl.m4 are from the same release } ## ----------- ## ## Main. ## ## ----------- ## { # Allow the user to override the master libtoolize repository: if test -n "$_lt_pkgdatadir"; then pkgltdldir="$_lt_pkgdatadir" pkgdatadir="$_lt_pkgdatadir/libltdl" aclocaldir="$_lt_pkgdatadir/libltdl/m4" fi func_nonemptydir_p pkgltdldir func_nonemptydir_p pkgdatadir func_nonemptydir_p aclocaldir func_scan_files case $ltdldir in .) ltdlprefix= ;; *) ltdlprefix=$ltdldir/ ;; esac subproject_auxdir=${ltdlprefix}config subproject_macrodir=${ltdlprefix}m4 # :::BE CAREFUL HERE::: # func_check_macros needs to check whether --ltdl was specified when # LTDL_INIT was not seen, so we can't just use one variable for both # conditions, or that check will be impossible. No need to clutter the # rest of the code with '$opt_ltdl || $seen_ltdl' though, because we CAN # safely set opt_ltdl to true if LTDL_INIT was seen: $seen_ltdl && opt_ltdl=: func_install_pkgconfig_files func_install_pkgmacro_files func_install_pkgltdl_files func_check_macros } exit $exit_status # Local Variables: # mode:shell-script # sh-indentation:2 # End: