1 2008-09-10 Benoit Sigoure <tsuna@lrde.epita.fr>
3 Handle Boost.System and adjust the code to handle the binary
6 Boost.Filesystem (and the libraries depending on it) now requires
7 Boost.System at link time. Boost.System was introduced in Boost 1.35
8 so we must only try to find it if the version at hand is >= 1.35.
9 * README: Add the new library and mention that BOOST_THREADS must be
10 invoked if Wave/Spirit is intended to be used with thread support.
11 * build-aux/boost.m4 (BOOST_REQUIRE): Define $boost_major_version.
12 (BOOST_FILESYSTEM): Also check for Boost.System if
13 $boost_major_version indicates we have Boost >= 1.35 at hand.
15 (BOOST_WAVE): Require Boost.Filesystem and Boost.DateTime.
16 * tests/testsuite.at: Add a test for BOOST_SYSTEM.
18 Bug reported by Daniel Herring with some code contributions of
19 Daniel Herring and Paul Balomiri.
21 2008-09-10 Benoit Sigoure <tsuna@lrde.epita.fr>
23 Properly find the debug variant and adjust the library search order.
24 * build-aux/boost.m4 (BOOST_REQUIRE): In order to get the proper debug
25 variant of a library, the `d' must be properly inserted in the runtime
27 The for-loop that covers the search space of possible library names
28 was searching twice the same space, so simplify it..
30 Bug reported by Alexandre Rostovtsev.
32 2008-01-23 Benoit Sigoure <tsuna@lrde.epita.fr>
34 Add support for Boost.Preprocessor.
35 * README: Mention the new library.
36 * build-aux/boost.m4 (BOOST_PREPROCESSOR): New.
37 * tests/testsuite.at: Test the new macro.
39 2008-01-23 Benoit Sigoure <tsuna@lrde.epita.fr>
41 Add support for Boost.Lambda.
42 * README: Mention the new library.
43 * build-aux/boost.m4 (BOOST_LAMBDA): New.
44 * tests/testsuite.at: Test the new macro.
46 2008-01-11 Benoit Sigoure <tsuna@lrde.epita.fr>
48 Handle the `gcc' tag used by newer versions of Boost.
49 * build-aux/boost.m4 (_BOOST_FIND_COMPILER_TAG): When the compiler
50 is gcc also try the `gcc' tag (after the version-specific tag e.g.
51 `gcc41') since newer versions of Boost (>= 1.35?) seem to do that.
52 Report and patch by Daniel Herring.
54 2008-01-11 Benoit Sigoure <tsuna@lrde.epita.fr>
56 Handle multiple versions of Boost under the same prefix.
57 * build-aux/boost.m4 (BOOST_REQUIRE): Find the headers of all the
58 versions of Boost installed. If you have, say,
59 /usr/local/include/boost which is a symlink to
60 /usr/local/include/boost-1_34 and you also have
61 /usr/local/include/boost-1_35 installed, the macro needs to find
62 them all if you required Boost 1.35 for instance.
63 Bug reported by Daniel Herring.
65 2008-01-07 Benoit Sigoure <tsuna@lrde.epita.fr>
67 Fix the test for Boost.Test.
68 Some extra code is required to use Boost.Test which defines its own
70 * build-aux/boost.m4 (BOOST_FIND_LIB): Accept a 5th optional
72 (BOOST_TEST): Use it to define `init_unit_test_suite'.
73 * tests/testsuite.at: Add a test for the static flavor of
76 Problem reported by Jens Seidel. Patch contributed by Hubert
79 2008-01-06 Benoit Sigoure <tsuna@lrde.epita.fr>
81 Add support for Boost.Serialization.
82 * README: Document the change.
83 * build-aux/boost.m4 (BOOST_SERIALIZATION): New.
84 * tests/testsuite.at: Test the new macro.
86 2007-12-17 Benoit Sigoure <tsuna@lrde.epita.fr>
88 Do not try to link with non existent static archives.
89 * build-aux/boost.m4 (BOOST_FIND_LIB): Here.
90 Suggested by Daniel Herring.
92 2007-12-17 Benoit Sigoure <tsuna@lrde.epita.fr>
94 Move a test outside a huge loop.
95 * build-aux/boost.m4 (BOOST_FIND_LIB): Check that $libext is set (by
96 Libtool) and non-empty earlier.
98 2007-12-16 Benoit Sigoure <tsuna@lrde.epita.fr>
100 Re-order the macros alphabetically.
101 * build-aux/boost.m4 (BOOST_TRIBOOL): Move to the correct place.
103 2007-12-16 Benoit Sigoure <tsuna@lrde.epita.fr>
105 Add support for Boost.Tokenizer.
106 * README: Mention the new lib.
107 * build-aux/boost.m4 (BOOST_TOKENIZER): New.
108 * tests/testsuite.at: Test the new macro.
110 2007-12-03 Benoit Sigoure <tsuna@lrde.epita.fr>
112 Mention the Libtool dependency in the M4 file.
113 * build-aux/boost.m4: Here.
114 Also update the serial...
116 2007-12-03 Benoit Sigoure <tsuna@lrde.epita.fr>
118 Support Boost.IOStreams.
119 * README: Mention the new library.
120 * build-aux/boost.m4 (BOOST_IOSTREAMS): New.
121 Contribution of Jens Seidel.
122 * tests/testsuite.at: Test the new macro.
124 2007-12-03 Benoit Sigoure <tsuna@lrde.epita.fr>
126 Update the documentation.
127 * README: Fix a typo. Mention an inconsistency with BOOST_TEST.
128 * build-aux/boost.m4 (BOOST_REQUIRE): Mention explicitely that
129 VERSION can be of the form "X.Y.Z".
130 Report by Jens Seidel.
132 2007-12-03 Benoit Sigoure <tsuna@lrde.epita.fr>
134 Do not depend on Autoconf 2.61.
135 AS_TEST_X was introduced in 2.61. Alas, 2.60 is still common out
136 there, so let's use $as_executable_p instead.
138 * build-aux/boost.m4 (_BOOST_AC_LINK_IFELSE): Here.
139 Report by Jens Seidel.
141 2007-11-30 Benoit Sigoure <tsuna@lrde.epita.fr>
143 Add support for Boost.Functional/Hash.
144 * README: Mention the new library.
145 * build-aux/boost.m4 (BOOST_HASH): New.
146 * tests/testsuite.at: Test the new macro.
148 2007-11-24 Benoit Sigoure <tsuna@lrde.epita.fr>
153 2007-11-24 Benoit Sigoure <tsuna@lrde.epita.fr>
155 Improve the portability of BOOST_FILESYSTEM.
156 * build-aux/boost.m4: Do not check for boost/filesystem.hpp as it
157 was introduced in 1.34. Check for boost/filesystem/path.hpp
159 Report by Staffan Gimåker.
161 2007-11-21 Benoit Sigoure <tsuna@lrde.epita.fr>
164 * build-aux/boost.m4: Fix a couple of typos.
165 Reported by Akim Demaille.
167 2007-11-20 Benoit Sigoure <tsuna@lrde.epita.fr>
170 * build-aux/boost.m4: Aesthetic changes.
172 2007-11-20 Benoit Sigoure <tsuna@lrde.epita.fr>
174 Add a test for Boost.Wave.
175 * README: Mention the new library.
176 * build-aux/boost.m4 (BOOST_WAVE): New. Contributed by
178 * tests/testsuite.at: Add a test.
180 2007-11-20 Benoit Sigoure <tsuna@lrde.epita.fr>
182 Add checks for Bind, Function and Ref.
183 * README: Mention the new libraries.
184 * build-aux/boost.m4 (BOOST_BIND, BOOST_FUNCTION, BOOST_REF): New.
185 * tests/testsuite.at: Test the new macros.
186 Contribution of Staffan Gimåker.
188 2007-11-20 Benoit Sigoure <tsuna@lrde.epita.fr>
190 Fix the version check.
191 The version check was completely wrong (!) and would always succeed.
192 * build-aux/boost.m4 (BOOST_REQUIRE): Properly compute the various
193 parts of the version (major, minor, sub-minor) from the
194 BOOST_VERSION macro defined in version.hpp.
195 Bug reported by Staffan Gimåker.
197 2007-11-20 Benoit Sigoure <tsuna@lrde.epita.fr>
200 * build-aux/boost.m4: Correct various tyops everywhere.
202 2007-11-20 Benoit Sigoure <tsuna@lrde.epita.fr>
204 Check that version.hpp exists before trying an include path.
205 * build-aux/boost.m4 (BOOST_REQUIRE): Here. This ensures that we
206 don't get the include path wrong *but* the test succeeds because
207 Boost is reachable thanks to the default include path of the
208 compiler. Bug reported by Staffan Gimåker.
210 2007-11-20 Benoit Sigoure <tsuna@lrde.epita.fr>
213 * build-aux/boost.m4: Sort the macros alphabetically (yes, `T' is
216 2007-11-20 Benoit Sigoure <tsuna@lrde.epita.fr>
218 Add support for Date_Time, Regex, Signals and Test.
219 * README: Mention the new libraries.
220 * build-aux/boost.m4 (BOOST_DATE_TIME, BOOST_REGEX, BOOST_SIGNALS)
221 (BOOST_TEST): New tests contributed by Staffan Gimåker.
222 * tests/testsuite.at: Test the new macros.
224 2007-11-20 Benoit Sigoure <tsuna@lrde.epita.fr>
226 Aggressively optimize the checks against Boost libraries.
227 Checking for Boost libraries that require linking was very slow
228 because it took several iteration to discover the proper link flags
229 to use to properly compile+link a C++ test file. The test file was
230 thus compiled over and over again until the right set of flag is
231 found. Compilation is time-consuming, especially with Boost, so the
232 trick is to compile the file once and then try to link it.
233 Unfortunately, Autoconf doesn't seem to allow this and always wants
234 to delete the intermediate object file. This file thus bypasses one
235 of the Autoconf internal macro to retain the object file.
236 On a test case which checks for 2 libraries, the configure time is
237 reduced by a factor of 5 on my laptop (~100s -> ~20s).
238 * build-aux/boost.m4 (BOOST_FIND_LIB): Compile the test file once
239 and then try to link it.
240 (_BOOST_AC_LINK_IFELSE): Fork of the Autoconf macro _AC_LINK_IFELSE.
241 Optimization suggested by Daniel Herring.
243 2007-11-20 Benoit Sigoure <tsuna@lrde.epita.fr>
245 Optimize the detection of preference for MT flavors.
246 * build-aux/boost.m4 (BOOST_FIND_LIB): Move a compilation test...
247 (_BOOST_GUESS_WHETHER_TO_USE_MT): Here. So that the test is only
248 executed once per configure script.
250 2007-11-20 Benoit Sigoure <tsuna@lrde.epita.fr>
252 Fix the test of Boost.Graph.
253 * build-aux/boost.m4 (BOOST_GRAPH): Fix the C++ code used to test
256 2007-11-20 Benoit Sigoure <tsuna@lrde.epita.fr>
258 Do not pollute the user-reserved variables.
259 * build-aux/boost.m4 (BOOST_FIND_LIB): Fix a bug: when a library was
260 found, the LDFLAGS and LIBS weren't properly reset and the macro was
261 thus polluting user-reserved variables. This needs to be tested in
263 Also do not pass -R to the compiler during the tests, this flag is
264 only usable safely with libtool.
266 2007-11-17 Benoit Sigoure <tsuna@lrde.epita.fr>
268 Fix a typo in BOOST_THREADS.
269 * build-aux/boost.m4 (BOOST_THREADS): Properly set
270 `boost_threads_save_CPPFLAGS' to `CPPFLAGS' instead of `LIBS'!
271 Bug reported by Daniel Herring.
273 2007-11-13 Benoit Sigoure <tsuna@lrde.epita.fr>
275 Preserve the original values of --host / --build.
276 This fixes `make check' in cross-compilation environments.
277 * tests/atlocal.in ($build, $host): Replace with ...
278 ($build_alias, $host_alias): ... these. New.
279 * tests/testsuite.at (AT_CHECK_AUTOCONF): Use them here.
281 2007-11-12 Benoit Sigoure <tsuna@lrde.epita.fr>
283 Add keywords to the testsuite.
284 * tests/testsuite.at (AT_CHECK_MACRO, AT_CHECK_MACRO_CROSS): Add an
285 argument in 2nd position (minor backward incompatible change) to
286 specify keywords for the tests.
287 Use keywords for all tests (core/lib/header with or without cross).
289 2007-11-12 Benoit Sigoure <tsuna@lrde.epita.fr>
291 Add tests for Boost.Program_options.
292 * README: Mention the new library.
293 * build-aux/boost.m4 (BOOST_PROGRAM_OPTIONS): New macro.
294 * tests/testsuite.at: Add a test for the new macro.
296 2007-11-03 Benoit Sigoure <tsuna@lrde.epita.fr>
298 Use Libtool and -R to encode run paths.
299 * README: Mention the dependencies more clearly near the beginning.
300 Add a step to use Libtool if it's not already used.
301 * build-aux/boost.m4 (BOOST_FIND_LIB): Add -R flags in the LDFLAGS
302 and fix a bug when --with-boost isn't used which leads to
303 $with_boost being empty which leads that /lib is checked first.
304 * configure.ac: Invoke AC_PROG_LIBTOOL.
305 * tests/testsuite.at (AT_CONFIGURE_AC): Import the content of
306 aclocal.m4 without the m4_include's in order to use AC_PROG_LIBTOOL
307 without getting the hassle of libtoolize.
308 (AT_CHECK_MACRO): Do not pass -W obsolete to autoconf to avoid
309 spurious warnings due to Libtool.
311 2007-11-02 Benoit Sigoure <tsuna@lrde.epita.fr>
313 Another fix for GCC3 and Boost.Thread.
314 * build-aux/boost.m4 (BOOST_THREADS): Put -pthread in
315 BOOST_CPPFLAGS (required for GCC3).
317 2007-11-02 Benoit Sigoure <tsuna@lrde.epita.fr>
319 Change the order of the tests.
320 * tests/testsuite.at: Do the tests that require linking first
321 (because they are more likely to fail).
323 2007-11-02 Benoit Sigoure <tsuna@lrde.epita.fr>
325 Add tests for SmartPtr, StringAlgo, Tribool and Tuple.
326 * README: Mention the new libraries.
327 * build-aux/boost.m4 (BOOST_SMART_PTR, BOOST_STRING_ALGO)
328 (BOOST_TRIBOOL, BOOST_TUPLE): New.
329 * tests/testsuite.at: Test the new macros.
331 2007-11-02 Benoit Sigoure <tsuna@lrde.epita.fr>
336 * README: Mention the license and how to fetch the latest version.
337 * build-aux/boost.m4: Mention how to fetch the latest version.
338 * configure.ac (AM_INIT_AUTOMAKE): Drop `foreign'.
339 * tests/Makefile.am ($(TESTSUITE)): Adjust dependencies to fix
342 2007-11-02 Benoit Sigoure <tsuna@lrde.epita.fr>
344 Properly find the pthreads flags for use with Boost.Thread.
345 * build-aux/boost.m4 (_BOOST_PTHREAD_FLAG): New internal helper.
346 (BOOST_THREADS): Use it. Use the pthread flag during the tests for
348 * tests/testsuite.at: Since the test for Boost.Thread is now more
349 costly, do the cross-compilation test with Boost.Filesystem instead.
351 2007-11-01 Benoit Sigoure <tsuna@lrde.epita.fr>
353 Fix the testsuite to preserve the various arguments of configure.
354 * build-aux/boost.m4 (BOOST_REQUIRE): Define
355 DISTCHECK_CONFIGURE_FLAGS to automatically preserve the --with-boost
357 * configure.ac: Use AC_CANONICAL_HOST.
358 (AC_CONFIG_FILES): Generate tests/package.m4.
359 * tests/Makefile.am (EXTRA_DIST, $(TESTSUITE)): Adjust.
360 No longer need to generate package.m4 since it's now generated from
362 * tests/atlocal.in (CXX, LD, CONFIGURE_FLAGS, build, host): New.
363 * tests/package.m4.in: New.
364 * tests/testsuite.at: Invoke configure with the proper flags (that
365 is, preserve the original configuration).
367 2007-11-01 Benoit Sigoure <tsuna@lrde.epita.fr>
371 * build-aux/boost.m4: Advertise the Git repository.
373 2007-11-01 Benoit Sigoure <tsuna@lrde.epita.fr>
375 Fix the detection of the toolset name for GCC.
376 * build-aux/boost.m4 (_BOOST_gcc_test): New internal helper.
377 (_BOOST_FIND_COMPILER_TAG): Use _BOOST_gcc_test to take into account
378 the minor version number of GCC into the toolset name.
379 * configure.ac: Invoke _BOOST_FIND_COMPILER_TAG to warn earlier
380 about unknown toolsets.
382 2007-11-01 Benoit Sigoure <tsuna@lrde.epita.fr>
384 Add a test for Boost.Variant.
385 * build-aux/boost.m4 (BOOST_VARIANT): New.
386 * tests/testsuite.at: Test the new macro.
388 2007-11-01 Benoit Sigoure <tsuna@lrde.epita.fr>
390 Add tests for Boost.Format and Boost.Utility.
391 * build-aux/boost.m4 (BOOST_FORMAT, BOOST_UTILITY): New.
392 * tests/testsuite.at: Test the new macros.
394 2007-11-01 Benoit Sigoure <tsuna@lrde.epita.fr>
396 Add a check for Boost.Conversion.
397 * build-aux/boost.m4 (BOOST_CONVERSION): New.
398 * tests/testsuite.at: Add a test for the new macro.
400 2007-11-01 Benoit Sigoure <tsuna@lrde.epita.fr>
402 Add a check for Boost.Filesystem.
403 * build-aux/boost.m4 (BOOST_FILESYSTEM): New.
404 * tests/testsuite.at: Add a test for the new macro.
406 2007-11-01 Benoit Sigoure <tsuna@lrde.epita.fr>
408 Add some cross-compilation tests.
409 * tests/testsuite.at: Here.
411 2007-11-01 Benoit Sigoure <tsuna@lrde.epita.fr>
413 Add a check for Boost.Graph.
414 * build-aux/boost.m4 (BOOST_GRAPH): New.
415 * tests/testsuite.at: Test the new macro.
417 2007-11-01 Benoit Sigoure <tsuna@lrde.epita.fr>
419 Add macros for Boost.Foreach and Boost.Threads.
420 * build-aux/boost.m4 (BOOST_FOREACH, BOOST_THREADS): New.
421 * tests/testsuite.at: Test the new macros.
423 2007-11-01 Benoit Sigoure <tsuna@lrde.epita.fr>
426 * configure.ac: Use AC_CONFIG_HEADERS.
427 * tests/Makefile.am (CLEANFILES): New.
428 Make package.m4 depend on Makefile.in. Disable installcheck-local.
430 2007-11-01 Benoit Sigoure <tsuna@lrde.epita.fr>
432 Add macros to check for Boost libraries and headers.
433 * build-aux/boost.m4 (BOOST_REQUIRE): Restrain variable names to the
434 pseudo /_?boost/i namespace. Look up the version string of Boost in
436 (BOOST_FIND_HEADER, BOOST_FIND_LIB): New.
438 2007-10-31 Benoit Sigoure <tsuna@lrde.epita.fr>
441 * Makefile.am (SUBDIRS): New.
442 * configure.ac: Adjust for the testsuite.
443 * tests/Makefile.am: New.
444 * tests/atlocal.in: Copy from Makefile.am.
445 * tests/testsuite.at: New.
447 2007-10-31 Benoit Sigoure <tsuna@lrde.epita.fr>
453 * build-aux/boost.m4: New.
454 (BOOST_REQUIRE): New.