Changeset: 86d18a120aa3 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=86d18a120aa3 Removed Files: monetdb5/modules/kernel/microbenchmark.h Modified Files: monetdb5/modules/kernel/CMakeLists.txt monetdb5/modules/kernel/microbenchmark.c monetdb5/scheduler/CMakeLists.txt monetdb5/scheduler/run_adder.c monetdb5/scheduler/run_isolate.c monetdb5/scheduler/run_memo.c Branch: Oct2020 Log Message:
Get symbol export/import working on Windows. diffs (208 lines): diff --git a/monetdb5/modules/kernel/CMakeLists.txt b/monetdb5/modules/kernel/CMakeLists.txt --- a/monetdb5/modules/kernel/CMakeLists.txt +++ b/monetdb5/modules/kernel/CMakeLists.txt @@ -25,7 +25,7 @@ target_sources(kernel ${CMAKE_CURRENT_SOURCE_DIR}/bat5.h) target_sources(microbenchmark PRIVATE - microbenchmark.c microbenchmark.h + microbenchmark.c PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/bat5.h) @@ -47,14 +47,6 @@ if(WIN32) LIBOPTIMIZER LIBSCHEDULER LIBMONETDB5) - target_compile_definitions(microbenchmark - PRIVATE - LIBMAL - LIBATOMS - LIBKERNEL - LIBOPTIMIZER - LIBSCHEDULER - LIBMONETDB5) endif() target_link_libraries(kernel diff --git a/monetdb5/modules/kernel/microbenchmark.c b/monetdb5/modules/kernel/microbenchmark.c --- a/monetdb5/modules/kernel/microbenchmark.c +++ b/monetdb5/modules/kernel/microbenchmark.c @@ -18,7 +18,18 @@ #include "monetdb_config.h" #include "mal.h" #include "mal_exception.h" -#include "microbenchmark.h" +#include "mal.h" + +#ifndef _MSC_VER +#define __declspec(x) +#endif + +extern __declspec(dllexport) str MBMrandom(bat *ret, oid *base, lng *size, int *domain); +extern __declspec(dllexport) str MBMrandom_seed(bat *ret, oid *base, lng *size, int *domain, const int *seed); +extern __declspec(dllexport) str MBMuniform(bat *ret, oid *base, lng *size, int *domain); +extern __declspec(dllexport) str MBMnormal(bat *ret, oid *base, lng *size, int *domain, int *stddev, int *mean); +extern __declspec(dllexport) str MBMmix(bat *ret, bat *batid); +extern __declspec(dllexport) str MBMskewed(bat *ret, oid *base, lng *size, int *domain, int *skew); #ifdef STATIC_CODE_ANALYSIS #define rand() 0 diff --git a/monetdb5/modules/kernel/microbenchmark.h b/monetdb5/modules/kernel/microbenchmark.h deleted file mode 100644 --- a/monetdb5/modules/kernel/microbenchmark.h +++ /dev/null @@ -1,24 +0,0 @@ -/* - * This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. - * - * Copyright 1997 - July 2008 CWI, August 2008 - 2020 MonetDB B.V. - */ - -/* - * @+ Experimentation Gimmicks - * @- Data Generation - */ -#ifndef _MBM_H_ -#define _MBM_H_ -#include "mal.h" - -mal_export str MBMrandom(bat *ret, oid *base, lng *size, int *domain); -mal_export str MBMrandom_seed(bat *ret, oid *base, lng *size, int *domain, const int *seed); -mal_export str MBMuniform(bat *ret, oid *base, lng *size, int *domain); -mal_export str MBMnormal(bat *ret, oid *base, lng *size, int *domain, int *stddev, int *mean); -mal_export str MBMmix(bat *ret, bat *batid); -mal_export str MBMskewed(bat *ret, oid *base, lng *size, int *domain, int *skew); - -#endif /* _MBM_H_ */ diff --git a/monetdb5/scheduler/CMakeLists.txt b/monetdb5/scheduler/CMakeLists.txt --- a/monetdb5/scheduler/CMakeLists.txt +++ b/monetdb5/scheduler/CMakeLists.txt @@ -17,19 +17,12 @@ target_include_directories(run_adder PUBLIC $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}> $<INSTALL_INTERFACE:${INCLUDEDIR}/monetdb>) -if(WIN32) - target_compile_definitions(run_adder - PRIVATE - LIBMAL - LIBATOMS - LIBKERNEL - LIBOPTIMIZER - LIBSCHEDULER - LIBMONETDB5) -endif() target_link_libraries(run_adder PRIVATE - monetdb_config_header) + monetdb_config_header + mutils + bat + monetdb5) set_target_properties(run_adder PROPERTIES OUTPUT_NAME _run_adder) @@ -51,19 +44,12 @@ target_include_directories(run_isolate PUBLIC $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}> $<INSTALL_INTERFACE:${INCLUDEDIR}/monetdb>) -if(WIN32) - target_compile_definitions(run_isolate - PRIVATE - LIBMAL - LIBATOMS - LIBKERNEL - LIBOPTIMIZER - LIBSCHEDULER - LIBMONETDB5) -endif() target_link_libraries(run_isolate PRIVATE - monetdb_config_header) + monetdb_config_header + mutils + bat + monetdb5) set_target_properties(run_isolate PROPERTIES OUTPUT_NAME _run_isolate) @@ -85,19 +71,12 @@ target_include_directories(run_memo PUBLIC $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}> $<INSTALL_INTERFACE:${INCLUDEDIR}/monetdb>) -if(WIN32) - target_compile_definitions(run_memo - PRIVATE - LIBMAL - LIBATOMS - LIBKERNEL - LIBOPTIMIZER - LIBSCHEDULER - LIBMONETDB5) -endif() target_link_libraries(run_memo PRIVATE - monetdb_config_header) + monetdb_config_header + mutils + bat + monetdb5) set_target_properties(run_memo PROPERTIES OUTPUT_NAME _run_memo) diff --git a/monetdb5/scheduler/run_adder.c b/monetdb5/scheduler/run_adder.c --- a/monetdb5/scheduler/run_adder.c +++ b/monetdb5/scheduler/run_adder.c @@ -49,7 +49,11 @@ #include "mal_linker.h" #include "mal_client.h" -mal_export str RUNadder(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr p); +#ifndef _MSC_VER +#define __declspec(x) +#endif + +extern __declspec(dllexport) str RUNadder(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr p); /* * @- diff --git a/monetdb5/scheduler/run_isolate.c b/monetdb5/scheduler/run_isolate.c --- a/monetdb5/scheduler/run_isolate.c +++ b/monetdb5/scheduler/run_isolate.c @@ -35,7 +35,11 @@ #include "mal_instruction.h" #include "mal_client.h" -mal_export str RUNisolation(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr p); +#ifndef _MSC_VER +#define __declspec(x) +#endif + +extern __declspec(dllexport) str RUNisolation(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr p); str RUNisolation(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr p) diff --git a/monetdb5/scheduler/run_memo.c b/monetdb5/scheduler/run_memo.c --- a/monetdb5/scheduler/run_memo.c +++ b/monetdb5/scheduler/run_memo.c @@ -100,10 +100,14 @@ #include "mal_client.h" #include "mal_runtime.h" -mal_export str RUNchoice(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr p); -mal_export str RUNvolumeCost(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr p); -mal_export str RUNcostPrediction(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr p); -mal_export str RUNpickResult(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr p); +#ifndef _MSC_VER +#define __declspec(x) +#endif + +extern __declspec(dllexport) str RUNchoice(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr p); +extern __declspec(dllexport) str RUNvolumeCost(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr p); +extern __declspec(dllexport) str RUNcostPrediction(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr p); +extern __declspec(dllexport) str RUNpickResult(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr p); static void propagateNonTarget(MalBlkPtr mb, int pc) _______________________________________________ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list