2e63604e2a
In #26252 support was added to have prettier paths printed out on failure by not passing the full path to the source file to the compiler, but instead just a small relative path. To preserve this relative path across configurations, the `SREL` variable was used for reconfiguring, but if `SREL` is empty then it will attempt to run the command `configure` which is distinct from running `./configure` (e.g. doesn't run the local script). This commit modifies the `SREL` value to re-run the configure script by setting it to `./` in the case where `SREL` is empty.
43 lines
1.5 KiB
Makefile
43 lines
1.5 KiB
Makefile
# Copyright 2014 The Rust Project Developers. See the COPYRIGHT
|
|
# file at the top-level directory of this distribution and at
|
|
# http://rust-lang.org/COPYRIGHT.
|
|
#
|
|
# Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
|
|
# http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
|
|
# <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
|
|
# option. This file may not be copied, modified, or distributed
|
|
# except according to those terms.
|
|
|
|
# Recursive wildcard function
|
|
# http://blog.jgc.org/2011/07/gnu-make-recursive-wildcard-function.html
|
|
rwildcard=$(foreach d,$(wildcard $1*),$(call rwildcard,$d/,$2) \
|
|
$(filter $(subst *,%,$2),$d))
|
|
|
|
ifndef CFG_DISABLE_MANAGE_SUBMODULES
|
|
# This is a pretty expensive operation but I don't see any way to avoid it
|
|
# NB: This only looks for '+' status (wrong commit checked out), not '-' status
|
|
# (nothing checked out at all). `./configure --{llvm,jemalloc}-root`
|
|
# will explicitly deinitialize the corresponding submodules, and we don't
|
|
# want to force constant rebuilds in that case.
|
|
NEED_GIT_RECONFIG=$(shell cd "$(CFG_SRC_DIR)" && $(CFG_GIT) submodule status | grep -c '^+')
|
|
else
|
|
NEED_GIT_RECONFIG=0
|
|
endif
|
|
|
|
ifeq ($(NEED_GIT_RECONFIG),0)
|
|
else
|
|
# If the submodules have changed then always execute config.mk
|
|
.PHONY: config.stamp
|
|
endif
|
|
|
|
Makefile config.mk: config.stamp
|
|
|
|
ifeq ($(SREL),)
|
|
SREL_ROOT := ./
|
|
else
|
|
SREL_ROOT := $(SREL)
|
|
endif
|
|
|
|
config.stamp: $(S)configure $(S)Makefile.in $(S)src/snapshots.txt
|
|
@$(call E, cfg: reconfiguring)
|
|
$(SREL_ROOT)configure $(CFG_CONFIGURE_ARGS)
|