diff --git a/trunk/ChangeLog b/trunk/ChangeLog
index d5ab690..7649b0d 100644
--- a/trunk/ChangeLog
+++ b/trunk/ChangeLog
@@ -1,9 +1,75 @@
-Mon Mar 13 22:20:46 2006 Google Inc.
+Thu Jan 24 16:09:43 2008 Google Inc.
- * ctemplate: initial release:
- The ctemplate package contains a library implementing a simple
- but powerful template language for C++. It emphasizes
+ * ctemplate: version 0.9 release
+ * Bugfix: now we honor "preserve newlines in javacript" (ktl)
+ * Fix indentation of included templates (csilvers)
+ * Deprecate the SetEscaped* methods in favor of modifiers (csilvers)
+ * Revamp the way template modifiers are registered (csilvers)
+ * Change the psuedo-name of main section from __MAIN__ to __{{MAIN}}__
+ * Fix types to quiet windows compiler (csilvers)
+ * Allow infile and outfile for template-converter (ambrose)
+ * Some doc fixes
+
+Thu Aug 16 21:42:55 2007 Google Inc.
+
+ * ctemplate: version 0.8 release
+ * Add the ability to dynamically add modifiers (ribrdb)
+ * Support per-Expand() data for template modifiers (ribrdb)
+ * New commandline flag -f for make_tpl_varnames_h (herbertc)
+ * Windows: give debug dll and release dll different names (csilvers)
+ * A few fixups of Windows includes, based on user reports (csilvers)
+
+Tue Jul 3 12:46:59 2007 Google Inc.
+
+ * ctemplate: version 0.7 release
+ * Bugfix: another lock hygiene fix, for recursive includes (csilvers)
+ * Minor type-hygiene improvements: size_t for int, etc. (csilvers)
+ * Porting improvements: tests pass on OS X, FreeBSD, Solaris (csilvers)
+ * Windows port! -- VS solution provided for all unittests (csilvers)
+
+Thu Jun 21 14:02:32 2007 Google Inc.
+
+ * ctemplate: version 0.6.1 release
+ * Bugfix: data corruption bug with >2 template modifiers (jmacgill)
+ * Bugfix: syntax error in template-namelist: configure-bug (csilvers)
+ * Bugfix: improve lock hygiene to avoid potential deadlock (csilvers)
+
+Sat Jun 9 22:34:52 2007 Google Inc.
+
+ * ctemplate: version 0.6 release
+ * Use computed includes for hash_map/set: easier config (csilvers)
+ * Added all used .m4 templates to the distribution (csilvers)
+ * Beefed-up and revamped modifier code (csilvers)
+ * New modifiers for url-escaping, attribute-cleansing, etc (ribrdb)
+ * Annotations now include modifier information (csilvers)
+ * Support embedded NULs in template names and values (csilvers)
+
+Mon May 14 17:27:10 2007 Google Inc.
+
+ * ctemplate: version 0.5 release
+ * Add new MakeCopy() method to copy template dictionaries (csilvers)
+ * Add JSON-escaping (mikepurvis)
+ * Internal change that should ease thread-handling a bit (csilvers)
+ * Fix url_query_escape to avoid stack overflow (csilvers)
+
+Mon Jan 15 14:10:42 2007 Google Inc.
+
+ * ctemplate: version 0.4 release
+ * Improve html-escaping by adding single-quote (bdangelo)
+ * Improve javascript-escaping by adding more characters too (smknappy)
+ * Add url-escaping, for url query parameters (dcoker)
+ * Add support for "pre" escaping, which preserves whitespace (dboswell)
+ * Typo fixes in documentation (csilvers)
+ * Expand() returns false if a template file failed to load (jmittleman)
+
+Mon Aug 21 17:44:32 2006 Google Inc.
+
+ * ctemplate: version 0.3 release
+ * New contrib/ directory entry: vi syntax highlighting (patlac)
+ * New contrib/ directory entry: emacs syntax highlighting (tonyg)
+ * Allow escape-modifiers to affect includes, not just vars (csilvers)
separating logic from presentation.
+ * Add JSON escape-functor (majewski)
Wed Jun 14 14:56:04 2006 Google Inc.
@@ -16,62 +82,8 @@ Wed Jun 14 14:56:04 2006 Google Inc.
* Export a nothreads version of the ctemplate library (csilvers)
* Got rid of scandir call, which should improve portability (csilvers)
-Mon Aug 21 17:44:32 2006 Google Inc.
+Mon Mar 13 22:20:46 2006 Google Inc.
- * ctemplate: version 0.3 release
- * New contrib/ directory entry: vi syntax highlighting (patlac)
- * New contrib/ directory entry: emacs syntax highlighting (tonyg)
- * Allow escape-modifiers to affect includes, not just vars (csilvers)
- * Add JSON escape-functor (majewski)
-
-Mon Jan 15 14:10:42 2007 Google Inc.
-
- * ctemplate: version 0.4 release
- * Improve html-escaping by adding single-quote (bdangelo)
- * Improve javascript-escaping by adding more characters too (smknappy)
- * Add url-escaping, for url query parameters (dcoker)
- * Add support for "pre" escaping, which preserves whitespace (dboswell)
- * Typo fixes in documentation (csilvers)
- * Expand() returns false if a template file failed to load (jmittleman)
-
-Mon May 14 17:27:10 2007 Google Inc.
-
- * ctemplate: version 0.5 release
- * Add new MakeCopy() method to copy template dictionaries (csilvers)
- * Add JSON-escaping (mikepurvis)
- * Internal change that should ease thread-handling a bit (csilvers)
- * Fix url_query_escape to avoid stack overflow (csilvers)
-
-Sat Jun 9 22:34:52 2007 Google Inc.
-
- * ctemplate: version 0.6 release
- * Use computed includes for hash_map/set: easier config (csilvers)
- * Added all used .m4 templates to the distribution (csilvers)
- * Beefed-up and revamped modifier code (csilvers)
- * New modifiers for url-escaping, attribute-cleansing, etc (ribrdb)
- * Annotations now include modifier information (csilvers)
- * Support embedded NULs in template names and values (csilvers)
-
-Thu Jun 21 14:02:32 2007 Google Inc.
-
- * ctemplate: version 0.6.1 release
- * Bugfix: data corruption bug with >2 template modifiers (jmacgill)
- * Bugfix: syntax error in template-namelist: configure-bug (csilvers)
- * Bugfix: improve lock hygiene to avoid potential deadlock (csilvers)
-
-Tue Jul 3 12:46:59 2007 Google Inc.
-
- * ctemplate: version 0.7 release
- * Bugfix: another lock hygiene fix, for recursive includes (csilvers)
- * Minor type-hygiene improvements: size_t for int, etc. (csilvers)
- * Porting improvements: tests pass on OS X, FreeBSD, Solaris (csilvers)
- * Windows port! -- VS solution provided for all unittests (csilvers)
-
-Thu Aug 16 21:42:55 2007 Google Inc.
-
- * ctemplate: version 0.8 release
- * Add the ability to dynamically add modifiers (ribrdb)
- * Support per-Expand() data for template modifiers (ribrdb)
- * New commandline flag -f for make_tpl_varnames_h (herbertc)
- * Windows: give debug dll and release dll different names (csilvers)
- * A few fixups of Windows includes, based on user reports (csilvers)
+ * ctemplate: initial release:
+ The ctemplate package contains a library implementing a simple
+ but powerful template language for C++. It emphasizes
diff --git a/trunk/Makefile.am b/trunk/Makefile.am
index 68b49cc..24cddf1 100644
--- a/trunk/Makefile.am
+++ b/trunk/Makefile.am
@@ -93,6 +93,17 @@ libctemplate_nothreads_la_SOURCES = $(libctemplate_la_SOURCES)
libctemplate_nothreads_la_CXXFLAGS = -DNDEBUG -DNO_THREADS $(AM_CXXFLAGS)
libctemplate_nothreads_la_LDFLAGS = -export-symbols-regex $(CTEMPLATE_SYMBOLS)
+# For our tests, we want versions of these libraries that include asserts.
+noinst_LTLIBRARIES += libctemplate_debug.la
+libctemplate_debug_la_SOURCES = $(libctemplate_la_SOURCES)
+libctemplate_debug_la_CXXFLAGS = $(PTHREAD_CFLAGS) $(AM_CXXFLAGS)
+libctemplate_debug_la_LDFLAGS = $(libctemplate_la_LDFLAGS)
+libctemplate_debug_la_LIBADD = $(libctemplate_la_LIBADD)
+noinst_LTLIBRARIES += libctemplate_nothreads_debug.la
+libctemplate_nothreads_debug_la_SOURCES = $(libctemplate_nothreads_la_SOURCES)
+libctemplate_nothreads_debug_la_CXXFLAGS = -DNO_THREADS $(AM_CXXFLAGS)
+libctemplate_nothreads_debug_la_LDFLAGS = $(libctemplate_nothreads_la_LDFLAGS)
+
# We could also make a library that has the TemplateDictionaryPeer
# class. This class is useful for testing (it provides introspection
# on the TemplateDictionary hierarchy that's easier to use than the
@@ -106,7 +117,7 @@ noinst_LTLIBRARIES += libctemplate_testing.la
libctemplate_testing_la_SOURCES = $(googleinclude_HEADERS) \
src/tests/template_test_util.h \
src/tests/template_test_util.cc
-libctemplate_testing_la_CXXFLAGS = -DNDEBUG $(AM_CXXFLAGS)
+libctemplate_testing_la_CXXFLAGS = $(AM_CXXFLAGS)
CTEMPLATE_TESTING_SYMBOLS = 'TemporaryRegisterTemplate|TemplateDictionaryPeer'
libctemplate_testing_la_LDFLAGS = -export-symbols-regex $(CTEMPLATE_TESTING_SYMBOLS)
# This library depends on libctemplate, but it can use either libctemplate
@@ -134,12 +145,13 @@ template_dictionary_unittest_SOURCES = src/config_for_unittests.h \
src/tests/template_dictionary_unittest.cc
template_dictionary_unittest_CXXFLAGS = $(PTHREAD_CFLAGS) $(AM_CXXFLAGS)
template_dictionary_unittest_LDFLAGS = $(PTHREAD_CFLAGS)
-template_dictionary_unittest_LDADD = libctemplate.la libctemplate_testing.la \
+template_dictionary_unittest_LDADD = libctemplate_testing.la libctemplate_debug.la \
$(PTHREAD_LIBS)
template_dictionary_nothreads_unittest_SOURCES = $(template_dictionary_unittest_SOURCES)
template_dictionary_nothreads_unittest_CXXFLAGS = -DNO_THREADS $(AM_CXXFLAGS)
-template_dictionary_nothreads_unittest_LDADD = libctemplate_nothreads.la \
- libctemplate_testing.la
+template_dictionary_nothreads_unittest_LDADD = libctemplate_testing.la \
+ libctemplate_nothreads_debug.la
+
TESTS += template_modifiers_unittest template_modifiers_nothreads_unittest
WINDOWS_PROJECTS += vsprojects/template_modifiers_unittest/template_modifiers_unittest.vcproj
@@ -147,12 +159,12 @@ template_modifiers_unittest_SOURCES = src/config_for_unittests.h \
src/tests/template_modifiers_unittest.cc
template_modifiers_unittest_CXXFLAGS = $(PTHREAD_CFLAGS) $(AM_CXXFLAGS)
template_modifiers_unittest_LDFLAGS = $(PTHREAD_CFLAGS)
-template_modifiers_unittest_LDADD = libctemplate.la libctemplate_testing.la \
+template_modifiers_unittest_LDADD = libctemplate_testing.la libctemplate_debug.la \
$(PTHREAD_LIBS)
template_modifiers_nothreads_unittest_SOURCES = $(template_modifiers_unittest_SOURCES)
template_modifiers_nothreads_unittest_CXXFLAGS = -DNO_THREADS $(AM_CXXFLAGS)
-template_modifiers_nothreads_unittest_LDADD = libctemplate_nothreads.la \
- libctemplate_testing.la
+template_modifiers_nothreads_unittest_LDADD = libctemplate_testing.la \
+ libctemplate_nothreads_debug.la
TESTS += template_setglobals_unittest template_setglobals_nothreads_unittest
WINDOWS_PROJECTS += vsprojects/template_setglobals_unittest/template_setglobals_unittest.vcproj
@@ -160,10 +172,10 @@ template_setglobals_unittest_SOURCES = src/config_for_unittests.h \
src/tests/template_setglobals_unittest.cc
template_setglobals_unittest_CXXFLAGS = $(PTHREAD_CFLAGS) $(AM_CXXFLAGS)
template_setglobals_unittest_LDFLAGS = $(PTHREAD_CFLAGS)
-template_setglobals_unittest_LDADD = libctemplate.la $(PTHREAD_LIBS)
+template_setglobals_unittest_LDADD = libctemplate_debug.la $(PTHREAD_LIBS)
template_setglobals_nothreads_unittest_SOURCES = $(template_setglobals_unittest_SOURCES)
template_setglobals_nothreads_unittest_CXXFLAGS = -DNO_THREADS $(AM_CXXFLAGS)
-template_setglobals_nothreads_unittest_LDADD = libctemplate_nothreads.la
+template_setglobals_nothreads_unittest_LDADD = libctemplate_nothreads_debug.la
TESTS += template_from_string_unittest template_from_string_nothreads_unittest
WINDOWS_PROJECTS += vsprojects/template_from_string_unittest/template_from_string_unittest.vcproj
@@ -171,10 +183,10 @@ template_from_string_unittest_SOURCES = src/config_for_unittests.h \
src/tests/template_from_string_unittest.cc
template_from_string_unittest_CXXFLAGS = $(PTHREAD_CFLAGS) $(AM_CXXFLAGS)
template_from_string_unittest_LDFLAGS = $(PTHREAD_CFLAGS)
-template_from_string_unittest_LDADD = libctemplate.la $(PTHREAD_LIBS)
+template_from_string_unittest_LDADD = libctemplate_debug.la $(PTHREAD_LIBS)
template_from_string_nothreads_unittest_SOURCES = $(template_from_string_unittest_SOURCES)
template_from_string_nothreads_unittest_CXXFLAGS = -DNO_THREADS $(AM_CXXFLAGS)
-template_from_string_nothreads_unittest_LDADD = libctemplate_nothreads.la
+template_from_string_nothreads_unittest_LDADD = libctemplate_nothreads_debug.la
TESTS += template_unittest template_nothreads_unittest
WINDOWS_PROJECTS += vsprojects/template_unittest/template_unittest.vcproj
@@ -183,20 +195,20 @@ template_unittest_SOURCES = src/config_for_unittests.h \
src/tests/template_unittest.cc
template_unittest_CXXFLAGS = $(PTHREAD_CFLAGS) $(AM_CXXFLAGS)
template_unittest_LDFLAGS = $(PTHREAD_CFLAGS)
-template_unittest_LDADD = libctemplate.la $(PTHREAD_LIBS)
+template_unittest_LDADD = libctemplate_debug.la $(PTHREAD_LIBS)
template_nothreads_unittest_SOURCES = src/tests/template_unittest.cc
template_nothreads_unittest_CXXFLAGS = -DNO_THREADS $(AM_CXXFLAGS)
-template_nothreads_unittest_LDADD = libctemplate_nothreads.la
+template_nothreads_unittest_LDADD = libctemplate_nothreads_debug.la
TESTS += template_regtest template_nothreads_regtest
WINDOWS_PROJECTS += vsprojects/template_regtest/template_regtest.vcproj
template_regtest_SOURCES = src/tests/template_regtest.cc
template_regtest_CXXFLAGS = $(PTHREAD_CFLAGS) $(AM_CXXFLAGS)
template_regtest_LDFLAGS = $(PTHREAD_CFLAGS)
-template_regtest_LDADD = libctemplate.la $(PTHREAD_LIBS)
+template_regtest_LDADD = libctemplate_debug.la $(PTHREAD_LIBS)
template_nothreads_regtest_SOURCES = $(template_regtest_SOURCES)
template_nothreads_regtest_CXXFLAGS = -DNO_THREADS $(AM_CXXFLAGS)
-template_nothreads_regtest_LDADD = libctemplate_nothreads.la
+template_nothreads_regtest_LDADD = libctemplate_nothreads_debug.la
make_tpl_varnames_h_unittest_sh: $(top_srcdir)/src/tests/make_tpl_varnames_h_unittest.sh \
make_tpl_varnames_h
diff --git a/trunk/Makefile.in b/trunk/Makefile.in
index 60c8dbe..12bcac1 100644
--- a/trunk/Makefile.in
+++ b/trunk/Makefile.in
@@ -95,17 +95,40 @@ am_libctemplate_la_OBJECTS = libctemplate_la-arena.lo \
libctemplate_la-template_pathops.lo \
libctemplate_la-template_from_string.lo
libctemplate_la_OBJECTS = $(am_libctemplate_la_OBJECTS)
+am__DEPENDENCIES_2 = $(am__DEPENDENCIES_1)
+libctemplate_debug_la_DEPENDENCIES = $(am__DEPENDENCIES_2)
+am__objects_1 = libctemplate_debug_la-arena.lo \
+ libctemplate_debug_la-template.lo \
+ libctemplate_debug_la-template_dictionary.lo \
+ libctemplate_debug_la-template_modifiers.lo \
+ libctemplate_debug_la-template_namelist.lo \
+ libctemplate_debug_la-template_pathops.lo \
+ libctemplate_debug_la-template_from_string.lo
+am_libctemplate_debug_la_OBJECTS = $(am__objects_1)
+libctemplate_debug_la_OBJECTS = $(am_libctemplate_debug_la_OBJECTS)
libctemplate_nothreads_la_LIBADD =
-am__objects_1 = libctemplate_nothreads_la-arena.lo \
+am__objects_2 = libctemplate_nothreads_la-arena.lo \
libctemplate_nothreads_la-template.lo \
libctemplate_nothreads_la-template_dictionary.lo \
libctemplate_nothreads_la-template_modifiers.lo \
libctemplate_nothreads_la-template_namelist.lo \
libctemplate_nothreads_la-template_pathops.lo \
libctemplate_nothreads_la-template_from_string.lo
-am_libctemplate_nothreads_la_OBJECTS = $(am__objects_1)
+am_libctemplate_nothreads_la_OBJECTS = $(am__objects_2)
libctemplate_nothreads_la_OBJECTS = \
$(am_libctemplate_nothreads_la_OBJECTS)
+libctemplate_nothreads_debug_la_LIBADD =
+am__objects_3 = libctemplate_nothreads_debug_la-arena.lo \
+ libctemplate_nothreads_debug_la-template.lo \
+ libctemplate_nothreads_debug_la-template_dictionary.lo \
+ libctemplate_nothreads_debug_la-template_modifiers.lo \
+ libctemplate_nothreads_debug_la-template_namelist.lo \
+ libctemplate_nothreads_debug_la-template_pathops.lo \
+ libctemplate_nothreads_debug_la-template_from_string.lo
+am__objects_4 = $(am__objects_3)
+am_libctemplate_nothreads_debug_la_OBJECTS = $(am__objects_4)
+libctemplate_nothreads_debug_la_OBJECTS = \
+ $(am_libctemplate_nothreads_debug_la_OBJECTS)
libctemplate_testing_la_LIBADD =
am_libctemplate_testing_la_OBJECTS = \
libctemplate_testing_la-template_test_util.lo
@@ -127,68 +150,72 @@ PROGRAMS = $(bin_PROGRAMS) $(noinst_PROGRAMS)
am_make_tpl_varnames_h_OBJECTS = make_tpl_varnames_h.$(OBJEXT)
make_tpl_varnames_h_OBJECTS = $(am_make_tpl_varnames_h_OBJECTS)
make_tpl_varnames_h_DEPENDENCIES = libctemplate_nothreads.la
-am__objects_2 = template_dictionary_nothreads_unittest-template_dictionary_unittest.$(OBJEXT)
-am_template_dictionary_nothreads_unittest_OBJECTS = $(am__objects_2)
+am__objects_5 = template_dictionary_nothreads_unittest-template_dictionary_unittest.$(OBJEXT)
+am_template_dictionary_nothreads_unittest_OBJECTS = $(am__objects_5)
template_dictionary_nothreads_unittest_OBJECTS = \
$(am_template_dictionary_nothreads_unittest_OBJECTS)
template_dictionary_nothreads_unittest_DEPENDENCIES = \
- libctemplate_nothreads.la libctemplate_testing.la
+ libctemplate_testing.la libctemplate_nothreads_debug.la
am_template_dictionary_unittest_OBJECTS = template_dictionary_unittest-template_dictionary_unittest.$(OBJEXT)
template_dictionary_unittest_OBJECTS = \
$(am_template_dictionary_unittest_OBJECTS)
-template_dictionary_unittest_DEPENDENCIES = libctemplate.la \
- libctemplate_testing.la $(am__DEPENDENCIES_1)
-am__objects_3 = template_from_string_nothreads_unittest-template_from_string_unittest.$(OBJEXT)
-am_template_from_string_nothreads_unittest_OBJECTS = $(am__objects_3)
+template_dictionary_unittest_DEPENDENCIES = libctemplate_testing.la \
+ libctemplate_debug.la $(am__DEPENDENCIES_1)
+am__objects_6 = template_from_string_nothreads_unittest-template_from_string_unittest.$(OBJEXT)
+am_template_from_string_nothreads_unittest_OBJECTS = $(am__objects_6)
template_from_string_nothreads_unittest_OBJECTS = \
$(am_template_from_string_nothreads_unittest_OBJECTS)
template_from_string_nothreads_unittest_DEPENDENCIES = \
- libctemplate_nothreads.la
+ libctemplate_nothreads_debug.la
am_template_from_string_unittest_OBJECTS = template_from_string_unittest-template_from_string_unittest.$(OBJEXT)
template_from_string_unittest_OBJECTS = \
$(am_template_from_string_unittest_OBJECTS)
-template_from_string_unittest_DEPENDENCIES = libctemplate.la \
+template_from_string_unittest_DEPENDENCIES = libctemplate_debug.la \
$(am__DEPENDENCIES_1)
-am__objects_4 = template_modifiers_nothreads_unittest-template_modifiers_unittest.$(OBJEXT)
-am_template_modifiers_nothreads_unittest_OBJECTS = $(am__objects_4)
+am__objects_7 = template_modifiers_nothreads_unittest-template_modifiers_unittest.$(OBJEXT)
+am_template_modifiers_nothreads_unittest_OBJECTS = $(am__objects_7)
template_modifiers_nothreads_unittest_OBJECTS = \
$(am_template_modifiers_nothreads_unittest_OBJECTS)
template_modifiers_nothreads_unittest_DEPENDENCIES = \
- libctemplate_nothreads.la libctemplate_testing.la
+ libctemplate_testing.la libctemplate_nothreads_debug.la
am_template_modifiers_unittest_OBJECTS = template_modifiers_unittest-template_modifiers_unittest.$(OBJEXT)
template_modifiers_unittest_OBJECTS = \
$(am_template_modifiers_unittest_OBJECTS)
-template_modifiers_unittest_DEPENDENCIES = libctemplate.la \
- libctemplate_testing.la $(am__DEPENDENCIES_1)
-am__objects_5 = template_nothreads_regtest-template_regtest.$(OBJEXT)
-am_template_nothreads_regtest_OBJECTS = $(am__objects_5)
+template_modifiers_unittest_DEPENDENCIES = libctemplate_testing.la \
+ libctemplate_debug.la $(am__DEPENDENCIES_1)
+am__objects_8 = template_nothreads_regtest-template_regtest.$(OBJEXT)
+am_template_nothreads_regtest_OBJECTS = $(am__objects_8)
template_nothreads_regtest_OBJECTS = \
$(am_template_nothreads_regtest_OBJECTS)
-template_nothreads_regtest_DEPENDENCIES = libctemplate_nothreads.la
+template_nothreads_regtest_DEPENDENCIES = \
+ libctemplate_nothreads_debug.la
am_template_nothreads_unittest_OBJECTS = \
template_nothreads_unittest-template_unittest.$(OBJEXT)
template_nothreads_unittest_OBJECTS = \
$(am_template_nothreads_unittest_OBJECTS)
-template_nothreads_unittest_DEPENDENCIES = libctemplate_nothreads.la
+template_nothreads_unittest_DEPENDENCIES = \
+ libctemplate_nothreads_debug.la
am_template_regtest_OBJECTS = \
template_regtest-template_regtest.$(OBJEXT)
template_regtest_OBJECTS = $(am_template_regtest_OBJECTS)
-template_regtest_DEPENDENCIES = libctemplate.la $(am__DEPENDENCIES_1)
-am__objects_6 = template_setglobals_nothreads_unittest-template_setglobals_unittest.$(OBJEXT)
-am_template_setglobals_nothreads_unittest_OBJECTS = $(am__objects_6)
+template_regtest_DEPENDENCIES = libctemplate_debug.la \
+ $(am__DEPENDENCIES_1)
+am__objects_9 = template_setglobals_nothreads_unittest-template_setglobals_unittest.$(OBJEXT)
+am_template_setglobals_nothreads_unittest_OBJECTS = $(am__objects_9)
template_setglobals_nothreads_unittest_OBJECTS = \
$(am_template_setglobals_nothreads_unittest_OBJECTS)
template_setglobals_nothreads_unittest_DEPENDENCIES = \
- libctemplate_nothreads.la
+ libctemplate_nothreads_debug.la
am_template_setglobals_unittest_OBJECTS = template_setglobals_unittest-template_setglobals_unittest.$(OBJEXT)
template_setglobals_unittest_OBJECTS = \
$(am_template_setglobals_unittest_OBJECTS)
-template_setglobals_unittest_DEPENDENCIES = libctemplate.la \
+template_setglobals_unittest_DEPENDENCIES = libctemplate_debug.la \
$(am__DEPENDENCIES_1)
am_template_unittest_OBJECTS = \
template_unittest-template_unittest.$(OBJEXT)
template_unittest_OBJECTS = $(am_template_unittest_OBJECTS)
-template_unittest_DEPENDENCIES = libctemplate.la $(am__DEPENDENCIES_1)
+template_unittest_DEPENDENCIES = libctemplate_debug.la \
+ $(am__DEPENDENCIES_1)
binSCRIPT_INSTALL = $(INSTALL_SCRIPT)
SCRIPTS = $(bin_SCRIPTS) $(noinst_SCRIPTS)
DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)/src
@@ -210,8 +237,9 @@ LTCOMPILE = $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) \
CCLD = $(CC)
LINK = $(LIBTOOL) --tag=CC --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
$(AM_LDFLAGS) $(LDFLAGS) -o $@
-SOURCES = $(libctemplate_la_SOURCES) \
+SOURCES = $(libctemplate_la_SOURCES) $(libctemplate_debug_la_SOURCES) \
$(libctemplate_nothreads_la_SOURCES) \
+ $(libctemplate_nothreads_debug_la_SOURCES) \
$(libctemplate_testing_la_SOURCES) \
$(make_tpl_varnames_h_SOURCES) \
$(template_dictionary_nothreads_unittest_SOURCES) \
@@ -227,7 +255,9 @@ SOURCES = $(libctemplate_la_SOURCES) \
$(template_setglobals_unittest_SOURCES) \
$(template_unittest_SOURCES)
DIST_SOURCES = $(libctemplate_la_SOURCES) \
+ $(libctemplate_debug_la_SOURCES) \
$(libctemplate_nothreads_la_SOURCES) \
+ $(libctemplate_nothreads_debug_la_SOURCES) \
$(libctemplate_testing_la_SOURCES) \
$(make_tpl_varnames_h_SOURCES) \
$(template_dictionary_nothreads_unittest_SOURCES) \
@@ -412,6 +442,8 @@ dist_doc_DATA = AUTHORS COPYING ChangeLog INSTALL NEWS README README.windows \
# because we use an extra compiler flag.
lib_LTLIBRARIES = libctemplate.la libctemplate_nothreads.la
+# For our tests, we want versions of these libraries that include asserts.
+
# We could also make a library that has the TemplateDictionaryPeer
# class. This class is useful for testing (it provides introspection
# on the TemplateDictionary hierarchy that's easier to use than the
@@ -420,7 +452,8 @@ lib_LTLIBRARIES = libctemplate.la libctemplate_nothreads.la
# We don't expose the library for now, until the demonstrated need
# outweighs the costs. If you'd like to use this library, please send
# mail to google-ctemplate@googlegroups.com!
-noinst_LTLIBRARIES = libctemplate_testing.la
+noinst_LTLIBRARIES = libctemplate_debug.la \
+ libctemplate_nothreads_debug.la libctemplate_testing.la
bin_SCRIPTS = src/template-converter
WINDOWS_PROJECTS = google-ctemplate.sln \
vsprojects/libctemplate/libctemplate.vcproj \
@@ -467,11 +500,18 @@ libctemplate_la_LIBADD = $(PTHREAD_LIBS)
libctemplate_nothreads_la_SOURCES = $(libctemplate_la_SOURCES)
libctemplate_nothreads_la_CXXFLAGS = -DNDEBUG -DNO_THREADS $(AM_CXXFLAGS)
libctemplate_nothreads_la_LDFLAGS = -export-symbols-regex $(CTEMPLATE_SYMBOLS)
+libctemplate_debug_la_SOURCES = $(libctemplate_la_SOURCES)
+libctemplate_debug_la_CXXFLAGS = $(PTHREAD_CFLAGS) $(AM_CXXFLAGS)
+libctemplate_debug_la_LDFLAGS = $(libctemplate_la_LDFLAGS)
+libctemplate_debug_la_LIBADD = $(libctemplate_la_LIBADD)
+libctemplate_nothreads_debug_la_SOURCES = $(libctemplate_nothreads_la_SOURCES)
+libctemplate_nothreads_debug_la_CXXFLAGS = -DNO_THREADS $(AM_CXXFLAGS)
+libctemplate_nothreads_debug_la_LDFLAGS = $(libctemplate_nothreads_la_LDFLAGS)
libctemplate_testing_la_SOURCES = $(googleinclude_HEADERS) \
src/tests/template_test_util.h \
src/tests/template_test_util.cc
-libctemplate_testing_la_CXXFLAGS = -DNDEBUG $(AM_CXXFLAGS)
+libctemplate_testing_la_CXXFLAGS = $(AM_CXXFLAGS)
CTEMPLATE_TESTING_SYMBOLS = 'TemporaryRegisterTemplate|TemplateDictionaryPeer'
libctemplate_testing_la_LDFLAGS = -export-symbols-regex $(CTEMPLATE_TESTING_SYMBOLS)
make_tpl_varnames_h_SOURCES = $(googleinclude_HEADERS) \
@@ -484,61 +524,61 @@ template_dictionary_unittest_SOURCES = src/config_for_unittests.h \
template_dictionary_unittest_CXXFLAGS = $(PTHREAD_CFLAGS) $(AM_CXXFLAGS)
template_dictionary_unittest_LDFLAGS = $(PTHREAD_CFLAGS)
-template_dictionary_unittest_LDADD = libctemplate.la libctemplate_testing.la \
+template_dictionary_unittest_LDADD = libctemplate_testing.la libctemplate_debug.la \
$(PTHREAD_LIBS)
template_dictionary_nothreads_unittest_SOURCES = $(template_dictionary_unittest_SOURCES)
template_dictionary_nothreads_unittest_CXXFLAGS = -DNO_THREADS $(AM_CXXFLAGS)
-template_dictionary_nothreads_unittest_LDADD = libctemplate_nothreads.la \
- libctemplate_testing.la
+template_dictionary_nothreads_unittest_LDADD = libctemplate_testing.la \
+ libctemplate_nothreads_debug.la
template_modifiers_unittest_SOURCES = src/config_for_unittests.h \
src/tests/template_modifiers_unittest.cc
template_modifiers_unittest_CXXFLAGS = $(PTHREAD_CFLAGS) $(AM_CXXFLAGS)
template_modifiers_unittest_LDFLAGS = $(PTHREAD_CFLAGS)
-template_modifiers_unittest_LDADD = libctemplate.la libctemplate_testing.la \
+template_modifiers_unittest_LDADD = libctemplate_testing.la libctemplate_debug.la \
$(PTHREAD_LIBS)
template_modifiers_nothreads_unittest_SOURCES = $(template_modifiers_unittest_SOURCES)
template_modifiers_nothreads_unittest_CXXFLAGS = -DNO_THREADS $(AM_CXXFLAGS)
-template_modifiers_nothreads_unittest_LDADD = libctemplate_nothreads.la \
- libctemplate_testing.la
+template_modifiers_nothreads_unittest_LDADD = libctemplate_testing.la \
+ libctemplate_nothreads_debug.la
template_setglobals_unittest_SOURCES = src/config_for_unittests.h \
src/tests/template_setglobals_unittest.cc
template_setglobals_unittest_CXXFLAGS = $(PTHREAD_CFLAGS) $(AM_CXXFLAGS)
template_setglobals_unittest_LDFLAGS = $(PTHREAD_CFLAGS)
-template_setglobals_unittest_LDADD = libctemplate.la $(PTHREAD_LIBS)
+template_setglobals_unittest_LDADD = libctemplate_debug.la $(PTHREAD_LIBS)
template_setglobals_nothreads_unittest_SOURCES = $(template_setglobals_unittest_SOURCES)
template_setglobals_nothreads_unittest_CXXFLAGS = -DNO_THREADS $(AM_CXXFLAGS)
-template_setglobals_nothreads_unittest_LDADD = libctemplate_nothreads.la
+template_setglobals_nothreads_unittest_LDADD = libctemplate_nothreads_debug.la
template_from_string_unittest_SOURCES = src/config_for_unittests.h \
src/tests/template_from_string_unittest.cc
template_from_string_unittest_CXXFLAGS = $(PTHREAD_CFLAGS) $(AM_CXXFLAGS)
template_from_string_unittest_LDFLAGS = $(PTHREAD_CFLAGS)
-template_from_string_unittest_LDADD = libctemplate.la $(PTHREAD_LIBS)
+template_from_string_unittest_LDADD = libctemplate_debug.la $(PTHREAD_LIBS)
template_from_string_nothreads_unittest_SOURCES = $(template_from_string_unittest_SOURCES)
template_from_string_nothreads_unittest_CXXFLAGS = -DNO_THREADS $(AM_CXXFLAGS)
-template_from_string_nothreads_unittest_LDADD = libctemplate_nothreads.la
+template_from_string_nothreads_unittest_LDADD = libctemplate_nothreads_debug.la
template_unittest_SOURCES = src/config_for_unittests.h \
src/tests/template_unittest.cc
template_unittest_CXXFLAGS = $(PTHREAD_CFLAGS) $(AM_CXXFLAGS)
template_unittest_LDFLAGS = $(PTHREAD_CFLAGS)
-template_unittest_LDADD = libctemplate.la $(PTHREAD_LIBS)
+template_unittest_LDADD = libctemplate_debug.la $(PTHREAD_LIBS)
template_nothreads_unittest_SOURCES = src/tests/template_unittest.cc
template_nothreads_unittest_CXXFLAGS = -DNO_THREADS $(AM_CXXFLAGS)
-template_nothreads_unittest_LDADD = libctemplate_nothreads.la
+template_nothreads_unittest_LDADD = libctemplate_nothreads_debug.la
template_regtest_SOURCES = src/tests/template_regtest.cc
template_regtest_CXXFLAGS = $(PTHREAD_CFLAGS) $(AM_CXXFLAGS)
template_regtest_LDFLAGS = $(PTHREAD_CFLAGS)
-template_regtest_LDADD = libctemplate.la $(PTHREAD_LIBS)
+template_regtest_LDADD = libctemplate_debug.la $(PTHREAD_LIBS)
template_nothreads_regtest_SOURCES = $(template_regtest_SOURCES)
template_nothreads_regtest_CXXFLAGS = -DNO_THREADS $(AM_CXXFLAGS)
-template_nothreads_regtest_LDADD = libctemplate_nothreads.la
+template_nothreads_regtest_LDADD = libctemplate_nothreads_debug.la
EXTRA_DIST = packages/rpm.sh packages/rpm/rpm.spec packages/deb.sh packages/deb \
$(SCRIPTS) libtool \
src/windows $(WINDOWS_PROJECTS) src/solaris/libstdc++.la contrib
@@ -651,8 +691,12 @@ clean-noinstLTLIBRARIES:
done
libctemplate.la: $(libctemplate_la_OBJECTS) $(libctemplate_la_DEPENDENCIES)
$(CXXLINK) -rpath $(libdir) $(libctemplate_la_LDFLAGS) $(libctemplate_la_OBJECTS) $(libctemplate_la_LIBADD) $(LIBS)
+libctemplate_debug.la: $(libctemplate_debug_la_OBJECTS) $(libctemplate_debug_la_DEPENDENCIES)
+ $(CXXLINK) $(libctemplate_debug_la_LDFLAGS) $(libctemplate_debug_la_OBJECTS) $(libctemplate_debug_la_LIBADD) $(LIBS)
libctemplate_nothreads.la: $(libctemplate_nothreads_la_OBJECTS) $(libctemplate_nothreads_la_DEPENDENCIES)
$(CXXLINK) -rpath $(libdir) $(libctemplate_nothreads_la_LDFLAGS) $(libctemplate_nothreads_la_OBJECTS) $(libctemplate_nothreads_la_LIBADD) $(LIBS)
+libctemplate_nothreads_debug.la: $(libctemplate_nothreads_debug_la_OBJECTS) $(libctemplate_nothreads_debug_la_DEPENDENCIES)
+ $(CXXLINK) $(libctemplate_nothreads_debug_la_LDFLAGS) $(libctemplate_nothreads_debug_la_OBJECTS) $(libctemplate_nothreads_debug_la_LIBADD) $(LIBS)
libctemplate_testing.la: $(libctemplate_testing_la_OBJECTS) $(libctemplate_testing_la_DEPENDENCIES)
$(CXXLINK) $(libctemplate_testing_la_LDFLAGS) $(libctemplate_testing_la_OBJECTS) $(libctemplate_testing_la_LIBADD) $(LIBS)
install-binPROGRAMS: $(bin_PROGRAMS)
@@ -755,6 +799,13 @@ mostlyclean-compile:
distclean-compile:
-rm -f *.tab.c
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libctemplate_debug_la-arena.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libctemplate_debug_la-template.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libctemplate_debug_la-template_dictionary.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libctemplate_debug_la-template_from_string.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libctemplate_debug_la-template_modifiers.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libctemplate_debug_la-template_namelist.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libctemplate_debug_la-template_pathops.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libctemplate_la-arena.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libctemplate_la-template.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libctemplate_la-template_dictionary.Plo@am__quote@
@@ -762,6 +813,13 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libctemplate_la-template_modifiers.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libctemplate_la-template_namelist.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libctemplate_la-template_pathops.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libctemplate_nothreads_debug_la-arena.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libctemplate_nothreads_debug_la-template.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libctemplate_nothreads_debug_la-template_dictionary.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libctemplate_nothreads_debug_la-template_from_string.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libctemplate_nothreads_debug_la-template_modifiers.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libctemplate_nothreads_debug_la-template_namelist.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libctemplate_nothreads_debug_la-template_pathops.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libctemplate_nothreads_la-arena.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libctemplate_nothreads_la-template.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libctemplate_nothreads_la-template_dictionary.Plo@am__quote@
@@ -854,6 +912,55 @@ libctemplate_la-template_from_string.lo: src/template_from_string.cc
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libctemplate_la_CXXFLAGS) $(CXXFLAGS) -c -o libctemplate_la-template_from_string.lo `test -f 'src/template_from_string.cc' || echo '$(srcdir)/'`src/template_from_string.cc
+libctemplate_debug_la-arena.lo: src/base/arena.cc
+@am__fastdepCXX_TRUE@ if $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libctemplate_debug_la_CXXFLAGS) $(CXXFLAGS) -MT libctemplate_debug_la-arena.lo -MD -MP -MF "$(DEPDIR)/libctemplate_debug_la-arena.Tpo" -c -o libctemplate_debug_la-arena.lo `test -f 'src/base/arena.cc' || echo '$(srcdir)/'`src/base/arena.cc; \
+@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/libctemplate_debug_la-arena.Tpo" "$(DEPDIR)/libctemplate_debug_la-arena.Plo"; else rm -f "$(DEPDIR)/libctemplate_debug_la-arena.Tpo"; exit 1; fi
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='src/base/arena.cc' object='libctemplate_debug_la-arena.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libctemplate_debug_la_CXXFLAGS) $(CXXFLAGS) -c -o libctemplate_debug_la-arena.lo `test -f 'src/base/arena.cc' || echo '$(srcdir)/'`src/base/arena.cc
+
+libctemplate_debug_la-template.lo: src/template.cc
+@am__fastdepCXX_TRUE@ if $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libctemplate_debug_la_CXXFLAGS) $(CXXFLAGS) -MT libctemplate_debug_la-template.lo -MD -MP -MF "$(DEPDIR)/libctemplate_debug_la-template.Tpo" -c -o libctemplate_debug_la-template.lo `test -f 'src/template.cc' || echo '$(srcdir)/'`src/template.cc; \
+@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/libctemplate_debug_la-template.Tpo" "$(DEPDIR)/libctemplate_debug_la-template.Plo"; else rm -f "$(DEPDIR)/libctemplate_debug_la-template.Tpo"; exit 1; fi
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='src/template.cc' object='libctemplate_debug_la-template.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libctemplate_debug_la_CXXFLAGS) $(CXXFLAGS) -c -o libctemplate_debug_la-template.lo `test -f 'src/template.cc' || echo '$(srcdir)/'`src/template.cc
+
+libctemplate_debug_la-template_dictionary.lo: src/template_dictionary.cc
+@am__fastdepCXX_TRUE@ if $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libctemplate_debug_la_CXXFLAGS) $(CXXFLAGS) -MT libctemplate_debug_la-template_dictionary.lo -MD -MP -MF "$(DEPDIR)/libctemplate_debug_la-template_dictionary.Tpo" -c -o libctemplate_debug_la-template_dictionary.lo `test -f 'src/template_dictionary.cc' || echo '$(srcdir)/'`src/template_dictionary.cc; \
+@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/libctemplate_debug_la-template_dictionary.Tpo" "$(DEPDIR)/libctemplate_debug_la-template_dictionary.Plo"; else rm -f "$(DEPDIR)/libctemplate_debug_la-template_dictionary.Tpo"; exit 1; fi
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='src/template_dictionary.cc' object='libctemplate_debug_la-template_dictionary.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libctemplate_debug_la_CXXFLAGS) $(CXXFLAGS) -c -o libctemplate_debug_la-template_dictionary.lo `test -f 'src/template_dictionary.cc' || echo '$(srcdir)/'`src/template_dictionary.cc
+
+libctemplate_debug_la-template_modifiers.lo: src/template_modifiers.cc
+@am__fastdepCXX_TRUE@ if $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libctemplate_debug_la_CXXFLAGS) $(CXXFLAGS) -MT libctemplate_debug_la-template_modifiers.lo -MD -MP -MF "$(DEPDIR)/libctemplate_debug_la-template_modifiers.Tpo" -c -o libctemplate_debug_la-template_modifiers.lo `test -f 'src/template_modifiers.cc' || echo '$(srcdir)/'`src/template_modifiers.cc; \
+@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/libctemplate_debug_la-template_modifiers.Tpo" "$(DEPDIR)/libctemplate_debug_la-template_modifiers.Plo"; else rm -f "$(DEPDIR)/libctemplate_debug_la-template_modifiers.Tpo"; exit 1; fi
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='src/template_modifiers.cc' object='libctemplate_debug_la-template_modifiers.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libctemplate_debug_la_CXXFLAGS) $(CXXFLAGS) -c -o libctemplate_debug_la-template_modifiers.lo `test -f 'src/template_modifiers.cc' || echo '$(srcdir)/'`src/template_modifiers.cc
+
+libctemplate_debug_la-template_namelist.lo: src/template_namelist.cc
+@am__fastdepCXX_TRUE@ if $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libctemplate_debug_la_CXXFLAGS) $(CXXFLAGS) -MT libctemplate_debug_la-template_namelist.lo -MD -MP -MF "$(DEPDIR)/libctemplate_debug_la-template_namelist.Tpo" -c -o libctemplate_debug_la-template_namelist.lo `test -f 'src/template_namelist.cc' || echo '$(srcdir)/'`src/template_namelist.cc; \
+@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/libctemplate_debug_la-template_namelist.Tpo" "$(DEPDIR)/libctemplate_debug_la-template_namelist.Plo"; else rm -f "$(DEPDIR)/libctemplate_debug_la-template_namelist.Tpo"; exit 1; fi
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='src/template_namelist.cc' object='libctemplate_debug_la-template_namelist.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libctemplate_debug_la_CXXFLAGS) $(CXXFLAGS) -c -o libctemplate_debug_la-template_namelist.lo `test -f 'src/template_namelist.cc' || echo '$(srcdir)/'`src/template_namelist.cc
+
+libctemplate_debug_la-template_pathops.lo: src/template_pathops.cc
+@am__fastdepCXX_TRUE@ if $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libctemplate_debug_la_CXXFLAGS) $(CXXFLAGS) -MT libctemplate_debug_la-template_pathops.lo -MD -MP -MF "$(DEPDIR)/libctemplate_debug_la-template_pathops.Tpo" -c -o libctemplate_debug_la-template_pathops.lo `test -f 'src/template_pathops.cc' || echo '$(srcdir)/'`src/template_pathops.cc; \
+@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/libctemplate_debug_la-template_pathops.Tpo" "$(DEPDIR)/libctemplate_debug_la-template_pathops.Plo"; else rm -f "$(DEPDIR)/libctemplate_debug_la-template_pathops.Tpo"; exit 1; fi
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='src/template_pathops.cc' object='libctemplate_debug_la-template_pathops.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libctemplate_debug_la_CXXFLAGS) $(CXXFLAGS) -c -o libctemplate_debug_la-template_pathops.lo `test -f 'src/template_pathops.cc' || echo '$(srcdir)/'`src/template_pathops.cc
+
+libctemplate_debug_la-template_from_string.lo: src/template_from_string.cc
+@am__fastdepCXX_TRUE@ if $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libctemplate_debug_la_CXXFLAGS) $(CXXFLAGS) -MT libctemplate_debug_la-template_from_string.lo -MD -MP -MF "$(DEPDIR)/libctemplate_debug_la-template_from_string.Tpo" -c -o libctemplate_debug_la-template_from_string.lo `test -f 'src/template_from_string.cc' || echo '$(srcdir)/'`src/template_from_string.cc; \
+@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/libctemplate_debug_la-template_from_string.Tpo" "$(DEPDIR)/libctemplate_debug_la-template_from_string.Plo"; else rm -f "$(DEPDIR)/libctemplate_debug_la-template_from_string.Tpo"; exit 1; fi
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='src/template_from_string.cc' object='libctemplate_debug_la-template_from_string.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libctemplate_debug_la_CXXFLAGS) $(CXXFLAGS) -c -o libctemplate_debug_la-template_from_string.lo `test -f 'src/template_from_string.cc' || echo '$(srcdir)/'`src/template_from_string.cc
+
libctemplate_nothreads_la-arena.lo: src/base/arena.cc
@am__fastdepCXX_TRUE@ if $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libctemplate_nothreads_la_CXXFLAGS) $(CXXFLAGS) -MT libctemplate_nothreads_la-arena.lo -MD -MP -MF "$(DEPDIR)/libctemplate_nothreads_la-arena.Tpo" -c -o libctemplate_nothreads_la-arena.lo `test -f 'src/base/arena.cc' || echo '$(srcdir)/'`src/base/arena.cc; \
@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/libctemplate_nothreads_la-arena.Tpo" "$(DEPDIR)/libctemplate_nothreads_la-arena.Plo"; else rm -f "$(DEPDIR)/libctemplate_nothreads_la-arena.Tpo"; exit 1; fi
@@ -903,6 +1010,55 @@ libctemplate_nothreads_la-template_from_string.lo: src/template_from_string.cc
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libctemplate_nothreads_la_CXXFLAGS) $(CXXFLAGS) -c -o libctemplate_nothreads_la-template_from_string.lo `test -f 'src/template_from_string.cc' || echo '$(srcdir)/'`src/template_from_string.cc
+libctemplate_nothreads_debug_la-arena.lo: src/base/arena.cc
+@am__fastdepCXX_TRUE@ if $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libctemplate_nothreads_debug_la_CXXFLAGS) $(CXXFLAGS) -MT libctemplate_nothreads_debug_la-arena.lo -MD -MP -MF "$(DEPDIR)/libctemplate_nothreads_debug_la-arena.Tpo" -c -o libctemplate_nothreads_debug_la-arena.lo `test -f 'src/base/arena.cc' || echo '$(srcdir)/'`src/base/arena.cc; \
+@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/libctemplate_nothreads_debug_la-arena.Tpo" "$(DEPDIR)/libctemplate_nothreads_debug_la-arena.Plo"; else rm -f "$(DEPDIR)/libctemplate_nothreads_debug_la-arena.Tpo"; exit 1; fi
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='src/base/arena.cc' object='libctemplate_nothreads_debug_la-arena.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libctemplate_nothreads_debug_la_CXXFLAGS) $(CXXFLAGS) -c -o libctemplate_nothreads_debug_la-arena.lo `test -f 'src/base/arena.cc' || echo '$(srcdir)/'`src/base/arena.cc
+
+libctemplate_nothreads_debug_la-template.lo: src/template.cc
+@am__fastdepCXX_TRUE@ if $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libctemplate_nothreads_debug_la_CXXFLAGS) $(CXXFLAGS) -MT libctemplate_nothreads_debug_la-template.lo -MD -MP -MF "$(DEPDIR)/libctemplate_nothreads_debug_la-template.Tpo" -c -o libctemplate_nothreads_debug_la-template.lo `test -f 'src/template.cc' || echo '$(srcdir)/'`src/template.cc; \
+@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/libctemplate_nothreads_debug_la-template.Tpo" "$(DEPDIR)/libctemplate_nothreads_debug_la-template.Plo"; else rm -f "$(DEPDIR)/libctemplate_nothreads_debug_la-template.Tpo"; exit 1; fi
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='src/template.cc' object='libctemplate_nothreads_debug_la-template.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libctemplate_nothreads_debug_la_CXXFLAGS) $(CXXFLAGS) -c -o libctemplate_nothreads_debug_la-template.lo `test -f 'src/template.cc' || echo '$(srcdir)/'`src/template.cc
+
+libctemplate_nothreads_debug_la-template_dictionary.lo: src/template_dictionary.cc
+@am__fastdepCXX_TRUE@ if $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libctemplate_nothreads_debug_la_CXXFLAGS) $(CXXFLAGS) -MT libctemplate_nothreads_debug_la-template_dictionary.lo -MD -MP -MF "$(DEPDIR)/libctemplate_nothreads_debug_la-template_dictionary.Tpo" -c -o libctemplate_nothreads_debug_la-template_dictionary.lo `test -f 'src/template_dictionary.cc' || echo '$(srcdir)/'`src/template_dictionary.cc; \
+@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/libctemplate_nothreads_debug_la-template_dictionary.Tpo" "$(DEPDIR)/libctemplate_nothreads_debug_la-template_dictionary.Plo"; else rm -f "$(DEPDIR)/libctemplate_nothreads_debug_la-template_dictionary.Tpo"; exit 1; fi
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='src/template_dictionary.cc' object='libctemplate_nothreads_debug_la-template_dictionary.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libctemplate_nothreads_debug_la_CXXFLAGS) $(CXXFLAGS) -c -o libctemplate_nothreads_debug_la-template_dictionary.lo `test -f 'src/template_dictionary.cc' || echo '$(srcdir)/'`src/template_dictionary.cc
+
+libctemplate_nothreads_debug_la-template_modifiers.lo: src/template_modifiers.cc
+@am__fastdepCXX_TRUE@ if $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libctemplate_nothreads_debug_la_CXXFLAGS) $(CXXFLAGS) -MT libctemplate_nothreads_debug_la-template_modifiers.lo -MD -MP -MF "$(DEPDIR)/libctemplate_nothreads_debug_la-template_modifiers.Tpo" -c -o libctemplate_nothreads_debug_la-template_modifiers.lo `test -f 'src/template_modifiers.cc' || echo '$(srcdir)/'`src/template_modifiers.cc; \
+@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/libctemplate_nothreads_debug_la-template_modifiers.Tpo" "$(DEPDIR)/libctemplate_nothreads_debug_la-template_modifiers.Plo"; else rm -f "$(DEPDIR)/libctemplate_nothreads_debug_la-template_modifiers.Tpo"; exit 1; fi
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='src/template_modifiers.cc' object='libctemplate_nothreads_debug_la-template_modifiers.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libctemplate_nothreads_debug_la_CXXFLAGS) $(CXXFLAGS) -c -o libctemplate_nothreads_debug_la-template_modifiers.lo `test -f 'src/template_modifiers.cc' || echo '$(srcdir)/'`src/template_modifiers.cc
+
+libctemplate_nothreads_debug_la-template_namelist.lo: src/template_namelist.cc
+@am__fastdepCXX_TRUE@ if $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libctemplate_nothreads_debug_la_CXXFLAGS) $(CXXFLAGS) -MT libctemplate_nothreads_debug_la-template_namelist.lo -MD -MP -MF "$(DEPDIR)/libctemplate_nothreads_debug_la-template_namelist.Tpo" -c -o libctemplate_nothreads_debug_la-template_namelist.lo `test -f 'src/template_namelist.cc' || echo '$(srcdir)/'`src/template_namelist.cc; \
+@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/libctemplate_nothreads_debug_la-template_namelist.Tpo" "$(DEPDIR)/libctemplate_nothreads_debug_la-template_namelist.Plo"; else rm -f "$(DEPDIR)/libctemplate_nothreads_debug_la-template_namelist.Tpo"; exit 1; fi
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='src/template_namelist.cc' object='libctemplate_nothreads_debug_la-template_namelist.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libctemplate_nothreads_debug_la_CXXFLAGS) $(CXXFLAGS) -c -o libctemplate_nothreads_debug_la-template_namelist.lo `test -f 'src/template_namelist.cc' || echo '$(srcdir)/'`src/template_namelist.cc
+
+libctemplate_nothreads_debug_la-template_pathops.lo: src/template_pathops.cc
+@am__fastdepCXX_TRUE@ if $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libctemplate_nothreads_debug_la_CXXFLAGS) $(CXXFLAGS) -MT libctemplate_nothreads_debug_la-template_pathops.lo -MD -MP -MF "$(DEPDIR)/libctemplate_nothreads_debug_la-template_pathops.Tpo" -c -o libctemplate_nothreads_debug_la-template_pathops.lo `test -f 'src/template_pathops.cc' || echo '$(srcdir)/'`src/template_pathops.cc; \
+@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/libctemplate_nothreads_debug_la-template_pathops.Tpo" "$(DEPDIR)/libctemplate_nothreads_debug_la-template_pathops.Plo"; else rm -f "$(DEPDIR)/libctemplate_nothreads_debug_la-template_pathops.Tpo"; exit 1; fi
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='src/template_pathops.cc' object='libctemplate_nothreads_debug_la-template_pathops.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libctemplate_nothreads_debug_la_CXXFLAGS) $(CXXFLAGS) -c -o libctemplate_nothreads_debug_la-template_pathops.lo `test -f 'src/template_pathops.cc' || echo '$(srcdir)/'`src/template_pathops.cc
+
+libctemplate_nothreads_debug_la-template_from_string.lo: src/template_from_string.cc
+@am__fastdepCXX_TRUE@ if $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libctemplate_nothreads_debug_la_CXXFLAGS) $(CXXFLAGS) -MT libctemplate_nothreads_debug_la-template_from_string.lo -MD -MP -MF "$(DEPDIR)/libctemplate_nothreads_debug_la-template_from_string.Tpo" -c -o libctemplate_nothreads_debug_la-template_from_string.lo `test -f 'src/template_from_string.cc' || echo '$(srcdir)/'`src/template_from_string.cc; \
+@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/libctemplate_nothreads_debug_la-template_from_string.Tpo" "$(DEPDIR)/libctemplate_nothreads_debug_la-template_from_string.Plo"; else rm -f "$(DEPDIR)/libctemplate_nothreads_debug_la-template_from_string.Tpo"; exit 1; fi
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='src/template_from_string.cc' object='libctemplate_nothreads_debug_la-template_from_string.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libctemplate_nothreads_debug_la_CXXFLAGS) $(CXXFLAGS) -c -o libctemplate_nothreads_debug_la-template_from_string.lo `test -f 'src/template_from_string.cc' || echo '$(srcdir)/'`src/template_from_string.cc
+
libctemplate_testing_la-template_test_util.lo: src/tests/template_test_util.cc
@am__fastdepCXX_TRUE@ if $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libctemplate_testing_la_CXXFLAGS) $(CXXFLAGS) -MT libctemplate_testing_la-template_test_util.lo -MD -MP -MF "$(DEPDIR)/libctemplate_testing_la-template_test_util.Tpo" -c -o libctemplate_testing_la-template_test_util.lo `test -f 'src/tests/template_test_util.cc' || echo '$(srcdir)/'`src/tests/template_test_util.cc; \
@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/libctemplate_testing_la-template_test_util.Tpo" "$(DEPDIR)/libctemplate_testing_la-template_test_util.Plo"; else rm -f "$(DEPDIR)/libctemplate_testing_la-template_test_util.Tpo"; exit 1; fi
diff --git a/trunk/configure b/trunk/configure
index 1cfe607..5de71ea 100755
--- a/trunk/configure
+++ b/trunk/configure
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.59 for ctemplate 0.8.
+# Generated by GNU Autoconf 2.59 for ctemplate 0.9.
#
# Report bugs to .
#
@@ -423,8 +423,8 @@ SHELL=${CONFIG_SHELL-/bin/sh}
# Identity of this package.
PACKAGE_NAME='ctemplate'
PACKAGE_TARNAME='ctemplate'
-PACKAGE_VERSION='0.8'
-PACKAGE_STRING='ctemplate 0.8'
+PACKAGE_VERSION='0.9'
+PACKAGE_STRING='ctemplate 0.9'
PACKAGE_BUGREPORT='opensource@google.com'
ac_unique_file="README"
@@ -954,7 +954,7 @@ if test "$ac_init_help" = "long"; then
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
-\`configure' configures ctemplate 0.8 to adapt to many kinds of systems.
+\`configure' configures ctemplate 0.9 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1020,7 +1020,7 @@ fi
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of ctemplate 0.8:";;
+ short | recursive ) echo "Configuration of ctemplate 0.9:";;
esac
cat <<\_ACEOF
@@ -1163,7 +1163,7 @@ fi
test -n "$ac_init_help" && exit 0
if $ac_init_version; then
cat <<\_ACEOF
-ctemplate configure 0.8
+ctemplate configure 0.9
generated by GNU Autoconf 2.59
Copyright (C) 2003 Free Software Foundation, Inc.
@@ -1177,7 +1177,7 @@ cat >&5 <<_ACEOF
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by ctemplate $as_me 0.8, which was
+It was created by ctemplate $as_me 0.9, which was
generated by GNU Autoconf 2.59. Invocation command line was
$ $0 $@
@@ -1823,7 +1823,7 @@ fi
# Define the identity of the package.
PACKAGE='ctemplate'
- VERSION='0.8'
+ VERSION='0.9'
cat >>confdefs.h <<_ACEOF
@@ -21044,7 +21044,7 @@ _ASBOX
} >&5
cat >&5 <<_CSEOF
-This file was extended by ctemplate $as_me 0.8, which was
+This file was extended by ctemplate $as_me 0.9, which was
generated by GNU Autoconf 2.59. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -21107,7 +21107,7 @@ _ACEOF
cat >>$CONFIG_STATUS <<_ACEOF
ac_cs_version="\\
-ctemplate config.status 0.8
+ctemplate config.status 0.9
configured by $0, generated by GNU Autoconf 2.59,
with options \\"`echo "$ac_configure_args" | sed 's/[\\""\`\$]/\\\\&/g'`\\"
diff --git a/trunk/configure.ac b/trunk/configure.ac
index 27e9c5b..7a85a51 100644
--- a/trunk/configure.ac
+++ b/trunk/configure.ac
@@ -4,7 +4,7 @@
# make sure we're interpreted by some minimal autoconf
AC_PREREQ(2.57)
-AC_INIT(ctemplate, 0.8, opensource@google.com)
+AC_INIT(ctemplate, 0.9, opensource@google.com)
# The argument here is just something that should be in the current directory
# (for sanity checking)
AC_CONFIG_SRCDIR(README)
diff --git a/trunk/doc/howto.html b/trunk/doc/howto.html
index 606743c..6f7cc51 100644
--- a/trunk/doc/howto.html
+++ b/trunk/doc/howto.html
@@ -326,7 +326,7 @@ previous one:
:json_escape
:o
json-escapes a variable before output as a string in json;
similar to javascript escaping, but ignores characters such
- as = and &.
+ as = and &.
:html_escape_with_arg
:H
@@ -345,11 +345,11 @@ previous one:
The html_escape_with_arg
and url_escape_with_arg modifiers are a bit different
-because they requires a value to specify the type of escaping to use.
+because they require a value to specify the type of escaping to use.
For example, this template is equivalent to using
the pre_escape modifier:
@@ -639,49 +647,18 @@ helper routines to help setting values of a few special forms.
SetIntValue(name, int): takes an int as the value.
-
SetEscapedValue(name, value, escape_functor):
- escapes the value, using the escape-functor, which takes a
- string as input and gives a "munged" string as output.
- TemplateDictionary has a few escape-functors built
- in, including html_escape, which replaces
- <, >, &, and
- " with the appropriate html entity;
- xml_escape, which deals with the
- entity; and
- javascript_escape, which escapes quotes and other
- characters that are meaningful to javascript. These are
- helpful in avoiding security holes when the template is
- html/xml/javascript. You can also define your own functor; see
- the example below.
SetFormattedValue(name, fmt, ...): the
fmt and ... work just like in
printf: SetFormattedValue("HOMEPAGE",
"http://%s/", hostname).
-
SetEscapedFormattedValue(name, escape_functor, fmt,
- ...): formats the value just like printf,
- and then escapes the result using the given functor.
Example:
google::TemplateDictionary* dict = new google::TemplateDictionary("var example");
dict->SetValue("FOOTER", "Aren't these great results?");
- class StarEscape : public template_modifiers::TemplateModifier {
- void Modify(const char* in, size_t inlen,
- const template_modifiers::ModifierData* per_expand_data,
- ExpandEmitter* outbuf, const string& arg) const {
- outbuf->Emit(string("*") + string(in, inlen) + string("*"));
- }
- };
- dict->SetEscapedValue("USERNAME", username, StarEscape());
-
Note that the template itself can also specify escaping via variable modifiers! It's very possible for you
-to escape the value when setting it in the dictionary, and then have
-the template escape it again when outputting, so be careful you escape
-only as much as you need to.
Sections are used in two ways in templates. One is to expand some
@@ -722,9 +699,7 @@ otherwise we wish to hide the section and show neither
SetValueAndShowSection(name, value, section_name) does
exactly that: if value is non-empty, add a single single dictionary to
section_name and call section_dict->AddValue(name,
-value). There's also SetEscapedValueAndShowSection(name,
-value, escape_functor, section_name), which lets you escape
-value.
+value).
Example:
@@ -754,8 +729,7 @@ value, escape_functor, section_name), which lets you escape
if (num_prev_searches > 0) {
for (int i = 0; i < num_prev_searches; ++i) {
TemplateDictionary* sub_dict = dict->AddSectionDictionary("PREV_SEARCHES");
- sub_dict->SetEscapedValue("PREV_SEARCH", prev_searches[i],
- TemplateDictionary::html_escape);
+ sub_dict->SetValue("PREV_SEARCH", prev_searches[i]);
}
}
@@ -809,7 +783,7 @@ secret-key is of course different every time you expand the
webpage.
To set data that the modifier can use, you call
-SetModifierData() on a TemplateDictionary.
+SetModifierData() on a TemplateDictionary.
For instance:
TemplateDictionary* dict = new TemplateDictionary("modifier example");
@@ -820,7 +794,7 @@ For instance:
Your custom modifier is passed all the ModifierData as one of the
arguments to Modify: see
-<google/template_modifiers.h> for more details.