@@ -7,6 +7,238 @@ ADD_DEFINITIONS(-D HAVE_COMPRESS)
77ADD_DEFINITIONS (-D LIBMARIADB)
88ADD_DEFINITIONS (-D THREAD)
99
10+ SET (EXPORT_SYMBOLS
11+ load_defaults
12+ mariadb_connection
13+ mariadb_convert_string
14+ mariadb_deinitialize_ssl
15+ mariadb_dyncol_check
16+ mariadb_dyncol_column_cmp_named
17+ mariadb_dyncol_column_count
18+ mariadb_dyncol_create_many_named
19+ mariadb_dyncol_create_many_num
20+ mariadb_dyncol_exists_named
21+ mariadb_dyncol_exists_num
22+ mariadb_dyncol_free
23+ mariadb_dyncol_get_named
24+ mariadb_dyncol_get_num
25+ mariadb_dyncol_has_names
26+ mariadb_dyncol_json
27+ mariadb_dyncol_list_named
28+ mariadb_dyncol_list_num
29+ mariadb_dyncol_unpack
30+ mariadb_dyncol_update_many_named
31+ mariadb_dyncol_update_many_num
32+ mariadb_dyncol_val_double
33+ mariadb_dyncol_val_long
34+ mariadb_dyncol_val_str
35+ myodbc_remove_escape
36+ mysql_affected_rows
37+ mysql_autocommit
38+ mysql_autocommit_cont
39+ mysql_autocommit_start
40+ mysql_change_user
41+ mysql_change_user_cont
42+ mysql_change_user_start
43+ mysql_character_set_name
44+ mysql_client_find_plugin
45+ mysql_client_register_plugin
46+ mysql_close
47+ mysql_close_cont
48+ mysql_close_start
49+ mysql_commit
50+ mysql_commit_cont
51+ mysql_commit_start
52+ mysql_data_seek
53+ mysql_debug
54+ mysql_dump_debug_info
55+ mysql_dump_debug_info_cont
56+ mysql_dump_debug_info_start
57+ mysql_eof
58+ mysql_errno
59+ mysql_error
60+ mysql_escape_string
61+ mysql_fetch_field
62+ mysql_fetch_field_direct
63+ mysql_fetch_fields
64+ mysql_fetch_lengths
65+ mysql_fetch_row
66+ mysql_fetch_row_cont
67+ mysql_fetch_row_start
68+ mysql_field_count
69+ mysql_field_seek
70+ mysql_field_tell
71+ mysql_free_result
72+ mysql_free_result_cont
73+ mysql_free_result_start
74+ mysql_get_character_set_info
75+ mysql_get_charset_by_name
76+ mysql_get_charset_by_nr
77+ mysql_get_client_info
78+ mysql_get_client_version
79+ mysql_get_host_info
80+ mysql_get_parameters
81+ mysql_get_proto_info
82+ mysql_get_server_info
83+ mysql_get_server_name
84+ mysql_get_server_version
85+ mysql_get_socket
86+ mysql_get_ssl_cipher
87+ mysql_get_timeout_value
88+ mysql_get_timeout_value_ms
89+ mysql_hex_string
90+ mysql_info
91+ mysql_init
92+ mysql_insert_id
93+ mysql_kill
94+ mysql_kill_cont
95+ mysql_kill_start
96+ mysql_list_dbs
97+ mysql_list_dbs_cont
98+ mysql_list_dbs_start
99+ mysql_list_fields
100+ mysql_list_fields_cont
101+ mysql_list_fields_start
102+ mysql_list_processes
103+ mysql_list_processes_cont
104+ mysql_list_processes_start
105+ mysql_list_tables
106+ mysql_list_tables_cont
107+ mysql_list_tables_start
108+ mysql_load_plugin;
109+ mysql_load_plugin_v
110+ mysql_more_results
111+ mysql_next_result
112+ mysql_next_result_cont
113+ mysql_next_result_start
114+ mysql_num_fields
115+ mysql_num_rows
116+ mysql_options
117+ mysql_optionsv
118+ mysql_ping
119+ mysql_ping_cont
120+ mysql_ping_start
121+ mysql_ps_fetch_functions
122+ mysql_query
123+ mysql_query_cont
124+ mysql_query_start
125+ mysql_read_query_result
126+ mysql_read_query_result_cont
127+ mysql_read_query_result_start
128+ mysql_real_connect
129+ mysql_real_connect_cont
130+ mysql_real_connect_start
131+ mysql_real_escape_string
132+ mysql_real_query
133+ mysql_real_query_cont
134+ mysql_real_query_start
135+ mysql_refresh
136+ mysql_refresh_cont
137+ mysql_refresh_start
138+ mysql_rollback
139+ mysql_rollback_cont
140+ mysql_rollback_start
141+ mysql_row_seek
142+ mysql_row_tell
143+ mysql_select_db
144+ mysql_select_db_cont
145+ mysql_select_db_start
146+ mysql_send_query
147+ mysql_send_query_cont
148+ mysql_send_query_start
149+ mysql_server_end
150+ mysql_server_init
151+ mysql_set_character_set
152+ mysql_set_character_set_cont
153+ mysql_set_character_set_start
154+ mysql_set_local_infile_default
155+ mysql_set_local_infile_handler
156+ mysql_set_server_option
157+ mysql_set_server_option_cont
158+ mysql_set_server_option_start
159+ mysql_shutdown
160+ mysql_shutdown_cont
161+ mysql_shutdown_start
162+ mysql_sqlstate
163+ mysql_ssl_set
164+ mysql_stat
165+ mysql_stat_cont
166+ mysql_stat_start
167+ mysql_stmt_affected_rows
168+ mysql_stmt_attr_get
169+ mysql_stmt_attr_set
170+ mysql_stmt_bind_param
171+ mysql_stmt_bind_result
172+ mysql_stmt_close
173+ mysql_stmt_close_cont
174+ mysql_stmt_close_start
175+ mysql_stmt_data_seek
176+ mysql_stmt_errno
177+ mysql_stmt_error
178+ mysql_stmt_execute
179+ mysql_stmt_execute_cont
180+ mysql_stmt_execute_start
181+ mysql_stmt_fetch
182+ mysql_stmt_fetch_column
183+ mysql_stmt_fetch_cont
184+ mysql_stmt_fetch_start
185+ mysql_stmt_field_count
186+ mysql_stmt_free_result
187+ mysql_stmt_free_result_cont
188+ mysql_stmt_free_result_start
189+ mysql_stmt_init
190+ mysql_stmt_insert_id
191+ mysql_stmt_more_results
192+ mysql_stmt_next_result
193+ mysql_stmt_next_result_cont
194+ mysql_stmt_next_result_start
195+ mysql_stmt_num_rows
196+ mysql_stmt_param_count
197+ mysql_stmt_param_metadata
198+ mysql_stmt_prepare
199+ mysql_stmt_prepare_cont
200+ mysql_stmt_prepare_start
201+ mysql_stmt_reset
202+ mysql_stmt_reset_cont
203+ mysql_stmt_reset_start
204+ mysql_stmt_result_metadata
205+ mysql_stmt_row_seek
206+ mysql_stmt_row_tell
207+ mysql_stmt_send_long_data
208+ mysql_stmt_send_long_data_cont
209+ mysql_stmt_send_long_data_start
210+ mysql_stmt_sqlstate
211+ mysql_stmt_store_result
212+ mysql_stmt_store_result_cont
213+ mysql_stmt_store_result_start
214+ mysql_store_result
215+ mysql_store_result_cont
216+ mysql_store_result_start
217+ mysql_thread_end
218+ mysql_thread_id
219+ mysql_thread_init
220+ mysql_thread_safe
221+ mysql_use_result
222+ mysql_warning_count)
223+
224+ IF (WIN32 )
225+ SET (EXPORT_CONTENT "EXPORTS\n " )
226+ FOREACH (SYMBOL ${EXPORT_SYMBOLS} )
227+ SET (EXPORT_CONTENT "${EXPORT_CONTENT} ${SYMBOL} \n " )
228+ ENDFOREACH ()
229+ SET (EXPORT_FILE "${CMAKE_BINARY_DIR} /libmariadb/exports.def" )
230+ SET (EXPORT_LINK ${EXPORT_FILE} )
231+ ELSE ()
232+ SET (EXPORT_CONTENT "{\n global:\n " )
233+ FOREACH (SYMBOL ${EXPORT_SYMBOLS} )
234+ SET (EXPORT_CONTENT "${EXPORT_CONTENT} ${SYMBOL} \\ ;\n " )
235+ ENDFOREACH ()
236+ SET (EXPORT_FILE "${CMAKE_BINARY_DIR} /libmariadb/exports.txt" )
237+ SET (EXPORT_CONTENT "${EXPORT_CONTENT} local:\n *\\ ;\n }\\ ;" )
238+ ENDIF ()
239+
240+ FILE (WRITE ${EXPORT_FILE} ${EXPORT_CONTENT} )
241+
10242SET (LIBMARIADB_SOURCES
11243array.c
12244ma_dyncol.c
@@ -92,10 +324,6 @@ my_auth.c
92324ma_secure.c
93325)
94326
95- IF (MSVC )
96- SET (EXPORT_FILE libmariadb_exports.def)
97- ENDIF ()
98-
99327IF (WIN32 )
100328 INCLUDE_DIRECTORIES (${CMAKE_SOURCE_DIR} /win-iconv)
101329 SET (LIBMARIADB_SOURCES ${LIBMARIADB_SOURCES}
@@ -141,20 +369,20 @@ IF(UNIX)
141369 SET_TARGET_PROPERTIES (mariadb_obj PROPERTIES COMPILE_FLAGS "${CMAKE_SHARED_LIBRARY_C_FLAGS} " )
142370ENDIF ()
143371
144- ADD_LIBRARY (mariadbclient STATIC $<TARGET_OBJECTS:mariadb_obj> ${EXPORT_FILE } )
372+ ADD_LIBRARY (mariadbclient STATIC $<TARGET_OBJECTS:mariadb_obj> ${EXPORT_LINK } )
145373TARGET_LINK_LIBRARIES (mariadbclient ${SYSTEM_LIBS} )
146374
147- ADD_LIBRARY (libmariadb SHARED $<TARGET_OBJECTS:mariadb_obj> ${EXPORT_FILE } )
375+ ADD_LIBRARY (libmariadb SHARED $<TARGET_OBJECTS:mariadb_obj> ${EXPORT_LINK } )
148376TARGET_LINK_LIBRARIES (libmariadb ${SYSTEM_LIBS} )
149377IF (UNIX )
150378 SET_TARGET_PROPERTIES (libmariadb PROPERTIES COMPILE_FLAGS "${CMAKE_SHARED_LIBRARY_C_FLAGS} " )
151379ENDIF ()
152380
153381IF (CMAKE_SYSTEM_NAME MATCHES "Linux" )
154382 TARGET_LINK_LIBRARIES (libmariadb "-Wl,--no-undefined" )
155- TARGET_LINK_LIBRARIES (libmariadb "-Wl,--version-script=${CMAKE_CURRENT_SOURCE_DIR} /version_script.txt " )
383+ TARGET_LINK_LIBRARIES (libmariadb "-Wl,--version-script=${EXPORT_FILE} " )
156384 TARGET_LINK_LIBRARIES (mariadbclient "-Wl,--no-undefined" )
157- TARGET_LINK_LIBRARIES (mariadbclient "-Wl,--version-script=${CMAKE_CURRENT_SOURCE_DIR} /version_script.txt " )
385+ TARGET_LINK_LIBRARIES (mariadbclient "-Wl,--version-script=${EXPORT_FILE} " )
158386ENDIF ()
159387
160388SET_TARGET_PROPERTIES (libmariadb PROPERTIES PREFIX "" )
0 commit comments