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

Reply via email to