fix(lib): allow hiding symbols
This commit is contained in:
parent
4b12eab927
commit
4bbaee2f56
3 changed files with 8 additions and 2 deletions
|
|
@ -1341,7 +1341,9 @@ impl Generator {
|
|||
add_line!(self, "");
|
||||
}
|
||||
|
||||
add_line!(self, "#ifdef _WIN32");
|
||||
add_line!(self, "#ifdef TREE_SITTER_HIDE_SYMBOLS");
|
||||
add_line!(self, "#define TS_PUBLIC");
|
||||
add_line!(self, "#elif defined(_WIN32)");
|
||||
add_line!(self, "#define TS_PUBLIC __declspec(dllexport)");
|
||||
add_line!(self, "#else");
|
||||
add_line!(
|
||||
|
|
|
|||
|
|
@ -1,9 +1,11 @@
|
|||
#ifndef TREE_SITTER_API_H_
|
||||
#define TREE_SITTER_API_H_
|
||||
|
||||
#ifndef TREE_SITTER_HIDE_SYMBOLS
|
||||
#if defined(__GNUC__) || defined(__clang__)
|
||||
#pragma GCC visibility push(default)
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
|
|
@ -1255,8 +1257,10 @@ void ts_set_allocator(
|
|||
}
|
||||
#endif
|
||||
|
||||
#ifndef TREE_SITTER_HIDE_SYMBOLS
|
||||
#if defined(__GNUC__) || defined(__clang__)
|
||||
#pragma GCC visibility pop
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#endif // TREE_SITTER_API_H_
|
||||
|
|
|
|||
|
|
@ -9,7 +9,7 @@ extern "C" {
|
|||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
#ifdef _WIN32
|
||||
#if defined(TREE_SITTER_HIDDEN_SYMBOLS) || defined(_WIN32)
|
||||
#define TS_PUBLIC
|
||||
#else
|
||||
#define TS_PUBLIC __attribute__((visibility("default")))
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue