aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom Lane <tgl@sss.pgh.pa.us>2018-04-28 14:45:39 -0400
committerTom Lane <tgl@sss.pgh.pa.us>2018-04-28 14:45:39 -0400
commitf2bb32dbd6af8ec3eb99308289a83b1ff3ca6514 (patch)
tree144c2c4532bd57b6eec7bd1f20b23380b4cc19bf
parentbc19b7836215b1a847524041a1bd138d7bb5cbef (diff)
downloadpostgresql-f2bb32dbd6af8ec3eb99308289a83b1ff3ca6514.tar.gz
postgresql-f2bb32dbd6af8ec3eb99308289a83b1ff3ca6514.zip
Un-break contrib install with llvm.
Apparently $(foreach ... $(call install_llvm_module,...)) doesn't work too well without a blank line ending the install_llvm_module macro. The previous coding hackishly dodged this problem with some parens, but that's not really a good solution because make misunderstands where the command boundaries are that way. Discussion: https://postgr.es/m/20180428073935.GB1736@paquier.xyz
-rw-r--r--src/Makefile.global.in4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/Makefile.global.in b/src/Makefile.global.in
index ab64038e675..95d090e72da 100644
--- a/src/Makefile.global.in
+++ b/src/Makefile.global.in
@@ -1019,12 +1019,15 @@ endif
#
# The many INSTALL_DATA invocations aren't particularly fast, it'd be
# good if we could coalesce them, but I didn't find a good way.
+#
+# Note: blank line at end of macro is necessary to let it be used in foreach
define install_llvm_module
$(MKDIR_P) '$(DESTDIR)${bitcodedir}/$(1)'
$(MKDIR_P) $(sort $(dir $(addprefix '$(DESTDIR)${bitcodedir}'/$(1)/, $(2))))
$(foreach obj, ${2}, $(INSTALL_DATA) $(patsubst %.o,%.bc, $(obj)) '$(DESTDIR)${bitcodedir}'/$(1)/$(dir $(obj))
)
cd '$(DESTDIR)${bitcodedir}' && $(LLVM_BINPATH)/llvm-lto -thinlto -thinlto-action=thinlink -o $(1).index.bc $(addprefix $(1)/,$(patsubst %.o,%.bc, $(2)))
+
endef
# Uninstall LLVM bitcode module.
@@ -1037,4 +1040,5 @@ endef
define uninstall_llvm_module
rm -rf '$(DESTDIR)${bitcodedir}/$(1)/'
rm -f '$(DESTDIR)${bitcodedir}/$(1).index.bc'
+
endef