Hi, everyone!
As far as I know, STLport is not in conflict with ASL, it could be ASL.(Am I
right?) We can replace the C++ lib(GPL) by using STLport. But it links to
C++ lib in some code of STLport when we compile our code of Bluesky. Such as
:
. adminserver.h
.. /usr/include/stlport/list
... /usr/include/stlport/stl/_prolog.h
... /usr/include/stlport/stl/_list.h
.... /usr/include/stlport/stl/_algobase.h
..... /usr/include/stlport/cstddef
...... /usr/include/c++/3.4/cstddef
....... /usr/include/stlport/stddef.h
........ /usr/lib/gcc/i486-linux-gnu/3.4.6/include/../include/stddef.h
..... /usr/include/stlport/cstring
...... /usr/include/c++/3.4/cstring
....... /usr/include/stlport/string.h
...... /usr/include/stlport/using/cstring
..... /usr/include/stlport/climits
...... /usr/include/c++/3.4/climits
....... /usr/lib/gcc/i486-linux-gnu/3.4.6/include/limits.h
..... /usr/include/stlport/cstdlib
...... /usr/include/c++/3.4/cstdlib
....... /usr/include/c++/3.4/i486-linux-gnu/bits/c++config.h
........ /usr/include/c++/3.4/i486-linux-gnu/bits/os_defines.h
....... /usr/include/stlport/stdlib.h
........ /usr/include/../include/stdlib.h
......... /usr/include/stlport/stddef.h
.......... /usr/lib/gcc/i486-linux-gnu/3.4.6/include/../include/stddef.h
......... /usr/include/bits/waitflags.h
......... /usr/include/bits/waitstatus.h
......... /usr/include/alloca.h
We are puzzling about it at first. After checked the code of the STLport, we
find that it is linking to C++ lib in some code of STLport. Such as:
In cstddef of stlport:
# if (__GNUC__ >= 3) && defined(__CYGWIN__) // this total HACK is the only
expedient way I could cygwin to work with GCC 3.0
# define __need_wint_t // mostly because wint_t didn't seem to get defined
otherwise :(
# define __need_wchar_t
# define __need_size_t
# define __need_ptrdiff_t
# define __need_NULL
# endif
# if defined (_STLP_USE_NEW_C_HEADERS)
# include _STLP_NATIVE_CPP_C_HEADER(cstddef) // I think it must link to
cstdd of C++ from here. ------> ...... /usr/include/c++/3.4/cstddef
# else
# include _STLP_NATIVE_C_HEADER(stddef.h)
# endif
# ifdef _STLP_IMPORT_VENDOR_CSTD
_STLP_BEGIN_NAMESPACE
using _STLP_VENDOR_CSTD::ptrdiff_t;
using _STLP_VENDOR_CSTD::size_t;
_STLP_END_NAMESPACE
#endif /* _STLP_IMPORT_VENDOR_CSTD */
So, we must make our code be ASL, does it matter linking to C++(GPL) in
STLport? Or how can we do to escape linking to C++?
Thanks!
|