[Scummvm-git-logs] scummvm master -> b813d1ca0d6f7dbb09deeaebb687d28c2bcf58e9
lephilousophe
lephilousophe at users.noreply.github.com
Sun Mar 28 19:42:34 UTC 2021
This automated email contains information about 1 new commit which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .
Summary:
b813d1ca0d CONFIGURE: Avoid needless overwrite of header and mk files
Commit: b813d1ca0d6f7dbb09deeaebb687d28c2bcf58e9
https://github.com/scummvm/scummvm/commit/b813d1ca0d6f7dbb09deeaebb687d28c2bcf58e9
Author: Orgad Shaneh (orgads at gmail.com)
Date: 2021-03-28T21:42:31+02:00
Commit Message:
CONFIGURE: Avoid needless overwrite of header and mk files
They trigger extensive rebuild of source files without a reason every time
the configure script changes, even if the result is exactly the same.
Changed paths:
.gitignore
Makefile
configure
diff --git a/.gitignore b/.gitignore
index 699e06681f..bcce649fd9 100644
--- a/.gitignore
+++ b/.gitignore
@@ -15,6 +15,7 @@ lib*.a
/ScummVMDockTilePlugin*
/config.h
/config.mk
+/configure.stamp
/.gdb_history
/dumps
/Credits.rtf
diff --git a/Makefile b/Makefile
index 2ab2f4fdbd..338c74fa15 100644
--- a/Makefile
+++ b/Makefile
@@ -100,7 +100,7 @@ ifneq ($(SAVED_PKG_CONFIG_LIBDIR),unset)
endif
# check if configure has been run or has been changed since last run
-config.h: $(srcdir)/configure $(ENGINE_SUBDIRS_CONFIGURE)
+configure.stamp: $(srcdir)/configure $(ENGINE_SUBDIRS_CONFIGURE)
ifeq "$(findstring config.mk,$(MAKEFILE_LIST))" "config.mk"
@echo "Running $(srcdir)/configure with the last specified parameters"
@sleep 2
@@ -111,12 +111,10 @@ else
$(error You need to run $(srcdir)/configure before you can run make. Check $(srcdir)/configure --help for a list of parameters)
endif
-config.mk engines/plugins_table.h engines/engines.mk: config.h
- @if test -f $@; then \
- touch $@; \
- else \
- rm -f config.h; \
- $(MAKE) config.h; \
+config.h config.mk engines/plugins_table.h engines/detection_table.h engines/engines.mk: configure.stamp
+ @if ! test -f $@; then \
+ rm -f configure.stamp; \
+ $(MAKE) configure.stamp; \
fi
ifneq ($(origin port_mk), undefined)
diff --git a/configure b/configure
index b25d54059f..d50395027b 100755
--- a/configure
+++ b/configure
@@ -941,6 +941,15 @@ get_subengines_build_string() {
echo "$subengine_string"
}
+# Copy first argument to second one if they are different. Otherwise, delete the first one.
+copy_if_changed() {
+ if cmp -s $1 $2; then
+ rm -f $1
+ else
+ mv -f $1 $2
+ fi
+}
+
#
# Check any parameters we received
#
@@ -6273,7 +6282,7 @@ fi
echo
echo "Creating config.h"
-cat > config.h << EOF
+cat > config.h.new << EOF
/* This file is automatically generated by configure */
/* DO NOT EDIT MANUALLY */
@@ -6306,9 +6315,11 @@ typedef $type_ptr uintptr;
#endif /* CONFIG_H */
EOF
+copy_if_changed config.h.new config.h
+
echo "Creating config.mk"
-cat > config.mk << EOF
+cat > config.mk.new << EOF
# -------- Generated by configure -----------
SAVED_CONFIGFLAGS := $SAVED_CONFIGFLAGS
@@ -6384,6 +6395,7 @@ $_mak_plugins
port_mk = $_port_mk
EOF
+copy_if_changed config.mk.new config.mk
#
# Create a custom Makefile when building outside the source tree
@@ -6392,7 +6404,7 @@ EOF
if test ! -f Makefile.common ; then
echo "Creating Makefile"
-cat > Makefile << EOF
+cat > Makefile.new << EOF
# -------- Generated by configure -----------
srcdir = $_srcdir
vpath %.h \$(srcdir)
@@ -6407,6 +6419,7 @@ vpath %.rc \$(srcdir)
vpath %.md \$(srcdir)
include \$(srcdir)/Makefile
EOF
+copy_if_changed Makefile.new Makefile
fi
@@ -6415,7 +6428,7 @@ fi
mkdir -p engines
echo "Creating engines/engines.mk"
-cat > engines/engines.mk << EOF
+cat > engines/engines.mk.new << EOF
# This file is automatically generated by configure
# DO NOT EDIT MANUALLY
# This file is being included by "Makefile.common"
@@ -6425,7 +6438,7 @@ for engine in $_sorted_engines; do
j=`echo $engine | tr '[:lower:]' '[:upper:]'`
if test "`get_engine_sub $engine`" = "no" ; then
# main engine
- cat >> engines/engines.mk << EOF
+ cat >> engines/engines.mk.new << EOF
ifdef ENABLE_$j
DEFINES += -DENABLE_$j=\$(ENABLE_$j)
@@ -6434,7 +6447,7 @@ EOF
for subeng in `get_engine_subengines $engine` ; do
k=`echo $subeng | tr '[:lower:]' '[:upper:]'`
- cat >> engines/engines.mk << EOF
+ cat >> engines/engines.mk.new << EOF
ifdef ENABLE_$k
DEFINES += -DENABLE_$k
@@ -6442,17 +6455,18 @@ endif
EOF
done
- cat >> engines/engines.mk << EOF
+ cat >> engines/engines.mk.new << EOF
endif
EOF
fi
done
+copy_if_changed engines/engines.mk.new engines/engines.mk
# Name which is suffixed to each detection plugin
detectId="_DETECTION"
echo "Creating engines/detection_table.h"
-cat > engines/detection_table.h << EOF
+cat > engines/detection_table.h.new << EOF
/* This file is automatically generated by configure */
/* DO NOT EDIT MANUALLY */
// This file is being included by "base/plugins.cpp"
@@ -6462,17 +6476,18 @@ for engine in $_sorted_engines; do
if test "`get_engine_sub $engine`" = "no" ; then
j=`echo $engine | tr '[:lower:]' '[:upper:]'`
detectEngine="${j}${detectId}"
- cat >> engines/detection_table.h << EOF
+ cat >> engines/detection_table.h.new << EOF
#if defined(ENABLE_$j) || defined(DETECTION_FULL)
LINK_PLUGIN($detectEngine)
#endif
EOF
fi
done
+copy_if_changed engines/detection_table.h.new engines/detection_table.h
echo "Creating engines/plugins_table.h"
-cat > engines/plugins_table.h << EOF
+cat > engines/plugins_table.h.new << EOF
/* This file is automatically generated by configure */
/* DO NOT EDIT MANUALLY */
// This file is being included by "base/plugins.cpp"
@@ -6481,10 +6496,13 @@ EOF
for engine in $_sorted_engines; do
if test "`get_engine_sub $engine`" = "no" ; then
j=`echo $engine | tr '[:lower:]' '[:upper:]'`
- cat >> engines/plugins_table.h << EOF
+ cat >> engines/plugins_table.h.new << EOF
#if PLUGIN_ENABLED_STATIC($j)
LINK_PLUGIN($j)
#endif
EOF
fi
done
+copy_if_changed engines/plugins_table.h.new engines/plugins_table.h
+
+touch configure.stamp
More information about the Scummvm-git-logs
mailing list