Advertisement
Guest User

adobe asl fixed project jam file

a guest
Jun 22nd, 2011
186
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.71 KB | None | 0 0
  1. # Main Jamfile for building ASL
  2.  
  3. path-constant TOP : . ;
  4.  
  5. import testing ;
  6. import os ;
  7. import feature : feature ;
  8. import set ;
  9.  
  10. DARWIN_SPECIFIC_FEATURES = ;
  11.  
  12. # adds the asl feature to the adobe subprojects
  13.  
  14. # none is a special name--when used, no new folder name is inserted in hierarchy
  15. # in other ways it behaves as feature with any other name
  16.  
  17. feature asl : none dev : composite ;
  18. feature.compose <asl>dev : <define>ADOBE_SERIALIZATION <define>ADOBE_STD_SERIALIZATION ;
  19.  
  20. switch [ os.name ]
  21. {
  22. case MACOSX :
  23. {
  24. DARWIN_SPECIFIC_FEATURES =
  25. <toolset>darwin,<variant>release,<macosx-version>10.3.9:<architecture>power
  26. <toolset>darwin,<variant>release,<macosx-version>10.4:<architecture>combined
  27. # <toolset>darwin:<c++-lib>static
  28. ;
  29. }
  30. }
  31.  
  32. boost_requirements =
  33. <define>BOOST_FILESYSTEM_VERSION=2
  34. ;
  35.  
  36. tbb_requirements =
  37. <include>$(TOP)/../intel_tbb_libraries/include
  38. <define>__TBB_NO_IMPLICIT_LINKAGE=1
  39. ;
  40.  
  41. adobe_requirements =
  42. $(DARWIN_SPECIFIC_FEATURES)
  43. <include>$(BOOST_DIR)
  44. <toolset>msvc:<define>_SCL_SECURE_NO_DEPRECATE
  45. <toolset>msvc:<define>_CRT_SECURE_NO_DEPRECATE
  46. <toolset>msvc:<define>ADOBE_TEST_MICROSOFT_NO_DEPRECATE=0
  47. <toolset>msvc,<threading>multi:<define>USE_WINTHREAD
  48. <toolset>msvc:<define>_WIN32_WINNT=0x400
  49. <toolset>darwin:<cxxflags>"-Werror -Wall -Wno-trigraphs -Wreturn-type -Wnon-virtual-dtor -Woverloaded-virtual -Wformat -Wmissing-braces -Wparentheses -Wswitch -Wunused-function -Wunused-label -Wunused-parameter -Wunused-variable -Wunused-value -Wunknown-pragmas -Wsign-compare"
  50. <toolset>darwin:<linkflags>"-Xlinker -Y -Xlinker 5"
  51. <toolset>gcc,<variant>debug:<cxxflags>"-Werror -Wall -Wno-trigraphs -Wreturn-type -Wnon-virtual-dtor -Woverloaded-virtual -Wformat -Wmissing-braces -Wparentheses -Wswitch -Wunused-function -Wunused-label -Wunused-parameter -Wunused-variable -Wunused-value -Wunknown-pragmas -Wsign-compare -Wno-parentheses"
  52. # <toolset>gcc-4.5.0:<define>_GLIBCXX_USE_C99_MATH_TR1 # apparent problems using this without using other tr1 libs
  53. <toolset>gcc-4.5.0:<define>__GXX_EXPERIMENTAL_CXX0X__
  54. <toolset>gcc-4.4.0:<define>__GXX_EXPERIMENTAL_CXX0X__
  55.  
  56. ## we'd like to play with experimental C++ 0x features, but leave this disabled for now until
  57. ## boost is patched (e.g. static_assert is reserved, etc.)
  58.  
  59. <toolset>gcc-4.5.0:<cxxflags>"-std=c++0x -fno-strict-aliasing"
  60. <toolset>gcc-4.4.0:<cxxflags>"-std=c++0x -fno-strict-aliasing"
  61. ;
  62.  
  63. asl_requirements =
  64. $(adobe_requirements)
  65. $(tbb_requirements)
  66. $(boost_requirements)
  67. <include>.
  68. <toolset>gcc:<define>NOMINMAX
  69. <toolset>gcc:<architecture>x86
  70. <toolset>gcc,<threading>multi:<instruction-set>i486
  71. <toolset>msvc:<cxxflags>"-DUNICODE -D_UNICODE"
  72. <toolset>msvc-8.0:<cxxflags>"/W3 /WX /Wp64 /Zc:wchar_t /Zc:forScope"
  73. <toolset>msvc-9.0:<cxxflags>"/W3 /WX /Zc:wchar_t /Zc:forScope"
  74. <link>static,<threading>multi:<define>BOOST_THREAD_USE_LIB
  75. <threading>single:<define>BOOST_DISABLE_THREADS
  76. <link>static:<define>BOOST_SIGNALS_STATIC_LINK
  77. $(ASL_ADDITIONAL_MACROS)
  78. <define>BOOST_ALL_NO_LIB
  79. <toolset>darwin:<linkflags>"-lSystemStubs"
  80. <threading>multi:<library>/boost/thread//boost_thread
  81. <library>/boost/filesystem
  82. <library>/boost/system
  83. <library>/boost/signals
  84. ;
  85.  
  86. project
  87. : requirements
  88. $(asl_requirements)
  89.  
  90. : default-build
  91. <link>static
  92. <threading>multi
  93. <preserve-test-targets>on
  94. : build-dir
  95. $(TOP)/../built_artifacts
  96. ;
  97.  
  98. #
  99. # For platform specific code in ASL we include set up the related directory
  100. #
  101.  
  102. ASL_ADDITIONAL_MACROS = ;
  103.  
  104. switch [ os.name ]
  105. {
  106. case CYGWIN :
  107. {
  108. ASL_ADDITIONAL_MACROS = <define>WINVER=0x560 <define>_WIN32_WINNT=0x560 <define>_WIN32_IE=0x560 ;
  109. }
  110. case NT :
  111. {
  112. ASL_ADDITIONAL_MACROS = <define>WINVER=0x560 <define>_WIN32_WINNT=0x560 <define>_WIN32_IE=0x560 ;
  113. }
  114. }
  115.  
  116. #
  117. # We build two libraries, asl and asl_dev. asl_dev includes the future
  118. # sources and supports serialization.
  119.  
  120.  
  121. import os ;
  122. local boost-path = [ os.environ BOOST_PATH ] ;
  123. if $(boost-path)
  124. {
  125. boost-path = [ path.make $(boost-path) ] ;
  126. } else {
  127. boost-path = [ path.make ../boost_libraries ] ;
  128. }
  129.  
  130. use-project /boost : $(boost-path) ;
  131.  
  132.  
  133. lib asl
  134. : #sources
  135. [ glob source/*.cpp ]
  136. : #requirements
  137. : #defaults
  138. : # usage requirements
  139. $(asl_requirements)
  140. ;
  141.  
  142. explicit asl ;
  143.  
  144. lib asl_dev
  145. : #sources
  146. [ glob source/*.cpp ]
  147. : #requirements
  148. <asl>dev
  149. : #defaults
  150. : #usage-requirements
  151. $(asl_requirements)
  152. <asl>dev
  153. ;
  154.  
  155. ## build and run the tests
  156.  
  157. use-project /adobe : . ;
  158. build-project test ;
  159. build-project documentation/examples ;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement