File tree Expand file tree Collapse file tree 5 files changed +1393
-2
lines changed Expand file tree Collapse file tree 5 files changed +1393
-2
lines changed Original file line number Diff line number Diff line change @@ -104,6 +104,7 @@ if(MSVC)
104
104
src/duckdb/extension/jemalloc/jemalloc/src/util.c
105
105
src/duckdb/extension/jemalloc/jemalloc/src/witness.c
106
106
src/duckdb/extension/jemalloc/jemalloc/src/zone.c )
107
+ list (APPEND DUCKDB_SRC_FILES duckdb_java.def )
107
108
add_definitions (/bigobj /D_DISABLE_CONSTEXPR_MUTEX_CONSTRUCTOR )
108
109
else ()
109
110
set (CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -O3 -DNDEBUG " )
@@ -156,9 +157,23 @@ add_library(duckdb_java SHARED
156
157
src/jni/refs.cpp
157
158
src/jni/util.cpp
158
159
${DUCKDB_SRC_FILES} )
159
- target_compile_options (duckdb_java PRIVATE -fexceptions )
160
+ target_compile_definitions (duckdb_java PRIVATE -DDUCKDB_STATIC_BUILD )
160
161
target_link_libraries (duckdb_java duckdb-native )
161
162
target_link_libraries (duckdb_java ${DUCKDB_SYSTEM_LIBS} )
163
+ if (NOT WIN32 )
164
+ target_compile_options (duckdb_java PRIVATE -fexceptions )
165
+ if (CMAKE_CXX_COMPILER_ID STREQUAL "GNU" )
166
+ target_link_options (duckdb_java PRIVATE
167
+ -Bsymbolic
168
+ -Bsymbolic-functions
169
+ -fvisibility=hidden
170
+ -Wl,--version-script=${CMAKE_CURRENT_LIST_DIR}/duckdb_java.map )
171
+ elseif (CMAKE_CXX_COMPILER_ID STREQUAL "Clang" )
172
+ target_link_options (duckdb_java PRIVATE
173
+ -fvisibility=hidden
174
+ -Wl,-exported_symbols_list,${CMAKE_CURRENT_LIST_DIR}/duckdb_java.exp )
175
+ endif ()
176
+ endif ()
162
177
163
178
string (JOIN "_" LIB_SUFFIX ".so" ${OS_NAME} ${OS_ARCH} )
164
179
set_target_properties (duckdb_java PROPERTIES SUFFIX ${LIB_SUFFIX} )
Original file line number Diff line number Diff line change @@ -104,6 +104,7 @@ if(MSVC)
104
104
src/duckdb/extension/jemalloc/jemalloc/src/util.c
105
105
src/duckdb/extension/jemalloc/jemalloc/src/witness.c
106
106
src/duckdb/extension/jemalloc/jemalloc/src/zone.c )
107
+ list(APPEND DUCKDB_SRC_FILES duckdb_java.def)
107
108
add_definitions(/bigobj /D_DISABLE_CONSTEXPR_MUTEX_CONSTRUCTOR)
108
109
else()
109
110
set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -O3 -DNDEBUG ")
@@ -156,9 +157,23 @@ add_library(duckdb_java SHARED
156
157
src/jni/refs.cpp
157
158
src/jni/util.cpp
158
159
${DUCKDB_SRC_FILES})
159
- target_compile_options (duckdb_java PRIVATE -fexceptions )
160
+ target_compile_definitions (duckdb_java PRIVATE -DDUCKDB_STATIC_BUILD )
160
161
target_link_libraries(duckdb_java duckdb-native ${LIBRARY_FILES})
161
162
target_link_libraries(duckdb_java ${DUCKDB_SYSTEM_LIBS})
163
+ if(NOT WIN32)
164
+ target_compile_options(duckdb_java PRIVATE -fexceptions)
165
+ if (CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
166
+ target_link_options(duckdb_java PRIVATE
167
+ -Bsymbolic
168
+ -Bsymbolic-functions
169
+ -fvisibility=hidden
170
+ -Wl,--version-script=${CMAKE_CURRENT_LIST_DIR}/duckdb_java.map)
171
+ elseif(CMAKE_CXX_COMPILER_ID STREQUAL "Clang")
172
+ target_link_options(duckdb_java PRIVATE
173
+ -fvisibility=hidden
174
+ -Wl,-exported_symbols_list,${CMAKE_CURRENT_LIST_DIR}/duckdb_java.exp)
175
+ endif()
176
+ endif()
162
177
163
178
string(JOIN "_" LIB_SUFFIX ".so" ${OS_NAME} ${OS_ARCH})
164
179
set_target_properties(duckdb_java PROPERTIES SUFFIX ${LIB_SUFFIX})
You can’t perform that action at this time.
0 commit comments