SConscript 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132
  1. from building import *
  2. import os
  3. CAIRO_VERSION = '1.14.12'
  4. CAIRO_PATH = 'cairo-' + CAIRO_VERSION
  5. cwd = GetCurrentDir()
  6. # source files
  7. src = Split('''
  8. cairo.c
  9. cairo-analysis-surface.c
  10. cairo-arc.c
  11. cairo-array.c
  12. cairo-atomic.c
  13. cairo-base64-stream.c
  14. cairo-base85-stream.c
  15. cairo-bentley-ottmann.c
  16. cairo-bentley-ottmann-rectangular.c
  17. cairo-bentley-ottmann-rectilinear.c
  18. cairo-botor-scan-converter.c
  19. cairo-boxes.c
  20. cairo-boxes-intersect.c
  21. cairo-cache.c
  22. cairo-cff-subset.c
  23. cairo-clip.c
  24. cairo-clip-boxes.c
  25. cairo-clip-polygon.c
  26. cairo-clip-region.c
  27. cairo-clip-surface.c
  28. cairo-clip-tor-scan-converter.c
  29. cairo-color.c
  30. cairo-composite-rectangles.c
  31. cairo-compositor.c
  32. cairo-contour.c
  33. cairo-damage.c
  34. cairo-debug.c
  35. cairo-default-context.c
  36. cairo-device.c
  37. cairo-error.c
  38. cairo-fallback-compositor.c
  39. cairo-fixed.c
  40. cairo-font-face.c
  41. cairo-font-face-twin.c
  42. cairo-font-face-twin-data.c
  43. cairo-font-options.c
  44. cairo-freed-pool.c
  45. cairo-freelist.c
  46. cairo-gstate.c
  47. cairo-hash.c
  48. cairo-hull.c
  49. cairo-image-compositor.c
  50. cairo-image-info.c
  51. cairo-image-source.c
  52. cairo-image-surface.c
  53. cairo-line.c
  54. cairo-lzw.c
  55. cairo-mask-compositor.c
  56. cairo-matrix.c
  57. cairo-mesh-pattern-rasterizer.c
  58. cairo-misc.c
  59. cairo-mono-scan-converter.c
  60. cairo-mutex.c
  61. cairo-no-compositor.c
  62. cairo-observer.c
  63. cairo-output-stream.c
  64. cairo-paginated-surface.c
  65. cairo-path.c
  66. cairo-path-bounds.c
  67. cairo-path-fill.c
  68. cairo-path-fixed.c
  69. cairo-path-in-fill.c
  70. cairo-path-stroke.c
  71. cairo-path-stroke-boxes.c
  72. cairo-path-stroke-polygon.c
  73. cairo-path-stroke-traps.c
  74. cairo-path-stroke-tristrip.c
  75. cairo-pattern.c
  76. cairo-pen.c
  77. cairo-polygon.c
  78. cairo-polygon-intersect.c
  79. cairo-polygon-reduce.c
  80. cairo-raster-source-pattern.c
  81. cairo-recording-surface.c
  82. cairo-rectangle.c
  83. cairo-rectangular-scan-converter.c
  84. cairo-region.c
  85. cairo-rtree.c
  86. cairo-scaled-font.c
  87. cairo-scaled-font-subsets.c
  88. cairo-shape-mask-compositor.c
  89. cairo-slope.c
  90. cairo-spans.c
  91. cairo-spans-compositor.c
  92. cairo-spline.c
  93. cairo-stroke-dash.c
  94. cairo-stroke-style.c
  95. cairo-surface.c
  96. cairo-surface-clipper.c
  97. cairo-surface-fallback.c
  98. cairo-surface-offset.c
  99. cairo-surface-snapshot.c
  100. cairo-surface-subsurface.c
  101. cairo-surface-wrapper.c
  102. cairo-tor22-scan-converter.c
  103. cairo-tor-scan-converter.c
  104. cairo-toy-font-face.c
  105. cairo-traps.c
  106. cairo-traps-compositor.c
  107. cairo-tristrip.c
  108. cairo-truetype-subset.c
  109. cairo-type1-fallback.c
  110. cairo-type1-subset.c
  111. cairo-type3-glyph-surface.c
  112. cairo-unicode.c
  113. cairo-user-font.c
  114. cairo-version.c
  115. cairo-wideint.c
  116. ''')
  117. for item in range(len(src)):
  118. src[item] = CAIRO_PATH + '/src/' + src[item]
  119. CPPPATH = [cwd + '/' + CAIRO_PATH + '/src', cwd]
  120. LOCAL_CCFLAGS = ''
  121. import rtconfig
  122. if rtconfig.CROSS_TOOL == 'keil':
  123. LOCAL_CCFLAGS += ' --gnu'
  124. group = DefineGroup('cairo', src, depend = ['PKG_USING_CAIRO'], CPPPATH = CPPPATH, LOCAL_CCFLAGS = LOCAL_CCFLAGS)
  125. Return('group')