1#ifndef SASS_BASE_H
2#define SASS_BASE_H
3
4// #define DEBUG
5// #define DEBUG_SHARED_PTR
6
7#ifdef _MSC_VER
8 #pragma warning(disable : 4503)
9 #ifndef _SCL_SECURE_NO_WARNINGS
10 #define _SCL_SECURE_NO_WARNINGS
11 #endif
12 #ifndef _CRT_SECURE_NO_WARNINGS
13 #define _CRT_SECURE_NO_WARNINGS
14 #endif
15 #ifndef _CRT_NONSTDC_NO_DEPRECATE
16 #define _CRT_NONSTDC_NO_DEPRECATE
17 #endif
18#endif
19
20// Work around lack of `noexcept` keyword support in VS2013
21#if defined(_MSC_VER) && (_MSC_VER <= 1800) && !defined(_ALLOW_KEYWORD_MACROS)
22#define _ALLOW_KEYWORD_MACROS 1
23#define noexcept throw( )
24#endif
25
26#include <stddef.h>
27#include <stdbool.h>
28
29#ifdef __GNUC__
30 #define DEPRECATED(func) func __attribute__ ((deprecated))
31#elif defined(_MSC_VER)
32 #define DEPRECATED(func) __declspec(deprecated) func
33#else
34 #pragma message("WARNING: You need to implement DEPRECATED for this compiler")
35 #define DEPRECATED(func) func
36#endif
37
38#ifdef _WIN32
39
40 /* You should define ADD_EXPORTS *only* when building the DLL. */
41 #ifdef ADD_EXPORTS
42 #define ADDAPI __declspec(dllexport)
43 #define ADDCALL __cdecl
44 #else
45 #define ADDAPI
46 #define ADDCALL
47 #endif
48
49#else /* _WIN32 not defined. */
50
51 /* Define with no value on non-Windows OSes. */
52 #define ADDAPI
53 #define ADDCALL
54
55#endif
56
57/* Make sure functions are exported with C linkage under C++ compilers. */
58#ifdef __cplusplus
59extern "C" {
60#endif
61
62
63// Different render styles
64enum Sass_Output_Style {
65 SASS_STYLE_NESTED,
66 SASS_STYLE_EXPANDED,
67 SASS_STYLE_COMPACT,
68 SASS_STYLE_COMPRESSED,
69 // only used internaly
70 SASS_STYLE_INSPECT,
71 SASS_STYLE_TO_SASS,
72 SASS_STYLE_TO_CSS
73};
74
75// to allocate buffer to be filled
76ADDAPI void* ADDCALL sass_alloc_memory(size_t size);
77// to allocate a buffer from existing string
78ADDAPI char* ADDCALL sass_copy_c_string(const char* str);
79// to free overtaken memory when done
80ADDAPI void ADDCALL sass_free_memory(void* ptr);
81
82// Some convenient string helper function
83ADDAPI char* ADDCALL sass_string_quote (const char* str, const char quote_mark);
84ADDAPI char* ADDCALL sass_string_unquote (const char* str);
85
86// Implemented sass language version
87// Hardcoded version 3.4 for time being
88ADDAPI const char* ADDCALL libsass_version(void);
89
90// Get compiled libsass language
91ADDAPI const char* ADDCALL libsass_language_version(void);
92
93#ifdef __cplusplus
94} // __cplusplus defined.
95#endif
96
97#endif
98

source code of gtk/subprojects/libsass/include/sass/base.h