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!
