[libsigc++2] Transition to new mm-common build infrastructure
- From: Daniel Elstner <daniel src gnome org>
- To: svn-commits-list gnome org
- Cc:
- Subject: [libsigc++2] Transition to new mm-common build infrastructure
- Date: Thu, 6 Aug 2009 19:38:49 +0000 (UTC)
commit dfbb69c0eb2d6a5b97c8c9d99829fc32c20c4b42
Author: Daniel Elstner <danielk openismus com>
Date: Thu Aug 6 21:13:44 2009 +0200
Transition to new mm-common build infrastructure
* autogen.sh: Replace with a minimal script that simply executes
mm-common-prepare, autoreconf and configure.
* configure.ac: Get rid of an enormous amount of old cruft. Use
macros from the new mm-common module to set up Doxygen for building
the documentation. Add option to enable more compiler warnings.
* sigc++-2.0-uninstalled.pc.in: New pkg-config data file to allow
linking to an uninstalled libsigc++.
* sigc++-2.0.pc.in: Modernize. Provide the location of the
installed reference documentation and the Doxygen tag file.
* sigc++config.h.in: Modernize and update for new build
infrastructure.
* Makefile.am, */Makefile.am: Modernize and adapt to the new C++
binding build infrastructure in the mm-common module.
* sigc++/filelist.am: New Automake include file. Defines lists
of C++ and M4 source files.
* docs/Makefile.am: Rewrite using doc-reference.am from the
mm-common module.
* docs/doc-manual.am: New Automake include file for building the
libsigc++ Docbook manual.
* docs/images/Makefile.am: Remove file.
* docs/manual/Makefile.am: ditto,
* docs/reference/Makefile.am: ditto.
* docs/Makefile_web.am_fragment: Remove for now, to be taken care
of later.
* docs/reference/Doxyfile.in: Modernize and adapt to new build
infrastructure.
* docs/reference/beautify_docs.pl: Remove and use the more recent
scripts/doc-postprocess.pl instead.
* libsigc++-2.0.spec.in: Remove, to be resurrected only if someone
complains.
* scripts/Makefile.am: Remove file. Distribute the files from the
toplevel Makefile.am instead.
* scripts/cxx_std.m4: Add missing third argument to AC_DEFINE().
* scripts/doc-install.pl: New file, copied from mm-common.
* scripts/doc-postprocess.pl: ditto,
* scripts/tagfile-to-devhelp2.xsl: ditto.
.cvsignore | 9 -
.gitattributes | 1 +
.gitignore | 35 +
ChangeLog | 4057 ++++++++++----------
INSTALL | 229 --
MSVC_Net2005/.cvsignore | 12 -
MSVC_Net2005/Makefile.am | 77 +-
MSVC_Net2005/tests/test_accumulated/.cvsignore | 3 -
MSVC_Net2005/tests/test_bind/.cvsignore | 3 -
MSVC_Net2005/tests/test_bind_return/.cvsignore | 3 -
MSVC_Net2005/tests/test_compatibility/.cvsignore | 3 -
MSVC_Net2005/tests/test_compose/.cvsignore | 3 -
.../tests/test_deduce_result_type/.cvsignore | 3 -
MSVC_Net2005/tests/test_disconnect/.cvsignore | 3 -
.../tests/test_disconnect_during_emit/.cvsignore | 2 -
MSVC_Net2005/tests/test_exception_catch/.cvsignore | 3 -
MSVC_Net2005/tests/test_functor_trait/.cvsignore | 3 -
MSVC_Net2005/tests/test_hide/.cvsignore | 3 -
MSVC_Net2005/tests/test_lambda/.cvsignore | 3 -
MSVC_Net2005/tests/test_mem_fun/.cvsignore | 3 -
MSVC_Net2005/tests/test_ptr_fun/.cvsignore | 3 -
MSVC_Net2005/tests/test_retype/.cvsignore | 3 -
MSVC_Net2005/tests/test_retype_return/.cvsignore | 3 -
MSVC_Net2005/tests/test_signal/.cvsignore | 3 -
MSVC_Net2005/tests/test_size/.cvsignore | 3 -
MSVC_Net2005/tests/test_slot/.cvsignore | 3 -
MSVC_Net2005/tests/test_trackable/.cvsignore | 3 -
MSVC_Net2008/Makefile.am | 77 +-
Makefile.am | 96 +-
autogen.sh | 117 +-
configure.ac | 202 +-
docs/.cvsignore | 1 -
docs/.gitignore | 6 +
docs/Makefile.am | 74 +-
docs/Makefile_web.am_fragment | 7 -
docs/doc-manual.am | 46 +
docs/images/.cvsignore | 1 -
docs/images/Makefile.am | 16 -
docs/manual/.cvsignore | 2 -
docs/manual/Makefile.am | 64 -
docs/reference/.cvsignore | 1 -
docs/reference/Doxyfile.in | 1079 +-----
docs/reference/Makefile.am | 63 -
docs/reference/beautify_docs.pl | 78 -
examples/.cvsignore | 4 -
examples/.gitignore | 2 +
examples/Makefile.am | 24 +-
libsigc++-2.0.spec.in | 91 -
scripts/.cvsignore | 1 -
scripts/Makefile.am | 1 -
scripts/cxx_std.m4 | 3 +-
scripts/doc-install.pl | 207 +
scripts/doc-postprocess.pl | 81 +
scripts/tagfile-to-devhelp2.xsl | 79 +
sigc++-2.0-uninstalled.pc.in | 9 +
sigc++-2.0.pc.in | 15 +-
sigc++/.cvsignore | 3 -
sigc++/.gitignore | 26 +
sigc++/Makefile.am | 175 +-
sigc++/adaptors/.cvsignore | 3 -
sigc++/adaptors/lambda/.cvsignore | 4 -
sigc++/filelist.am | 72 +
sigc++/functors/.cvsignore | 4 -
sigc++config.h.in | 134 +-
tests/.cvsignore | 22 -
tests/.gitignore | 23 +
tests/Makefile.am | 136 +-
67 files changed, 3255 insertions(+), 4273 deletions(-)
---
diff --git a/.gitattributes b/.gitattributes
new file mode 100644
index 0000000..e8495d5
--- /dev/null
+++ b/.gitattributes
@@ -0,0 +1 @@
+ChangeLog merge=merge-changelog
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..bbda470
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,35 @@
+.deps
+.dirstamp
+.libs
+Makefile
+Makefile.in
+sigc-2.0.rc
+sigc++config.h
+*.[ao]
+*.l[ao]
+/INSTALL
+/aclocal.m4
+/autom4te.cache
+/config.h
+/config.h.in
+/config.log
+/config.status
+/configure
+/libsigc++-*.tar.*
+/libtool
+/*.lineno
+/sigc++config.h
+/sigc++-*.pc
+/stamp-h?
+/scripts/compile-binding.am
+/scripts/config.guess
+/scripts/config.sub
+/scripts/depcomp
+/scripts/dist-changelog.am
+/scripts/doc-reference.am
+/scripts/generate-binding.am
+/scripts/install-sh
+/scripts/libtool.m4
+/scripts/lt*.m4
+/scripts/ltmain.sh
+/scripts/missing
diff --git a/ChangeLog b/ChangeLog
index 50c9fbd..9d5e277 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,44 @@
+2009-08-06 Daniel Elstner <danielk openismus com>
+
+ Transition to new mm-common build infrastructure
+
+ * autogen.sh: Replace with a minimal script that simply executes
+ mm-common-prepare, autoreconf and configure.
+ * configure.ac: Get rid of an enormous amount of old cruft. Use
+ macros from the new mm-common module to set up Doxygen for building
+ the documentation. Add option to enable more compiler warnings.
+ * sigc++-2.0-uninstalled.pc.in: New pkg-config data file to allow
+ linking to an uninstalled libsigc++.
+ * sigc++-2.0.pc.in: Modernize. Provide the location of the
+ installed reference documentation and the Doxygen tag file.
+ * sigc++config.h.in: Modernize and update for new build
+ infrastructure.
+ * Makefile.am, */Makefile.am: Modernize and adapt to the new C++
+ binding build infrastructure in the mm-common module.
+ * sigc++/filelist.am: New Automake include file. Defines lists
+ of C++ and M4 source files.
+ * docs/Makefile.am: Rewrite using doc-reference.am from the
+ mm-common module.
+ * docs/doc-manual.am: New Automake include file for building the
+ libsigc++ Docbook manual.
+ * docs/images/Makefile.am: Remove file.
+ * docs/manual/Makefile.am: ditto,
+ * docs/reference/Makefile.am: ditto.
+ * docs/Makefile_web.am_fragment: Remove for now, to be taken care
+ of later.
+ * docs/reference/Doxyfile.in: Modernize and adapt to new build
+ infrastructure.
+ * docs/reference/beautify_docs.pl: Remove and use the more recent
+ scripts/doc-postprocess.pl instead.
+ * libsigc++-2.0.spec.in: Remove, to be resurrected only if someone
+ complains.
+ * scripts/Makefile.am: Remove file. Distribute the files from the
+ toplevel Makefile.am instead.
+ * scripts/cxx_std.m4: Add missing third argument to AC_DEFINE().
+ * scripts/doc-install.pl: New file, copied from mm-common.
+ * scripts/doc-postprocess.pl: ditto,
+ * scripts/tagfile-to-devhelp2.xsl: ditto.
+
2008-11-13 Murray Cumming <murrayc murrayc com>
* docs/website/stable.shtml: Correct the download link so it shows all
@@ -5,2011 +46,2011 @@
2.2.3:
-2008-10-08 Armin Burgmeier <armin arbur net>
-
- * MSVN_Net2005/libsigc++2.vcproj: Changed output name to match the new
- naming convention.
-
- * MSVC_Net2008/: Added MSVC 2008 project files. These are basically
- the same as for MSVC 2005, but converted to MSVC 2008 projects.
-
- * configure.ac:
- * Makefile.am: Added the new files to the build.
-
-2008-08-08 Armin Burgmeier <armin arbur net>
-
- * MSVC_Net2005/libsigc++2.sln: Enable the disconnect_during_emit test
- by default.
-
- * MSVC_Net2005/libsigc++2.vcproj: Renamed the generated debug database
- file to sigc-2.0d.pdb (the default), to stay consistent with the *mm
- wrapper libraries.
-
-2008-08-08 Armin Burgmeier <armin arbur net>
-
- * MSVC_Net2005/: Moved from MSVC_Net2003.
-
- * MSVC_Net2005/libsigc++2.sln:
- * MSVC_Net2005/libsigc++2.vcproj:
- * MSVC_Net2005/tests/*/*.vcproj: Converted the Visual Studio 2003
- project files to 2005 ones.
-
- * MSVC_Net2005/Makefile.am:
- * Makefile.am:
- * configure.ac: Adapted build files accordingly.
-
-2008-04-06 Cedric Gustin <cedric gustin gmail com>
-
- * MSVC_Net2003/sigc-2.0.rc.in: Removed ATL/MFC header files
- dependency as afxres.h is not part of the Microsoft Platform
- SDK provided with Visual C++ Express 2008.
- Bug #503933.
-
-2.2.2:
-
-2008-03-10 Deng Xiyue <manphiz gmail com
-
- * sigc++/macros/slot.h.m4:
- Added an include of functors/slot.h that was mistakenly removed
- during the 2.1 series, apparently breaking API slightly.
- Bug #521418.
-
-2.2.1:
-
-2008-02-28 Elaine Xiong <elaine xiong sun com>
-
- * sigc++/macros/signal.h.m4:
- * tests/test_accum_iter.cc: Add ifdefs around uses of
- reverse_iterator to really fix the build with recent
- versions of Sun CC.
- Bug #302098.
-
-2.2.0:
-
-2008-01-01 Ryan Hill <dirtyepic gentoo >
-
- * tests/test_copy_invalid_slot.cc: Include the cstdlib
- and cstring headers to fix the build with the gcc 4.3
- pre-release. Bug #454882.
-
-2007-08-31 Murray Cumming <murrayc murrayc com>
-
- * tests/test_copy_invalid_slot.cc: Added some includes to
- fix the build in some environments, such as when using Sun CC.
- Thanks to Vladimir Marek in bug #469872.
-
-2.1.1:
-
-2007-08-14 Murray Cumming <murrayc murrayc com>
-
- * sigc++/Makefile.am:
- * sigc++/compatibility.h: Removed this header.
- * sigc++/bind.h:
- * sigc++/bind_return.h:
- * sigc++/connection.h:
- * sigc++/macros/class_slot.h.m4:
- * sigc++/macros/hide.h.m4:
- * sigc++/macros/method_slot.h.m4:
- * sigc++/macros/object_slot.h.m4:
- * sigc++/macros/retype.h.m4:
- * sigc++/macros/signal.h.m4:
- * sigc++/macros/slot.h.m4:
- * sigc++/object.h:
- * sigc++/retype_return.h: Removed deprecated
- compatibility API, to probably fix the build with
- some compilers, such as some versions of the Sun Forte C++
- CC compiler. Some of these headers are now mostly empty and
- should be removed later.
- This API has been deprecated April 2004, and
- is not widely used, so it seems safe to do this now.
-
- * tests/Makefile.am:
- * tests/test_compatibility.cc: Removed this test.
-
-2007-07-28 Michael Elkstrand <michael elehack net>
-
- * sigc++/macros/signal.h.m4: slot_iterator_buf,
- slot_reverse_iterator_buf: Added typedefs for
- value_type, reference, and pointer, so that these
- iterators are more like standard C++ iterators, so they can
- be used with standard C++ algorithms.
- * tests/Makefile.am:
- * tests/test_accum_iter.cc: Added a test for this.
- Bug #417926.
-
-2006-11-14 Daniel Elstner <daniel kitta gmail com>
-
- * autogen.sh: Wholly replace this script with a critter from one
- of my personal projects, with slight modifications. This one does
- some sophisticated stuff like probing version numbers of available
- automake and aclocal executables, in order to choose the right one
- accordingly. All this is necessary to make the build system work
- robustly in custom environments such as Maemo where automake-1.9
- doesn't come preinstalled.
-
-2006-06-20 Murray Cumming <murrayc murrayc com>
-
- * sigc++/adaptors/macros/bind.h.m4:
- * sigc++/adaptors/macros/retype.h.m4:
- * sigc++/functors/macros/functor_trait.h.m4:
- * sigc++/functors/macros/slot.h.m4:
- * sigc++/macros/retype.h.m4:
- * sigc++/macros/signal.h.m4: Revert the previous changes, because none is
- used in the exported symbol names from gtkmm, so this would break the ABI
- of gtkmm.
-
-2006-05-26 Régis Duchesne <hpreg vmware com>
-
- * sigc++/adaptors/macros/bind.h.m4:
- * sigc++/adaptors/macros/retype.h.m4:
- * sigc++/functors/macros/functor_trait.h.m4:
- * sigc++/functors/macros/slot.h.m4:
- * sigc++/macros/retype.h.m4:
- * sigc++/macros/signal.h.m4:
- Renamed 'nil' to 'none' to allow an Objective-C++ compiler to compile
- the library header files.
-
-2005-12-21 Murray Cumming <murrayc murrayc com>
-
- * sigc++/macros/signal.h.m4: Make remaining
- reverse_iterator_buf operator--() methods
- return by reference, like the operator++() methods.
- Bug #304402 from John Profic.
-
-2005-12-20 Murray Cumming <murrayc murrayc com>
-
- * sigc++/macros/signal.h.m4: Make all operator--() methods
- return by reference, like the operator++() methods.
- Bug #304402 from John Profic.
-
-2005-12-14 John Profic <profic kursknet ru>
-
- * sigc++/macros/signal.h.m4: Fix compilation problem in
- the last patch.
-
-2005-12-14 John Profic <profic kursknet ru>
-
- * sigc++/macros/signal.h.m4: Added emit_reverse().
-
-This is the HEAD branch, for API/ABI-compatible API additions.
-See also the libsigc-2-0 branch.
-
-2005-12-01 Murray Cumming <murrayc murrayc com>
-
- * sigc++/functors/slot_base.cc:
- slot_base::disconnect(): Set call_ to 0,
- to invalidate the slot, even if parent_ is 0.
- I think parent_ is, for instance, a signal, but
- disconnect should still work on a slot that is not
- connected to a signal, because a slot can be invoked
- directly.
- Fixes bug #311057 from James Lin.
-
-2005-12-01 Murray Cumming <murrayc murrayc com>
-
- * tests/Makefile.am:
- * tests/test_slot_disconnect.cc: Added test
- case from bug #311057.
-
-2005-11-16 Philipp Berndt <philipp berndt gmx net>
-
- * sigc++/adaptors/macros/exception_catch.h.m4: Make member
- exception_catch_functor<T_functor, T_catcher, void>::catcher_
- public so that it can be accessed by visit_each()
- (bug fixed for generalization on 2004-11-06)
-
-2.0.16:
-
-2005-08-01 Neal E. Coombes <nealc trdlnk com>
-
- * sigc++/signal_base.h: Updated the documentation for temp_slot_list
- as requested in bug #303896.
-
-2005-08-01 Murray Cumming <murrayc murrayc com>
-
- * sigc++/adaptors/hide.h.m4: Added missing
- ) in call to sun_forte_workaround(), fixing
- build on SUN Forte 5.5. Bug #312020.
-
-2005-08-19 Bruno Martinez <brunom fing edu uy>
-
- * sigc++/type_traits.h: Renamed
- ::sigc::is_base_and_derived::internal to
- ::sigc::is_base_and_derived::internal_class
- in order to avoid conflict with
- namespace internal.
-
-2005-07-13 Murray Cumming <murrayc murrayc com>
-
- * docs/manual/libsigc_manual.xml: Correct mentions of
- 1.2 stuff instead of 2.0. Patch in bug #310213 from
- pebble.org.uk.
-
-2005-07-13 Murray Cumming <murrayc murrayc com>
-
- * docs/manual/libsigc_manual.xml: Fixed typo
- found by Antonio Coralles.
-
-2005-07-09 Murray Cumming <murrayc murrayc com>
-
- * sigc++/macros/signal.h.m4: Did the same (see
- last commit) for slot_const_iterator and
- slot_iterator_buf.
-
-2005-07-09 Murray Cumming <murrayc murrayc com>
-
- * sigc++/macros/signal.h.m4: slot_iterator:
- operator--() now returns value, not reference, like
- operator++() already did. This caused crashes when
- using --no-inline with g++. Bug #308651 by
- Michael Andres.
-
-2.0.15:
-
-2005-07-04 Philip Langdale <plangdale vmware com>
-
- * sigc++/adaptors/macros/compose.h.m4: Add a setter typedef to
- compose*_functor and use it instead of the (incorrect) getter
- typedef in the compose* specialization of visit_each<>().
- This corrects the lifetime management of slots created with
- compose(). Bug #308433.
-
-2005-06-13 Marek Rouchal <marek rouchal infineon com>
-
- * tests/test_deduce_result_type.cc: Specify int return type
- for main(), to be more ISO C++ compliant. Bug #307478.
-
-2005-06-11 Andris Pavenis <pavenis latnet lv>
-
- * sigc++/adaptors/lambda/macros/base.h.m4:
- * sigc++/adaptors/lambda/macros/select.h.m4
- * sigc++/adaptors/macros/hide.h.m4: Specify only a type (not a
- parameter name) for unused member function parameters
-
-2005-06-12 Paul Pogonyshev <pogonyshev gmx net>
-
- * configure.ac:
- * scripts/cxx.m4:
- * sigc++config.h.in: Add test for whether the compiler allows
- referencing to member functions of the class/structure being
- declared from a definition of a static member variable.
- Supposedly a generic solution for GCC 3.2 compilation problems.
-
- * sigc++/type_traits.h: Define SIGC_WRAP_IS_BASE_CLASS_ based on
- results of the above test.
- (struct is_base_and_derived): Wrap up is_base_class_() functions
- in an internal class if SIGC_WRAP_IS_BASE_CLASS_ is defined.
-
-2005-06-10 Murray Cumming <murrayc murrayc com>
-
- * sigc++/adaptors/macros/bind.h.m4:
- * sigc++/functors/macros/slot.h.m4:
- * sigc++/macros/signal.h.m4: Use CALL_SIZE instead of
- hard-coded 7s and 6s.
-
-2.0.14:
-
-2005-06-10 Murray Cumming <murrayc murrayc com>
-
- * sigc++/visit_each.h: Make the
- limit_derived_target::with_type inner class an outer class,
- to satisfy the SUN CC 5.7 compiler, though I think it is a
- compiler bug. Bug #302098 has the test case.
-
-2.0.13:
-
-2005-06-07 Murray Cumming <murrayc murrayc com>
-
- * tests/test_compatibility.cc: Specify the actual class when
- using test_int(), instead of the derived class, to fix the build
- on SUN Forte CC 5.5. Patch from Friedemann Kleint in
- Bug #305647
-
-2005-06-07 Murray Cumming <murrayc murrayc com>
-
- * sigc++/macros/signal.h.m4: signal_emit::emit(): Use scope to
- ensure a certain order of destruction of the member variables, to
- avoid a leak on MSVC++. Patch by Andreas Ames in Bug #306249.
-
-2005-06-07 Murray Cumming <murrayc murrayc com>
-
- * sigc++/macros/signal.h.m4: Added comments about commenting-out
- SIGC_TYPEDEF_REDEFINE_ALLOWED when using SUN Forte CC 5.7,
- because I can not seem to create a test for it.
-
-2005-06-07 Murray Cumming <murrayc murrayc com>
-
- * configure.ac:
- * scripts/cxx_std.m4:
- * sigc++/macros/signal.h.m4:
- * sigc++config.h.in: Added check for
- the non-standard SUN Forte reverse_iterator<>,
- and used it. This is based on the same stuff in
- gtkmm.
-
-2005-06-07 Murray Cumming <murrayc murrayc com>
-
- * sigc++/visit_each.h: limit_derived_target(): Just some whitespace
- changes.
-
-2005-05-16 Neal E. Coombes <nealc trdlnk com>
-
- * sigc++/signal_base.h: Modified temp_slot_list to be a temporary view
- into a slot list. Instead of emptying the original it now simply tacks
- a placeholder to the end of the original. It then uses this as it's
- 'end' iterator. This should allow for conscious recursiveness, as well
- as inserting a slot to any position in the slot list during emittion.
- See bug #303896.
-
-2005-06-04 Friedemann Kleint <kleint bifab de>
-
- * sigc++/macros/limit_reference.h.m4:
- visit_each() template specializations:
- Mention the bool I_derives_trackable
- template type, to fix the build on Solaris
- Forte 5.5.
-
-2.0.12:
-
-2005-05-06 Régis Duchesne <hpreg vmware com>
-
- * sigc++/macros/limit_reference.h.m4 (added):
- * sigc++/Makefile.am:
- New class that just stores a reference, and makes sure that if the
- reference derives from trackable, then the trackable reference will be
- used instead of the derived reference in visit_each().
- * sigc++/functors/macros/mem_fun.h.m4: Better fix for bug #169225 by
- Régis Duchesne and Christian Hammond, based on the new limit_reference
- class.
- * sigc++/adaptors/bound_argument.h (added): New class (built upon the
- new limit_reference class) that handles all 3 kinds of bound arguments:
- by value, by reference, and by constant reference. References are
- unwrapped in the bound_argument's constructor.
- * sigc++/adaptors/macros/bind.h.m4: Fix for bug #302327 by Régis
- Duchesne. Bound arguments now need to know whether they are passed by
- reference or not. So bind() now builds bind_functor instances using
- 'reference_wrapper<Foo>' types, instead of 'Foo &' types. The
- bind_functor code is modified to compensate.
- * sigc++/adaptors/macros/bind_return.h.m4: Similar fix for a similar
- bug (unfiled) with bound return arguments.
- * sigc++/reference_wrapper.h:
- * sigc++/type_traits.h:
- The reference_wrapper class is only used in bound_argument.h. Put
- correct but unused code under #if 0.
- * sigc++/adaptors/lambda/base.h: This file needs reference_wrapper.h,
- but was incorrectly relying on type_traits.h to include it.
- * tests/Makefile.am:
- * tests/test_virtualbase_delete.cc (deleted):
- * tests/test_virtualbase_delete_ref_param.cc (deleted):
- * tests/test_limit_reference.cc (added):
- Replaced test_virtualbase_delete*.cc with a simpler
- test_limit_reference.cc which checks for all 3 aspects of the same bug
- in one file.
- * tests/test_bind_ref.cc: Slots must use 'Foo &' types. We were lucky
- this broken usage worked before this change. The change in
- type_traits.h made this bug obvious, by preventing the code to compile.
- * tests/test_bind_return.cc: After my change, bind() and bind_return()
- must use 'reference_wrapper<Foo>' types.
- * tests/test_custom.cc: Made this test a no-op (so it does not perturb
- 'make check' on released versions of the library) and made it a
- template ready to be modified by hackers.
-
-2005-05-01 Murray Cumming <murrayc murrayc com>
-
- * sigc++/functors/slot_base.cc:
- slot_base::slot_base(src): If the source
- slot_base has a null rep->call_, meaning that the
- slot is invalid, just return a default-constructed
- slot, to prevent the crash shown in
- tests/tests_copy_invalid_slot.cc. Bug #302515 by
- Régis Duchesne.
-
-2005-05-01 Murray Cumming <murrayc murrayc com>
-
- * sigc++/functors/macros/mem_fun.h.m4: bound_*<>:
- Add a new is_base_and_derived<sigc::trackable>
- parameter to the template and thereby provide a
- specialization for T_Obj types that derive from
- sigc::trackable. This prevents a crash when casting
- from the derived type to sigc::trackable after the
- derived destructor has run. This cast can sometimes
- fail when using multiple inheritance, at least with
- g++. Bug #169225 by Régis Duchesne and Christian
- Hammond.
- * sigc++/type_traits.h: Add documenation for
- the internal is_base_and_derived<> template, which
- allows us to specialize other templates for certain
- template types.
-
-2005-04-28 Murray Cumming <murrayc murrayc com>
-
- * sigc++/type_traits.h: Added comments for users of
- g++ 3.2.
-
-2005-04-28 Murray Cumming <murrayc murrayc com>
-
- * tests/Makefile.am:
- * tests/test_virtualbase_delete.cc: Added
- simplified test case from bug #169225. We have a patch
- to make this succeed but I am not ready to commit it
- just yet.
-
-2005-04-27 Murray Cumming <murrayc murrayc com>
-
- * tests/Makefile.am:
- * tests/test_custom.cc:
- Added a place to put extra test code, so I don't have
- to keep installing my crazy libsigc++ versions.
-
-2005-04-27 Murray Cumming <murrayc murrayc com>
-
- * sigc++/visit_each.h: Revert back to the non-explicit
- template call, because we can not specify the
- template specialization so easily, because the
- specializations have different numbers of types.
- * tests/Makefile/am:
- * tests/test_bind_ref.cc: Add a simple test only for
- sigc::ref disconnection.
-
-2005-04-26 Murray Cumming <murrayc murrayc com>
-
- * sigc++/visit_each.h: Use the explicit template
- specialization, needed for Tru64 and AIX compilers.
- This causes a crash in some uses of sigc::ref()
- (when using g++ 3.3.4 or 3.3.5 , but not with 3.4) but
- seems to fix a crash in some uses of multiple inheritance
- (bug #169225).
- * tests/test_bind.cc: Comment out the crashing (not with
- g++ 3.4) use of sigc::ref() with an explanatory comment.
-
-2.0.11:
-
-2005-03-09 Cedric Gustin <cedric gustin swing be>
-
- * Makefile.am: Moved MSVC_Net2003 directory to SUBDIRS.
- * MSVC_Net2003/Makefile.am: Added blank.cpp to EXTRA_DIST.
- * MSVC_Net2003/libsigc++2_msvcNet2003.sln: Removed
- test_accumulated and test_lambda projects as the tests are
- disabled in the standard, configure-based build.
- * MSVC_Net2003/MSVC_Net2003/libsigc++2_msvcNet2003.vcproj:
- Generate a PDB file in the Debug target.
-
-2005-03-05 Murray Cumming <murrayc murrayc com>
-
- * docs/website/stable.html: Mention actual supported compilers.
- * docs/website/docs.html: Removed broken examples links. Change
- reference link to the reference overview page.
-
-2005-02-23 Murray Cumming <murrayc murrayc com>
-
- * sigc++/functors/slot_base.h: Make slot_base::operator=() public, to
- fix the build with SUN Forte C++ 5.5 and Tru64.
-
-2.0.10:
-
-2005-02-20 Murray Cumming <murrayc murrayc com>
-
- * tests/test_slot.cc, test_disconnect.cc: #included <new> to avoid
- an unresolved symbol error with the Tru64 compiler. Solution found by
- Tim Mooney in bug #161503.
-
-2005-02-20 Martin Schulze <mschulze cvs gnome org>
-
- * sigc++/signal_base.h: Add some documentation.
-
-2005-02-20 Martin Schulze <mschulze cvs gnome org>
-
- * sigc++/signal_base.cc: Reset deferred_ flag to false in
- signal_impl::sweep() (Neal E. Coombes). Partly fixes bug #167714.
-
-2005-02-11 Martin Schulze <mschulze cvs gnome org>
-
- * docs/manual/Makefile.am: Set the correct group in post-html.
-
-2005-02-11 Murray Cumming <murrayc murrayc com>
-
- * docs/website/doc.shtml: Fix typo in url for reference docs. Found by
- James Lin.
-
-2005-02-06 Murray Cumming <murrayc murrayc com>
-
- * sigc++/signal_base.h: temp_slot_list::begin(), end(): Actually
- return the iterators.
-
-2005-02-03 Neal E. Coombes <nealc trdlnk com>
-
- * sigc++/signal_base.h: Add temp_slot_list struct to facilitate
- allowing new connections to a signal during an emittion without
- affecting that emittion.
- * sigc++/macros/signal.h.m4: Use the new struct temp_slot_list to
- prevent connections made during an emittion from being called in the
- same emittion (which has the potential of causing things like
- infinite loops). This guarantees an emittion will be finite, as well
- as maintaining any order of emittion guarantees that may have already
- been in place.
-
-2.0.9:
-
-2005-02-02 Murray Cumming <murrayc murrayc com>
-
- * sigc++/visit_each.h: visit_each_type(): Reverted the change, so that
- we do not specify the template types ot visit_each<>(), because it
- crashes on g++ 3.3.4 (but not g++ 3.4.2). Added a comment telling users
- of AIX (and maybe IRIX MipsPro and Tru64) to use the alternative version
- if they have compilation problems.
-
-2005-02-01 Murray Cumming <murrayc murrayc com>
-
- * sigc++/adapators/macros/base.h.m4: Add sigc::var<>() documentation,
- from Roger Ferrer Ibáñez in bug #149483.
-
-2005-02-01 Murray Cumming <murrayc murrayc com>
-
- * sigc++/adaptors/macros/compose.h.m4: In the template specializations
- of visit_each(): As before, specify the specific other template
- specializations of visit_each that we use. Needed by AIX.
- * tests/Makefile.am: Reenabled most tests, because AIX can now
- build them.
-
-2005-02-01 Murray Cumming <murrayc murrayc com>
-
- * sigc++/visit_each.h: visit_each_type(): Specify the specific
- template specialization of visit_each<>() to use. The AIX compiler,
- and possibly the Tru64 compiler, need this extra hint.
-
-2005-02-01 Murray Cumming <murrayc murrayc com>
-
- * bind.h.m4: Define bind_functor::operator() inline because the AIX
- compiler/linker sometimes fails to find it when it is defined
- outside of the class.
-
-2.0.8:
-
-2005-01-30 Murray Cumming <murrayc murrayc com>
-
- * sigc++/type_traits.h: is_base_and_derived: Added
- avoid_gcc3_warning_(), to avoid an incorrect warning when using
- g++ 3.3.5
-
-2005-01-28 Liza Klerck <liza trdlnk com>
-
- * sigc++/functors/macros/mem_fun.h.m4: Add a sigc:: namespace
- prefix to the nested use of visit_each(), to avoid ambiguity when
- using 2 versions of the libsigc++ API inside different namespace.
-
-2005-01-27 Murray Cumming <murrayc murrayc com>
-
- * sigc++/adaptors/macros/adaptor_trait.h.m4: Add a sigc:: namespace
- prefix to the nested use of visit_each(), to avoid ambiguity when
- using 2 versions of the libsigc++ API inside different namespace,
- which is not very advisable anyway. Bug #165222 from
- liza at trdlnk.com.
-
-2.0.7:
-
-2005-01-24 Cedric Gustin <cedric gustin swing be>
-
- * sigc++config.h.in : Moved the SIGC_USING_STD macro definition
- out of the SIGC_CONFIGURE section. We also need it for MSVC.
- * MSVC_Net2003/.cvsignore : Added .def and .aps files
- * MSVC_Net2003/Makefile.am: Rewrote rule for local copy of
- sigc++config.h (required for 'make distcheck').
- * MSVC_Net2003/libsigc++2_msvcNet2003.sln: Added test_retype and
- test_disconnect_during_emit tests.
- * MSVC_Net2003/tests/test_disconnect_during_emit/*,
- MSVC_Net2003/tests/test_retype/*: Initial commit.
-
-2005-01-21 Murray Cumming <murrayc murrayc com>
-
- * tests/: Disabled the test_accumulator, test_bind, and test_compose
- tests, and part of test_mem_fun because the AIX xlC compiler can not
- build them, but it can still do most things, including the examples.
- See the comments in tests/Makefile.am.
-
-2005-01-21 Murray Cumming <murrayc murrayc com>
-
- * sigc++/adaptors/bind.h.m4: non-member operator()(): Specify the
- extra nil arguments in the templated class name prefix. Oddly, the
- AIX xlC compiler says that the type of the first parameter does not
- match the template if you don't do this.
-
-2005-01-21 Murray Cumming <murrayc murrayc com>
-
- * sigc++/type_traits.h: is_base_and_derived struct: Move the
- is_base_class_() functions out of the inner class, because the AIX
- xlC compiler does not like that - see the comments in the code.
- * sigc++/adaptors/bind.h.m4: Add the extra nil template types to
- the template specializations, as in slot and signal.
-
-2005-01-21 Murray Cumming <murrayc murrayc com>
-
- * sigc++/functors/macros/slot.h.m4, sigc++/macros/signal.h.m4:
- slot and signal template specialization for
- various numbers of template args: In the class slot line, specify
- all the remaining template types as null, instead of expecting the
- compiler to guess them in itself. This partly fixes the build on
- AIX with the xlC compiler. Bug #164685.
-
-2005-01-19 Murray Cumming <murrayc murrayc com>
-
- * sigc++/type_traits: struct is_base_and_derived: Make the test inner
- struct a friend, so that it can use the big inner struct. This is
- required by the Tru64 compiler.
- * sigc++/adaptors/lambda/base.h: Put the unwrap_lambda_value()
- definitions at the top, because Tru64 (understandably) needs them to
- be declared before use.
-
-2005-01-19 Murray Cumming <murrayc murrayc com>
-
- * scripts/: Added cxx_std.m4, with a test copied from
- glibmm/scripts/cxx_std.m4 to check if the compiler has the std::
- namespace.
- * sigcconfig.h: #undef the new #define and add SIGC_USING_STD(),
- like GLIBMM_USING_STD, to put stuff in the std:: namespace when it
- is not there already,
- * configure.in: Used the new test.
- * tests/*: Uses SIG_USING_STD() for every std:: thing that we use.
- This is needed by the Tru64 and HP-UX compilers when using their
- defaults.
-
-2005-01-19 Murray Cumming <murrayc murrayc com>
-
- * configure.in: AC_INIT(): Provide the extra tarball name parameter,
- so that it does not create a libsigc--- tarball.
-
-2005-01-19 Murray Cumming <murrayc murrayc com>
-
- * configure.in: AC_INIT(): Use libsigc++ instead of sigc++, attempting
- to get the correct tarball name.
-
-2005-01-18 Murray Cumming <murrayc murrayc com>
-
- * configure.in: Used the autoconf 2.93 and AM_INIT_AUTOMAKE()
- technique to specify ustar format for the tarball, to prevent files
- with long file names from appearing at the top of the tarball.
- Based on the same fix in gtkmm 2.6.
-
-2005-01-18 Murray Cumming <murrayc murrayc com>
-
- * sigc++/functors/macros/slot_h.m4: Specify the base class when
- using the rep_ member variable. This stops the HP-UX aCC compiler
- from saying that a Nonstatic member is referenced in a nested class,
- local class or static member initializer. Bug #150719.
-
-2005-01-18 Murray Cumming <murrayc murrayc com>
-
- * Bug #159597 - patch from e97_far at e.kth.se to replace C-style
- casts with reinterpret_cast<> and static_cast<> to avoid warnings.
-
-2005-01-17 Murray Cumming <murrayc murrayc com>
-
- * docs/manual/Makefile.am: Specifying html/index.html instead of
- just the html directory as a target seems to fix distcheck problems.
- I can also now confirm that the install works on solaris, when using
- gmake, though not when using make.
-
-2005-01-17 Murray Cumming <murrayc murrayc com>
-
- * MSVC_Net2004/Makefile.am: Add built files to DISTCLEANFILES to fix
- the distcheck.
- * docs/reference/Makefile.am, manual/Makefile.am: Specify $srcdir in
- paths, to fix distcheck of the manual, and maybe fix install problems
- on Solaris.
-
-2005-01-11 Murray Cumming <murrayc murrayc com>
-
- * docs/website/stable.html: Updated the text about binary packages.
- * docs/website/docs.html: Link to the 2.0 documentation instead of the
- 1.2 documentation.
-
-2004-12-17 GregSchussman <schussman slac stanford edu>
-
- * glossary.shtml: Clean up punctuation, make definitions complete
- sentences, and add clarifications for certain definitions according to
- what Murray Cumming's suggestions and answers to my questions.
- Bug #161580.
-
-2005-01-11 Murray Cumming <murrayc murrayc com>
-
- * docs/: Added manual, copied from the libsigc++-1.2 cvs module,
- and updated it for the new 2.0 API.
-
-2005-01-11 Murray Cumming <murrayc murrayc com>
-
- * docs/: Added website, copied from the libsigc++-1.2 cvs module.
- We will use it from here from now on.
-
-2004-12-11 Cedric Gustin <cedric gustin swing be>
-
- * configure.ac : parse version tags at configure time (for
- sigc-2.0.rc).
- * MSVC_Net2003/sigc-2.0.rc.in : New resource file.
- * MSVC_Net2003/Makefile.am: include sigc-2.0.rc in distribution.
-
-2004-12-08 Cedric Gustin <cedric gustin swing be>
-
- * MSVC_Net2003/Makefile.am: get sigc++config.h from $(top_builddir)
- instead of $(top_srcdir).
-
-2004-12-08 Cedric Gustin <cedric gustin swing be>
-
- * MSVC_Net2003/*/*.vcproj: Renamed libsigc++ target to
- sigc-2.0d.dll (Debug) and sigc-2.0.dll (Release). Added
- $(SolutionDir) and $(SolutionDir)\.. to "Additional Include
- Directories" in tests projects.
- * sigc++config.h.in: Rewrote dllexport/dllimport macros for
- MSVC, for better consistency with glibmm/gtkmm.
- * MSVC_Net2003/Makefile.am: copy sigc++config.h from $(top_srcdir)
- at build time.
-
-2004-11-27 Murray Cumming <murrayc murrayc com>
-
- * configure.in: Revert the AC_PROG_LIBTOOL change, so that this builds
- with actually released libtool versions, and in jhbuild, so that it
- gets testing.
-
-2004-11-06 Martin Schulze <mschulze cvs gnome org>
-
- * sigc++/adaptors/macros/exception_catch.h.m4: Make catcher_ member
- public so that it can be accessed by visit_each() (bug reported on
- ml by Philip Langdale <plangdale vmware com>).
-
-2004-10-24 Martin Schulze <mschulze cvs gnome org>
-
- * MSVC_Net2003/*/*.vcproj: Link with the "multithreaded DLL" runtime
- libraries and enable RTTI for the MSVC build
- (patch from Timothy M. Shead <tshead k-3d com>).
- * MSVC_Net2003/*/.cvsignore: Hide generated build files from cvs
- (patch from Timothy M. Shead <tshead k-3d com>).
-
-2.0.6:
-
-2004-10-12 Martin Schulze <mschulze cvs gnome org>
-
- * MSVC_Net2003/*/*.vcproj, MSVC_Net2003/blank.cpp: Fix project files
- to compile out-of-the-box and add dummy file so that .cc files get
- recognized as c++ code files (patch from Timothy M. Shead).
-
-2004-10-10 Martin Schulze <mschulze cvs gnome org>
-
- * sigc++/signal_base.{h,cc}, sigc++/functors/slot_base.{h,cc},
- sigc++/functors/macros/slot.h.m4: If SIGC_NEW_DELETE_IN_LIBRARY_ONLY
- is defined, implement signal_base::operator new/delete and
- slot_rep::operator new/delete (suggested by Timothy M. Shead).
- Remove old work-around from 2004-10-02 since it didn't work.
-
-2004-10-07 Martin Schulze <mschulze cvs gnome org>
-
- * configure.ac: Update for libtool 1.5a (with support for Intel C++).
- * MSVC_Net2003/sigc++config.h: Remove bogus '#define'
- (reported by Timothy M. Shead <tshead k-3d com>).
-
-2004-10-02 Martin Schulze <mschulze cvs gnome org>
-
- * configure.ac: Bump version number to 2.0.6.
- * NEWS: Add ChangeLog summary for version 2.0.6.
-
-2004-10-02 Martin Schulze <mschulze cvs gnome org>
-
- * sigc++/functors/slot_base.{h,cc}, sigc++/functors/macros/slot.h.m4:
- Rename (typed_)slot_rep::detach to (typed_)slot_rep::destroy.
- Call the dtor of the functor stored in typed_slot_rep from destroy().
- A cleaner solution would be to add an additional "virtual" function
- that calls 'delete' or a real virtual dtor. However, this would be
- less efficient and might break the ABI. (Fixes #152323.)
-
-2004-10-02 Martin Schulze <mschulze cvs gnome org>
-
- * sigc++config.h.in, MSVC_Net2003/sigc++config.h,
- sigc++/signal_base.cc, sigc++/functors/slot_base.{h,cc},
- sigc++/functors/macros/slot.h.m4: Define and use new macro
- SIGC_NEW_DELETE_IN_LIBRARY_ONLY to ABI-compatibly move
- all calls to new and delete into non-inline library code.
-
-2004-09-26 Martin Schulze <mschulze cvs gnome org>
-
- * sigc++/adaptors/lambda/macros/group.h.m4: Add a missing
- template keyword in the definition of deduce_result_type::type
- (hopefully fixes #152327).
-
-2004-09-26 Martin Schulze <mschulze cvs gnome org>
-
- * sigc++/macros/object_slot.h.m4: Use correct bound_mem_functor
- variants for const (volatile) methods (fixes #148744).
-
-2004-09-01 Martin Schulze <mschulze cvs gnome org>
-
- * docs/index.html: Correct link to lambda module.
-
-2004-09-01 Martin Schulze <mschulze cvs gnome org>
-
- * README: Update compatibility section.
-
-2.0.5:
-
-2004-09-01 Martin Schulze <mschulze cvs gnome org>
-
- * MSVC_Net2003/Makefile.am: Add sigc++config.h to EXTRA_DIST.
- * configure.ac: Bump version number to 2.0.5.
- * NEWS: Add ChangeLog summary for version 2.0.5.
-
-2.0.4:
-
-2004-08-21 Martin Schulze <mschulze cvs gnome org>
-
- * tests/test_lambda.cc: Use sigc::var("\n") instead of sigc::ref("\n").
- Comment out the affected lines, nevertheless.
- Sun FORTE and Compaq C++ can handle neither sigc::ref("\n") nor
- sigc::var("\n"). I see more chances fixing sigc::var("\n").
- * sigc++/adaptors/lambda/macros/base.h.m4: Add a comment about a
- possible work around for sigc::var("\n") compiler problems.
- * tests/test_compatibility.cc: Remove a 'const' keyword that prevents
- the test case from compiling with the Sun FORTE.
- * tests/test_trackable.cc: Remove a 'virtual' keyword and an unused
- variable to avoid compiler warnings.
- * NEWS: Add ChangeLog summary for version 2.0.4.
-
-2004-08-03 Martin Schulze <mschulze cvs gnome org>
-
- * scripts/cxx.m4, sigc++config.h.in, configure.ac,
- sigc++/adaptors/lambda/macros/operator.h.m4, tests/test_lambda.cc:
- Rollback change from 2004-07-15: configure check
- SIGC_OPERATOR_OVERLOAD_AMBIGUITY is not needed - the overload
- ambiguity doesn't occur if the lambda operators take all arguments
- as const reference.
- * configure.ac: Bump version number to 2.0.4.
-
-2004-08-03 James Lin <slimjimmy mail com>
-
- * Added SIGC_API qualifier to all externally-visible non-template
- classes/structs.
- * Added #include <sigc++config.h> to the files that use SIGC_API.
- * Added empty SIGC_API definition to sigc++config.h.in for non-MSVC
- compilers. I'm not sure if this is the right place to put this
- (probably not).
- * Added MSVC-specific sigc++config.h to the MSVC project directory.
- (The comment in it probably should be edited.)
- * Changed MSVC project settings to output a multi-threaded DLL, set
- the include paths to work (hopefully) out-of-the-box. Disabled
- precompiled headers, since they just complicate things and
- shouldn't be necessary for such a relatively project.
-
-2004-08-01 Martin Schulze <mschulze cvs gnome org>
-
- * sigc++/type_traits.h: Remove type_trait<>::instance()
- (was unimplemented and unused; caused problems with the MSVC).
-
-2004-07-23 Martin Schulze <mschulze cvs gnome org>
-
- * Makefile.am: Fix typo concerning distribution of libsigc++-2.0.spec.
- * AUTHORS: Mention our contributors for platforms Sun FORTE and Intel C++.
-
-2004-07-15 Martin Schulze <mschulze cvs gnome org>
-
- * *.h.m4: Don't call operator()() in sun_forte_workaround(); rather copy
- operator()(). Calling operator()() makes a copy of the arguments causing
- wrong results if an argument type is a reference. Hopefully fixes #147311.
-
-2004-07-15 Martin Schulze <mschulze cvs gnome org>
-
- * tests/test_lambda.cc: Break "std::cout << [expr] << a << std::endl;"
- into "std::cout << [expr]; std::cout << a << std::endl;".
- I hope this fixes #147313 where the right values for "[expr]" but wrong
- values for "a" were written to std::cout for some compiler with optimizations
- turned off.
-
-2004-07-15 Martin Schulze <mschulze cvs gnome org>
-
- * sigc++/adaptors/lambda/macros/operator.h.m4: Correct return type deduction
- of lambda expressions in lambda_operator*::operator()(). Might be related to
- bug #147313.
- * sigc++/adaptors/lambda/macros/group.h.m4: Use m4 macro _P_().
-
-2004-07-15 Martin Schulze <mschulze cvs gnome org>
-
- * scripts/cxx.m4, sigc++config.h.in, configure.ac,
- sigc++/adaptors/lambda/macros/operator.h.m4, tests/test_lambda.cc:
- Add configure check SIGC_OPERATOR_OVERLOAD_AMBIGUITY for a SUN FORTE
- compiler problem (bug #147391). Use it to decide whether the lambda
- action operators may be overloaded (not doing so restricts the API slightly).
- * sigc++/adaptors/lambda/macros/operator.h.m4: Add some doxygen comments
- and remove attic code.
- * sigc++/adaptors/lambda/macros/base.h.m4:
- Add templates unwrap_lambda_type and unwrap_lambda_value() to support
- the non-overloaded lambda action operators. Also add some doxygen comments
- and remove attic code.
- * sigc++/adaptors/lambda/macros/group.h.m4: Fix a bug that resulted in
- gargabe values being passed on to the functor contained in the group adaptor
- (partly fixes #147313).
-
-2004-07-11 Martin Schulze <mschulze cvs gnome org>
-
- * scripts/cxx.m4, sigc++config.h.in, configure.ac, *.h.m4:
- Split SIGC_CXX_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
- into SIGC_CXX_GCC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
- and SIGC_CXX_MSVC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD.
- Remove LIBSIGC_TEMPLATE_PREFIX. Add template keyword to
- SIGC_WORKAROUND_OPERATOR_PARENTHESES depending on the configure checks.
- Should fix the compiler problems with MSVC.
-
-2004-07-11 Martin Schulze <mschulze cvs gnome org>
-
- * examples/hello_world.cc: Use sigc::ptr_fun instead of std::ptr_fun.
- (fixes bug #144846)
-
-2004-07-11 Eric Bourque <ericb computer org>
-
- * libsigc++-2.0.spec.in: new file
- * configure.ac : patched generate spec file
- * .cvsignore: ignore generated file (Martin Schulze)
- * Makefile.am: distribute spec file (Martin Schulze)
-
-2004-07-11 Murray Cumming <murrayc murrayc com>
-
- * sigc++/connection.cc: Added some comments.
- * sigc++/trackable.cc: operator=(): Check for self-asignment, though I
- do not know of any actual bug that this fixes. Added some comments.
- * sigc++/trackable.h Added some doxygen documentation.
-
-2004-07-09 Murray Cumming <murrayc murrayc com>
-
- * tests/: Added test_disconnect_during_emit.cc, to prove that this
- works.
-
-2004-07-08 Murray Cumming <murrayc murrayc com>
-
- * tests/test_retype_return.cc: foo::operator(int): return a
- value. The SUN Forte 5.5 compiler complains about this, as it should.
-
-2004-07-08 Murray Cumming <murrayc murrayc com>
-
- * sigc++/macros/signal.h.m4: class signal*: Rename the slot_list
- typedef to slot_list_type, because there is already a template class
- called slot_type. SUN Forte 5.5 seems to complain about this and I am
- not surprised. The old typdef is still there for backwards
- compatibility, except when building with SUN Forte.
-
-2004-07-07 Murray Cumming <murrayc murrayc com>
-
- * scripts/cxx.m4: SIGC_CXX_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD():
- Don't define the SIGC_TEMPLATE_SPECIALIZATOIN_OPERATOR_OVERLOAD C
- macro at all if the test fails. This might fix the build on SUN Forte.
- * sigc++/functors/macros/mem_fun.h.m4: Default constructor: Initialize
- the func_ptr_ member variable. I have no evidence that this solves any
- problems, but it worried me.
- * sigc++/functors/slot_base.h: operator bool(): Correct documentation,
- to use @code instead of <code>
- * sigc++/macros/signal.h.m4: Remove the documentation for the
- parameters named first and last, because they do not exist.
-
-2004-05-31 Martin Schulze <mschulze cvs gnome org>
-
- * autogen.sh: Add '--force'-flag to the 'libtoolize'-command (bug #143425).
-
-2.0.3:
-
-2004-05-30 Martin Schulze <mschulze cvs gnome org>
-
- * configure.ac: Bump version number to 2.0.3.
- * NEWS: Add ChangeLog summary for version 2.0.3.
- * sigc++/macros/signal.h.m4: Fix segfault on emission of unconnected signal.
- * tests/test_signal.cc, tests/test_accumulated.cc: Emit unconnected signal.
- * sigc++/macros/object_slot.h.m4: Suppress compiler warning at
- dynamic_cast<>-test (tested by Christof Petig/Timothy M. Shead).
-
-2.0.2:
-
-2004-05-22 Martin Schulze <mschulze cvs gnome org>
-
- * configure.ac: Bump version number to 2.0.2.
- * NEWS: Add ChangeLog summary for version 2.0.2.
-
-2004-05-20 Martin Schulze <mschulze cvs gnome org>
-
- * sigc++/macros/signal.h.m4: If a custom accumulator is specified
- invoke it on signal emission even if the signal's slot list is empty.
- (This used to be the case in libsigc++-1.2 as pointed out by Timothy.)
-
-2004-05-20 Martin Schulze <mschulze cvs gnome org>
-
- * sigc++/macros/object_slot.h.m4: Suppress compiler warning at
- dynamic_cast<>-test (suggested by Timothy M. Shead).
-
-2004-05-01 Martin Schulze <mschulze cvs gnome org>
-
- * README: Updated for libsigc++-2.0.
-
-2.0.1:
-
-2004-04-27 Martin Schulze <mschulze cvs gnome org>
-
- * configure.ac: Bump version number to 2.0.1.
- * NEWS: Add ChangeLog summary for version 2.0.1.
- * sigc++/adaptors/lambda/macros/base.h.m4: Fixed documentation.
- * sigc++/adaptors/macros/bind.h.m4: Hide work-arounds from doxygen.
- * scripts/cxx.m4, sigc++config.h.in, configure.ac,
- sigc++/adaptors/macros/bind.h.m4: Removed configure check. It
- showed that the Apple gcc can also compile the sophisticated version
- of the work-around.
-
-2004-04-26 Martin Schulze <mschulze cvs gnome org>
-
- * sigc++/macros/object_slot.h.m4: Modified test for SigC::Object
- inheritance so that it also works if SigC::Object is virtual base.
- (Fixes bug 141094 reported by Jonathan Brandmeyer)
-
-2004-04-26 Martin Schulze <mschulze cvs gnome org>
-
- * scripts/cxx.m4: Updated the configure check. It would probably
- have succeeded on the Apple.
-
-2004-04-26 Martin Schulze <mschulze cvs gnome org>
-
- * sigc++/adaptors/macros/bind.h.m4: Add work-arounds for
- bind<-1>::deduce_result_type compilation error on Apple gcc 3.3.
- * scripts/cxx.m4, sigc++config.h.in, configure.ac: Add configure
- check for the compilation error above.
- * sigc++/adaptors/lambda/macros/operator.h.m4: Replace _A with
- _Aa. _A is a reserved keyword on Apple gcc 3.3 (Spundun Bhatt).
- (fixes bug #10444 reported by Spundun Bhatt)
-
-2004-04-19 Martin Schulze <mschulze cvs gnome org>
-
- * sigc++/signal_base.cc: Fixed serious bug in signal_base::impl():
- Only reference a newly created object (initial reference).
- (This fixes bug #140269 reported by Andris.)
-
-2004-04-19 Murray Cumming <murrayc murrayc com>
-
- * scripts/cxx.m4: Updated the operator() template check, because it
- failed with gcc 3.4 (from cvs). Apparently the template keyword can
- only be used from another template.
-
-2.0.0:
-
-2004-04-06 Martin Schulze <mschulze cvs gnome org>
-
- * configure.ac: Bump version number to 2.0.0.
- * NEWS: Add ChangeLog summary for version 2.0.0.
- * TODO, AUTHORS: Bring up to date.
- * sigc++-2.0.pc.in, Makefile.am: 1.9 -> 2.0
- * Added more documentation.
-
-2004-04-10 Murray Cumming <murrayc murrayc com>
-
- * sigc++/connection.[h|cc]: Implement blocked() to avoid undefined
- symbol linker error.
-
-2004-04-08 Murray Cumming <murrayc murrayc com>
-
- * dist the scripts directory.
-
-1.9.16:
-
-2004-04-06 Martin Schulze <teebaum cvs gnome org>
-
- * configure.ac: Bump version number to 1.9.16.
- * NEWS: Add ChangeLog summary for version 1.9.16.
-
-2004-04-02 Murray Cumming <murrayc murrayc com>
-
- * sigc++/connection.cc: Make block() and unblock() always return a
- value, to fix compiler warnings. Patch from bug #138620 by
- Alexander Nedotsukov.
-
-2004-04-02 Murray Cumming <murrayc murrayc com>
-
- * Fix the compile of examples/member_method.cc. Bug #131701 from
- Kirill Smelkov. I also made the examples build as part of the regular
- build.
-
-2004-04-02 Murray Cumming <murrayc murrayc com>
-
- * sigc++config.h.m4: Remove every undef apart from the one we need, to
- avoid clashes, because we #include this in a public header.
-
-2004-03-25 Murray Cumming <murrayc murrayc com>
-
- * scripts/cxx.m4, configure.in, sigc++config.h.in: Rename the
- template_keyword check to template_specialization, because the problem
- is with or without the keyword.
- * sigc++/adaptors/macros/adaptor_trait.h.m4: Define
- SIGC_WORKAROUND_OPERATOR_PARENTHESES, which calls either operator() or
- sun_forte_workaround() depending on the result of the compiler test.
- * many .m4 files: Add sun_forte_workaround methods that call the
- operator() methods. Put them in #ifdefs so that only SUN Forte C++
- sees them.
-
-2004-03-22 Murray Cumming <murrayc murrayc com>
-
- * Makefile.am, sigc++/Makfile.am: Fix the sigc++config.h.in disting,
- to fix make distcheck.
-
-2004-03-21 Murray Cumming <murrayc murrayc com>
-
- * Rename config.h.in to sigc++config.h.in so that gtkmm does not
- include some other config.h at strange times - fixes a problem in
- the gtkmm demos. This should really be in the sigc++ directory, but
- that seems to add that as an include path, which causes the STL
- headers to include sigc++/signal.h instead of some STL signal.h header.
-
-2004-03-20 Murray Cumming <murrayc murrayc com>
-
- * Makefile.am: Install the config.h platform-specific header.
- * sigc++-2.0.pc.in: Report the include path for config.h
-
-2004-03-20 Murray Cumming <murrayc murrayc com>
-
- * Added config.h.in, using autoheader, from which config.h will be
- generated, so we can detect compiler features.
- * configure.ac: Added AC_CONFIG_HEADER(config.h) to generate config.h
- from config.h.in.
- * scripts/cxx.m4: Added this directory and file, with a
- SIGC_CXX_TEMPLATE_KEYWORD_OPERATOR_OVERLOAD macro that defines
- the SIGC_TEMPLATE_KEYWORD_OPERATOR_OVERLOAD C macro.
- * autogen.sh: Added -I scripts to the aclocal call, so that it finds
- the m4 macro for configure.ac.
- * sigc++/adapators/macros/adaptor_trait.h.m4: Include config.h and
- use SIGC_TEMPLATE_KEYOWRD_OPERATOR_OVERLOAD.
-
-2004-03-18 Martin Schulze <mschulze cvs gnome org>
-
- * tests/test_mem_fun.cc, tests/test_ptr_fun.cc: Don't test
- making functors from overloaded methods with partial template
- specialization. Not portable among different compilers (SUN FORTE).
- * adaptors/macros/apdaptor_trait.h.m4: Only gcc seems to use the
- notation A.template operator()<...>(...) => adapt preprocessor check
- for #define LIBSIGC_TEMPLATE_PREFIX. TODO: replace with configure check.
-
-2004-03-13 Murray Cumming <murrayc murrayc com>
-
- * g++ 3.4 (pre-release) build fixes:
- * sigc++/macros/signal.h.m4: slot_iterator_buf::operator*():
- Use blocked() and empty() instead of non-existant blocked_and_empty().
- * sigc++/functors/macros/mem_fun.h.m4: memfun_functor*::operator()():
- Use this->func_ptr_ instead of just func_ptr_.
- * sigc++/adaptors/macros/deduce_result_type.h.m4: Use
- T_functor::template deduce_result_type<> instead of just
- T_functor::deduce_result_type<>.
- * sigc++/adaptors/lambda/macros/base.h.m4, operator.h.m4, group.h.m4::
- Use template keyword again. operator[](): Use this->value_ instead of
- just value_.
- * sigc++/adaptors/lambda/macros/bind/m4: Use template keyword, and
- this-> again.
- * sigc++/adaptors/macros/compose.h.m4, hide.h.m4, bind_return.h.m4,
- exception_catch.h.m4:
- rettype.h.m4, rettype_return.h.m4: Use template keyword,and this-> again
-
-1.9.15:
-
-2004-02-27 Martin Schulze <teebaum cvs gnome org>
-
- * configure.ac: Bump version number to 1.9.15.
- * NEWS: Add ChangeLog summary for version 1.9.15.
-
-2004-02-27 Martin Schulze <teebaum cvs gnome org>
-
- * sigc++/functors/macros/slot.h.m4: Make the unnumbered slot templates'
- copy ctors use the copy ctors of the base class. Fixes bug #24698.
- * tests/test_slot.cc: Test copy ctor (Bryan Forbes).
-
-2004-02-27 Martin Schulze <teebaum cvs gnome org>
-
- * tests/type_functor_trait.cc: Bring it up-to-date (use sigc::ref).
- Make it work with the SUN Forte.
-
-2004-02-24 Martin Schulze <teebaum cvs gnome org>
-
- * sigc++/type_traits.h: Make is_base_and_derived<> work with the SUN Forte.
-
-2004-02-19 Martin Schulze <teebaum cvs gnome org>
-
- * sigc++/type_traits.h: Make is_base_and_derived<> platform independant.
- * sigc++/adaptors/lambda/macros/base.h.m4: Make lambda_core<> ctors
- explicit. Remove an unused ctor from lambda_core<T_type, true>.
-
-2004-02-14 Martin Schulze <teebaum cvs gnome org>
-
- * sigc++/functors/slot_base.h, sigc++/functors/macros/slot.h.m4:
- Move some documentation to slot_base.h.
- * sigc++/signal_base.h, sigc++/macros/signal.h.m4:
- Move some documentation to signal_base.h.
-
- API addition:
- * sigc++/functors/macros/slot.h.m4: Add numbered slot# templates.
- Make unnumbered slot templates inherit from slot#.
-
- API change:
- * sigc++/functors/macros/mem_fun.h.m4: Allow for methods of the object's
- base types to be passed into sigc::mem_fun(). (Used to be the case in
- libsigc++-1.2).
-
-2004-02-13 Murray Cumming <murrayc usa net>
-
- * sigc++/functors/slot_base.[h|cc], sigc++/trackable.[h|cc]: Create
- and use a typedef for the destroy_notify callback functions, to avoid
- confusion function pointer declaration syntax in the API.
-
-2004-02-13 Murray Cumming <murrayc murrayc com>
-
- * Moved implementation to .cc files:
- * sigc++/functors/: Added slot_base.[h|cc] which contains non-template
- code that was previsouly in the generated functors/slot.h and
- non-generated slot.cc files. All non-inline implementation is now in
- the .cc file.
- * sigc++/functors/macros/slot.m4: Removed the code that has been moved
- to slot_base.[h|cc].
- * sigc++/: Added signal_base.[h|cc] which contains non-template code
- that was previously in the generated signal.h and non-generated
- signal.cc file. All non-inline implementation is now in the .cc file.
- * sigc++/macros/signal.m4: Removed the code that ahs been moved to
- signal.cc
- * sigc++/connector.[h|cc]: method implementation moved to the .cc file.
-
-1.9.14:
-
-2004-02-13 Martin Schulze <teebaum cvs gnome org>
-
- * configure.ac: Bump version number to 1.9.14.
- * NEWS: Add ChangeLog summary for version 1.9.14.
-
-2004-02-09 Murray Cumming <murrayc usa net>
-
- * sigc++/functors/macros/slot.h.m4: slot_base: Added operator bool(), needed to
- check for a slot that is created with the default constructor. This was
- present in libsigc++ 1.2 also.
-
-2004-02-06 Murray Cumming <murrayc usa net>
-
- * Makefile.am: Build the docs directory, by adding it to SUBDIRS.
- * docs/Doxyfile.in: Updated to be more glibmm-like.
- * Added some @deprecated doxygen bits.
- * sigc++/macros/signal.h.m4: Call base constructor from signal_base
- constructor - this is an error-as-warning when building gtkmm.
-
-1.9.13:
-
-2003-11-30 Martin Schulze <teebaum cvs gnome org>
-
- * configure.ac: Bump version number to 1.9.13.
- * NEWS: Add ChangeLog summary for version 1.9.13.
- * Makefile.am, MSVC_Net2003/Makefile.am, configure.ac:
- Distribute MS .Net project files.
- * sigc++/adaptors/macros/[bind,hide].h.m4: Correct and add
- documentation. Make hide_functor ctor explicit.
-
-2003-11-11 Martin Schulze <teebaum cvs gnome org>
-
- * sigc++/adaptors/macros/[bind,hide].h.m4: Change to zero-based
- argument index in numbered bind() and hide() overload
- (Agreement on the mailing list).
- Support binding up to CALL_SIZE arguments with one bind adaptor.
- (Requested by joey yandle and others).
- Only support binding of multiple arguments in unnumberd overloads
- to keep the API simple (Requested by Murray Cumming).
- * tests/test_[bind,hide,functor_trait].cc, sigc++/bind.h:
- Reflect API changes in compatibility module and test cases.
-
-2003-11-10 Martin Schulze <teebaum cvs gnome org>
-
- * sigc++/adaptors/macros/[bind,hide].h.m4: Add unnumbered
- bind() and hide() overloads to make specifying the argument
- position optional (Proposed by Jeff Franks).
- * tests/test_[bind,hide].cc: Test unnumbered bind() and hide().
- * sigc++/adaptors/macros/adaptor_trait.h.m4:
- Change "#ifdef MSVC" to "#ifdef _MSC_VER" (Roel Vanhout).
-
-2003-11-09 Martin Schulze <teebaum cvs gnome org>
-
- * sigc++/functors/macros/slot.h.m4: Change functor type in
- typed_slot_rep to adaptor_trait::adaptor_type<T_functor>
- and use explicit function template instantiation in
- internal::slot_call::call_it(). Avoids copying of arguments
- in call_it() and enables binding of object instances
- to class methods through bind() (Reported by Jeff Franks).
- * tests/test_bind.cc: Test binding object instances to
- class methods through bind().
- * sigc++/adaptors/adaptors.h: Include retype[_result].h.
- * sigc++/adaptors/macros/adaptor_trait.h.m4:
- - Add documentation.
- - Mark some c-tors as explicit.
- - Remove ununsed operator T_functor&() from adaptor_functor.
- * sigc++/adaptors/macros/deduce_result_type.h.m4:
- Rewrite parts of the documentation.
- * sigc++/adaptors/macros/bind.h.m4: Add documentation.
- * sigc++/functors/macros/mem_fun.h.m4: Remove unnecessary
- explicit markers. Minor fixes to documentation.
- * sigc++/functors/macros/functor_trait.h.m4:
- Minor fixes to documentation.
-
-1.9.12:
-
-2003-11-04 Martin Schulze <teebaum cvs gnome org>
-
- * configure.ac: Bump version number to 1.9.12.
- * NEWS: Add ChangeLog summary for version 1.9.12.
-
-2003-11-03 Martin Schulze <teebaum cvs gnome org>
-
- * sigc++/macros/signal.h.m4: Document accumulators.
- Move slot_iterator_buf into namespace internal. Since
- accumulators have the iterator type as a template argument
- there is no need to expose this very internal type.
- * sigc++/functors/macros/*.m4: Regroup documentation.
- Documentation of the core parts of the library should be
- complete by now.
-
-2003-11-02 Martin Schulze <teebaum cvs gnome org>
-
- * Improve documentation of the core parts of the library.
- * tests/test_ptr_fun.cc: Test ptr_fun() with static
- member functions.
-
-2003-11-02 Martin Schulze <teebaum cvs gnome org>
-
- * Move all .m4 files into new subdirectories
- sigc++/[...]/macros. Install the .m4 files on
- "make install" (Reported by Ron Steinke).
-
-2003-11-01 Martin Schulze <teebaum cvs gnome org>
-
- * sigc++/[class,method,object]_slot.h.m4: Include
- sigc++/functors/mem_fun.h (Reported by Ron Steinke).
-
-2003-11-01 Martin Schulze <teebaum cvs gnome org>
-
- * sigc++/adaptors/lambda/operator.h.m4: Add negation
- operator I have completely overlooked until now.
- * sigc++/tests/test_lambda.cc: Test negation operator.
-
-2003-11-01 Martin Schulze <teebaum cvs gnome org>
-
- * sigc++/[class_slot,method_slot,object_slot,hide].h.m4,
- sigc++/signal.h.m4, sigc++/functors/mem_fun.h.m4:
- - Use a shorter notation for ..._mem_function variants.
- - Change order of mem_funcotr<>'s template arguments to
- match std::mem_fun_t and to be more consistent with adaptors.
- - Use ::sigc::slot's implicit ctor in compatibility module.
- * sigc++/adaptors/lambda/operator.h.m4: Change some
- lambda action names to match action names in std.
-
- API addition:
- * sigc++/adaptors/retype.h.m4: New file adding
- adaptor retype.
- * sigc++/Makefile.am: Build and distribute new file.
- * tests/test_retype.cc: New file testing adaptor retype.
- * MSVC_Net2003/tests/test_retype/test_reytype.vcproj,
- tests/Makefile.am: Build and distribute new test case.
-
-2003-11-01 Martin Schulze <teebaum cvs gnome org>
-
- * MSVC_Net2003: New directory containing project
- files for Visual Studio .Net 2003.
- Credits to Roel Vanhout <roel riks nl>!
-
-2003-11-01 Martin Schulze <teebaum cvs gnome org>
-
- * sigc++/retype.h.m4: Use LIBSIGC_TEMPLATE_PREFIX
- in explicit function template instantiations.
- * sigc++/type_traits.h: Add template specialization
- for arrays (T_type[N]) to disable non-working member
- type_trait<T_type[N]>::instance().
- * sigc++/visit_each.h: Remove more disturbing
- limit_derived_target<>::operator() overloads.
- (Should have noticed earlier that they are unnecessary.)
- * sigc++/adaptors/deduce_result_type.h.m4,
- sigc++/adaptors/lambda/operator.h.m4,
- sigc++/functors/functor_trait.h.m4,
- tests/test_[bind,compose,exception_catch,hide,lambda].cc:
- Completely removed support for typeof(). We don't need
- it any more and it is completely non-standard!
-
-2003-10-30 Cedric Gustin <cedric gustin swing be>
-
- * configure.ac: Added test of win32 platform. Commented
- out AM_DISABLE_SHARED (DLLs are shared libraries).
- * sigc++/Makefile.am: added a few LDFLAGS for win32
- DLLs.
-
-2003-10-30 Martin Schulze <teebaum cvs gnome org>
-
- * sigc++/signal.h.m4: Add SigC::Signal#<>::slot().
- * sigc++/slot.h.m4: Comment out make_slot() work-around.
- * sigc++/adaptors/bind.h.m4: Remove unnecessary brackets
- in template argument lists. They are confusing MSVC.
- * sigc++/adaptors/*.h.m4, sigc++/adaptors/lambda/*.h.m4:
- Use LIBSIGC_TEMPLATE_PREFIX in explicit function
- template instantiations.
- * sigc++/tests/test_*.cc:
- - Include <string> where std::string is used.
- - Use double instead of float.
-
-2003-10-27 Martin Schulze <teebaum cvs gnome org>
-
- * sigc++/retype.h.m4: Cleanup.
- * TODO: Bring it up to date.
-
-1.9.11:
-
-2003-10-26 Martin Schulze <teebaum cvs gnome org>
-
- * configure.ac: Bump version number to 1.9.11.
- * NEWS: Add ChangeLog summary for version 1.9.11.
-
-2003-10-26 Martin Schulze <teebaum cvs gnome org>
-
- Compatiblity module:
- * sigc++/signal.h.m4: Move definition of compatiblity
- classes SigC::SignalN to here.
- * sigc++/connection.h:
- - Add connection::connected().
- - Add compatibility typedef SigC::Connection.
- * sigc++/bind.h, sigc++/bind_return.h,
- sigc++/class_slot.h.m4, sigc++/hide.h.m4,
- sigc++/method_slot.h.m4, sigc++/object.h,
- sigc++/object_slot.h.m4, sigc++/retype.h.m4,
- sigc++/retype_return.h sigc++/slot.h.m4,
- sigc++/compatibility.h:
- New files to complete compatibility module.
- Split content of compatibility.h.m4 among the new files.
- * sigc++/compatibility.h.m4: Removed.
- * Makefile.am: Build and distribute new files.
- * tests/test_compatibility.cc: Test new stuff.
-
- Fixes:
- * sigc++/functors/slot.h.m4: Fix copy constructor and
- operator=() of slot template.
- * sigc++/adaptors/bind.h.m4: Fix deduce_result_type
- template specializations. bind<0>() probably compiles
- with gcc-3.3, now.
-
-2003-10-26 Martin Schulze <teebaum cvs gnome org>
-
- Fixes:
- * sigc++/functors/slot.{cc,h.m4}:
- - Fix notification process: don't defer detaching of a
- slot from all referred trackables during signal emission!
- - Size optimization: replace virtual functions from
- struct typed_slot_rep with function pointers in slot_rep
- (reduces size of a typical typed_slot_rep instantiation
- by 30% !!!).
- * tests/test_slot.cc: Test sigc::slot more thoroughly.
- * sigc++/functors/mem_fun.h.m4: Fix visit_each().
- * sigc++/adaptos/bind_return.h.m4: Add support for
- sigc::ref().
- * tests/test_bind_return.cc: Use sigc::ref().
- * sigc++/signal.h.m4: Avoid compiler warning about
- uninitialized variable r_ in emit().
- * sigc++/visit_each.h: Cleanup.
-
- API additions:
- * sigc++/adpators/lambda/operators.h.m4: Add
- lambda actions sigc::{reinterpret,static,dynamic}_cast_
- to support explicit parameter conversion.
- * tests/test_lambda.cc: Test sigc::static_cast_.
- * sigc++/adaptors/retype_return.h.m4: New file adding
- adaptor retype_return (and hide_return).
- * sigc++/Makefile.am: Build and distribute new file.
- * tests/test_retype_return.cc: New file testing
- adaptor retype_return (and hide_return).
- * tests/Makefile.am: Build and distribute new test case.
-
-2003-10-25 Martin Schulze <teebaum cvs gnome org>
-
- * sigc++/visit_each.h: Remove disturbing
- limit_derived_target<>::operator() overloads.
- * sigc++/adaptors/bind.h.m4: Add support for sigc::ref().
- * tests/test_bind.cc: Test sigc::ref().
- * sigc++/adaptors/lambda/{operator,group,base}.h.m4:
- - Move support for sigc::ref() from lambda_core<> into
- lambda operator and lambda group creator functions.
- - Add missing visit_each() overload for lambda<> template.
- * tests/test_lambda.cc: Test auto-disconnection.
- TODO: Fix a strange bug that leads to "Bus error"
- during auto-disconnection.
-
-1.9.10:
-
-2003-10-23 Martin Schulze <teebaum cvs gnome org>
-
- * configure.ac: Bump version number to 1.9.10.
- * NEWS: Add ChangeLog summary for version 1.9.10.
-
-2003-10-23 Martin Schulze <teebaum cvs gnome org>
-
- * sigc++/functors/{functor_trait,slot}.h.m4:
- Move definition of struct nil into functor_trait.h.
-
-2003-10-23 Martin Schulze <teebaum cvs gnome org>
-
- * configure.ac: Disable typeof() compiler checks.
- * sigc++/adaptors/bind.h.m4: Remove unnecessary
- deduce_result_type<> template specializations.
-
-2003-10-20 Martin Schulze <teebaum cvs gnome org>
-
- * sigc++/adaptors/compose.h.m4:
- Correct order of typedefs for good. (Patch from Jeff Franks.)
-
-1.9.9:
-
-2003-10-20 Martin Schulze <teebaum cvs gnome org>
-
- * sigc++/connection.h: Add constructor that takes
- a sigc::slot_base& to support 3rd-party slot lists
- like they are used in glibmm/gtkmm.
- * sigc++/functors/slot.h.m4: Make sigc::slot::call_type public.
- (Fixes compile problems reported by Jeff Franks.)
- * sig++/type_traits.h: Don't use long long in
- sigc::is_base_and_derived.
- (Fixes compile problems reported by Jeff Franks.)
- * sigc++/adaptors/{bind,compose,hide,exception_catch}.h.m4:
- Correct order of typedefs. (Repoted by Jeff Franks.)
- * configure.ac: Bump version number to 1.9.9.
- * NEWS: Add ChangeLog summary for version 1.9.9.
-
-1.9.8:
-
-2003-10-19 Martin Schulze <teebaum cvs gnome org>
-
- * sigc++/functors/slot.h.m4: Define doxygen group functors.
- * configure.ac: Bump version number to 1.9.8.
- * NEWS: Add ChangeLog summary for version 1.9.8.
-
-2003-10-19 Martin Schulze <teebaum cvs gnome org>
-
- * NEWS: Add announces of versions 1.9.6 and 1.9.7.
- * sigc++/compatibility.h.m4: New file. Defines namespace SigC.
- namespace SigC should be API compatible to libsigc++-1.2.
- * sigc++/Makefile.am: Build compatibility.h.
- * tests/test_compatibility.cc, tests/Makefile.am:
- Add test case for compatibility module.
- * docs/index.html: Change group names.
- * sigc++/sigc++.h: Include connection.h.
- * sigc++/connection.{cc,h}:
- - Rename dependency to destroy_notify_callback.
- - Change parameter name in set_slot() from d to data.
- - Fix operator=(): Add "return *this;"
- - Get rid of namespace functor.
- - Corrections in documentation.
- * sigc++/signal.{cc,h.m4}:
- - Add reference counter to signal_impl. Replaces "bool destroy_".
- - Move signal_base, slot_iterator[_buf], slot_list out of
- namespace internal. They are part of the public API.
- - Add convenience function signal#::make_slot().
- - Get rid of namespace functor.
- - Corrections in documentation.
- * sigc++/trackable.{cc,h}:
- - Rename dependency to destroy_notify_callback.
- - Rename trackable::clear() to trackable::notify_callbacks().
- - Corrections in documentation.
- * sigc++/type_traits.h: Add documentation.
- * sigc++/visit_each.h:
- - Get rid of namespace functor.
- - Add documentation.
- * sigc++/adaptors[/lambda]/*: Get rid of namespace functor.
- * sigc++/functors/{functor_trait.h,ptr_fun.h.m4,mem_fun.h.m4}:
- - Get rid of namespace functor.
- - Corrections in documentation / add documentation.
- * sigc++/functors/slot.{cc,h.m4}:
- - Move slot_base out of namespace internal. It's public API.
- - Get rid of one-letter-parameter-names.
- - Get rid of namespace functor.
- - Corrections in documentation.
- * tests/*.cc: Get rid of "using namespace ...".
-
-2003-09-10 Martin Schulze <teebaum cvs gnome org>
-
- * sigc++/adaptors/lambda/{base,operators}.h.m4:
- Add subscript ([]) and assign (=) operator. I think there are now
- enough operators available to make any future power user happy.
- The only one missing is the comma operator and if we added it
- the logical consequence would be to also add if(), switch(), do(),
- etc. lambda expressions which are really out of place in libsigc++.
- * sigc++/type_traits.h: Fix is_base_and_derived<> for const types.
- * tests/test_lambda.cc: Test new operators.
-
-1.9.7:
-
-2003-09-05 Martin Schulze <teebaum cvs gnome org>
-
- * configure.ac: Bump version number to 1.9.7.
-
-2003-09-03 Martin Schulze <teebaum cvs gnome org>
-
- * sigc++/adaptors/lambda/operator.h.m4:
- - Restructure so that the size of the generated source file stays
- reasonable for 34 operators: There are only two lambda templates
- lambda_operator and lambda_operator_unary. The action is an additional
- template parameter. A small template lambda_action[_unary] is specialized
- for all actions.
- - Add most operators that boost::lambda supports. Missing operators are
- "=", "[]", "," and support for pointer arithmetic. I don't know if it's
- worth adding these. In libsigc++, the purpose of lambda operators is to
- provide some extra functionality for the group adaptor.
- * tests/test_lambda.cc:
- Test pre-increment, address and dereference operator.
-
-2003-08-31 Martin Schulze <teebaum cvs gnome org>
-
- * sigc++/reference_wrapper.h, sigc++/type_traits.h, sigc++/Makefile.am:
- New file reference_wrapper.h provides ref() to specify that adaptors/lambdas
- should take a reference to the object passed into ref() instead of a copy.
- * tests/test_lambda.cc:
- - Test group() with mem_fun().
- - Use ref() where lambdas should store references to objects.
- - Test var() and constant().
- * sigc++/adaptors/lambda/base.h.m4:
- - Support ref() in return type deduction.
- - Add var() and constant() which create lambdas for usage with lambda operators.
- * sigc++/adaptors/lambda/operator.h.m4:
- - Fix return type deduction.
- - Remove operator{+,-,*,...} overloads added on 2003-08-29. ref() is way cleaner.
- * sigc++/adaptors/lambda/group.h.m4,
- sigc++/adaptors/bind.h.m4, sigc++/adaptors/compose.h.m4,
- sigc++/adaptors/exception_catch.h.m4, sigc++/adaptors/hide.h.m4:
- Fix return type deduction.
-
-2003-08-29 Martin Schulze <teebaum cvs gnome org>
-
- * tests/test_lambda.cc: Add more tests.
- * sigc++/adaptors/lambda/select.h.m4, sigc++/adaptors/lambda/lambda.cc.m4:
- Make _1, _2, ... constant.
- * sigc++/adaptors/lambda/operator.h.m4:
- Add operator{+,-,*,...} overloads to distinguish between const and non-const objects.
- Store references to non-const objects rather than copies.
- This allows expressions like e.g. std::cout << _1.
- * sigc++/adaptors/lambda/base.h.m4, sigc++/adaptors/lambda/group.h.m4:
- Remove void specializations. Functors returning void are tested and work fine.
-
-2003-08-27 Martin Schulze <teebaum cvs gnome org>
-
- * tests/test_callof.cc, tests/test_deduce_result_type.cc:
- Rename, correct and improve this test case.
- * tests/Makefile.am: Build and run test_deduce_result_type
- instead of test_callof.
-
-2003-08-27 Martin Schulze <teebaum cvs gnome org>
-
- * Update TODO.
-
-2003-08-27 Martin Schulze <teebaum cvs gnome org>
-
- * sigc++/adaptors/hide.h.m4: Remove usage of callof_ignore_arg<>.
- * sigc++/callof.h.m4, sigc++/adaptors/deduce_result_type.h.m4,
- sigc++/functors/functor_trait.h.m4:
- Remove the first and move deduce_result_type templates from
- functor_trait.h.m4 into new file deduce_result_type.h.m4.
- * sigc++/Makefile.am, sigc++/sigc++.h, sigc++/adaptors/adaptor_trait.h.m4:
- Build and include sigc++/adaptors/deduce_result_type.h instead of callof.h.
- * sigc++/functors/slot.h.m4: Document struct nil.
-
-2003-08-24 Martin Schulze <teebaum cvs gnome org>
-
- * sigc++/functors/functor_trait.h.m4: Simplify usage of convenience
- macro SIGC_FUNCTORS_HAVE_RESULT_TYPE:
- namespace sigc{ namespace functor{ SIGC_FUNCTORS_HAVE_RESULT_TYPE }}
-
-2003-08-24 Martin Schulze <teebaum cvs gnome org>
-
- * sigc++/functors/functor_trait.h,m4, sigc++/adaptors[/lambda]/*.h.m4:
- Merge adaptor return type deduction and typeof() into
- sigc::functor::deduce_result_type. Use it for all adaptors.
- * tests/test_compose.cc: Only test multi-type get-functor if
- typeof() if supported.
-
-2003-08-24 Martin Schulze <teebaum cvs gnome org>
-
- * sigc++/adaptors[/lambda]/*.h.m4:
- - Remove unnecessary void specializations. In fact, only the one
- for sigc::functor::exception_catch<> is needed and I don't really
- understand why. For the lambda stuff the void specializatoins are
- just commented out at the moment.
- - Make typeof() optional. Surprisingly, I got the lambda stuff working
- without typeof()! The test suite doesn't catch all cases yet, so maybe
- some thing are still not working.
- TODO: Implement configure check.
- * tests/test_bind.cc, tests/test_compose.cc tests/test_exception_catch.cc,
- tests/test_hide.cc, tests/test_lambda.cc:
- Only test multiple functor return types if typeof() is supported.
-
-2003-08-06 Martin Schulze <teebaum cvs gnome org>
-
- * sigc++/trackable.{cc,h}: Add function trackable::clear().
-
-2003-06-24 Andreas Rottmann <rottmann users sourceforge net>
-
- * TODO: Minor tweaks.
-
-2003-06-23 Andreas Rottmann <rottmann users sourceforge net>
-
- * docs/reference/Doxyfile.in: Use these variables.
- * docs/reference/Makefile.am (html/index.html): Provide doxygen
- with SRCDIR and TOP_SRCDIR environment variables.
-
- * sigc++/functors/slot.h.m4: Make slot::call_type typedef public;
- this fixes a g++ 3.3 error in signal.h.
-
- * sigc++/signal.h.m4: Make the signal::accumulated class public;
- this fixes a g++ 3.3 error in test_accumulated.cc.
-
-2003-06-15 Martin Schulze <teebaum cvs gnome org>
-
- * sigc++/functor/slot.h.m4: Correct typing error in docs.
- * sigc++/functor/ptr_fun.h.m4: Document the whole thing.
-
-2003-05-31 Murray Cumming <murrayc usa net>
-
- * Reference documentation: Rearranged the groups to make it all
- a bit more like the libsigc++ 1.2 reference documentation.
- Corrected some spelling and grammar too.
- This needs a lot of work. The text is very hard to read and it's
- generally not appropriate for a user of the code who doesn't
- care about the internals. But it's not impossible - our examples
- should show us what we need to say in the documentation.
- We probably need some more groups for the extra stuff, like we do
- in libsigc++ 1.2.
-
-2003-05-29 Martin Schulze <teebaum cvs gnome org>
-
- * sigc++/signal.h.m4: Fix documentation.
- * sigc++/connection.h, sigc++/functor/slot.h.m4:
- Document the whole thing.
-
-2003-05-29 Martin Schulze <teebaum cvs gnome org>
-
- * sigc++/signal.h.m4:
- - Remove bogus operator() from unnumbered signal<> and
- signal<>::accumulated templates.
- - Document the whole thing.
-
- * docs/index.html: Fix some links.
-
-2003-04-06 Martin Schulze <MHL Schulze t-online de>
-
- * TODO, configure.ac, Makefile.am, docs/*:
- Add Doxygen framework.
-
-2003-04-06 Martin Schulze <MHL Schulze t-online de>
-
- * sigc++/callof.h.m4, sigc++/adaptors/*, tests/test_callof.cc:
- Move sigc::callof<> to sigc::functor::internal::callof<>.
-
- * sigc++/functors/mem_fun.h.m4, tests/test_mem_fun.cc:
- Add new types [bound_][const_]volatile_mem_functor, visit_each()
- and mem_fun() overloads for volatile qualifier.
- Add ctor overloads in bound_*mem_functor and mem_fun() overloads
- that take reference instead of pointer.
-
-2003-03-26 Martin Schulze <MHL Schulze t-online de>
-
- * Change "closure" to "slot" throughout sigc++2 (file names,
- class names, member variables, documentation, etc.).
-
-2003-03-26 Martin Schulze <MHL Schulze t-online de>
-
- * TODO: Rewrite to reflect recent changes as well as recent discussions.
-
-2003-03-24 Martin Schulze <MHL Schulze t-online de>
-
- * sigc++/adaptors/bind_return.h.m4: Make the adaptor's data member
- public so that visit_each() can access it.
-
- * sigc++/adaptors/lambda/*.h.m4: More fixes. Add a note about
- malfunctioning typeof() (probably compiler bug in gcc-3.2).
-
- * tests/*.cc: Test references. Fix compose equivalent in test_lambda.
-
-2003-03-24 Martin Schulze <MHL Schulze t-online de>
-
- * sigc++/Makefile.am, sigc++/functors/functor_trait.h[.m4],
- sigc++/adaptors/adaptor_trait.h.m4: Move detection of function
- and member method pointers' return types from adaptor_trait into
- functor_trait. (We'll use functor_trait rather than adaptor_trait for
- our lambda stuff.) functor_trait.h needs to be generated from .m4 now.
-
- * sigc++/functors/functor_trait.h.m4: Add convenience macros:
- - SIGC_FUNCTORS_HAVE_RESULT_TYPE indicates that the existance of
- T_functor::result_type should be assumed for all unknown functors.
- - SIGC_FUNCTOR_TRAIT(T_functor, T_result) explicitly specifies the
- result type of a functor.
- ("typename functor_trait<T_functor>::result_type") is used to
- determine the return type of our adaptors' operator()() overloads.
-
- * sigc++/adaptors/[lambda/]*.h.m4: Various fixes in visit_each() and
- operator()() overloads to make these operator()() overloads usable.
- Most of them were just commented out before. Some adaptor types also
- have void specializations, now.
-
- * sigc++/adaptors/lambda/group.h.m4: Change syntax from
- "[some_functor] % grp([args])" to "group([some_functor], [args])"
- like we agreed on the ml some time ago.
-
- * sigc++/tests/test_[all adaptors].cc: Test stuff that didn't work
- before.
-
-2003-03-22 Murray Cumming <murrayc usa net>
-
- * Added pgk-config file, from a mystery person in bug #108857
-
-2003-03-22 Martin Schulze <MHL Schulze t-online de>
-
- * tests/test_bind.cc: Test and show how to use functor_trait
- for user defined or 3rd-party functors so that a
- bind<0>([functor],[arg1])() call with no arguments can return a value.
-
-2003-03-20 Martin Schulze <MHL Schulze t-online de>
-
- * sigc++/callof.h.m4: Add explanations. Comment in / create templates
- callof_safe[#]. Unfortunately they don't work for functors with overloaded
- operator() so we don't use it for now. At least everything is documented.
-
- * sigc++/functors/functor_trait.h, sigc++/functors/*.h.m4: Add back
- functor_base compiler hint. We're using it now in adaptor_functor<>.
-
- * sigc++/adaptors/{adaptor_trait,bind}.h.m4: Make operator() overloads
- with no arguments return the result of the functor invocation.
- Fix multiple bind<0>().
- * tests/test_bind.cc: Test the stuff that's working now.
-
-2003-03-16 Murray Cumming <murrayc usa net>
-
- * Added sigc++/sigc++.h, like in libsigc++ 1.2
- * examples: Added member_method example, which uses a class method
- and which demonstrates disconnection.
-
-1.9.6:
-
-2003-03-11 Andreas Rottmann <rottmann users sourceforge net>
-
- * sigc++/Makefile.am: Use substitution references instead of
- $(patsubst). Is shorter and fixes the strange-dirs-in-dist-tarball
- bug.
-
-2003-03-09 Martin Schulze <MHL Schulze t-online de>
-
- * sigc++/connection.h: Add block() capability.
-
-2003-03-09 Martin Schulze <MHL Schulze t-online de>
-
- * sigc++/signal.{cc,h.m4}: Add flag signal_impl::destroy_
- and function signal_impl::destroy(). Use them to defer
- the destruction of the signal_impl object during signal
- emission.
-
- * tests/test_disconnect.cc: Add tests for the connection
- class and for deleting signals during emission.
-
-2003-03-09 Martin Schulze <MHL Schulze t-online de>
-
- * sigc++/connection.{cc,h}, sigc++/Makefile.am:
- - New files that add a connection class. Objects of this
- class are constructed from closure list iterators and can
- be used to disconnect the refered closure. As opposed to
- iterators they stay valid beyond the lifetime of the closure.
-
-2003-03-09 Martin Schulze <MHL Schulze t-online de>
-
- * sigc++/functors/closure.{cc,h.m4}, sigc++/signal.cc:
- - Rename closure_{base,rep}::[set_]dependency_ -> [set_]parent_.
- - Make closure_rep inherit trackable. This allows for
- connection objects that stay valid beyond the life time
- of the refered closure.
- - Make some one-line-functions inline again.
-
-2003-03-08 Martin Schulze <MHL Schulze t-online de>
-
- * sigc++/trackable.cc: BUGFIX in trackable_dep_list::clear()
-
-2003-03-08 Andreas Rottmann <rottmann users sourceforge net>
-
- * sigc++/Makefile.am: Rewritten so we can build lambda cleanly.
- * sigc++/Makefile.am_fragment: Removed.
-
- * sigc++/functors/Makfile.am: Removed.
- * sigc++/adaptors/Makefile.am: Removed.
- * sigc++/adaptors/lambda/Makefile.am: Removed.
- * configure.ac (AC_OUTPUT): Remove the above Makefiles.
-
- * tests/Makefile.am: Re-included lambda test.
-
-2003-03-07 Martin Schulze <MHL Schulze t-online de>
-
- * sigc++/signal.{cc,h.m4}:
- - signal_emit#<>: New templates replacing signal#<>::caller.
- The purpose of these templates is implementing the emit
- function and optimizing signal emission for the case that
- no accumulator is used via template specializations.
- - default_accumulator<>: Removed. The default for T_accumulator
- in signal#<> now is nil. An example how to use accumulators
- is available in tests/test_accumulator.cc.
- - signal_{base,impl}: Move the implementation of signal_base's
- interface to signal_impl. An object of this class is
- dynamically allocated when first connecting a closure to
- the signal. This drastically reduces the size of empty signals
- and allows for future addition of a reference counter to make
- it safe to delete a signal during emission.
- - Directly work on closure_rep during signal emission. This
- seems to be quicker than using the closure templates.
- - Document the classes. Restructure the header file a bit.
-
- * sigc++/functors/closure.h.m4: Make closure_base::rep_ data
- member public, so that signal emission can directly work on it.
-
- * tests/test_size.cc: Add an entry for signal_impl.
-
-2003-03-07 Martin Schulze <MHL Schulze t-online de>
-
- * sigc++/functors/closure.{cc,h.m4}:
- - closure_base: BUGFIXES in ~closure_base() and operator=().
- - Mark some functions with the inline keyword. This seems to
- help gcc 3.2 to optimize signal emission and (dis)connection.
- - Document the classes. Restructure the header file a bit.
-
-2003-03-07 Martin Schulze <MHL Schulze t-online de>
-
- * sigc++/trackable.{cc,h}: Make trackable allocate a
- trackable_dep_list object dynamically when adding the first
- dependency. (This reduces the size of objects, that are not
- refered by a closure by 4 bytes (50%) and increases the size
- of objects that are refered by a closure by 4 bytes (50%)
- on a 32 bit architecture => This reduces total memory use
- when >50% of the trackables are not refered by a closure.)
- Document the classes.
-
-2003-03-05 Martin Schulze <MHL Schulze t-online de>
-
- * tests/Makefile.am, tests/test_size.cc, tests/test_accumulated.cc:
- Add two test cases. test_size is showing the size of public and
- internal structures. (Which apart from empty signals are smaller
- than the sizes of the equivalent libsigc++-1.2 structures.)
- test_accumulated is a test for the template signal<>::accumulated<>
- at the same time showing the use of accumulators in libsigc++2.
-
- * Offtopic: My note about binary sizes from 2003-02-10 is wrong.
- Stripped libsigc++2 test binaries are about 8-10k in size.
-
-2003-03-05 Martin Schulze <MHL Schulze t-online de>
-
- * sigc++/visit_each.h: BUGFIX in template specialization
- limit_derive_target<T_Target*,T_action>::with_type<false,T_type>:
- Add non-const overloads for static void execute_() avoiding
- compile time errors.
-
-2003-02-16 Martin Schulze <MHL Schulze t-online de>
-
- * tests/Makefile.am, tests/test_disconnect.cc:
- Add testcase with a mixed connection & disconnection sequence.
-
-2003-02-16 Martin Schulze <MHL Schulze t-online de>
-
- * sigc++/signal.cc: Bugfix in signal_base::insert():
- Set notification function in the newly created copy of
- slot_ rather than in slot_ itself.
-
-2003-02-10 Martin Schulze <MHL Schulze t-online de>
-
- * sigc++/signal.h.m4: Comment in typedefs for iterator types in
- the signal#<> class template. Make signal#<>::connect() return an
- iterator for convenience.
- (Note that the first change increases the binary size of
- tests/test_signal from 201k to 204k, the second change to 206k.)
-
-2003-01-23 Murray Cumming <murrayc usa net>
-
- * sigc++/adaptors/lambda is disable temporarily (not built and
- not distributed) because it gets built before its parent
- directory, but #includes generated sources in the parent directory.
-
-2003-01-22 Murray Cumming <murrayc usa net>
-
- * Added Andreas Rottman's example.
-
-2003-01-22 Murray Cumming <murrayc usa net>
-
- * Applied Andreas Rottman's make dist fixes.
-
-2003-01-14 Murray Cumming <murrayc usa net>
-
- * Added whitespace to make the code more readable.
-
+2008-10-08 Armin Burgmeier <armin arbur net>
+
+ * MSVN_Net2005/libsigc++2.vcproj: Changed output name to match the new
+ naming convention.
+
+ * MSVC_Net2008/: Added MSVC 2008 project files. These are basically
+ the same as for MSVC 2005, but converted to MSVC 2008 projects.
+
+ * configure.ac:
+ * Makefile.am: Added the new files to the build.
+
+2008-08-08 Armin Burgmeier <armin arbur net>
+
+ * MSVC_Net2005/libsigc++2.sln: Enable the disconnect_during_emit test
+ by default.
+
+ * MSVC_Net2005/libsigc++2.vcproj: Renamed the generated debug database
+ file to sigc-2.0d.pdb (the default), to stay consistent with the *mm
+ wrapper libraries.
+
+2008-08-08 Armin Burgmeier <armin arbur net>
+
+ * MSVC_Net2005/: Moved from MSVC_Net2003.
+
+ * MSVC_Net2005/libsigc++2.sln:
+ * MSVC_Net2005/libsigc++2.vcproj:
+ * MSVC_Net2005/tests/*/*.vcproj: Converted the Visual Studio 2003
+ project files to 2005 ones.
+
+ * MSVC_Net2005/Makefile.am:
+ * Makefile.am:
+ * configure.ac: Adapted build files accordingly.
+
+2008-04-06 Cedric Gustin <cedric gustin gmail com>
+
+ * MSVC_Net2003/sigc-2.0.rc.in: Removed ATL/MFC header files
+ dependency as afxres.h is not part of the Microsoft Platform
+ SDK provided with Visual C++ Express 2008.
+ Bug #503933.
+
+2.2.2:
+
+2008-03-10 Deng Xiyue <manphiz gmail com
+
+ * sigc++/macros/slot.h.m4:
+ Added an include of functors/slot.h that was mistakenly removed
+ during the 2.1 series, apparently breaking API slightly.
+ Bug #521418.
+
+2.2.1:
+
+2008-02-28 Elaine Xiong <elaine xiong sun com>
+
+ * sigc++/macros/signal.h.m4:
+ * tests/test_accum_iter.cc: Add ifdefs around uses of
+ reverse_iterator to really fix the build with recent
+ versions of Sun CC.
+ Bug #302098.
+
+2.2.0:
+
+2008-01-01 Ryan Hill <dirtyepic gentoo >
+
+ * tests/test_copy_invalid_slot.cc: Include the cstdlib
+ and cstring headers to fix the build with the gcc 4.3
+ pre-release. Bug #454882.
+
+2007-08-31 Murray Cumming <murrayc murrayc com>
+
+ * tests/test_copy_invalid_slot.cc: Added some includes to
+ fix the build in some environments, such as when using Sun CC.
+ Thanks to Vladimir Marek in bug #469872.
+
+2.1.1:
+
+2007-08-14 Murray Cumming <murrayc murrayc com>
+
+ * sigc++/Makefile.am:
+ * sigc++/compatibility.h: Removed this header.
+ * sigc++/bind.h:
+ * sigc++/bind_return.h:
+ * sigc++/connection.h:
+ * sigc++/macros/class_slot.h.m4:
+ * sigc++/macros/hide.h.m4:
+ * sigc++/macros/method_slot.h.m4:
+ * sigc++/macros/object_slot.h.m4:
+ * sigc++/macros/retype.h.m4:
+ * sigc++/macros/signal.h.m4:
+ * sigc++/macros/slot.h.m4:
+ * sigc++/object.h:
+ * sigc++/retype_return.h: Removed deprecated
+ compatibility API, to probably fix the build with
+ some compilers, such as some versions of the Sun Forte C++
+ CC compiler. Some of these headers are now mostly empty and
+ should be removed later.
+ This API has been deprecated April 2004, and
+ is not widely used, so it seems safe to do this now.
+
+ * tests/Makefile.am:
+ * tests/test_compatibility.cc: Removed this test.
+
+2007-07-28 Michael Elkstrand <michael elehack net>
+
+ * sigc++/macros/signal.h.m4: slot_iterator_buf,
+ slot_reverse_iterator_buf: Added typedefs for
+ value_type, reference, and pointer, so that these
+ iterators are more like standard C++ iterators, so they can
+ be used with standard C++ algorithms.
+ * tests/Makefile.am:
+ * tests/test_accum_iter.cc: Added a test for this.
+ Bug #417926.
+
+2006-11-14 Daniel Elstner <daniel kitta gmail com>
+
+ * autogen.sh: Wholly replace this script with a critter from one
+ of my personal projects, with slight modifications. This one does
+ some sophisticated stuff like probing version numbers of available
+ automake and aclocal executables, in order to choose the right one
+ accordingly. All this is necessary to make the build system work
+ robustly in custom environments such as Maemo where automake-1.9
+ doesn't come preinstalled.
+
+2006-06-20 Murray Cumming <murrayc murrayc com>
+
+ * sigc++/adaptors/macros/bind.h.m4:
+ * sigc++/adaptors/macros/retype.h.m4:
+ * sigc++/functors/macros/functor_trait.h.m4:
+ * sigc++/functors/macros/slot.h.m4:
+ * sigc++/macros/retype.h.m4:
+ * sigc++/macros/signal.h.m4: Revert the previous changes, because none is
+ used in the exported symbol names from gtkmm, so this would break the ABI
+ of gtkmm.
+
+2006-05-26 Régis Duchesne <hpreg vmware com>
+
+ * sigc++/adaptors/macros/bind.h.m4:
+ * sigc++/adaptors/macros/retype.h.m4:
+ * sigc++/functors/macros/functor_trait.h.m4:
+ * sigc++/functors/macros/slot.h.m4:
+ * sigc++/macros/retype.h.m4:
+ * sigc++/macros/signal.h.m4:
+ Renamed 'nil' to 'none' to allow an Objective-C++ compiler to compile
+ the library header files.
+
+2005-12-21 Murray Cumming <murrayc murrayc com>
+
+ * sigc++/macros/signal.h.m4: Make remaining
+ reverse_iterator_buf operator--() methods
+ return by reference, like the operator++() methods.
+ Bug #304402 from John Profic.
+
+2005-12-20 Murray Cumming <murrayc murrayc com>
+
+ * sigc++/macros/signal.h.m4: Make all operator--() methods
+ return by reference, like the operator++() methods.
+ Bug #304402 from John Profic.
+
+2005-12-14 John Profic <profic kursknet ru>
+
+ * sigc++/macros/signal.h.m4: Fix compilation problem in
+ the last patch.
+
+2005-12-14 John Profic <profic kursknet ru>
+
+ * sigc++/macros/signal.h.m4: Added emit_reverse().
+
+This is the HEAD branch, for API/ABI-compatible API additions.
+See also the libsigc-2-0 branch.
+
+2005-12-01 Murray Cumming <murrayc murrayc com>
+
+ * sigc++/functors/slot_base.cc:
+ slot_base::disconnect(): Set call_ to 0,
+ to invalidate the slot, even if parent_ is 0.
+ I think parent_ is, for instance, a signal, but
+ disconnect should still work on a slot that is not
+ connected to a signal, because a slot can be invoked
+ directly.
+ Fixes bug #311057 from James Lin.
+
+2005-12-01 Murray Cumming <murrayc murrayc com>
+
+ * tests/Makefile.am:
+ * tests/test_slot_disconnect.cc: Added test
+ case from bug #311057.
+
+2005-11-16 Philipp Berndt <philipp berndt gmx net>
+
+ * sigc++/adaptors/macros/exception_catch.h.m4: Make member
+ exception_catch_functor<T_functor, T_catcher, void>::catcher_
+ public so that it can be accessed by visit_each()
+ (bug fixed for generalization on 2004-11-06)
+
+2.0.16:
+
+2005-08-01 Neal E. Coombes <nealc trdlnk com>
+
+ * sigc++/signal_base.h: Updated the documentation for temp_slot_list
+ as requested in bug #303896.
+
+2005-08-01 Murray Cumming <murrayc murrayc com>
+
+ * sigc++/adaptors/hide.h.m4: Added missing
+ ) in call to sun_forte_workaround(), fixing
+ build on SUN Forte 5.5. Bug #312020.
+
+2005-08-19 Bruno Martinez <brunom fing edu uy>
+
+ * sigc++/type_traits.h: Renamed
+ ::sigc::is_base_and_derived::internal to
+ ::sigc::is_base_and_derived::internal_class
+ in order to avoid conflict with
+ namespace internal.
+
+2005-07-13 Murray Cumming <murrayc murrayc com>
+
+ * docs/manual/libsigc_manual.xml: Correct mentions of
+ 1.2 stuff instead of 2.0. Patch in bug #310213 from
+ pebble.org.uk.
+
+2005-07-13 Murray Cumming <murrayc murrayc com>
+
+ * docs/manual/libsigc_manual.xml: Fixed typo
+ found by Antonio Coralles.
+
+2005-07-09 Murray Cumming <murrayc murrayc com>
+
+ * sigc++/macros/signal.h.m4: Did the same (see
+ last commit) for slot_const_iterator and
+ slot_iterator_buf.
+
+2005-07-09 Murray Cumming <murrayc murrayc com>
+
+ * sigc++/macros/signal.h.m4: slot_iterator:
+ operator--() now returns value, not reference, like
+ operator++() already did. This caused crashes when
+ using --no-inline with g++. Bug #308651 by
+ Michael Andres.
+
+2.0.15:
+
+2005-07-04 Philip Langdale <plangdale vmware com>
+
+ * sigc++/adaptors/macros/compose.h.m4: Add a setter typedef to
+ compose*_functor and use it instead of the (incorrect) getter
+ typedef in the compose* specialization of visit_each<>().
+ This corrects the lifetime management of slots created with
+ compose(). Bug #308433.
+
+2005-06-13 Marek Rouchal <marek rouchal infineon com>
+
+ * tests/test_deduce_result_type.cc: Specify int return type
+ for main(), to be more ISO C++ compliant. Bug #307478.
+
+2005-06-11 Andris Pavenis <pavenis latnet lv>
+
+ * sigc++/adaptors/lambda/macros/base.h.m4:
+ * sigc++/adaptors/lambda/macros/select.h.m4
+ * sigc++/adaptors/macros/hide.h.m4: Specify only a type (not a
+ parameter name) for unused member function parameters
+
+2005-06-12 Paul Pogonyshev <pogonyshev gmx net>
+
+ * configure.ac:
+ * scripts/cxx.m4:
+ * sigc++config.h.in: Add test for whether the compiler allows
+ referencing to member functions of the class/structure being
+ declared from a definition of a static member variable.
+ Supposedly a generic solution for GCC 3.2 compilation problems.
+
+ * sigc++/type_traits.h: Define SIGC_WRAP_IS_BASE_CLASS_ based on
+ results of the above test.
+ (struct is_base_and_derived): Wrap up is_base_class_() functions
+ in an internal class if SIGC_WRAP_IS_BASE_CLASS_ is defined.
+
+2005-06-10 Murray Cumming <murrayc murrayc com>
+
+ * sigc++/adaptors/macros/bind.h.m4:
+ * sigc++/functors/macros/slot.h.m4:
+ * sigc++/macros/signal.h.m4: Use CALL_SIZE instead of
+ hard-coded 7s and 6s.
+
+2.0.14:
+
+2005-06-10 Murray Cumming <murrayc murrayc com>
+
+ * sigc++/visit_each.h: Make the
+ limit_derived_target::with_type inner class an outer class,
+ to satisfy the SUN CC 5.7 compiler, though I think it is a
+ compiler bug. Bug #302098 has the test case.
+
+2.0.13:
+
+2005-06-07 Murray Cumming <murrayc murrayc com>
+
+ * tests/test_compatibility.cc: Specify the actual class when
+ using test_int(), instead of the derived class, to fix the build
+ on SUN Forte CC 5.5. Patch from Friedemann Kleint in
+ Bug #305647
+
+2005-06-07 Murray Cumming <murrayc murrayc com>
+
+ * sigc++/macros/signal.h.m4: signal_emit::emit(): Use scope to
+ ensure a certain order of destruction of the member variables, to
+ avoid a leak on MSVC++. Patch by Andreas Ames in Bug #306249.
+
+2005-06-07 Murray Cumming <murrayc murrayc com>
+
+ * sigc++/macros/signal.h.m4: Added comments about commenting-out
+ SIGC_TYPEDEF_REDEFINE_ALLOWED when using SUN Forte CC 5.7,
+ because I can not seem to create a test for it.
+
+2005-06-07 Murray Cumming <murrayc murrayc com>
+
+ * configure.ac:
+ * scripts/cxx_std.m4:
+ * sigc++/macros/signal.h.m4:
+ * sigc++config.h.in: Added check for
+ the non-standard SUN Forte reverse_iterator<>,
+ and used it. This is based on the same stuff in
+ gtkmm.
+
+2005-06-07 Murray Cumming <murrayc murrayc com>
+
+ * sigc++/visit_each.h: limit_derived_target(): Just some whitespace
+ changes.
+
+2005-05-16 Neal E. Coombes <nealc trdlnk com>
+
+ * sigc++/signal_base.h: Modified temp_slot_list to be a temporary view
+ into a slot list. Instead of emptying the original it now simply tacks
+ a placeholder to the end of the original. It then uses this as it's
+ 'end' iterator. This should allow for conscious recursiveness, as well
+ as inserting a slot to any position in the slot list during emittion.
+ See bug #303896.
+
+2005-06-04 Friedemann Kleint <kleint bifab de>
+
+ * sigc++/macros/limit_reference.h.m4:
+ visit_each() template specializations:
+ Mention the bool I_derives_trackable
+ template type, to fix the build on Solaris
+ Forte 5.5.
+
+2.0.12:
+
+2005-05-06 Régis Duchesne <hpreg vmware com>
+
+ * sigc++/macros/limit_reference.h.m4 (added):
+ * sigc++/Makefile.am:
+ New class that just stores a reference, and makes sure that if the
+ reference derives from trackable, then the trackable reference will be
+ used instead of the derived reference in visit_each().
+ * sigc++/functors/macros/mem_fun.h.m4: Better fix for bug #169225 by
+ Régis Duchesne and Christian Hammond, based on the new limit_reference
+ class.
+ * sigc++/adaptors/bound_argument.h (added): New class (built upon the
+ new limit_reference class) that handles all 3 kinds of bound arguments:
+ by value, by reference, and by constant reference. References are
+ unwrapped in the bound_argument's constructor.
+ * sigc++/adaptors/macros/bind.h.m4: Fix for bug #302327 by Régis
+ Duchesne. Bound arguments now need to know whether they are passed by
+ reference or not. So bind() now builds bind_functor instances using
+ 'reference_wrapper<Foo>' types, instead of 'Foo &' types. The
+ bind_functor code is modified to compensate.
+ * sigc++/adaptors/macros/bind_return.h.m4: Similar fix for a similar
+ bug (unfiled) with bound return arguments.
+ * sigc++/reference_wrapper.h:
+ * sigc++/type_traits.h:
+ The reference_wrapper class is only used in bound_argument.h. Put
+ correct but unused code under #if 0.
+ * sigc++/adaptors/lambda/base.h: This file needs reference_wrapper.h,
+ but was incorrectly relying on type_traits.h to include it.
+ * tests/Makefile.am:
+ * tests/test_virtualbase_delete.cc (deleted):
+ * tests/test_virtualbase_delete_ref_param.cc (deleted):
+ * tests/test_limit_reference.cc (added):
+ Replaced test_virtualbase_delete*.cc with a simpler
+ test_limit_reference.cc which checks for all 3 aspects of the same bug
+ in one file.
+ * tests/test_bind_ref.cc: Slots must use 'Foo &' types. We were lucky
+ this broken usage worked before this change. The change in
+ type_traits.h made this bug obvious, by preventing the code to compile.
+ * tests/test_bind_return.cc: After my change, bind() and bind_return()
+ must use 'reference_wrapper<Foo>' types.
+ * tests/test_custom.cc: Made this test a no-op (so it does not perturb
+ 'make check' on released versions of the library) and made it a
+ template ready to be modified by hackers.
+
+2005-05-01 Murray Cumming <murrayc murrayc com>
+
+ * sigc++/functors/slot_base.cc:
+ slot_base::slot_base(src): If the source
+ slot_base has a null rep->call_, meaning that the
+ slot is invalid, just return a default-constructed
+ slot, to prevent the crash shown in
+ tests/tests_copy_invalid_slot.cc. Bug #302515 by
+ Régis Duchesne.
+
+2005-05-01 Murray Cumming <murrayc murrayc com>
+
+ * sigc++/functors/macros/mem_fun.h.m4: bound_*<>:
+ Add a new is_base_and_derived<sigc::trackable>
+ parameter to the template and thereby provide a
+ specialization for T_Obj types that derive from
+ sigc::trackable. This prevents a crash when casting
+ from the derived type to sigc::trackable after the
+ derived destructor has run. This cast can sometimes
+ fail when using multiple inheritance, at least with
+ g++. Bug #169225 by Régis Duchesne and Christian
+ Hammond.
+ * sigc++/type_traits.h: Add documenation for
+ the internal is_base_and_derived<> template, which
+ allows us to specialize other templates for certain
+ template types.
+
+2005-04-28 Murray Cumming <murrayc murrayc com>
+
+ * sigc++/type_traits.h: Added comments for users of
+ g++ 3.2.
+
+2005-04-28 Murray Cumming <murrayc murrayc com>
+
+ * tests/Makefile.am:
+ * tests/test_virtualbase_delete.cc: Added
+ simplified test case from bug #169225. We have a patch
+ to make this succeed but I am not ready to commit it
+ just yet.
+
+2005-04-27 Murray Cumming <murrayc murrayc com>
+
+ * tests/Makefile.am:
+ * tests/test_custom.cc:
+ Added a place to put extra test code, so I don't have
+ to keep installing my crazy libsigc++ versions.
+
+2005-04-27 Murray Cumming <murrayc murrayc com>
+
+ * sigc++/visit_each.h: Revert back to the non-explicit
+ template call, because we can not specify the
+ template specialization so easily, because the
+ specializations have different numbers of types.
+ * tests/Makefile/am:
+ * tests/test_bind_ref.cc: Add a simple test only for
+ sigc::ref disconnection.
+
+2005-04-26 Murray Cumming <murrayc murrayc com>
+
+ * sigc++/visit_each.h: Use the explicit template
+ specialization, needed for Tru64 and AIX compilers.
+ This causes a crash in some uses of sigc::ref()
+ (when using g++ 3.3.4 or 3.3.5 , but not with 3.4) but
+ seems to fix a crash in some uses of multiple inheritance
+ (bug #169225).
+ * tests/test_bind.cc: Comment out the crashing (not with
+ g++ 3.4) use of sigc::ref() with an explanatory comment.
+
+2.0.11:
+
+2005-03-09 Cedric Gustin <cedric gustin swing be>
+
+ * Makefile.am: Moved MSVC_Net2003 directory to SUBDIRS.
+ * MSVC_Net2003/Makefile.am: Added blank.cpp to EXTRA_DIST.
+ * MSVC_Net2003/libsigc++2_msvcNet2003.sln: Removed
+ test_accumulated and test_lambda projects as the tests are
+ disabled in the standard, configure-based build.
+ * MSVC_Net2003/MSVC_Net2003/libsigc++2_msvcNet2003.vcproj:
+ Generate a PDB file in the Debug target.
+
+2005-03-05 Murray Cumming <murrayc murrayc com>
+
+ * docs/website/stable.html: Mention actual supported compilers.
+ * docs/website/docs.html: Removed broken examples links. Change
+ reference link to the reference overview page.
+
+2005-02-23 Murray Cumming <murrayc murrayc com>
+
+ * sigc++/functors/slot_base.h: Make slot_base::operator=() public, to
+ fix the build with SUN Forte C++ 5.5 and Tru64.
+
+2.0.10:
+
+2005-02-20 Murray Cumming <murrayc murrayc com>
+
+ * tests/test_slot.cc, test_disconnect.cc: #included <new> to avoid
+ an unresolved symbol error with the Tru64 compiler. Solution found by
+ Tim Mooney in bug #161503.
+
+2005-02-20 Martin Schulze <mschulze cvs gnome org>
+
+ * sigc++/signal_base.h: Add some documentation.
+
+2005-02-20 Martin Schulze <mschulze cvs gnome org>
+
+ * sigc++/signal_base.cc: Reset deferred_ flag to false in
+ signal_impl::sweep() (Neal E. Coombes). Partly fixes bug #167714.
+
+2005-02-11 Martin Schulze <mschulze cvs gnome org>
+
+ * docs/manual/Makefile.am: Set the correct group in post-html.
+
+2005-02-11 Murray Cumming <murrayc murrayc com>
+
+ * docs/website/doc.shtml: Fix typo in url for reference docs. Found by
+ James Lin.
+
+2005-02-06 Murray Cumming <murrayc murrayc com>
+
+ * sigc++/signal_base.h: temp_slot_list::begin(), end(): Actually
+ return the iterators.
+
+2005-02-03 Neal E. Coombes <nealc trdlnk com>
+
+ * sigc++/signal_base.h: Add temp_slot_list struct to facilitate
+ allowing new connections to a signal during an emittion without
+ affecting that emittion.
+ * sigc++/macros/signal.h.m4: Use the new struct temp_slot_list to
+ prevent connections made during an emittion from being called in the
+ same emittion (which has the potential of causing things like
+ infinite loops). This guarantees an emittion will be finite, as well
+ as maintaining any order of emittion guarantees that may have already
+ been in place.
+
+2.0.9:
+
+2005-02-02 Murray Cumming <murrayc murrayc com>
+
+ * sigc++/visit_each.h: visit_each_type(): Reverted the change, so that
+ we do not specify the template types ot visit_each<>(), because it
+ crashes on g++ 3.3.4 (but not g++ 3.4.2). Added a comment telling users
+ of AIX (and maybe IRIX MipsPro and Tru64) to use the alternative version
+ if they have compilation problems.
+
+2005-02-01 Murray Cumming <murrayc murrayc com>
+
+ * sigc++/adapators/macros/base.h.m4: Add sigc::var<>() documentation,
+ from Roger Ferrer Ibáñez in bug #149483.
+
+2005-02-01 Murray Cumming <murrayc murrayc com>
+
+ * sigc++/adaptors/macros/compose.h.m4: In the template specializations
+ of visit_each(): As before, specify the specific other template
+ specializations of visit_each that we use. Needed by AIX.
+ * tests/Makefile.am: Reenabled most tests, because AIX can now
+ build them.
+
+2005-02-01 Murray Cumming <murrayc murrayc com>
+
+ * sigc++/visit_each.h: visit_each_type(): Specify the specific
+ template specialization of visit_each<>() to use. The AIX compiler,
+ and possibly the Tru64 compiler, need this extra hint.
+
+2005-02-01 Murray Cumming <murrayc murrayc com>
+
+ * bind.h.m4: Define bind_functor::operator() inline because the AIX
+ compiler/linker sometimes fails to find it when it is defined
+ outside of the class.
+
+2.0.8:
+
+2005-01-30 Murray Cumming <murrayc murrayc com>
+
+ * sigc++/type_traits.h: is_base_and_derived: Added
+ avoid_gcc3_warning_(), to avoid an incorrect warning when using
+ g++ 3.3.5
+
+2005-01-28 Liza Klerck <liza trdlnk com>
+
+ * sigc++/functors/macros/mem_fun.h.m4: Add a sigc:: namespace
+ prefix to the nested use of visit_each(), to avoid ambiguity when
+ using 2 versions of the libsigc++ API inside different namespace.
+
+2005-01-27 Murray Cumming <murrayc murrayc com>
+
+ * sigc++/adaptors/macros/adaptor_trait.h.m4: Add a sigc:: namespace
+ prefix to the nested use of visit_each(), to avoid ambiguity when
+ using 2 versions of the libsigc++ API inside different namespace,
+ which is not very advisable anyway. Bug #165222 from
+ liza at trdlnk.com.
+
+2.0.7:
+
+2005-01-24 Cedric Gustin <cedric gustin swing be>
+
+ * sigc++config.h.in : Moved the SIGC_USING_STD macro definition
+ out of the SIGC_CONFIGURE section. We also need it for MSVC.
+ * MSVC_Net2003/.cvsignore : Added .def and .aps files
+ * MSVC_Net2003/Makefile.am: Rewrote rule for local copy of
+ sigc++config.h (required for 'make distcheck').
+ * MSVC_Net2003/libsigc++2_msvcNet2003.sln: Added test_retype and
+ test_disconnect_during_emit tests.
+ * MSVC_Net2003/tests/test_disconnect_during_emit/*,
+ MSVC_Net2003/tests/test_retype/*: Initial commit.
+
+2005-01-21 Murray Cumming <murrayc murrayc com>
+
+ * tests/: Disabled the test_accumulator, test_bind, and test_compose
+ tests, and part of test_mem_fun because the AIX xlC compiler can not
+ build them, but it can still do most things, including the examples.
+ See the comments in tests/Makefile.am.
+
+2005-01-21 Murray Cumming <murrayc murrayc com>
+
+ * sigc++/adaptors/bind.h.m4: non-member operator()(): Specify the
+ extra nil arguments in the templated class name prefix. Oddly, the
+ AIX xlC compiler says that the type of the first parameter does not
+ match the template if you don't do this.
+
+2005-01-21 Murray Cumming <murrayc murrayc com>
+
+ * sigc++/type_traits.h: is_base_and_derived struct: Move the
+ is_base_class_() functions out of the inner class, because the AIX
+ xlC compiler does not like that - see the comments in the code.
+ * sigc++/adaptors/bind.h.m4: Add the extra nil template types to
+ the template specializations, as in slot and signal.
+
+2005-01-21 Murray Cumming <murrayc murrayc com>
+
+ * sigc++/functors/macros/slot.h.m4, sigc++/macros/signal.h.m4:
+ slot and signal template specialization for
+ various numbers of template args: In the class slot line, specify
+ all the remaining template types as null, instead of expecting the
+ compiler to guess them in itself. This partly fixes the build on
+ AIX with the xlC compiler. Bug #164685.
+
+2005-01-19 Murray Cumming <murrayc murrayc com>
+
+ * sigc++/type_traits: struct is_base_and_derived: Make the test inner
+ struct a friend, so that it can use the big inner struct. This is
+ required by the Tru64 compiler.
+ * sigc++/adaptors/lambda/base.h: Put the unwrap_lambda_value()
+ definitions at the top, because Tru64 (understandably) needs them to
+ be declared before use.
+
+2005-01-19 Murray Cumming <murrayc murrayc com>
+
+ * scripts/: Added cxx_std.m4, with a test copied from
+ glibmm/scripts/cxx_std.m4 to check if the compiler has the std::
+ namespace.
+ * sigcconfig.h: #undef the new #define and add SIGC_USING_STD(),
+ like GLIBMM_USING_STD, to put stuff in the std:: namespace when it
+ is not there already,
+ * configure.in: Used the new test.
+ * tests/*: Uses SIG_USING_STD() for every std:: thing that we use.
+ This is needed by the Tru64 and HP-UX compilers when using their
+ defaults.
+
+2005-01-19 Murray Cumming <murrayc murrayc com>
+
+ * configure.in: AC_INIT(): Provide the extra tarball name parameter,
+ so that it does not create a libsigc--- tarball.
+
+2005-01-19 Murray Cumming <murrayc murrayc com>
+
+ * configure.in: AC_INIT(): Use libsigc++ instead of sigc++, attempting
+ to get the correct tarball name.
+
+2005-01-18 Murray Cumming <murrayc murrayc com>
+
+ * configure.in: Used the autoconf 2.93 and AM_INIT_AUTOMAKE()
+ technique to specify ustar format for the tarball, to prevent files
+ with long file names from appearing at the top of the tarball.
+ Based on the same fix in gtkmm 2.6.
+
+2005-01-18 Murray Cumming <murrayc murrayc com>
+
+ * sigc++/functors/macros/slot_h.m4: Specify the base class when
+ using the rep_ member variable. This stops the HP-UX aCC compiler
+ from saying that a Nonstatic member is referenced in a nested class,
+ local class or static member initializer. Bug #150719.
+
+2005-01-18 Murray Cumming <murrayc murrayc com>
+
+ * Bug #159597 - patch from e97_far at e.kth.se to replace C-style
+ casts with reinterpret_cast<> and static_cast<> to avoid warnings.
+
+2005-01-17 Murray Cumming <murrayc murrayc com>
+
+ * docs/manual/Makefile.am: Specifying html/index.html instead of
+ just the html directory as a target seems to fix distcheck problems.
+ I can also now confirm that the install works on solaris, when using
+ gmake, though not when using make.
+
+2005-01-17 Murray Cumming <murrayc murrayc com>
+
+ * MSVC_Net2004/Makefile.am: Add built files to DISTCLEANFILES to fix
+ the distcheck.
+ * docs/reference/Makefile.am, manual/Makefile.am: Specify $srcdir in
+ paths, to fix distcheck of the manual, and maybe fix install problems
+ on Solaris.
+
+2005-01-11 Murray Cumming <murrayc murrayc com>
+
+ * docs/website/stable.html: Updated the text about binary packages.
+ * docs/website/docs.html: Link to the 2.0 documentation instead of the
+ 1.2 documentation.
+
+2004-12-17 GregSchussman <schussman slac stanford edu>
+
+ * glossary.shtml: Clean up punctuation, make definitions complete
+ sentences, and add clarifications for certain definitions according to
+ what Murray Cumming's suggestions and answers to my questions.
+ Bug #161580.
+
+2005-01-11 Murray Cumming <murrayc murrayc com>
+
+ * docs/: Added manual, copied from the libsigc++-1.2 cvs module,
+ and updated it for the new 2.0 API.
+
+2005-01-11 Murray Cumming <murrayc murrayc com>
+
+ * docs/: Added website, copied from the libsigc++-1.2 cvs module.
+ We will use it from here from now on.
+
+2004-12-11 Cedric Gustin <cedric gustin swing be>
+
+ * configure.ac : parse version tags at configure time (for
+ sigc-2.0.rc).
+ * MSVC_Net2003/sigc-2.0.rc.in : New resource file.
+ * MSVC_Net2003/Makefile.am: include sigc-2.0.rc in distribution.
+
+2004-12-08 Cedric Gustin <cedric gustin swing be>
+
+ * MSVC_Net2003/Makefile.am: get sigc++config.h from $(top_builddir)
+ instead of $(top_srcdir).
+
+2004-12-08 Cedric Gustin <cedric gustin swing be>
+
+ * MSVC_Net2003/*/*.vcproj: Renamed libsigc++ target to
+ sigc-2.0d.dll (Debug) and sigc-2.0.dll (Release). Added
+ $(SolutionDir) and $(SolutionDir)\.. to "Additional Include
+ Directories" in tests projects.
+ * sigc++config.h.in: Rewrote dllexport/dllimport macros for
+ MSVC, for better consistency with glibmm/gtkmm.
+ * MSVC_Net2003/Makefile.am: copy sigc++config.h from $(top_srcdir)
+ at build time.
+
+2004-11-27 Murray Cumming <murrayc murrayc com>
+
+ * configure.in: Revert the AC_PROG_LIBTOOL change, so that this builds
+ with actually released libtool versions, and in jhbuild, so that it
+ gets testing.
+
+2004-11-06 Martin Schulze <mschulze cvs gnome org>
+
+ * sigc++/adaptors/macros/exception_catch.h.m4: Make catcher_ member
+ public so that it can be accessed by visit_each() (bug reported on
+ ml by Philip Langdale <plangdale vmware com>).
+
+2004-10-24 Martin Schulze <mschulze cvs gnome org>
+
+ * MSVC_Net2003/*/*.vcproj: Link with the "multithreaded DLL" runtime
+ libraries and enable RTTI for the MSVC build
+ (patch from Timothy M. Shead <tshead k-3d com>).
+ * MSVC_Net2003/*/.cvsignore: Hide generated build files from cvs
+ (patch from Timothy M. Shead <tshead k-3d com>).
+
+2.0.6:
+
+2004-10-12 Martin Schulze <mschulze cvs gnome org>
+
+ * MSVC_Net2003/*/*.vcproj, MSVC_Net2003/blank.cpp: Fix project files
+ to compile out-of-the-box and add dummy file so that .cc files get
+ recognized as c++ code files (patch from Timothy M. Shead).
+
+2004-10-10 Martin Schulze <mschulze cvs gnome org>
+
+ * sigc++/signal_base.{h,cc}, sigc++/functors/slot_base.{h,cc},
+ sigc++/functors/macros/slot.h.m4: If SIGC_NEW_DELETE_IN_LIBRARY_ONLY
+ is defined, implement signal_base::operator new/delete and
+ slot_rep::operator new/delete (suggested by Timothy M. Shead).
+ Remove old work-around from 2004-10-02 since it didn't work.
+
+2004-10-07 Martin Schulze <mschulze cvs gnome org>
+
+ * configure.ac: Update for libtool 1.5a (with support for Intel C++).
+ * MSVC_Net2003/sigc++config.h: Remove bogus '#define'
+ (reported by Timothy M. Shead <tshead k-3d com>).
+
+2004-10-02 Martin Schulze <mschulze cvs gnome org>
+
+ * configure.ac: Bump version number to 2.0.6.
+ * NEWS: Add ChangeLog summary for version 2.0.6.
+
+2004-10-02 Martin Schulze <mschulze cvs gnome org>
+
+ * sigc++/functors/slot_base.{h,cc}, sigc++/functors/macros/slot.h.m4:
+ Rename (typed_)slot_rep::detach to (typed_)slot_rep::destroy.
+ Call the dtor of the functor stored in typed_slot_rep from destroy().
+ A cleaner solution would be to add an additional "virtual" function
+ that calls 'delete' or a real virtual dtor. However, this would be
+ less efficient and might break the ABI. (Fixes #152323.)
+
+2004-10-02 Martin Schulze <mschulze cvs gnome org>
+
+ * sigc++config.h.in, MSVC_Net2003/sigc++config.h,
+ sigc++/signal_base.cc, sigc++/functors/slot_base.{h,cc},
+ sigc++/functors/macros/slot.h.m4: Define and use new macro
+ SIGC_NEW_DELETE_IN_LIBRARY_ONLY to ABI-compatibly move
+ all calls to new and delete into non-inline library code.
+
+2004-09-26 Martin Schulze <mschulze cvs gnome org>
+
+ * sigc++/adaptors/lambda/macros/group.h.m4: Add a missing
+ template keyword in the definition of deduce_result_type::type
+ (hopefully fixes #152327).
+
+2004-09-26 Martin Schulze <mschulze cvs gnome org>
+
+ * sigc++/macros/object_slot.h.m4: Use correct bound_mem_functor
+ variants for const (volatile) methods (fixes #148744).
+
+2004-09-01 Martin Schulze <mschulze cvs gnome org>
+
+ * docs/index.html: Correct link to lambda module.
+
+2004-09-01 Martin Schulze <mschulze cvs gnome org>
+
+ * README: Update compatibility section.
+
+2.0.5:
+
+2004-09-01 Martin Schulze <mschulze cvs gnome org>
+
+ * MSVC_Net2003/Makefile.am: Add sigc++config.h to EXTRA_DIST.
+ * configure.ac: Bump version number to 2.0.5.
+ * NEWS: Add ChangeLog summary for version 2.0.5.
+
+2.0.4:
+
+2004-08-21 Martin Schulze <mschulze cvs gnome org>
+
+ * tests/test_lambda.cc: Use sigc::var("\n") instead of sigc::ref("\n").
+ Comment out the affected lines, nevertheless.
+ Sun FORTE and Compaq C++ can handle neither sigc::ref("\n") nor
+ sigc::var("\n"). I see more chances fixing sigc::var("\n").
+ * sigc++/adaptors/lambda/macros/base.h.m4: Add a comment about a
+ possible work around for sigc::var("\n") compiler problems.
+ * tests/test_compatibility.cc: Remove a 'const' keyword that prevents
+ the test case from compiling with the Sun FORTE.
+ * tests/test_trackable.cc: Remove a 'virtual' keyword and an unused
+ variable to avoid compiler warnings.
+ * NEWS: Add ChangeLog summary for version 2.0.4.
+
+2004-08-03 Martin Schulze <mschulze cvs gnome org>
+
+ * scripts/cxx.m4, sigc++config.h.in, configure.ac,
+ sigc++/adaptors/lambda/macros/operator.h.m4, tests/test_lambda.cc:
+ Rollback change from 2004-07-15: configure check
+ SIGC_OPERATOR_OVERLOAD_AMBIGUITY is not needed - the overload
+ ambiguity doesn't occur if the lambda operators take all arguments
+ as const reference.
+ * configure.ac: Bump version number to 2.0.4.
+
+2004-08-03 James Lin <slimjimmy mail com>
+
+ * Added SIGC_API qualifier to all externally-visible non-template
+ classes/structs.
+ * Added #include <sigc++config.h> to the files that use SIGC_API.
+ * Added empty SIGC_API definition to sigc++config.h.in for non-MSVC
+ compilers. I'm not sure if this is the right place to put this
+ (probably not).
+ * Added MSVC-specific sigc++config.h to the MSVC project directory.
+ (The comment in it probably should be edited.)
+ * Changed MSVC project settings to output a multi-threaded DLL, set
+ the include paths to work (hopefully) out-of-the-box. Disabled
+ precompiled headers, since they just complicate things and
+ shouldn't be necessary for such a relatively project.
+
+2004-08-01 Martin Schulze <mschulze cvs gnome org>
+
+ * sigc++/type_traits.h: Remove type_trait<>::instance()
+ (was unimplemented and unused; caused problems with the MSVC).
+
+2004-07-23 Martin Schulze <mschulze cvs gnome org>
+
+ * Makefile.am: Fix typo concerning distribution of libsigc++-2.0.spec.
+ * AUTHORS: Mention our contributors for platforms Sun FORTE and Intel C++.
+
+2004-07-15 Martin Schulze <mschulze cvs gnome org>
+
+ * *.h.m4: Don't call operator()() in sun_forte_workaround(); rather copy
+ operator()(). Calling operator()() makes a copy of the arguments causing
+ wrong results if an argument type is a reference. Hopefully fixes #147311.
+
+2004-07-15 Martin Schulze <mschulze cvs gnome org>
+
+ * tests/test_lambda.cc: Break "std::cout << [expr] << a << std::endl;"
+ into "std::cout << [expr]; std::cout << a << std::endl;".
+ I hope this fixes #147313 where the right values for "[expr]" but wrong
+ values for "a" were written to std::cout for some compiler with optimizations
+ turned off.
+
+2004-07-15 Martin Schulze <mschulze cvs gnome org>
+
+ * sigc++/adaptors/lambda/macros/operator.h.m4: Correct return type deduction
+ of lambda expressions in lambda_operator*::operator()(). Might be related to
+ bug #147313.
+ * sigc++/adaptors/lambda/macros/group.h.m4: Use m4 macro _P_().
+
+2004-07-15 Martin Schulze <mschulze cvs gnome org>
+
+ * scripts/cxx.m4, sigc++config.h.in, configure.ac,
+ sigc++/adaptors/lambda/macros/operator.h.m4, tests/test_lambda.cc:
+ Add configure check SIGC_OPERATOR_OVERLOAD_AMBIGUITY for a SUN FORTE
+ compiler problem (bug #147391). Use it to decide whether the lambda
+ action operators may be overloaded (not doing so restricts the API slightly).
+ * sigc++/adaptors/lambda/macros/operator.h.m4: Add some doxygen comments
+ and remove attic code.
+ * sigc++/adaptors/lambda/macros/base.h.m4:
+ Add templates unwrap_lambda_type and unwrap_lambda_value() to support
+ the non-overloaded lambda action operators. Also add some doxygen comments
+ and remove attic code.
+ * sigc++/adaptors/lambda/macros/group.h.m4: Fix a bug that resulted in
+ gargabe values being passed on to the functor contained in the group adaptor
+ (partly fixes #147313).
+
+2004-07-11 Martin Schulze <mschulze cvs gnome org>
+
+ * scripts/cxx.m4, sigc++config.h.in, configure.ac, *.h.m4:
+ Split SIGC_CXX_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
+ into SIGC_CXX_GCC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
+ and SIGC_CXX_MSVC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD.
+ Remove LIBSIGC_TEMPLATE_PREFIX. Add template keyword to
+ SIGC_WORKAROUND_OPERATOR_PARENTHESES depending on the configure checks.
+ Should fix the compiler problems with MSVC.
+
+2004-07-11 Martin Schulze <mschulze cvs gnome org>
+
+ * examples/hello_world.cc: Use sigc::ptr_fun instead of std::ptr_fun.
+ (fixes bug #144846)
+
+2004-07-11 Eric Bourque <ericb computer org>
+
+ * libsigc++-2.0.spec.in: new file
+ * configure.ac : patched generate spec file
+ * .cvsignore: ignore generated file (Martin Schulze)
+ * Makefile.am: distribute spec file (Martin Schulze)
+
+2004-07-11 Murray Cumming <murrayc murrayc com>
+
+ * sigc++/connection.cc: Added some comments.
+ * sigc++/trackable.cc: operator=(): Check for self-asignment, though I
+ do not know of any actual bug that this fixes. Added some comments.
+ * sigc++/trackable.h Added some doxygen documentation.
+
+2004-07-09 Murray Cumming <murrayc murrayc com>
+
+ * tests/: Added test_disconnect_during_emit.cc, to prove that this
+ works.
+
+2004-07-08 Murray Cumming <murrayc murrayc com>
+
+ * tests/test_retype_return.cc: foo::operator(int): return a
+ value. The SUN Forte 5.5 compiler complains about this, as it should.
+
+2004-07-08 Murray Cumming <murrayc murrayc com>
+
+ * sigc++/macros/signal.h.m4: class signal*: Rename the slot_list
+ typedef to slot_list_type, because there is already a template class
+ called slot_type. SUN Forte 5.5 seems to complain about this and I am
+ not surprised. The old typdef is still there for backwards
+ compatibility, except when building with SUN Forte.
+
+2004-07-07 Murray Cumming <murrayc murrayc com>
+
+ * scripts/cxx.m4: SIGC_CXX_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD():
+ Don't define the SIGC_TEMPLATE_SPECIALIZATOIN_OPERATOR_OVERLOAD C
+ macro at all if the test fails. This might fix the build on SUN Forte.
+ * sigc++/functors/macros/mem_fun.h.m4: Default constructor: Initialize
+ the func_ptr_ member variable. I have no evidence that this solves any
+ problems, but it worried me.
+ * sigc++/functors/slot_base.h: operator bool(): Correct documentation,
+ to use @code instead of <code>
+ * sigc++/macros/signal.h.m4: Remove the documentation for the
+ parameters named first and last, because they do not exist.
+
+2004-05-31 Martin Schulze <mschulze cvs gnome org>
+
+ * autogen.sh: Add '--force'-flag to the 'libtoolize'-command (bug #143425).
+
+2.0.3:
+
+2004-05-30 Martin Schulze <mschulze cvs gnome org>
+
+ * configure.ac: Bump version number to 2.0.3.
+ * NEWS: Add ChangeLog summary for version 2.0.3.
+ * sigc++/macros/signal.h.m4: Fix segfault on emission of unconnected signal.
+ * tests/test_signal.cc, tests/test_accumulated.cc: Emit unconnected signal.
+ * sigc++/macros/object_slot.h.m4: Suppress compiler warning at
+ dynamic_cast<>-test (tested by Christof Petig/Timothy M. Shead).
+
+2.0.2:
+
+2004-05-22 Martin Schulze <mschulze cvs gnome org>
+
+ * configure.ac: Bump version number to 2.0.2.
+ * NEWS: Add ChangeLog summary for version 2.0.2.
+
+2004-05-20 Martin Schulze <mschulze cvs gnome org>
+
+ * sigc++/macros/signal.h.m4: If a custom accumulator is specified
+ invoke it on signal emission even if the signal's slot list is empty.
+ (This used to be the case in libsigc++-1.2 as pointed out by Timothy.)
+
+2004-05-20 Martin Schulze <mschulze cvs gnome org>
+
+ * sigc++/macros/object_slot.h.m4: Suppress compiler warning at
+ dynamic_cast<>-test (suggested by Timothy M. Shead).
+
+2004-05-01 Martin Schulze <mschulze cvs gnome org>
+
+ * README: Updated for libsigc++-2.0.
+
+2.0.1:
+
+2004-04-27 Martin Schulze <mschulze cvs gnome org>
+
+ * configure.ac: Bump version number to 2.0.1.
+ * NEWS: Add ChangeLog summary for version 2.0.1.
+ * sigc++/adaptors/lambda/macros/base.h.m4: Fixed documentation.
+ * sigc++/adaptors/macros/bind.h.m4: Hide work-arounds from doxygen.
+ * scripts/cxx.m4, sigc++config.h.in, configure.ac,
+ sigc++/adaptors/macros/bind.h.m4: Removed configure check. It
+ showed that the Apple gcc can also compile the sophisticated version
+ of the work-around.
+
+2004-04-26 Martin Schulze <mschulze cvs gnome org>
+
+ * sigc++/macros/object_slot.h.m4: Modified test for SigC::Object
+ inheritance so that it also works if SigC::Object is virtual base.
+ (Fixes bug 141094 reported by Jonathan Brandmeyer)
+
+2004-04-26 Martin Schulze <mschulze cvs gnome org>
+
+ * scripts/cxx.m4: Updated the configure check. It would probably
+ have succeeded on the Apple.
+
+2004-04-26 Martin Schulze <mschulze cvs gnome org>
+
+ * sigc++/adaptors/macros/bind.h.m4: Add work-arounds for
+ bind<-1>::deduce_result_type compilation error on Apple gcc 3.3.
+ * scripts/cxx.m4, sigc++config.h.in, configure.ac: Add configure
+ check for the compilation error above.
+ * sigc++/adaptors/lambda/macros/operator.h.m4: Replace _A with
+ _Aa. _A is a reserved keyword on Apple gcc 3.3 (Spundun Bhatt).
+ (fixes bug #10444 reported by Spundun Bhatt)
+
+2004-04-19 Martin Schulze <mschulze cvs gnome org>
+
+ * sigc++/signal_base.cc: Fixed serious bug in signal_base::impl():
+ Only reference a newly created object (initial reference).
+ (This fixes bug #140269 reported by Andris.)
+
+2004-04-19 Murray Cumming <murrayc murrayc com>
+
+ * scripts/cxx.m4: Updated the operator() template check, because it
+ failed with gcc 3.4 (from cvs). Apparently the template keyword can
+ only be used from another template.
+
+2.0.0:
+
+2004-04-06 Martin Schulze <mschulze cvs gnome org>
+
+ * configure.ac: Bump version number to 2.0.0.
+ * NEWS: Add ChangeLog summary for version 2.0.0.
+ * TODO, AUTHORS: Bring up to date.
+ * sigc++-2.0.pc.in, Makefile.am: 1.9 -> 2.0
+ * Added more documentation.
+
+2004-04-10 Murray Cumming <murrayc murrayc com>
+
+ * sigc++/connection.[h|cc]: Implement blocked() to avoid undefined
+ symbol linker error.
+
+2004-04-08 Murray Cumming <murrayc murrayc com>
+
+ * dist the scripts directory.
+
+1.9.16:
+
+2004-04-06 Martin Schulze <teebaum cvs gnome org>
+
+ * configure.ac: Bump version number to 1.9.16.
+ * NEWS: Add ChangeLog summary for version 1.9.16.
+
+2004-04-02 Murray Cumming <murrayc murrayc com>
+
+ * sigc++/connection.cc: Make block() and unblock() always return a
+ value, to fix compiler warnings. Patch from bug #138620 by
+ Alexander Nedotsukov.
+
+2004-04-02 Murray Cumming <murrayc murrayc com>
+
+ * Fix the compile of examples/member_method.cc. Bug #131701 from
+ Kirill Smelkov. I also made the examples build as part of the regular
+ build.
+
+2004-04-02 Murray Cumming <murrayc murrayc com>
+
+ * sigc++config.h.m4: Remove every undef apart from the one we need, to
+ avoid clashes, because we #include this in a public header.
+
+2004-03-25 Murray Cumming <murrayc murrayc com>
+
+ * scripts/cxx.m4, configure.in, sigc++config.h.in: Rename the
+ template_keyword check to template_specialization, because the problem
+ is with or without the keyword.
+ * sigc++/adaptors/macros/adaptor_trait.h.m4: Define
+ SIGC_WORKAROUND_OPERATOR_PARENTHESES, which calls either operator() or
+ sun_forte_workaround() depending on the result of the compiler test.
+ * many .m4 files: Add sun_forte_workaround methods that call the
+ operator() methods. Put them in #ifdefs so that only SUN Forte C++
+ sees them.
+
+2004-03-22 Murray Cumming <murrayc murrayc com>
+
+ * Makefile.am, sigc++/Makfile.am: Fix the sigc++config.h.in disting,
+ to fix make distcheck.
+
+2004-03-21 Murray Cumming <murrayc murrayc com>
+
+ * Rename config.h.in to sigc++config.h.in so that gtkmm does not
+ include some other config.h at strange times - fixes a problem in
+ the gtkmm demos. This should really be in the sigc++ directory, but
+ that seems to add that as an include path, which causes the STL
+ headers to include sigc++/signal.h instead of some STL signal.h header.
+
+2004-03-20 Murray Cumming <murrayc murrayc com>
+
+ * Makefile.am: Install the config.h platform-specific header.
+ * sigc++-2.0.pc.in: Report the include path for config.h
+
+2004-03-20 Murray Cumming <murrayc murrayc com>
+
+ * Added config.h.in, using autoheader, from which config.h will be
+ generated, so we can detect compiler features.
+ * configure.ac: Added AC_CONFIG_HEADER(config.h) to generate config.h
+ from config.h.in.
+ * scripts/cxx.m4: Added this directory and file, with a
+ SIGC_CXX_TEMPLATE_KEYWORD_OPERATOR_OVERLOAD macro that defines
+ the SIGC_TEMPLATE_KEYWORD_OPERATOR_OVERLOAD C macro.
+ * autogen.sh: Added -I scripts to the aclocal call, so that it finds
+ the m4 macro for configure.ac.
+ * sigc++/adapators/macros/adaptor_trait.h.m4: Include config.h and
+ use SIGC_TEMPLATE_KEYOWRD_OPERATOR_OVERLOAD.
+
+2004-03-18 Martin Schulze <mschulze cvs gnome org>
+
+ * tests/test_mem_fun.cc, tests/test_ptr_fun.cc: Don't test
+ making functors from overloaded methods with partial template
+ specialization. Not portable among different compilers (SUN FORTE).
+ * adaptors/macros/apdaptor_trait.h.m4: Only gcc seems to use the
+ notation A.template operator()<...>(...) => adapt preprocessor check
+ for #define LIBSIGC_TEMPLATE_PREFIX. TODO: replace with configure check.
+
+2004-03-13 Murray Cumming <murrayc murrayc com>
+
+ * g++ 3.4 (pre-release) build fixes:
+ * sigc++/macros/signal.h.m4: slot_iterator_buf::operator*():
+ Use blocked() and empty() instead of non-existant blocked_and_empty().
+ * sigc++/functors/macros/mem_fun.h.m4: memfun_functor*::operator()():
+ Use this->func_ptr_ instead of just func_ptr_.
+ * sigc++/adaptors/macros/deduce_result_type.h.m4: Use
+ T_functor::template deduce_result_type<> instead of just
+ T_functor::deduce_result_type<>.
+ * sigc++/adaptors/lambda/macros/base.h.m4, operator.h.m4, group.h.m4::
+ Use template keyword again. operator[](): Use this->value_ instead of
+ just value_.
+ * sigc++/adaptors/lambda/macros/bind/m4: Use template keyword, and
+ this-> again.
+ * sigc++/adaptors/macros/compose.h.m4, hide.h.m4, bind_return.h.m4,
+ exception_catch.h.m4:
+ rettype.h.m4, rettype_return.h.m4: Use template keyword,and this-> again
+
+1.9.15:
+
+2004-02-27 Martin Schulze <teebaum cvs gnome org>
+
+ * configure.ac: Bump version number to 1.9.15.
+ * NEWS: Add ChangeLog summary for version 1.9.15.
+
+2004-02-27 Martin Schulze <teebaum cvs gnome org>
+
+ * sigc++/functors/macros/slot.h.m4: Make the unnumbered slot templates'
+ copy ctors use the copy ctors of the base class. Fixes bug #24698.
+ * tests/test_slot.cc: Test copy ctor (Bryan Forbes).
+
+2004-02-27 Martin Schulze <teebaum cvs gnome org>
+
+ * tests/type_functor_trait.cc: Bring it up-to-date (use sigc::ref).
+ Make it work with the SUN Forte.
+
+2004-02-24 Martin Schulze <teebaum cvs gnome org>
+
+ * sigc++/type_traits.h: Make is_base_and_derived<> work with the SUN Forte.
+
+2004-02-19 Martin Schulze <teebaum cvs gnome org>
+
+ * sigc++/type_traits.h: Make is_base_and_derived<> platform independant.
+ * sigc++/adaptors/lambda/macros/base.h.m4: Make lambda_core<> ctors
+ explicit. Remove an unused ctor from lambda_core<T_type, true>.
+
+2004-02-14 Martin Schulze <teebaum cvs gnome org>
+
+ * sigc++/functors/slot_base.h, sigc++/functors/macros/slot.h.m4:
+ Move some documentation to slot_base.h.
+ * sigc++/signal_base.h, sigc++/macros/signal.h.m4:
+ Move some documentation to signal_base.h.
+
+ API addition:
+ * sigc++/functors/macros/slot.h.m4: Add numbered slot# templates.
+ Make unnumbered slot templates inherit from slot#.
+
+ API change:
+ * sigc++/functors/macros/mem_fun.h.m4: Allow for methods of the object's
+ base types to be passed into sigc::mem_fun(). (Used to be the case in
+ libsigc++-1.2).
+
+2004-02-13 Murray Cumming <murrayc usa net>
+
+ * sigc++/functors/slot_base.[h|cc], sigc++/trackable.[h|cc]: Create
+ and use a typedef for the destroy_notify callback functions, to avoid
+ confusion function pointer declaration syntax in the API.
+
+2004-02-13 Murray Cumming <murrayc murrayc com>
+
+ * Moved implementation to .cc files:
+ * sigc++/functors/: Added slot_base.[h|cc] which contains non-template
+ code that was previsouly in the generated functors/slot.h and
+ non-generated slot.cc files. All non-inline implementation is now in
+ the .cc file.
+ * sigc++/functors/macros/slot.m4: Removed the code that has been moved
+ to slot_base.[h|cc].
+ * sigc++/: Added signal_base.[h|cc] which contains non-template code
+ that was previously in the generated signal.h and non-generated
+ signal.cc file. All non-inline implementation is now in the .cc file.
+ * sigc++/macros/signal.m4: Removed the code that ahs been moved to
+ signal.cc
+ * sigc++/connector.[h|cc]: method implementation moved to the .cc file.
+
+1.9.14:
+
+2004-02-13 Martin Schulze <teebaum cvs gnome org>
+
+ * configure.ac: Bump version number to 1.9.14.
+ * NEWS: Add ChangeLog summary for version 1.9.14.
+
+2004-02-09 Murray Cumming <murrayc usa net>
+
+ * sigc++/functors/macros/slot.h.m4: slot_base: Added operator bool(), needed to
+ check for a slot that is created with the default constructor. This was
+ present in libsigc++ 1.2 also.
+
+2004-02-06 Murray Cumming <murrayc usa net>
+
+ * Makefile.am: Build the docs directory, by adding it to SUBDIRS.
+ * docs/Doxyfile.in: Updated to be more glibmm-like.
+ * Added some @deprecated doxygen bits.
+ * sigc++/macros/signal.h.m4: Call base constructor from signal_base
+ constructor - this is an error-as-warning when building gtkmm.
+
+1.9.13:
+
+2003-11-30 Martin Schulze <teebaum cvs gnome org>
+
+ * configure.ac: Bump version number to 1.9.13.
+ * NEWS: Add ChangeLog summary for version 1.9.13.
+ * Makefile.am, MSVC_Net2003/Makefile.am, configure.ac:
+ Distribute MS .Net project files.
+ * sigc++/adaptors/macros/[bind,hide].h.m4: Correct and add
+ documentation. Make hide_functor ctor explicit.
+
+2003-11-11 Martin Schulze <teebaum cvs gnome org>
+
+ * sigc++/adaptors/macros/[bind,hide].h.m4: Change to zero-based
+ argument index in numbered bind() and hide() overload
+ (Agreement on the mailing list).
+ Support binding up to CALL_SIZE arguments with one bind adaptor.
+ (Requested by joey yandle and others).
+ Only support binding of multiple arguments in unnumberd overloads
+ to keep the API simple (Requested by Murray Cumming).
+ * tests/test_[bind,hide,functor_trait].cc, sigc++/bind.h:
+ Reflect API changes in compatibility module and test cases.
+
+2003-11-10 Martin Schulze <teebaum cvs gnome org>
+
+ * sigc++/adaptors/macros/[bind,hide].h.m4: Add unnumbered
+ bind() and hide() overloads to make specifying the argument
+ position optional (Proposed by Jeff Franks).
+ * tests/test_[bind,hide].cc: Test unnumbered bind() and hide().
+ * sigc++/adaptors/macros/adaptor_trait.h.m4:
+ Change "#ifdef MSVC" to "#ifdef _MSC_VER" (Roel Vanhout).
+
+2003-11-09 Martin Schulze <teebaum cvs gnome org>
+
+ * sigc++/functors/macros/slot.h.m4: Change functor type in
+ typed_slot_rep to adaptor_trait::adaptor_type<T_functor>
+ and use explicit function template instantiation in
+ internal::slot_call::call_it(). Avoids copying of arguments
+ in call_it() and enables binding of object instances
+ to class methods through bind() (Reported by Jeff Franks).
+ * tests/test_bind.cc: Test binding object instances to
+ class methods through bind().
+ * sigc++/adaptors/adaptors.h: Include retype[_result].h.
+ * sigc++/adaptors/macros/adaptor_trait.h.m4:
+ - Add documentation.
+ - Mark some c-tors as explicit.
+ - Remove ununsed operator T_functor&() from adaptor_functor.
+ * sigc++/adaptors/macros/deduce_result_type.h.m4:
+ Rewrite parts of the documentation.
+ * sigc++/adaptors/macros/bind.h.m4: Add documentation.
+ * sigc++/functors/macros/mem_fun.h.m4: Remove unnecessary
+ explicit markers. Minor fixes to documentation.
+ * sigc++/functors/macros/functor_trait.h.m4:
+ Minor fixes to documentation.
+
+1.9.12:
+
+2003-11-04 Martin Schulze <teebaum cvs gnome org>
+
+ * configure.ac: Bump version number to 1.9.12.
+ * NEWS: Add ChangeLog summary for version 1.9.12.
+
+2003-11-03 Martin Schulze <teebaum cvs gnome org>
+
+ * sigc++/macros/signal.h.m4: Document accumulators.
+ Move slot_iterator_buf into namespace internal. Since
+ accumulators have the iterator type as a template argument
+ there is no need to expose this very internal type.
+ * sigc++/functors/macros/*.m4: Regroup documentation.
+ Documentation of the core parts of the library should be
+ complete by now.
+
+2003-11-02 Martin Schulze <teebaum cvs gnome org>
+
+ * Improve documentation of the core parts of the library.
+ * tests/test_ptr_fun.cc: Test ptr_fun() with static
+ member functions.
+
+2003-11-02 Martin Schulze <teebaum cvs gnome org>
+
+ * Move all .m4 files into new subdirectories
+ sigc++/[...]/macros. Install the .m4 files on
+ "make install" (Reported by Ron Steinke).
+
+2003-11-01 Martin Schulze <teebaum cvs gnome org>
+
+ * sigc++/[class,method,object]_slot.h.m4: Include
+ sigc++/functors/mem_fun.h (Reported by Ron Steinke).
+
+2003-11-01 Martin Schulze <teebaum cvs gnome org>
+
+ * sigc++/adaptors/lambda/operator.h.m4: Add negation
+ operator I have completely overlooked until now.
+ * sigc++/tests/test_lambda.cc: Test negation operator.
+
+2003-11-01 Martin Schulze <teebaum cvs gnome org>
+
+ * sigc++/[class_slot,method_slot,object_slot,hide].h.m4,
+ sigc++/signal.h.m4, sigc++/functors/mem_fun.h.m4:
+ - Use a shorter notation for ..._mem_function variants.
+ - Change order of mem_funcotr<>'s template arguments to
+ match std::mem_fun_t and to be more consistent with adaptors.
+ - Use ::sigc::slot's implicit ctor in compatibility module.
+ * sigc++/adaptors/lambda/operator.h.m4: Change some
+ lambda action names to match action names in std.
+
+ API addition:
+ * sigc++/adaptors/retype.h.m4: New file adding
+ adaptor retype.
+ * sigc++/Makefile.am: Build and distribute new file.
+ * tests/test_retype.cc: New file testing adaptor retype.
+ * MSVC_Net2003/tests/test_retype/test_reytype.vcproj,
+ tests/Makefile.am: Build and distribute new test case.
+
+2003-11-01 Martin Schulze <teebaum cvs gnome org>
+
+ * MSVC_Net2003: New directory containing project
+ files for Visual Studio .Net 2003.
+ Credits to Roel Vanhout <roel riks nl>!
+
+2003-11-01 Martin Schulze <teebaum cvs gnome org>
+
+ * sigc++/retype.h.m4: Use LIBSIGC_TEMPLATE_PREFIX
+ in explicit function template instantiations.
+ * sigc++/type_traits.h: Add template specialization
+ for arrays (T_type[N]) to disable non-working member
+ type_trait<T_type[N]>::instance().
+ * sigc++/visit_each.h: Remove more disturbing
+ limit_derived_target<>::operator() overloads.
+ (Should have noticed earlier that they are unnecessary.)
+ * sigc++/adaptors/deduce_result_type.h.m4,
+ sigc++/adaptors/lambda/operator.h.m4,
+ sigc++/functors/functor_trait.h.m4,
+ tests/test_[bind,compose,exception_catch,hide,lambda].cc:
+ Completely removed support for typeof(). We don't need
+ it any more and it is completely non-standard!
+
+2003-10-30 Cedric Gustin <cedric gustin swing be>
+
+ * configure.ac: Added test of win32 platform. Commented
+ out AM_DISABLE_SHARED (DLLs are shared libraries).
+ * sigc++/Makefile.am: added a few LDFLAGS for win32
+ DLLs.
+
+2003-10-30 Martin Schulze <teebaum cvs gnome org>
+
+ * sigc++/signal.h.m4: Add SigC::Signal#<>::slot().
+ * sigc++/slot.h.m4: Comment out make_slot() work-around.
+ * sigc++/adaptors/bind.h.m4: Remove unnecessary brackets
+ in template argument lists. They are confusing MSVC.
+ * sigc++/adaptors/*.h.m4, sigc++/adaptors/lambda/*.h.m4:
+ Use LIBSIGC_TEMPLATE_PREFIX in explicit function
+ template instantiations.
+ * sigc++/tests/test_*.cc:
+ - Include <string> where std::string is used.
+ - Use double instead of float.
+
+2003-10-27 Martin Schulze <teebaum cvs gnome org>
+
+ * sigc++/retype.h.m4: Cleanup.
+ * TODO: Bring it up to date.
+
+1.9.11:
+
+2003-10-26 Martin Schulze <teebaum cvs gnome org>
+
+ * configure.ac: Bump version number to 1.9.11.
+ * NEWS: Add ChangeLog summary for version 1.9.11.
+
+2003-10-26 Martin Schulze <teebaum cvs gnome org>
+
+ Compatiblity module:
+ * sigc++/signal.h.m4: Move definition of compatiblity
+ classes SigC::SignalN to here.
+ * sigc++/connection.h:
+ - Add connection::connected().
+ - Add compatibility typedef SigC::Connection.
+ * sigc++/bind.h, sigc++/bind_return.h,
+ sigc++/class_slot.h.m4, sigc++/hide.h.m4,
+ sigc++/method_slot.h.m4, sigc++/object.h,
+ sigc++/object_slot.h.m4, sigc++/retype.h.m4,
+ sigc++/retype_return.h sigc++/slot.h.m4,
+ sigc++/compatibility.h:
+ New files to complete compatibility module.
+ Split content of compatibility.h.m4 among the new files.
+ * sigc++/compatibility.h.m4: Removed.
+ * Makefile.am: Build and distribute new files.
+ * tests/test_compatibility.cc: Test new stuff.
+
+ Fixes:
+ * sigc++/functors/slot.h.m4: Fix copy constructor and
+ operator=() of slot template.
+ * sigc++/adaptors/bind.h.m4: Fix deduce_result_type
+ template specializations. bind<0>() probably compiles
+ with gcc-3.3, now.
+
+2003-10-26 Martin Schulze <teebaum cvs gnome org>
+
+ Fixes:
+ * sigc++/functors/slot.{cc,h.m4}:
+ - Fix notification process: don't defer detaching of a
+ slot from all referred trackables during signal emission!
+ - Size optimization: replace virtual functions from
+ struct typed_slot_rep with function pointers in slot_rep
+ (reduces size of a typical typed_slot_rep instantiation
+ by 30% !!!).
+ * tests/test_slot.cc: Test sigc::slot more thoroughly.
+ * sigc++/functors/mem_fun.h.m4: Fix visit_each().
+ * sigc++/adaptos/bind_return.h.m4: Add support for
+ sigc::ref().
+ * tests/test_bind_return.cc: Use sigc::ref().
+ * sigc++/signal.h.m4: Avoid compiler warning about
+ uninitialized variable r_ in emit().
+ * sigc++/visit_each.h: Cleanup.
+
+ API additions:
+ * sigc++/adpators/lambda/operators.h.m4: Add
+ lambda actions sigc::{reinterpret,static,dynamic}_cast_
+ to support explicit parameter conversion.
+ * tests/test_lambda.cc: Test sigc::static_cast_.
+ * sigc++/adaptors/retype_return.h.m4: New file adding
+ adaptor retype_return (and hide_return).
+ * sigc++/Makefile.am: Build and distribute new file.
+ * tests/test_retype_return.cc: New file testing
+ adaptor retype_return (and hide_return).
+ * tests/Makefile.am: Build and distribute new test case.
+
+2003-10-25 Martin Schulze <teebaum cvs gnome org>
+
+ * sigc++/visit_each.h: Remove disturbing
+ limit_derived_target<>::operator() overloads.
+ * sigc++/adaptors/bind.h.m4: Add support for sigc::ref().
+ * tests/test_bind.cc: Test sigc::ref().
+ * sigc++/adaptors/lambda/{operator,group,base}.h.m4:
+ - Move support for sigc::ref() from lambda_core<> into
+ lambda operator and lambda group creator functions.
+ - Add missing visit_each() overload for lambda<> template.
+ * tests/test_lambda.cc: Test auto-disconnection.
+ TODO: Fix a strange bug that leads to "Bus error"
+ during auto-disconnection.
+
+1.9.10:
+
+2003-10-23 Martin Schulze <teebaum cvs gnome org>
+
+ * configure.ac: Bump version number to 1.9.10.
+ * NEWS: Add ChangeLog summary for version 1.9.10.
+
+2003-10-23 Martin Schulze <teebaum cvs gnome org>
+
+ * sigc++/functors/{functor_trait,slot}.h.m4:
+ Move definition of struct nil into functor_trait.h.
+
+2003-10-23 Martin Schulze <teebaum cvs gnome org>
+
+ * configure.ac: Disable typeof() compiler checks.
+ * sigc++/adaptors/bind.h.m4: Remove unnecessary
+ deduce_result_type<> template specializations.
+
+2003-10-20 Martin Schulze <teebaum cvs gnome org>
+
+ * sigc++/adaptors/compose.h.m4:
+ Correct order of typedefs for good. (Patch from Jeff Franks.)
+
+1.9.9:
+
+2003-10-20 Martin Schulze <teebaum cvs gnome org>
+
+ * sigc++/connection.h: Add constructor that takes
+ a sigc::slot_base& to support 3rd-party slot lists
+ like they are used in glibmm/gtkmm.
+ * sigc++/functors/slot.h.m4: Make sigc::slot::call_type public.
+ (Fixes compile problems reported by Jeff Franks.)
+ * sig++/type_traits.h: Don't use long long in
+ sigc::is_base_and_derived.
+ (Fixes compile problems reported by Jeff Franks.)
+ * sigc++/adaptors/{bind,compose,hide,exception_catch}.h.m4:
+ Correct order of typedefs. (Repoted by Jeff Franks.)
+ * configure.ac: Bump version number to 1.9.9.
+ * NEWS: Add ChangeLog summary for version 1.9.9.
+
+1.9.8:
+
+2003-10-19 Martin Schulze <teebaum cvs gnome org>
+
+ * sigc++/functors/slot.h.m4: Define doxygen group functors.
+ * configure.ac: Bump version number to 1.9.8.
+ * NEWS: Add ChangeLog summary for version 1.9.8.
+
+2003-10-19 Martin Schulze <teebaum cvs gnome org>
+
+ * NEWS: Add announces of versions 1.9.6 and 1.9.7.
+ * sigc++/compatibility.h.m4: New file. Defines namespace SigC.
+ namespace SigC should be API compatible to libsigc++-1.2.
+ * sigc++/Makefile.am: Build compatibility.h.
+ * tests/test_compatibility.cc, tests/Makefile.am:
+ Add test case for compatibility module.
+ * docs/index.html: Change group names.
+ * sigc++/sigc++.h: Include connection.h.
+ * sigc++/connection.{cc,h}:
+ - Rename dependency to destroy_notify_callback.
+ - Change parameter name in set_slot() from d to data.
+ - Fix operator=(): Add "return *this;"
+ - Get rid of namespace functor.
+ - Corrections in documentation.
+ * sigc++/signal.{cc,h.m4}:
+ - Add reference counter to signal_impl. Replaces "bool destroy_".
+ - Move signal_base, slot_iterator[_buf], slot_list out of
+ namespace internal. They are part of the public API.
+ - Add convenience function signal#::make_slot().
+ - Get rid of namespace functor.
+ - Corrections in documentation.
+ * sigc++/trackable.{cc,h}:
+ - Rename dependency to destroy_notify_callback.
+ - Rename trackable::clear() to trackable::notify_callbacks().
+ - Corrections in documentation.
+ * sigc++/type_traits.h: Add documentation.
+ * sigc++/visit_each.h:
+ - Get rid of namespace functor.
+ - Add documentation.
+ * sigc++/adaptors[/lambda]/*: Get rid of namespace functor.
+ * sigc++/functors/{functor_trait.h,ptr_fun.h.m4,mem_fun.h.m4}:
+ - Get rid of namespace functor.
+ - Corrections in documentation / add documentation.
+ * sigc++/functors/slot.{cc,h.m4}:
+ - Move slot_base out of namespace internal. It's public API.
+ - Get rid of one-letter-parameter-names.
+ - Get rid of namespace functor.
+ - Corrections in documentation.
+ * tests/*.cc: Get rid of "using namespace ...".
+
+2003-09-10 Martin Schulze <teebaum cvs gnome org>
+
+ * sigc++/adaptors/lambda/{base,operators}.h.m4:
+ Add subscript ([]) and assign (=) operator. I think there are now
+ enough operators available to make any future power user happy.
+ The only one missing is the comma operator and if we added it
+ the logical consequence would be to also add if(), switch(), do(),
+ etc. lambda expressions which are really out of place in libsigc++.
+ * sigc++/type_traits.h: Fix is_base_and_derived<> for const types.
+ * tests/test_lambda.cc: Test new operators.
+
+1.9.7:
+
+2003-09-05 Martin Schulze <teebaum cvs gnome org>
+
+ * configure.ac: Bump version number to 1.9.7.
+
+2003-09-03 Martin Schulze <teebaum cvs gnome org>
+
+ * sigc++/adaptors/lambda/operator.h.m4:
+ - Restructure so that the size of the generated source file stays
+ reasonable for 34 operators: There are only two lambda templates
+ lambda_operator and lambda_operator_unary. The action is an additional
+ template parameter. A small template lambda_action[_unary] is specialized
+ for all actions.
+ - Add most operators that boost::lambda supports. Missing operators are
+ "=", "[]", "," and support for pointer arithmetic. I don't know if it's
+ worth adding these. In libsigc++, the purpose of lambda operators is to
+ provide some extra functionality for the group adaptor.
+ * tests/test_lambda.cc:
+ Test pre-increment, address and dereference operator.
+
+2003-08-31 Martin Schulze <teebaum cvs gnome org>
+
+ * sigc++/reference_wrapper.h, sigc++/type_traits.h, sigc++/Makefile.am:
+ New file reference_wrapper.h provides ref() to specify that adaptors/lambdas
+ should take a reference to the object passed into ref() instead of a copy.
+ * tests/test_lambda.cc:
+ - Test group() with mem_fun().
+ - Use ref() where lambdas should store references to objects.
+ - Test var() and constant().
+ * sigc++/adaptors/lambda/base.h.m4:
+ - Support ref() in return type deduction.
+ - Add var() and constant() which create lambdas for usage with lambda operators.
+ * sigc++/adaptors/lambda/operator.h.m4:
+ - Fix return type deduction.
+ - Remove operator{+,-,*,...} overloads added on 2003-08-29. ref() is way cleaner.
+ * sigc++/adaptors/lambda/group.h.m4,
+ sigc++/adaptors/bind.h.m4, sigc++/adaptors/compose.h.m4,
+ sigc++/adaptors/exception_catch.h.m4, sigc++/adaptors/hide.h.m4:
+ Fix return type deduction.
+
+2003-08-29 Martin Schulze <teebaum cvs gnome org>
+
+ * tests/test_lambda.cc: Add more tests.
+ * sigc++/adaptors/lambda/select.h.m4, sigc++/adaptors/lambda/lambda.cc.m4:
+ Make _1, _2, ... constant.
+ * sigc++/adaptors/lambda/operator.h.m4:
+ Add operator{+,-,*,...} overloads to distinguish between const and non-const objects.
+ Store references to non-const objects rather than copies.
+ This allows expressions like e.g. std::cout << _1.
+ * sigc++/adaptors/lambda/base.h.m4, sigc++/adaptors/lambda/group.h.m4:
+ Remove void specializations. Functors returning void are tested and work fine.
+
+2003-08-27 Martin Schulze <teebaum cvs gnome org>
+
+ * tests/test_callof.cc, tests/test_deduce_result_type.cc:
+ Rename, correct and improve this test case.
+ * tests/Makefile.am: Build and run test_deduce_result_type
+ instead of test_callof.
+
+2003-08-27 Martin Schulze <teebaum cvs gnome org>
+
+ * Update TODO.
+
+2003-08-27 Martin Schulze <teebaum cvs gnome org>
+
+ * sigc++/adaptors/hide.h.m4: Remove usage of callof_ignore_arg<>.
+ * sigc++/callof.h.m4, sigc++/adaptors/deduce_result_type.h.m4,
+ sigc++/functors/functor_trait.h.m4:
+ Remove the first and move deduce_result_type templates from
+ functor_trait.h.m4 into new file deduce_result_type.h.m4.
+ * sigc++/Makefile.am, sigc++/sigc++.h, sigc++/adaptors/adaptor_trait.h.m4:
+ Build and include sigc++/adaptors/deduce_result_type.h instead of callof.h.
+ * sigc++/functors/slot.h.m4: Document struct nil.
+
+2003-08-24 Martin Schulze <teebaum cvs gnome org>
+
+ * sigc++/functors/functor_trait.h.m4: Simplify usage of convenience
+ macro SIGC_FUNCTORS_HAVE_RESULT_TYPE:
+ namespace sigc{ namespace functor{ SIGC_FUNCTORS_HAVE_RESULT_TYPE }}
+
+2003-08-24 Martin Schulze <teebaum cvs gnome org>
+
+ * sigc++/functors/functor_trait.h,m4, sigc++/adaptors[/lambda]/*.h.m4:
+ Merge adaptor return type deduction and typeof() into
+ sigc::functor::deduce_result_type. Use it for all adaptors.
+ * tests/test_compose.cc: Only test multi-type get-functor if
+ typeof() if supported.
+
+2003-08-24 Martin Schulze <teebaum cvs gnome org>
+
+ * sigc++/adaptors[/lambda]/*.h.m4:
+ - Remove unnecessary void specializations. In fact, only the one
+ for sigc::functor::exception_catch<> is needed and I don't really
+ understand why. For the lambda stuff the void specializatoins are
+ just commented out at the moment.
+ - Make typeof() optional. Surprisingly, I got the lambda stuff working
+ without typeof()! The test suite doesn't catch all cases yet, so maybe
+ some thing are still not working.
+ TODO: Implement configure check.
+ * tests/test_bind.cc, tests/test_compose.cc tests/test_exception_catch.cc,
+ tests/test_hide.cc, tests/test_lambda.cc:
+ Only test multiple functor return types if typeof() is supported.
+
+2003-08-06 Martin Schulze <teebaum cvs gnome org>
+
+ * sigc++/trackable.{cc,h}: Add function trackable::clear().
+
+2003-06-24 Andreas Rottmann <rottmann users sourceforge net>
+
+ * TODO: Minor tweaks.
+
+2003-06-23 Andreas Rottmann <rottmann users sourceforge net>
+
+ * docs/reference/Doxyfile.in: Use these variables.
+ * docs/reference/Makefile.am (html/index.html): Provide doxygen
+ with SRCDIR and TOP_SRCDIR environment variables.
+
+ * sigc++/functors/slot.h.m4: Make slot::call_type typedef public;
+ this fixes a g++ 3.3 error in signal.h.
+
+ * sigc++/signal.h.m4: Make the signal::accumulated class public;
+ this fixes a g++ 3.3 error in test_accumulated.cc.
+
+2003-06-15 Martin Schulze <teebaum cvs gnome org>
+
+ * sigc++/functor/slot.h.m4: Correct typing error in docs.
+ * sigc++/functor/ptr_fun.h.m4: Document the whole thing.
+
+2003-05-31 Murray Cumming <murrayc usa net>
+
+ * Reference documentation: Rearranged the groups to make it all
+ a bit more like the libsigc++ 1.2 reference documentation.
+ Corrected some spelling and grammar too.
+ This needs a lot of work. The text is very hard to read and it's
+ generally not appropriate for a user of the code who doesn't
+ care about the internals. But it's not impossible - our examples
+ should show us what we need to say in the documentation.
+ We probably need some more groups for the extra stuff, like we do
+ in libsigc++ 1.2.
+
+2003-05-29 Martin Schulze <teebaum cvs gnome org>
+
+ * sigc++/signal.h.m4: Fix documentation.
+ * sigc++/connection.h, sigc++/functor/slot.h.m4:
+ Document the whole thing.
+
+2003-05-29 Martin Schulze <teebaum cvs gnome org>
+
+ * sigc++/signal.h.m4:
+ - Remove bogus operator() from unnumbered signal<> and
+ signal<>::accumulated templates.
+ - Document the whole thing.
+
+ * docs/index.html: Fix some links.
+
+2003-04-06 Martin Schulze <MHL Schulze t-online de>
+
+ * TODO, configure.ac, Makefile.am, docs/*:
+ Add Doxygen framework.
+
+2003-04-06 Martin Schulze <MHL Schulze t-online de>
+
+ * sigc++/callof.h.m4, sigc++/adaptors/*, tests/test_callof.cc:
+ Move sigc::callof<> to sigc::functor::internal::callof<>.
+
+ * sigc++/functors/mem_fun.h.m4, tests/test_mem_fun.cc:
+ Add new types [bound_][const_]volatile_mem_functor, visit_each()
+ and mem_fun() overloads for volatile qualifier.
+ Add ctor overloads in bound_*mem_functor and mem_fun() overloads
+ that take reference instead of pointer.
+
+2003-03-26 Martin Schulze <MHL Schulze t-online de>
+
+ * Change "closure" to "slot" throughout sigc++2 (file names,
+ class names, member variables, documentation, etc.).
+
+2003-03-26 Martin Schulze <MHL Schulze t-online de>
+
+ * TODO: Rewrite to reflect recent changes as well as recent discussions.
+
+2003-03-24 Martin Schulze <MHL Schulze t-online de>
+
+ * sigc++/adaptors/bind_return.h.m4: Make the adaptor's data member
+ public so that visit_each() can access it.
+
+ * sigc++/adaptors/lambda/*.h.m4: More fixes. Add a note about
+ malfunctioning typeof() (probably compiler bug in gcc-3.2).
+
+ * tests/*.cc: Test references. Fix compose equivalent in test_lambda.
+
+2003-03-24 Martin Schulze <MHL Schulze t-online de>
+
+ * sigc++/Makefile.am, sigc++/functors/functor_trait.h[.m4],
+ sigc++/adaptors/adaptor_trait.h.m4: Move detection of function
+ and member method pointers' return types from adaptor_trait into
+ functor_trait. (We'll use functor_trait rather than adaptor_trait for
+ our lambda stuff.) functor_trait.h needs to be generated from .m4 now.
+
+ * sigc++/functors/functor_trait.h.m4: Add convenience macros:
+ - SIGC_FUNCTORS_HAVE_RESULT_TYPE indicates that the existance of
+ T_functor::result_type should be assumed for all unknown functors.
+ - SIGC_FUNCTOR_TRAIT(T_functor, T_result) explicitly specifies the
+ result type of a functor.
+ ("typename functor_trait<T_functor>::result_type") is used to
+ determine the return type of our adaptors' operator()() overloads.
+
+ * sigc++/adaptors/[lambda/]*.h.m4: Various fixes in visit_each() and
+ operator()() overloads to make these operator()() overloads usable.
+ Most of them were just commented out before. Some adaptor types also
+ have void specializations, now.
+
+ * sigc++/adaptors/lambda/group.h.m4: Change syntax from
+ "[some_functor] % grp([args])" to "group([some_functor], [args])"
+ like we agreed on the ml some time ago.
+
+ * sigc++/tests/test_[all adaptors].cc: Test stuff that didn't work
+ before.
+
+2003-03-22 Murray Cumming <murrayc usa net>
+
+ * Added pgk-config file, from a mystery person in bug #108857
+
+2003-03-22 Martin Schulze <MHL Schulze t-online de>
+
+ * tests/test_bind.cc: Test and show how to use functor_trait
+ for user defined or 3rd-party functors so that a
+ bind<0>([functor],[arg1])() call with no arguments can return a value.
+
+2003-03-20 Martin Schulze <MHL Schulze t-online de>
+
+ * sigc++/callof.h.m4: Add explanations. Comment in / create templates
+ callof_safe[#]. Unfortunately they don't work for functors with overloaded
+ operator() so we don't use it for now. At least everything is documented.
+
+ * sigc++/functors/functor_trait.h, sigc++/functors/*.h.m4: Add back
+ functor_base compiler hint. We're using it now in adaptor_functor<>.
+
+ * sigc++/adaptors/{adaptor_trait,bind}.h.m4: Make operator() overloads
+ with no arguments return the result of the functor invocation.
+ Fix multiple bind<0>().
+ * tests/test_bind.cc: Test the stuff that's working now.
+
+2003-03-16 Murray Cumming <murrayc usa net>
+
+ * Added sigc++/sigc++.h, like in libsigc++ 1.2
+ * examples: Added member_method example, which uses a class method
+ and which demonstrates disconnection.
+
+1.9.6:
+
+2003-03-11 Andreas Rottmann <rottmann users sourceforge net>
+
+ * sigc++/Makefile.am: Use substitution references instead of
+ $(patsubst). Is shorter and fixes the strange-dirs-in-dist-tarball
+ bug.
+
+2003-03-09 Martin Schulze <MHL Schulze t-online de>
+
+ * sigc++/connection.h: Add block() capability.
+
+2003-03-09 Martin Schulze <MHL Schulze t-online de>
+
+ * sigc++/signal.{cc,h.m4}: Add flag signal_impl::destroy_
+ and function signal_impl::destroy(). Use them to defer
+ the destruction of the signal_impl object during signal
+ emission.
+
+ * tests/test_disconnect.cc: Add tests for the connection
+ class and for deleting signals during emission.
+
+2003-03-09 Martin Schulze <MHL Schulze t-online de>
+
+ * sigc++/connection.{cc,h}, sigc++/Makefile.am:
+ - New files that add a connection class. Objects of this
+ class are constructed from closure list iterators and can
+ be used to disconnect the refered closure. As opposed to
+ iterators they stay valid beyond the lifetime of the closure.
+
+2003-03-09 Martin Schulze <MHL Schulze t-online de>
+
+ * sigc++/functors/closure.{cc,h.m4}, sigc++/signal.cc:
+ - Rename closure_{base,rep}::[set_]dependency_ -> [set_]parent_.
+ - Make closure_rep inherit trackable. This allows for
+ connection objects that stay valid beyond the life time
+ of the refered closure.
+ - Make some one-line-functions inline again.
+
+2003-03-08 Martin Schulze <MHL Schulze t-online de>
+
+ * sigc++/trackable.cc: BUGFIX in trackable_dep_list::clear()
+
+2003-03-08 Andreas Rottmann <rottmann users sourceforge net>
+
+ * sigc++/Makefile.am: Rewritten so we can build lambda cleanly.
+ * sigc++/Makefile.am_fragment: Removed.
+
+ * sigc++/functors/Makfile.am: Removed.
+ * sigc++/adaptors/Makefile.am: Removed.
+ * sigc++/adaptors/lambda/Makefile.am: Removed.
+ * configure.ac (AC_OUTPUT): Remove the above Makefiles.
+
+ * tests/Makefile.am: Re-included lambda test.
+
+2003-03-07 Martin Schulze <MHL Schulze t-online de>
+
+ * sigc++/signal.{cc,h.m4}:
+ - signal_emit#<>: New templates replacing signal#<>::caller.
+ The purpose of these templates is implementing the emit
+ function and optimizing signal emission for the case that
+ no accumulator is used via template specializations.
+ - default_accumulator<>: Removed. The default for T_accumulator
+ in signal#<> now is nil. An example how to use accumulators
+ is available in tests/test_accumulator.cc.
+ - signal_{base,impl}: Move the implementation of signal_base's
+ interface to signal_impl. An object of this class is
+ dynamically allocated when first connecting a closure to
+ the signal. This drastically reduces the size of empty signals
+ and allows for future addition of a reference counter to make
+ it safe to delete a signal during emission.
+ - Directly work on closure_rep during signal emission. This
+ seems to be quicker than using the closure templates.
+ - Document the classes. Restructure the header file a bit.
+
+ * sigc++/functors/closure.h.m4: Make closure_base::rep_ data
+ member public, so that signal emission can directly work on it.
+
+ * tests/test_size.cc: Add an entry for signal_impl.
+
+2003-03-07 Martin Schulze <MHL Schulze t-online de>
+
+ * sigc++/functors/closure.{cc,h.m4}:
+ - closure_base: BUGFIXES in ~closure_base() and operator=().
+ - Mark some functions with the inline keyword. This seems to
+ help gcc 3.2 to optimize signal emission and (dis)connection.
+ - Document the classes. Restructure the header file a bit.
+
+2003-03-07 Martin Schulze <MHL Schulze t-online de>
+
+ * sigc++/trackable.{cc,h}: Make trackable allocate a
+ trackable_dep_list object dynamically when adding the first
+ dependency. (This reduces the size of objects, that are not
+ refered by a closure by 4 bytes (50%) and increases the size
+ of objects that are refered by a closure by 4 bytes (50%)
+ on a 32 bit architecture => This reduces total memory use
+ when >50% of the trackables are not refered by a closure.)
+ Document the classes.
+
+2003-03-05 Martin Schulze <MHL Schulze t-online de>
+
+ * tests/Makefile.am, tests/test_size.cc, tests/test_accumulated.cc:
+ Add two test cases. test_size is showing the size of public and
+ internal structures. (Which apart from empty signals are smaller
+ than the sizes of the equivalent libsigc++-1.2 structures.)
+ test_accumulated is a test for the template signal<>::accumulated<>
+ at the same time showing the use of accumulators in libsigc++2.
+
+ * Offtopic: My note about binary sizes from 2003-02-10 is wrong.
+ Stripped libsigc++2 test binaries are about 8-10k in size.
+
+2003-03-05 Martin Schulze <MHL Schulze t-online de>
+
+ * sigc++/visit_each.h: BUGFIX in template specialization
+ limit_derive_target<T_Target*,T_action>::with_type<false,T_type>:
+ Add non-const overloads for static void execute_() avoiding
+ compile time errors.
+
+2003-02-16 Martin Schulze <MHL Schulze t-online de>
+
+ * tests/Makefile.am, tests/test_disconnect.cc:
+ Add testcase with a mixed connection & disconnection sequence.
+
+2003-02-16 Martin Schulze <MHL Schulze t-online de>
+
+ * sigc++/signal.cc: Bugfix in signal_base::insert():
+ Set notification function in the newly created copy of
+ slot_ rather than in slot_ itself.
+
+2003-02-10 Martin Schulze <MHL Schulze t-online de>
+
+ * sigc++/signal.h.m4: Comment in typedefs for iterator types in
+ the signal#<> class template. Make signal#<>::connect() return an
+ iterator for convenience.
+ (Note that the first change increases the binary size of
+ tests/test_signal from 201k to 204k, the second change to 206k.)
+
+2003-01-23 Murray Cumming <murrayc usa net>
+
+ * sigc++/adaptors/lambda is disable temporarily (not built and
+ not distributed) because it gets built before its parent
+ directory, but #includes generated sources in the parent directory.
+
+2003-01-22 Murray Cumming <murrayc usa net>
+
+ * Added Andreas Rottman's example.
+
+2003-01-22 Murray Cumming <murrayc usa net>
+
+ * Applied Andreas Rottman's make dist fixes.
+
+2003-01-14 Murray Cumming <murrayc usa net>
+
+ * Added whitespace to make the code more readable.
+
diff --git a/MSVC_Net2005/Makefile.am b/MSVC_Net2005/Makefile.am
index 6bc37fd..5a795b9 100644
--- a/MSVC_Net2005/Makefile.am
+++ b/MSVC_Net2005/Makefile.am
@@ -1,38 +1,47 @@
+## Copyright (c) 2009 Openismus GmbH <http://www.openismus.com/>
+##
+## This file is part of libsigc++.
+##
+## libsigc++ is free software: you can redistribute it and/or modify it
+## under the terms of the GNU Lesser General Public License as published
+## by the Free Software Foundation, either version 2.1 of the License,
+## or (at your option) any later version.
+##
+## libsigc++ is distributed in the hope that it will be useful, but
+## WITHOUT ANY WARRANTY; without even the implied warranty of
+## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+## See the GNU Lesser General Public License for more details.
+##
+## You should have received a copy of the GNU Lesser General Public License
+## along with this library. If not, see <http://www.gnu.org/licenses/>.
-BUILT_SOURCES = sigc++config.h sigc-2.0.rc
-
-MAINTAINERCLEANFILES = $(built_sources)
+dist_noinst_DATA = \
+ blank.cpp \
+ libsigc++2.vcproj libsigc++2.sln \
+ sigc++config.h sigc-2.0.rc \
+ tests/test_accumulated/test_accumulated.vcproj \
+ tests/test_bind/test_bind.vcproj \
+ tests/test_bind_return/test_bind_return.vcproj \
+ tests/test_compatibility/test_compatibility.vcproj \
+ tests/test_compose/test_compose.vcproj \
+ tests/test_deduce_result_type/test_deduce_result_type.vcproj \
+ tests/test_disconnect/test_disconnect.vcproj \
+ tests/test_disconnect_during_emit/test_disconnect_during_emit.vcproj \
+ tests/test_exception_catch/test_exception_catch.vcproj \
+ tests/test_functor_trait/test_functor_trait.vcproj \
+ tests/test_hide/test_hide.vcproj \
+ tests/test_lambda/test_lambda.vcproj \
+ tests/test_mem_fun/test_mem_fun.vcproj \
+ tests/test_ptr_fun/test_ptr_fun.vcproj \
+ tests/test_retype/test_retype.vcproj \
+ tests/test_retype_return/test_retype_return.vcproj \
+ tests/test_signal/test_signal.vcproj \
+ tests/test_size/test_size.vcproj \
+ tests/test_slot/test_slot.vcproj \
+ tests/test_trackable/test_trackable.vcproj
DISTCLEANFILES = sigc++config.h
-EXTRA_DIST=blank.cpp \
- libsigc++2.vcproj libsigc++2.sln \
- sigc++config.h sigc-2.0.rc \
- tests/test_accumulated/test_accumulated.vcproj \
- tests/test_bind/test_bind.vcproj \
- tests/test_bind_return/test_bind_return.vcproj \
- tests/test_compatibility/test_compatibility.vcproj \
- tests/test_compose/test_compose.vcproj \
- tests/test_deduce_result_type/test_deduce_result_type.vcproj \
- tests/test_disconnect/test_disconnect.vcproj \
- tests/test_disconnect_during_emit/test_disconnect_during_emit.vcproj \
- tests/test_exception_catch/test_exception_catch.vcproj \
- tests/test_functor_trait/test_functor_trait.vcproj \
- tests/test_hide/test_hide.vcproj \
- tests/test_lambda/test_lambda.vcproj \
- tests/test_mem_fun/test_mem_fun.vcproj \
- tests/test_ptr_fun/test_ptr_fun.vcproj \
- tests/test_retype/test_retype.vcproj \
- tests/test_retype_return/test_retype_return.vcproj \
- tests/test_signal/test_signal.vcproj \
- tests/test_size/test_size.vcproj \
- tests/test_slot/test_slot.vcproj \
- tests/test_trackable/test_trackable.vcproj
-
-
-# Copy config file generated by the configure script. Dependency is
-# wht respect to the .h.in file, to prevent an error with 'make distcheck'.
-# See http://sources.redhat.com/automake/automake.html#distcleancheck
-
-sigc++config.h: $(top_srcdir)/sigc++config.h.in $(top_srcdir)/configure.ac
- cp -f $(top_builddir)/sigc++config.h $@
+# TODO: This is stupid. danielk.
+sigc++config.h: | $(top_builddir)/sigc++config.h
+ cp -f '$(top_builddir)/$@' '$@'
diff --git a/MSVC_Net2008/Makefile.am b/MSVC_Net2008/Makefile.am
index 6bc37fd..5a795b9 100644
--- a/MSVC_Net2008/Makefile.am
+++ b/MSVC_Net2008/Makefile.am
@@ -1,38 +1,47 @@
+## Copyright (c) 2009 Openismus GmbH <http://www.openismus.com/>
+##
+## This file is part of libsigc++.
+##
+## libsigc++ is free software: you can redistribute it and/or modify it
+## under the terms of the GNU Lesser General Public License as published
+## by the Free Software Foundation, either version 2.1 of the License,
+## or (at your option) any later version.
+##
+## libsigc++ is distributed in the hope that it will be useful, but
+## WITHOUT ANY WARRANTY; without even the implied warranty of
+## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+## See the GNU Lesser General Public License for more details.
+##
+## You should have received a copy of the GNU Lesser General Public License
+## along with this library. If not, see <http://www.gnu.org/licenses/>.
-BUILT_SOURCES = sigc++config.h sigc-2.0.rc
-
-MAINTAINERCLEANFILES = $(built_sources)
+dist_noinst_DATA = \
+ blank.cpp \
+ libsigc++2.vcproj libsigc++2.sln \
+ sigc++config.h sigc-2.0.rc \
+ tests/test_accumulated/test_accumulated.vcproj \
+ tests/test_bind/test_bind.vcproj \
+ tests/test_bind_return/test_bind_return.vcproj \
+ tests/test_compatibility/test_compatibility.vcproj \
+ tests/test_compose/test_compose.vcproj \
+ tests/test_deduce_result_type/test_deduce_result_type.vcproj \
+ tests/test_disconnect/test_disconnect.vcproj \
+ tests/test_disconnect_during_emit/test_disconnect_during_emit.vcproj \
+ tests/test_exception_catch/test_exception_catch.vcproj \
+ tests/test_functor_trait/test_functor_trait.vcproj \
+ tests/test_hide/test_hide.vcproj \
+ tests/test_lambda/test_lambda.vcproj \
+ tests/test_mem_fun/test_mem_fun.vcproj \
+ tests/test_ptr_fun/test_ptr_fun.vcproj \
+ tests/test_retype/test_retype.vcproj \
+ tests/test_retype_return/test_retype_return.vcproj \
+ tests/test_signal/test_signal.vcproj \
+ tests/test_size/test_size.vcproj \
+ tests/test_slot/test_slot.vcproj \
+ tests/test_trackable/test_trackable.vcproj
DISTCLEANFILES = sigc++config.h
-EXTRA_DIST=blank.cpp \
- libsigc++2.vcproj libsigc++2.sln \
- sigc++config.h sigc-2.0.rc \
- tests/test_accumulated/test_accumulated.vcproj \
- tests/test_bind/test_bind.vcproj \
- tests/test_bind_return/test_bind_return.vcproj \
- tests/test_compatibility/test_compatibility.vcproj \
- tests/test_compose/test_compose.vcproj \
- tests/test_deduce_result_type/test_deduce_result_type.vcproj \
- tests/test_disconnect/test_disconnect.vcproj \
- tests/test_disconnect_during_emit/test_disconnect_during_emit.vcproj \
- tests/test_exception_catch/test_exception_catch.vcproj \
- tests/test_functor_trait/test_functor_trait.vcproj \
- tests/test_hide/test_hide.vcproj \
- tests/test_lambda/test_lambda.vcproj \
- tests/test_mem_fun/test_mem_fun.vcproj \
- tests/test_ptr_fun/test_ptr_fun.vcproj \
- tests/test_retype/test_retype.vcproj \
- tests/test_retype_return/test_retype_return.vcproj \
- tests/test_signal/test_signal.vcproj \
- tests/test_size/test_size.vcproj \
- tests/test_slot/test_slot.vcproj \
- tests/test_trackable/test_trackable.vcproj
-
-
-# Copy config file generated by the configure script. Dependency is
-# wht respect to the .h.in file, to prevent an error with 'make distcheck'.
-# See http://sources.redhat.com/automake/automake.html#distcleancheck
-
-sigc++config.h: $(top_srcdir)/sigc++config.h.in $(top_srcdir)/configure.ac
- cp -f $(top_builddir)/sigc++config.h $@
+# TODO: This is stupid. danielk.
+sigc++config.h: | $(top_builddir)/sigc++config.h
+ cp -f '$(top_builddir)/$@' '$@'
diff --git a/Makefile.am b/Makefile.am
index ceabca7..cd17475 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -1,69 +1,39 @@
-
-# it includes all the autostuff automatically, you just name the
-# other stuff here
-EXTRA_DIST = autogen.sh sigc++config.h.in libsigc++-2.0.spec.in
-# ACLOCAL_FLAGS = -I scripts
-
-SUBDIRS = sigc++ tests docs examples scripts MSVC_Net2005 MSVC_Net2008
-DIST_SUBDIRS = $(SUBDIRS)
+## Copyright (c) 2009 Openismus GmbH <http://www.openismus.com/>
+##
+## This file is part of libsigc++.
+##
+## libsigc++ is free software: you can redistribute it and/or modify it
+## under the terms of the GNU Lesser General Public License as published
+## by the Free Software Foundation, either version 2.1 of the License,
+## or (at your option) any later version.
+##
+## libsigc++ is distributed in the hope that it will be useful, but
+## WITHOUT ANY WARRANTY; without even the implied warranty of
+## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+## See the GNU Lesser General Public License for more details.
+##
+## You should have received a copy of the GNU Lesser General Public License
+## along with this library. If not, see <http://www.gnu.org/licenses/>.
+
+ACLOCAL_AMFLAGS = -I scripts ${ACLOCAL_FLAGS}
+
+if ENABLE_DOCUMENTATION
+doc_subdirs = docs
+else
+doc_subdirs =
+endif
+SUBDIRS = sigc++ tests examples $(doc_subdirs) MSVC_Net2005 MSVC_Net2008
sigc_configdir = $(libdir)/sigc++-2.0/include
-sigc_config_DATA = sigc++config.h
+nodist_sigc_config_HEADERS = sigc++config.h
pkgconfigdir = $(libdir)/pkgconfig
-pkgconfig_DATA = sigc++-2.0.pc
-
-all-local:
- @echo "*** Everything completed ***"
-
-dist-hook:
- @echo; echo; \
- echo "**********************************************************"; \
- echo "* IMPORTANT NOTICE: *"; \
- echo "* *"; \
- echo "* Be sure you have done a complete build before running *"; \
- echo "* 'make dist' or 'make distcheck', because otherwise *"; \
- echo "* the tarball will _not_ contain the dependency rules *"; \
- echo "* generated by the compiler. *"; \
- echo "**********************************************************"; \
- echo; echo \
- cp libsigc++-2.0.spec $(distdir)
-
-
-include $(top_srcdir)/docs/Makefile_web.am_fragment
-
-doc_tarball_files = \
- docs/index.html docs/images/*.gif docs/reference/html
-# docs/FAQ/html docs/images/*.gif \
-# docs/internal/*.txt docs/internal/*.dia docs/reference/html \
-# docs/tutorial/figures/*.png docs/tutorial/html
-
-# This doesn't work very well in a $(srcdir) != $(builddir) setup,
-# but this target is for maintainer use only anyway.
-
-libsigc-docs.tar.gz:
- find examples -name '*.cc' -o -name '*.h' -o -name '*.xpm' -o -name '*.xml' | \
- tar cf - --files-from - $(doc_tarball_files) | gzip -c --best >$@
-
-# Upload documentation and examples:
-
-post-html-recursive:
- list='docs examples'; for subdir in $$list; do \
- test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) post-html); \
- done
-
-post-html-local: libsigc-docs.tar.gz
- rsync $(rsync_args) libsigc-docs.tar.gz $$USER shell sourceforge net:$(web_path_libsigc2)
-
-post-html: post-html-recursive post-html-local
-
-doc-clean-recursive:
- (cd docs && $(MAKE) $(AM_MAKEFLAGS) doc-clean)
-
-doc-clean: doc-clean-recursive
-
-doc-rebuild:
- (cd docs && $(MAKE) $(AM_MAKEFLAGS) doc-rebuild)
+nodist_pkgconfig_DATA = sigc++-2.0.pc
+noinst_DATA = sigc++-2.0-uninstalled.pc
-.PHONY: post-html post-html-local post-html-recursive doc-clean doc-clean-recursive doc-rebuild
+dist_noinst_SCRIPTS = autogen.sh
+dist_noinst_DATA = \
+ scripts/doc-install.pl \
+ scripts/doc-postprocess.pl \
+ scripts/tagfile-to-devhelp2.xsl
diff --git a/autogen.sh b/autogen.sh
index 3eadcdc..fed2c5b 100755
--- a/autogen.sh
+++ b/autogen.sh
@@ -1,114 +1,7 @@
-#! /bin/sh
-
-# Copyright (c) 2006, The libsigc++ Development Team
-#
-# This library is free software; you can redistribute it and/or
-# modify it under the terms of the GNU Lesser General Public
-# License as published by the Free Software Foundation; either
-# version 2.1 of the License, or (at your option) any later version.
-#
-# This library is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-# Lesser General Public License for more details.
-#
-# You should have received a copy of the GNU Lesser General Public
-# License along with this library; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-
-
-# Be Bourne compatible. (stolen from autoconf)
-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+"$@"}'='"$@"'
-elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then
- set -o posix
-fi
-
-PROJECT=libsigc++2
-MIN_AUTOMAKE_VERSION=1.9
-
-srcdir=`dirname "$0"`
+#! /bin/sh -e
+test -n "$srcdir" || srcdir=`dirname "$0"`
test -n "$srcdir" || srcdir=.
-origdir=`pwd`
-cd "$srcdir"
-
-LIBTOOLIZE_FLAGS="--automake --copy --force $LIBTOOLIZE_FLAGS"
-ACLOCAL_FLAGS="-I scripts $ACLOCAL_FLAGS"
-AUTOMAKE_FLAGS="--add-missing --copy $AUTOMAKE_FLAGS"
-
-if test "x$*$AUTOGEN_SUBDIR_MODE" = x
-then
- echo "I am going to run ./configure with no arguments -- if you wish"
- echo "to pass any to it, please specify them on the $0 command line."
-fi
-
-libtoolize=libtoolize
-autoconf=autoconf
-autoheader=autoheader
-aclocal=
-automake=
-auto_version=0
-
-# awk program to transform the output of automake --version
-# into an integer value suitable for numeric comparison.
-extract_version='{ printf "%.0f", 1000000 * v[split($1, v, " ")] + 1000 * $2 + $3; exit }'
-
-for suffix in -1.7 -1.8 -1.9 ""
-do
- aclocal_version=`aclocal$suffix --version </dev/null 2>/dev/null | awk -F. "$extract_version"`
- automake_version=`automake$suffix --version </dev/null 2>/dev/null | awk -F. "$extract_version"`
-
- if test "$aclocal_version" -eq "$automake_version" 2>/dev/null \
- && test "$automake_version" -ge "$auto_version" 2>/dev/null
- then
- auto_version=$automake_version
- aclocal=aclocal$suffix
- automake=automake$suffix
- fi
-done
-
-min_version=`echo "$MIN_AUTOMAKE_VERSION" | awk -F. "$extract_version"`
-
-if test "$auto_version" -ge "$min_version" 2>/dev/null
-then :; else
- echo "Sorry, at least automake $MIN_AUTOMAKE_VERSION is required to configure $PROJECT."
- exit 1
-fi
-
-rm -f config.guess config.sub depcomp install-sh missing mkinstalldirs
-rm -f config.cache acconfig.h
-rm -rf autom4te.cache
-
-#WARNINGS=all
-#export WARNINGS
-
-if (set -x && set +x) >/dev/null 2>&1
-then
- set_xtrace=set
-else
- set_xtrace=:
-fi
-
-$set_xtrace -x
-
-"$libtoolize" $LIBTOOLIZE_FLAGS || exit 1
-"$aclocal" $ACLOCAL_FLAGS || exit 1
-#"$autoheader" || exit 1
-"$automake" $AUTOMAKE_FLAGS || exit 1
-"$autoconf" || exit 1
-cd "$origdir" || exit 1
-
-if test -z "$AUTOGEN_SUBDIR_MODE"
-then
- "$srcdir/configure" --enable-maintainer-mode ${1+"$@"} || exit 1
- $set_xtrace +x
- echo
- echo "Now type 'make' to compile $PROJECT."
-fi
-
-exit 0
+mm-common-prepare --force --copy "$srcdir"
+autoreconf --force --install "$srcdir"
+test -n "$NOCONFIGURE" || "$srcdir/configure" --enable-maintainer-mode "$@"
diff --git a/configure.ac b/configure.ac
index db9b6e9..d2715ca 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1,137 +1,73 @@
-dnl Configure.in
-dnl
-dnl Source for generating compiler independent libraries.
-dnl
-
-#We use pushdef here because we can't use shell variables before AC_INIT, but we want to use a variable with AC_INIT:
-dnl thus make format_package-0.0.1.tar.gz
-pushdef([FP_MAJOR_VERSION], [2])
-pushdef([FP_MINOR_VERSION], [2])
-pushdef([FP_MICRO_VERSION], [3])
-pushdef([FP_EXTRA_VERSION], [])
-pushdef([FP_VERSION], FP_MAJOR_VERSION.FP_MINOR_VERSION.FP_MICRO_VERSION[]FP_EXTRA_VERSION)
-# package name, version, support contact, tarball name.
-AC_INIT([libsigc++], FP_VERSION, [libsigc-list gnome org], [libsigc++])
-
-dnl AC_CONFIG_SRCDIR is required name a file which is unique to the package
-dnl just to prevent someone from copying the configure to the wrong package.
-AC_CONFIG_SRCDIR([sigc++])
-
-AC_PREREQ(2.59)
-
-#########################################################################
-# Version and initialization
-#########################################################################
-[FP_MAJOR_VERSION]=FP_MAJOR_VERSION
-[FP_MINOR_VERSION]=FP_MINOR_VERSION
-[FP_MICRO_VERSION]=FP_MICRO_VERSION
-[FP_EXTRA_VERSION]=FP_EXTRA_VERSION
-[FP_VERSION]=FP_VERSION
-popdef([FP_MAJOR_VERSION])
-popdef([FP_MINOR_VERSION])
-popdef([FP_MICRO_VERSION])
-popdef([FP_EXTRA_VERSION])
-popdef([FP_VERSION])
-FP_RELEASE=$FP_MAJOR_VERSION.$FP_MINOR_VERSION
-AC_DEFINE_UNQUOTED(FP_MAJOR_VERSION, $FP_MAJOR_VERSION, [Major version of libsigc++])
-AC_DEFINE_UNQUOTED(FP_MINOR_VERSION, $FP_MINOR_VERSION, [Minor version of libsigc++])
-AC_DEFINE_UNQUOTED(FP_MICRO_VERSION, $FP_MICRO_VERSION, [Micro version of libsigc++])
-AC_SUBST(FP_VERSION)
-AC_SUBST(FP_RELEASE)
-AC_SUBST(FP_MAJOR_VERSION)
-AC_SUBST(FP_MINOR_VERSION)
-AC_SUBST(FP_MICRO_VERSION)
-
-dnl For automake.
-VERSION=$FP_VERSION
-PACKAGE=libsigc++
-
-# Initialize automake stuff
-# tar-ustar asks it to use a sensible tar format that can handle long filenames.
-AM_INIT_AUTOMAKE([1.9 tar-ustar])
-
-dnl Specify a configuration file:
-AC_CONFIG_HEADER(sigc++config.h)
-
-dnl Macros to support windows platforms
-AC_CYGWIN
-#AC_MINGW32
-AC_EXEEXT
-
-dnl this package needs m4
-AC_CHECK_PROGS(M4, gm4 m4, m4)
-
-dnl perl is needed for building the reference documentation
-AC_PATH_PROGS([PERL_PATH], [perl perl5], [perl])
-AC_SUBST([PERL_PATH])
-
-dnl disable autoheader
-AUTOHEADER=':'
-
-dnl Maintainer support (autodependencies and packaging)
+## Copyright (c) 2009 Openismus GmbH <http://www.openismus.com/>
+##
+## This file is part of libsigc++.
+##
+## libsigc++ is free software: you can redistribute it and/or modify it
+## under the terms of the GNU Lesser General Public License as published
+## by the Free Software Foundation, either version 2.1 of the License,
+## or (at your option) any later version.
+##
+## libsigc++ is distributed in the hope that it will be useful, but
+## WITHOUT ANY WARRANTY; without even the implied warranty of
+## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+## See the GNU Lesser General Public License for more details.
+##
+## You should have received a copy of the GNU Lesser General Public License
+## along with this library. If not, see <http://www.gnu.org/licenses/>.
+
+AC_INIT([libsigc++], [2.2.3], [libsigc-list gnome org], [libsigc++])
+AC_PREREQ([2.59])
+m4_pattern_forbid([\<MM_])
+
+AC_CONFIG_SRCDIR([sigc++/sigc++.h])
+AC_CONFIG_AUX_DIR([scripts])
+AC_CONFIG_MACRO_DIR([scripts])
+AC_CONFIG_HEADERS([config.h sigc++config.h])
+
+AM_INIT_AUTOMAKE([1.9 -Wno-portability no-define nostdinc tar-pax])
AM_MAINTAINER_MODE
+AC_ARG_VAR([ACLOCAL_FLAGS], [aclocal flags, e.g. -I <macro dir>])
-dnl Using C compiler
-AC_PROG_CC
-AC_PROG_CPP
-
-dnl Used for enabling the "-no-undefined" flag while generating DLLs
-dnl Borrowed from the official gtk+-2 configure.in
-AC_MSG_CHECKING([for some Win32 platform])
-case "$host" in
- *-*-mingw*|*-*-cygwin*)
- platform_win32=yes
- ;;
- *)
- platform_win32=no
- ;;
-esac
-AC_MSG_RESULT([$platform_win32])
-AM_CONDITIONAL(PLATFORM_WIN32, test "$platform_win32" = "yes")
+MM_INIT_MODULE([sigc++-2.0], m4_expand([AC_PACKAGE_VERSION]))
-dnl Using libtool
-AC_CONFIG_MACRO_DIR(scripts)
-AC_LIBTOOL_WIN32_DLL
-dnl: Use with libtool 1.5a instead of AM_PROG_LIBTOOL: LT_INIT
-AM_PROG_LIBTOOL
-
-dnl Using C++ compiler
AC_PROG_CXX
-AC_LANG_CPLUSPLUS
-
-SIGC_CXX_GCC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD()
-SIGC_CXX_MSVC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD()
-SIGC_CXX_SELF_REFERENCE_IN_MEMBER_INITIALIZATION()
-SIGC_CXX_HAS_NAMESPACE_STD()
-SIGC_CXX_HAS_SUN_REVERSE_ITERATOR()
-
-if test "X$config_error" = "Xyes" ; then
- AC_ERROR(
-[One or more of the required compiler features is missing.
-If you believe this is in error, please consult the config.log file
-for further details.
-])
-fi
-
-
-# Generate output
-AC_OUTPUT([
- Makefile
- sigc++-2.0.pc
-
- sigc++/Makefile
- scripts/Makefile
- tests/Makefile
- examples/Makefile
- MSVC_Net2005/Makefile
- MSVC_Net2005/sigc-2.0.rc
- MSVC_Net2008/Makefile
- MSVC_Net2008/sigc-2.0.rc
- libsigc++-2.0.spec
-
- docs/Makefile
- docs/manual/Makefile
- docs/images/Makefile
- docs/reference/Makefile
- docs/reference/Doxyfile
-])
+AC_DISABLE_STATIC
+AC_LIBTOOL_WIN32_DLL
+AC_PROG_LIBTOOL
+
+AC_ARG_VAR([M4], [M4 macro processor command])
+AC_CHECK_PROGS([M4], [gm4 m4])
+
+AS_IF([test "x$M4" = x],
+ [AC_MSG_FAILURE([[The GNU M4 macro processor is required for building libsigc++.]])])
+
+MM_ARG_ENABLE_DOCUMENTATION
+MM_ARG_WITH_TAGFILE_DOC([libstdc++.tag], [mm-common-libstdc++])
+
+AC_LANG([C++])
+SIGC_CXX_GCC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
+SIGC_CXX_MSVC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
+SIGC_CXX_SELF_REFERENCE_IN_MEMBER_INITIALIZATION
+SIGC_CXX_HAS_NAMESPACE_STD
+SIGC_CXX_HAS_SUN_REVERSE_ITERATOR
+
+AS_IF([test "x$config_error" = xyes],
+ [AC_MSG_FAILURE([[One or more of the required C++ compiler features is missing.]])])
+
+MM_ARG_ENABLE_WARNINGS([SIGC_WXXFLAGS],
+ [-pedantic -Wall],
+ [-pedantic -Wall -Wextra])
+
+AC_CONFIG_FILES([Makefile
+ sigc++-2.0.pc
+ sigc++-2.0-uninstalled.pc
+ sigc++/Makefile
+ examples/Makefile
+ tests/Makefile
+ docs/Makefile
+ docs/reference/Doxyfile
+ MSVC_Net2005/Makefile
+ MSVC_Net2005/sigc-2.0.rc
+ MSVC_Net2008/Makefile
+ MSVC_Net2008/sigc-2.0.rc])
+AC_OUTPUT
diff --git a/docs/.gitignore b/docs/.gitignore
new file mode 100644
index 0000000..1262ba7
--- /dev/null
+++ b/docs/.gitignore
@@ -0,0 +1,6 @@
+/manual/html/
+/reference/html/
+/reference/Doxyfile
+/reference/doxygen.log
+/reference/libsigc++-*.tag
+/reference/libsigc++-*.devhelp2
diff --git a/docs/Makefile.am b/docs/Makefile.am
index b7e20cd..9383d98 100644
--- a/docs/Makefile.am
+++ b/docs/Makefile.am
@@ -1,36 +1,38 @@
-## Based on on:
-
-## Copyright (c) 2001
-## The gtkmm development team.
-
-SUBDIRS = images reference manual
-
-EXTRA_DIST = Makefile_web.am_fragment index.html
-
-libsigc_doc_DATA = index.html
-
-include $(top_srcdir)/docs/Makefile_web.am_fragment
-
-# Post to the website.
-
-post-html-recursive:
- list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) post-html); \
- done
-
-post-html-local: index.html
- scp $$SSH_OPT $^ $$USER shell sourceforge net:$(web_path_docs)
-
-post-html: post-html-recursive post-html-local
-
-doc-clean-recursive:
- list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) doc-clean); \
- done
-
-doc-clean: doc-clean-recursive
-
-doc-rebuild: doc-clean all
-
-.PHONY: post-html post-html-recursive doc-clean doc-clean-recursive doc-rebuild
-
+## Copyright (c) 2009 Openismus GmbH <http://www.openismus.com/>
+##
+## This file is part of libsigc++.
+##
+## libsigc++ is free software: you can redistribute it and/or modify it
+## under the terms of the GNU Lesser General Public License as published
+## by the Free Software Foundation, either version 2.1 of the License,
+## or (at your option) any later version.
+##
+## libsigc++ is distributed in the hope that it will be useful, but
+## WITHOUT ANY WARRANTY; without even the implied warranty of
+## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+## See the GNU Lesser General Public License for more details.
+##
+## You should have received a copy of the GNU Lesser General Public License
+## along with this library. If not, see <http://www.gnu.org/licenses/>.
+
+include $(top_srcdir)/sigc++/filelist.am
+
+book_name = libsigc++-$(SIGCXX_API_VERSION)
+pubdocbase = http://libsigc.sourceforge.net/
+htmlrefpub = $(pubdocbase)libsigc2/docs/reference/html
+
+doc_input = $(addprefix $(top_srcdir)/sigc++/,$(sigc_public_h)) \
+ $(addprefix $(top_builddir)/sigc++/,$(sigc_built_h))
+
+doc_install = $(top_srcdir)/scripts/doc-install.pl
+doc_postprocess = $(top_srcdir)/scripts/doc-postprocess.pl
+tagfile_to_devhelp2 = $(top_srcdir)/scripts/tagfile-to-devhelp2.xsl
+
+include $(top_srcdir)/scripts/doc-reference.am
+
+doc_imagesdir = $(libdocdir)/images
+
+dist_libdoc_DATA = index.html
+dist_doc_images_DATA = images/libsigc_logo.gif images/top.gif
+
+include doc-manual.am
diff --git a/docs/doc-manual.am b/docs/doc-manual.am
new file mode 100644
index 0000000..b5bac34
--- /dev/null
+++ b/docs/doc-manual.am
@@ -0,0 +1,46 @@
+## Copyright (c) 2009 Openismus GmbH <http://www.openismus.com/>
+##
+## This file is part of libsigc++.
+##
+## libsigc++ is free software: you can redistribute it and/or modify it
+## under the terms of the GNU Lesser General Public License as published
+## by the Free Software Foundation, either version 2.1 of the License,
+## or (at your option) any later version.
+##
+## libsigc++ is distributed in the hope that it will be useful, but
+## WITHOUT ANY WARRANTY; without even the implied warranty of
+## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+## See the GNU Lesser General Public License for more details.
+##
+## You should have received a copy of the GNU Lesser General Public License
+## along with this library. If not, see <http://www.gnu.org/licenses/>.
+
+DOCBOOK_STYLESHEET ?= http://docbook.sourceforge.net/release/xsl/current/html/chunk.xsl
+
+html_tutorialdir = $(libdocdir)/tutorial/html
+dist_html_tutorial_DATA = $(sort manual/html/index.html $(call vpath_listall,manual/html/*.html))
+
+dist_noinst_DATA += manual/README manual/libsigc_manual.xml
+
+DISTCLEANFILES += $(addprefix manual/libsigc_manual.,dvi pdf ps)
+MAINTAINERCLEANFILES += manual/html/*
+
+manual_srcfile = $(srcdir)/manual/libsigc_manual.xml
+
+# Make sure that the documentation will always have been generated before
+# executing the commands of a rule that depends on files in reference/html/.
+reference/html/%: | manual/html/index.html
+
+manual/html/index.html: $(manual_srcfile)
+ -rm -f manual/html/*
+ $(MKDIR_P) manual/html
+ xsltproc -o 'manual/html/' --catalogs '$(DOCBOOK_STYLESHEET)' $(manual_srcfile)
+
+manual/libsigc_manual.dvi: $(manual_srcfile)
+ db2dvi -o manual $(manual_srcfile)
+
+manual/libsigc_manual.pdf: $(manual_srcfile)
+ db2pdf -o manual $(manual_srcfile)
+
+manual/libsigc_manual.ps: $(manual_srcfile)
+ db2ps -o manual $(manual_srcfile)
diff --git a/docs/reference/Doxyfile.in b/docs/reference/Doxyfile.in
index 62f261b..826b9e9 100644
--- a/docs/reference/Doxyfile.in
+++ b/docs/reference/Doxyfile.in
@@ -1,1084 +1,277 @@
-# Doxyfile 1.3.4
-
-# This file describes the settings to be used by the documentation system
-# doxygen (www.doxygen.org) for a project
-#
-# All text after a hash (#) is considered a comment and will be ignored
-# The format is:
-# TAG = value [value, ...]
-# For lists items can also be appended using:
-# TAG += value [value, ...]
-# Values that contain spaces should be placed between quotes (" ")
+# Doxyfile 1.5.8
+# @configure_input@
#---------------------------------------------------------------------------
# Project related configuration options
#---------------------------------------------------------------------------
-
-# The PROJECT_NAME tag is a single word (or a sequence of words surrounded
-# by quotes) that should identify the project.
-
-PROJECT_NAME = "libsigc++ 2.0"
-
-# The PROJECT_NUMBER tag can be used to enter a project or revision number.
-# This could be handy for archiving the generated documentation or
-# if some version control system is used.
-
-PROJECT_NUMBER =
-
-# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute)
-# base path where the generated documentation will be put.
-# If a relative path is entered, it will be relative to the location
-# where doxygen was started. If left blank the current directory will be used.
-
-OUTPUT_DIRECTORY =
-
-# The OUTPUT_LANGUAGE tag is used to specify the language in which all
-# documentation generated by doxygen is written. Doxygen will use this
-# information to generate all constant output in the proper language.
-# The default language is English, other supported languages are:
-# Brazilian, Catalan, Chinese, Chinese-Traditional, Croatian, Czech, Danish, Dutch,
-# Finnish, French, German, Greek, Hungarian, Italian, Japanese, Japanese-en
-# (Japanese with English messages), Korean, Norwegian, Polish, Portuguese,
-# Romanian, Russian, Serbian, Slovak, Slovene, Spanish, Swedish, and Ukrainian.
-
+DOXYFILE_ENCODING = UTF-8
+PROJECT_NAME = libsigc++
+PROJECT_NUMBER = @SIGCXX_API_VERSION@
+OUTPUT_DIRECTORY = reference
+CREATE_SUBDIRS = NO
OUTPUT_LANGUAGE = English
-
-# This tag can be used to specify the encoding used in the generated output.
-# The encoding is not always determined by the language that is chosen,
-# but also whether or not the output is meant for Windows or non-Windows users.
-# In case there is a difference, setting the USE_WINDOWS_ENCODING tag to YES
-# forces the Windows encoding (this is the default for the Windows binary),
-# whereas setting the tag to NO uses a Unix-style encoding (the default for
-# all platforms other than Windows).
-
-USE_WINDOWS_ENCODING = NO
-
-# If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will
-# include brief member descriptions after the members that are listed in
-# the file and class documentation (similar to JavaDoc).
-# Set to NO to disable this.
-
BRIEF_MEMBER_DESC = YES
-
-# If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend
-# the brief description of a member or function before the detailed description.
-# Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the
-# brief descriptions will be completely suppressed.
-
REPEAT_BRIEF = YES
-
-# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then
-# Doxygen will generate a detailed section even if there is only a brief
-# description.
-
+ABBREVIATE_BRIEF =
ALWAYS_DETAILED_SEC = NO
-
-# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all inherited
-# members of a class in the documentation of that class as if those members were
-# ordinary class members. Constructors, destructors and assignment operators of
-# the base classes will not be shown.
-
INLINE_INHERITED_MEMB = NO
-
-# If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full
-# path before files name in the file list and in the header files. If set
-# to NO the shortest path that makes the file name unique will be used.
-
-FULL_PATH_NAMES = NO
-
-# If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag
-# can be used to strip a user-defined part of the path. Stripping is
-# only done if one of the specified strings matches the left-hand part of
-# the path. It is allowed to use relative paths in the argument list.
-
-STRIP_FROM_PATH =
-
-# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter
-# (but less readable) file names. This can be useful is your file systems
-# doesn't support long names like on DOS, Mac, or CD-ROM.
-
+FULL_PATH_NAMES = YES
+STRIP_FROM_PATH = "@abs_top_builddir@/sigc++/" \
+ "@abs_top_srcdir@/sigc++/" \
+ "@abs_top_builddir@/" \
+ "@abs_top_srcdir@/"
+STRIP_FROM_INC_PATH = "@abs_top_builddir@/sigc++/" \
+ "@abs_top_srcdir@/sigc++/" \
+ "@abs_top_builddir@/" \
+ "@abs_top_srcdir@/"
SHORT_NAMES = NO
-
-# If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen
-# will interpret the first line (until the first dot) of a JavaDoc-style
-# comment as the brief description. If set to NO, the JavaDoc
-# comments will behave just like the Qt-style comments (thus requiring an
-# explict @brief command for a brief description.
-
JAVADOC_AUTOBRIEF = YES
-
-# The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make Doxygen
-# treat a multi-line C++ special comment block (i.e. a block of //! or ///
-# comments) as a brief description. This used to be the default behaviour.
-# The new default is to treat a multi-line C++ comment block as a detailed
-# description. Set this tag to YES if you prefer the old behaviour instead.
-
+QT_AUTOBRIEF = NO
MULTILINE_CPP_IS_BRIEF = NO
-
-# If the DETAILS_AT_TOP tag is set to YES then Doxygen
-# will output the detailed description near the top, like JavaDoc.
-# If set to NO, the detailed description appears after the member
-# documentation.
-
-DETAILS_AT_TOP = NO
-
-# If the INHERIT_DOCS tag is set to YES (the default) then an undocumented
-# member inherits the documentation from any documented member that it
-# reimplements.
-
INHERIT_DOCS = YES
-
-# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC
-# tag is set to YES, then doxygen will reuse the documentation of the first
-# member in the group (if any) for the other members of the group. By default
-# all members of a group must be documented explicitly.
-
-DISTRIBUTE_GROUP_DOC = NO
-
-# The TAB_SIZE tag can be used to set the number of spaces in a tab.
-# Doxygen uses this value to replace tabs by spaces in code fragments.
-
+SEPARATE_MEMBER_PAGES = NO
TAB_SIZE = 8
-
-# This tag can be used to specify a number of aliases that acts
-# as commands in the documentation. An alias has the form "name=value".
-# For example adding "sideeffect=\par Side Effects:\n" will allow you to
-# put the command \sideeffect (or @sideeffect) in the documentation, which
-# will result in a user-defined paragraph with heading "Side Effects:".
-# You can put \n's in the value part of an alias to insert newlines.
-
-ALIASES =
-
-# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C sources
-# only. Doxygen will then generate output that is more tailored for C.
-# For instance, some of the names that are used will be different. The list
-# of all members will be omitted, etc.
-
+ALIASES =
OPTIMIZE_OUTPUT_FOR_C = NO
-
-# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java sources
-# only. Doxygen will then generate output that is more tailored for Java.
-# For instance, namespaces will be presented as packages, qualified scopes
-# will look different, etc.
-
OPTIMIZE_OUTPUT_JAVA = NO
-
-# Set the SUBGROUPING tag to YES (the default) to allow class member groups of
-# the same type (for instance a group of public functions) to be put as a
-# subgroup of that type (e.g. under the Public Functions section). Set it to
-# NO to prevent subgrouping. Alternatively, this can be done per class using
-# the \nosubgrouping command.
-
+OPTIMIZE_FOR_FORTRAN = NO
+OPTIMIZE_OUTPUT_VHDL = NO
+EXTENSION_MAPPING =
+BUILTIN_STL_SUPPORT = NO
+CPP_CLI_SUPPORT = NO
+SIP_SUPPORT = NO
+IDL_PROPERTY_SUPPORT = YES
+DISTRIBUTE_GROUP_DOC = NO
SUBGROUPING = YES
-
+TYPEDEF_HIDES_STRUCT = NO
+SYMBOL_CACHE_SIZE = 0
#---------------------------------------------------------------------------
# Build related configuration options
#---------------------------------------------------------------------------
-
-# If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in
-# documentation are documented, even if no documentation was available.
-# Private class members and static file members will be hidden unless
-# the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES
-
EXTRACT_ALL = YES
-
-# If the EXTRACT_PRIVATE tag is set to YES all private members of a class
-# will be included in the documentation.
-
EXTRACT_PRIVATE = NO
-
-# If the EXTRACT_STATIC tag is set to YES all static members of a file
-# will be included in the documentation.
-
EXTRACT_STATIC = YES
-
-# If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs)
-# defined locally in source files will be included in the documentation.
-# If set to NO only classes defined in header files are included.
-
EXTRACT_LOCAL_CLASSES = YES
-
-# If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all
-# undocumented members of documented classes, files or namespaces.
-# If set to NO (the default) these members will be included in the
-# various overviews, but no documentation section is generated.
-# This option has no effect if EXTRACT_ALL is enabled.
-
+EXTRACT_LOCAL_METHODS = NO
+EXTRACT_ANON_NSPACES = NO
HIDE_UNDOC_MEMBERS = NO
-
-# If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all
-# undocumented classes that are normally visible in the class hierarchy.
-# If set to NO (the default) these classes will be included in the various
-# overviews. This option has no effect if EXTRACT_ALL is enabled.
-
HIDE_UNDOC_CLASSES = NO
-
-# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, Doxygen will hide all
-# friend (class|struct|union) declarations.
-# If set to NO (the default) these declarations will be included in the
-# documentation.
-
HIDE_FRIEND_COMPOUNDS = NO
-
-# If the HIDE_IN_BODY_DOCS tag is set to YES, Doxygen will hide any
-# documentation blocks found inside the body of a function.
-# If set to NO (the default) these blocks will be appended to the
-# function's detailed documentation block.
-
-HIDE_IN_BODY_DOCS = NO
-
-# The INTERNAL_DOCS tag determines if documentation
-# that is typed after a \internal command is included. If the tag is set
-# to NO (the default) then the documentation will be excluded.
-# Set it to YES to include the internal documentation.
-
+HIDE_IN_BODY_DOCS = YES
INTERNAL_DOCS = NO
-
-# If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate
-# file names in lower-case letters. If set to YES upper-case letters are also
-# allowed. This is useful if you have classes or files whose names only differ
-# in case and if your file system supports case sensitive file names. Windows
-# users are advised to set this option to NO.
-
CASE_SENSE_NAMES = YES
-
-# If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen
-# will show members with their full class and namespace scopes in the
-# documentation. If set to YES the scope will be hidden.
-
HIDE_SCOPE_NAMES = NO
-
-# If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen
-# will put a list of the files that are included by a file in the documentation
-# of that file.
-
SHOW_INCLUDE_FILES = NO
-
-# If the INLINE_INFO tag is set to YES (the default) then a tag [inline]
-# is inserted in the documentation for inline members.
-
INLINE_INFO = YES
-
-# If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen
-# will sort the (detailed) documentation of file and class members
-# alphabetically by member name. If set to NO the members will appear in
-# declaration order.
-
SORT_MEMBER_DOCS = YES
-
-# The GENERATE_TODOLIST tag can be used to enable (YES) or
-# disable (NO) the todo list. This list is created by putting \todo
-# commands in the documentation.
-
+SORT_BRIEF_DOCS = NO
+SORT_GROUP_NAMES = NO
+SORT_BY_SCOPE_NAME = YES
GENERATE_TODOLIST = YES
-
-# The GENERATE_TESTLIST tag can be used to enable (YES) or
-# disable (NO) the test list. This list is created by putting \test
-# commands in the documentation.
-
GENERATE_TESTLIST = YES
-
-# The GENERATE_BUGLIST tag can be used to enable (YES) or
-# disable (NO) the bug list. This list is created by putting \bug
-# commands in the documentation.
-
GENERATE_BUGLIST = YES
-
-# The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or
-# disable (NO) the deprecated list. This list is created by putting
-# \deprecated commands in the documentation.
-
GENERATE_DEPRECATEDLIST= YES
-
-# The ENABLED_SECTIONS tag can be used to enable conditional
-# documentation sections, marked by \if sectionname ... \endif.
-
-ENABLED_SECTIONS =
-
-# The MAX_INITIALIZER_LINES tag determines the maximum number of lines
-# the initial value of a variable or define consists of for it to appear in
-# the documentation. If the initializer consists of more lines than specified
-# here it will be hidden. Use a value of 0 to hide initializers completely.
-# The appearance of the initializer of individual variables and defines in the
-# documentation can be controlled using \showinitializer or \hideinitializer
-# command in the documentation regardless of this setting.
-
-MAX_INITIALIZER_LINES = 30
-
-# Set the SHOW_USED_FILES tag to NO to disable the list of files generated
-# at the bottom of the documentation of classes and structs. If set to YES the
-# list will mention the files that were used to generate the documentation.
-
+ENABLED_SECTIONS =
+MAX_INITIALIZER_LINES = 2
SHOW_USED_FILES = YES
-
+SHOW_DIRECTORIES = NO
+SHOW_FILES = NO
+SHOW_NAMESPACES = YES
+FILE_VERSION_FILTER =
+LAYOUT_FILE =
#---------------------------------------------------------------------------
# configuration options related to warning and progress messages
#---------------------------------------------------------------------------
-
-# The QUIET tag can be used to turn on/off the messages that are generated
-# by doxygen. Possible values are YES and NO. If left blank NO is used.
-
QUIET = NO
-
-# The WARNINGS tag can be used to turn on/off the warning messages that are
-# generated by doxygen. Possible values are YES and NO. If left blank
-# NO is used.
-
WARNINGS = YES
-
-# If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings
-# for undocumented members. If EXTRACT_ALL is set to YES then this flag will
-# automatically be disabled.
-
WARN_IF_UNDOCUMENTED = YES
-
-# If WARN_IF_DOC_ERROR is set to YES, doxygen will generate warnings for
-# potential errors in the documentation, such as not documenting some
-# parameters in a documented function, or documenting parameters that
-# don't exist or using markup commands wrongly.
-
WARN_IF_DOC_ERROR = YES
-
-# The WARN_FORMAT tag determines the format of the warning messages that
-# doxygen can produce. The string should contain the $file, $line, and $text
-# tags, which will be replaced by the file and line number from which the
-# warning originated and the warning text.
-
+WARN_NO_PARAMDOC = NO
WARN_FORMAT = "$file:$line: $text"
-
-# The WARN_LOGFILE tag can be used to specify a file to which warning
-# and error messages should be written. If left blank the output is written
-# to stderr.
-
-WARN_LOGFILE =
-
+WARN_LOGFILE = reference/doxygen.log
#---------------------------------------------------------------------------
# configuration options related to the input files
#---------------------------------------------------------------------------
-
-# The INPUT tag can be used to specify the files and/or directories that contain
-# documented source files. You may enter file names like "myfile.cpp" or
-# directories like "/usr/src/myproject". Separate the files or directories
-# with spaces.
-
-INPUT = $(TOP_SRCDIR)/sigc++ \
- $(TOP_SRCDIR)/sigc++/functors \
- $(TOP_SRCDIR)/sigc++/adaptors \
- $(TOP_SRCDIR)/sigc++/adaptors/lambda
-
-# If the value of the INPUT tag contains directories, you can use the
-# FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp
-# and *.h) to filter out the source-files in the directories. If left
-# blank the following patterns are tested:
-# *.c *.cc *.cxx *.cpp *.c++ *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh *.hxx *.hpp
-# *.h++ *.idl *.odl *.cs *.php *.php3 *.inc
-
-FILE_PATTERNS = *.h
-
-# The RECURSIVE tag can be used to turn specify whether or not subdirectories
-# should be searched for input files as well. Possible values are YES and NO.
-# If left blank NO is used.
-
-RECURSIVE = YES
-
-# The EXCLUDE tag can be used to specify files and/or directories that should
-# excluded from the INPUT source files. This way you can easily exclude a
-# subdirectory from a directory tree whose root is specified with the INPUT tag.
-
-EXCLUDE =
-
-# The EXCLUDE_SYMLINKS tag can be used select whether or not files or directories
-# that are symbolic links (a Unix filesystem feature) are excluded from the input.
-
+INPUT =
+INPUT_ENCODING = UTF-8
+FILE_PATTERNS =
+RECURSIVE = NO
+EXCLUDE =
EXCLUDE_SYMLINKS = NO
-
-# If the value of the INPUT tag contains directories, you can use the
-# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude
-# certain files from those directories.
-
-EXCLUDE_PATTERNS = */wrap_init.h
-
-# The EXAMPLE_PATH tag can be used to specify one or more files or
-# directories that contain example code fragments that are included (see
-# the \include command).
-
-EXAMPLE_PATH = @top_srcdir@/examples
-
-# If the value of the EXAMPLE_PATH tag contains directories, you can use the
-# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp
-# and *.h) to filter out the source-files in the directories. If left
-# blank all files are included.
-
-EXAMPLE_PATTERNS = *.h \
- *.cc
-
-# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be
-# searched for input files to be used with the \include or \dontinclude
-# commands irrespective of the value of the RECURSIVE tag.
-# Possible values are YES and NO. If left blank NO is used.
-
-EXAMPLE_RECURSIVE = YES
-
-# The IMAGE_PATH tag can be used to specify one or more files or
-# directories that contain image that are included in the documentation (see
-# the \image command).
-
-IMAGE_PATH = $(DOXYGEN_IMAGE_PATH)
-
-# The INPUT_FILTER tag can be used to specify a program that doxygen should
-# invoke to filter for each input file. Doxygen will invoke the filter program
-# by executing (via popen()) the command <filter> <input-file>, where <filter>
-# is the value of the INPUT_FILTER tag, and <input-file> is the name of an
-# input file. Doxygen will then use the output that the filter program writes
-# to standard output.
-
-INPUT_FILTER =
-
-# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using
-# INPUT_FILTER) will be used to filter the input files when producing source
-# files to browse (i.e. when SOURCE_BROWSER is set to YES).
-
+EXCLUDE_PATTERNS =
+EXCLUDE_SYMBOLS = _* \
+ adaptor_trait \
+ basic_filebuf \
+ basic_streambuf \
+ binary_function \
+ char_traits \
+ internal \
+ pair \
+ unary_function
+EXAMPLE_PATH = "@abs_top_srcdir@/examples"
+EXAMPLE_PATTERNS = *.cc \
+ *.h
+EXAMPLE_RECURSIVE = NO
+IMAGE_PATH =
+INPUT_FILTER =
+FILTER_PATTERNS =
FILTER_SOURCE_FILES = NO
-
#---------------------------------------------------------------------------
# configuration options related to source browsing
#---------------------------------------------------------------------------
-
-# If the SOURCE_BROWSER tag is set to YES then a list of source files will
-# be generated. Documented entities will be cross-referenced with these sources.
-
SOURCE_BROWSER = NO
-
-# Setting the INLINE_SOURCES tag to YES will include the body
-# of functions and classes directly in the documentation.
-
INLINE_SOURCES = NO
-
-# Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct
-# doxygen to hide any special comment blocks from generated source code
-# fragments. Normal C and C++ comments will always remain visible.
-
STRIP_CODE_COMMENTS = NO
-
-# If the REFERENCED_BY_RELATION tag is set to YES (the default)
-# then for each documented function all documented
-# functions referencing it will be listed.
-
-REFERENCED_BY_RELATION = YES
-
-# If the REFERENCES_RELATION tag is set to YES (the default)
-# then for each documented function all documented entities
-# called/used by that function will be listed.
-
-REFERENCES_RELATION = YES
-
-# If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen
-# will generate a verbatim copy of the header file for each class for
-# which an include is specified. Set to NO to disable this.
-
+REFERENCED_BY_RELATION = NO
+REFERENCES_RELATION = NO
+REFERENCES_LINK_SOURCE = YES
+USE_HTAGS = NO
VERBATIM_HEADERS = NO
-
#---------------------------------------------------------------------------
# configuration options related to the alphabetical class index
#---------------------------------------------------------------------------
-
-# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index
-# of all compounds will be generated. Enable this if the project
-# contains a lot of classes, structs, unions or interfaces.
-
ALPHABETICAL_INDEX = YES
-
-# If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then
-# the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns
-# in which this list will be split (can be a number in the range [1..20])
-
COLS_IN_ALPHA_INDEX = 5
-
-# In case all classes in a project start with a common prefix, all
-# classes will be put under the same header in the alphabetical index.
-# The IGNORE_PREFIX tag can be used to specify one or more prefixes that
-# should be ignored while generating the index headers.
-
-IGNORE_PREFIX =
-
+IGNORE_PREFIX =
#---------------------------------------------------------------------------
# configuration options related to the HTML output
#---------------------------------------------------------------------------
-
-# If the GENERATE_HTML tag is set to YES (the default) Doxygen will
-# generate HTML output.
-
GENERATE_HTML = YES
-
-# The HTML_OUTPUT tag is used to specify where the HTML docs will be put.
-# If a relative path is entered the value of OUTPUT_DIRECTORY will be
-# put in front of it. If left blank `html' will be used as the default path.
-
HTML_OUTPUT = html
-
-# The HTML_FILE_EXTENSION tag can be used to specify the file extension for
-# each generated HTML page (for example: .htm,.php,.asp). If it is left blank
-# doxygen will generate files with .html extension.
-
HTML_FILE_EXTENSION = .html
-
-# The HTML_HEADER tag can be used to specify a personal HTML header for
-# each generated HTML page. If it is left blank doxygen will generate a
-# standard header.
-
-HTML_HEADER = $(SRCDIR)/libsigc_header.html_fragment
-
-# The HTML_FOOTER tag can be used to specify a personal HTML footer for
-# each generated HTML page. If it is left blank doxygen will generate a
-# standard footer.
-
-HTML_FOOTER = $(SRCDIR)/libsigc_footer.html_fragment
-
-# The HTML_STYLESHEET tag can be used to specify a user-defined cascading
-# style sheet that is used by each HTML page. It can be used to
-# fine-tune the look of the HTML output. If the tag is left blank doxygen
-# will generate a default style sheet
-
-HTML_STYLESHEET =
-
-# If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes,
-# files or namespaces will be aligned in HTML using tables. If set to
-# NO a bullet list will be used.
-
+HTML_HEADER = "@abs_top_srcdir@/docs/reference/libsigc_header.html_fragment"
+HTML_FOOTER = "@abs_top_srcdir@/docs/reference/libsigc_footer.html_fragment"
+HTML_STYLESHEET =
HTML_ALIGN_MEMBERS = YES
-
-# If the GENERATE_HTMLHELP tag is set to YES, additional index files
-# will be generated that can be used as input for tools like the
-# Microsoft HTML help workshop to generate a compressed HTML help file (.chm)
-# of the generated HTML documentation.
-
+HTML_DYNAMIC_SECTIONS = NO
+GENERATE_DOCSET = NO
+DOCSET_FEEDNAME = "Doxygen generated docs"
+DOCSET_BUNDLE_ID = org.doxygen.Project
GENERATE_HTMLHELP = NO
-
-# If the GENERATE_HTMLHELP tag is set to YES, the CHM_FILE tag can
-# be used to specify the file name of the resulting .chm file. You
-# can add a path in front of the file if the result should not be
-# written to the html output dir.
-
-CHM_FILE =
-
-# If the GENERATE_HTMLHELP tag is set to YES, the HHC_LOCATION tag can
-# be used to specify the location (absolute path including file name) of
-# the HTML help compiler (hhc.exe). If non-empty doxygen will try to run
-# the HTML help compiler on the generated index.hhp.
-
-HHC_LOCATION =
-
-# If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag
-# controls if a separate .chi index file is generated (YES) or that
-# it should be included in the master .chm file (NO).
-
+CHM_FILE =
+HHC_LOCATION =
GENERATE_CHI = NO
-
-# If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag
-# controls whether a binary table of contents is generated (YES) or a
-# normal table of contents (NO) in the .chm file.
-
+CHM_INDEX_ENCODING =
BINARY_TOC = NO
-
-# The TOC_EXPAND flag can be set to YES to add extra items for group members
-# to the contents of the HTML help documentation and to the tree view.
-
TOC_EXPAND = NO
-
-# The DISABLE_INDEX tag can be used to turn on/off the condensed index at
-# top of each HTML page. The value NO (the default) enables the index and
-# the value YES disables it.
-
-DISABLE_INDEX = YES
-
-# This tag can be used to set the number of enum values (range [1..20])
-# that doxygen will group on one line in the generated HTML documentation.
-
+GENERATE_QHP = NO
+QCH_FILE =
+QHP_NAMESPACE =
+QHP_VIRTUAL_FOLDER = doc
+QHP_CUST_FILTER_NAME =
+QHP_CUST_FILTER_ATTRS =
+QHP_SECT_FILTER_ATTRS =
+QHG_LOCATION =
+DISABLE_INDEX = NO
ENUM_VALUES_PER_LINE = 1
-
-# If the GENERATE_TREEVIEW tag is set to YES, a side panel will be
-# generated containing a tree-like index structure (just like the one that
-# is generated for HTML Help). For this to work a browser that supports
-# JavaScript, DHTML, CSS and frames is required (for instance Mozilla 1.0+,
-# Netscape 6.0+, Internet explorer 5.0+, or Konqueror). Windows users are
-# probably better off using the HTML help feature.
-
-GENERATE_TREEVIEW = NO
-
-# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be
-# used to set the initial width (in pixels) of the frame in which the tree
-# is shown.
-
+GENERATE_TREEVIEW = NONE
TREEVIEW_WIDTH = 250
-
+FORMULA_FONTSIZE = 10
#---------------------------------------------------------------------------
# configuration options related to the LaTeX output
#---------------------------------------------------------------------------
-
-# If the GENERATE_LATEX tag is set to YES (the default) Doxygen will
-# generate Latex output.
-
GENERATE_LATEX = NO
-
-# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put.
-# If a relative path is entered the value of OUTPUT_DIRECTORY will be
-# put in front of it. If left blank `latex' will be used as the default path.
-
LATEX_OUTPUT = latex
-
-# The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be
-# invoked. If left blank `latex' will be used as the default command name.
-
LATEX_CMD_NAME = latex
-
-# The MAKEINDEX_CMD_NAME tag can be used to specify the command name to
-# generate index for LaTeX. If left blank `makeindex' will be used as the
-# default command name.
-
MAKEINDEX_CMD_NAME = makeindex
-
-# If the COMPACT_LATEX tag is set to YES Doxygen generates more compact
-# LaTeX documents. This may be useful for small projects and may help to
-# save some trees in general.
-
COMPACT_LATEX = NO
-
-# The PAPER_TYPE tag can be used to set the paper type that is used
-# by the printer. Possible values are: a4, a4wide, letter, legal and
-# executive. If left blank a4wide will be used.
-
PAPER_TYPE = a4wide
-
-# The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX
-# packages that should be included in the LaTeX output.
-
-EXTRA_PACKAGES =
-
-# The LATEX_HEADER tag can be used to specify a personal LaTeX header for
-# the generated latex document. The header should contain everything until
-# the first chapter. If it is left blank doxygen will generate a
-# standard header. Notice: only use this tag if you know what you are doing!
-
-LATEX_HEADER =
-
-# If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated
-# is prepared for conversion to pdf (using ps2pdf). The pdf file will
-# contain links (just like the HTML output) instead of page references
-# This makes the output suitable for online browsing using a pdf viewer.
-
-PDF_HYPERLINKS = NO
-
-# If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of
-# plain latex in the generated Makefile. Set this option to YES to get a
-# higher quality PDF documentation.
-
-USE_PDFLATEX = NO
-
-# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode.
-# command to the generated LaTeX files. This will instruct LaTeX to keep
-# running if errors occur, instead of asking the user for help.
-# This option is also used when generating formulas in HTML.
-
+EXTRA_PACKAGES =
+LATEX_HEADER =
+PDF_HYPERLINKS = YES
+USE_PDFLATEX = YES
LATEX_BATCHMODE = NO
-
-# If LATEX_HIDE_INDICES is set to YES then doxygen will not
-# include the index chapters (such as File Index, Compound Index, etc.)
-# in the output.
-
LATEX_HIDE_INDICES = NO
-
#---------------------------------------------------------------------------
# configuration options related to the RTF output
#---------------------------------------------------------------------------
-
-# If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output
-# The RTF output is optimised for Word 97 and may not look very pretty with
-# other RTF readers or editors.
-
GENERATE_RTF = NO
-
-# The RTF_OUTPUT tag is used to specify where the RTF docs will be put.
-# If a relative path is entered the value of OUTPUT_DIRECTORY will be
-# put in front of it. If left blank `rtf' will be used as the default path.
-
RTF_OUTPUT = rtf
-
-# If the COMPACT_RTF tag is set to YES Doxygen generates more compact
-# RTF documents. This may be useful for small projects and may help to
-# save some trees in general.
-
COMPACT_RTF = NO
-
-# If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated
-# will contain hyperlink fields. The RTF file will
-# contain links (just like the HTML output) instead of page references.
-# This makes the output suitable for online browsing using WORD or other
-# programs which support those fields.
-# Note: wordpad (write) and others do not support links.
-
RTF_HYPERLINKS = NO
-
-# Load stylesheet definitions from file. Syntax is similar to doxygen's
-# config file, i.e. a series of assigments. You only have to provide
-# replacements, missing definitions are set to their default value.
-
-RTF_STYLESHEET_FILE =
-
-# Set optional variables used in the generation of an rtf document.
-# Syntax is similar to doxygen's config file.
-
-RTF_EXTENSIONS_FILE =
-
+RTF_STYLESHEET_FILE =
+RTF_EXTENSIONS_FILE =
#---------------------------------------------------------------------------
# configuration options related to the man page output
#---------------------------------------------------------------------------
-
-# If the GENERATE_MAN tag is set to YES (the default) Doxygen will
-# generate man pages
-
GENERATE_MAN = NO
-
-# The MAN_OUTPUT tag is used to specify where the man pages will be put.
-# If a relative path is entered the value of OUTPUT_DIRECTORY will be
-# put in front of it. If left blank `man' will be used as the default path.
-
MAN_OUTPUT = man
-
-# The MAN_EXTENSION tag determines the extension that is added to
-# the generated man pages (default is the subroutine's section .3)
-
MAN_EXTENSION = .3
-
-# If the MAN_LINKS tag is set to YES and Doxygen generates man output,
-# then it will generate one additional man file for each entity
-# documented in the real man page(s). These additional files
-# only source the real man page, but without them the man command
-# would be unable to find the correct page. The default is NO.
-
MAN_LINKS = NO
-
#---------------------------------------------------------------------------
# configuration options related to the XML output
#---------------------------------------------------------------------------
-
-# If the GENERATE_XML tag is set to YES Doxygen will
-# generate an XML file that captures the structure of
-# the code including all documentation. Note that this
-# feature is still experimental and incomplete at the
-# moment.
-
-GENERATE_XML = YES
-
-# The XML_OUTPUT tag is used to specify where the XML pages will be put.
-# If a relative path is entered the value of OUTPUT_DIRECTORY will be
-# put in front of it. If left blank `xml' will be used as the default path.
-
+GENERATE_XML = NO
XML_OUTPUT = xml
-
-# The XML_SCHEMA tag can be used to specify an XML schema,
-# which can be used by a validating XML parser to check the
-# syntax of the XML files.
-
-XML_SCHEMA =
-
-# The XML_DTD tag can be used to specify an XML DTD,
-# which can be used by a validating XML parser to check the
-# syntax of the XML files.
-
-XML_DTD =
-
+XML_SCHEMA =
+XML_DTD =
+XML_PROGRAMLISTING = NO
#---------------------------------------------------------------------------
# configuration options for the AutoGen Definitions output
#---------------------------------------------------------------------------
-
-# If the GENERATE_AUTOGEN_DEF tag is set to YES Doxygen will
-# generate an AutoGen Definitions (see autogen.sf.net) file
-# that captures the structure of the code including all
-# documentation. Note that this feature is still experimental
-# and incomplete at the moment.
-
GENERATE_AUTOGEN_DEF = NO
-
#---------------------------------------------------------------------------
# configuration options related to the Perl module output
#---------------------------------------------------------------------------
-
-# If the GENERATE_PERLMOD tag is set to YES Doxygen will
-# generate a Perl module file that captures the structure of
-# the code including all documentation. Note that this
-# feature is still experimental and incomplete at the
-# moment.
-
GENERATE_PERLMOD = NO
-
-# If the PERLMOD_LATEX tag is set to YES Doxygen will generate
-# the necessary Makefile rules, Perl scripts and LaTeX code to be able
-# to generate PDF and DVI output from the Perl module output.
-
PERLMOD_LATEX = NO
-
-# If the PERLMOD_PRETTY tag is set to YES the Perl module output will be
-# nicely formatted so it can be parsed by a human reader. This is useful
-# if you want to understand what is going on. On the other hand, if this
-# tag is set to NO the size of the Perl module output will be much smaller
-# and Perl will parse it just the same.
-
PERLMOD_PRETTY = YES
-
-# The names of the make variables in the generated doxyrules.make file
-# are prefixed with the string contained in PERLMOD_MAKEVAR_PREFIX.
-# This is useful so different doxyrules.make files included by the same
-# Makefile don't overwrite each other's variables.
-
-PERLMOD_MAKEVAR_PREFIX =
-
+PERLMOD_MAKEVAR_PREFIX =
#---------------------------------------------------------------------------
-# Configuration options related to the preprocessor
+# Configuration options related to the preprocessor
#---------------------------------------------------------------------------
-
-# If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will
-# evaluate all C-preprocessor directives found in the sources and include
-# files.
-
ENABLE_PREPROCESSING = YES
-
-# If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro
-# names in the source code. If set to NO (the default) only conditional
-# compilation will be performed. Macro expansion can be done in a controlled
-# way by setting EXPAND_ONLY_PREDEF to YES.
-
MACRO_EXPANSION = YES
-
-# If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES
-# then the macro expansion is limited to the macros specified with the
-# PREDEFINED and EXPAND_AS_PREDEFINED tags.
-
EXPAND_ONLY_PREDEF = YES
-
-# If the SEARCH_INCLUDES tag is set to YES (the default) the includes files
-# in the INCLUDE_PATH (see below) will be search if a #include is found.
-
-SEARCH_INCLUDES = NO
-
-# The INCLUDE_PATH tag can be used to specify one or more directories that
-# contain include files that are not input files but should be processed by
-# the preprocessor.
-
-INCLUDE_PATH =
-
-# You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard
-# patterns (like *.h and *.hpp) to filter out the header-files in the
-# directories. If left blank, the patterns specified with FILE_PATTERNS will
-# be used.
-
-INCLUDE_FILE_PATTERNS =
-
-# The PREDEFINED tag can be used to specify one or more macro names that
-# are defined before the preprocessor is started (similar to the -D option of
-# gcc). The argument of the tag is a list of macros of the form: name
-# or name=definition (no spaces). If the definition and the = are
-# omitted =1 is assumed.
-
-PREDEFINED = DOXYGEN_SHOULD_SKIP_THIS \
- LIBSIGC_USING_STD(x)= \
- LIBSIGC_API
-
-# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then
-# this tag can be used to specify a list of macro names that should be expanded.
-# The macro definition that is found in the sources will be used.
-# Use the PREDEFINED tag if you want to use a different macro definition.
-
-EXPAND_AS_DEFINED =
-
-# If the SKIP_FUNCTION_MACROS tag is set to YES (the default) then
-# doxygen's preprocessor will remove all function-like macros that are alone
-# on a line, have an all uppercase name, and do not end with a semicolon. Such
-# function macros are typically used for boiler-plate code, and will confuse the
-# parser if not removed.
-
+SEARCH_INCLUDES = YES
+INCLUDE_PATH = "@abs_top_builddir@" \
+ "@abs_top_srcdir@"
+INCLUDE_FILE_PATTERNS = *.h
+PREDEFINED = __cplusplus \
+ DOXYGEN_SHOULD_SKIP_THIS \
+ SIGC_USING_STD(x)= \
+ SIGC_API=
+EXPAND_AS_DEFINED =
SKIP_FUNCTION_MACROS = YES
-
#---------------------------------------------------------------------------
-# Configuration::addtions related to external references
+# Configuration::additions related to external references
#---------------------------------------------------------------------------
-
-# The TAGFILES option can be used to specify one or more tagfiles.
-# Optionally an initial location of the external documentation
-# can be added for each tagfile. The format of a tag file without
-# this location is as follows:
-# TAGFILES = file1 file2 ...
-# Adding location for the tag files is done as follows:
-# TAGFILES = file1=loc1 "file2 = loc2" ...
-# where "loc1" and "loc2" can be relative or absolute paths or
-# URLs. If a location is present for each tag, the installdox tool
-# does not have to be run to correct the links.
-# Note that each tag file must have a unique name
-# (where the name does NOT include the path)
-# If a tag file is not located in the directory in which doxygen
-# is run, you must also specify the path to the tagfile here.
-
-TAGFILES =
-
-# When a file name is specified after GENERATE_TAGFILE, doxygen will create
-# a tag file that is based on the input files it reads.
-
-GENERATE_TAGFILE = libsigc_doxygen_tags
-
-# If the ALLEXTERNALS tag is set to YES all external classes will be listed
-# in the class index. If set to NO only the inherited external classes
-# will be listed.
-
-ALLEXTERNALS = YES
-
-# If the EXTERNAL_GROUPS tag is set to YES all external groups will be listed
-# in the modules index. If set to NO, only the current project's groups will
-# be listed.
-
-EXTERNAL_GROUPS = YES
-
-# The PERL_PATH should be the absolute path and name of the perl script
-# interpreter (i.e. the result of `which perl').
-
-PERL_PATH = @PERL_PATH@
-
+TAGFILES = @DOXYGEN_TAGFILES@
+GENERATE_TAGFILE = "reference/libsigc++- SIGCXX_API_VERSION@.tag"
+ALLEXTERNALS = NO
+EXTERNAL_GROUPS = NO
+PERL_PATH = @PERL@
#---------------------------------------------------------------------------
-# Configuration options related to the dot tool
+# Configuration options related to the dot tool
#---------------------------------------------------------------------------
-
-# If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will
-# generate a inheritance diagram (in HTML, RTF and LaTeX) for classes with base or
-# super classes. Setting the tag to NO turns the diagrams off. Note that this
-# option is superceded by the HAVE_DOT option below. This is only a fallback. It is
-# recommended to install and use dot, since it yields more powerful graphs.
-
-CLASS_DIAGRAMS = YES
-
-# If set to YES, the inheritance and collaboration graphs will hide
-# inheritance and usage relations if the target is undocumented
-# or is not a class.
-
+CLASS_DIAGRAMS = NO
+MSCGEN_PATH =
HIDE_UNDOC_RELATIONS = NO
-
-# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is
-# available from the path. This tool is part of Graphviz, a graph visualization
-# toolkit from AT&T and Lucent Bell Labs. The other options in this section
-# have no effect if this option is set to NO (the default)
-
HAVE_DOT = YES
-
-# If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen
-# will generate a graph for each documented class showing the direct and
-# indirect inheritance relations. Setting this tag to YES will force the
-# the CLASS_DIAGRAMS tag to NO.
-
+DOT_FONTNAME = FreeSans
+DOT_FONTSIZE = 10
+DOT_FONTPATH =
CLASS_GRAPH = YES
-
-# If the COLLABORATION_GRAPH and HAVE_DOT tags are set to YES then doxygen
-# will generate a graph for each documented class showing the direct and
-# indirect implementation dependencies (inheritance, containment, and
-# class references variables) of the class with other documented classes.
-
COLLABORATION_GRAPH = NO
-
-# If the UML_LOOK tag is set to YES doxygen will generate inheritance and
-# collaboration diagrams in a style similiar to the OMG's Unified Modeling
-# Language.
-
+GROUP_GRAPHS = YES
UML_LOOK = NO
-
-# If set to YES, the inheritance and collaboration graphs will show the
-# relations between templates and their instances.
-
-TEMPLATE_RELATIONS = NO
-
-# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDE_GRAPH, and HAVE_DOT
-# tags are set to YES then doxygen will generate a graph for each documented
-# file showing the direct and indirect include dependencies of the file with
-# other documented files.
-
+TEMPLATE_RELATIONS = YES
INCLUDE_GRAPH = NO
-
-# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDED_BY_GRAPH, and
-# HAVE_DOT tags are set to YES then doxygen will generate a graph for each
-# documented header file showing the documented files that directly or
-# indirectly include this file.
-
INCLUDED_BY_GRAPH = NO
-
-# If the CALL_GRAPH and HAVE_DOT tags are set to YES then doxygen will
-# generate a call dependency graph for every global function or class method.
-# Note that enabling this option will significantly increase the time of a run.
-# So in most cases it will be better to enable call graphs for selected
-# functions only using the \callgraph command.
-
CALL_GRAPH = NO
-
-# If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen
-# will graphical hierarchy of all classes instead of a textual one.
-
+CALLER_GRAPH = NO
GRAPHICAL_HIERARCHY = YES
-
-# The DOT_IMAGE_FORMAT tag can be used to set the image format of the images
-# generated by dot. Possible values are png, jpg, or gif
-# If left blank png will be used.
-
+DIRECTORY_GRAPH = NO
DOT_IMAGE_FORMAT = png
-
-# The tag DOT_PATH can be used to specify the path where the dot tool can be
-# found. If left blank, it is assumed the dot tool can be found on the path.
-
-DOT_PATH =
-
-# The DOTFILE_DIRS tag can be used to specify one or more directories that
-# contain dot files that are included in the documentation (see the
-# \dotfile command).
-
-DOTFILE_DIRS =
-
-# The MAX_DOT_GRAPH_WIDTH tag can be used to set the maximum allowed width
-# (in pixels) of the graphs generated by dot. If a graph becomes larger than
-# this value, doxygen will try to truncate the graph, so that it fits within
-# the specified constraint. Beware that most browsers cannot cope with very
-# large images.
-
-MAX_DOT_GRAPH_WIDTH = 1024
-
-# The MAX_DOT_GRAPH_HEIGHT tag can be used to set the maximum allows height
-# (in pixels) of the graphs generated by dot. If a graph becomes larger than
-# this value, doxygen will try to truncate the graph, so that it fits within
-# the specified constraint. Beware that most browsers cannot cope with very
-# large images.
-
-MAX_DOT_GRAPH_HEIGHT = 1024
-
-# The MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of the
-# graphs generated by dot. A depth value of 3 means that only nodes reachable
-# from the root by following a path via at most 3 edges will be shown. Nodes that
-# lay further from the root node will be omitted. Note that setting this option to
-# 1 or 2 may greatly reduce the computation time needed for large code bases. Also
-# note that a graph may be further truncated if the graph's image dimensions are
-# not sufficient to fit the graph (see MAX_DOT_GRAPH_WIDTH and MAX_DOT_GRAPH_HEIGHT).
-# If 0 is used for the depth value (the default), the graph is not depth-constrained.
-
+DOT_PATH =
+DOTFILE_DIRS =
+DOT_GRAPH_MAX_NODES = 50
MAX_DOT_GRAPH_DEPTH = 0
-
-# If the GENERATE_LEGEND tag is set to YES (the default) Doxygen will
-# generate a legend page explaining the meaning of the various boxes and
-# arrows in the dot generated graphs.
-
+DOT_TRANSPARENT = NO
+DOT_MULTI_TARGETS = YES
GENERATE_LEGEND = YES
-
-# If the DOT_CLEANUP tag is set to YES (the default) Doxygen will
-# remove the intermediate dot files that are used to generate
-# the various graphs.
-
DOT_CLEANUP = YES
-
#---------------------------------------------------------------------------
-# Configuration::addtions related to the search engine
+# Options related to the search engine
#---------------------------------------------------------------------------
-
-# The SEARCHENGINE tag specifies whether or not a search engine should be
-# used. If set to NO the values of all tags below this one will be ignored.
-
SEARCHENGINE = NO
diff --git a/examples/.gitignore b/examples/.gitignore
new file mode 100644
index 0000000..5a992bc
--- /dev/null
+++ b/examples/.gitignore
@@ -0,0 +1,2 @@
+/hello_world
+/member_method
diff --git a/examples/Makefile.am b/examples/Makefile.am
index caf3486..b77cc24 100644
--- a/examples/Makefile.am
+++ b/examples/Makefile.am
@@ -1,7 +1,25 @@
-LDADD = $(top_builddir)/sigc++/libsigc-2.0.la
-AM_CPPFLAGS = -I$(top_srcdir)
+## Copyright (c) 2009 Openismus GmbH <http://www.openismus.com/>
+##
+## This file is part of libsigc++.
+##
+## libsigc++ is free software: you can redistribute it and/or modify it
+## under the terms of the GNU Lesser General Public License as published
+## by the Free Software Foundation, either version 2.1 of the License,
+## or (at your option) any later version.
+##
+## libsigc++ is distributed in the hope that it will be useful, but
+## WITHOUT ANY WARRANTY; without even the implied warranty of
+## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+## See the GNU Lesser General Public License for more details.
+##
+## You should have received a copy of the GNU Lesser General Public License
+## along with this library. If not, see <http://www.gnu.org/licenses/>.
+
+AM_CPPFLAGS = -I$(top_builddir) -I$(top_srcdir)
+AM_CXXFLAGS = $(SIGC_WXXFLAGS)
+LDADD = $(top_builddir)/sigc++/libsigc-$(SIGCXX_API_VERSION).la
noinst_PROGRAMS = hello_world member_method
-hello_world_SOURCES = hello_world.cc
+hello_world_SOURCES = hello_world.cc
member_method_SOURCES = member_method.cc
diff --git a/scripts/cxx_std.m4 b/scripts/cxx_std.m4
index b2ff03e..ff640be 100644
--- a/scripts/cxx_std.m4
+++ b/scripts/cxx_std.m4
@@ -69,7 +69,8 @@ AC_DEFUN([SIGC_CXX_HAS_SUN_REVERSE_ITERATOR],
if test "x${sigc_cv_cxx_has_sun_reverse_iterator}" = "xyes"; then
{
- AC_DEFINE([SIGC_HAVE_SUN_REVERSE_ITERATOR],[1])
+ AC_DEFINE([SIGC_HAVE_SUN_REVERSE_ITERATOR], [1],
+ [Define if the non-standard Sun reverse_iterator must be used.])
}
fi
])
diff --git a/scripts/doc-install.pl b/scripts/doc-install.pl
new file mode 100644
index 0000000..3bca5f7
--- /dev/null
+++ b/scripts/doc-install.pl
@@ -0,0 +1,207 @@
+package main;
+
+# Copyright (c) 2009 Daniel Elstner <daniel kitta gmail com>
+#
+# This file is part of mm-common.
+#
+# mm-common is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published
+# by the Free Software Foundation, either version 2 of the License,
+# or (at your option) any later version.
+#
+# mm-common is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with mm-common. If not, see <http://www.gnu.org/licenses/>.
+
+use strict;
+use warnings;
+use bytes;
+use File::Spec;
+use Getopt::Long qw(:config no_getopt_compat no_ignore_case require_order bundling);
+
+# Globals
+my $message_prefix;
+my %tags_hash;
+my $book_base;
+my $perm_mode;
+my $target_dir;
+my $target_nodir = '';
+my $verbose = '';
+
+sub path_basename ($)
+{
+ my ($path) = @_;
+ my $basename = File::Spec->splitpath($path);
+
+ return $basename;
+}
+
+sub exit_help ()
+{
+ my $script_name = path_basename($0) || 'doc-install.pl';
+
+ print <<"EOF";
+Usage: perl $script_name [OPTION]... [-T] SOURCE DEST
+ or: perl $script_name [OPTION]... SOURCE... DIRECTORY
+ or: perl $script_name [OPTION]... -t DIRECTORY SOURCE...
+
+Copy SOURCE to DEST or multiple SOURCE files to the existing DIRECTORY,
+while setting permission modes. For HTML files, translate references to
+external documentation.
+
+Mandatory arguments to long options are mandatory for short options, too.
+ -k, --book-base=BASEPATH use reference BASEPATH for Devhelp book
+ -l, --tag-base=TAGFILE\ BASEPATH use BASEPATH for references from TAGFILE
+ -m, --mode=MODE override file permission MODE (octal)
+ -t, --target-directory=DIRECTORY copy all SOURCE arguments into DIRECTORY
+ -T, --no-target-directory treat DEST as normal file
+ -v, --verbose enable informational messages
+ -?, --help display this help and exit
+EOF
+ exit;
+}
+
+sub notice (@)
+{
+ print($message_prefix, @_, "\n") if ($verbose);
+}
+
+sub warning (@)
+{
+ print STDERR ($message_prefix, @_, "\n");
+}
+
+sub error (@)
+{
+ warning(@_);
+ exit 1;
+}
+
+# Copy file to destination while translating references on the fly.
+# Sniff the content for the file type, as it is always read in anyway.
+sub install_file ($$$)
+{
+ my ($in_name, $out_name, $basename) = @_;
+ my ($in, $out, $buf);
+ {
+ local $/; # slurp mode: read entire file into buffer
+
+ open($in, '<', $in_name) and binmode($in) and defined($buf = <$in>) and close($in)
+ or error('Failed to read ', $basename, ': ', $!);
+ }
+
+ if (%tags_hash and $buf =~ m/\A(?> \s*)(?> (?> <[?!][^<]+ )* )<html[>\s]/sx)
+ {
+ my $count = 0;
+ my $total = $buf =~
+ s!(?<= \s) doxygen="((?> [^:"]+)):((?> [^"]*))" # doxygen="(TAGFILE):(BASEPATH)"
+ (?> \s+) ((?> href|src) =") \2 ((?> [^"]*)") # (href|src=")BASEPATH(RELPATH")
+ ! $3 . ((exists $tags_hash{$1}) ? (++$count, $tags_hash{$1}) : $2) . $4
+ !egsx;
+ my $change = $total ? "rewrote $count of $total"
+ : 'no';
+ notice('Translating ', $basename, ' (', $change, ' references)');
+ }
+ elsif (defined($book_base) and $buf =~ m/\A(?> \s*)(?> (?> <[?!][^<]+ )* )<book\s/sx)
+ {
+ # Substitute new value for attribute "base" of element <book>
+ my $change = $buf =~ s/(<book \s [^<>]*? \b base=") (?> [^"]*) (?= ")/$1$book_base/sx
+ ? 'rewrote base path'
+ : 'base path not set';
+ notice('Translating ', $basename, ' (', $change, ')');
+ }
+ else
+ {
+ notice('Copying ', $basename);
+ }
+
+ # Avoid inheriting permissions of existing file
+ unlink($out_name);
+
+ open($out, '>', $out_name) and binmode($out) and print $out ($buf) and close($out)
+ or error('Failed to write ', $basename, ': ', $!);
+
+ chmod($perm_mode, $out_name)
+ or warning('Failed to set ', $basename, ' permissions: ', $!);
+}
+
+# Split TAGFILE BASEPATH argument into key/value pair
+sub split_key_value ($)
+{
+ my ($mapping) = @_;
+ my ($name, $path) = split(m'@', $mapping, 2);
+
+ error('Invalid base path mapping: ', $mapping) unless (defined($name) and $name ne '');
+
+ if (defined $path)
+ {
+ notice('Using base path ', $path, ' for tag file ', $name);
+ return ($name, $path);
+ }
+ notice('Not changing base path for tag file ', $name);
+ return ();
+}
+
+# Define line leader of log messages
+$message_prefix = path_basename($0);
+$message_prefix =~ s/\.[^.]*$//s if (defined $message_prefix);
+$message_prefix = ($message_prefix || 'doc-install') . ': ';
+
+# Process command-line options
+{
+ my @tags = ();
+ my $mode = '0644';
+
+ GetOptions('book-base|k=s' => \$book_base,
+ 'tag-base|l=s' => \ tags,
+ 'mode|m=s' => \$mode,
+ 'target-directory|t=s' => \$target_dir,
+ 'no-target-directory|T' => \$target_nodir,
+ 'verbose|v' => \$verbose,
+ 'help|?' => \&exit_help)
+ or exit 2;
+
+ error('Invalid permission mode: ', $mode) unless ($mode =~ m/^[0-7]+$/s);
+
+ $perm_mode = oct($mode);
+ %tags_hash = map(split_key_value($_), @tags);
+}
+notice('Using base path ', $book_base, ' for Devhelp book') if (defined $book_base);
+
+if ($target_nodir)
+{
+ error('Conflicting target directory options') if (defined $target_dir);
+ error('Source and destination filenames expected') unless ($#ARGV == 1);
+
+ install_file($ARGV[0], $ARGV[1], path_basename($ARGV[1]));
+ exit;
+}
+
+unless (defined $target_dir)
+{
+ if ($#ARGV == 1)
+ {
+ my $basename = path_basename($ARGV[1]);
+
+ if (defined($basename) and $basename ne '')
+ {
+ install_file($ARGV[0], $ARGV[1], $basename);
+ exit;
+ }
+ }
+ $target_dir = pop(@ARGV);
+}
+error('No target directory specified') unless (defined($target_dir) and $target_dir ne '');
+
+foreach my $in_name (@ARGV)
+{
+ my $basename = path_basename($in_name);
+ my $out_name = File::Spec->catfile($target_dir, $basename);
+
+ install_file($in_name, $out_name, $basename);
+}
+exit;
diff --git a/scripts/doc-postprocess.pl b/scripts/doc-postprocess.pl
new file mode 100644
index 0000000..76a9f0a
--- /dev/null
+++ b/scripts/doc-postprocess.pl
@@ -0,0 +1,81 @@
+package main;
+
+# Copyright (c) 2009 Daniel Elstner <daniel kitta gmail com>
+#
+# This file is part of mm-common.
+#
+# mm-common is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published
+# by the Free Software Foundation, either version 2 of the License,
+# or (at your option) any later version.
+#
+# mm-common is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with mm-common. If not, see <http://www.gnu.org/licenses/>.
+
+use strict;
+use warnings;
+use bytes;
+
+foreach my $filename (@ARGV)
+{
+ my @outbuf = ();
+ my $file;
+
+ open($file, '<', $filename);
+
+ while (<$file>)
+ {
+ if (/<a class="el"/)
+ {
+ # return value
+ s/ & /& /;
+ s/ \* /* /;
+
+ # parameters
+ s/ &/&/g;
+ s/&\b/& /g;
+ s/ \*/*/g;
+ s/\*\b/* /g;
+
+ # templates
+ s/\btemplate</template </;
+ }
+ elsif (/<td class="md(?:name)?"/)
+ {
+ # left parenthesis
+ s/\( /(/;
+
+ # return value
+ s/ & /& /g;
+ s/ \* /* /g;
+
+ # parameters
+ s/ & /& /g;
+ s/ \* /* /g;
+
+ # templates
+ s/\btemplate</template </;
+ }
+ else
+ {
+ # template decls
+ s/^(<h\d>|)template</$1template </;
+ }
+ s/ / /g;
+
+ push(@outbuf, $_);
+ }
+ close($file);
+
+ # write the whole buffer back
+ open($file, '>', $filename);
+ print $file ($_) foreach (@outbuf);
+ close($file);
+}
+
+exit;
diff --git a/scripts/tagfile-to-devhelp2.xsl b/scripts/tagfile-to-devhelp2.xsl
new file mode 100644
index 0000000..8dd55ec
--- /dev/null
+++ b/scripts/tagfile-to-devhelp2.xsl
@@ -0,0 +1,79 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xsl:stylesheet version="1.0" xmlns="http://www.devhelp.net/book"
+ xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
+ <!--
+ Copyright (c) 2009 Daniel Elstner <daniel kitta gmail com>
+
+ XSL transformation from a Doxygen tag file to DevHelp 2 format.
+
+ This script is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published
+ by the Free Software Foundation, either version 2 of the License,
+ or (at your option) any later version.
+
+ This script is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this script. If not, see <http://www.gnu.org/licenses/>.
+ -->
+ <xsl:output method="xml" version="1.0" indent="yes" encoding="UTF-8"/>
+
+ <xsl:param name="book_title"/>
+ <xsl:param name="book_name"/>
+ <xsl:param name="book_base"/>
+
+ <xsl:template match="/">
+ <book title="{$book_title}" name="{$book_name}" base="{$book_base}"
+ link="index.html" version="2" language="c++">
+ <chapters>
+ <sub name="Classes" link="classes.html">
+ <xsl:apply-templates select="tagfile/compound[ kind='class' or @kind='struct']" mode="sub">
+ <xsl:sort lang="en" case-order="upper-first" select="name"/>
+ </xsl:apply-templates>
+ </sub>
+ <sub name="Namespaces" link="namespaces.html">
+ <xsl:apply-templates select="tagfile/compound[ kind='namespace']" mode="sub">
+ <xsl:sort lang="en" case-order="upper-first" select="name"/>
+ </xsl:apply-templates>
+ </sub>
+ </chapters>
+ <functions>
+ <xsl:apply-templates select="tagfile/compound|tagfile/compound/member" mode="keyword">
+ <xsl:sort lang="en" select="concat(../name, '::', name)"/>
+ </xsl:apply-templates>
+ </functions>
+ </book>
+ </xsl:template>
+
+ <xsl:template match="compound" mode="sub">
+ <sub name="{name}" link="{filename}"/>
+ </xsl:template>
+
+ <xsl:template match="compound[ kind='class' or @kind='struct']" mode="keyword">
+ <keyword type="struct" name="{name}" link="{filename}"/>
+ </xsl:template>
+ <xsl:template match="member[ kind='function' or @kind='typedef']" mode="keyword">
+ <keyword type="{ kind}" xsl:use-attribute-sets="keyword-member"/>
+ </xsl:template>
+ <xsl:template match="member[ kind='enumeration']" mode="keyword">
+ <keyword type="enum" xsl:use-attribute-sets="keyword-member"/>
+ </xsl:template>
+ <xsl:template match="member[ kind='enumvalue' or @kind='define']" mode="keyword">
+ <keyword type="macro" xsl:use-attribute-sets="keyword-member"/>
+ </xsl:template>
+ <!-- Ignore keywords of unknown type -->
+ <xsl:template match="*" mode="keyword"/>
+
+ <xsl:attribute-set name="keyword-member">
+ <xsl:attribute name="name">
+ <xsl:value-of select="concat(../name, '::', name)"/>
+ </xsl:attribute>
+ <xsl:attribute name="link">
+ <xsl:value-of select="concat(anchorfile, '#', anchor)"/>
+ </xsl:attribute>
+ </xsl:attribute-set>
+
+</xsl:stylesheet>
diff --git a/sigc++-2.0-uninstalled.pc.in b/sigc++-2.0-uninstalled.pc.in
new file mode 100644
index 0000000..45488d8
--- /dev/null
+++ b/sigc++-2.0-uninstalled.pc.in
@@ -0,0 +1,9 @@
+doxytagfile=${pc_top_builddir}/docs/reference/libsigc++- SIGCXX_API_VERSION@.tag
+htmlrefpub=http://libsigc.sourceforge.net/libsigc2/docs/reference/html
+
+Name: libsigc++
+Description: Typesafe signal and callback system for C++, not installed
+Version: @PACKAGE_VERSION@
+URL: http://libsigc.sourceforge.net/
+Libs: ${pc_top_builddir}/sigc++/libsigc- SIGCXX_API_VERSION@.la
+Cflags: -I${pc_top_builddir} -I${pc_top_builddir}/@top_srcdir@
diff --git a/sigc++-2.0.pc.in b/sigc++-2.0.pc.in
index 7c55753..d1133ee 100644
--- a/sigc++-2.0.pc.in
+++ b/sigc++-2.0.pc.in
@@ -2,9 +2,16 @@ prefix= prefix@
exec_prefix= exec_prefix@
libdir= libdir@
includedir= includedir@
+datarootdir= datarootdir@
-Name: libsigc++ 2
+docdir=${datarootdir}/doc/libsigc++- SIGCXX_API_VERSION@
+doxytagfile=${docdir}/reference/libsigc++- SIGCXX_API_VERSION@.tag
+htmlrefdir=${docdir}/reference/html
+htmlrefpub=http://libsigc.sourceforge.net/libsigc2/docs/reference/html
+
+Name: libsigc++
Description: Typesafe signal and callback system for C++
-Version: @VERSION@
-Libs: -L${libdir} -lsigc-2.0
-Cflags: -I${includedir}/sigc++-2.0 -I${libdir}/sigc++-2.0/include
+Version: @PACKAGE_VERSION@
+URL: http://libsigc.sourceforge.net/
+Libs: -L${libdir} -lsigc- SIGCXX_API_VERSION@
+Cflags: -I${includedir}/sigc++- SIGCXX_API_VERSION@ -I${libdir}/sigc++- SIGCXX_API_VERSION@/include
diff --git a/sigc++/.gitignore b/sigc++/.gitignore
new file mode 100644
index 0000000..5930a6c
--- /dev/null
+++ b/sigc++/.gitignore
@@ -0,0 +1,26 @@
+/class_slot.h
+/hide.h
+/limit_reference.h
+/method_slot.h
+/object_slot.h
+/retype.h
+/signal.h
+/slot.h
+/adaptors/adaptor_trait.h
+/adaptors/bind.h
+/adaptors/bind_return.h
+/adaptors/compose.h
+/adaptors/deduce_result_type.h
+/adaptors/exception_catch.h
+/adaptors/hide.h
+/adaptors/retype.h
+/adaptors/retype_return.h
+/adaptors/lambda/base.h
+/adaptors/lambda/group.h
+/adaptors/lambda/lambda.cc
+/adaptors/lambda/operator.h
+/adaptors/lambda/select.h
+/functors/functor_trait.h
+/functors/mem_fun.h
+/functors/ptr_fun.h
+/functors/slot.h
diff --git a/sigc++/Makefile.am b/sigc++/Makefile.am
index 20976f9..7eba5e5 100644
--- a/sigc++/Makefile.am
+++ b/sigc++/Makefile.am
@@ -1,105 +1,82 @@
-# Base (./)
-base_m4 = template.macros.m4 signal.h.m4 slot.h.m4 method_slot.h.m4 \
- object_slot.h.m4 class_slot.h.m4 hide.h.m4 retype.h.m4 \
- limit_reference.h.m4
-base_built_cc =
-base_built_h = signal.h slot.h method_slot.h \
- object_slot.h class_slot.h hide.h retype.h limit_reference.h
-
-signal.cc : signal.h signal_base.h functors/slot.h functors/slot_base.h functors/mem_fun.h functors/functor_trait.h
-
-# Functors (functors/)
-functors_m4 = functor_trait.h.m4 slot.h.m4 ptr_fun.h.m4 mem_fun.h.m4
-functors_built_cc =
-functors_built_h = functor_trait.h slot.h ptr_fun.h mem_fun.h
-
-functors/slot.cc : functors/slot.h functors/slot_base.h functors/functor_trait.h
-
-# Adaptors (adaptors/)
-adaptors_m4 = deduce_result_type.h.m4 adaptor_trait.h.m4 bind.h.m4 bind_return.h.m4 \
- retype_return.h.m4 hide.h.m4 retype.h.m4 compose.h.m4 exception_catch.h.m4
-adaptors_built_cc =
-adaptors_built_h = deduce_result_type.h adaptor_trait.h bind.h bind_return.h \
- retype_return.h hide.h retype.h compose.h exception_catch.h
-
-# Lambda (adaptors/lambda)
-lambda_m4 = base.h.m4 select.h.m4 operator.h.m4 group.h.m4 lambda.cc.m4
-lambda_built_cc = lambda.cc
-lambda_built_h = base.h select.h operator.h group.h
-
-adaptors/lambda/lambda.cc : adaptors/lambda/select.h adaptors/lambda/base.h \
- adaptors/adaptor_trait.h adaptors/deduce_result_type.h \
- functors/ptr_fun.h functors/mem_fun.h functors/functor_trait.h
+## Copyright (c) 2009 Openismus GmbH <http://www.openismus.com/>
+##
+## This file is part of libsigc++.
+##
+## libsigc++ is free software: you can redistribute it and/or modify it
+## under the terms of the GNU Lesser General Public License as published
+## by the Free Software Foundation, either version 2.1 of the License,
+## or (at your option) any later version.
+##
+## libsigc++ is distributed in the hope that it will be useful, but
+## WITHOUT ANY WARRANTY; without even the implied warranty of
+## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+## See the GNU Lesser General Public License for more details.
+##
+## You should have received a copy of the GNU Lesser General Public License
+## along with this library. If not, see <http://www.gnu.org/licenses/>.
+
+AUTOMAKE_OPTIONS = subdir-objects
+
+include $(srcdir)/filelist.am
# Subdirectories needed also in the build dir
-build_subdirs = functors adaptors adaptors/lambda
-
-# Combine all the above parts with right directories prefixed
-sigc_m4 = $(base_m4:%=macros/%) \
- $(functors_m4:%=functors/macros/%) \
- $(adaptors_m4:%=adaptors/macros/%) \
- $(lambda_m4:%=adaptors/lambda/macros/%)
-sigc_built_cc = $(base_built_cc) \
- $(functors_built_cc:%=functors/%) \
- $(adaptors_built_cc:%=adaptors/%) \
- $(lambda_built_cc:%=adaptors/lambda/%)
-sigc_built_h = $(base_built_h) \
- $(functors_built_h:%=functors/%) \
- $(adaptors_built_h:%=adaptors/%) \
- $(lambda_built_h:%=adaptors/lambda/%)
-
-EXTRA_DIST = $(sigc_m4) $(sigc_built_h) $(sigc_built_cc)
-
-# install the headers
-library_includedir = $(includedir)/sigc++-2.0/sigc++
-nobase_library_include_HEADERS = $(sigc_m4) $(sigc_built_h) \
- sigc++.h connection.h trackable.h reference_wrapper.h type_traits.h visit_each.h \
- object.h retype_return.h bind.h bind_return.h signal_base.h \
- functors/functors.h \
- functors/slot_base.h \
- adaptors/adaptors.h \
- adaptors/bound_argument.h \
- adaptors/lambda/lambda.h
-
-# Support for DLL on cygwin/mingw using libtool > 1.4
-if PLATFORM_WIN32
-win32_dlls_ldflags = -no-undefined -Wl,--export-all-symbols
-else
-win32_dlls_ldflags =
-endif
-
-# build the library
-lib_LTLIBRARIES = libsigc-2.0.la
-libsigc_2_0_la_SOURCES = signal.cc signal_base.cc trackable.cc connection.cc \
- functors/slot.cc functors/slot_base.cc \
- adaptors/lambda/lambda.cc
-libsigc_2_0_la_LDFLAGS = $(win32_dlls_ldflags)
-BUILT_SOURCES = $(sigc_built_h) $(sigc_built_cc)
-
-CLEANFILES = build-subdirs-stamp
-
-# Remove the generated sources during maintainer-clean:
-MAINTAINERCLEANFILES = $(built_sources)
+build_subdirs = functors adaptors/lambda
-M4_DIR = $(top_srcdir)/sigc++/macros
+dist_noinst_DATA = $(sigc_m4)
-# Rules to generate .h and .cc from .h.m4 and .cc.m4:
-%.h: macros/%.h.m4 $(M4_DIR)/template.macros.m4
- $(M4) $(M4_INCLUDES) $(DEFINES) -I $(M4_DIR) -I macros $< > $@
+library_includedir = $(includedir)/$(SIGCXX_MODULE_NAME)/sigc++
+nobase_library_include_HEADERS = sigc++.h $(sigc_public_h) $(sigc_built_h)
-%.cc: macros/%.cc.m4 $(M4_DIR)/template.macros.m4
- $(M4) $(M4_INCLUDES) $(DEFINES) -I $(M4_DIR) -I macros $< > $@
-
-# This would be a necessary target for VPATH builds from a clean CVS checkout,
-# but I'm not sure where to invoke it... [rotty]
-build-subdirs-stamp:
- for dir in $(build_subdirs); do \
- test -d $$dir || mkdir $$dir; \
- done
- touch build-subdirs-stamp
-
-# Remove current directory from DEFAULT_INCLUDES because signal.h has
-# the same name as a standard header:
-DEFAULT_INCLUDES =
-AM_CPPFLAGS = -I$(top_srcdir) -I$(top_builddir)
+lib_LTLIBRARIES = libsigc-2.0.la
+libsigc_2_0_la_SOURCES = \
+ signal.cc \
+ signal_base.cc \
+ trackable.cc \
+ connection.cc \
+ functors/slot.cc \
+ functors/slot_base.cc \
+ adaptors/lambda/lambda.cc
+
+EXTRA_libsigc_2_0_la_SOURCES = $(sigc_built_cc)
+
+libsigc_2_0_la_LDFLAGS = -no-undefined
+
+AM_CPPFLAGS = -I$(top_builddir) -I$(top_srcdir)
+AM_CXXFLAGS = $(SIGC_WXXFLAGS)
+
+BUILT_SOURCES = $(build_subdirs) $(sigc_built_h) $(sigc_built_cc)
+MAINTAINERCLEANFILES = $(sigc_built_h) $(sigc_built_cc)
+
+m4_dir = $(srcdir)/macros
+
+$(build_subdirs):
+ $(MKDIR_P) $@
+
+signal.cc: \
+ signal.h \
+ signal_base.h \
+ functors/slot.h \
+ functors/slot_base.h \
+ functors/mem_fun.h \
+ functors/functor_trait.h
+
+adaptors/lambda/lambda.cc: \
+ adaptors/lambda/select.h \
+ adaptors/lambda/base.h \
+ adaptors/adaptor_trait.h \
+ adaptors/deduce_result_type.h \
+ functors/ptr_fun.h \
+ functors/mem_fun.h \
+ functors/functor_trait.h
+
+functors/slot.cc: \
+ functors/slot.h \
+ functors/slot_base.h \
+ functors/functor_trait.h
+
+%.h: macros/%.h.m4 $(m4_dir)/template.macros.m4 | $(build_subdirs)
+ $(M4) -I $(m4_dir) -I macros $< >$@
+
+%.cc: macros/%.cc.m4 $(m4_dir)/template.macros.m4 | $(build_subdirs)
+ $(M4) -I $(m4_dir) -I macros $< >$@
diff --git a/sigc++/filelist.am b/sigc++/filelist.am
new file mode 100644
index 0000000..dc90d3f
--- /dev/null
+++ b/sigc++/filelist.am
@@ -0,0 +1,72 @@
+## Copyright (c) 2009 Openismus GmbH <http://www.openismus.com/>
+##
+## This file is part of libsigc++.
+##
+## libsigc++ is free software: you can redistribute it and/or modify it
+## under the terms of the GNU Lesser General Public License as published
+## by the Free Software Foundation, either version 2.1 of the License,
+## or (at your option) any later version.
+##
+## libsigc++ is distributed in the hope that it will be useful, but
+## WITHOUT ANY WARRANTY; without even the implied warranty of
+## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+## See the GNU Lesser General Public License for more details.
+##
+## You should have received a copy of the GNU Lesser General Public License
+## along with this library. If not, see <http://www.gnu.org/licenses/>.
+
+# Base (./)
+base_m4 = template.macros.m4 signal.h.m4 slot.h.m4 method_slot.h.m4 \
+ object_slot.h.m4 class_slot.h.m4 hide.h.m4 retype.h.m4 \
+ limit_reference.h.m4
+base_built_cc =
+base_built_h = signal.h slot.h method_slot.h \
+ object_slot.h class_slot.h hide.h retype.h limit_reference.h
+
+# Functors (functors/)
+functors_m4 = functor_trait.h.m4 slot.h.m4 ptr_fun.h.m4 mem_fun.h.m4
+functors_built_cc =
+functors_built_h = functor_trait.h slot.h ptr_fun.h mem_fun.h
+
+# Adaptors (adaptors/)
+adaptors_m4 = deduce_result_type.h.m4 adaptor_trait.h.m4 bind.h.m4 bind_return.h.m4 \
+ retype_return.h.m4 hide.h.m4 retype.h.m4 compose.h.m4 exception_catch.h.m4
+adaptors_built_cc =
+adaptors_built_h = deduce_result_type.h adaptor_trait.h bind.h bind_return.h \
+ retype_return.h hide.h retype.h compose.h exception_catch.h
+
+# Lambda (adaptors/lambda)
+lambda_m4 = base.h.m4 select.h.m4 operator.h.m4 group.h.m4 lambda.cc.m4
+lambda_built_cc = lambda.cc
+lambda_built_h = base.h select.h operator.h group.h
+
+# Combine all the above parts with right directories prefixed
+sigc_m4 = $(base_m4:%=macros/%) \
+ $(functors_m4:%=functors/macros/%) \
+ $(adaptors_m4:%=adaptors/macros/%) \
+ $(lambda_m4:%=adaptors/lambda/macros/%)
+sigc_built_cc = $(base_built_cc) \
+ $(functors_built_cc:%=functors/%) \
+ $(adaptors_built_cc:%=adaptors/%) \
+ $(lambda_built_cc:%=adaptors/lambda/%)
+sigc_built_h = $(base_built_h) \
+ $(functors_built_h:%=functors/%) \
+ $(adaptors_built_h:%=adaptors/%) \
+ $(lambda_built_h:%=adaptors/lambda/%)
+
+sigc_public_h = \
+ bind.h \
+ bind_return.h \
+ connection.h \
+ object.h \
+ reference_wrapper.h \
+ retype_return.h \
+ signal_base.h \
+ trackable.h \
+ type_traits.h \
+ visit_each.h \
+ adaptors/adaptors.h \
+ adaptors/bound_argument.h \
+ adaptors/lambda/lambda.h \
+ functors/functors.h \
+ functors/slot_base.h
diff --git a/sigc++config.h.in b/sigc++config.h.in
index 1cd8c3e..73e12de 100644
--- a/sigc++config.h.in
+++ b/sigc++config.h.in
@@ -1,80 +1,84 @@
-#ifndef _SIGCXX_CONFIG_H
-#define _SIGCXX_CONFIG_H
+/* does the C++ compiler support the use of a particular specialization when
+ calling operator() template methods. */
+#undef SIGC_GCC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
-// Detect common platforms
-#if defined(_WIN32)
- // Win32 compilers have a lot of variation
- #if defined(_MSC_VER)
- #define SIGC_MSC
- #define SIGC_WIN32
- #define SIGC_DLL
- #elif defined(__CYGWIN__)
- #define SIGC_CONFIGURE
- #elif defined(__MINGW32__)
- #define SIGC_WIN32
- #define SIGC_CONFIGURE
- #else
- //The Tru64 compiler complains about this "unrecognized preprocessing directive", but it should never get this far anyway.
- //#warning "libsigc++ config: Unknown win32 architecture (send me gcc --dumpspecs or equiv)"
- #endif
-#else
- #define SIGC_CONFIGURE
-#endif /* _WIN32 */
+/* Defined when the libstdc++ declares the std-namespace */
+#undef SIGC_HAVE_NAMESPACE_STD
-#ifdef SIGC_CONFIGURE
- // configure checks
- #undef SIGC_GCC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
- #undef SIGC_MSVC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
- #undef SIGC_SELF_REFERENCE_IN_MEMBER_INITIALIZATION
+/* Define if the non-standard Sun reverse_iterator must be used. */
+#undef SIGC_HAVE_SUN_REVERSE_ITERATOR
- #undef SIGC_HAVE_NAMESPACE_STD
- #undef SIGC_HAVE_SUN_REVERSE_ITERATOR
- #undef SIGC_TYPEDEF_REDEFINE_ALLOWED
+/* does the C++ compiler support the use of a particular specialization when
+ calling operator() template methods omitting the template keyword. */
+#undef SIGC_MSVC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
- // platform specific macros
- // #define LIBSIGC_DISABLE_DEPRECATED
- // #define SIGC_NEW_DELETE_IN_LIBRARY_ONLY
-#endif /* SIGC_CONFIGURE */
+/* does c++ compiler allows usage of member function in initialization of
+ static member field. */
+#undef SIGC_SELF_REFERENCE_IN_MEMBER_INITIALIZATION
-#ifdef SIGC_MSC
+/* Major version number of sigc++. */
+#undef SIGCXX_MAJOR_VERSION
+
+/* Micro version number of sigc++. */
+#undef SIGCXX_MICRO_VERSION
+
+/* Minor version number of sigc++. */
+#undef SIGCXX_MINOR_VERSION
- // MS VC7 Warning 4251 says that the classes to any member objects in an
- // exported class must be also be exported. Some of the libsigc++
- // template classes contain std::list members. MS KB article 168958 says
- // that it's not possible to export a std::list instantiation due to some
- // wacky class nesting issues, so our only options are to ignore the
- // warning or to modify libsigc++ to remove the std::list dependency.
- // AFAICT, the std::list members are used internally by the library code
- // and don't need to be used from the outside, and ignoring the warning
- // seems to have no adverse effects, so that seems like a good enough
- // solution for now.
- //
- #pragma warning(disable:4251)
+/* Detect Win32 platform */
+#ifdef _WIN32
+# if defined(_MSC_VER)
+# define SIGC_MSC 1
+# define SIGC_WIN32 1
+# define SIGC_DLL 1
+# elif defined(__CYGWIN__)
+# define SIGC_CONFIGURE 1
+# elif defined(__MINGW32__)
+# define SIGC_WIN32 1
+# define SIGC_CONFIGURE 1
+# else
+ error "libsigc++ config: Unknown win32 architecture (send me gcc --dumpspecs or equiv)"
+# endif
+#else /* !_WIN32 */
+# define SIGC_CONFIGURE 1
+#endif /* !_WIN32 */
- #define SIGC_MSVC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD
- #define SIGC_NEW_DELETE_IN_LIBRARY_ONLY // To keep ABI compatibility
- #define SIGC_HAVE_NAMESPACE_STD 1
+#ifdef SIGC_MSC
+/*
+ * MS VC7 Warning 4251 says that the classes to any member objects in an
+ * exported class must be also be exported. Some of the libsigc++
+ * template classes contain std::list members. MS KB article 168958 says
+ * that it's not possible to export a std::list instantiation due to some
+ * wacky class nesting issues, so our only options are to ignore the
+ * warning or to modify libsigc++ to remove the std::list dependency.
+ * AFAICT, the std::list members are used internally by the library code
+ * and don't need to be used from the outside, and ignoring the warning
+ * seems to have no adverse effects, so that seems like a good enough
+ * solution for now.
+ */
+# pragma warning(disable:4251)
+
+# define SIGC_MSVC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD 1
+# define SIGC_NEW_DELETE_IN_LIBRARY_ONLY 1 /* To keep ABI compatibility */
+# define SIGC_HAVE_NAMESPACE_STD 1
#endif /* SIGC_MSC */
-//Put things in the std namespace, if they should be there.
-#ifndef SIGC_HAVE_NAMESPACE_STD
- # define SIGC_USING_STD(Symbol) namespace std { using ::Symbol; }
+#ifdef SIGC_HAVE_NAMESPACE_STD
+# define SIGC_USING_STD(Symbol) /* empty */
#else
- # define SIGC_USING_STD(Symbol) /* empty */
+# define SIGC_USING_STD(Symbol) namespace std { using ::Symbol; }
#endif
#ifdef SIGC_DLL
- #if defined(SIGC_BUILD) && defined(_WINDLL)
- #define SIGC_API __declspec(dllexport)
- #elif !defined(SIGC_BUILD)
- #define SIGC_API __declspec(dllimport)
- #else
- #define SIGC_API
- #endif /* SIGC_BUILD - _WINDLL */
-#else
- #define SIGC_API
-#endif /* SIGC_DLL */
-
-#endif /* _SIGCXX_CONFIG_H */
+# if defined(SIGC_BUILD) && defined(_WINDLL)
+# define SIGC_API __declspec(dllexport)
+# elif !defined(SIGC_BUILD)
+# define SIGC_API __declspec(dllimport)
+# else
+# define SIGC_API
+# endif
+#else /* !SIGC_DLL */
+# define SIGC_API
+#endif /* !SIGC_DLL */
diff --git a/tests/.gitignore b/tests/.gitignore
new file mode 100644
index 0000000..eee46a4
--- /dev/null
+++ b/tests/.gitignore
@@ -0,0 +1,23 @@
+/test_accum_iter
+/test_bind
+/test_bind_ref
+/test_bind_return
+/test_compose
+/test_copy_invalid_slot
+/test_custom
+/test_deduce_result_type
+/test_disconnect
+/test_disconnect_during_emit
+/test_exception_catch
+/test_functor_trait
+/test_hide
+/test_limit_reference
+/test_mem_fun
+/test_ptr_fun
+/test_retype
+/test_retype_return
+/test_signal
+/test_size
+/test_slot
+/test_slot_disconnect
+/test_trackable
diff --git a/tests/Makefile.am b/tests/Makefile.am
index 52e54e3..9ae85c5 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -1,70 +1,80 @@
-INCLUDES = -I$(top_srcdir) -I$(top_builddir)
+## Copyright (c) 2009 Openismus GmbH <http://www.openismus.com/>
+##
+## This file is part of libsigc++.
+##
+## libsigc++ is free software: you can redistribute it and/or modify it
+## under the terms of the GNU Lesser General Public License as published
+## by the Free Software Foundation, either version 2.1 of the License,
+## or (at your option) any later version.
+##
+## libsigc++ is distributed in the hope that it will be useful, but
+## WITHOUT ANY WARRANTY; without even the implied warranty of
+## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+## See the GNU Lesser General Public License for more details.
+##
+## You should have received a copy of the GNU Lesser General Public License
+## along with this library. If not, see <http://www.gnu.org/licenses/>.
-LDADD = $(top_builddir)/sigc++/libsigc-2.0.la
+AM_CPPFLAGS = -I$(top_builddir) -I$(top_srcdir)
+AM_CXXFLAGS = $(SIGC_WXXFLAGS)
+LDADD = $(top_builddir)/sigc++/libsigc-$(SIGCXX_API_VERSION).la
-# don't bother with automake defs
-DEFS =
+check_PROGRAMS = \
+ test_accum_iter \
+ test_bind \
+ test_bind_ref \
+ test_bind_return \
+ test_compose \
+ test_copy_invalid_slot \
+ test_custom \
+ test_deduce_result_type \
+ test_disconnect \
+ test_disconnect_during_emit \
+ test_exception_catch \
+ test_functor_trait \
+ test_hide \
+ test_limit_reference \
+ test_mem_fun \
+ test_ptr_fun \
+ test_retype \
+ test_retype_return \
+ test_signal \
+ test_size \
+ test_slot \
+ test_slot_disconnect \
+ test_trackable
-# this means make check will run these programs.
-noinst_PROGRAMS= \
- test_trackable \
- test_deduce_result_type \
- test_mem_fun \
- test_ptr_fun \
- test_slot \
- test_signal \
- test_disconnect \
- test_disconnect_during_emit \
- test_bind_return \
- test_retype_return \
- test_hide \
- test_retype \
- test_compose \
- test_exception_catch \
- test_size \
- test_bind \
- test_bind_ref \
- test_functor_trait \
- test_limit_reference \
- test_copy_invalid_slot \
- test_slot_disconnect \
- test_custom \
- test_accum_iter
+TESTS = $(check_PROGRAMS)
-#Disabled:
-# test_lambda - The Tru64 compiler can't build this when not using -std strict_ansi -model ansi, so let's not worry about it.
+test_accum_iter_SOURCES = test_accum_iter.cc
+test_bind_SOURCES = test_bind.cc
+test_bind_ref_SOURCES = test_bind_ref.cc
+test_bind_return_SOURCES = test_bind_return.cc
+test_compose_SOURCES = test_compose.cc
+test_copy_invalid_slot_SOURCES = test_copy_invalid_slot.cc
+test_custom_SOURCES = test_custom.cc
+test_deduce_result_type_SOURCES = test_deduce_result_type.cc
+test_disconnect_SOURCES = test_disconnect.cc
+test_disconnect_during_emit_SOURCES = test_disconnect_during_emit.cc
+test_exception_catch_SOURCES = test_exception_catch.cc
+test_functor_trait_SOURCES = test_functor_trait.cc
+test_hide_SOURCES = test_hide.cc
+test_limit_reference_SOURCES = test_limit_reference.cc
+test_mem_fun_SOURCES = test_mem_fun.cc
+test_ptr_fun_SOURCES = test_ptr_fun.cc
+test_retype_SOURCES = test_retype.cc
+test_retype_return_SOURCES = test_retype_return.cc
+test_signal_SOURCES = test_signal.cc
+test_size_SOURCES = test_size.cc
+test_slot_SOURCES = test_slot.cc
+test_slot_disconnect_SOURCES = test_slot_disconnect.cc
+test_trackable_SOURCES = test_trackable.cc
-# test_accumulated - The AIX xlC compiler can't build this. It says
+# Disabled: test_lambda - The Tru64 compiler can't build this when not using
+# -std strict_ansi -model ansi, so let's not worry about it.
+# Disabled: test_accumulated - The AIX xlC compiler can't build this. It says
# xlC_r -I. -I. -I.. -I.. -I.. -AA -c -o test_accumulated.o test_accumulated.cc
-# "../sigc++/signal.h", line 534.39: 1540-1110 (S) The referenced type "sigc::internal::signal_emit1" contains a circular reference back to ""
+# "../sigc++/signal.h", line 534.39: 1540-1110 (S) The referenced type
+# "sigc::internal::signal_emit1" contains a circular reference back to ""
-TESTS = $(noinst_PROGRAMS)
-
-
-# we can have as many programs built here as we need.
-test_trackable_SOURCES = test_trackable.cc
-test_deduce_result_type_SOURCES = test_deduce_result_type.cc
-test_functor_trait_SOURCES = test_functor_trait.cc
-test_mem_fun_SOURCES = test_mem_fun.cc
-test_ptr_fun_SOURCES = test_ptr_fun.cc
-test_slot_SOURCES = test_slot.cc
-test_signal_SOURCES = test_signal.cc
-# test_accumulated_SOURCES = test_accumulated.cc
-test_disconnect_SOURCES = test_disconnect.cc
-test_disconnect_during_emit_SOURCES = test_disconnect_during_emit.cc
-test_bind_SOURCES = test_bind.cc
-test_bind_ref_SOURCES = test_bind_ref.cc
-test_bind_return_SOURCES = test_bind_return.cc
-test_retype_return_SOURCES = test_retype_return.cc
-test_hide_SOURCES = test_hide.cc
-test_retype_SOURCES = test_retype.cc
-test_compose_SOURCES = test_compose.cc
-test_exception_catch_SOURCES = test_exception_catch.cc
-# test_lambda_SOURCES = test_lambda.cc
-
-test_size_SOURCES = test_size.cc
-test_limit_reference_SOURCES = test_limit_reference.cc
-test_copy_invalid_slot_SOURCES = test_copy_invalid_slot.cc
-test_slot_disconnect_SOURCES = test_slot_disconnect.cc
-test_custom_SOURCES = test_custom.cc
-test_accum_iter_SOURCES = test_accum_iter.cc
+dist_noinst_DATA = test_accumulated.cc test_lambda.cc
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]