Skip to content

Commit d30ec3b

Browse files
committed
Do not build jemalloc on Windows
The jemalloc extention was recently added to JDBC builds in duckdb#133. The logic for its selection in `vendor.py` does not look fully correct to me, but both Linux and Mac are passing on CI, only Windows is breaking, so this change only tries to unbreak Windows builds, and the jemalloc selection logic can be improved in subsequent PRs.
1 parent d2c82b2 commit d30ec3b

File tree

3 files changed

+140
-4
lines changed

3 files changed

+140
-4
lines changed

.github/workflows/Java.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -218,22 +218,22 @@ jobs:
218218
- shell: bash
219219
run: mkdir jdbc-artifacts
220220

221-
- uses: actions/download-artifact@v3
221+
- uses: actions/download-artifact@v4
222222
with:
223223
name: java-linux-aarch64
224224
path: jdbc-artifacts/java-linux-aarch64
225225

226-
- uses: actions/download-artifact@v3
226+
- uses: actions/download-artifact@v4
227227
with:
228228
name: java-linux-amd64
229229
path: jdbc-artifacts/java-linux-amd64
230230

231-
- uses: actions/download-artifact@v3
231+
- uses: actions/download-artifact@v4
232232
with:
233233
name: java-windows-amd64
234234
path: jdbc-artifacts/java-windows-amd64
235235

236-
- uses: actions/download-artifact@v3
236+
- uses: actions/download-artifact@v4
237237
with:
238238
name: java-osx-universal
239239
path: jdbc-artifacts/java-osx-universal

CMakeLists.txt

Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,74 @@ set(CMAKE_JAVA_COMPILE_FLAGS -source 1.8 -target 1.8 -encoding utf-8)
3232
add_definitions(-DDUCKDB_BUILD_LIBRARY)
3333

3434
if(MSVC)
35+
remove_definitions(-DDUCKDB_EXTENSION_JEMALLOC_LINKED)
36+
list(REMOVE_ITEM DUCKDB_SRC_FILES
37+
src/duckdb/extension/jemalloc/jemalloc_extension.cpp
38+
src/duckdb/extension/jemalloc/jemalloc/src/jemalloc.c
39+
src/duckdb/extension/jemalloc/jemalloc/src/arena.c
40+
src/duckdb/extension/jemalloc/jemalloc/src/background_thread.c
41+
src/duckdb/extension/jemalloc/jemalloc/src/base.c
42+
src/duckdb/extension/jemalloc/jemalloc/src/batcher.c
43+
src/duckdb/extension/jemalloc/jemalloc/src/bin.c
44+
src/duckdb/extension/jemalloc/jemalloc/src/bin_info.c
45+
src/duckdb/extension/jemalloc/jemalloc/src/bitmap.c
46+
src/duckdb/extension/jemalloc/jemalloc/src/buf_writer.c
47+
src/duckdb/extension/jemalloc/jemalloc/src/cache_bin.c
48+
src/duckdb/extension/jemalloc/jemalloc/src/ckh.c
49+
src/duckdb/extension/jemalloc/jemalloc/src/counter.c
50+
src/duckdb/extension/jemalloc/jemalloc/src/ctl.c
51+
src/duckdb/extension/jemalloc/jemalloc/src/decay.c
52+
src/duckdb/extension/jemalloc/jemalloc/src/div.c
53+
src/duckdb/extension/jemalloc/jemalloc/src/ecache.c
54+
src/duckdb/extension/jemalloc/jemalloc/src/edata.c
55+
src/duckdb/extension/jemalloc/jemalloc/src/edata_cache.c
56+
src/duckdb/extension/jemalloc/jemalloc/src/ehooks.c
57+
src/duckdb/extension/jemalloc/jemalloc/src/emap.c
58+
src/duckdb/extension/jemalloc/jemalloc/src/eset.c
59+
src/duckdb/extension/jemalloc/jemalloc/src/exp_grow.c
60+
src/duckdb/extension/jemalloc/jemalloc/src/extent.c
61+
src/duckdb/extension/jemalloc/jemalloc/src/extent_dss.c
62+
src/duckdb/extension/jemalloc/jemalloc/src/extent_mmap.c
63+
src/duckdb/extension/jemalloc/jemalloc/src/fxp.c
64+
src/duckdb/extension/jemalloc/jemalloc/src/san.c
65+
src/duckdb/extension/jemalloc/jemalloc/src/san_bump.c
66+
src/duckdb/extension/jemalloc/jemalloc/src/hook.c
67+
src/duckdb/extension/jemalloc/jemalloc/src/hpa.c
68+
src/duckdb/extension/jemalloc/jemalloc/src/hpa_hooks.c
69+
src/duckdb/extension/jemalloc/jemalloc/src/hpdata.c
70+
src/duckdb/extension/jemalloc/jemalloc/src/inspect.c
71+
src/duckdb/extension/jemalloc/jemalloc/src/large.c
72+
src/duckdb/extension/jemalloc/jemalloc/src/log.c
73+
src/duckdb/extension/jemalloc/jemalloc/src/malloc_io.c
74+
src/duckdb/extension/jemalloc/jemalloc/src/mutex.c
75+
src/duckdb/extension/jemalloc/jemalloc/src/nstime.c
76+
src/duckdb/extension/jemalloc/jemalloc/src/pa.c
77+
src/duckdb/extension/jemalloc/jemalloc/src/pa_extra.c
78+
src/duckdb/extension/jemalloc/jemalloc/src/pai.c
79+
src/duckdb/extension/jemalloc/jemalloc/src/pac.c
80+
src/duckdb/extension/jemalloc/jemalloc/src/pages.c
81+
src/duckdb/extension/jemalloc/jemalloc/src/peak_event.c
82+
src/duckdb/extension/jemalloc/jemalloc/src/prof.c
83+
src/duckdb/extension/jemalloc/jemalloc/src/prof_data.c
84+
src/duckdb/extension/jemalloc/jemalloc/src/prof_log.c
85+
src/duckdb/extension/jemalloc/jemalloc/src/prof_recent.c
86+
src/duckdb/extension/jemalloc/jemalloc/src/prof_stats.c
87+
src/duckdb/extension/jemalloc/jemalloc/src/prof_sys.c
88+
src/duckdb/extension/jemalloc/jemalloc/src/psset.c
89+
src/duckdb/extension/jemalloc/jemalloc/src/rtree.c
90+
src/duckdb/extension/jemalloc/jemalloc/src/safety_check.c
91+
src/duckdb/extension/jemalloc/jemalloc/src/sc.c
92+
src/duckdb/extension/jemalloc/jemalloc/src/sec.c
93+
src/duckdb/extension/jemalloc/jemalloc/src/stats.c
94+
src/duckdb/extension/jemalloc/jemalloc/src/sz.c
95+
src/duckdb/extension/jemalloc/jemalloc/src/tcache.c
96+
src/duckdb/extension/jemalloc/jemalloc/src/test_hooks.c
97+
src/duckdb/extension/jemalloc/jemalloc/src/thread_event.c
98+
src/duckdb/extension/jemalloc/jemalloc/src/ticker.c
99+
src/duckdb/extension/jemalloc/jemalloc/src/tsd.c
100+
src/duckdb/extension/jemalloc/jemalloc/src/util.c
101+
src/duckdb/extension/jemalloc/jemalloc/src/witness.c
102+
src/duckdb/extension/jemalloc/jemalloc/src/zone.c )
35103
add_definitions(/bigobj /D_DISABLE_CONSTEXPR_MUTEX_CONSTRUCTOR)
36104
else()
37105
set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -O3 -DNDEBUG ")

CMakeLists.txt.in

Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,74 @@ set(CMAKE_JAVA_COMPILE_FLAGS -source 1.8 -target 1.8 -encoding utf-8)
3232
add_definitions(-DDUCKDB_BUILD_LIBRARY)
3333

3434
if(MSVC)
35+
remove_definitions(-DDUCKDB_EXTENSION_JEMALLOC_LINKED)
36+
list(REMOVE_ITEM DUCKDB_SRC_FILES
37+
src/duckdb/extension/jemalloc/jemalloc_extension.cpp
38+
src/duckdb/extension/jemalloc/jemalloc/src/jemalloc.c
39+
src/duckdb/extension/jemalloc/jemalloc/src/arena.c
40+
src/duckdb/extension/jemalloc/jemalloc/src/background_thread.c
41+
src/duckdb/extension/jemalloc/jemalloc/src/base.c
42+
src/duckdb/extension/jemalloc/jemalloc/src/batcher.c
43+
src/duckdb/extension/jemalloc/jemalloc/src/bin.c
44+
src/duckdb/extension/jemalloc/jemalloc/src/bin_info.c
45+
src/duckdb/extension/jemalloc/jemalloc/src/bitmap.c
46+
src/duckdb/extension/jemalloc/jemalloc/src/buf_writer.c
47+
src/duckdb/extension/jemalloc/jemalloc/src/cache_bin.c
48+
src/duckdb/extension/jemalloc/jemalloc/src/ckh.c
49+
src/duckdb/extension/jemalloc/jemalloc/src/counter.c
50+
src/duckdb/extension/jemalloc/jemalloc/src/ctl.c
51+
src/duckdb/extension/jemalloc/jemalloc/src/decay.c
52+
src/duckdb/extension/jemalloc/jemalloc/src/div.c
53+
src/duckdb/extension/jemalloc/jemalloc/src/ecache.c
54+
src/duckdb/extension/jemalloc/jemalloc/src/edata.c
55+
src/duckdb/extension/jemalloc/jemalloc/src/edata_cache.c
56+
src/duckdb/extension/jemalloc/jemalloc/src/ehooks.c
57+
src/duckdb/extension/jemalloc/jemalloc/src/emap.c
58+
src/duckdb/extension/jemalloc/jemalloc/src/eset.c
59+
src/duckdb/extension/jemalloc/jemalloc/src/exp_grow.c
60+
src/duckdb/extension/jemalloc/jemalloc/src/extent.c
61+
src/duckdb/extension/jemalloc/jemalloc/src/extent_dss.c
62+
src/duckdb/extension/jemalloc/jemalloc/src/extent_mmap.c
63+
src/duckdb/extension/jemalloc/jemalloc/src/fxp.c
64+
src/duckdb/extension/jemalloc/jemalloc/src/san.c
65+
src/duckdb/extension/jemalloc/jemalloc/src/san_bump.c
66+
src/duckdb/extension/jemalloc/jemalloc/src/hook.c
67+
src/duckdb/extension/jemalloc/jemalloc/src/hpa.c
68+
src/duckdb/extension/jemalloc/jemalloc/src/hpa_hooks.c
69+
src/duckdb/extension/jemalloc/jemalloc/src/hpdata.c
70+
src/duckdb/extension/jemalloc/jemalloc/src/inspect.c
71+
src/duckdb/extension/jemalloc/jemalloc/src/large.c
72+
src/duckdb/extension/jemalloc/jemalloc/src/log.c
73+
src/duckdb/extension/jemalloc/jemalloc/src/malloc_io.c
74+
src/duckdb/extension/jemalloc/jemalloc/src/mutex.c
75+
src/duckdb/extension/jemalloc/jemalloc/src/nstime.c
76+
src/duckdb/extension/jemalloc/jemalloc/src/pa.c
77+
src/duckdb/extension/jemalloc/jemalloc/src/pa_extra.c
78+
src/duckdb/extension/jemalloc/jemalloc/src/pai.c
79+
src/duckdb/extension/jemalloc/jemalloc/src/pac.c
80+
src/duckdb/extension/jemalloc/jemalloc/src/pages.c
81+
src/duckdb/extension/jemalloc/jemalloc/src/peak_event.c
82+
src/duckdb/extension/jemalloc/jemalloc/src/prof.c
83+
src/duckdb/extension/jemalloc/jemalloc/src/prof_data.c
84+
src/duckdb/extension/jemalloc/jemalloc/src/prof_log.c
85+
src/duckdb/extension/jemalloc/jemalloc/src/prof_recent.c
86+
src/duckdb/extension/jemalloc/jemalloc/src/prof_stats.c
87+
src/duckdb/extension/jemalloc/jemalloc/src/prof_sys.c
88+
src/duckdb/extension/jemalloc/jemalloc/src/psset.c
89+
src/duckdb/extension/jemalloc/jemalloc/src/rtree.c
90+
src/duckdb/extension/jemalloc/jemalloc/src/safety_check.c
91+
src/duckdb/extension/jemalloc/jemalloc/src/sc.c
92+
src/duckdb/extension/jemalloc/jemalloc/src/sec.c
93+
src/duckdb/extension/jemalloc/jemalloc/src/stats.c
94+
src/duckdb/extension/jemalloc/jemalloc/src/sz.c
95+
src/duckdb/extension/jemalloc/jemalloc/src/tcache.c
96+
src/duckdb/extension/jemalloc/jemalloc/src/test_hooks.c
97+
src/duckdb/extension/jemalloc/jemalloc/src/thread_event.c
98+
src/duckdb/extension/jemalloc/jemalloc/src/ticker.c
99+
src/duckdb/extension/jemalloc/jemalloc/src/tsd.c
100+
src/duckdb/extension/jemalloc/jemalloc/src/util.c
101+
src/duckdb/extension/jemalloc/jemalloc/src/witness.c
102+
src/duckdb/extension/jemalloc/jemalloc/src/zone.c )
35103
add_definitions(/bigobj /D_DISABLE_CONSTEXPR_MUTEX_CONSTRUCTOR)
36104
else()
37105
set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -O3 -DNDEBUG ")

0 commit comments

Comments
 (0)