automake
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: _la_SOURCES Makro does not link all defined sources...


From: Steve
Subject: Re: _la_SOURCES Makro does not link all defined sources...
Date: Wed, 12 Oct 2005 19:15:15 +0200
User-agent: Mozilla Thunderbird 1.0.6 (X11/20050921)

Hi Ralf,

Ralf Wildenhues wrote:

Hi Steve,

Where is above code located?

class nsHTMLValidator is located in nsHTMLValidator.h
and the Implementation in its cpp File.
The nsVector Template is located in nsVector.h
and the Implementation in its cpp File.
Ive temporally solved it. I wrote whole Code of nsVector
(definition and class declaration) in nsVector.h and
it will be included evertime i need a vector. So
the problem with unresolved symbols went by. But
this solution is also a suboptimal solution.


Well, sure.  They have to be in the same source file or in a header that
is included there (the latter preferred).
That is new to me. I thought (dont matter if template or normal
class) the c++ way to define a class or template is to write
declarations in *.h and implentations in *.cpp...

This is how template instantiation in C++ (specifically with g++) works.
The template *definition* has to be visible in order that the
instantiation works, or you have to add some other means of explicit
instantiation (unless you use `export', which only very few C++
compilers support, and g++ isn't among them).  See
 info gcc "Template Instantiation"
or maybe first
 http://babbage.cs.qc.edu/STL_Docs/templates.htm

or some good C++ book on this topic,
or go straight for ISO/IEC 14882:1998(E) chapter 14 if you have the
standard available.
This has little to do with either Automake or libraries (well, there are
issues with multiple instantiations and shared libraries, but with g++
things are usually well).  So it would probably better be discussed
further elsewhere (dunno where, though).
Ok I've noticed that :)

Also, I'm not the right person
to ask, really.


Thank you for including the output.

/bin/sh ../libtool --tag=CXX --mode=link g++  -g -O2  -L /usr/lib/gecko-sdk/lib 
-L /usr/lib/gecko-sdk/bin -o libnsHTMLValidator.la -rpath /usr/local/lib  
nsHTMLValidator.lo nsVector.lo nsHTMLValidatorModule.lo tidy/libtidy.la
rm -fr  .libs/libnsHTMLValidator.a .libs/libnsHTMLValidator.la 
.libs/libnsHTMLValidator.lai .libs/libnsHTMLValidator.so 
.libs/libnsHTMLValidator.so.0 .libs/libnsHTMLValidator.so.0.0.0
g++ -shared -nostdlib /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.6/../../../crti.o 
/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.6/crtbeginS.o  .libs/nsHTMLValidator.o 
.libs/nsVector.o .libs/nsHTMLValidatorModule.o -Wl,--whole-archive 
tidy/.libs/libtidy.a -Wl,--no-whole-archive  -Wl,--rpath -Wl,/usr/lib/. 
-Wl,--rpath -Wl,/usr/lib/.  
-L/home/redwing/documents/programming/face/components/src 
-L/home/redwing/documents/programming/face/components/src/tidy 
-L/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.6 
-L/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.6/../../../../i686-pc-linux-gnu/lib 
-L/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.6/../../.. /usr/lib/./libstdc++.so 
-L/usr/i486-slackware-linux/bin -L/usr/i486-slackware-linux/lib 
-L/usr/lib/gcc-lib/i486-slackware-linux/../../../i486-slackware-linux/lib 
-L/usr/lib/gcc-lib/i486-slackware-linux/../.. -lm -lc -lgcc_s 
/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.6/crtendS.o 
/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.6/../../../crtn.o  -Wl,-soname 
-Wl,libnsHTMLValidator.so.0 -o .libs/libnsHTMLValidator.so.0.0.0

Independent of your problem, there are a few bogus
 -Wl,--rpath -Wl,/usr/lib/.
entries created here.  I suspect a libtool bug.

Can you please send `../libtool --version'?
Of course:
----------------------------
address@hidden ~ $ libtool --version
ltmain.sh (GNU libtool) 1.5.18 (1.1220.2.246 2005/05/16 10:00:18)
----------------------------

If the version is newer than 1.5.10,
then please also send the output of `libtool --tag=CXX --config',
else don't bother (but do consider updating to Libtool 1.5.20).
Ive upgradet to libtool 1.5.20 and the output with new libtool version
looks so:
-------------------------------------
make[1]: Entering directory `/home/redwing/documents/programming/face/components/src' /bin/sh ../libtool --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -I. -I. -I.. -I../include -I/usr/lib/gecko-sdk/include -DXPCOM_GLUE -Wall -g -O2 -c -o nsHTMLValidator.lo nsHTMLValidator.cpp g++ -DHAVE_CONFIG_H -I. -I. -I.. -I../include -I/usr/lib/gecko-sdk/include -DXPCOM_GLUE -Wall -g -O2 -c nsHTMLValidator.cpp -fPIC -DPIC -o .libs/nsHTMLValidator.o
In file included from nsHTMLValidator.cpp:4:
../include/nsHTMLValidator.h:18: Warnung: `class nsHTMLValidator' only defines
a private destructor and has no friends
../include/nsHTMLValidator.h:18: Warnung: `class nsHTMLValidator' has virtual
functions but non-virtual destructor
g++ -DHAVE_CONFIG_H -I. -I. -I.. -I../include -I/usr/lib/gecko-sdk/include -DXPCOM_GLUE -Wall -g -O2 -c nsHTMLValidator.cpp -o nsHTMLValidator.o >/dev/null 2>&1 /bin/sh ../libtool --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -I. -I. -I.. -I../include -I/usr/lib/gecko-sdk/include -DXPCOM_GLUE -Wall -g -O2 -c -o nsHTMLValidatorModule.lo nsHTMLValidatorModule.cpp g++ -DHAVE_CONFIG_H -I. -I. -I.. -I../include -I/usr/lib/gecko-sdk/include -DXPCOM_GLUE -Wall -g -O2 -c nsHTMLValidatorModule.cpp -fPIC -DPIC -o .libs/nsHTMLValidatorModule.o
In file included from nsHTMLValidatorModule.cpp:5:
../include/nsHTMLValidator.h:18: Warnung: `class nsHTMLValidator' only defines
a private destructor and has no friends
../include/nsHTMLValidator.h:18: Warnung: `class nsHTMLValidator' has virtual
functions but non-virtual destructor
g++ -DHAVE_CONFIG_H -I. -I. -I.. -I../include -I/usr/lib/gecko-sdk/include -DXPCOM_GLUE -Wall -g -O2 -c nsHTMLValidatorModule.cpp -o nsHTMLValidatorModule.o >/dev/null 2>&1 /bin/sh ../libtool --tag=CXX --mode=link g++ -g -O2 -L /usr/lib/gecko-sdk/lib -L /usr/lib/gecko-sdk/bin -o libnsHTMLValidator.la -rpath /usr/local/lib nsHTMLValidator.lo nsHTMLValidatorModule.lo tidy/libtidy.la rm -fr .libs/libnsHTMLValidator.a .libs/libnsHTMLValidator.la .libs/libnsHTMLValidator.lai .libs/libnsHTMLValidator.so .libs/libnsHTMLValidator.so.0 .libs/libnsHTMLValidator.so.0.0.0 g++ -shared -nostdlib /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.6/../../../crti.o /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.6/crtbeginS.o .libs/nsHTMLValidator.o .libs/nsHTMLValidatorModule.o -Wl,--whole-archive tidy/.libs/libtidy.a -Wl,--no-whole-archive -L/home/redwing/documents/programming/face/components/src -L/home/redwing/documents/programming/face/components/src/tidy -L/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.6 -L/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.6/../../../../i686-pc-linux-gnu/lib -L/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.6/../../.. /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.6/libstdc++.so -L/usr/i686-pc-linux-gnu/bin -L/usr/i686-pc-linux-gnu/lib -L/usr/lib/gcc-lib/../../i686-pc-linux-gnu/lib -lm -lc -lgcc_s /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.6/crtendS.o /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.6/../../../crtn.o -Wl,-soname -Wl,libnsHTMLValidator.so.0 -o .libs/libnsHTMLValidator.so.0.0.0 (cd .libs && rm -f libnsHTMLValidator.so.0 && ln -s libnsHTMLValidator.so.0.0.0 libnsHTMLValidator.so.0) (cd .libs && rm -f libnsHTMLValidator.so && ln -s libnsHTMLValidator.so.0.0.0 libnsHTMLValidator.so)
rm -fr .libs/libnsHTMLValidator.lax
mkdir .libs/libnsHTMLValidator.lax
rm -fr .libs/libnsHTMLValidator.lax/libtidy.a
mkdir .libs/libnsHTMLValidator.lax/libtidy.a
(cd .libs/libnsHTMLValidator.lax/libtidy.a && ar x /home/redwing/documents/programming/face/components/src/tidy/.libs/libtidy.a) ar cru .libs/libnsHTMLValidator.a nsHTMLValidator.o nsHTMLValidatorModule.o .libs/libnsHTMLValidator.lax/libtidy.a/access.o .libs/libnsHTMLValidator.lax/libtidy.a/attrdict.o .libs/libnsHTMLValidator.lax/libtidy.a/buffio.o .libs/libnsHTMLValidator.lax/libtidy.a/config.o .libs/libnsHTMLValidator.lax/libtidy.a/iconvtc.o .libs/libnsHTMLValidator.lax/libtidy.a/localize.o .libs/libnsHTMLValidator.lax/libtidy.a/streamio.o .libs/libnsHTMLValidator.lax/libtidy.a/tidylib.o .libs/libnsHTMLValidator.lax/libtidy.a/win32tc.o .libs/libnsHTMLValidator.lax/libtidy.a/alloc.o .libs/libnsHTMLValidator.lax/libtidy.a/attrget.o .libs/libnsHTMLValidator.lax/libtidy.a/charsets.o .libs/libnsHTMLValidator.lax/libtidy.a/entities.o .libs/libnsHTMLValidator.lax/libtidy.a/istack.o .libs/libnsHTMLValidator.lax/libtidy.a/parser.o .libs/libnsHTMLValidator.lax/libtidy.a/tagask.o .libs/libnsHTMLValidator.lax/libtidy.a/tmbstr.o .libs/libnsHTMLValidator.lax/libtidy.a/attrask.o .libs/libnsHTMLValidator.lax/libtidy.a/attrs.o .libs/libnsHTMLValidator.lax/libtidy.a/clean.o .libs/libnsHTMLValidator.lax/libtidy.a/fileio.o .libs/libnsHTMLValidator.lax/libtidy.a/lexer.o .libs/libnsHTMLValidator.lax/libtidy.a/pprint.o .libs/libnsHTMLValidator.lax/libtidy.a/tags.o .libs/libnsHTMLValidator.lax/libtidy.a/utf8.o
ranlib .libs/libnsHTMLValidator.a
rm -fr .libs/libnsHTMLValidator.lax
creating libnsHTMLValidator.la
(cd .libs && rm -f libnsHTMLValidator.la && ln -s ../libnsHTMLValidator.la libnsHTMLValidator.la)
-------------------------------------

Heres the output of the old libtool version typing "libtool --tag=CXX --config" :

------------------------------

# Libtool was configured on host euklid:

# Shell to use when invoking shell scripts.
SHELL="/bin/sh"

# Whether or not to build shared libraries.
build_libtool_libs=yes

# Whether or not to build static libraries.
build_old_libs=yes

# Whether or not to add -lc for building shared libraries.
build_libtool_need_lc=no

# Whether or not to disallow shared libs when runtime libs are static
allow_libtool_libs_with_static_runtimes=no

# Whether or not to optimize for fast installation.
fast_install=yes

# The host system.
host_alias=i686-pc-linux-gnu
host=i686-pc-linux-gnu
host_os=linux-gnu

# The build system.
build_alias=
build=i686-pc-linux-gnu
build_os=linux-gnu

# An echo program that does not interpret backslashes.
echo="echo"

# The archiver.
AR="i686-pc-linux-gnu-ar"
AR_FLAGS="cru"

# A C compiler.
LTCC="i686-pc-linux-gnu-gcc"

# A language-specific compiler.
CC="i686-pc-linux-gnu-gcc"

# Is the compiler the GNU C compiler?
with_gcc=yes

# An ERE matcher.
EGREP="grep -E"

# The linker used to build libraries.
LD="/usr/i686-pc-linux-gnu/bin/ld"

# Whether we need hard or soft links.
LN_S="ln -s"

# A BSD-compatible nm program.
NM="/usr/bin/i686-pc-linux-gnu-nm -B"

# A symbol stripping program
STRIP="i686-pc-linux-gnu-strip"

# Used to examine libraries when file_magic_cmd begins "file"
MAGIC_CMD=file

# Used on cygwin: DLL creation program.
DLLTOOL="dlltool"

# Used on cygwin: object dumper.
OBJDUMP="objdump"

# Used on cygwin: assembler.
AS="as"

# The name of the directory that contains temporary libtool files.
objdir=.libs

# How to create reloadable object files.
reload_flag=" -r"
reload_cmds="\$LD\$reload_flag -o \$output\$reload_objs"

# How to pass a linker flag through the compiler.
wl="-Wl,"

# Object file suffix (normally "o").
objext="o"

# Old archive suffix (normally "a").
libext="a"

# Shared library suffix (normally ".so").
shrext_cmds='.so'

# Executable file suffix (normally "").
exeext=""

# Additional compiler flags for building library objects.
pic_flag=" -fPIC -DPIC"
pic_mode=default

# What is the maximum length of a command?
max_cmd_len=32768

# Does compiler simultaneously support -c and -o options?
compiler_c_o="yes"

# Must we lock files when doing compilation?
need_locks="no"

# Do we need the lib prefix for modules?
need_lib_prefix=no

# Do we need a version for libraries?
need_version=no

# Whether dlopen is supported.
dlopen_support=yes

# Whether dlopen of programs is supported.
dlopen_self=yes

# Whether dlopen of statically linked programs is supported.
dlopen_self_static=yes

# Compiler flag to prevent dynamic linking.
link_static_flag="-static"

# Compiler flag to turn off builtin functions.
no_builtin_flag=" -fno-builtin"

# Compiler flag to allow reflexive dlopens.
export_dynamic_flag_spec="\${wl}--export-dynamic"

# Compiler flag to generate shared objects directly from archives.
whole_archive_flag_spec="\${wl}--whole-archive\$convenience \${wl}--no-whole-archive"

# Compiler flag to generate thread-safe objects.
thread_safe_flag_spec=""

# Library versioning type.
version_type=linux

# Format of library name prefix.
libname_spec="lib\$name"

# List of archive names. First name is the real one, the rest are links.
# The last name is the one that the linker finds with -lNAME.
library_names_spec="\${libname}\${release}\${shared_ext}\$versuffix \${libname}\${release}\${shared_ext}\$major \$libname\${shared_ext}"

# The coded name of the library, if different from the real name.
soname_spec="\${libname}\${release}\${shared_ext}\$major"

# Commands used to build and install an old-style archive.
RANLIB="i686-pc-linux-gnu-ranlib"
old_archive_cmds="\$AR \$AR_FLAGS \$oldlib\$oldobjs\$old_deplibs~\$RANLIB \$oldlib"
old_postinstall_cmds="\$RANLIB \$oldlib~chmod 644 \$oldlib"
old_postuninstall_cmds=""

# Create an old-style archive from a shared archive.
old_archive_from_new_cmds=""

# Create a temporary old-style archive to link instead of a shared archive.
old_archive_from_expsyms_cmds=""

# Commands used to build and install a shared archive.
archive_cmds="\$CC -shared \$libobjs \$deplibs \$compiler_flags \${wl}-soname \$wl\$soname -o \$lib" archive_expsym_cmds="\$echo \\\"{ global:\\\" > \$output_objdir/\$libname.ver~ cat \$export_symbols | sed -e \\\"s/\\\\(.*\\\\)/\\\\1;/\\\" >> \$output_objdir/\$libname.ver~
\$echo \\\"local: *; };\\\" >> \$output_objdir/\$libname.ver~
\$CC -shared \$libobjs \$deplibs \$compiler_flags \${wl}-soname \$wl\$soname \${wl}-version-script \${wl}\$output_objdir/\$libname.ver -o \$lib"
postinstall_cmds=""
postuninstall_cmds=""

# Commands used to build a loadable module (assumed same as above if empty)
module_cmds=""
module_expsym_cmds=""

# Commands to strip libraries.
old_striplib="i686-pc-linux-gnu-strip --strip-debug"
striplib="i686-pc-linux-gnu-strip --strip-unneeded"

# Dependencies to place before the objects being linked to create a
# shared library.
predep_objects=""

# Dependencies to place after the objects being linked to create a
# shared library.
postdep_objects=""

# Dependencies to place before the objects being linked to create a
# shared library.
predeps=""

# Dependencies to place after the objects being linked to create a
# shared library.
postdeps=""

# The library search path used internally by the compiler when linking
# a shared library.
compiler_lib_search_path=""

# Method to check whether dependent libraries are shared objects.
deplibs_check_method="pass_all"

# Command to use when deplibs_check_method == file_magic.
file_magic_cmd="\$MAGIC_CMD"

# Flag that allows shared libraries with undefined symbols to be built.
allow_undefined_flag=""

# Flag that forces no undefined symbols.
no_undefined_flag=""

# Commands used to finish a libtool library installation in a directory.
finish_cmds="PATH=\\\"\\\$PATH:/sbin\\\" ldconfig -n \$libdir"

# Same as above, but a single script fragment to be evaled but not shown.
finish_eval=""

# Take the output of nm and produce a listing of raw symbols and C names.
global_symbol_pipe="sed -n -e 's/^.*[ ]\\([ABCDGIRSTW][ABCDGIRSTW]*\\)[ ][ ]*\\([_A-Za-z][_A-Za-z0-9]*\\)\$/\\1 \\2 \\2/p'"

# Transform the output of nm in a proper C declaration
global_symbol_to_cdecl="sed -n -e 's/^. .* \\(.*\\)\$/extern int \\1;/p'"

# Transform the output of nm in a C name address pair
global_symbol_to_c_name_address="sed -n -e 's/^: \\([^ ]*\\) \$/ {\\\"\\1\\\", (lt_ptr) 0},/p' -e 's/^[BCDEGRST] \\([^ ]*\\) \\([^ ]*\\)\$/ {\"\\2\", (lt_ptr) \\&\\2},/p'"

# This is the shared library runtime path variable.
runpath_var=LD_RUN_PATH

# This is the shared library path variable.
shlibpath_var=LD_LIBRARY_PATH

# Is shlibpath searched before the hard-coded library search path?
shlibpath_overrides_runpath=no

# How to hardcode a shared library path into an executable.
hardcode_action=immediate

# Whether we should hardcode library paths into libraries.
hardcode_into_libs=yes

# Flag to hardcode $libdir into a binary during linking.
# This must work even if $libdir does not exist.
hardcode_libdir_flag_spec="\${wl}--rpath \${wl}\$libdir"

# If ld is used when linking, flag to hardcode $libdir into
# a binary during linking. This must work even if $libdir does
# not exist.
hardcode_libdir_flag_spec_ld=""

# Whether we need a single -rpath flag with a separated argument.
hardcode_libdir_separator=""

# Set to yes if using DIR/libNAME during linking hardcodes DIR into the
# resulting binary.
hardcode_direct=no

# Set to yes if using the -LDIR flag during linking hardcodes DIR into the
# resulting binary.
hardcode_minus_L=no

# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into
# the resulting binary.
hardcode_shlibpath_var=unsupported

# Set to yes if building a shared library automatically hardcodes DIR into the library
# and all subsequent libraries and executables linked against it.
hardcode_automatic=no

# Variables whose values should be saved in libtool wrapper scripts and
# restored at relink time.
variables_saved_for_relink="PATH LD_RUN_PATH GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"

# Whether libtool must link a program against all its dependency libraries.
link_all_deplibs=unknown

# Compile-time system search path for libraries
sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"

# Run-time system search path for libraries
sys_lib_dlsearch_path_spec="/lib /usr/lib"

# Fix the shell variable $srcfile for the compiler.
fix_srcfile_path=""

# Set to yes if exported symbols are required.
always_export_symbols=no

# The commands to list exported symbols.
export_symbols_cmds="\$NM \$libobjs \$convenience | \$global_symbol_pipe | \$SED 's/.* //' | sort | uniq > \$export_symbols"

# The commands to extract the exported symbol list from a shared archive.
extract_expsyms_cmds=""

# Symbols that should not be listed in the preloaded symbols.
exclude_expsyms="_GLOBAL_OFFSET_TABLE_"

# Symbols that must always be exported.
include_expsyms=""

# ### BEGIN LIBTOOL TAG CONFIG: CXX

# Libtool was configured on host euklid:

# Shell to use when invoking shell scripts.
SHELL="/bin/sh"

# Whether or not to build shared libraries.
build_libtool_libs=yes

# Whether or not to build static libraries.
build_old_libs=yes

# Whether or not to add -lc for building shared libraries.
build_libtool_need_lc=no

# Whether or not to disallow shared libs when runtime libs are static
allow_libtool_libs_with_static_runtimes=no

# Whether or not to optimize for fast installation.
fast_install=yes

# The host system.
host_alias=i686-pc-linux-gnu
host=i686-pc-linux-gnu
host_os=linux-gnu

# The build system.
build_alias=
build=i686-pc-linux-gnu
build_os=linux-gnu

# An echo program that does not interpret backslashes.
echo="echo"

# The archiver.
AR="i686-pc-linux-gnu-ar"
AR_FLAGS="cru"

# A C compiler.
LTCC="i686-pc-linux-gnu-gcc"

# A language-specific compiler.
CC="i686-pc-linux-gnu-g++"

# Is the compiler the GNU C compiler?
with_gcc=yes

# An ERE matcher.
EGREP="grep -E"

# The linker used to build libraries.
LD="/usr/i686-pc-linux-gnu/bin/ld"

# Whether we need hard or soft links.
LN_S="ln -s"

# A BSD-compatible nm program.
NM="/usr/bin/i686-pc-linux-gnu-nm -B"

# A symbol stripping program
STRIP="i686-pc-linux-gnu-strip"

# Used to examine libraries when file_magic_cmd begins "file"
MAGIC_CMD=file

# Used on cygwin: DLL creation program.
DLLTOOL="dlltool"

# Used on cygwin: object dumper.
OBJDUMP="objdump"

# Used on cygwin: assembler.
AS="as"

# The name of the directory that contains temporary libtool files.
objdir=.libs

# How to create reloadable object files.
reload_flag=" -r"
reload_cmds="\$LD\$reload_flag -o \$output\$reload_objs"

# How to pass a linker flag through the compiler.
wl="-Wl,"

# Object file suffix (normally "o").
objext="o"

# Old archive suffix (normally "a").
libext="a"

# Shared library suffix (normally ".so").
shrext_cmds='.so'

# Executable file suffix (normally "").
exeext=""

# Additional compiler flags for building library objects.
pic_flag=" -fPIC -DPIC"
pic_mode=default

# What is the maximum length of a command?
max_cmd_len=32768

# Does compiler simultaneously support -c and -o options?
compiler_c_o="yes"

# Must we lock files when doing compilation?
need_locks="no"

# Do we need the lib prefix for modules?
need_lib_prefix=no

# Do we need a version for libraries?
need_version=no

# Whether dlopen is supported.
dlopen_support=yes

# Whether dlopen of programs is supported.
dlopen_self=yes

# Whether dlopen of statically linked programs is supported.
dlopen_self_static=yes

# Compiler flag to prevent dynamic linking.
link_static_flag="-static"

# Compiler flag to turn off builtin functions.
no_builtin_flag=" -fno-builtin"

# Compiler flag to allow reflexive dlopens.
export_dynamic_flag_spec="\${wl}--export-dynamic"

# Compiler flag to generate shared objects directly from archives.
whole_archive_flag_spec="\${wl}--whole-archive\$convenience \${wl}--no-whole-archive"

# Compiler flag to generate thread-safe objects.
thread_safe_flag_spec=""

# Library versioning type.
version_type=linux

# Format of library name prefix.
libname_spec="lib\$name"

# List of archive names. First name is the real one, the rest are links.
# The last name is the one that the linker finds with -lNAME.
library_names_spec="\${libname}\${release}\${shared_ext}\$versuffix \${libname}\${release}\${shared_ext}\$major \$libname\${shared_ext}"

# The coded name of the library, if different from the real name.
soname_spec="\${libname}\${release}\${shared_ext}\$major"

# Commands used to build and install an old-style archive.
RANLIB="i686-pc-linux-gnu-ranlib"
old_archive_cmds="\$AR \$AR_FLAGS \$oldlib\$oldobjs\$old_deplibs~\$RANLIB \$oldlib"
old_postinstall_cmds="\$RANLIB \$oldlib~chmod 644 \$oldlib"
old_postuninstall_cmds=""

# Create an old-style archive from a shared archive.
old_archive_from_new_cmds=""

# Create a temporary old-style archive to link instead of a shared archive.
old_archive_from_expsyms_cmds=""

# Commands used to build and install a shared archive.
archive_cmds="\$CC -shared -nostdlib \$predep_objects \$libobjs \$deplibs \$postdep_objects \$compiler_flags \${wl}-soname \$wl\$soname -o \$lib" archive_expsym_cmds="\$CC -shared -nostdlib \$predep_objects \$libobjs \$deplibs \$postdep_objects \$compiler_flags \${wl}-soname \$wl\$soname \${wl}-retain-symbols-file \$wl\$export_symbols -o \$lib"
postinstall_cmds=""
postuninstall_cmds=""

# Commands used to build a loadable module (assumed same as above if empty)
module_cmds=""
module_expsym_cmds=""

# Commands to strip libraries.
old_striplib="i686-pc-linux-gnu-strip --strip-debug"
striplib="i686-pc-linux-gnu-strip --strip-unneeded"

# Dependencies to place before the objects being linked to create a
# shared library.
predep_objects="/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.6/../../../crti.o /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.6/crtbeginS.o"

# Dependencies to place after the objects being linked to create a
# shared library.
postdep_objects="/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.6/crtendS.o /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.6/../../../crtn.o"

# Dependencies to place before the objects being linked to create a
# shared library.
predeps=""

# Dependencies to place after the objects being linked to create a
# shared library.
postdeps="-lstdc++ -lm -lgcc_s -lc -lgcc_s"

# The library search path used internally by the compiler when linking
# a shared library.
compiler_lib_search_path="-L/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.6 -L/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.6/../../../../i686-pc-linux-gnu/lib -L/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.6/../../.."

# Method to check whether dependent libraries are shared objects.
deplibs_check_method="pass_all"

# Command to use when deplibs_check_method == file_magic.
file_magic_cmd="\$MAGIC_CMD"

# Flag that allows shared libraries with undefined symbols to be built.
allow_undefined_flag=""

# Flag that forces no undefined symbols.
no_undefined_flag=""

# Commands used to finish a libtool library installation in a directory.
finish_cmds="PATH=\\\"\\\$PATH:/sbin\\\" ldconfig -n \$libdir"

# Same as above, but a single script fragment to be evaled but not shown.
finish_eval=""

# Take the output of nm and produce a listing of raw symbols and C names.
global_symbol_pipe="sed -n -e 's/^.*[ ]\\([ABCDGIRSTW][ABCDGIRSTW]*\\)[ ][ ]*\\([_A-Za-z][_A-Za-z0-9]*\\)\$/\\1 \\2 \\2/p'"

# Transform the output of nm in a proper C declaration
global_symbol_to_cdecl="sed -n -e 's/^. .* \\(.*\\)\$/extern int \\1;/p'"

# Transform the output of nm in a C name address pair
global_symbol_to_c_name_address="sed -n -e 's/^: \\([^ ]*\\) \$/ {\\\"\\1\\\", (lt_ptr) 0},/p' -e 's/^[BCDEGRST] \\([^ ]*\\) \\([^ ]*\\)\$/ {\"\\2\", (lt_ptr) \\&\\2},/p'"

# This is the shared library runtime path variable.
runpath_var=LD_RUN_PATH

# This is the shared library path variable.
shlibpath_var=LD_LIBRARY_PATH

# Is shlibpath searched before the hard-coded library search path?
shlibpath_overrides_runpath=no

# How to hardcode a shared library path into an executable.
hardcode_action=immediate

# Whether we should hardcode library paths into libraries.
hardcode_into_libs=yes

# Flag to hardcode $libdir into a binary during linking.
# This must work even if $libdir does not exist.
hardcode_libdir_flag_spec="\${wl}--rpath \${wl}\$libdir"

# If ld is used when linking, flag to hardcode $libdir into
# a binary during linking. This must work even if $libdir does
# not exist.
hardcode_libdir_flag_spec_ld=""

# Whether we need a single -rpath flag with a separated argument.
hardcode_libdir_separator=""

# Set to yes if using DIR/libNAME during linking hardcodes DIR into the
# resulting binary.
hardcode_direct=no

# Set to yes if using the -LDIR flag during linking hardcodes DIR into the
# resulting binary.
hardcode_minus_L=no

# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into
# the resulting binary.
hardcode_shlibpath_var=

# Set to yes if building a shared library automatically hardcodes DIR into the library
# and all subsequent libraries and executables linked against it.
hardcode_automatic=no

# Variables whose values should be saved in libtool wrapper scripts and
# restored at relink time.
variables_saved_for_relink="PATH LD_LIBRARY_PATH LD_RUN_PATH GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"

# Whether libtool must link a program against all its dependency libraries.
link_all_deplibs=unknown

# Compile-time system search path for libraries
sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"

# Run-time system search path for libraries
sys_lib_dlsearch_path_spec="/lib /usr/lib"

# Fix the shell variable $srcfile for the compiler.
fix_srcfile_path=""

# Set to yes if exported symbols are required.
always_export_symbols=no

# The commands to list exported symbols.
export_symbols_cmds="\$NM \$libobjs \$convenience | \$global_symbol_pipe | \$SED 's/.* //' | sort | uniq > \$export_symbols"

# The commands to extract the exported symbol list from a shared archive.
extract_expsyms_cmds=""

# Symbols that should not be listed in the preloaded symbols.
exclude_expsyms=""

# Symbols that must always be exported.
include_expsyms=""

# ### END LIBTOOL TAG CONFIG: CXX
--------------------------------------------------------------

Thank you.

*snip*
Hope you can read out some more information....

Yep: the rest looks fine to me, and this is often a good thing to know,
too (for you, but also for me).  ;-)

Ok ive noticed that for the next time :)

Cheers,
Ralf

Thanks a lot for your help and time...

Regards

Steve





reply via email to

[Prev in Thread] Current Thread [Next in Thread]