Skip to content

Commit b5a90c2

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 b5a90c2

File tree

2 files changed

+136
-0
lines changed

2 files changed

+136
-0
lines changed

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)