sassc 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (151) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +15 -0
  3. data/.gitmodules +3 -0
  4. data/.travis.yml +9 -0
  5. data/Gemfile +4 -0
  6. data/LICENSE.txt +22 -0
  7. data/README.md +24 -0
  8. data/Rakefile +21 -0
  9. data/ext/libsass/.editorconfig +15 -0
  10. data/ext/libsass/.gitattributes +2 -0
  11. data/ext/libsass/.gitignore +61 -0
  12. data/ext/libsass/.travis.yml +38 -0
  13. data/ext/libsass/COPYING +25 -0
  14. data/ext/libsass/INSTALL +1 -0
  15. data/ext/libsass/LICENSE +25 -0
  16. data/ext/libsass/Makefile +223 -0
  17. data/ext/libsass/Makefile.am +145 -0
  18. data/ext/libsass/Readme.md +93 -0
  19. data/ext/libsass/appveyor.yml +76 -0
  20. data/ext/libsass/ast.cpp +581 -0
  21. data/ext/libsass/ast.hpp +1949 -0
  22. data/ext/libsass/ast_def_macros.hpp +16 -0
  23. data/ext/libsass/ast_factory.hpp +87 -0
  24. data/ext/libsass/ast_fwd_decl.hpp +72 -0
  25. data/ext/libsass/b64/cencode.h +32 -0
  26. data/ext/libsass/b64/encode.h +77 -0
  27. data/ext/libsass/backtrace.hpp +81 -0
  28. data/ext/libsass/base64vlq.cpp +43 -0
  29. data/ext/libsass/base64vlq.hpp +28 -0
  30. data/ext/libsass/bind.cpp +187 -0
  31. data/ext/libsass/bind.hpp +18 -0
  32. data/ext/libsass/cencode.c +102 -0
  33. data/ext/libsass/color_names.hpp +324 -0
  34. data/ext/libsass/configure.ac +130 -0
  35. data/ext/libsass/constants.cpp +144 -0
  36. data/ext/libsass/constants.hpp +145 -0
  37. data/ext/libsass/context.cpp +507 -0
  38. data/ext/libsass/context.hpp +150 -0
  39. data/ext/libsass/contextualize.cpp +157 -0
  40. data/ext/libsass/contextualize.hpp +65 -0
  41. data/ext/libsass/copy_c_str.cpp +13 -0
  42. data/ext/libsass/copy_c_str.hpp +5 -0
  43. data/ext/libsass/debug.hpp +39 -0
  44. data/ext/libsass/environment.hpp +75 -0
  45. data/ext/libsass/error_handling.cpp +28 -0
  46. data/ext/libsass/error_handling.hpp +28 -0
  47. data/ext/libsass/eval.cpp +1149 -0
  48. data/ext/libsass/eval.hpp +80 -0
  49. data/ext/libsass/expand.cpp +430 -0
  50. data/ext/libsass/expand.hpp +77 -0
  51. data/ext/libsass/extconf.rb +6 -0
  52. data/ext/libsass/extend.cpp +1962 -0
  53. data/ext/libsass/extend.hpp +50 -0
  54. data/ext/libsass/file.cpp +291 -0
  55. data/ext/libsass/file.hpp +18 -0
  56. data/ext/libsass/functions.cpp +1565 -0
  57. data/ext/libsass/functions.hpp +187 -0
  58. data/ext/libsass/inspect.cpp +727 -0
  59. data/ext/libsass/inspect.hpp +108 -0
  60. data/ext/libsass/json.cpp +1411 -0
  61. data/ext/libsass/json.hpp +117 -0
  62. data/ext/libsass/kwd_arg_macros.hpp +23 -0
  63. data/ext/libsass/m4/.gitkeep +0 -0
  64. data/ext/libsass/mapping.hpp +17 -0
  65. data/ext/libsass/memory_manager.hpp +54 -0
  66. data/ext/libsass/node.cpp +251 -0
  67. data/ext/libsass/node.hpp +122 -0
  68. data/ext/libsass/operation.hpp +153 -0
  69. data/ext/libsass/output_compressed.cpp +401 -0
  70. data/ext/libsass/output_compressed.hpp +95 -0
  71. data/ext/libsass/output_nested.cpp +364 -0
  72. data/ext/libsass/output_nested.hpp +108 -0
  73. data/ext/libsass/parser.cpp +2016 -0
  74. data/ext/libsass/parser.hpp +264 -0
  75. data/ext/libsass/paths.hpp +69 -0
  76. data/ext/libsass/position.hpp +22 -0
  77. data/ext/libsass/posix/getopt.c +562 -0
  78. data/ext/libsass/posix/getopt.h +95 -0
  79. data/ext/libsass/prelexer.cpp +688 -0
  80. data/ext/libsass/prelexer.hpp +513 -0
  81. data/ext/libsass/remove_placeholders.cpp +59 -0
  82. data/ext/libsass/remove_placeholders.hpp +43 -0
  83. data/ext/libsass/res/resource.rc +35 -0
  84. data/ext/libsass/sass.cpp +33 -0
  85. data/ext/libsass/sass.h +60 -0
  86. data/ext/libsass/sass2scss.cpp +834 -0
  87. data/ext/libsass/sass2scss.h +110 -0
  88. data/ext/libsass/sass_context.cpp +709 -0
  89. data/ext/libsass/sass_context.h +120 -0
  90. data/ext/libsass/sass_functions.cpp +137 -0
  91. data/ext/libsass/sass_functions.h +90 -0
  92. data/ext/libsass/sass_interface.cpp +277 -0
  93. data/ext/libsass/sass_interface.h +97 -0
  94. data/ext/libsass/sass_util.cpp +136 -0
  95. data/ext/libsass/sass_util.hpp +259 -0
  96. data/ext/libsass/sass_values.cpp +337 -0
  97. data/ext/libsass/sass_values.h +124 -0
  98. data/ext/libsass/script/bootstrap +10 -0
  99. data/ext/libsass/script/branding +10 -0
  100. data/ext/libsass/script/ci-build-libsass +72 -0
  101. data/ext/libsass/script/ci-install-compiler +4 -0
  102. data/ext/libsass/script/ci-install-deps +19 -0
  103. data/ext/libsass/script/ci-report-coverage +25 -0
  104. data/ext/libsass/script/coveralls-debug +32 -0
  105. data/ext/libsass/script/spec +5 -0
  106. data/ext/libsass/script/tap-driver +652 -0
  107. data/ext/libsass/script/tap-runner +1 -0
  108. data/ext/libsass/source_map.cpp +133 -0
  109. data/ext/libsass/source_map.hpp +46 -0
  110. data/ext/libsass/subset_map.hpp +145 -0
  111. data/ext/libsass/support/libsass.pc.in +11 -0
  112. data/ext/libsass/test-driver +127 -0
  113. data/ext/libsass/test/test_node.cpp +98 -0
  114. data/ext/libsass/test/test_paths.cpp +29 -0
  115. data/ext/libsass/test/test_selector_difference.cpp +28 -0
  116. data/ext/libsass/test/test_specificity.cpp +28 -0
  117. data/ext/libsass/test/test_subset_map.cpp +472 -0
  118. data/ext/libsass/test/test_superselector.cpp +71 -0
  119. data/ext/libsass/test/test_unification.cpp +33 -0
  120. data/ext/libsass/to_c.cpp +61 -0
  121. data/ext/libsass/to_c.hpp +44 -0
  122. data/ext/libsass/to_string.cpp +29 -0
  123. data/ext/libsass/to_string.hpp +32 -0
  124. data/ext/libsass/token.hpp +32 -0
  125. data/ext/libsass/units.cpp +54 -0
  126. data/ext/libsass/units.hpp +10 -0
  127. data/ext/libsass/utf8.h +34 -0
  128. data/ext/libsass/utf8/checked.h +327 -0
  129. data/ext/libsass/utf8/core.h +329 -0
  130. data/ext/libsass/utf8/unchecked.h +228 -0
  131. data/ext/libsass/utf8_string.cpp +102 -0
  132. data/ext/libsass/utf8_string.hpp +36 -0
  133. data/ext/libsass/util.cpp +189 -0
  134. data/ext/libsass/util.hpp +26 -0
  135. data/ext/libsass/win/libsass.filters +291 -0
  136. data/ext/libsass/win/libsass.sln +28 -0
  137. data/ext/libsass/win/libsass.vcxproj +255 -0
  138. data/lib/sassc.rb +6 -0
  139. data/lib/sassc/engine.rb +13 -0
  140. data/lib/sassc/native.rb +44 -0
  141. data/lib/sassc/native/native_context_api.rb +140 -0
  142. data/lib/sassc/native/native_functions_api.rb +41 -0
  143. data/lib/sassc/native/sass_input_style.rb +11 -0
  144. data/lib/sassc/native/sass_output_style.rb +10 -0
  145. data/lib/sassc/native/sass_value.rb +95 -0
  146. data/lib/sassc/native/string_list.rb +8 -0
  147. data/lib/sassc/version.rb +3 -0
  148. data/sassc.gemspec +43 -0
  149. data/test/smoke_test.rb +171 -0
  150. data/test/test_helper.rb +4 -0
  151. metadata +281 -0
@@ -0,0 +1,18 @@
1
+ #define SASS_BIND
2
+
3
+ #ifndef SASS_ENVIRONMENT
4
+ #include "environment.hpp"
5
+ #endif
6
+
7
+ #include <string>
8
+
9
+ namespace Sass {
10
+ class AST_Node;
11
+ class Parameters;
12
+ class Arguments;
13
+ struct Context;
14
+ class Eval;
15
+ typedef Environment<AST_Node*> Env;
16
+
17
+ void bind(string caller, Parameters*, Arguments*, Context&, Env*, Eval*);
18
+ }
@@ -0,0 +1,102 @@
1
+ /*
2
+ cencoder.c - c source to a base64 encoding algorithm implementation
3
+
4
+ This is part of the libb64 project, and has been placed in the public domain.
5
+ For details, see http://sourceforge.net/projects/libb64
6
+ */
7
+
8
+ #include "b64/cencode.h"
9
+
10
+ void base64_init_encodestate(base64_encodestate* state_in)
11
+ {
12
+ state_in->step = step_A;
13
+ state_in->result = 0;
14
+ state_in->stepcount = 0;
15
+ }
16
+
17
+ char base64_encode_value(char value_in)
18
+ {
19
+ static const char* encoding = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
20
+ if (value_in > 63) return '=';
21
+ return encoding[(int)value_in];
22
+ }
23
+
24
+ int base64_encode_block(const char* plaintext_in, int length_in, char* code_out, base64_encodestate* state_in)
25
+ {
26
+ const char* plainchar = plaintext_in;
27
+ const char* const plaintextend = plaintext_in + length_in;
28
+ char* codechar = code_out;
29
+ char result;
30
+ char fragment;
31
+
32
+ result = state_in->result;
33
+
34
+ switch (state_in->step)
35
+ {
36
+ while (1)
37
+ {
38
+ case step_A:
39
+ if (plainchar == plaintextend)
40
+ {
41
+ state_in->result = result;
42
+ state_in->step = step_A;
43
+ return codechar - code_out;
44
+ }
45
+ fragment = *plainchar++;
46
+ result = (fragment & 0x0fc) >> 2;
47
+ *codechar++ = base64_encode_value(result);
48
+ result = (fragment & 0x003) << 4;
49
+ case step_B:
50
+ if (plainchar == plaintextend)
51
+ {
52
+ state_in->result = result;
53
+ state_in->step = step_B;
54
+ return codechar - code_out;
55
+ }
56
+ fragment = *plainchar++;
57
+ result |= (fragment & 0x0f0) >> 4;
58
+ *codechar++ = base64_encode_value(result);
59
+ result = (fragment & 0x00f) << 2;
60
+ case step_C:
61
+ if (plainchar == plaintextend)
62
+ {
63
+ state_in->result = result;
64
+ state_in->step = step_C;
65
+ return codechar - code_out;
66
+ }
67
+ fragment = *plainchar++;
68
+ result |= (fragment & 0x0c0) >> 6;
69
+ *codechar++ = base64_encode_value(result);
70
+ result = (fragment & 0x03f) >> 0;
71
+ *codechar++ = base64_encode_value(result);
72
+
73
+ ++(state_in->stepcount);
74
+ }
75
+ }
76
+ /* control should not reach here */
77
+ return codechar - code_out;
78
+ }
79
+
80
+ int base64_encode_blockend(char* code_out, base64_encodestate* state_in)
81
+ {
82
+ char* codechar = code_out;
83
+
84
+ switch (state_in->step)
85
+ {
86
+ case step_B:
87
+ *codechar++ = base64_encode_value(state_in->result);
88
+ *codechar++ = '=';
89
+ *codechar++ = '=';
90
+ break;
91
+ case step_C:
92
+ *codechar++ = base64_encode_value(state_in->result);
93
+ *codechar++ = '=';
94
+ break;
95
+ case step_A:
96
+ break;
97
+ }
98
+ *codechar++ = '\n';
99
+
100
+ return codechar - code_out;
101
+ }
102
+
@@ -0,0 +1,324 @@
1
+ #define SASS_COLOR_NAMES
2
+
3
+ namespace Sass {
4
+
5
+ /*
6
+ * Color names are processed in order. For color names with alternate aliases
7
+ * (i.e. gray & grey), the canonical name should be listed last, so it takes
8
+ * precedence.
9
+ */
10
+ const char* color_names[] =
11
+ {
12
+ "aliceblue",
13
+ "antiquewhite",
14
+ "aqua",
15
+ "aquamarine",
16
+ "azure",
17
+ "beige",
18
+ "bisque",
19
+ "black",
20
+ "blanchedalmond",
21
+ "blue",
22
+ "blueviolet",
23
+ "brown",
24
+ "burlywood",
25
+ "cadetblue",
26
+ "chartreuse",
27
+ "chocolate",
28
+ "coral",
29
+ "cornflowerblue",
30
+ "cornsilk",
31
+ "crimson",
32
+ "cyan",
33
+ "darkblue",
34
+ "darkcyan",
35
+ "darkgoldenrod",
36
+ "darkgrey",
37
+ "darkgray",
38
+ "darkgreen",
39
+ "darkkhaki",
40
+ "darkmagenta",
41
+ "darkolivegreen",
42
+ "darkorange",
43
+ "darkorchid",
44
+ "darkred",
45
+ "darksalmon",
46
+ "darkseagreen",
47
+ "darkslateblue",
48
+ "darkslategrey",
49
+ "darkslategray",
50
+ "darkturquoise",
51
+ "darkviolet",
52
+ "deeppink",
53
+ "deepskyblue",
54
+ "dimgrey",
55
+ "dimgray",
56
+ "dodgerblue",
57
+ "firebrick",
58
+ "floralwhite",
59
+ "forestgreen",
60
+ "fuchsia",
61
+ "gainsboro",
62
+ "ghostwhite",
63
+ "gold",
64
+ "goldenrod",
65
+ "grey",
66
+ "gray",
67
+ "green",
68
+ "greenyellow",
69
+ "honeydew",
70
+ "hotpink",
71
+ "indianred",
72
+ "indigo",
73
+ "ivory",
74
+ "khaki",
75
+ "lavender",
76
+ "lavenderblush",
77
+ "lawngreen",
78
+ "lemonchiffon",
79
+ "lightblue",
80
+ "lightcoral",
81
+ "lightcyan",
82
+ "lightgoldenrodyellow",
83
+ "lightgrey",
84
+ "lightgray",
85
+ "lightgreen",
86
+ "lightpink",
87
+ "lightsalmon",
88
+ "lightseagreen",
89
+ "lightskyblue",
90
+ "lightslategrey",
91
+ "lightslategray",
92
+ "lightsteelblue",
93
+ "lightyellow",
94
+ "lime",
95
+ "limegreen",
96
+ "linen",
97
+ "magenta",
98
+ "maroon",
99
+ "mediumaquamarine",
100
+ "mediumblue",
101
+ "mediumorchid",
102
+ "mediumpurple",
103
+ "mediumseagreen",
104
+ "mediumslateblue",
105
+ "mediumspringgreen",
106
+ "mediumturquoise",
107
+ "mediumvioletred",
108
+ "midnightblue",
109
+ "mintcream",
110
+ "mistyrose",
111
+ "moccasin",
112
+ "navajowhite",
113
+ "navy",
114
+ "oldlace",
115
+ "olive",
116
+ "olivedrab",
117
+ "orange",
118
+ "orangered",
119
+ "orchid",
120
+ "palegoldenrod",
121
+ "palegreen",
122
+ "paleturquoise",
123
+ "palevioletred",
124
+ "papayawhip",
125
+ "peachpuff",
126
+ "peru",
127
+ "pink",
128
+ "plum",
129
+ "powderblue",
130
+ "purple",
131
+ "red",
132
+ "rosybrown",
133
+ "royalblue",
134
+ "saddlebrown",
135
+ "salmon",
136
+ "sandybrown",
137
+ "seagreen",
138
+ "seashell",
139
+ "sienna",
140
+ "silver",
141
+ "skyblue",
142
+ "slateblue",
143
+ "slategrey",
144
+ "slategray",
145
+ "snow",
146
+ "springgreen",
147
+ "steelblue",
148
+ "tan",
149
+ "teal",
150
+ "thistle",
151
+ "tomato",
152
+ "turquoise",
153
+ "violet",
154
+ "wheat",
155
+ "white",
156
+ "whitesmoke",
157
+ "yellow",
158
+ "yellowgreen",
159
+ // rebeccapurple
160
+ "rebeccapurple",
161
+ // transparent
162
+ "transparent",
163
+ // sentinel value
164
+ 0
165
+ };
166
+
167
+ const double color_values[] =
168
+ {
169
+ 0xf0, 0xf8, 0xff, 1,
170
+ 0xfa, 0xeb, 0xd7, 1,
171
+ 0x00, 0xff, 0xff, 1,
172
+ 0x7f, 0xff, 0xd4, 1,
173
+ 0xf0, 0xff, 0xff, 1,
174
+ 0xf5, 0xf5, 0xdc, 1,
175
+ 0xff, 0xe4, 0xc4, 1,
176
+ 0x00, 0x00, 0x00, 1,
177
+ 0xff, 0xeb, 0xcd, 1,
178
+ 0x00, 0x00, 0xff, 1,
179
+ 0x8a, 0x2b, 0xe2, 1,
180
+ 0xa5, 0x2a, 0x2a, 1,
181
+ 0xde, 0xb8, 0x87, 1,
182
+ 0x5f, 0x9e, 0xa0, 1,
183
+ 0x7f, 0xff, 0x00, 1,
184
+ 0xd2, 0x69, 0x1e, 1,
185
+ 0xff, 0x7f, 0x50, 1,
186
+ 0x64, 0x95, 0xed, 1,
187
+ 0xff, 0xf8, 0xdc, 1,
188
+ 0xdc, 0x14, 0x3c, 1,
189
+ 0x00, 0xff, 0xff, 1,
190
+ 0x00, 0x00, 0x8b, 1,
191
+ 0x00, 0x8b, 0x8b, 1,
192
+ 0xb8, 0x86, 0x0b, 1,
193
+ 0xa9, 0xa9, 0xa9, 1,
194
+ 0xa9, 0xa9, 0xa9, 1,
195
+ 0x00, 0x64, 0x00, 1,
196
+ 0xbd, 0xb7, 0x6b, 1,
197
+ 0x8b, 0x00, 0x8b, 1,
198
+ 0x55, 0x6b, 0x2f, 1,
199
+ 0xff, 0x8c, 0x00, 1,
200
+ 0x99, 0x32, 0xcc, 1,
201
+ 0x8b, 0x00, 0x00, 1,
202
+ 0xe9, 0x96, 0x7a, 1,
203
+ 0x8f, 0xbc, 0x8f, 1,
204
+ 0x48, 0x3d, 0x8b, 1,
205
+ 0x2f, 0x4f, 0x4f, 1,
206
+ 0x2f, 0x4f, 0x4f, 1,
207
+ 0x00, 0xce, 0xd1, 1,
208
+ 0x94, 0x00, 0xd3, 1,
209
+ 0xff, 0x14, 0x93, 1,
210
+ 0x00, 0xbf, 0xff, 1,
211
+ 0x69, 0x69, 0x69, 1,
212
+ 0x69, 0x69, 0x69, 1,
213
+ 0x1e, 0x90, 0xff, 1,
214
+ 0xb2, 0x22, 0x22, 1,
215
+ 0xff, 0xfa, 0xf0, 1,
216
+ 0x22, 0x8b, 0x22, 1,
217
+ 0xff, 0x00, 0xff, 1,
218
+ 0xdc, 0xdc, 0xdc, 1,
219
+ 0xf8, 0xf8, 0xff, 1,
220
+ 0xff, 0xd7, 0x00, 1,
221
+ 0xda, 0xa5, 0x20, 1,
222
+ 0x80, 0x80, 0x80, 1,
223
+ 0x80, 0x80, 0x80, 1,
224
+ 0x00, 0x80, 0x00, 1,
225
+ 0xad, 0xff, 0x2f, 1,
226
+ 0xf0, 0xff, 0xf0, 1,
227
+ 0xff, 0x69, 0xb4, 1,
228
+ 0xcd, 0x5c, 0x5c, 1,
229
+ 0x4b, 0x00, 0x82, 1,
230
+ 0xff, 0xff, 0xf0, 1,
231
+ 0xf0, 0xe6, 0x8c, 1,
232
+ 0xe6, 0xe6, 0xfa, 1,
233
+ 0xff, 0xf0, 0xf5, 1,
234
+ 0x7c, 0xfc, 0x00, 1,
235
+ 0xff, 0xfa, 0xcd, 1,
236
+ 0xad, 0xd8, 0xe6, 1,
237
+ 0xf0, 0x80, 0x80, 1,
238
+ 0xe0, 0xff, 0xff, 1,
239
+ 0xfa, 0xfa, 0xd2, 1,
240
+ 0xd3, 0xd3, 0xd3, 1,
241
+ 0xd3, 0xd3, 0xd3, 1,
242
+ 0x90, 0xee, 0x90, 1,
243
+ 0xff, 0xb6, 0xc1, 1,
244
+ 0xff, 0xa0, 0x7a, 1,
245
+ 0x20, 0xb2, 0xaa, 1,
246
+ 0x87, 0xce, 0xfa, 1,
247
+ 0x77, 0x88, 0x99, 1,
248
+ 0x77, 0x88, 0x99, 1,
249
+ 0xb0, 0xc4, 0xde, 1,
250
+ 0xff, 0xff, 0xe0, 1,
251
+ 0x00, 0xff, 0x00, 1,
252
+ 0x32, 0xcd, 0x32, 1,
253
+ 0xfa, 0xf0, 0xe6, 1,
254
+ 0xff, 0x00, 0xff, 1,
255
+ 0x80, 0x00, 0x00, 1,
256
+ 0x66, 0xcd, 0xaa, 1,
257
+ 0x00, 0x00, 0xcd, 1,
258
+ 0xba, 0x55, 0xd3, 1,
259
+ 0x93, 0x70, 0xdb, 1,
260
+ 0x3c, 0xb3, 0x71, 1,
261
+ 0x7b, 0x68, 0xee, 1,
262
+ 0x00, 0xfa, 0x9a, 1,
263
+ 0x48, 0xd1, 0xcc, 1,
264
+ 0xc7, 0x15, 0x85, 1,
265
+ 0x19, 0x19, 0x70, 1,
266
+ 0xf5, 0xff, 0xfa, 1,
267
+ 0xff, 0xe4, 0xe1, 1,
268
+ 0xff, 0xe4, 0xb5, 1,
269
+ 0xff, 0xde, 0xad, 1,
270
+ 0x00, 0x00, 0x80, 1,
271
+ 0xfd, 0xf5, 0xe6, 1,
272
+ 0x80, 0x80, 0x00, 1,
273
+ 0x6b, 0x8e, 0x23, 1,
274
+ 0xff, 0xa5, 0x00, 1,
275
+ 0xff, 0x45, 0x00, 1,
276
+ 0xda, 0x70, 0xd6, 1,
277
+ 0xee, 0xe8, 0xaa, 1,
278
+ 0x98, 0xfb, 0x98, 1,
279
+ 0xaf, 0xee, 0xee, 1,
280
+ 0xdb, 0x70, 0x93, 1,
281
+ 0xff, 0xef, 0xd5, 1,
282
+ 0xff, 0xda, 0xb9, 1,
283
+ 0xcd, 0x85, 0x3f, 1,
284
+ 0xff, 0xc0, 0xcb, 1,
285
+ 0xdd, 0xa0, 0xdd, 1,
286
+ 0xb0, 0xe0, 0xe6, 1,
287
+ 0x80, 0x00, 0x80, 1,
288
+ 0xff, 0x00, 0x00, 1,
289
+ 0xbc, 0x8f, 0x8f, 1,
290
+ 0x41, 0x69, 0xe1, 1,
291
+ 0x8b, 0x45, 0x13, 1,
292
+ 0xfa, 0x80, 0x72, 1,
293
+ 0xf4, 0xa4, 0x60, 1,
294
+ 0x2e, 0x8b, 0x57, 1,
295
+ 0xff, 0xf5, 0xee, 1,
296
+ 0xa0, 0x52, 0x2d, 1,
297
+ 0xc0, 0xc0, 0xc0, 1,
298
+ 0x87, 0xce, 0xeb, 1,
299
+ 0x6a, 0x5a, 0xcd, 1,
300
+ 0x70, 0x80, 0x90, 1,
301
+ 0x70, 0x80, 0x90, 1,
302
+ 0xff, 0xfa, 0xfa, 1,
303
+ 0x00, 0xff, 0x7f, 1,
304
+ 0x46, 0x82, 0xb4, 1,
305
+ 0xd2, 0xb4, 0x8c, 1,
306
+ 0x00, 0x80, 0x80, 1,
307
+ 0xd8, 0xbf, 0xd8, 1,
308
+ 0xff, 0x63, 0x47, 1,
309
+ 0x40, 0xe0, 0xd0, 1,
310
+ 0xee, 0x82, 0xee, 1,
311
+ 0xf5, 0xde, 0xb3, 1,
312
+ 0xff, 0xff, 0xff, 1,
313
+ 0xf5, 0xf5, 0xf5, 1,
314
+ 0xff, 0xff, 0x00, 1,
315
+ 0x9a, 0xcd, 0x32, 1,
316
+ // rebeccapurple
317
+ 0x66, 0x33, 0x99, 1,
318
+ // transparent
319
+ 0x00, 0x00, 0x00, 0,
320
+ // sentinel value
321
+ 0xfff
322
+ };
323
+
324
+ }
@@ -0,0 +1,130 @@
1
+ # -*- Autoconf -*-
2
+ # Process this file with autoconf to produce a configure script.
3
+
4
+ AC_PREREQ([2.61])
5
+ AC_INIT([libsass], [3.0.3], [support@moovweb.com])
6
+ AC_CONFIG_SRCDIR([ast.hpp])
7
+ AC_CONFIG_MACRO_DIR([m4])
8
+ AC_CONFIG_HEADERS([config.h])
9
+ AC_CONFIG_AUX_DIR([script])
10
+ AM_INIT_AUTOMAKE([foreign parallel-tests])
11
+ m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([no])])
12
+ LT_INIT
13
+
14
+ # Checks for programs.
15
+ AC_PROG_CXX
16
+
17
+ AC_LANG([C++])
18
+
19
+ # Checks for header files.
20
+ AC_CHECK_HEADERS([unistd.h])
21
+
22
+ # Checks for typedefs, structures, and compiler characteristics.
23
+ AC_TYPE_SIZE_T
24
+
25
+ # Checks for library functions.
26
+ AC_FUNC_MALLOC
27
+ AC_CHECK_FUNCS([floor getcwd strtol])
28
+
29
+ # Checks for testing.
30
+ AC_ARG_ENABLE(tests, AS_HELP_STRING([--enable-tests], [enable testing the build]),
31
+ [enable_tests="$enableval"], [enable_tests=no])
32
+
33
+ if test "x$enable_tests" = "xyes"; then
34
+ AC_PROG_CC
35
+ AC_PROG_AWK
36
+ # test need minitest gem
37
+ AC_PATH_PROG(RUBY, [ruby])
38
+ AC_PATH_PROG(TAPOUT, [tapout])
39
+ AC_REQUIRE_AUX_FILE([tap-driver])
40
+ AC_REQUIRE_AUX_FILE([tap-runner])
41
+ AC_ARG_WITH(sassc-dir,
42
+ AS_HELP_STRING([--with-sassc-dir=<dir>], [specify directory of sassc sources for testing (default: sassc)]),
43
+ [sassc_dir="$withval"], [sassc_dir="sassc"])
44
+ AC_CHECK_FILE([$sassc_dir/sassc.c], [], [
45
+ AC_MSG_ERROR([Unable to find sassc directory.
46
+ You must clone the sassc repository in this directory or specify
47
+ the --with-sassc-dir=<dir> argument.
48
+ ])
49
+ ])
50
+ SASS_SASSC_PATH=$sassc_dir
51
+ AC_SUBST(SASS_SASSC_PATH)
52
+
53
+ AC_ARG_WITH(sass-spec-dir,
54
+ AS_HELP_STRING([--with-sass-spec-dir=<dir>], [specify directory of sass-spec for testing (default: sass-spec)]),
55
+ [sass_spec_dir="$withval"], [sass_spec_dir="sass-spec"])
56
+ AC_CHECK_FILE([$sass_spec_dir/sass-spec.rb], [], [
57
+ AC_MSG_ERROR([Unable to find sass-spec directory.
58
+ You must clone the sass-spec repository in this directory or specify
59
+ the --with-sass-spec-dir=<dir> argument.
60
+ ])
61
+ ])
62
+ # Automake doesn't like its tests in an absolute path, so we make it relative.
63
+ case $sass_spec_dir in
64
+ /*)
65
+ SASS_SPEC_PATH=`$RUBY -e "require 'pathname';puts Pathname.new('$sass_spec_dir').relative_path_from(Pathname.new('$PWD')).to_s"`
66
+ ;;
67
+ *)
68
+ SASS_SPEC_PATH="$sass_spec_dir"
69
+ ;;
70
+ esac
71
+ AC_SUBST(SASS_SPEC_PATH)
72
+
73
+ # TODO: Remove this when automake requirements are 1.12+
74
+ AC_MSG_CHECKING([whether we can use TAP mode])
75
+ tmp=`$AWK '/TEST_LOG_DRIVER/' $srcdir/Makefile.in`
76
+ if test "x$tmp" != "x"; then
77
+ use_tap=yes
78
+ else
79
+ use_tap=no
80
+ fi
81
+ AC_MSG_RESULT([$use_tap])
82
+
83
+ fi
84
+
85
+ AM_CONDITIONAL(ENABLE_TESTS, test "x$enable_tests" = "xyes")
86
+ AM_CONDITIONAL(USE_TAP, test "x$use_tap" = "xyes")
87
+
88
+ AC_ARG_ENABLE([coverage],
89
+ [AS_HELP_STRING([--enable-coverage],
90
+ [enable coverage report for test suite])],
91
+ [enable_cov=$enableval],
92
+ [enable_cov=no])
93
+
94
+ if test "x$enable_cov" = "xyes"; then
95
+
96
+ AC_CHECK_PROG(GCOV, gcov, gcov)
97
+
98
+ # Remove all optimization flags from C[XX]FLAGS
99
+ changequote({,})
100
+ CFLAGS=`echo "$CFLAGS" | $SED -e 's/-O[0-9]*//g'`
101
+ CXXFLAGS=`echo "$CXXFLAGS" | $SED -e 's/-O[0-9]*//g'`
102
+ changequote([,])
103
+
104
+ AC_SUBST(GCOV)
105
+ fi
106
+
107
+ AM_CONDITIONAL(ENABLE_COVERAGE, test "x$enable_cov" = "xyes")
108
+
109
+ AC_ARG_VAR(LIBSASS_VERSION, libsass version)
110
+ if test "x$LIBSASS_VERSION" = "x"; then
111
+ AC_CHECK_PROG(GIT, git, git)
112
+ if test "x$GIT" = "x"; then
113
+ LIBSASS_VERSION=$VERSION
114
+ else
115
+ AC_CHECK_FILE(.git/config, [
116
+ LIBSASS_VERSION=`$GIT describe --abbrev=4 --dirty --always --tags`
117
+ ], [
118
+ LIBSASS_VERSION=$VERSION
119
+ ])
120
+ fi
121
+ if test "x$LIBSASS_VERSION" = "x"; then
122
+ AC_MSG_ERROR([LIBSASS_VERSION not defined.
123
+ You can solve this by setting LIBSASS_VERSION:
124
+ # export LIBSASS_VERSION="x.y.z"
125
+ ])
126
+ fi
127
+ fi
128
+
129
+ AC_CONFIG_FILES([Makefile support/libsass.pc])
130
+ AC_OUTPUT