BUILD: Set PKG_CONFIG_LIBDIR only when needed when running configure
Remember if PKG_CONFIG_LIBDIR is set when running configure manually, when automatically running configure, only set PKG_CONFIG_LIBDIR if it was set during the manual run. Fixes #10807.
This commit is contained in:
parent
4d36606b27
commit
8efe46dcee
2 changed files with 20 additions and 10 deletions
28
Makefile
28
Makefile
|
@ -82,20 +82,30 @@ EXECUTABLE := $(EXEPRE)scummvm$(EXEEXT)
|
|||
|
||||
include $(srcdir)/Makefile.common
|
||||
|
||||
# check if configure has been run or has been changed since last run
|
||||
ENGINE_SUBDIRS_CONFIGURE := $(wildcard $(srcdir)/engines/*/configure.engine)
|
||||
|
||||
config.h:
|
||||
SAVED_ENV_VARS = AR AS ASFLAGS CPPFLAGS CXX CXXFLAGS LD LDFLAGS RANLIB SDL_CONFIG STRIP WINDRES WINDRESFLAGS
|
||||
|
||||
# The environment variable PKG_CONFIG_LIBDIR has a different meaning
|
||||
# for pkg-config when it is empty and when it is not defined.
|
||||
# When PKG_CONFIG_LIBDIR is defined but empty, the .pc files cannot
|
||||
# be found because the search path is empty.
|
||||
# Here we make sure not to define PKG_CONFIG_LIBDIR when automatically
|
||||
# running configure and it was not set for the previous run
|
||||
# so pkg-config uses the system default search path for the .pc files.
|
||||
ifneq ($(SAVED_PKG_CONFIG_LIBDIR),unset)
|
||||
SAVED_ENV_VARS += PKG_CONFIG_LIBDIR
|
||||
endif
|
||||
|
||||
# check if configure has been run or has been changed since last run
|
||||
config.h: $(srcdir)/configure $(ENGINE_SUBDIRS_CONFIGURE)
|
||||
ifeq "$(findstring config.mk,$(MAKEFILE_LIST))" "config.mk"
|
||||
@echo "Running $(srcdir)/configure with the last specified parameters"
|
||||
@sleep 2
|
||||
AR="$(SAVED_AR)" AS="$(SAVED_AS)" ASFLAGS="$(SAVED_ASFLAGS)" \
|
||||
CPPFLAGS="$(SAVED_CPPFLAGS)" CXX="$(SAVED_CXX)" \
|
||||
CXXFLAGS="$(SAVED_CXXFLAGS)" LD="$(SAVED_LD)" \
|
||||
LDFLAGS="$(SAVED_LDFLAGS)" PKG_CONFIG_LIBDIR="$(SAVED_PKG_CONFIG_LIBDIR)" \
|
||||
RANLIB="$(SAVED_RANLIB)" SDL_CONFIG="$(SAVED_SDL_CONFIG)" \
|
||||
STRIP="$(SAVED_STRIP)" WINDRES="$(SAVED_WINDRES)" \
|
||||
WINDRESFLAGS="$(SAVED_WINDRESFLAGS)" \
|
||||
$(srcdir)/configure $(SAVED_CONFIGFLAGS)
|
||||
|
||||
$(foreach VAR,$(SAVED_ENV_VARS),$(VAR)="$(SAVED_$(VAR))") \
|
||||
$(srcdir)/configure $(SAVED_CONFIGFLAGS)
|
||||
else
|
||||
$(error You need to run $(srcdir)/configure before you can run make. Check $(srcdir)/configure --help for a list of parameters)
|
||||
endif
|
||||
|
|
2
configure
vendored
2
configure
vendored
|
@ -38,7 +38,7 @@ SAVED_CXXFLAGS=$CXXFLAGS
|
|||
SAVED_DWP=$DWP
|
||||
SAVED_LD=$LD
|
||||
SAVED_LDFLAGS=$LDFLAGS
|
||||
SAVED_PKG_CONFIG_LIBDIR=$PKG_CONFIG_LIBDIR
|
||||
SAVED_PKG_CONFIG_LIBDIR=${PKG_CONFIG_LIBDIR:-unset}
|
||||
SAVED_RANLIB=$RANLIB
|
||||
SAVED_SDL_CONFIG=$SDL_CONFIG
|
||||
SAVED_STRIP=$STRIP
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue