summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorWeixuan XIAO <veyx.shaw@gmail.com>2020-11-22 19:10:02 +0100
committerPeng Wu <alexepico@gmail.com>2020-11-26 11:03:49 +0800
commitccf9c76a38c8a784535499d806843445e1ad385e (patch)
tree1799d7ee0e5ad2799609a2db0d1e6cb7c9932edc /src
parent76108f9b60e521af2d716b22dd5dd99d62609e72 (diff)
downloadlibpinyin-ccf9c76a38c8a784535499d806843445e1ad385e.tar.gz
libpinyin-ccf9c76a38c8a784535499d806843445e1ad385e.tar.xz
libpinyin-ccf9c76a38c8a784535499d806843445e1ad385e.zip
Replace -version-script flag with -exported_symbols_list for LLVM
Detect whether $CXX is clang with gcc alias. Use -exported_symbols_list under Clang/LLVM env
Diffstat (limited to 'src')
-rw-r--r--src/Makefile.am14
-rw-r--r--src/libpinyin.exp74
-rw-r--r--src/libzhuyin.exp52
3 files changed, 140 insertions, 0 deletions
diff --git a/src/Makefile.am b/src/Makefile.am
index f2b8f75..ef9a042 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -81,8 +81,15 @@ libpinyin_la_SOURCES = $(pinyin_SOURCES) pinyin.cpp
libpinyin_la_LIBADD = @GLIB2_LIBS@
+if CLANG
+## LLVM linker does not support --version-script,
+## use -exported_symbols_list instead
+libpinyin_la_LDFLAGS = -Wl -exported_symbols_list $(srcdir)/libpinyin.exp \
+ -version-info @LT_VERSION_INFO@
+else
libpinyin_la_LDFLAGS = -Wl,--version-script=$(srcdir)/libpinyin.ver \
-version-info @LT_VERSION_INFO@
+endif
if ENABLE_LIBZHUYIN
lib_LTLIBRARIES += libzhuyin.la
@@ -91,9 +98,16 @@ libzhuyin_la_SOURCES = $(pinyin_SOURCES) zhuyin.cpp
libzhuyin_la_LIBADD = @GLIB2_LIBS@
+if CLANG
+## LLVM linker does not support --version-script,
+## use -exported_symbols_list instead
+libzhuyin_la_LDFLAGS = -Wl -exported_symbols_list $(srcdir)/libzhuyin.exp \
+ -version-info @LT_VERSION_INFO@
+else
libzhuyin_la_LDFLAGS = -Wl,--version-script=$(srcdir)/libzhuyin.ver \
-version-info @LT_VERSION_INFO@
endif
+endif
libpinyin_internal_a_SOURCES = pinyin_internal.cpp
diff --git a/src/libpinyin.exp b/src/libpinyin.exp
new file mode 100644
index 0000000..1e7257a
--- /dev/null
+++ b/src/libpinyin.exp
@@ -0,0 +1,74 @@
+_pinyin_init
+_pinyin_save
+_pinyin_set_full_pinyin_scheme
+_pinyin_set_double_pinyin_scheme
+_pinyin_set_zhuyin_scheme
+_pinyin_load_phrase_library
+_pinyin_unload_phrase_library
+_pinyin_load_addon_phrase_library
+_pinyin_unload_addon_phrase_library
+_pinyin_begin_add_phrases
+_pinyin_iterator_add_phrase
+_pinyin_end_add_phrases
+_pinyin_begin_get_phrases
+_pinyin_iterator_has_next_phrase
+_pinyin_iterator_get_next_phrase
+_pinyin_end_get_phrases
+_pinyin_fini
+_pinyin_mask_out
+_pinyin_set_options
+_pinyin_alloc_instance
+_pinyin_free_instance
+_pinyin_get_context
+_pinyin_guess_sentence
+_pinyin_guess_sentence_with_prefix
+_pinyin_guess_predicted_candidates
+_pinyin_phrase_segment
+_pinyin_get_sentence
+_pinyin_parse_full_pinyin
+_pinyin_parse_more_full_pinyins
+_pinyin_parse_double_pinyin
+_pinyin_parse_more_double_pinyins
+_pinyin_parse_chewing
+_pinyin_parse_more_chewings
+_pinyin_get_parsed_input_length
+_pinyin_in_chewing_keyboard
+_pinyin_guess_candidates
+_pinyin_choose_candidate
+_pinyin_choose_predicted_candidate
+_pinyin_clear_constraint
+_pinyin_lookup_tokens
+_pinyin_train
+_pinyin_reset
+_pinyin_get_zhuyin_string
+_pinyin_get_pinyin_string
+_pinyin_get_luoma_pinyin_string
+_pinyin_get_secondary_zhuyin_string
+_pinyin_get_pinyin_strings
+_pinyin_get_pinyin_is_incomplete
+_pinyin_token_get_phrase
+_pinyin_token_get_n_pronunciation
+_pinyin_token_get_nth_pronunciation
+_pinyin_token_get_unigram_frequency
+_pinyin_token_add_unigram_frequency
+_pinyin_get_n_candidate
+_pinyin_get_candidate
+_pinyin_get_candidate_type
+_pinyin_get_candidate_string
+_pinyin_get_candidate_nbest_index
+_pinyin_get_pinyin_key
+_pinyin_get_pinyin_key_rest
+_pinyin_get_pinyin_key_rest_positions
+_pinyin_get_pinyin_key_rest_length
+_pinyin_get_pinyin_offset
+_pinyin_get_left_pinyin_offset
+_pinyin_get_right_pinyin_offset
+_pinyin_get_character_offset
+_pinyin_get_n_phrase
+_pinyin_get_phrase_token
+_pinyin_get_full_pinyin_auxiliary_text
+_pinyin_get_double_pinyin_auxiliary_text
+_pinyin_get_chewing_auxiliary_text
+_pinyin_remember_user_input
+_pinyin_is_user_candidate
+_pinyin_remove_user_candidate \ No newline at end of file
diff --git a/src/libzhuyin.exp b/src/libzhuyin.exp
new file mode 100644
index 0000000..94497e5
--- /dev/null
+++ b/src/libzhuyin.exp
@@ -0,0 +1,52 @@
+_zhuyin_init
+_zhuyin_save
+_zhuyin_set_chewing_scheme
+_zhuyin_set_full_pinyin_scheme
+_zhuyin_load_phrase_library
+_zhuyin_unload_phrase_library
+_zhuyin_begin_add_phrases
+_zhuyin_iterator_add_phrase
+_zhuyin_end_add_phrases
+_zhuyin_fini
+_zhuyin_mask_out
+_zhuyin_set_options
+_zhuyin_alloc_instance
+_zhuyin_free_instance
+_zhuyin_guess_sentence
+_zhuyin_guess_sentence_with_prefix
+_zhuyin_phrase_segment
+_zhuyin_get_sentence
+_zhuyin_parse_full_pinyin
+_zhuyin_parse_more_full_pinyins
+_zhuyin_parse_chewing
+_zhuyin_parse_more_chewings
+_zhuyin_get_parsed_input_length
+_zhuyin_in_chewing_keyboard
+_zhuyin_guess_candidates_after_cursor
+_zhuyin_guess_candidates_before_cursor
+_zhuyin_choose_candidate
+_zhuyin_clear_constraint
+_zhuyin_lookup_tokens
+_zhuyin_train
+_zhuyin_reset
+_zhuyin_get__zhuyin_string
+_zhuyin_get_pinyin_string
+_zhuyin_token_get_phrase
+_zhuyin_token_get_n_pronunciation
+_zhuyin_token_get_nth_pronunciation
+_zhuyin_token_get_unigram_frequency
+_zhuyin_token_add_unigram_frequency
+_zhuyin_get_n_candidate
+_zhuyin_get_candidate
+_zhuyin_get_candidate_type
+_zhuyin_get_candidate_string
+_zhuyin_get_zhuyin_key
+_zhuyin_get_zhuyin_key_rest
+_zhuyin_get_zhuyin_key_rest_positions
+_zhuyin_get_zhuyin_key_rest_length
+_zhuyin_get_zhuyin_offset
+_zhuyin_get_left_zhuyin_offset
+_zhuyin_get_right_zhuyin_offset
+_zhuyin_get_character_offset
+_zhuyin_get_n_phrase
+_zhuyin_get_phrase_token \ No newline at end of file