Skip to content

Commit fa7b7bc

Browse files
committed
mk: Allow using a locally compiled libuv.a
Closes #5563
1 parent 46014c7 commit fa7b7bc

File tree

2 files changed

+22
-9
lines changed

2 files changed

+22
-9
lines changed

configure

+3-1
Original file line numberDiff line numberDiff line change
@@ -425,7 +425,8 @@ opt verify-install 1 "verify installed binaries work"
425425
valopt prefix "/usr/local" "set installation prefix"
426426
valopt local-rust-root "/usr/local" "set prefix for local rust binary"
427427
valopt llvm-root "" "set LLVM root"
428-
valopt jemalloc-root "" "set jemalloc root"
428+
valopt jemalloc-root "" "set directory where libjemalloc_pic.a is located"
429+
valopt libuv-root "" "set directory where libuv.a is located"
429430
valopt android-cross-path "/opt/ndk_standalone" "Android NDK standalone path"
430431
valopt mingw32-cross-path "" "MinGW32 cross compiler path"
431432

@@ -1200,6 +1201,7 @@ putvar CFG_MINGW32_CROSS_PATH
12001201
putvar CFG_MANDIR
12011202
putvar CFG_DISABLE_INJECT_STD_VERSION
12021203
putvar CFG_JEMALLOC_ROOT
1204+
putvar CFG_LIBUV_ROOT
12031205

12041206
# Avoid spurious warnings from clang by feeding it original source on
12051207
# ccache-miss rather than preprocessed input.

mk/rt.mk

+19-8
Original file line numberDiff line numberDiff line change
@@ -204,19 +204,17 @@ $$(LIBUV_MAKEFILE_$(1)): $$(LIBUV_DEPS) $$(MKFILE_DEPS) $$(LIBUV_STAMP_$(1))
204204
# theory when we support msvc then we should be using gyp's msvc output instead
205205
# of mingw's makefile for windows
206206
ifdef CFG_WINDOWSY_$(1)
207-
$$(LIBUV_LIB_$(1)): $$(LIBUV_DEPS) $$(MKFILE_DEPS)
207+
LIBUV_LOCAL_$(1) := $$(S)src/libuv/libuv.a
208+
$$(LIBUV_LOCAL_$(1)): $$(LIBUV_DEPS) $$(MKFILE_DEPS)
208209
$$(Q)$$(MAKE) -C $$(S)src/libuv -f Makefile.mingw \
209210
LDFLAGS="$$(CFG_GCCISH_LINK_FLAGS_$(1))" \
210211
CC="$$(CC_$(1)) $$(LIBUV_CFLAGS_$(1)) $$(SNAP_DEFINES)" \
211212
CXX="$$(CXX_$(1))" \
212213
AR="$$(AR_$(1))" \
213214
V=$$(VERBOSE)
214-
$$(Q)cp $$(S)src/libuv/libuv.a $$@
215215
else
216-
$$(LIBUV_LIB_$(1)): $$(LIBUV_DIR_$(1))/Release/libuv.a $$(MKFILE_DEPS)
217-
$$(Q)cp $$< $$@
218-
$$(LIBUV_DIR_$(1))/Release/libuv.a: $$(LIBUV_DEPS) $$(LIBUV_MAKEFILE_$(1)) \
219-
$$(MKFILE_DEPS)
216+
LIBUV_LOCAL_$(1) := $$(LIBUV_DIR_$(1))/Release/libuv.a
217+
$$(LIBUV_LOCAL_$(1)): $$(LIBUV_DEPS) $$(LIBUV_MAKEFILE_$(1)) $$(MKFILE_DEPS)
220218
$$(Q)$$(MAKE) -C $$(LIBUV_DIR_$(1)) \
221219
CFLAGS="$$(LIBUV_CFLAGS_$(1)) $$(SNAP_DEFINES)" \
222220
LDFLAGS="$$(CFG_GCCISH_LINK_FLAGS_$(1))" \
@@ -231,6 +229,19 @@ $$(LIBUV_DIR_$(1))/Release/libuv.a: $$(LIBUV_DEPS) $$(LIBUV_MAKEFILE_$(1)) \
231229

232230
endif
233231

232+
ifeq ($(1),$$(CFG_BUILD))
233+
ifneq ($$(CFG_LIBUV_ROOT),)
234+
$$(LIBUV_LIB_$(1)): $$(CFG_LIBUV_ROOT)/libuv.a
235+
$$(Q)cp $$< $$@
236+
else
237+
$$(LIBUV_LIB_$(1)): $$(LIBUV_LOCAL_$(1))
238+
$$(Q)cp $$< $$@
239+
endif
240+
else
241+
$$(LIBUV_LIB_$(1)): $$(LIBUV_LOCAL_$(1))
242+
$$(Q)cp $$< $$@
243+
endif
244+
234245
################################################################################
235246
# jemalloc
236247
################################################################################
@@ -273,11 +284,11 @@ $$(JEMALLOC_LIB_$(1)): $$(CFG_JEMALLOC_ROOT)/libjemalloc_pic.a
273284
@$$(call E, copy: jemalloc)
274285
$$(Q)cp $$< $$@
275286
else
276-
$$(JEMALLOC_LIB_$(1)):
287+
$$(JEMALLOC_LIB_$(1)): $$(JEMALLOC_LOCAL_$(1))
277288
$$(Q)cp $$< $$@
278289
endif
279290
else
280-
$$(JEMALLOC_LIB_$(1)):
291+
$$(JEMALLOC_LIB_$(1)): $$(JEMALLOC_LOCAL_$(1))
281292
$$(Q)cp $$< $$@
282293
endif
283294

0 commit comments

Comments
 (0)