> -----Original Message----- > From: Jakub Jelinek <ja...@redhat.com> > Sent: Friday, May 5, 2023 4:18 PM > To: Jeff Law <jeffreya...@gmail.com> > Cc: David Edelsohn <dje....@gmail.com>; Tamar Christina > <tamar.christ...@arm.com>; GCC Patches <gcc-patches@gcc.gnu.org> > Subject: Re: [PATCH 5/5] match.pd: Use splits in makefile and make > configurable. > > On Fri, May 05, 2023 at 09:04:16AM -0600, Jeff Law via Gcc-patches wrote: > > On 5/5/23 08:59, David Edelsohn via Gcc-patches wrote: > > > This patch has broken GCC bootstrap on AIX. It appears to rely > > > upon, or complain about, the command "seq": > > > > > > /nasfarm/edelsohn/install/GCC12/bin/g++ -std=c++11 -g -DIN_GCC > > > -fno-exceptions -fno-rtti -fasynchronous-unwind-tables -W -Wall > > > -Wno-narrowing -Wwrite-strings -Wcast-qual -Wno-format > > > -Wmissing-format-attribute -Wconditionally-supported > > > -Woverloaded-virtual -pedantic -Wno-long-long -Wno-variadic-macros > > > -Wno-overlength-strings -fno-common -DHAVE_CONFIG_H > > > -DGENERATOR_FILE -static-libstdc++ -static-libgcc -Wl,-bbigtoc -Wl,- > bmaxdata:0x40000000 -o build/genmatch \ > > > build/genmatch.o > > > ../build-powerpc-ibm-aix7.2.5.0/libcpp/libcpp.a > > > build/errors.o build/vec.o build/hash-table.o build/sort.o > > > ../build-powerpc-ibm-aix7.2.5.0/libiberty/libiberty.a > > > /usr/bin/bash: seq: command not found > > > /usr/bin/bash: seq: command not found build/genmatch --gimple \ > > > --header=tmp-gimple-match-auto.h --include=gimple-match-auto.h \ > > > /nasfarm/edelsohn/src/src/gcc/match.pd > > > > > > All of the match files are dumped to stdout. > > Sigh. So the question is do we make seq a requirement or do we > > implement an alternate to get the sequence or implement a fallback. > > We require GNU make, so perhaps we could use something like $(wordlist > 1,$(NUM_MATCH_SPLITS),$(check_p_numbers)) > instead of > $(shell seq 1 $(NUM_MATCH_SPLITS)) > provided we move the check_p_numbers definition earlier (or perhaps bettter > rename it to something more generic, so that it is clear that is a variable > holding numbers from 1 to 9999.
I'm currently testing NUM_MATCH_SPLITS = @DEFAULT_MATCHPD_PARTITIONS@ -MATCH_SPLITS_SEQ = $(shell seq 1 $(NUM_MATCH_SPLITS)) +MATCH_SPLITS_SEQ = $(shell echo {1..$(NUM_MATCH_SPLITS)}) Which seems to work since it looks like we require an sh compatible shell. Question is this right? From the existing $(foreach header_var,$(shell sed < Makefile -n -e 's/^\([A-Z0-9_]*_H\)[ ]*=.*/\1/p'),echo $(header_var)=$(shell echo $($(header_var):$(srcdir)/%=.../%) | sed -e 's~\.\.\./config/~config/~' -e 's~\.\.\./common/config/~common/config/~' -e 's~\.\.\.[^ ]*/~~g') >> tmp-header-vars;) Rule this seems to be correct. Thanks, Tamar > > Jakub