From a3e1980c084409c24ce8eb745ae65777fd2725ad Mon Sep 17 00:00:00 2001 From: Magnus Ihse Bursie Date: Mon, 30 Nov 2020 16:35:02 +0000 Subject: [PATCH] 8256541: Sort out what version of awk is used in the build system Reviewed-by: erikj --- make/CompileCommands.gmk | 7 +------ make/RunTestsPrebuiltSpec.gmk | 1 - make/autoconf/basic_tools.m4 | 3 +-- make/autoconf/compare.sh.in | 3 +-- make/autoconf/spec.gmk.in | 1 - make/common/MakeBase.gmk | 10 +++++++--- make/common/Modules.gmk | 4 ++-- make/common/NativeCompilation.gmk | 6 +++--- make/common/TextFileProcessing.gmk | 4 ++-- make/hotspot/gensrc/GensrcAdlc.gmk | 4 ++-- make/hotspot/lib/JvmMapfile.gmk | 2 +- make/modules/java.base/gensrc/GensrcExceptions.gmk | 2 +- make/modules/java.base/gensrc/GensrcMisc.gmk | 4 ++-- .../jdk.internal.vm.compiler.management/Gensrc.gmk | 2 +- make/scripts/addNotices.sh | 4 ++-- 15 files changed, 26 insertions(+), 31 deletions(-) diff --git a/make/CompileCommands.gmk b/make/CompileCommands.gmk index ad729830e53..494bbd1d3f1 100644 --- a/make/CompileCommands.gmk +++ b/make/CompileCommands.gmk @@ -1,5 +1,5 @@ # -# Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2018, 2020, Oracle and/or its affiliates. All rights reserved. # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. # # This code is free software; you can redistribute it and/or modify it @@ -45,11 +45,6 @@ $(OUTPUTDIR)/compile_commands.json: $(wildcard $(MAKESUPPORT_OUTPUTDIR)/compile- $(RM) $@ $(FIND) $(MAKESUPPORT_OUTPUTDIR)/compile-commands/ -name \*.json | \ $(SORT) | $(XARGS) $(CAT) >> $@.tmp - $(if $(FIXPATH),$(FIXPATH) $(AWK) 'BEGIN { \ - tmpfile = substr(ARGV[2],2); \ - cmd = "$(CP) " "\047" tmpfile "\047" " $@.tmp"; \ - system(cmd); \ - }' -- @$@.tmp) $(SED) -e '1s/^/[\$(NEWLINE)/' -e '$(DOLLAR)s/,\s\{0,\}$(DOLLAR)/\$(NEWLINE)]/' $@.tmp > $@ $(RM) $@.tmp diff --git a/make/RunTestsPrebuiltSpec.gmk b/make/RunTestsPrebuiltSpec.gmk index 30cb6d85946..a12a5383c6b 100644 --- a/make/RunTestsPrebuiltSpec.gmk +++ b/make/RunTestsPrebuiltSpec.gmk @@ -153,7 +153,6 @@ LN := ln MIG := mig MKDIR := mkdir MV := mv -NAWK := nawk NICE := nice PATCH := patch PRINTF := printf diff --git a/make/autoconf/basic_tools.m4 b/make/autoconf/basic_tools.m4 index 9f0eea42d84..dd1cd3935c4 100644 --- a/make/autoconf/basic_tools.m4 +++ b/make/autoconf/basic_tools.m4 @@ -57,7 +57,7 @@ AC_DEFUN_ONCE([BASIC_SETUP_FUNDAMENTAL_TOOLS], UTIL_REQUIRE_PROGS(MKDIR, [gmkdir mkdir]) UTIL_REQUIRE_PROGS(MKTEMP, mktemp) UTIL_REQUIRE_PROGS(MV, mv) - UTIL_REQUIRE_PROGS(NAWK, [nawk gawk awk]) + UTIL_REQUIRE_PROGS(AWK, [gawk nawk awk]) UTIL_REQUIRE_PROGS(PRINTF, printf) UTIL_REQUIRE_PROGS(READLINK, [greadlink readlink]) UTIL_REQUIRE_PROGS(RM, rm) @@ -75,7 +75,6 @@ AC_DEFUN_ONCE([BASIC_SETUP_FUNDAMENTAL_TOOLS], UTIL_REQUIRE_PROGS(XARGS, xargs) # Then required tools that require some special treatment. - UTIL_REQUIRE_SPECIAL(AWK, [AC_PROG_AWK]) UTIL_REQUIRE_SPECIAL(GREP, [AC_PROG_GREP]) UTIL_REQUIRE_SPECIAL(EGREP, [AC_PROG_EGREP]) UTIL_REQUIRE_SPECIAL(FGREP, [AC_PROG_FGREP]) diff --git a/make/autoconf/compare.sh.in b/make/autoconf/compare.sh.in index a57262689d3..e5f5ba679a1 100644 --- a/make/autoconf/compare.sh.in +++ b/make/autoconf/compare.sh.in @@ -1,6 +1,6 @@ #!/bin/bash # -# Copyright (c) 2012, 2016, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2012, 2020, Oracle and/or its affiliates. All rights reserved. # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. # # This code is free software; you can redistribute it and/or modify it @@ -53,7 +53,6 @@ export LDD="@LDD@" export LN="@LN@" export MKDIR="@MKDIR@" export MV="@MV@" -export NAWK="@NAWK@" export NM="@GNM@" export OBJDUMP="@OBJDUMP@" export OTOOL="@OTOOL@" diff --git a/make/autoconf/spec.gmk.in b/make/autoconf/spec.gmk.in index 63dc9a5767d..a1a57446435 100644 --- a/make/autoconf/spec.gmk.in +++ b/make/autoconf/spec.gmk.in @@ -707,7 +707,6 @@ LN:=@LN@ MIG:=@MIG@ MKDIR:=@MKDIR@ MV:=@MV@ -NAWK:=@NAWK@ NICE:=@NICE@ PANDOC:=@FIXPATH@ @PANDOC@ PATCH:=@PATCH@ diff --git a/make/common/MakeBase.gmk b/make/common/MakeBase.gmk index ea6f9f41bc7..7efd9009eb6 100644 --- a/make/common/MakeBase.gmk +++ b/make/common/MakeBase.gmk @@ -89,7 +89,7 @@ BUILDTIMESDIR=$(OUTPUTDIR)/make-support/build-times # Record starting time for build of a sub repository. define RecordStartTime - $(DATE) '+%Y %m %d %H %M %S' | $(NAWK) '{ print $$1,$$2,$$3,$$4,$$5,$$6,($$4*3600+$$5*60+$$6) }' > $(BUILDTIMESDIR)/build_time_start_$(strip $1) && \ + $(DATE) '+%Y %m %d %H %M %S' | $(AWK) '{ print $$1,$$2,$$3,$$4,$$5,$$6,($$4*3600+$$5*60+$$6) }' > $(BUILDTIMESDIR)/build_time_start_$(strip $1) && \ $(DATE) '+%Y-%m-%d %H:%M:%S' > $(BUILDTIMESDIR)/build_time_start_$(strip $1)_human_readable endef @@ -97,10 +97,10 @@ endef # easy to read format. Handles builds that cross midnight. Expects # that a build will never take 24 hours or more. define RecordEndTime - $(DATE) '+%Y %m %d %H %M %S' | $(NAWK) '{ print $$1,$$2,$$3,$$4,$$5,$$6,($$4*3600+$$5*60+$$6) }' > $(BUILDTIMESDIR)/build_time_end_$(strip $1) + $(DATE) '+%Y %m %d %H %M %S' | $(AWK) '{ print $$1,$$2,$$3,$$4,$$5,$$6,($$4*3600+$$5*60+$$6) }' > $(BUILDTIMESDIR)/build_time_end_$(strip $1) $(DATE) '+%Y-%m-%d %H:%M:%S' > $(BUILDTIMESDIR)/build_time_end_$(strip $1)_human_readable $(ECHO) `$(CAT) $(BUILDTIMESDIR)/build_time_start_$(strip $1)` `$(CAT) $(BUILDTIMESDIR)/build_time_end_$(strip $1)` $1 | \ - $(NAWK) '{ F=$$7; T=$$14; if (F > T) { T+=3600*24 }; D=T-F; H=int(D/3600); \ + $(AWK) '{ F=$$7; T=$$14; if (F > T) { T+=3600*24 }; D=T-F; H=int(D/3600); \ M=int((D-H*3600)/60); S=D-H*3600-M*60; printf("%02d:%02d:%02d %s\n",H,M,S,$$15); }' \ > $(BUILDTIMESDIR)/build_time_diff_$(strip $1) endef @@ -439,6 +439,8 @@ endif # This is normally not needed since we use the FIXPATH prefix for command lines, # but might be needed in certain circumstances. ifeq ($(call isTargetOs, windows), true) + FixPathArgs = \ + $(shell $(FIXPATH) cmd /c echo $1) ifeq ($(call isBuildOsEnv, windows.wsl), true) FixPath = \ $(shell $(WSLPATH) -m $1) @@ -447,6 +449,8 @@ ifeq ($(call isTargetOs, windows), true) $(shell $(CYGPATH) -m $1) endif else + FixPathArgs = \ + $1 FixPath = \ $1 endif diff --git a/make/common/Modules.gmk b/make/common/Modules.gmk index 10aacff4726..910f8beb2ff 100644 --- a/make/common/Modules.gmk +++ b/make/common/Modules.gmk @@ -338,7 +338,7 @@ $(MODULE_DEPS_MAKEFILE): $(MODULE_INFOS) \ $(RM) $@ $(foreach m, $(MODULE_INFOS), \ ( $(PRINTF) "DEPS_$(call GetModuleNameFromModuleInfo, $m) :=" && \ - $(NAWK) -v MODULE=$(call GetModuleNameFromModuleInfo, $m) '\ + $(AWK) -v MODULE=$(call GetModuleNameFromModuleInfo, $m) '\ BEGIN { if (MODULE != "java.base") printf(" java.base"); } \ /^ *requires/ { sub(/;/, ""); \ sub(/requires /, " "); \ @@ -352,7 +352,7 @@ $(MODULE_DEPS_MAKEFILE): $(MODULE_INFOS) \ printf(" %s", $$0) } \ END { printf("\n") }' $m && \ $(PRINTF) "TRANSITIVE_MODULES_$(call GetModuleNameFromModuleInfo, $m) :=" && \ - $(NAWK) -v MODULE=$(call GetModuleNameFromModuleInfo, $m) '\ + $(AWK) -v MODULE=$(call GetModuleNameFromModuleInfo, $m) '\ BEGIN { if (MODULE != "java.base") printf(" java.base"); } \ /^ *requires *transitive/ { \ sub(/;/, ""); \ diff --git a/make/common/NativeCompilation.gmk b/make/common/NativeCompilation.gmk index d4c202146e0..a16a7732f53 100644 --- a/make/common/NativeCompilation.gmk +++ b/make/common/NativeCompilation.gmk @@ -72,10 +72,10 @@ define WriteCompileCommandsFragment $(call LogInfo, Creating compile commands fragment for $(notdir $3)) $(call MakeDir, $(dir $1)) $(call WriteFile,{ \ - "directory": "$(strip $2)"$(COMMA) \ - "file": "$(strip $3)"$(COMMA) \ + "directory": "$(strip $(call FixPathArgs, $2))"$(COMMA) \ + "file": "$(strip $(call FixPathArgs, $3))"$(COMMA) \ "command": "$(strip $(subst $(DQUOTE),\$(DQUOTE),$(subst \,\\,\ - $(subst $(FIXPATH),,$4))))" \ + $(subst $(FIXPATH),,$(call FixPathArgs, $4)))))" \ }$(COMMA), \ $1) endef diff --git a/make/common/TextFileProcessing.gmk b/make/common/TextFileProcessing.gmk index 7308d7e8c19..79df3eec40e 100644 --- a/make/common/TextFileProcessing.gmk +++ b/make/common/TextFileProcessing.gmk @@ -1,5 +1,5 @@ # -# Copyright (c) 2013, 2019, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2013, 2020, Oracle and/or its affiliates. All rights reserved. # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. # # This code is free software; you can redistribute it and/or modify it @@ -177,7 +177,7 @@ define SetupTextFileProcessingBody $1_INCLUDES_PARTIAL_AWK := $$(subst $$(SPACE);,,$$(subst $$(SPACE)=>$$(SPACE),"$$(RIGHT_PAREN)$$(RIGHT_PAREN) \ { include$$(LEFT_PAREN)",$$(subst $$(SPACE);$$(SPACE),"$$(RIGHT_PAREN) } \ else if $$(LEFT_PAREN)matches$$(LEFT_PAREN)",$$(strip $$($1_INCLUDES))))) - $1_INCLUDES_COMMAND_LINE := $(NAWK) '$$($1_INCLUDES_HEADER_AWK) \ + $1_INCLUDES_COMMAND_LINE := $(AWK) '$$($1_INCLUDES_HEADER_AWK) \ { if (matches("$$($1_INCLUDES_PARTIAL_AWK)") } else print }' else # We don't have any includes, just pipe the file through cat. diff --git a/make/hotspot/gensrc/GensrcAdlc.gmk b/make/hotspot/gensrc/GensrcAdlc.gmk index fb7d48f1e27..149bdaa4ea6 100644 --- a/make/hotspot/gensrc/GensrcAdlc.gmk +++ b/make/hotspot/gensrc/GensrcAdlc.gmk @@ -168,7 +168,7 @@ ifeq ($(call check-jvm-feature, compiler2), true) $(SINGLE_AD_SRCFILE): $(AD_SRC_FILES) $(call LogInfo, Preprocessing adlc files $(^F)) $(call MakeDir, $(@D)) - $(NAWK) $(INSERT_FILENAME_AWK_SCRIPT) $^ > $@ + $(AWK) $(INSERT_FILENAME_AWK_SCRIPT) $^ > $@ ############################################################################## # Run the adlc tool on the single concatenated ad source file, and store the @@ -205,7 +205,7 @@ ifeq ($(call check-jvm-feature, compiler2), true) $(JVM_VARIANT_OUTPUTDIR)/gensrc/adfiles/%: $(adlc_run_TARGET) $(call LogInfo, Postprocessing adlc file $*) $(call MakeDir, $(@D)) - $(NAWK) \ + $(AWK) \ 'BEGIN { print "#line 1 \"$*\""; } \ /^#line 999999$$/ {print "#line " (NR+1) " \"$*\""; next} \ $(if $(call equals, $(ALLOW_ABSOLUTE_PATHS_IN_OUTPUT), false), \ diff --git a/make/hotspot/lib/JvmMapfile.gmk b/make/hotspot/lib/JvmMapfile.gmk index c75eecd3ced..7da46ebe699 100644 --- a/make/hotspot/lib/JvmMapfile.gmk +++ b/make/hotspot/lib/JvmMapfile.gmk @@ -114,7 +114,7 @@ endif $(JVM_OUTPUTDIR)/symbols-objects: $(BUILD_LIBJVM_ALL_OBJS) $(call LogInfo, Generating symbol list from object files) $(CD) $(JVM_OUTPUTDIR)/objs && \ - $(DUMP_SYMBOLS_CMD) | $(NAWK) $(FILTER_SYMBOLS_AWK_SCRIPT) | $(SORT) -u > $@ + $(DUMP_SYMBOLS_CMD) | $(AWK) $(FILTER_SYMBOLS_AWK_SCRIPT) | $(SORT) -u > $@ SYMBOLS_SRC += $(JVM_OUTPUTDIR)/symbols-objects diff --git a/make/modules/java.base/gensrc/GensrcExceptions.gmk b/make/modules/java.base/gensrc/GensrcExceptions.gmk index fd7d8c75d8b..37fed896560 100644 --- a/make/modules/java.base/gensrc/GensrcExceptions.gmk +++ b/make/modules/java.base/gensrc/GensrcExceptions.gmk @@ -36,7 +36,7 @@ $(GENSRC_EXCEPTIONS_DST)/_the.%.marker: $(GENSRC_EXCEPTIONS_SRC)/%/exceptions \ $(GENSRC_EXCEPTIONS_CMD) $(call LogInfo, Generating exceptions java.nio $*) $(call MakeDir, $(@D)/$*) - SCRIPTS="$(TOPDIR)/make/scripts" NAWK="$(NAWK)" SH="$(SH)" $(SH) \ + SCRIPTS="$(TOPDIR)/make/scripts" AWK="$(AWK)" SH="$(SH)" $(SH) \ $(GENSRC_EXCEPTIONS_CMD) $< $(@D)/$* $(LOG_DEBUG) $(TOUCH) $@ diff --git a/make/modules/java.base/gensrc/GensrcMisc.gmk b/make/modules/java.base/gensrc/GensrcMisc.gmk index 31d816d1e34..3519b0216ae 100644 --- a/make/modules/java.base/gensrc/GensrcMisc.gmk +++ b/make/modules/java.base/gensrc/GensrcMisc.gmk @@ -78,10 +78,10 @@ endif define generate-preproc-src $(call MakeDir, $(@D)) $(call ExecuteWithLog, $(SUPPORT_OUTPUTDIR)/gensrc/java.base/_$(@F), \ - ( $(NAWK) '/@@END_COPYRIGHT@@/{exit}1' $< && \ + ( $(AWK) '/@@END_COPYRIGHT@@/{exit}1' $< && \ $(CPP) $(CPP_FLAGS) $(SYSROOT_CFLAGS) $(CFLAGS_JDKLIB) $(CPP_FILEPREFIX) $< \ 2> >($(GREP) -v '^$(&2) \ - | $(NAWK) '/@@START_HERE@@/,0' \ + | $(AWK) '/@@START_HERE@@/,0' \ | $(SED) -e 's/@@START_HERE@@/\/\/ AUTOMATICALLY GENERATED FILE - DO NOT EDIT/' \ -e 's/PREFIX_//' -e 's/^#.*//' \ ) > $@ \ diff --git a/make/modules/jdk.internal.vm.compiler.management/Gensrc.gmk b/make/modules/jdk.internal.vm.compiler.management/Gensrc.gmk index 103b2bba503..8a842997d76 100644 --- a/make/modules/jdk.internal.vm.compiler.management/Gensrc.gmk +++ b/make/modules/jdk.internal.vm.compiler.management/Gensrc.gmk @@ -68,7 +68,7 @@ $(GENSRC_DIR)/module-info.java.extra: $(GENSRC_DIR)/_gensrc_proc_done ($(CD) $(GENSRC_DIR)/META-INF/providers && \ p=""; \ impl=""; \ - for i in $$($(NAWK) '$$0=FILENAME" "$$0' * | $(SORT) -k 2 | $(SED) 's/ .*//'); do \ + for i in $$($(AWK) '$$0=FILENAME" "$$0' * | $(SORT) -k 2 | $(SED) 's/ .*//'); do \ c=$$($(CAT) $$i | $(TR) -d '\n\r'); \ if test x$$p != x$$c; then \ if test x$$p != x; then \ diff --git a/make/scripts/addNotices.sh b/make/scripts/addNotices.sh index 6e0cdf916af..d9864818a14 100644 --- a/make/scripts/addNotices.sh +++ b/make/scripts/addNotices.sh @@ -1,6 +1,6 @@ #! /bin/sh # -# Copyright (c) 2007, 2012, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2007, 2020, Oracle and/or its affiliates. All rights reserved. # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. # # This code is free software; you can redistribute it and/or modify it @@ -40,6 +40,6 @@ if [ "x$COPYRIGHT_YEARS" != x ]; then __END__ fi -$NAWK ' /^#.*Copyright.*Oracle/ { next } +$AWK ' /^#.*Copyright.*Oracle/ { next } /^#([^!]|$)/ { sub(/^#/, " *"); print } /^$/ { print " */"; exit } ' $0