You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
187 lines
4.9 KiB
187 lines
4.9 KiB
diff --git a/CMakeLists.txt b/CMakeLists.txt |
|
index 21e395ed3c..da0af963ed 100644 |
|
--- a/CMakeLists.txt |
|
+++ b/CMakeLists.txt |
|
@@ -325,6 +325,22 @@ if (NOT ("${CMAKE_C_COMPILER_ID}" STREQUAL "MSVC")) |
|
# XXX need cmake>=3.13 for this: |
|
#add_link_options("-Wl,-Bsymbolic-functions") |
|
endif() |
|
+ |
|
+ file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/check-version-script.sym" "TEST { global: *; };") |
|
+ list(APPEND CMAKE_REQUIRED_LIBRARIES "-Wl,--version-script,${CMAKE_CURRENT_BINARY_DIR}/check-version-script.sym") |
|
+ check_c_source_compiles( |
|
+ " |
|
+ int main (void) |
|
+ { |
|
+ return 0; |
|
+ } |
|
+ " |
|
+ VERSION_SCRIPT_WORKS |
|
+ ) |
|
+ list(REMOVE_ITEM CMAKE_REQUIRED_LIBRARIES "-Wl,--version-script,${CMAKE_CURRENT_BINARY_DIR}/check-version-script.sym") |
|
+ if (VERSION_SCRIPT_WORKS) |
|
+ set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -Wl,--version-script,${CMAKE_CURRENT_SOURCE_DIR}/json-c.sym") |
|
+ endif() |
|
endif() |
|
|
|
if ($ENV{VALGRIND}) |
|
diff --git a/json-c.sym b/json-c.sym |
|
new file mode 100644 |
|
index 0000000000..bf78792b7e |
|
--- /dev/null |
|
+++ b/json-c.sym |
|
@@ -0,0 +1,153 @@ |
|
+JSONC_0.14 { |
|
+ global: |
|
+ _json_c_set_last_err; |
|
+ _json_c_strerror; |
|
+ _json_c_strerror_enable; |
|
+ array_list_add; |
|
+ array_list_bsearch; |
|
+ array_list_del_idx; |
|
+ array_list_free; |
|
+ array_list_get_idx; |
|
+ array_list_length; |
|
+ array_list_new; |
|
+ array_list_put_idx; |
|
+ array_list_sort; |
|
+ json_c_get_random_seed; |
|
+ json_c_object_sizeof; |
|
+ json_c_set_serialization_double_format; |
|
+ json_c_shallow_copy_default; |
|
+ json_c_version; |
|
+ json_c_version_num; |
|
+ json_c_visit; |
|
+ json_global_set_string_hash; |
|
+ json_hex_chars; |
|
+ json_number_chars; |
|
+ json_object_array_add; |
|
+ json_object_array_bsearch; |
|
+ json_object_array_del_idx; |
|
+ json_object_array_get_idx; |
|
+ json_object_array_length; |
|
+ json_object_array_put_idx; |
|
+ json_object_array_sort; |
|
+ json_object_deep_copy; |
|
+ json_object_double_to_json_string; |
|
+ json_object_equal; |
|
+ json_object_free_userdata; |
|
+ json_object_from_fd; |
|
+ json_object_from_fd_ex; |
|
+ json_object_from_file; |
|
+ json_object_get; |
|
+ json_object_get_array; |
|
+ json_object_get_boolean; |
|
+ json_object_get_double; |
|
+ json_object_get_int64; |
|
+ json_object_get_int; |
|
+ json_object_get_object; |
|
+ json_object_get_string; |
|
+ json_object_get_string_len; |
|
+ json_object_get_type; |
|
+ json_object_get_uint64; |
|
+ json_object_get_userdata; |
|
+ json_object_int_inc; |
|
+ json_object_is_type; |
|
+ json_object_iter_begin; |
|
+ json_object_iter_end; |
|
+ json_object_iter_equal; |
|
+ json_object_iter_init_default; |
|
+ json_object_iter_next; |
|
+ json_object_iter_peek_name; |
|
+ json_object_iter_peek_value; |
|
+ json_object_new_array; |
|
+ json_object_new_boolean; |
|
+ json_object_new_double; |
|
+ json_object_new_double_s; |
|
+ json_object_new_int64; |
|
+ json_object_new_int; |
|
+ json_object_new_null; |
|
+ json_object_new_object; |
|
+ json_object_new_string; |
|
+ json_object_new_string_len; |
|
+ json_object_new_uint64; |
|
+ json_object_object_add; |
|
+ json_object_object_add_ex; |
|
+ json_object_object_del; |
|
+ json_object_object_get; |
|
+ json_object_object_get_ex; |
|
+ json_object_object_length; |
|
+ json_object_put; |
|
+ json_object_set_boolean; |
|
+ json_object_set_double; |
|
+ json_object_set_int64; |
|
+ json_object_set_int; |
|
+ json_object_set_serializer; |
|
+ json_object_set_string; |
|
+ json_object_set_string_len; |
|
+ json_object_set_uint64; |
|
+ json_object_set_userdata; |
|
+ json_object_to_fd; |
|
+ json_object_to_file; |
|
+ json_object_to_file_ext; |
|
+ json_object_to_json_string; |
|
+ json_object_to_json_string_ext; |
|
+ json_object_to_json_string_length; |
|
+ json_object_userdata_to_json_string; |
|
+ json_parse_double; |
|
+ json_parse_int64; |
|
+ json_parse_uint64; |
|
+ json_pointer_get; |
|
+ json_pointer_getf; |
|
+ json_pointer_set; |
|
+ json_pointer_setf; |
|
+ json_tokener_error_desc; |
|
+ json_tokener_free; |
|
+ json_tokener_get_error; |
|
+ json_tokener_get_parse_end; |
|
+ json_tokener_new; |
|
+ json_tokener_new_ex; |
|
+ json_tokener_parse; |
|
+ json_tokener_parse_ex; |
|
+ json_tokener_parse_verbose; |
|
+ json_tokener_reset; |
|
+ json_tokener_set_flags; |
|
+ json_type_to_name; |
|
+ json_util_get_last_err; |
|
+ lh_char_equal; |
|
+ lh_kchar_table_new; |
|
+ lh_kptr_table_new; |
|
+ lh_ptr_equal; |
|
+ lh_table_delete; |
|
+ lh_table_delete_entry; |
|
+ lh_table_free; |
|
+ lh_table_insert; |
|
+ lh_table_insert_w_hash; |
|
+ lh_table_length; |
|
+ lh_table_lookup; |
|
+ lh_table_lookup_entry; |
|
+ lh_table_lookup_entry_w_hash; |
|
+ lh_table_lookup_ex; |
|
+ lh_table_new; |
|
+ lh_table_resize; |
|
+ mc_debug; |
|
+ mc_error; |
|
+ mc_get_debug; |
|
+ mc_info; |
|
+ mc_set_debug; |
|
+ mc_set_syslog; |
|
+ printbuf_free; |
|
+ printbuf_memappend; |
|
+ printbuf_memset; |
|
+ printbuf_new; |
|
+ printbuf_reset; |
|
+ sprintbuf; |
|
+ |
|
+ local: |
|
+ *; |
|
+}; |
|
+ |
|
+JSONC_0.15 { |
|
+ global: |
|
+ array_list_new2; |
|
+ array_list_shrink; |
|
+ json_object_array_shrink; |
|
+ json_object_new_array_ext; |
|
+} JSONC_0.14; |
|
|
|
|