Handle Boost.System and adjust the code to handle the binary dependencies.
[boost.m4.git] / ChangeLog
blob308ea5634ca22c4ef6f1340f694a80d1ab782fcf
1 2008-09-10  Benoit Sigoure <tsuna@lrde.epita.fr>
3         Handle Boost.System and adjust the code to handle the binary
4         dependencies.
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.
14         (BOOST_SYSTEM): New.
15         (BOOST_WAVE): Require Boost.Filesystem and Boost.DateTime.
16         * tests/testsuite.at: Add a test for BOOST_SYSTEM.
17         * THANKS: Update.
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
26         options.
27         The for-loop that covers the search space of possible library names
28         was searching twice the same space, so simplify it..
29         * THANKS: Update.
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
69         `main' function.
70         * build-aux/boost.m4 (BOOST_FIND_LIB): Accept a 5th optional
71         argument.
72         (BOOST_TEST): Use it to define `init_unit_test_suite'.
73         * tests/testsuite.at: Add a test for the static flavor of
74         BOOST_TEST.
75         * THANKS: Update.
76         Problem reported by Jens Seidel.  Patch contributed by Hubert
77         Figuière.
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.
137         * THANKS: Update.
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>
150         Add a THANKS file.
151         * THANKS: New.
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
158         instead.
159         Report by Staffan Gimåker.
161 2007-11-21  Benoit Sigoure  <tsuna@lrde.epita.fr>
163         Comment fixes.
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>
169         Adjust comments.
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
177         Daniel Herring.
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>
199         Fix typos.
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>
212         Re-order the macros.
213         * build-aux/boost.m4: Sort the macros alphabetically (yes, `T' is
214         after `S' :D).
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
254         the library.
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
262         the testsuite.
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>
333         Fix distcheck.
334         * AUTHORS: New.
335         * NEWS: New.
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
340         distcheck.
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
347         Boost.Thread.
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
356         argument.
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
361         package.m4.in.
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>
369         Add a README.
370         * README: New.
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>
425         Fix distcheck.
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
435         boost/version.hpp.
436         (BOOST_FIND_HEADER, BOOST_FIND_LIB): New.
438 2007-10-31  Benoit Sigoure  <tsuna@lrde.epita.fr>
440         Add a testsuite.
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>
449         Initial version.
450         * ChangeLog: New.
451         * Makefile.am: New.
452         * bootstrap: New.
453         * build-aux/boost.m4: New.
454         (BOOST_REQUIRE): New.
455         * configure.ac: New.