Changeset: 20d2edf4b2da for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=20d2edf4b2da
Modified Files:
common/utils/mutils.h
embedded/CMakeLists.txt
gdk/gdk_system.h
monetdb5/mal/mal.h
monetdb5/mal/mal_atom.h
monetdb5/mal/mal_authorize.h
monetdb5/mal/mal_builder.h
monetdb5/mal/mal_client.h
monetdb5/mal/mal_dataflow.h
monetdb5/mal/mal_debugger.h
monetdb5/mal/mal_embedded.h
monetdb5/mal/mal_exception.h
monetdb5/mal/mal_factory.c
monetdb5/mal/mal_factory.h
monetdb5/mal/mal_function.h
monetdb5/mal/mal_import.h
monetdb5/mal/mal_instruction.h
monetdb5/mal/mal_interpreter.h
monetdb5/mal/mal_linker.h
monetdb5/mal/mal_listing.h
monetdb5/mal/mal_module.h
monetdb5/mal/mal_namespace.h
monetdb5/mal/mal_parser.h
monetdb5/mal/mal_private.h
monetdb5/mal/mal_profiler.h
monetdb5/mal/mal_resolve.h
monetdb5/mal/mal_resource.h
monetdb5/mal/mal_runtime.h
monetdb5/mal/mal_scenario.h
monetdb5/mal/mal_session.h
monetdb5/mal/mal_stack.h
monetdb5/mal/mal_type.h
monetdb5/mal/mal_utils.h
sql/backends/monet5/sql_gencode.h
sql/backends/monet5/sql_optimizer.h
sql/backends/monet5/sql_scenario.h
sql/backends/monet5/sql_statistics.h
sql/backends/monet5/sql_upgrades.h
sql/backends/monet5/sql_user.h
Branch: cmake-monetdblite
Log Message:
Use a static library to compile non-exportable symbols for some compilers.
diffs (truncated from 1433 to 300 lines):
diff --git a/common/utils/mutils.h b/common/utils/mutils.h
--- a/common/utils/mutils.h
+++ b/common/utils/mutils.h
@@ -69,14 +69,12 @@ mutils_export int MT_lockf(char *filenam
mutils_export int MT_rand(void);
mutils_export void MT_srand(unsigned int seed);
-#ifndef HAVE_EMBEDDED
/* Retrieves the absolute path to the executable being run, with no
* extra /, /./, or /../ sequences. On Darwin and Solaris this function
* needs to be called before any chdirs are performed. Returns a
* pointer to a static buffer that is overwritten by subsequent calls to
* this function. */
mutils_export char *get_bin_path(void);
-#endif
/* Returns the Mercurial changeset of the current checkout, if available */
mutils_export const char *mercurial_revision(void);
diff --git a/embedded/CMakeLists.txt b/embedded/CMakeLists.txt
--- a/embedded/CMakeLists.txt
+++ b/embedded/CMakeLists.txt
@@ -85,69 +85,127 @@ set(SQL_SCRIPTS_LIST
build_embedded_mal_scripts(mal_inline malModules "${MAL_SCRIPTS_LIST}")
build_embedded_sql_scripts(createdb_inline1 "${SQL_SCRIPTS_LIST}")
+# All symbols present in monetdblite_no_export and and not required by
monetdblite will be ditched on Windows
+add_library(monetdblite_no_export STATIC
+ ../common/options/monet_options.c
+ ../common/stream/stream.c
+ ../common/utils/mutils.c
+ ../common/utils/revision.c
+ ../gdk/gdk_aggr.c
+ ../gdk/gdk_align.c
+ ../gdk/gdk_analytic_bounds.c
+ ../gdk/gdk_analytic_func.c
+ ../gdk/gdk_atoms.c
+ ../gdk/gdk_bat.c
+ ../gdk/gdk_batop.c
+ ../gdk/gdk_bbp.c
+ ../gdk/gdk_calc.c
+ ../gdk/gdk_cross.c
+ ../gdk/gdk_delta.c
+ ../gdk/gdk_firstn.c
+ ../gdk/gdk_group.c
+ ../gdk/gdk_hash.c
+ ../gdk/gdk_heap.c
+ ../gdk/gdk_imprints.c
+ ../gdk/gdk_join.c
+ ../gdk/gdk_logger.c
+ ../gdk/gdk_orderidx.c
+ ../gdk/gdk_posix.c
+ ../gdk/gdk_project.c
+ ../gdk/gdk_qsort.c
+ ../gdk/gdk_sample.c
+ ../gdk/gdk_search.c
+ ../gdk/gdk_select.c
+ ../gdk/gdk_ssort.c
+ ../gdk/gdk_storage.c
+ ../gdk/gdk_string.c
+ ../gdk/gdk_system.c
+ ../gdk/gdk_tm.c
+ ../gdk/gdk_unique.c
+ ../gdk/gdk_utils.c
+ ../gdk/gdk_value.c
+ ../monetdb5/mal/mal.c
+ ../monetdb5/mal/mal_atom.c
+ ../monetdb5/mal/mal_builder.c
+ ../monetdb5/mal/mal_client.c
+ ../monetdb5/mal/mal_dataflow.c
+ ../monetdb5/mal/mal_embedded.c
+ ../monetdb5/mal/mal_exception.c
+ ../monetdb5/mal/mal_function.c
+ ../monetdb5/mal/mal_import.c
+ ../monetdb5/mal/mal_instruction.c
+ ../monetdb5/mal/mal_interpreter.c
+ ../monetdb5/mal/mal_linker.c
+ ../monetdb5/mal/mal_listing.c
+ ../monetdb5/mal/mal_module.c
+ ../monetdb5/mal/mal_namespace.c
+ ../monetdb5/mal/mal_parser.c
+ ../monetdb5/mal/mal_resolve.c
+ ../monetdb5/mal/mal_resource.c
+ ../monetdb5/mal/mal_runtime.c
+ ../monetdb5/mal/mal_scenario.c
+ ../monetdb5/mal/mal_session.c
+ ../monetdb5/mal/mal_stack.c
+ ../monetdb5/mal/mal_type.c
+ ../monetdb5/mal/mal_utils.c
+ ../sql/backends/monet5/mal_backend.c
+ ../sql/backends/monet5/rel_bin.c
+ ../sql/backends/monet5/sql_optimizer.c
+ ../sql/backends/monet5/sql_upgrades.c
+ ../sql/common/sql_backend.c
+ ../sql/common/sql_changeset.c
+ ../sql/common/sql_hash.c
+ ../sql/common/sql_keyword.c
+ ../sql/common/sql_list.c
+ ../sql/common/sql_mem.c
+ ../sql/common/sql_stack.c
+ ../sql/common/sql_string.c
+ ../sql/common/sql_types.c
+ ../sql/server/rel_distribute.c
+ ../sql/server/rel_dump.c
+ ../sql/server/rel_exp.c
+ ../sql/server/rel_optimizer.c
+ ../sql/server/rel_partition.c
+ ../sql/server/rel_planner.c
+ ../sql/server/rel_prop.c
+ ../sql/server/rel_psm.c
+ ../sql/server/rel_rel.c
+ ../sql/server/rel_remote.c
+ ../sql/server/rel_schema.c
+ ../sql/server/rel_select.c
+ ../sql/server/rel_semantic.c
+ ../sql/server/rel_sequence.c
+ ../sql/server/rel_trans.c
+ ../sql/server/rel_updates.c
+ ../sql/server/rel_unnest.c
+ ../sql/server/rel_xml.c
+ ../sql/server/sql_atom.c
+ ../sql/server/sql_datetime.c
+ ../sql/server/sql_decimal.c
+ ../sql/server/sql_env.c
+ ../sql/server/sql_mvc.c
+ ../sql/server/sql_privileges.c
+ ../sql/server/sql_qc.c
+ ../sql/server/sql_query.c
+ ../sql/server/sql_scan.c
+ ../sql/server/sql_semantic.c
+ ../sql/server/sql_symbol.c
+ ../sql/storage/bat/bat_logger.c
+ ../sql/storage/bat/bat_storage.c
+ ../sql/storage/bat/bat_table.c
+ ../sql/storage/bat/bat_utils.c
+ ../sql/storage/bat/res_table.c
+ ../sql/storage/sql_catalog.c
+ ../sql/storage/store.c
+ ../sql/storage/store_dependency.c
+ ../sql/storage/store_sequence.c
+ $<TARGET_OBJECTS:bisonlite_obj>)
+set_target_properties(monetdblite_no_export PROPERTIES
POSITION_INDEPENDENT_CODE ON)
+target_link_libraries(monetdblite_no_export PUBLIC ${MATH_LIBRARIES}
${THREAD_LIBRARIES} ${DL_LIBRARIES}
+ ${KVM_LIBRARIES} ${PSAPI_LIBRARIES}
monetdblite_no_export)
+
add_library(monetdblite SHARED
monetdb_embedded.c
- ../common/options/monet_options.c
- ../common/stream/stream.c
- ../common/utils/mutils.c
- ../common/utils/revision.c
- ../gdk/gdk_aggr.c
- ../gdk/gdk_align.c
- ../gdk/gdk_analytic_bounds.c
- ../gdk/gdk_analytic_func.c
- ../gdk/gdk_atoms.c
- ../gdk/gdk_bat.c
- ../gdk/gdk_batop.c
- ../gdk/gdk_bbp.c
- ../gdk/gdk_calc.c
- ../gdk/gdk_cross.c
- ../gdk/gdk_delta.c
- ../gdk/gdk_firstn.c
- ../gdk/gdk_group.c
- ../gdk/gdk_hash.c
- ../gdk/gdk_heap.c
- ../gdk/gdk_imprints.c
- ../gdk/gdk_join.c
- ../gdk/gdk_logger.c
- ../gdk/gdk_orderidx.c
- ../gdk/gdk_posix.c
- ../gdk/gdk_project.c
- ../gdk/gdk_qsort.c
- ../gdk/gdk_sample.c
- ../gdk/gdk_search.c
- ../gdk/gdk_select.c
- ../gdk/gdk_ssort.c
- ../gdk/gdk_storage.c
- ../gdk/gdk_string.c
- ../gdk/gdk_system.c
- ../gdk/gdk_tm.c
- ../gdk/gdk_unique.c
- ../gdk/gdk_utils.c
- ../gdk/gdk_value.c
- ../monetdb5/mal/mal.c
- ../monetdb5/mal/mal_atom.c
- ../monetdb5/mal/mal_builder.c
- ../monetdb5/mal/mal_client.c
- ../monetdb5/mal/mal_dataflow.c
- ../monetdb5/mal/mal_embedded.c
- ../monetdb5/mal/mal_exception.c
- ../monetdb5/mal/mal_function.c
- ../monetdb5/mal/mal_import.c
- ../monetdb5/mal/mal_instruction.c
- ../monetdb5/mal/mal_interpreter.c
- ../monetdb5/mal/mal_linker.c
- ../monetdb5/mal/mal_listing.c
- ../monetdb5/mal/mal_module.c
- ../monetdb5/mal/mal_namespace.c
- ../monetdb5/mal/mal_parser.c
- ../monetdb5/mal/mal_resolve.c
- ../monetdb5/mal/mal_resource.c
- ../monetdb5/mal/mal_runtime.c
- ../monetdb5/mal/mal_scenario.c
- ../monetdb5/mal/mal_session.c
- ../monetdb5/mal/mal_stack.c
- ../monetdb5/mal/mal_type.c
- ../monetdb5/mal/mal_utils.c
../monetdb5/modules/kernel/aggr.c
../monetdb5/modules/atoms/streams.c
../monetdb5/modules/kernel/algebra.c
@@ -203,8 +261,6 @@ add_library(monetdblite SHARED
../monetdb5/optimizer/opt_support.c
../monetdb5/optimizer/opt_wrapper.c
../monetdb5/optimizer/optimizer.c
- ../sql/backends/monet5/mal_backend.c
- ../sql/backends/monet5/rel_bin.c
../sql/backends/monet5/sql.c
../sql/backends/monet5/sql_assert.c
../sql/backends/monet5/sql_bat2time.c
@@ -215,7 +271,6 @@ add_library(monetdblite SHARED
../sql/backends/monet5/sql_fround.c
../sql/backends/monet5/sql_generator.c
../sql/backends/monet5/sql_gencode.c
- ../sql/backends/monet5/sql_optimizer.c
../sql/backends/monet5/sql_orderidx.c
../sql/backends/monet5/sql_rank.c
../sql/backends/monet5/sql_result.c
@@ -224,58 +279,8 @@ add_library(monetdblite SHARED
../sql/backends/monet5/sql_statement.c
../sql/backends/monet5/sql_statistics.c
../sql/backends/monet5/sql_transaction.c
- ../sql/backends/monet5/sql_upgrades.c
- ../sql/backends/monet5/sql_user.c
- ../sql/common/sql_backend.c
- ../sql/common/sql_changeset.c
- ../sql/common/sql_hash.c
- ../sql/common/sql_keyword.c
- ../sql/common/sql_list.c
- ../sql/common/sql_mem.c
- ../sql/common/sql_stack.c
- ../sql/common/sql_string.c
- ../sql/common/sql_types.c
- ../sql/server/rel_distribute.c
- ../sql/server/rel_dump.c
- ../sql/server/rel_exp.c
- ../sql/server/rel_optimizer.c
- ../sql/server/rel_partition.c
- ../sql/server/rel_planner.c
- ../sql/server/rel_prop.c
- ../sql/server/rel_psm.c
- ../sql/server/rel_rel.c
- ../sql/server/rel_remote.c
- ../sql/server/rel_schema.c
- ../sql/server/rel_select.c
- ../sql/server/rel_semantic.c
- ../sql/server/rel_sequence.c
- ../sql/server/rel_trans.c
- ../sql/server/rel_updates.c
- ../sql/server/rel_unnest.c
- ../sql/server/rel_xml.c
- ../sql/server/sql_atom.c
- ../sql/server/sql_datetime.c
- ../sql/server/sql_decimal.c
- ../sql/server/sql_env.c
- ../sql/server/sql_mvc.c
- ../sql/server/sql_privileges.c
- ../sql/server/sql_qc.c
- ../sql/server/sql_query.c
- ../sql/server/sql_scan.c
- ../sql/server/sql_semantic.c
- ../sql/server/sql_symbol.c
- ../sql/storage/bat/bat_logger.c
- ../sql/storage/bat/bat_storage.c
- ../sql/storage/bat/bat_table.c
- ../sql/storage/bat/bat_utils.c
- ../sql/storage/bat/res_table.c
- ../sql/storage/sql_catalog.c
- ../sql/storage/store.c
- ../sql/storage/store_dependency.c
- ../sql/storage/store_sequence.c
- $<TARGET_OBJECTS:bisonlite_obj>)
-target_link_libraries(monetdblite PRIVATE ${MATH_LIBRARIES}
${THREAD_LIBRARIES} ${DL_LIBRARIES} ${KVM_LIBRARIES}
- ${PSAPI_LIBRARIES})
+ ../sql/backends/monet5/sql_user.c)
+target_link_libraries(monetdblite PRIVATE monetdblite_no_export)
set_target_properties(monetdblite PROPERTIES VERSION ${MONETDB_VERSION}
SOVERSION ${MONETDB_VERSION_MAJOR}
OUTPUT_NAME monetdb5)
diff --git a/gdk/gdk_system.h b/gdk/gdk_system.h
--- a/gdk/gdk_system.h
+++ b/gdk/gdk_system.h
@@ -12,7 +12,7 @@
#include "mutils.h"
#include "stream.h"
-#ifdef WIN32
+#if defined(WIN32) && !defined(HAVE_EMBEDDED)
#ifndef LIBGDK
#define gdk_export extern __declspec(dllimport)
#else
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list