sassc 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
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