Sophie

Sophie

distrib > Fedora > 14 > x86_64 > by-pkgid > 65cedb422b5b18cbc6c81220baa7524d > files > 39

libsigc++-devel-1.2.7-8.fc12.i686.rpm

This is a list of questions and answers that I have collected from
messages to my mailbox

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

Q: Why isn't sigcconfig.h installed with the rest of the headers?

A: Traditionally include files that are dependent on the compiler
   or srchitecture belong under lib trees and not the include tree.
   This allows machines to share include directories on large multiuser
   systems.

   Examples:
     /usr/lib/gcc-lib/i386-redhat-linux/egcs-2.91.57/include 
     /usr/lib/glib/include
     /usr/lib/qt/include

   To access that file you should include a -I PREFIX/lib/sigc++/include
   in your compiler switchs.

   This can be done for you automatically through the use of 
   the sigc-config script.  

     c++ myfile.cc `sigc-config --cflags --libs`

   Last, if you really don't like this just symlink the file into
   PREFIX/include.  (Don't copy or the next version of libsigc++ 
   very likely won't work right!) 


Q: Why on Visual C++ can do I get piles of errors when trying to
   use classes which contain Signals?  

A: Visual C++ requires all classes which are parameterized to be
   explicitely exported.  This is the same problem encountered 
   when using STL classes in VC++.  Microsoft Knowledge Base
   article Q168958 contains the solution.

   (http://support.microsoft.com/support/kb/articles/Q168/9/58.ASP)

   You will need to create an export file with all the signals,
   slots, and parameterized functions explicitely instantiated
   and include it in your library source.  (Anyone have an example
   of this?)


Q: Do you accept code contributions?

A: Yes and no.  Karl is current the sole author of libsigc++ 
   in part because he plans at some point to relicense the code 
   to BSD if sigc++ is found to be appropraite for a standards
   body like boost.  Thus I accept ports and modifications which
   come from the current code base or portions of code too small
   to be considered copyright.  Larger code contributions may be
   included in the dist, but will need to be a separate library.


Q: How is a template library LGPL?  Does this mean the binaries
   linked to it must be GPL since the compiled templates generate
   GPL compiled functions?

A: No, the compiled templates are not considered GPL.
   I inquired with RMS prior to release of libsigc++.  The
   intent of a template library like this is for the template source (the
   headers) to be distributable, modifications to those sources
   to be open, and only the binary code generated from the .cc
   files to be help to the LGPL standard.  Binary code compiled from
   the templates which is build with the users types belongs
   to the user and not the library and thus may be licensed in
   any way the user wants.  Thus you may freely use sigc++ with
   comercial programs and those programs may be license however
   you chose, so long as the linkage with the non-template portions
   obeys the LGPL.  

   In practical terms here is the only burden LGPL places.  If you 
   take a source file from this distribution and modify it, it must be 
   LGPL.  That means people can request a copy of your modified source
   under that license.  If your program is licenced something other than 
   LGPL or GPL, you should either use sigc++ as a shared library or have 
   the object files available upon request so the user can relink
   with a later version of sigc++.