https://svn.lrde.epita.fr/svn/oln/trunk
Index: ChangeLog
from Roland Levillain <roland(a)lrde.epita.fr>
Fix CXXFLAGS usage.
* configure.ac: Erase CXXFLAGS if the user doesn't set it.
configure.ac | 6 ++++++
extended/ChangeLog | 4 ++++
extended/tests/Makefile.am | 7 +++----
metalic/ChangeLog | 4 ++++
metalic/tests/Makefile.am | 7 +++----
olena/ChangeLog | 7 +++++++
olena/tests/algorithms/Makefile.am | 8 ++++----
olena/tests/core/Makefile.am | 8 ++++----
olena/tests/io/Makefile.am | 8 ++++----
olena/tests/morphers/Makefile.am | 8 ++++----
olena/tests/value/Makefile.am | 8 ++++----
static/ChangeLog | 5 +++++
static/stc/scoop.hh | 3 ++-
static/tests/Makefile.am | 7 +++----
14 files changed, 57 insertions(+), 33 deletions(-)
Index: extended/tests/Makefile.am
--- extended/tests/Makefile.am (revision 689)
+++ extended/tests/Makefile.am (working copy)
@@ -6,11 +6,10 @@
#
# AM_CXXFLAGS = $(CXXFLAGS_STRICT) $(CXXFLAGS_DEBUG)
#
-# when oln.m4 is available in the distribution.
-# Meanwhile, alter CXXFLAGS to turn off any optimization (Automake will
-# warn against this, but that's OK).
+# when oln.m4 is available in the distribution, instead of using the
+# set-by-hand TESTS_CXXFLAGS.
TESTS_CXXFLAGS = @TESTS_CXXFLAGS@
-CXXFLAGS += $(TESTS_CXXFLAGS)
+AM_CXXFLAGS = $(TESTS_CXXFLAGS)
check_PROGRAMS = \
Index: extended/ChangeLog
--- extended/ChangeLog (revision 689)
+++ extended/ChangeLog (working copy)
@@ -1,3 +1,7 @@
+2006-10-31 Roland Levillain <roland(a)lrde.epita.fr>
+
+ * tests/Makefile.am: Alter AM_CXXFLAGS instead of CXXFLAGS.
+
2006-10-27 Roland Levillain <roland(a)lrde.epita.fr>
Fix the distribution.
Index: configure.ac
--- configure.ac (revision 689)
+++ configure.ac (working copy)
@@ -23,6 +23,12 @@
## C++ compiler set up. ##
## --------------------- ##
+# If the user doesn't provide any CXXFLAGS, prevent Autoconf from
+# settings its own default ones (e.g., `-g -O2' for g++).
+if test ! ${CXXFLAGS+set}; then
+ CXXFLAGS=""
+fi
+
# Look for a C++ compiler.
AC_LANG([C++])
AC_PROG_CXX
Index: static/tests/Makefile.am
--- static/tests/Makefile.am (revision 689)
+++ static/tests/Makefile.am (working copy)
@@ -6,11 +6,10 @@
#
# AM_CXXFLAGS = $(CXXFLAGS_STRICT) $(CXXFLAGS_DEBUG)
#
-# when oln.m4 is available in the distribution.
-# Meanwhile, alter CXXFLAGS to turn off any optimization (Automake will
-# warn against this, but that's OK).
+# when oln.m4 is available in the distribution, instead of using the
+# set-by-hand TESTS_CXXFLAGS.
TESTS_CXXFLAGS = @TESTS_CXXFLAGS@
-CXXFLAGS += $(TESTS_CXXFLAGS)
+AM_CXXFLAGS = $(TESTS_CXXFLAGS)
check_PROGRAMS = \
Index: static/ChangeLog
--- static/ChangeLog (revision 689)
+++ static/ChangeLog (working copy)
@@ -1,3 +1,8 @@
+2006-10-31 Roland Levillain <roland(a)lrde.epita.fr>
+
+ * tests/Makefile.am: Alter AM_CXXFLAGS instead of CXXFLAGS.
+ * stc/scoop.hh: Fix comment.
+
2006-10-09 Thierry GERAUD <theo(a)tegucigalpa.lrde.epita.fr>
* stc/scoop.hh (stc_virtual_typedef): Remove this macro which
Index: static/stc/scoop.hh
--- static/stc/scoop.hh (revision 689)
+++ static/stc/scoop.hh (working copy)
@@ -63,7 +63,7 @@
namespace stc
{
- /// Error messages raised by static assertions.
+ /// Error messages raised by static assertions/abortions.
namespace ERROR
{
@@ -203,6 +203,7 @@
\
/** Accessor helper: specializations for the case of two super */ \
/** classes or more. */ \
+ /* FIXME: Currently works only for 2 and 3 super types. */ \
template <typename super1, typename super2, typename super3> \
struct get_super_types_helper< mlc::valist_ <super1, super2, super3> > \
{ \
Index: metalic/tests/Makefile.am
--- metalic/tests/Makefile.am (revision 689)
+++ metalic/tests/Makefile.am (working copy)
@@ -6,11 +6,10 @@
#
# AM_CXXFLAGS = $(CXXFLAGS_STRICT) $(CXXFLAGS_DEBUG)
#
-# when oln.m4 is available in the distribution.
-# Meanwhile, alter CXXFLAGS to turn off any optimization (Automake will
-# warn against this, but that's OK).
+# when oln.m4 is available in the distribution, instead of using the
+# set-by-hand TESTS_CXXFLAGS.
TESTS_CXXFLAGS = @TESTS_CXXFLAGS@
-CXXFLAGS += $(TESTS_CXXFLAGS)
+AM_CXXFLAGS = $(TESTS_CXXFLAGS)
check_PROGRAMS = \
Index: metalic/ChangeLog
--- metalic/ChangeLog (revision 689)
+++ metalic/ChangeLog (working copy)
@@ -1,3 +1,7 @@
+2006-10-31 Roland Levillain <roland(a)lrde.epita.fr>
+
+ * tests/Makefile.am: Alter AM_CXXFLAGS instead of CXXFLAGS.
+
2006-10-27 Roland Levillain <roland(a)lrde.epita.fr>
Fix the distribution.
Index: olena/tests/morphers/Makefile.am
--- olena/tests/morphers/Makefile.am (revision 689)
+++ olena/tests/morphers/Makefile.am (working copy)
@@ -12,11 +12,11 @@
#
# AM_CXXFLAGS = $(CXXFLAGS_STRICT) $(CXXFLAGS_DEBUG)
#
-# when oln.m4 is available in the distribution.
-# Meanwhile, alter CXXFLAGS to turn off any optimization (Automake will
-# warn against this, but that's OK).
+# when oln.m4 is available in the distribution, instead of using the
+# set-by-hand TESTS_CXXFLAGS.
TESTS_CXXFLAGS = @TESTS_CXXFLAGS@
-CXXFLAGS += $(TESTS_CXXFLAGS)
+AM_CXXFLAGS = $(TESTS_CXXFLAGS)
+
check_PROGRAMS = \
identity_morpher \
Index: olena/tests/io/Makefile.am
--- olena/tests/io/Makefile.am (revision 689)
+++ olena/tests/io/Makefile.am (working copy)
@@ -12,11 +12,11 @@
#
# AM_CXXFLAGS = $(CXXFLAGS_STRICT) $(CXXFLAGS_DEBUG)
#
-# when oln.m4 is available in the distribution.
-# Meanwhile, alter CXXFLAGS to turn off any optimization (Automake will
-# warn against this, but that's OK).
+# when oln.m4 is available in the distribution, instead of using the
+# set-by-hand TESTS_CXXFLAGS.
TESTS_CXXFLAGS = @TESTS_CXXFLAGS@
-CXXFLAGS += $(TESTS_CXXFLAGS)
+AM_CXXFLAGS = $(TESTS_CXXFLAGS)
+
check_PROGRAMS = \
io_pnm
Index: olena/tests/core/Makefile.am
--- olena/tests/core/Makefile.am (revision 689)
+++ olena/tests/core/Makefile.am (working copy)
@@ -12,11 +12,11 @@
#
# AM_CXXFLAGS = $(CXXFLAGS_STRICT) $(CXXFLAGS_DEBUG)
#
-# when oln.m4 is available in the distribution.
-# Meanwhile, alter CXXFLAGS to turn off any optimization (Automake will
-# warn against this, but that's OK).
+# when oln.m4 is available in the distribution, instead of using the
+# set-by-hand TESTS_CXXFLAGS.
TESTS_CXXFLAGS = @TESTS_CXXFLAGS@
-CXXFLAGS += $(TESTS_CXXFLAGS)
+AM_CXXFLAGS = $(TESTS_CXXFLAGS)
+
check_PROGRAMS = \
dpoint2d \
Index: olena/tests/algorithms/Makefile.am
--- olena/tests/algorithms/Makefile.am (revision 689)
+++ olena/tests/algorithms/Makefile.am (working copy)
@@ -16,11 +16,11 @@
#
# AM_CXXFLAGS = $(CXXFLAGS_STRICT) $(CXXFLAGS_DEBUG)
#
-# when oln.m4 is available in the distribution.
-# Meanwhile, alter CXXFLAGS to turn off any optimization (Automake will
-# warn against this, but that's OK).
+# when oln.m4 is available in the distribution, instead of using the
+# set-by-hand TESTS_CXXFLAGS.
TESTS_CXXFLAGS = @TESTS_CXXFLAGS@
-CXXFLAGS += $(TESTS_CXXFLAGS)
+AM_CXXFLAGS = $(TESTS_CXXFLAGS)
+
check_PROGRAMS = \
fill
Index: olena/tests/value/Makefile.am
--- olena/tests/value/Makefile.am (revision 689)
+++ olena/tests/value/Makefile.am (working copy)
@@ -12,11 +12,11 @@
#
# AM_CXXFLAGS = $(CXXFLAGS_STRICT) $(CXXFLAGS_DEBUG)
#
-# when oln.m4 is available in the distribution.
-# Meanwhile, alter CXXFLAGS to turn off any optimization (Automake will
-# warn against this, but that's OK).
+# when oln.m4 is available in the distribution, instead of using the
+# set-by-hand TESTS_CXXFLAGS.
TESTS_CXXFLAGS = @TESTS_CXXFLAGS@
-CXXFLAGS += $(TESTS_CXXFLAGS)
+AM_CXXFLAGS = $(TESTS_CXXFLAGS)
+
check_PROGRAMS = \
accessor \
Index: olena/ChangeLog
--- olena/ChangeLog (revision 689)
+++ olena/ChangeLog (working copy)
@@ -1,3 +1,10 @@
+2006-10-31 Roland Levillain <roland(a)lrde.epita.fr>
+
+ * tests/algorithms/Makefile.am, tests/core/Makefile.am,
+ * tests/io/Makefile.am, tests/morphers/Makefile.am,
+ * tests/value/Makefile.am, tests/value/Makefile.am:
+ Alter AM_CXXFLAGS instead of CXXFLAGS.
+
2006-10-27 Roland Levillain <roland(a)lrde.epita.fr>
Various fixes.
https://svn.lrde.epita.fr/svn/oln/trunk
Index: ChangeLog
from Roland Levillain <roland(a)lrde.epita.fr>
* TODO: Update.
TODO | 62 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 62 insertions(+)
Index: TODO
--- TODO (revision 688)
+++ TODO (working copy)
@@ -1,6 +1,68 @@
See also the TODO in oln-proto-1.0 and oln-proto-stl-style.
+* Clean up
+
+** Separate interface from implementation
+Move the contents of each block surrounded by OLN_INCLUDE_ONLY into a
+.hxx file. Don't forget to keep the #ifndef/#endif directives, and to
+comment the closing #endif. Hence, this:
+
+ // ------------------------------------------------------------
+ // foo.hh
+ #ifndef FOO_HH
+ # define FOO_HH
+
+ // (Interface.)
+
+ # ifndef OLN_INCLUDE_ONLY
+
+ // (Implementation.)
+
+ # endif
+
+ #endif // ! FOO_HH
+ // ------------------------------------------------------------
+
+should be turned into these:
+
+ // ------------------------------------------------------------
+ // foo.hh
+ #ifndef FOO_HH
+ # define FOO_HH
+
+ // (Interface.)
+
+ # ifndef OLN_INCLUDE_ONLY
+ # include <foo.hxx>
+ # endif
+
+ #endif // ! FOO_HH
+ // ------------------------------------------------------------
+
+ // ------------------------------------------------------------
+ // foo.hxx
+ #ifndef FOO_HXX
+ # define FOO_HXX
+
+ // (Implementation.)
+
+ #endif // ! FOO_HXX
+ // ------------------------------------------------------------
+
+
+(BTW, I (Roland) think that OLN_INTERFACE_ONLY would be more
+appropriate than OLN_INCLUDE_ONLY.)
+
+
+** Update the address of the FSF in Copyright notices (write a script)
+
+** Check dates for every copyright header
+Use the repository of Olena 0.10 (and previous) and Olena proto-1.0 to
+find when files have been created and modified. This task could be a
+part of the code review process.
+
+
* Release process
This is to be done later, before the release of the whole project or
of one or some of its components.
2006-10-25 Thierry GERAUD <theo(a)tegucigalpa.lrde.epita.fr>
Oops.
* oln/value/two_way.hh: New.
Index: oln/value/two_way.hh
===================================================================
--- oln/value/two_way.hh (revision 0)
+++ oln/value/two_way.hh (revision 0)
@@ -0,0 +1,81 @@
+// Copyright (C) 2006 EPITA Research and Development Laboratory
+//
+// This file is part of the Olena Library. This library is free
+// software; you can redistribute it and/or modify it under the terms
+// of the GNU General Public License version 2 as published by the
+// Free Software Foundation.
+//
+// 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
+// General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this library; see the file COPYING. If not, write to
+// the Free Software Foundation, 51 Franklin Street, Fifth Floor,
+// Boston, MA 02111-1307, USA.
+//
+// As a special exception, you may use this file as part of a free
+// software library without restriction. Specifically, if other files
+// instantiate templates or use macros or inline functions from this
+// file, or you compile this file and link it with other files to
+// produce an executable, this file does not by itself cause the
+// resulting executable to be covered by the GNU General Public
+// License. This exception does not however invalidate any other
+// reasons why the executable file might be covered by the GNU General
+// Public License.
+
+#ifndef OLN_CORE_VALUE_TWO_WAY_HH
+# define OLN_CORE_VALUE_TWO_WAY_HH
+
+# include <iostream>
+# include <oln/value/proxy.hh>
+# include <oln/core/abstract/functions.hh>
+
+
+namespace oln
+{
+
+ namespace value
+ {
+
+ template <typename I, typename F>
+ class two_way : public abstract::proxy< two_way<I,F> >
+ {
+ public:
+
+ typedef oln_value(I) value_type;
+
+ // Ctor.
+ two_way(I& ima,
+ F fun,
+ const oln_psite(I)& p);
+
+ // Read.
+ template <typename V>
+ operator V() const;
+
+ // Explicit read.
+ typename F::result_type value() const;
+
+ // Write.
+ template <typename V>
+ two_way<I,F>& operator=(const V& value);
+
+ protected:
+ I ima_;
+ F fun_;
+ const oln_psite(I)& p_;
+ };
+
+
+ template <typename I, typename F>
+ std::ostream& operator<<(std::ostream& ostr, const two_way<I,F>& proxy);
+
+
+ } // end of namespace oln::value
+
+} // end of namespace oln
+
+
+#endif // ! OLN_CORE_VALUE_TWO_WAY_HH