aboutsummaryrefslogtreecommitdiff
path: root/Makefile
diff options
context:
space:
mode:
authorBastien Bouclet2018-11-16 18:21:57 +0100
committerBastien Bouclet2018-11-16 18:34:59 +0100
commit8efe46dceeaf08984477003d07efd5d80865cde5 (patch)
tree297cea3c5eabb4ef934d22a46cefbfc2ae5a745c /Makefile
parent4d36606b27f82c8daa5c3f1ea95a279803cb14d1 (diff)
downloadscummvm-rg350-8efe46dceeaf08984477003d07efd5d80865cde5.tar.gz
scummvm-rg350-8efe46dceeaf08984477003d07efd5d80865cde5.tar.bz2
scummvm-rg350-8efe46dceeaf08984477003d07efd5d80865cde5.zip
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.
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile28
1 files changed, 19 insertions, 9 deletions
diff --git a/Makefile b/Makefile
index bbba24f092..56ebfc73b5 100644
--- a/Makefile
+++ b/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