Jamfile.v2 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139
  1. # Boost serialization Library Build Jamfile
  2. # (C) Copyright Robert Ramey 2002-2004.
  3. # Use, modification, and distribution are subject to the
  4. # Boost Software License, Version 1.0. (See accompanying file
  5. # LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
  6. #
  7. # See http://www.boost.org/libs/serialization for the library home page.
  8. project boost/serialization
  9. : source-location ../src
  10. : requirements
  11. <conditional>@include-spirit
  12. ;
  13. SPIRIT_ROOT = [ modules.peek : SPIRIT_ROOT ] ;
  14. rule include-spirit ( properties * )
  15. {
  16. local old-compiler ;
  17. if <toolset>borland in $(properties)
  18. {
  19. if ! <toolset-borland:version>6.1.0 in $(properties)
  20. {
  21. old-compiler = true ;
  22. }
  23. }
  24. else if <toolset>msvc in $(properties)
  25. {
  26. if <toolset-msvc:version>6.5 in $(properties)
  27. || <toolset-msvc:version>7.0 in $(properties)
  28. {
  29. old-compiler = true ;
  30. }
  31. }
  32. local result ;
  33. if $(old-compiler)
  34. {
  35. if $(SPIRIT_ROOT)
  36. {
  37. # note - we can't use <include>$(SPIRIT_ROOT) because
  38. # it puts -I$(SPIRIT_ROOT) AFTER the "../../.." in the command line.
  39. # so use these instead
  40. result = <cxxflags>-I$(SPIRIT_ROOT) ;
  41. }
  42. else
  43. {
  44. echo **** spirit 1.6x required to build library with this compiler **** ;
  45. result = <build>no ;
  46. }
  47. }
  48. return $(result) ;
  49. }
  50. SOURCES =
  51. basic_archive
  52. basic_iarchive
  53. basic_iserializer
  54. basic_oarchive
  55. basic_oserializer
  56. basic_pointer_iserializer
  57. basic_pointer_oserializer
  58. basic_serializer_map
  59. basic_text_iprimitive
  60. basic_text_oprimitive
  61. basic_xml_archive
  62. binary_iarchive
  63. binary_oarchive
  64. extended_type_info
  65. extended_type_info_typeid
  66. extended_type_info_no_rtti
  67. polymorphic_iarchive
  68. polymorphic_oarchive
  69. stl_port
  70. text_iarchive
  71. text_oarchive
  72. polymorphic_text_iarchive
  73. polymorphic_text_oarchive
  74. polymorphic_binary_iarchive
  75. polymorphic_binary_oarchive
  76. polymorphic_xml_iarchive
  77. polymorphic_xml_oarchive
  78. void_cast
  79. archive_exception
  80. xml_grammar
  81. xml_iarchive
  82. xml_oarchive
  83. xml_archive_exception
  84. codecvt_null
  85. utf8_codecvt_facet
  86. ;
  87. WSOURCES =
  88. basic_text_wiprimitive
  89. basic_text_woprimitive
  90. text_wiarchive
  91. text_woarchive
  92. polymorphic_text_wiarchive
  93. polymorphic_text_woarchive
  94. xml_wgrammar
  95. xml_wiarchive
  96. xml_woarchive
  97. polymorphic_xml_wiarchive
  98. polymorphic_xml_woarchive
  99. ;
  100. lib boost_serialization
  101. : $(SOURCES).cpp
  102. :
  103. <toolset>msvc:<cxxflags>/Gy
  104. <toolset>msvc:<define>_SCL_SECURE_NO_WARNINGS
  105. <toolset>msvc:<define>_CRT_SECURE_NO_WARNINGS
  106. <toolset>clang:<cxxflags>"-fvisibility=hidden -fvisibility-inlines-hidden"
  107. <toolset>gcc:<cxxflags>"-fvisibility=hidden -fvisibility-inlines-hidden"
  108. <toolset>darwin:<cxxflags>"-fvisibility=hidden -fvisibility-inlines-hidden"
  109. <toolset>gcc:<cxxflags>"-ftemplate-depth-255"
  110. <toolset>clang:<cxxflags>"-ftemplate-depth-255"
  111. <toolset>darwin:<cxxflags>"-ftemplate-depth-255"
  112. <link>shared:<define>BOOST_SERIALIZATION_DYN_LINK=1
  113. ;
  114. lib boost_wserialization
  115. : $(WSOURCES).cpp boost_serialization
  116. :
  117. <toolset>msvc:<cxxflags>/Gy
  118. <toolset>msvc:<define>_SCL_SECURE_NO_WARNINGS
  119. <toolset>msvc:<define>_CRT_SECURE_NO_WARNINGS
  120. <toolset>clang:<cxxflags>"-fvisibility=hidden -fvisibility-inlines-hidden"
  121. <toolset>gcc:<cxxflags>"-fvisibility=hidden -fvisibility-inlines-hidden"
  122. <toolset>darwin:<cxxflags>"-fvisibility=hidden -fvisibility-inlines-hidden"
  123. <toolset>gcc:<cxxflags>"-ftemplate-depth-255"
  124. <toolset>clang:<cxxflags>"-ftemplate-depth-255"
  125. <toolset>darwin:<cxxflags>"-ftemplate-depth-255"
  126. # note: both serialization and wserialization are conditioned on the this
  127. # switch - don't change it to BOOST_WSERIALIZATION_DYN_LINK
  128. <link>shared:<define>BOOST_SERIALIZATION_DYN_LINK=1
  129. ;
  130. boost-install boost_serialization boost_wserialization ;