update to 0.9.1 release tarball
tarball from: <https://sourceforge.net/projects/curlftpfs/files/curlftpfs/0.9.2/curlftpfs-0.9.2.tar.gz>
This commit is contained in:
parent
29db09bd83
commit
f7215c076c
111
ChangeLog
111
ChangeLog
|
@ -0,0 +1,111 @@
|
|||
Apr 29, 2008
|
||||
release curlftpfs 0.9.2
|
||||
mail2nob
|
||||
|
||||
Apr 29, 2008
|
||||
new helper function cancel_previous_multi() which checks for errors.
|
||||
mail2nob
|
||||
|
||||
Apr 25, 2008
|
||||
bump configure.ac version 0.9.2; requires libcurl >=7.17.0
|
||||
mail2nob
|
||||
|
||||
Apr 23, 2008
|
||||
add Makefile.cvs
|
||||
mail2nob
|
||||
|
||||
Apr 23, 2008
|
||||
patch by Miklos Szeredi: fixes 'du' for files >= 4GB.
|
||||
mail2nob
|
||||
|
||||
Jan 31, 2008
|
||||
Fix missing -liconv.
|
||||
robsonbraga
|
||||
|
||||
Nov 29, 2007
|
||||
open(O_RDWR) --> fail with ENOTSUP
|
||||
mail2nob
|
||||
|
||||
Nov 25, 2007
|
||||
remove buffered writes completely and handle O_RDWR
|
||||
mail2nob
|
||||
|
||||
Nov 20, 2007
|
||||
Fix "hang" when curl_easy_perform(fh->write_conn) in the write thread fails; Detect write errors in the write thread; Synchronize writing with the new semaphore "data_written" to be able to report write errors earlier; Fix that ftpfs_truncate created empty files with no permissions set (caused problems with gedit and others)
|
||||
mail2nob
|
||||
|
||||
Nov 20, 2007
|
||||
Patch from Miklos Szeredi to support streaming writes (includes changes from Robson Braga Araujo)
|
||||
mail2nob
|
||||
|
||||
Jul 26, 2007
|
||||
Added option to use a custom command to list files.
|
||||
robsonbraga
|
||||
|
||||
Jun 28, 2007
|
||||
Add ftp_method option to make it faster to browse directories.
|
||||
robsonbraga
|
||||
|
||||
Jun 28, 2007
|
||||
Fix broken header dependencies.
|
||||
robsonbraga
|
||||
|
||||
Jun 28, 2007
|
||||
Put the FTP server name in fsname by default. Upgraded FUSE_USE_VERSION to 26.
|
||||
robsonbraga
|
||||
|
||||
Jun 14, 2007
|
||||
Edited wiki page through web user interface.
|
||||
robsonbraga
|
||||
|
||||
May 25, 2007
|
||||
Disable EPSV by default because it can cause the program to hang.
|
||||
robsonbraga
|
||||
|
||||
Apr 05, 2007
|
||||
Edited wiki page through web user interface.
|
||||
robsonbraga
|
||||
|
||||
Apr 05, 2007
|
||||
Tagging the 0.9.1 release.
|
||||
robsonbraga
|
||||
|
||||
Apr 05, 2007
|
||||
Version 0.9.1.
|
||||
robsonbraga
|
||||
|
||||
Apr 05, 2007
|
||||
Revert changes from revisions 68 and 69 that enabled uploads even for servers that don't support overwrite. This creates a problem that we say the file is created but things like GETATTR don't see it in the server. We may want to make getattr look at local attributes in the future to make this work.
|
||||
robsonbraga
|
||||
|
||||
Feb 28, 2007
|
||||
Added option to be able to use SOCKS4/5 proxy. Only works with libcurl 7.16.2 or higher.
|
||||
robsonbraga
|
||||
|
||||
Feb 27, 2007
|
||||
Added debug levels.
|
||||
robsonbraga
|
||||
|
||||
Feb 14, 2007
|
||||
Generate a library so that tests don't have to compile files again.
|
||||
robsonbraga
|
||||
|
||||
Feb 14, 2007
|
||||
Remove warnings.
|
||||
robsonbraga
|
||||
|
||||
Feb 13, 2007
|
||||
Correct broken test.
|
||||
robsonbraga
|
||||
|
||||
Feb 13, 2007
|
||||
Corrected bug doing assignment instead of comparison.
|
||||
robsonbraga
|
||||
|
||||
Feb 13, 2007
|
||||
Added support for caching files not found, avoiding to do repeated access to the FTP server.
|
||||
robsonbraga
|
||||
|
||||
Feb 10, 2007
|
||||
Revert last change. FUSE_USE_VERSION is already defined in Makefile.am but old automake doesn't get it.
|
||||
robsonbraga
|
|
@ -3,7 +3,10 @@ SUBDIRS = compat doc
|
|||
|
||||
DIST_SUBDIRS = $(SUBDIRS) tests
|
||||
|
||||
AM_CPPFLAGS = -DFUSE_USE_VERSION=25
|
||||
LIBICONV = @LIBICONV@
|
||||
|
||||
AM_CPPFLAGS = -DFUSE_USE_VERSION=26
|
||||
AM_LDFLAGS = $(LIBICONV)
|
||||
|
||||
bin_PROGRAMS = curlftpfs
|
||||
|
||||
|
|
|
@ -41,8 +41,7 @@ bin_PROGRAMS = curlftpfs$(EXEEXT)
|
|||
DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \
|
||||
$(srcdir)/Makefile.in $(srcdir)/config.h.in \
|
||||
$(top_srcdir)/configure AUTHORS COPYING ChangeLog INSTALL NEWS \
|
||||
compile config.guess config.sub depcomp install-sh ltmain.sh \
|
||||
missing
|
||||
config.guess config.sub depcomp install-sh ltmain.sh missing
|
||||
subdir = .
|
||||
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
|
||||
am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
|
||||
|
@ -161,6 +160,7 @@ PACKAGE_VERSION = @PACKAGE_VERSION@
|
|||
PATH_SEPARATOR = @PATH_SEPARATOR@
|
||||
PKG_CONFIG = @PKG_CONFIG@
|
||||
RANLIB = @RANLIB@
|
||||
SED = @SED@
|
||||
SET_MAKE = @SET_MAKE@
|
||||
SHELL = @SHELL@
|
||||
STRIP = @STRIP@
|
||||
|
@ -215,7 +215,8 @@ sysconfdir = @sysconfdir@
|
|||
target_alias = @target_alias@
|
||||
SUBDIRS = compat doc
|
||||
DIST_SUBDIRS = $(SUBDIRS) tests
|
||||
AM_CPPFLAGS = -DFUSE_USE_VERSION=25
|
||||
AM_CPPFLAGS = -DFUSE_USE_VERSION=26
|
||||
AM_LDFLAGS = $(LIBICONV)
|
||||
curlftpfs_SOURCES = ftpfs.c
|
||||
@FUSE_OPT_COMPAT_FALSE@curlftpfs_LDADD = libcurlftpfs.a
|
||||
@FUSE_OPT_COMPAT_TRUE@curlftpfs_LDADD = libcurlftpfs.a compat/libcompat.la
|
||||
|
|
37
README
37
README
|
@ -13,8 +13,15 @@ As the FTP protocol is not very feature rich, this filesystem does not
|
|||
fulfill every constraint of a real filesystem, but it should be usable
|
||||
for simple tasks like copying and editing files.
|
||||
|
||||
Compilation and Instalation
|
||||
===========================
|
||||
Requirements
|
||||
============
|
||||
|
||||
glib-2.0
|
||||
libcurl >= 7.17.0
|
||||
|
||||
|
||||
Compilation and Installation
|
||||
============================
|
||||
|
||||
./configure
|
||||
make
|
||||
|
@ -27,3 +34,29 @@ curlftpfs <ftpsite> <mountpoint>
|
|||
|
||||
ex.:
|
||||
curlftpfs ftp://ftp.sunet.se/ sunet/
|
||||
|
||||
|
||||
Debugging
|
||||
=========
|
||||
|
||||
curlftpfs -f -v -o debug,ftpfs_debug=3 <ftpsite> <mountpoint>
|
||||
|
||||
(runs the curlftpfs in foreground and shows libcurl verbose debug output)
|
||||
|
||||
|
||||
Known Problems
|
||||
==============
|
||||
|
||||
1) Several GUI application (gedit, leafpad,...) use open(O_RDWR) + seek mode for saving files
|
||||
which cannot be supported by the FTP protocol. Therefore saving files might throw an error.
|
||||
Hopefully future kernels will provide special errno's to make it easier to
|
||||
deal with less capable file-systems.
|
||||
|
||||
2) There seems to be a bug in libcurl 7.18 which sometimes causes problems reading files.
|
||||
Should be fixed in libcurl >= 7.18.2
|
||||
|
||||
http://sourceforge.net/tracker/index.php?func=detail&aid=1951588&group_id=976&atid=100976
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
File diff suppressed because it is too large
Load Diff
5
cache.c
5
cache.c
|
@ -14,11 +14,6 @@
|
|||
#include <glib.h>
|
||||
#include <pthread.h>
|
||||
|
||||
#define DEFAULT_CACHE_TIMEOUT 300
|
||||
#define MAX_CACHE_SIZE 10000
|
||||
#define MIN_CACHE_CLEAN_INTERVAL 5
|
||||
#define CACHE_CLEAN_INTERVAL 60
|
||||
|
||||
struct cache {
|
||||
int on;
|
||||
unsigned stat_timeout;
|
||||
|
|
5
cache.h
5
cache.h
|
@ -16,6 +16,11 @@
|
|||
#define FUSE_VERSION (FUSE_MAJOR_VERSION * 10 + FUSE_MINOR_VERSION)
|
||||
#endif
|
||||
|
||||
#define DEFAULT_CACHE_TIMEOUT 10
|
||||
#define MAX_CACHE_SIZE 10000
|
||||
#define MIN_CACHE_CLEAN_INTERVAL 5
|
||||
#define CACHE_CLEAN_INTERVAL 60
|
||||
|
||||
typedef struct fuse_cache_dirhandle *fuse_cache_dirh_t;
|
||||
typedef int (*fuse_cache_dirfil_t) (fuse_cache_dirh_t h, const char *name,
|
||||
const struct stat *stbuf);
|
||||
|
|
|
@ -126,6 +126,7 @@ PACKAGE_VERSION = @PACKAGE_VERSION@
|
|||
PATH_SEPARATOR = @PATH_SEPARATOR@
|
||||
PKG_CONFIG = @PKG_CONFIG@
|
||||
RANLIB = @RANLIB@
|
||||
SED = @SED@
|
||||
SET_MAKE = @SET_MAKE@
|
||||
SHELL = @SHELL@
|
||||
STRIP = @STRIP@
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
# 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation,
|
||||
# Inc.
|
||||
|
||||
timestamp='2006-07-02'
|
||||
timestamp='2007-07-22'
|
||||
|
||||
# This file is free software; you can redistribute it and/or modify it
|
||||
# under the terms of the GNU General Public License as published by
|
||||
|
@ -139,23 +139,6 @@ UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
|
|||
UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown
|
||||
UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
|
||||
|
||||
if [ "${UNAME_SYSTEM}" = "Linux" ] ; then
|
||||
eval $set_cc_for_build
|
||||
cat << EOF > $dummy.c
|
||||
#include <features.h>
|
||||
#ifdef __UCLIBC__
|
||||
# ifdef __UCLIBC_CONFIG_VERSION__
|
||||
LIBC=uclibc __UCLIBC_CONFIG_VERSION__
|
||||
# else
|
||||
LIBC=uclibc
|
||||
# endif
|
||||
#else
|
||||
LIBC=gnu
|
||||
#endif
|
||||
EOF
|
||||
eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep LIBC= | sed -e 's: ::g'`
|
||||
fi
|
||||
|
||||
# Note: order is significant - the case branches are not exclusive.
|
||||
|
||||
case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
|
||||
|
@ -178,6 +161,7 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
|
|||
arm*) machine=arm-unknown ;;
|
||||
sh3el) machine=shl-unknown ;;
|
||||
sh3eb) machine=sh-unknown ;;
|
||||
sh5el) machine=sh5le-unknown ;;
|
||||
*) machine=${UNAME_MACHINE_ARCH}-unknown ;;
|
||||
esac
|
||||
# The Operating System including object format, if it has switched
|
||||
|
@ -346,7 +330,7 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
|
|||
sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
|
||||
echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
|
||||
exit ;;
|
||||
i86pc:SunOS:5.*:*)
|
||||
i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*)
|
||||
echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
|
||||
exit ;;
|
||||
sun4*:SunOS:6*:*)
|
||||
|
@ -797,7 +781,7 @@ EOF
|
|||
i*:CYGWIN*:*)
|
||||
echo ${UNAME_MACHINE}-pc-cygwin
|
||||
exit ;;
|
||||
i*:MINGW*:*)
|
||||
*:MINGW*:*)
|
||||
echo ${UNAME_MACHINE}-pc-mingw32
|
||||
exit ;;
|
||||
i*:windows32*:*)
|
||||
|
@ -807,12 +791,15 @@ EOF
|
|||
i*:PW*:*)
|
||||
echo ${UNAME_MACHINE}-pc-pw32
|
||||
exit ;;
|
||||
x86:Interix*:[3456]*)
|
||||
echo i586-pc-interix${UNAME_RELEASE}
|
||||
exit ;;
|
||||
EM64T:Interix*:[3456]*)
|
||||
echo x86_64-unknown-interix${UNAME_RELEASE}
|
||||
exit ;;
|
||||
*:Interix*:[3456]*)
|
||||
case ${UNAME_MACHINE} in
|
||||
x86)
|
||||
echo i586-pc-interix${UNAME_RELEASE}
|
||||
exit ;;
|
||||
EM64T | authenticamd)
|
||||
echo x86_64-unknown-interix${UNAME_RELEASE}
|
||||
exit ;;
|
||||
esac ;;
|
||||
[345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*)
|
||||
echo i${UNAME_MACHINE}-pc-mks
|
||||
exit ;;
|
||||
|
@ -846,28 +833,28 @@ EOF
|
|||
echo ${UNAME_MACHINE}-pc-minix
|
||||
exit ;;
|
||||
arm*:Linux:*:*)
|
||||
echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
|
||||
echo ${UNAME_MACHINE}-unknown-linux-gnu
|
||||
exit ;;
|
||||
avr32*:Linux:*:*)
|
||||
echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
|
||||
echo ${UNAME_MACHINE}-unknown-linux-gnu
|
||||
exit ;;
|
||||
cris:Linux:*:*)
|
||||
echo cris-axis-linux-${LIBC}
|
||||
echo cris-axis-linux-gnu
|
||||
exit ;;
|
||||
crisv32:Linux:*:*)
|
||||
echo crisv32-axis-linux-${LIBC}
|
||||
echo crisv32-axis-linux-gnu
|
||||
exit ;;
|
||||
frv:Linux:*:*)
|
||||
echo frv-unknown-linux-${LIBC}
|
||||
echo frv-unknown-linux-gnu
|
||||
exit ;;
|
||||
ia64:Linux:*:*)
|
||||
echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
|
||||
echo ${UNAME_MACHINE}-unknown-linux-gnu
|
||||
exit ;;
|
||||
m32r*:Linux:*:*)
|
||||
echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
|
||||
echo ${UNAME_MACHINE}-unknown-linux-gnu
|
||||
exit ;;
|
||||
m68*:Linux:*:*)
|
||||
echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
|
||||
echo ${UNAME_MACHINE}-unknown-linux-gnu
|
||||
exit ;;
|
||||
mips:Linux:*:*)
|
||||
eval $set_cc_for_build
|
||||
|
@ -890,7 +877,7 @@ EOF
|
|||
s: ::g
|
||||
p
|
||||
}'`"
|
||||
test x"${CPU}" != x && { echo "${CPU}-unknown-linux-${LIBC}"; exit; }
|
||||
test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; }
|
||||
;;
|
||||
mips64:Linux:*:*)
|
||||
eval $set_cc_for_build
|
||||
|
@ -913,16 +900,16 @@ EOF
|
|||
s: ::g
|
||||
p
|
||||
}'`"
|
||||
test x"${CPU}" != x && { echo "${CPU}-unknown-linux-${LIBC}"; exit; }
|
||||
test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; }
|
||||
;;
|
||||
or32:Linux:*:*)
|
||||
echo or32-unknown-linux-${LIBC}
|
||||
echo or32-unknown-linux-gnu
|
||||
exit ;;
|
||||
ppc:Linux:*:*)
|
||||
echo powerpc-unknown-linux-${LIBC}
|
||||
echo powerpc-unknown-linux-gnu
|
||||
exit ;;
|
||||
ppc64:Linux:*:*)
|
||||
echo powerpc64-unknown-linux-${LIBC}
|
||||
echo powerpc64-unknown-linux-gnu
|
||||
exit ;;
|
||||
alpha:Linux:*:*)
|
||||
case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
|
||||
|
@ -935,37 +922,40 @@ EOF
|
|||
EV68*) UNAME_MACHINE=alphaev68 ;;
|
||||
esac
|
||||
objdump --private-headers /bin/sh | grep ld.so.1 >/dev/null
|
||||
if test "$?" = 0 ; then LIBC="gnulibc1" ; fi
|
||||
echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
|
||||
if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi
|
||||
echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC}
|
||||
exit ;;
|
||||
parisc:Linux:*:* | hppa:Linux:*:*)
|
||||
# Look for CPU level
|
||||
case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
|
||||
PA7*) echo hppa1.1-unknown-linux-${LIBC} ;;
|
||||
PA8*) echo hppa2.0-unknown-linux-${LIBC} ;;
|
||||
*) echo hppa-unknown-linux-${LIBC} ;;
|
||||
PA7*) echo hppa1.1-unknown-linux-gnu ;;
|
||||
PA8*) echo hppa2.0-unknown-linux-gnu ;;
|
||||
*) echo hppa-unknown-linux-gnu ;;
|
||||
esac
|
||||
exit ;;
|
||||
parisc64:Linux:*:* | hppa64:Linux:*:*)
|
||||
echo hppa64-unknown-linux-${LIBC}
|
||||
echo hppa64-unknown-linux-gnu
|
||||
exit ;;
|
||||
s390:Linux:*:* | s390x:Linux:*:*)
|
||||
echo ${UNAME_MACHINE}-ibm-linux
|
||||
exit ;;
|
||||
sh64*:Linux:*:*)
|
||||
echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
|
||||
echo ${UNAME_MACHINE}-unknown-linux-gnu
|
||||
exit ;;
|
||||
sh*:Linux:*:*)
|
||||
echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
|
||||
echo ${UNAME_MACHINE}-unknown-linux-gnu
|
||||
exit ;;
|
||||
sparc:Linux:*:* | sparc64:Linux:*:*)
|
||||
echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
|
||||
echo ${UNAME_MACHINE}-unknown-linux-gnu
|
||||
exit ;;
|
||||
vax:Linux:*:*)
|
||||
echo ${UNAME_MACHINE}-dec-linux-${LIBC}
|
||||
echo ${UNAME_MACHINE}-dec-linux-gnu
|
||||
exit ;;
|
||||
x86_64:Linux:*:*)
|
||||
echo x86_64-unknown-linux-${LIBC}
|
||||
echo x86_64-unknown-linux-gnu
|
||||
exit ;;
|
||||
xtensa:Linux:*:*)
|
||||
echo xtensa-unknown-linux-gnu
|
||||
exit ;;
|
||||
i*86:Linux:*:*)
|
||||
# The BFD linker knows what the default object file format is, so
|
||||
|
@ -980,22 +970,20 @@ EOF
|
|||
p'`
|
||||
case "$ld_supported_targets" in
|
||||
elf32-i386)
|
||||
TENTATIVE="${UNAME_MACHINE}-pc-linux-${LIBC}"
|
||||
TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu"
|
||||
;;
|
||||
a.out-i386-linux)
|
||||
echo "${UNAME_MACHINE}-pc-linux-${LIBC}aout"
|
||||
echo "${UNAME_MACHINE}-pc-linux-gnuaout"
|
||||
exit ;;
|
||||
coff-i386)
|
||||
echo "${UNAME_MACHINE}-pc-linux-${LIBC}coff"
|
||||
echo "${UNAME_MACHINE}-pc-linux-gnucoff"
|
||||
exit ;;
|
||||
"")
|
||||
# Either a pre-BFD a.out linker (linux-gnuoldld) or
|
||||
# one that does not give us useful --help.
|
||||
echo "${UNAME_MACHINE}-pc-linux-${LIBC}oldld"
|
||||
echo "${UNAME_MACHINE}-pc-linux-gnuoldld"
|
||||
exit ;;
|
||||
esac
|
||||
# This should get integrated into the C code below, but now we hack
|
||||
if [ "$LIBC" != "gnu" ] ; then echo "$TENTATIVE" && exit 0 ; fi
|
||||
# Determine whether the default compiler is a.out or elf
|
||||
eval $set_cc_for_build
|
||||
sed 's/^ //' << EOF >$dummy.c
|
||||
|
@ -1227,6 +1215,15 @@ EOF
|
|||
SX-6:SUPER-UX:*:*)
|
||||
echo sx6-nec-superux${UNAME_RELEASE}
|
||||
exit ;;
|
||||
SX-7:SUPER-UX:*:*)
|
||||
echo sx7-nec-superux${UNAME_RELEASE}
|
||||
exit ;;
|
||||
SX-8:SUPER-UX:*:*)
|
||||
echo sx8-nec-superux${UNAME_RELEASE}
|
||||
exit ;;
|
||||
SX-8R:SUPER-UX:*:*)
|
||||
echo sx8r-nec-superux${UNAME_RELEASE}
|
||||
exit ;;
|
||||
Power*:Rhapsody:*:*)
|
||||
echo powerpc-apple-rhapsody${UNAME_RELEASE}
|
||||
exit ;;
|
||||
|
|
27
config.h.in
27
config.h.in
|
@ -213,21 +213,6 @@
|
|||
/* Version number of package */
|
||||
#undef VERSION
|
||||
|
||||
/* Define for Solaris 2.5.1 so the uint32_t typedef from <sys/synch.h>,
|
||||
<pthread.h>, or <semaphore.h> is not used. If the typedef was allowed, the
|
||||
#define below would cause a syntax error. */
|
||||
#undef _UINT32_T
|
||||
|
||||
/* Define for Solaris 2.5.1 so the uint64_t typedef from <sys/synch.h>,
|
||||
<pthread.h>, or <semaphore.h> is not used. If the typedef was allowed, the
|
||||
#define below would cause a syntax error. */
|
||||
#undef _UINT64_T
|
||||
|
||||
/* Define for Solaris 2.5.1 so the uint8_t typedef from <sys/synch.h>,
|
||||
<pthread.h>, or <semaphore.h> is not used. If the typedef was allowed, the
|
||||
#define below would cause a syntax error. */
|
||||
#undef _UINT8_T
|
||||
|
||||
/* Define to empty if `const' does not conform to ANSI C. */
|
||||
#undef const
|
||||
|
||||
|
@ -260,15 +245,3 @@
|
|||
|
||||
/* Define to `int' if <sys/types.h> doesn't define. */
|
||||
#undef uid_t
|
||||
|
||||
/* Define to the type of an unsigned integer type of width exactly 32 bits if
|
||||
such a type exists and the standard includes do not define it. */
|
||||
#undef uint32_t
|
||||
|
||||
/* Define to the type of an unsigned integer type of width exactly 64 bits if
|
||||
such a type exists and the standard includes do not define it. */
|
||||
#undef uint64_t
|
||||
|
||||
/* Define to the type of an unsigned integer type of width exactly 8 bits if
|
||||
such a type exists and the standard includes do not define it. */
|
||||
#undef uint8_t
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
# 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation,
|
||||
# Inc.
|
||||
|
||||
timestamp='2006-07-02'
|
||||
timestamp='2007-06-28'
|
||||
|
||||
# This file is (in principle) common to ALL GNU software.
|
||||
# The presence of a machine in this file suggests that SOME GNU software
|
||||
|
@ -244,13 +244,13 @@ case $basic_machine in
|
|||
| arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \
|
||||
| bfin \
|
||||
| c4x | clipper \
|
||||
| d10v | d30v | dlx | dsp16xx | dvp \
|
||||
| fr30 | frv \
|
||||
| d10v | d30v | dlx | dsp16xx \
|
||||
| fido | fr30 | frv \
|
||||
| h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
|
||||
| i370 | i860 | i960 | ia64 \
|
||||
| ip2k | iq2000 \
|
||||
| m32c | m32r | m32rle | m68000 | m68k | m88k \
|
||||
| maxq | mb | microblaze | mcore \
|
||||
| maxq | mb | microblaze | mcore | mep \
|
||||
| mips | mipsbe | mipseb | mipsel | mipsle \
|
||||
| mips16 \
|
||||
| mips64 | mips64el \
|
||||
|
@ -276,7 +276,8 @@ case $basic_machine in
|
|||
| pdp10 | pdp11 | pj | pjl \
|
||||
| powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \
|
||||
| pyramid \
|
||||
| sh | sh[1234] | sh[24]a | sh[24]a*eb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
|
||||
| score \
|
||||
| sh | sh[1234] | sh[24]a | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
|
||||
| sh64 | sh64le \
|
||||
| sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
|
||||
| sparcv8 | sparcv9 | sparcv9b | sparcv9v \
|
||||
|
@ -284,7 +285,7 @@ case $basic_machine in
|
|||
| tahoe | thumb | tic4x | tic80 | tron \
|
||||
| v850 | v850e \
|
||||
| we32k \
|
||||
| x86 | xscale | xscalee[bl] | xstormy16 | xtensa \
|
||||
| x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \
|
||||
| z8k)
|
||||
basic_machine=$basic_machine-unknown
|
||||
;;
|
||||
|
@ -323,7 +324,7 @@ case $basic_machine in
|
|||
| clipper-* | craynv-* | cydra-* \
|
||||
| d10v-* | d30v-* | dlx-* \
|
||||
| elxsi-* \
|
||||
| f30[01]-* | f700-* | fr30-* | frv-* | fx80-* \
|
||||
| f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
|
||||
| h8300-* | h8500-* \
|
||||
| hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
|
||||
| i*86-* | i860-* | i960-* | ia64-* \
|
||||
|
@ -357,7 +358,7 @@ case $basic_machine in
|
|||
| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \
|
||||
| pyramid-* \
|
||||
| romp-* | rs6000-* \
|
||||
| sh-* | sh[1234]-* | sh[24]a-* | sh[24]a*eb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
|
||||
| sh-* | sh[1234]-* | sh[24]a-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
|
||||
| shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
|
||||
| sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
|
||||
| sparclite-* \
|
||||
|
@ -367,7 +368,7 @@ case $basic_machine in
|
|||
| tron-* \
|
||||
| v850-* | v850e-* | vax-* \
|
||||
| we32k-* \
|
||||
| x86-* | x86_64-* | xps100-* | xscale-* | xscalee[bl]-* \
|
||||
| x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \
|
||||
| xstormy16-* | xtensa-* \
|
||||
| ymp-* \
|
||||
| z8k-*)
|
||||
|
@ -474,8 +475,8 @@ case $basic_machine in
|
|||
basic_machine=craynv-cray
|
||||
os=-unicosmp
|
||||
;;
|
||||
cr16c)
|
||||
basic_machine=cr16c-unknown
|
||||
cr16)
|
||||
basic_machine=cr16-unknown
|
||||
os=-elf
|
||||
;;
|
||||
crds | unos)
|
||||
|
@ -682,6 +683,10 @@ case $basic_machine in
|
|||
basic_machine=i386-pc
|
||||
os=-mingw32
|
||||
;;
|
||||
mingw32ce)
|
||||
basic_machine=arm-unknown
|
||||
os=-mingw32ce
|
||||
;;
|
||||
miniframe)
|
||||
basic_machine=m68000-convergent
|
||||
;;
|
||||
|
@ -689,24 +694,6 @@ case $basic_machine in
|
|||
basic_machine=m68k-atari
|
||||
os=-mint
|
||||
;;
|
||||
mipsEE* | ee | ps2)
|
||||
basic_machine=mips64r5900el-scei
|
||||
case $os in
|
||||
-linux*)
|
||||
;;
|
||||
*)
|
||||
os=-elf
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
iop)
|
||||
basic_machine=mipsel-scei
|
||||
os=-irx
|
||||
;;
|
||||
dvp)
|
||||
basic_machine=dvp-scei
|
||||
os=-elf
|
||||
;;
|
||||
mips3*-*)
|
||||
basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
|
||||
;;
|
||||
|
@ -927,6 +914,10 @@ case $basic_machine in
|
|||
sb1el)
|
||||
basic_machine=mipsisa64sb1el-unknown
|
||||
;;
|
||||
sde)
|
||||
basic_machine=mipsisa32-sde
|
||||
os=-elf
|
||||
;;
|
||||
sei)
|
||||
basic_machine=mips-sei
|
||||
os=-seiux
|
||||
|
@ -938,6 +929,9 @@ case $basic_machine in
|
|||
basic_machine=sh-hitachi
|
||||
os=-hms
|
||||
;;
|
||||
sh5el)
|
||||
basic_machine=sh5le-unknown
|
||||
;;
|
||||
sh64)
|
||||
basic_machine=sh64-unknown
|
||||
;;
|
||||
|
@ -1232,7 +1226,7 @@ case $os in
|
|||
| -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
|
||||
| -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
|
||||
| -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
|
||||
| -skyos* | -haiku* | -rdos* | -toppers* | -irx*)
|
||||
| -skyos* | -haiku* | -rdos* | -toppers* | -drops*)
|
||||
# Remember, each alternative MUST END IN *, to match a version number.
|
||||
;;
|
||||
-qnx*)
|
||||
|
@ -1384,6 +1378,9 @@ else
|
|||
# system, and we'll never get to this point.
|
||||
|
||||
case $basic_machine in
|
||||
score-*)
|
||||
os=-elf
|
||||
;;
|
||||
spu-*)
|
||||
os=-elf
|
||||
;;
|
||||
|
@ -1424,6 +1421,9 @@ case $basic_machine in
|
|||
m68*-cisco)
|
||||
os=-aout
|
||||
;;
|
||||
mep-*)
|
||||
os=-elf
|
||||
;;
|
||||
mips*-cisco)
|
||||
os=-elf
|
||||
;;
|
||||
|
|
12
configure.ac
12
configure.ac
|
@ -1,4 +1,4 @@
|
|||
AC_INIT(curlftpfs, 0.9.1)
|
||||
AC_INIT(curlftpfs, 0.9.2)
|
||||
AM_INIT_AUTOMAKE
|
||||
AM_CONFIG_HEADER(config.h)
|
||||
|
||||
|
@ -13,12 +13,12 @@ export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH
|
|||
PKG_CHECK_MODULES(GLIB, [glib-2.0])
|
||||
PKG_CHECK_MODULES(FUSE, [fuse >= 2.2])
|
||||
|
||||
LIBCURL_CHECK_CONFIG([yes], [7.15.2], [], [AC_MSG_ERROR(["libcurl not found"])])
|
||||
LIBCURL_CHECK_CONFIG([yes], [7.17.0], [], [AC_MSG_ERROR(["libcurl not found"])])
|
||||
if test "$libcurl_protocol_FTP" != yes; then
|
||||
AC_MSG_ERROR(["We need libcurl with support for FTP protocol."])
|
||||
fi
|
||||
|
||||
CFLAGS="$CFLAGS -Wall -W -D_REENTRANT $GLIB_CFLAGS $FUSE_CFLAGS $LIBCURL_CPPFLAGS"
|
||||
CFLAGS="$CFLAGS -Wall -W -Wno-sign-compare -D_REENTRANT $GLIB_CFLAGS $FUSE_CFLAGS $LIBCURL_CPPFLAGS"
|
||||
LIBS="$GLIB_LIBS $FUSE_LIBS $LIBCURL"
|
||||
|
||||
have_fuse_opt_parse=no
|
||||
|
@ -40,9 +40,9 @@ AC_STRUCT_ST_BLOCKS
|
|||
AC_CHECK_MEMBERS([struct stat.st_rdev])
|
||||
AC_HEADER_TIME
|
||||
AC_STRUCT_TM
|
||||
AC_TYPE_UINT32_T
|
||||
AC_TYPE_UINT64_T
|
||||
AC_TYPE_UINT8_T
|
||||
#AC_TYPE_UINT32_T
|
||||
#AC_TYPE_UINT64_T
|
||||
#AC_TYPE_UINT8_T
|
||||
|
||||
# Checks for library functions.
|
||||
AC_FUNC_CHOWN
|
||||
|
|
|
@ -112,6 +112,7 @@ PACKAGE_VERSION = @PACKAGE_VERSION@
|
|||
PATH_SEPARATOR = @PATH_SEPARATOR@
|
||||
PKG_CONFIG = @PKG_CONFIG@
|
||||
RANLIB = @RANLIB@
|
||||
SED = @SED@
|
||||
SET_MAKE = @SET_MAKE@
|
||||
SHELL = @SHELL@
|
||||
STRIP = @STRIP@
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
.TH curlftpfs 1 "12 Apr 2006" "CurlFtpFS 0.6.1" "CurlFtpFS Manual"
|
||||
.TH curlftpfs 1 "25 May 2007" "CurlFtpFS 0.9.2" "CurlFtpFS Manual"
|
||||
.SH NAME
|
||||
curlftpfs \- mount a ftp host as a local directory
|
||||
.SH SYNOPSIS
|
||||
|
@ -80,6 +80,10 @@ Maximum time in seconds that you allow the connection to the server to take.
|
|||
This only limits the connection phase, once curlftpfs has connected this option
|
||||
is of no more use.
|
||||
.TP
|
||||
.B custom_list=<command>
|
||||
Command used by curlftpfs to list files. The default is "LIST -a" but some
|
||||
servers might require extra options, e.g. "LIST -la".
|
||||
.TP
|
||||
.B disable_eprt
|
||||
Tell curlftpfs to disable the use of the EPRT and LPRT commands when doing
|
||||
active FTP transfers. Curlftpfs will normally always first attempt to use EPRT,
|
||||
|
@ -90,8 +94,11 @@ traditional PORT command.
|
|||
.TP
|
||||
.B disable_epsv
|
||||
Tell curlftpfs to disable the use of the EPSV command when doing passive FTP
|
||||
transfers. Curlftpfs will normally always first attempt to use EPSV before
|
||||
PASV, but with this option, it will not try using EPSV.
|
||||
transfers. This is the default.
|
||||
.TP
|
||||
.B enable_epsv
|
||||
Tell curlftpfs to enable the use of the EPSV command when doing passive FTP
|
||||
transfers. Curlftpfs will first attempt to use EPSV before PASV.
|
||||
.TP
|
||||
.B engine=<name>
|
||||
Select the OpenSSL crypto engine to use for cipher operations. Use:
|
||||
|
@ -107,6 +114,19 @@ the
|
|||
.B \-d
|
||||
option.
|
||||
.TP
|
||||
.B ftp_method=<method>
|
||||
Control what method curlftpfs should use to reach a file on the
|
||||
server. The method argument should be one of the following alternatives:
|
||||
.RS
|
||||
.IP multicwd
|
||||
curlftpfs does a single CWD operation for each path part in the given URL. For
|
||||
deep hierarchies this means very many commands. This is how RFC1738 says it
|
||||
should be done. This is the default but the slowest behavior.
|
||||
.IP singlecwd
|
||||
curlftpfs does one CWD with the full target directory and then operates on the
|
||||
file \&"normally" (like in the multicwd case).
|
||||
.RE
|
||||
.TP
|
||||
.B ftp_port=<address>
|
||||
Reverses the initiator/listener roles when connecting with ftp. This
|
||||
switch makes curlftpfs use the PORT command instead of PASV. In practice, PORT
|
||||
|
|
|
@ -101,7 +101,7 @@ static int parse_dir_unix(const char *line,
|
|||
if (ftpfs.blksize) {
|
||||
sbuf->st_blksize = ftpfs.blksize;
|
||||
sbuf->st_blocks =
|
||||
((size + ftpfs.blksize - 1) & ~(ftpfs.blksize - 1)) >> 9;
|
||||
((size + ftpfs.blksize - 1) & ~((unsigned long long) ftpfs.blksize - 1)) >> 9;
|
||||
}
|
||||
|
||||
sprintf(date,"%s,%s,%s", year, month, day);
|
||||
|
@ -168,7 +168,7 @@ static int parse_dir_win(const char *line,
|
|||
if (ftpfs.blksize) {
|
||||
sbuf->st_blksize = ftpfs.blksize;
|
||||
sbuf->st_blocks =
|
||||
((nsize + ftpfs.blksize - 1) & ~(ftpfs.blksize - 1)) >> 9;
|
||||
((nsize + ftpfs.blksize - 1) & ~((unsigned long long) ftpfs.blksize - 1)) >> 9;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
6
ftpfs.h
6
ftpfs.h
|
@ -12,7 +12,6 @@
|
|||
#include <curl/curl.h>
|
||||
#include <curl/easy.h>
|
||||
#include <pthread.h>
|
||||
#include <glib.h>
|
||||
#include <pthread.h>
|
||||
|
||||
struct ftpfs {
|
||||
|
@ -21,14 +20,16 @@ struct ftpfs {
|
|||
pthread_mutex_t lock;
|
||||
CURL* connection;
|
||||
CURLM* multi;
|
||||
int attached_to_multi;
|
||||
struct ftpfs_file* current_fh;
|
||||
unsigned blksize;
|
||||
GHashTable *filetab;
|
||||
int verbose;
|
||||
int debug;
|
||||
int transform_symlinks;
|
||||
int disable_epsv;
|
||||
int skip_pasv_ip;
|
||||
char* ftp_method;
|
||||
char* custom_list;
|
||||
int tcp_nodelay;
|
||||
char* ftp_port;
|
||||
int disable_eprt;
|
||||
|
@ -65,6 +66,7 @@ struct ftpfs {
|
|||
int tryutf8;
|
||||
char *codepage;
|
||||
char *iocharset;
|
||||
int multiconn;
|
||||
};
|
||||
|
||||
extern struct ftpfs ftpfs;
|
||||
|
|
399
ltmain.sh
399
ltmain.sh
|
@ -1,8 +1,8 @@
|
|||
# ltmain.sh - Provide generalized library-building support services.
|
||||
# NOTE: Changing this file will not affect anything until you rerun configure.
|
||||
#
|
||||
# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005
|
||||
# Free Software Foundation, Inc.
|
||||
# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, 2006,
|
||||
# 2007, 2008 Free Software Foundation, Inc.
|
||||
# Originally by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
|
@ -33,9 +33,6 @@ basename="s,^.*/,,g"
|
|||
# function.
|
||||
progpath="$0"
|
||||
|
||||
# define SED for historic ltconfig's generated by Libtool 1.3
|
||||
test -z "$SED" && SED=sed
|
||||
|
||||
# The name of this program:
|
||||
progname=`echo "$progpath" | $SED $basename`
|
||||
modename="$progname"
|
||||
|
@ -46,21 +43,22 @@ EXIT_FAILURE=1
|
|||
|
||||
PROGRAM=ltmain.sh
|
||||
PACKAGE=libtool
|
||||
VERSION=1.5.22
|
||||
TIMESTAMP=" (1.1220.2.365 2005/12/18 22:14:06)"
|
||||
VERSION="1.5.26 Debian 1.5.26-1ubuntu1"
|
||||
TIMESTAMP=" (1.1220.2.493 2008/02/01 16:58:18)"
|
||||
|
||||
# See if we are running on zsh, and set the options which allow our
|
||||
# commands through without removal of \ escapes.
|
||||
if test -n "${ZSH_VERSION+set}" ; then
|
||||
# Be Bourne compatible (taken from Autoconf:_AS_BOURNE_COMPATIBLE).
|
||||
if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
|
||||
emulate sh
|
||||
NULLCMD=:
|
||||
# Zsh 3.x and 4.x performs 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
|
||||
# Same for EGREP, and just to be sure, do LTCC as well
|
||||
if test "X$EGREP" = X ; then
|
||||
EGREP=egrep
|
||||
fi
|
||||
if test "X$LTCC" = X ; then
|
||||
LTCC=${CC-gcc}
|
||||
fi
|
||||
BIN_SH=xpg4; export BIN_SH # for Tru64
|
||||
DUALCASE=1; export DUALCASE # for MKS sh
|
||||
|
||||
# Check that we have a working $echo.
|
||||
if test "X$1" = X--no-reexec; then
|
||||
|
@ -115,11 +113,19 @@ esac
|
|||
# These must not be set unconditionally because not all systems understand
|
||||
# e.g. LANG=C (notably SCO).
|
||||
# We save the old values to restore during execute mode.
|
||||
if test "${LC_ALL+set}" = set; then
|
||||
save_LC_ALL="$LC_ALL"; LC_ALL=C; export LC_ALL
|
||||
fi
|
||||
if test "${LANG+set}" = set; then
|
||||
save_LANG="$LANG"; LANG=C; export LANG
|
||||
lt_env=
|
||||
for lt_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES
|
||||
do
|
||||
eval "if test \"\${$lt_var+set}\" = set; then
|
||||
save_$lt_var=\$$lt_var
|
||||
lt_env=\"$lt_var=\$$lt_var \$lt_env\"
|
||||
$lt_var=C
|
||||
export $lt_var
|
||||
fi"
|
||||
done
|
||||
|
||||
if test -n "$lt_env"; then
|
||||
lt_env="env $lt_env"
|
||||
fi
|
||||
|
||||
# Make sure IFS has a sensible default
|
||||
|
@ -146,30 +152,8 @@ duplicate_deps=no
|
|||
preserve_args=
|
||||
lo2o="s/\\.lo\$/.${objext}/"
|
||||
o2lo="s/\\.${objext}\$/.lo/"
|
||||
|
||||
if test -z "$max_cmd_len"; then
|
||||
i=0
|
||||
testring="ABCD"
|
||||
new_result=
|
||||
|
||||
# If test is not a shell built-in, we'll probably end up computing a
|
||||
# maximum length that is only half of the actual maximum length, but
|
||||
# we can't tell.
|
||||
while (test "X"`$SHELL $0 --fallback-echo "X$testring" 2>/dev/null` \
|
||||
= "XX$testring") >/dev/null 2>&1 &&
|
||||
new_result=`expr "X$testring" : ".*" 2>&1` &&
|
||||
max_cmd_len="$new_result" &&
|
||||
test "$i" != 17 # 1/2 MB should be enough
|
||||
do
|
||||
i=`expr $i + 1`
|
||||
testring="$testring$testring"
|
||||
done
|
||||
testring=
|
||||
# Add a significant safety factor because C++ compilers can tack on massive
|
||||
# amounts of additional arguments before passing them to the linker.
|
||||
# It appears as though 1/2 is a usable value.
|
||||
max_cmd_len=`expr $max_cmd_len \/ 2`
|
||||
fi
|
||||
extracted_archives=
|
||||
extracted_serial=0
|
||||
|
||||
#####################################
|
||||
# Shell function definitions:
|
||||
|
@ -230,7 +214,13 @@ func_win32_libid ()
|
|||
if eval $OBJDUMP -f $1 | $SED -e '10q' 2>/dev/null | \
|
||||
$EGREP -e 'file format pe-i386(.*architecture: i386)?' >/dev/null ; then
|
||||
win32_nmres=`eval $NM -f posix -A $1 | \
|
||||
$SED -n -e '1,100{/ I /{s,.*,import,;p;q;};}'`
|
||||
$SED -n -e '1,100{
|
||||
/ I /{
|
||||
s,.*,import,
|
||||
p
|
||||
q
|
||||
}
|
||||
}'`
|
||||
case $win32_nmres in
|
||||
import*) win32_libid_type="x86 archive import";;
|
||||
*) win32_libid_type="x86 archive static";;
|
||||
|
@ -291,21 +281,7 @@ func_infer_tag ()
|
|||
esac
|
||||
CC_quoted="$CC_quoted $arg"
|
||||
done
|
||||
# user sometimes does CC=<HOST>-gcc so we need to match that to 'gcc'
|
||||
trimedcc=`echo ${CC} | $SED -e "s/${host}-//g"`
|
||||
# and sometimes libtool has CC=<HOST>-gcc but user does CC=gcc
|
||||
extendcc=${host}-${CC}
|
||||
# and sometimes libtool has CC=<OLDHOST>-gcc but user has CC=<NEWHOST>-gcc
|
||||
# (Gentoo-specific hack because we always export $CHOST)
|
||||
mungedcc=${CHOST-${host}}-${trimedcc}
|
||||
case "$@ " in
|
||||
"cc "* | " cc "* | "${host}-cc "* | " ${host}-cc "*|\
|
||||
"gcc "* | " gcc "* | "${host}-gcc "* | " ${host}-gcc "*)
|
||||
tagname=CC
|
||||
break ;;
|
||||
"$trimedcc "* | " $trimedcc "* | "`$echo $trimedcc` "* | " `$echo $trimedcc` "*|\
|
||||
"$extendcc "* | " $extendcc "* | "`$echo $extendcc` "* | " `$echo $extendcc` "*|\
|
||||
"$mungedcc "* | " $mungedcc "* | "`$echo $mungedcc` "* | " `$echo $mungedcc` "*|\
|
||||
" $CC "* | "$CC "* | " `$echo $CC` "* | "`$echo $CC` "* | " $CC_quoted"* | "$CC_quoted "* | " `$echo $CC_quoted` "* | "`$echo $CC_quoted` "*)
|
||||
# The compiler in the base compile command matches
|
||||
# the one in the tagged configuration.
|
||||
|
@ -375,7 +351,17 @@ func_extract_archives ()
|
|||
*) my_xabs=`pwd`"/$my_xlib" ;;
|
||||
esac
|
||||
my_xlib=`$echo "X$my_xlib" | $Xsed -e 's%^.*/%%'`
|
||||
my_xdir="$my_gentop/$my_xlib"
|
||||
my_xlib_u=$my_xlib
|
||||
while :; do
|
||||
case " $extracted_archives " in
|
||||
*" $my_xlib_u "*)
|
||||
extracted_serial=`expr $extracted_serial + 1`
|
||||
my_xlib_u=lt$extracted_serial-$my_xlib ;;
|
||||
*) break ;;
|
||||
esac
|
||||
done
|
||||
extracted_archives="$extracted_archives $my_xlib_u"
|
||||
my_xdir="$my_gentop/$my_xlib_u"
|
||||
|
||||
$show "${rm}r $my_xdir"
|
||||
$run ${rm}r "$my_xdir"
|
||||
|
@ -502,11 +488,12 @@ do
|
|||
;;
|
||||
|
||||
--version)
|
||||
$echo "$PROGRAM (GNU $PACKAGE) $VERSION$TIMESTAMP"
|
||||
$echo
|
||||
$echo "Copyright (C) 2005 Free Software Foundation, Inc."
|
||||
$echo "This is free software; see the source for copying conditions. There is NO"
|
||||
$echo "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
|
||||
echo "\
|
||||
$PROGRAM (GNU $PACKAGE) $VERSION$TIMESTAMP
|
||||
|
||||
Copyright (C) 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."
|
||||
exit $?
|
||||
;;
|
||||
|
||||
|
@ -803,9 +790,11 @@ if test -z "$show_help"; then
|
|||
*.class) xform=class ;;
|
||||
*.cpp) xform=cpp ;;
|
||||
*.cxx) xform=cxx ;;
|
||||
*.f90) xform=f90 ;;
|
||||
*.[fF][09]?) xform=[fF][09]. ;;
|
||||
*.for) xform=for ;;
|
||||
*.java) xform=java ;;
|
||||
*.obj) xform=obj ;;
|
||||
*.sx) xform=sx ;;
|
||||
esac
|
||||
|
||||
libobj=`$echo "X$libobj" | $Xsed -e "s/\.$xform$/.lo/"`
|
||||
|
@ -899,7 +888,7 @@ if test -z "$show_help"; then
|
|||
# Lock this critical section if it is needed
|
||||
# We use this script file to make the link, it avoids creating a new file
|
||||
if test "$need_locks" = yes; then
|
||||
until $run ln "$srcfile" "$lockfile" 2>/dev/null; do
|
||||
until $run ln "$progpath" "$lockfile" 2>/dev/null; do
|
||||
$show "Waiting for $lockfile to be removed"
|
||||
sleep 2
|
||||
done
|
||||
|
@ -974,7 +963,7 @@ EOF
|
|||
$run $rm "$lobj" "$output_obj"
|
||||
|
||||
$show "$command"
|
||||
if $run eval "$command"; then :
|
||||
if $run eval $lt_env "$command"; then :
|
||||
else
|
||||
test -n "$output_obj" && $run $rm $removelist
|
||||
exit $EXIT_FAILURE
|
||||
|
@ -1046,7 +1035,7 @@ EOF
|
|||
command="$command$suppress_output"
|
||||
$run $rm "$obj" "$output_obj"
|
||||
$show "$command"
|
||||
if $run eval "$command"; then :
|
||||
if $run eval $lt_env "$command"; then :
|
||||
else
|
||||
$run $rm $removelist
|
||||
exit $EXIT_FAILURE
|
||||
|
@ -1179,6 +1168,7 @@ EOF
|
|||
thread_safe=no
|
||||
vinfo=
|
||||
vinfo_number=no
|
||||
single_module="${wl}-single_module"
|
||||
|
||||
func_infer_tag $base_compile
|
||||
|
||||
|
@ -1186,8 +1176,9 @@ EOF
|
|||
for arg
|
||||
do
|
||||
case $arg in
|
||||
-all-static | -static)
|
||||
if test "X$arg" = "X-all-static"; then
|
||||
-all-static | -static | -static-libtool-libs)
|
||||
case $arg in
|
||||
-all-static)
|
||||
if test "$build_libtool_libs" = yes && test -z "$link_static_flag"; then
|
||||
$echo "$modename: warning: complete static linking is impossible in this configuration" 1>&2
|
||||
fi
|
||||
|
@ -1195,12 +1186,20 @@ EOF
|
|||
dlopen_self=$dlopen_self_static
|
||||
fi
|
||||
prefer_static_libs=yes
|
||||
else
|
||||
;;
|
||||
-static)
|
||||
if test -z "$pic_flag" && test -n "$link_static_flag"; then
|
||||
dlopen_self=$dlopen_self_static
|
||||
fi
|
||||
prefer_static_libs=built
|
||||
fi
|
||||
;;
|
||||
-static-libtool-libs)
|
||||
if test -z "$pic_flag" && test -n "$link_static_flag"; then
|
||||
dlopen_self=$dlopen_self_static
|
||||
fi
|
||||
prefer_static_libs=yes
|
||||
;;
|
||||
esac
|
||||
build_libtool_libs=no
|
||||
build_old_libs=yes
|
||||
break
|
||||
|
@ -1648,13 +1647,18 @@ EOF
|
|||
continue
|
||||
;;
|
||||
|
||||
-mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe)
|
||||
-mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe|-threads)
|
||||
compiler_flags="$compiler_flags $arg"
|
||||
compile_command="$compile_command $arg"
|
||||
finalize_command="$finalize_command $arg"
|
||||
continue
|
||||
;;
|
||||
|
||||
-multi_module)
|
||||
single_module="${wl}-multi_module"
|
||||
continue
|
||||
;;
|
||||
|
||||
-module)
|
||||
module=yes
|
||||
continue
|
||||
|
@ -1668,10 +1672,11 @@ EOF
|
|||
# -m* pass through architecture-specific compiler args for GCC
|
||||
# -m*, -t[45]*, -txscale* pass through architecture-specific
|
||||
# compiler args for GCC
|
||||
# -pg pass through profiling flag for GCC
|
||||
# -p, -pg, --coverage, -fprofile-* pass through profiling flag for GCC
|
||||
# -F/path gives path to uninstalled frameworks, gcc on darwin
|
||||
# @file GCC response files
|
||||
-64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*|-pg| \
|
||||
-t[45]*|-txscale*|@*)
|
||||
-64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \
|
||||
-t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*)
|
||||
|
||||
# Unknown arguments in both finalize_command and compile_command need
|
||||
# to be aesthetically quoted because they are evaled later.
|
||||
|
@ -1699,9 +1704,9 @@ EOF
|
|||
|
||||
-no-install)
|
||||
case $host in
|
||||
*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*)
|
||||
*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-darwin*)
|
||||
# The PATH hackery in wrapper scripts is required on Windows
|
||||
# in order for the loader to find any dlls it needs.
|
||||
# and Darwin in order for the loader to find any dlls it needs.
|
||||
$echo "$modename: warning: \`-no-install' is ignored for $host" 1>&2
|
||||
$echo "$modename: warning: assuming \`-no-fast-install' instead" 1>&2
|
||||
fast_install=no
|
||||
|
@ -1760,7 +1765,7 @@ EOF
|
|||
continue
|
||||
;;
|
||||
|
||||
-static)
|
||||
-static | -static-libtool-libs)
|
||||
# The effects of -static are defined in a previous loop.
|
||||
# We used to do the same as -all-static on platforms that
|
||||
# didn't have a PIC flag, but the assumption that the effects
|
||||
|
@ -2130,7 +2135,10 @@ EOF
|
|||
case $pass in
|
||||
dlopen) libs="$dlfiles" ;;
|
||||
dlpreopen) libs="$dlprefiles" ;;
|
||||
link) libs="$deplibs %DEPLIBS% $dependency_libs" ;;
|
||||
link)
|
||||
libs="$deplibs %DEPLIBS%"
|
||||
test "X$link_all_deplibs" != Xno && libs="$libs $dependency_libs"
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
if test "$pass" = dlopen; then
|
||||
|
@ -2142,7 +2150,7 @@ EOF
|
|||
lib=
|
||||
found=no
|
||||
case $deplib in
|
||||
-mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe)
|
||||
-mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe|-threads)
|
||||
if test "$linkmode,$pass" = "prog,link"; then
|
||||
compile_deplibs="$deplib $compile_deplibs"
|
||||
finalize_deplibs="$deplib $finalize_deplibs"
|
||||
|
@ -2157,7 +2165,12 @@ EOF
|
|||
continue
|
||||
fi
|
||||
name=`$echo "X$deplib" | $Xsed -e 's/^-l//'`
|
||||
for searchdir in $newlib_search_path $lib_search_path $sys_lib_search_path $shlib_search_path; do
|
||||
if test "$linkmode" = lib; then
|
||||
searchdirs="$newlib_search_path $lib_search_path $compiler_lib_search_dirs $sys_lib_search_path $shlib_search_path"
|
||||
else
|
||||
searchdirs="$newlib_search_path $lib_search_path $sys_lib_search_path $shlib_search_path"
|
||||
fi
|
||||
for searchdir in $searchdirs; do
|
||||
for search_ext in .la $std_shrext .so .a; do
|
||||
# Search the libtool library
|
||||
lib="$searchdir/lib${name}${search_ext}"
|
||||
|
@ -2538,7 +2551,9 @@ EOF
|
|||
|
||||
if test "$linkmode,$pass" = "prog,link"; then
|
||||
if test -n "$library_names" &&
|
||||
{ test "$prefer_static_libs" = no || test -z "$old_library"; }; then
|
||||
{ { test "$prefer_static_libs" = no ||
|
||||
test "$prefer_static_libs,$installed" = "built,yes"; } ||
|
||||
test -z "$old_library"; }; then
|
||||
# We need to hardcode the library path
|
||||
if test -n "$shlibpath_var" && test -z "$avoidtemprpath" ; then
|
||||
# Make sure the rpath contains only unique directories.
|
||||
|
@ -2951,12 +2966,18 @@ EOF
|
|||
# we do not want to link against static libs,
|
||||
# but need to link against shared
|
||||
eval deplibrary_names=`${SED} -n -e 's/^library_names=\(.*\)$/\1/p' $deplib`
|
||||
eval deplibdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib`
|
||||
if test -n "$deplibrary_names" ; then
|
||||
for tmp in $deplibrary_names ; do
|
||||
depdepl=$tmp
|
||||
done
|
||||
if test -f "$path/$depdepl" ; then
|
||||
if test -f "$deplibdir/$depdepl" ; then
|
||||
depdepl="$deplibdir/$depdepl"
|
||||
elif test -f "$path/$depdepl" ; then
|
||||
depdepl="$path/$depdepl"
|
||||
else
|
||||
# Can't find it, oh well...
|
||||
depdepl=
|
||||
fi
|
||||
# do not add paths which are already there
|
||||
case " $newlib_search_path " in
|
||||
|
@ -3104,9 +3125,10 @@ EOF
|
|||
|
||||
case $linkmode in
|
||||
oldlib)
|
||||
if test -n "$deplibs"; then
|
||||
$echo "$modename: warning: \`-l' and \`-L' are ignored for archives" 1>&2
|
||||
fi
|
||||
case " $deplibs" in
|
||||
*\ -l* | *\ -L*)
|
||||
$echo "$modename: warning: \`-l' and \`-L' are ignored for archives" 1>&2 ;;
|
||||
esac
|
||||
|
||||
if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
|
||||
$echo "$modename: warning: \`-dlopen' is ignored for archives" 1>&2
|
||||
|
@ -3234,7 +3256,7 @@ EOF
|
|||
# which has an extra 1 added just for fun
|
||||
#
|
||||
case $version_type in
|
||||
darwin|linux|osf|windows)
|
||||
darwin|linux|osf|windows|none)
|
||||
current=`expr $number_major + $number_minor`
|
||||
age="$number_minor"
|
||||
revision="$number_revision"
|
||||
|
@ -3245,9 +3267,15 @@ EOF
|
|||
age="0"
|
||||
;;
|
||||
irix|nonstopux)
|
||||
current=`expr $number_major + $number_minor - 1`
|
||||
current=`expr $number_major + $number_minor`
|
||||
age="$number_minor"
|
||||
revision="$number_minor"
|
||||
lt_irix_increment=no
|
||||
;;
|
||||
*)
|
||||
$echo "$modename: unknown library version type \`$version_type'" 1>&2
|
||||
$echo "Fatal configuration error. See the $PACKAGE docs for more information." 1>&2
|
||||
exit $EXIT_FAILURE
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
|
@ -3306,7 +3334,8 @@ EOF
|
|||
versuffix="$major.$age.$revision"
|
||||
# Darwin ld doesn't like 0 for these options...
|
||||
minor_current=`expr $current + 1`
|
||||
verstring="${wl}-compatibility_version ${wl}$minor_current ${wl}-current_version ${wl}$minor_current.$revision"
|
||||
xlcverstring="${wl}-compatibility_version ${wl}$minor_current ${wl}-current_version ${wl}$minor_current.$revision"
|
||||
verstring="-compatibility_version $minor_current -current_version $minor_current.$revision"
|
||||
;;
|
||||
|
||||
freebsd-aout)
|
||||
|
@ -3320,8 +3349,11 @@ EOF
|
|||
;;
|
||||
|
||||
irix | nonstopux)
|
||||
major=`expr $current - $age + 1`
|
||||
|
||||
if test "X$lt_irix_increment" = "Xno"; then
|
||||
major=`expr $current - $age`
|
||||
else
|
||||
major=`expr $current - $age + 1`
|
||||
fi
|
||||
case $version_type in
|
||||
nonstopux) verstring_prefix=nonstopux ;;
|
||||
*) verstring_prefix=sgi ;;
|
||||
|
@ -3458,11 +3490,11 @@ EOF
|
|||
fi
|
||||
|
||||
# Eliminate all temporary directories.
|
||||
for path in $notinst_path; do
|
||||
lib_search_path=`$echo "$lib_search_path " | ${SED} -e "s% $path % %g"`
|
||||
deplibs=`$echo "$deplibs " | ${SED} -e "s% -L$path % %g"`
|
||||
dependency_libs=`$echo "$dependency_libs " | ${SED} -e "s% -L$path % %g"`
|
||||
done
|
||||
#for path in $notinst_path; do
|
||||
# lib_search_path=`$echo "$lib_search_path " | ${SED} -e "s% $path % %g"`
|
||||
# deplibs=`$echo "$deplibs " | ${SED} -e "s% -L$path % %g"`
|
||||
# dependency_libs=`$echo "$dependency_libs " | ${SED} -e "s% -L$path % %g"`
|
||||
#done
|
||||
|
||||
if test -n "$xrpath"; then
|
||||
# If the user specified any rpath flags, then add them.
|
||||
|
@ -3563,13 +3595,12 @@ EOF
|
|||
int main() { return 0; }
|
||||
EOF
|
||||
$rm conftest
|
||||
$LTCC $LTCFLAGS -o conftest conftest.c $deplibs
|
||||
if test "$?" -eq 0 ; then
|
||||
if $LTCC $LTCFLAGS -o conftest conftest.c $deplibs; then
|
||||
ldd_output=`ldd conftest`
|
||||
for i in $deplibs; do
|
||||
name=`expr $i : '-l\(.*\)'`
|
||||
# If $name is empty we are operating on a -L argument.
|
||||
if test "$name" != "" && test "$name" -ne "0"; then
|
||||
if test "$name" != "" && test "$name" != "0"; then
|
||||
if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
|
||||
case " $predeps $postdeps " in
|
||||
*" $i "*)
|
||||
|
@ -3608,9 +3639,7 @@ EOF
|
|||
# If $name is empty we are operating on a -L argument.
|
||||
if test "$name" != "" && test "$name" != "0"; then
|
||||
$rm conftest
|
||||
$LTCC $LTCFLAGS -o conftest conftest.c $i
|
||||
# Did it work?
|
||||
if test "$?" -eq 0 ; then
|
||||
if $LTCC $LTCFLAGS -o conftest conftest.c $i; then
|
||||
ldd_output=`ldd conftest`
|
||||
if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
|
||||
case " $predeps $postdeps " in
|
||||
|
@ -3642,7 +3671,7 @@ EOF
|
|||
droppeddeps=yes
|
||||
$echo
|
||||
$echo "*** Warning! Library $i is needed by this library but I was not able to"
|
||||
$echo "*** make it link in! You will probably need to install it or some"
|
||||
$echo "*** make it link in! You will probably need to install it or some"
|
||||
$echo "*** library that it depends on before this library will be fully"
|
||||
$echo "*** functional. Installing it before continuing would be even better."
|
||||
fi
|
||||
|
@ -3690,13 +3719,6 @@ EOF
|
|||
*) potlib=`$echo "X$potlib" | $Xsed -e 's,[^/]*$,,'`"$potliblink";;
|
||||
esac
|
||||
done
|
||||
# It is ok to link against an archive when
|
||||
# building a shared library.
|
||||
if $AR -t $potlib > /dev/null 2>&1; then
|
||||
newdeplibs="$newdeplibs $a_deplib"
|
||||
a_deplib=""
|
||||
break 2
|
||||
fi
|
||||
if eval $file_magic_cmd \"\$potlib\" 2>/dev/null \
|
||||
| ${SED} 10q \
|
||||
| $EGREP "$file_magic_regex" > /dev/null; then
|
||||
|
@ -3935,7 +3957,10 @@ EOF
|
|||
test -n "$hardcode_libdirs"; then
|
||||
libdir="$hardcode_libdirs"
|
||||
if test -n "$hardcode_libdir_flag_spec_ld"; then
|
||||
eval dep_rpath=\"$hardcode_libdir_flag_spec_ld\"
|
||||
case $archive_cmds in
|
||||
*\$LD*) eval dep_rpath=\"$hardcode_libdir_flag_spec_ld\" ;;
|
||||
*) eval dep_rpath=\"$hardcode_libdir_flag_spec\" ;;
|
||||
esac
|
||||
else
|
||||
eval dep_rpath=\"$hardcode_libdir_flag_spec\"
|
||||
fi
|
||||
|
@ -4245,9 +4270,10 @@ EOF
|
|||
;;
|
||||
|
||||
obj)
|
||||
if test -n "$deplibs"; then
|
||||
$echo "$modename: warning: \`-l' and \`-L' are ignored for objects" 1>&2
|
||||
fi
|
||||
case " $deplibs" in
|
||||
*\ -l* | *\ -L*)
|
||||
$echo "$modename: warning: \`-l' and \`-L' are ignored for objects" 1>&2 ;;
|
||||
esac
|
||||
|
||||
if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
|
||||
$echo "$modename: warning: \`-dlopen' is ignored for objects" 1>&2
|
||||
|
@ -4294,12 +4320,14 @@ EOF
|
|||
reload_conv_objs=
|
||||
gentop=
|
||||
# reload_cmds runs $LD directly, so let us get rid of
|
||||
# -Wl from whole_archive_flag_spec
|
||||
# -Wl from whole_archive_flag_spec and hope we can get by with
|
||||
# turning comma into space..
|
||||
wl=
|
||||
|
||||
if test -n "$convenience"; then
|
||||
if test -n "$whole_archive_flag_spec"; then
|
||||
eval reload_conv_objs=\"\$reload_objs $whole_archive_flag_spec\"
|
||||
eval tmp_whole_archive_flags=\"$whole_archive_flag_spec\"
|
||||
reload_conv_objs=$reload_objs\ `$echo "X$tmp_whole_archive_flags" | $Xsed -e 's|,| |g'`
|
||||
else
|
||||
gentop="$output_objdir/${obj}x"
|
||||
generated="$generated $gentop"
|
||||
|
@ -4747,16 +4775,16 @@ static const void *lt_preloaded_setup() {
|
|||
case $host in
|
||||
*cygwin* | *mingw* )
|
||||
if test -f "$output_objdir/${outputname}.def" ; then
|
||||
compile_command=`$echo "X$compile_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}.def $output_objdir/${outputname}S.${objext}%"`
|
||||
finalize_command=`$echo "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}.def $output_objdir/${outputname}S.${objext}%"`
|
||||
compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}.def $output_objdir/${outputname}S.${objext}%" | $NL2SP`
|
||||
finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}.def $output_objdir/${outputname}S.${objext}%" | $NL2SP`
|
||||
else
|
||||
compile_command=`$echo "X$compile_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%"`
|
||||
finalize_command=`$echo "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%"`
|
||||
compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%" | $NL2SP`
|
||||
finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%" | $NL2SP`
|
||||
fi
|
||||
;;
|
||||
* )
|
||||
compile_command=`$echo "X$compile_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%"`
|
||||
finalize_command=`$echo "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%"`
|
||||
compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%" | $NL2SP`
|
||||
finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%" | $NL2SP`
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
|
@ -4771,13 +4799,13 @@ static const void *lt_preloaded_setup() {
|
|||
# really was required.
|
||||
|
||||
# Nullify the symbol file.
|
||||
compile_command=`$echo "X$compile_command" | $Xsed -e "s% @SYMFILE@%%"`
|
||||
finalize_command=`$echo "X$finalize_command" | $Xsed -e "s% @SYMFILE@%%"`
|
||||
compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "s% @SYMFILE@%%" | $NL2SP`
|
||||
finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "s% @SYMFILE@%%" | $NL2SP`
|
||||
fi
|
||||
|
||||
if test "$need_relink" = no || test "$build_libtool_libs" != yes; then
|
||||
# Replace the output file specification.
|
||||
compile_command=`$echo "X$compile_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'`
|
||||
compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e 's%@OUTPUT@%'"$output"'%g' | $NL2SP`
|
||||
link_command="$compile_command$compile_rpath"
|
||||
|
||||
# We have no uninstalled library dependencies, so finalize right now.
|
||||
|
@ -4864,7 +4892,7 @@ static const void *lt_preloaded_setup() {
|
|||
if test "$fast_install" != no; then
|
||||
link_command="$finalize_var$compile_command$finalize_rpath"
|
||||
if test "$fast_install" = yes; then
|
||||
relink_command=`$echo "X$compile_var$compile_command$compile_rpath" | $Xsed -e 's%@OUTPUT@%\$progdir/\$file%g'`
|
||||
relink_command=`$echo "X$compile_var$compile_command$compile_rpath" | $SP2NL | $Xsed -e 's%@OUTPUT@%\$progdir/\$file%g' | $NL2SP`
|
||||
else
|
||||
# fast_install is set to needless
|
||||
relink_command=
|
||||
|
@ -4901,7 +4929,7 @@ static const void *lt_preloaded_setup() {
|
|||
fi
|
||||
done
|
||||
relink_command="(cd `pwd`; $relink_command)"
|
||||
relink_command=`$echo "X$relink_command" | $Xsed -e "$sed_quote_subst"`
|
||||
relink_command=`$echo "X$relink_command" | $SP2NL | $Xsed -e "$sed_quote_subst" | $NL2SP`
|
||||
fi
|
||||
|
||||
# Quote $echo for shipping.
|
||||
|
@ -5308,6 +5336,20 @@ EOF
|
|||
Xsed='${SED} -e 1s/^X//'
|
||||
sed_quote_subst='$sed_quote_subst'
|
||||
|
||||
# Be Bourne compatible (taken from Autoconf:_AS_BOURNE_COMPATIBLE).
|
||||
if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then
|
||||
emulate sh
|
||||
NULLCMD=:
|
||||
# Zsh 3.x and 4.x performs 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
|
||||
BIN_SH=xpg4; export BIN_SH # for Tru64
|
||||
DUALCASE=1; export DUALCASE # for MKS sh
|
||||
|
||||
# The HP-UX ksh and POSIX shell print the target directory to stdout
|
||||
# if CDPATH is set.
|
||||
(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
|
||||
|
@ -5434,11 +5476,6 @@ else
|
|||
$echo >> $output "\
|
||||
if test \"\$libtool_execute_magic\" != \"$magic\"; then
|
||||
# Run the actual program with our arguments.
|
||||
|
||||
# Make sure env LD_LIBRARY_PATH does not mess us up
|
||||
if test -n \"\${LD_LIBRARY_PATH+set}\"; then
|
||||
export LD_LIBRARY_PATH=\$progdir:\$LD_LIBRARY_PATH
|
||||
fi
|
||||
"
|
||||
case $host in
|
||||
# Backslashes separate directories on plain windows
|
||||
|
@ -5455,7 +5492,7 @@ else
|
|||
;;
|
||||
esac
|
||||
$echo >> $output "\
|
||||
\$echo \"\$0: cannot exec \$program \${1+\"\$@\"}\"
|
||||
\$echo \"\$0: cannot exec \$program \$*\"
|
||||
exit $EXIT_FAILURE
|
||||
fi
|
||||
else
|
||||
|
@ -5641,7 +5678,7 @@ fi\
|
|||
done
|
||||
# Quote the link command for shipping.
|
||||
relink_command="(cd `pwd`; $SHELL $progpath $preserve_args --mode=relink $libtool_args @inst_prefix_dir@)"
|
||||
relink_command=`$echo "X$relink_command" | $Xsed -e "$sed_quote_subst"`
|
||||
relink_command=`$echo "X$relink_command" | $SP2NL | $Xsed -e "$sed_quote_subst" | $NL2SP`
|
||||
if test "$hardcode_automatic" = yes ; then
|
||||
relink_command=
|
||||
fi
|
||||
|
@ -5666,53 +5703,9 @@ fi\
|
|||
$echo "$modename: \`$deplib' is not a valid libtool archive" 1>&2
|
||||
exit $EXIT_FAILURE
|
||||
fi
|
||||
if test "X$EGREP" = X ; then
|
||||
EGREP=egrep
|
||||
fi
|
||||
# We do not want portage's install root ($D) present. Check only for
|
||||
# this if the .la is being installed.
|
||||
if test "$installed" = yes && test "$D"; then
|
||||
eval mynewdependency_lib=`echo "$libdir/$name" |sed -e "s:$D:/:g" -e 's:/\+:/:g'`
|
||||
else
|
||||
mynewdependency_lib="$libdir/$name"
|
||||
fi
|
||||
# Do not add duplicates
|
||||
if test "$mynewdependency_lib"; then
|
||||
my_little_ninja_foo_1=`echo $newdependency_libs |$EGREP -e "$mynewdependency_lib"`
|
||||
if test -z "$my_little_ninja_foo_1"; then
|
||||
newdependency_libs="$newdependency_libs $mynewdependency_lib"
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
*)
|
||||
if test "$installed" = yes; then
|
||||
# Rather use S=WORKDIR if our version of portage supports it.
|
||||
# This is because some ebuild (gcc) do not use $S as buildroot.
|
||||
if test "$PWORKDIR"; then
|
||||
S="$PWORKDIR"
|
||||
fi
|
||||
# We do not want portage's build root ($S) present.
|
||||
my_little_ninja_foo_2=`echo $deplib |$EGREP -e "$S"`
|
||||
# We do not want portage's install root ($D) present.
|
||||
my_little_ninja_foo_3=`echo $deplib |$EGREP -e "$D"`
|
||||
if test -n "$my_little_ninja_foo_2" && test "$S"; then
|
||||
mynewdependency_lib=""
|
||||
elif test -n "$my_little_ninja_foo_3" && test "$D"; then
|
||||
eval mynewdependency_lib=`echo "$deplib" |sed -e "s:$D:/:g" -e 's:/\+:/:g'`
|
||||
else
|
||||
mynewdependency_lib="$deplib"
|
||||
fi
|
||||
else
|
||||
mynewdependency_lib="$deplib"
|
||||
fi
|
||||
# Do not add duplicates
|
||||
if test "$mynewdependency_lib"; then
|
||||
my_little_ninja_foo_4=`echo $newdependency_libs |$EGREP -e "$mynewdependency_lib"`
|
||||
if test -z "$my_little_ninja_foo_4"; then
|
||||
newdependency_libs="$newdependency_libs $mynewdependency_lib"
|
||||
fi
|
||||
fi
|
||||
newdependency_libs="$newdependency_libs $libdir/$name"
|
||||
;;
|
||||
*) newdependency_libs="$newdependency_libs $deplib" ;;
|
||||
esac
|
||||
done
|
||||
dependency_libs="$newdependency_libs"
|
||||
|
@ -5764,10 +5757,6 @@ fi\
|
|||
case $host,$output,$installed,$module,$dlname in
|
||||
*cygwin*,*lai,yes,no,*.dll | *mingw*,*lai,yes,no,*.dll) tdlname=../bin/$dlname ;;
|
||||
esac
|
||||
# Do not add duplicates
|
||||
if test "$installed" = yes && test "$D"; then
|
||||
install_libdir=`echo "$install_libdir" |sed -e "s:$D:/:g" -e 's:/\+:/:g'`
|
||||
fi
|
||||
$echo > $output "\
|
||||
# $outputname - a libtool library file
|
||||
# Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP
|
||||
|
@ -6034,9 +6023,9 @@ relink_command=\"$relink_command\""
|
|||
|
||||
if test -n "$inst_prefix_dir"; then
|
||||
# Stick the inst_prefix_dir data into the link command.
|
||||
relink_command=`$echo "$relink_command" | $SED "s%@inst_prefix_dir@%-inst-prefix-dir $inst_prefix_dir%"`
|
||||
relink_command=`$echo "$relink_command" | $SP2NL | $SED "s%@inst_prefix_dir@%-inst-prefix-dir $inst_prefix_dir%" | $NL2SP`
|
||||
else
|
||||
relink_command=`$echo "$relink_command" | $SED "s%@inst_prefix_dir@%%"`
|
||||
relink_command=`$echo "$relink_command" | $SP2NL | $SED "s%@inst_prefix_dir@%%" | $NL2SP`
|
||||
fi
|
||||
|
||||
$echo "$modename: warning: relinking \`$file'" 1>&2
|
||||
|
@ -6245,7 +6234,7 @@ relink_command=\"$relink_command\""
|
|||
file=`$echo "X$file$stripped_ext" | $Xsed -e 's%^.*/%%'`
|
||||
outputname="$tmpdir/$file"
|
||||
# Replace the output file specification.
|
||||
relink_command=`$echo "X$relink_command" | $Xsed -e 's%@OUTPUT@%'"$outputname"'%g'`
|
||||
relink_command=`$echo "X$relink_command" | $SP2NL | $Xsed -e 's%@OUTPUT@%'"$outputname"'%g' | $NL2SP`
|
||||
|
||||
$show "$relink_command"
|
||||
if $run eval "$relink_command"; then :
|
||||
|
@ -6456,8 +6445,10 @@ relink_command=\"$relink_command\""
|
|||
if test -f "$dir/$objdir/$dlname"; then
|
||||
dir="$dir/$objdir"
|
||||
else
|
||||
$echo "$modename: cannot find \`$dlname' in \`$dir' or \`$dir/$objdir'" 1>&2
|
||||
exit $EXIT_FAILURE
|
||||
if test ! -f "$dir/$dlname"; then
|
||||
$echo "$modename: cannot find \`$dlname' in \`$dir' or \`$dir/$objdir'" 1>&2
|
||||
exit $EXIT_FAILURE
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
|
||||
|
@ -6521,12 +6512,12 @@ relink_command=\"$relink_command\""
|
|||
fi
|
||||
|
||||
# Restore saved environment variables
|
||||
if test "${save_LC_ALL+set}" = set; then
|
||||
LC_ALL="$save_LC_ALL"; export LC_ALL
|
||||
fi
|
||||
if test "${save_LANG+set}" = set; then
|
||||
LANG="$save_LANG"; export LANG
|
||||
fi
|
||||
for lt_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES
|
||||
do
|
||||
eval "if test \"\${save_$lt_var+set}\" = set; then
|
||||
$lt_var=\$save_$lt_var; export $lt_var
|
||||
fi"
|
||||
done
|
||||
|
||||
# Now prepare to actually exec the command.
|
||||
exec_cmd="\$cmd$args"
|
||||
|
@ -6883,9 +6874,9 @@ The following components of LINK-COMMAND are treated specially:
|
|||
-dlpreopen FILE link in FILE and add its symbols to lt_preloaded_symbols
|
||||
-export-dynamic allow symbols from OUTPUT-FILE to be resolved with dlsym(3)
|
||||
-export-symbols SYMFILE
|
||||
try to export only the symbols listed in SYMFILE
|
||||
try to export only the symbols listed in SYMFILE
|
||||
-export-symbols-regex REGEX
|
||||
try to export only the symbols matching REGEX
|
||||
try to export only the symbols matching REGEX
|
||||
-LLIBDIR search LIBDIR for required installed libraries
|
||||
-lNAME OUTPUT-FILE requires the installed library libNAME
|
||||
-module build a library that can dlopened
|
||||
|
@ -6899,9 +6890,11 @@ The following components of LINK-COMMAND are treated specially:
|
|||
-release RELEASE specify package release information
|
||||
-rpath LIBDIR the created library will eventually be installed in LIBDIR
|
||||
-R[ ]LIBDIR add LIBDIR to the runtime path of programs and libraries
|
||||
-static do not do any dynamic linking of libtool libraries
|
||||
-static do not do any dynamic linking of uninstalled libtool libraries
|
||||
-static-libtool-libs
|
||||
do not do any dynamic linking of libtool libraries
|
||||
-version-info CURRENT[:REVISION[:AGE]]
|
||||
specify library version info [each variable defaults to 0]
|
||||
specify library version info [each variable defaults to 0]
|
||||
|
||||
All other options (arguments beginning with \`-') are ignored.
|
||||
|
||||
|
|
|
@ -12,6 +12,7 @@
|
|||
|
||||
#include <string.h>
|
||||
#include <stdlib.h>
|
||||
#include <glib.h>
|
||||
|
||||
char* get_file_name(const char* path) {
|
||||
const char* filename = strrchr(path, '/');
|
||||
|
|
|
@ -130,6 +130,7 @@ PACKAGE_VERSION = @PACKAGE_VERSION@
|
|||
PATH_SEPARATOR = @PATH_SEPARATOR@
|
||||
PKG_CONFIG = @PKG_CONFIG@
|
||||
RANLIB = @RANLIB@
|
||||
SED = @SED@
|
||||
SET_MAKE = @SET_MAKE@
|
||||
SHELL = @SHELL@
|
||||
STRIP = @STRIP@
|
||||
|
|
Loading…
Reference in New Issue