lmi
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[lmi] patch: upgrade to Boost 1.38.0


From: Vaclav Slavik
Subject: [lmi] patch: upgrade to Boost 1.38.0
Date: Fri, 03 Apr 2009 01:09:53 +0200

Hi,

below is a patch that upgrades Boost used in the MSW build system from
1.33.1 to 1.38.0. It is a prerequisite for the upcoming patch to use
boost::math::expm1() and log1p().

It fixes the problem with filesystem compilation (discussed here:
http://lists.nongnu.org/archive/html/lmi/2008-06/msg00054.html) by
tweaking compiler flags a bit. In other words, it doesn't yet change the
way Boost libraries are built in none of the ways also mentioned in the
above thread.

Ideally, I'd like to rewrite this part of the makefiles to build Boost
using the official Boost.Build system if you agree -- upgrading is
easiest that way. For now, this patch lets us use boost::math.

Vaclav

=== modified file 'install_miscellanea.make'
--- install_miscellanea.make    2008-12-27 02:57:00 +0000
+++ install_miscellanea.make    2009-04-02 19:33:18 +0000
@@ -48,7 +48,7 @@
 
 # File lists 
###################################################################
 
-boost_archive    := boost_1_33_1.tar.bz2
+boost_archive    := boost_1_38_0.tar.bz2
 cgicc_archive    := cgicc-3.1.4.tar.bz2
 fop_archive      := fop-0.20.5-bin.tar.gz
 md5sum_msw_exe   := md5sum.exe
@@ -77,7 +77,7 @@
 $(sample_archive)-url   := 
http://download.savannah.gnu.org/releases/lmi/$(sample_archive)
 $(xmlwrapp_archive)-url := 
ftp://ftp.freebsd.org/pub/FreeBSD/distfiles/$(xmlwrapp_archive)
 
-$(boost_archive)-md5    := 2b999b2fb7798e1737d1fff8fac602ef
+$(boost_archive)-md5    := 5eca2116d39d61382b8f8235915cb267
 $(cgicc_archive)-md5    := 6cb5153fc9fa64b4e50c7962aa557bbe
 $(fop_archive)-md5      := d6b43e3eddf9378536ad8127bc057d41
 $(md5sum_msw_exe)-md5   := eb574b236133e60c989c6f472f07827b

=== modified file 'objects.make'
--- objects.make        2009-03-26 16:47:29 +0000
+++ objects.make        2009-04-02 22:51:03 +0000
@@ -27,14 +27,21 @@
 # is reached through 'vpath' directives. See the rationale in
 # 'workhorse.make'.
 
-# Boost filesystem library. The other boost libraries that lmi
+# Boost filesystem and system libraries. The other boost libraries that lmi
 # requires are implemented entirely in headers.
 
 boost_filesystem_objects := \
-  convenience.o \
-  exception.o \
-  path_posix_windows.o \
-  operations_posix_windows.o \
+  operations.o \
+  path.o \
+  portability.o \
+  utf8_codecvt_facet.o \
+
+boost_system_objects := \
+  error_code.o \
+
+boost_objects := \
+  $(boost_filesystem_objects) \
+  $(boost_system_objects) \
 
 # These object files are used in both an application and a shared
 # library that it links to, only for builds that use shared-library
@@ -42,7 +49,7 @@
 # build these objects as a library.
 
 ifneq (,$(USE_SO_ATTRIBUTES))
-  duplicated_objects = $(boost_filesystem_objects)
+  duplicated_objects = $(boost_objects)
 endif
 
 # GNU cgicc.
@@ -110,7 +117,7 @@
 # have them as libraries.
 
 ifdef HAVE_THIRD_PARTY_LIBRARIES
-  boost_filesystem_objects :=
+  boost_objects :=
   cgicc_objects :=
   xmlwrapp_objects :=
 endif
@@ -162,7 +169,7 @@
 # Illustrations: files shared by the antediluvian and production branches.
 
 common_common_objects := \
-  $(boost_filesystem_objects) \
+  $(boost_objects) \
   $(xmlwrapp_objects) \
   actuarial_table.o \
   alert.o \
@@ -178,7 +185,6 @@
   dbnames.o \
   death_benefits.o \
   emit_ledger.o \
-  expm1.o \
   facets.o \
   fenv_guard.o \
   fenv_lmi.o \
@@ -348,7 +354,7 @@
 # These files provide general product support:
 
 gpt_objects := \
-  $(boost_filesystem_objects) \
+  $(boost_objects) \
   $(gpt_objects_unique_to_server) \
   $(gpt_objects_directly_concerned_with_gpt) \
   $(xmlwrapp_objects) \
@@ -364,7 +370,6 @@
   datum_string.o \
   dbnames.o \
   death_benefits.o \
-  expm1.o \
   facets.o \
   fenv_lmi.o \
   global_settings.o \
@@ -509,7 +514,7 @@
   account_value_test.o \
 
 actuarial_table_test$(EXEEXT): \
-  $(boost_filesystem_objects) \
+  $(boost_objects) \
   $(common_test_objects) \
   actuarial_table.o \
   actuarial_table_test.o \
@@ -529,7 +534,7 @@
   assert_lmi_test.o \
 
 authenticity_test$(EXEEXT): \
-  $(boost_filesystem_objects) \
+  $(boost_objects) \
   $(common_test_objects) \
   authenticity.o \
   authenticity_test.o \
@@ -556,7 +561,6 @@
 commutation_functions_test$(EXEEXT): \
   $(common_test_objects) \
   commutation_functions_test.o \
-  expm1.o \
   ihs_commfns.o \
   timer.o \
 
@@ -598,7 +602,7 @@
   getopt_test.o \
 
 global_settings_test$(EXEEXT): \
-  $(boost_filesystem_objects) \
+  $(boost_objects) \
   $(common_test_objects) \
   global_settings.o \
   global_settings_test.o \
@@ -615,7 +619,7 @@
   input_sequence.o \
 
 input_test$(EXEEXT): \
-  $(boost_filesystem_objects) \
+  $(boost_objects) \
   $(common_test_objects) \
   $(xmlwrapp_objects) \
   calendar_date.o \
@@ -666,7 +670,6 @@
 
 loads_test$(EXEEXT): \
   $(common_test_objects) \
-  expm1.o \
   loads.o \
   loads_test.o \
   timer.o \
@@ -681,12 +684,11 @@
 
 math_functors_test$(EXEEXT): \
   $(common_test_objects) \
-  expm1.o \
   math_functors_test.o \
   timer.o \
 
 mc_enum_test$(EXEEXT): \
-  $(boost_filesystem_objects) \
+  $(boost_objects) \
   $(common_test_objects) \
   datum_base.o \
   facets.o \
@@ -732,7 +734,7 @@
   timer.o \
 
 path_utility_test$(EXEEXT): \
-  $(boost_filesystem_objects) \
+  $(boost_objects) \
   $(common_test_objects) \
   global_settings.o \
   miscellany.o \
@@ -847,7 +849,7 @@
   timer.o \
 
 generate_passkey$(EXEEXT): \
-  $(boost_filesystem_objects) \
+  $(boost_objects) \
   $(main_auxiliary_common_objects) \
   authenticity.o \
   calendar_date.o \
@@ -868,7 +870,7 @@
 test_coding_rules$(EXEEXT): POST_LINK_COMMAND = $(test_coding_rules_test)
 test_coding_rules$(EXEEXT): EXTRA_LDFLAGS = -lboost_regex-gcc-1_33_1
 test_coding_rules$(EXEEXT): \
-  $(boost_filesystem_objects) \
+  $(boost_objects) \
   $(main_auxiliary_common_objects) \
   my_test_coding_rules.o \
   test_coding_rules.o \

=== modified file 'workhorse.make'
--- workhorse.make      2009-03-31 02:19:26 +0000
+++ workhorse.make      2009-04-02 23:00:14 +0000
@@ -277,6 +277,7 @@
 all_source_directories := \
   $(src_dir) \
   /opt/lmi/third_party/src/boost/libs/filesystem/src \
+  /opt/lmi/third_party/src/boost/libs/system/src \
   /opt/lmi/third_party/src/cgicc \
   /opt/lmi/third_party/src/libxml \
 
@@ -587,6 +588,11 @@
 REQUIRED_ARFLAGS = \
   -rus
 
+# Boost filesystem library #includes additional file. Furthermore, there's
+# a warning while compiling it.
+$(boost_objects): REQUIRED_CPPFLAGS += -I/opt/lmi/third_party/src/boost
+$(boost_objects): REQUIRED_CXXFLAGS += -Wno-error
+
 # Prefer to invoke GNU 'ld' through the compiler frontends 'gcc' and
 # 'g++' because that takes care of linking the required libraries for
 # each language. Accordingly, pass GNU 'ld' options with '-Wl,'.







reply via email to

[Prev in Thread] Current Thread [Next in Thread]