Re: [Mesa-dev] [PATCH] i965: avoid using a GNU make pattern rule
On 16 March 2017 at 23:53, Robert Braggwrote: > On Thu, Mar 16, 2017 at 1:50 PM, Emil Velikov > wrote: >> On 16 March 2017 at 02:49, Jonathan Gray wrote: >>> % pattern rules are a GNU extension. As there is only one file here >>> avoid patterns and globbing entirely to fix the build on non-GNU make. >>> >>> Signed-off-by: Jonathan Gray >>> --- >>> src/mesa/drivers/dri/i965/Makefile.am | 8 >>> 1 file changed, 4 insertions(+), 4 deletions(-) >>> >>> diff --git a/src/mesa/drivers/dri/i965/Makefile.am >>> b/src/mesa/drivers/dri/i965/Makefile.am >>> index a83e3a6fa1..fee1ccbbf5 100644 >>> --- a/src/mesa/drivers/dri/i965/Makefile.am >>> +++ b/src/mesa/drivers/dri/i965/Makefile.am >>> @@ -92,8 +92,8 @@ EXTRA_DIST = \ >>> # .c and .h files in one go so we don't hit problems with parallel >>> # make and multiple invocations of the same script trying to write >>> # to the same files. >>> -brw_oa_%.h: brw_oa_%.xml brw_oa.py Makefile.am >>> - $(PYTHON2) $(PYTHON_FLAGS) $(srcdir)/brw_oa.py >>> --header=$(builddir)/brw_oa_$(*).h --chipset="$(*)" >>> $(srcdir)/brw_oa_$(*).xml >>> -brw_oa_%.c: brw_oa_%.xml brw_oa.py Makefile.am >>> - $(PYTHON2) $(PYTHON_FLAGS) $(srcdir)/brw_oa.py >>> --code=$(builddir)/brw_oa_$(*).c --chipset="$(*)" $(srcdir)/brw_oa_$(*).xml >> >> Hmm that is not even remotely what was reviewed or suggested ... strange. >> > > Sorry, I didn't intend to change this under the radar, but I guess the > you didn't see this: > https://lists.freedesktop.org/archives/mesa-dev/2017-March/147200.html > Dropping the r-b and/or poking me on IRC would have been appreciated. It's odd that it was completely rewritten, as we seemingly reached consensus on IRC :-( >> >>> +brw_oa_hsw.h: $(srcdir)/brw_oa_hsw.xml >>> + $(PYTHON2) $(PYTHON_FLAGS) $(srcdir)/brw_oa.py >>> --header=$(builddir)/brw_oa_hsw.h --chipset=hsw $(srcdir)/brw_oa_hsw.xml >>> +brw_oa_hsw.c: $(srcdir)/brw_oa_hsw.xml >>> + $(PYTHON2) $(PYTHON_FLAGS) $(srcdir)/brw_oa.py >>> --code=$(builddir)/brw_oa_hsw.c --chipset=hsw $(srcdir)/brw_oa_hsw.xml >>> >> Thank you Jonathan. >> >> We might need a generic rule as other generations are covered and/or >> even move the lot to another location. >> All that in due time, for now I'll add the missing brw_oa.py >> dependency and push this. > > Just to mention; this change just caught me out when rebasing my gen 8 > / 9 changes and so I'm wondering about the best way to deal with this, > ideally without copying seven times for hsw, bdw, chv, sklgt2, sklgt3, > sklgt4, bxt + more later. For now I'm copy & pasting, and maybe it'll > just be easiest to stick with that. > Yes, I'd stick with that for now. We should be able to use suffix rules - I believe Jonathan can share some ideas. Alternatively I'll take a look on fresh mind. > I wouldn't guess the i915-perf kernel interface has been ported to any > other OS besides Linux, so maybe these can be annexed as Linux > specific somehow to avoid tripping up other OS builds. > This is more hacky than you'd imagine. Plus keeping it portable is not that hard/complex right ? > It looks like there are a few other files in Mesa that use patterns, > such as ./src/mapi/glapi/gen/Makefile.am - I wonder how come that > hasn't proven to be a problem. > Do not give [almost] anything in src/mapi as an example, please. -Emil ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev
Re: [Mesa-dev] [PATCH] i965: avoid using a GNU make pattern rule
On Thu, Mar 16, 2017 at 1:50 PM, Emil Velikovwrote: > On 16 March 2017 at 02:49, Jonathan Gray wrote: >> % pattern rules are a GNU extension. As there is only one file here >> avoid patterns and globbing entirely to fix the build on non-GNU make. >> >> Signed-off-by: Jonathan Gray >> --- >> src/mesa/drivers/dri/i965/Makefile.am | 8 >> 1 file changed, 4 insertions(+), 4 deletions(-) >> >> diff --git a/src/mesa/drivers/dri/i965/Makefile.am >> b/src/mesa/drivers/dri/i965/Makefile.am >> index a83e3a6fa1..fee1ccbbf5 100644 >> --- a/src/mesa/drivers/dri/i965/Makefile.am >> +++ b/src/mesa/drivers/dri/i965/Makefile.am >> @@ -92,8 +92,8 @@ EXTRA_DIST = \ >> # .c and .h files in one go so we don't hit problems with parallel >> # make and multiple invocations of the same script trying to write >> # to the same files. >> -brw_oa_%.h: brw_oa_%.xml brw_oa.py Makefile.am >> - $(PYTHON2) $(PYTHON_FLAGS) $(srcdir)/brw_oa.py >> --header=$(builddir)/brw_oa_$(*).h --chipset="$(*)" $(srcdir)/brw_oa_$(*).xml >> -brw_oa_%.c: brw_oa_%.xml brw_oa.py Makefile.am >> - $(PYTHON2) $(PYTHON_FLAGS) $(srcdir)/brw_oa.py >> --code=$(builddir)/brw_oa_$(*).c --chipset="$(*)" $(srcdir)/brw_oa_$(*).xml > > Hmm that is not even remotely what was reviewed or suggested ... strange. > Sorry, I didn't intend to change this under the radar, but I guess the you didn't see this: https://lists.freedesktop.org/archives/mesa-dev/2017-March/147200.html > >> +brw_oa_hsw.h: $(srcdir)/brw_oa_hsw.xml >> + $(PYTHON2) $(PYTHON_FLAGS) $(srcdir)/brw_oa.py >> --header=$(builddir)/brw_oa_hsw.h --chipset=hsw $(srcdir)/brw_oa_hsw.xml >> +brw_oa_hsw.c: $(srcdir)/brw_oa_hsw.xml >> + $(PYTHON2) $(PYTHON_FLAGS) $(srcdir)/brw_oa.py >> --code=$(builddir)/brw_oa_hsw.c --chipset=hsw $(srcdir)/brw_oa_hsw.xml >> > Thank you Jonathan. > > We might need a generic rule as other generations are covered and/or > even move the lot to another location. > All that in due time, for now I'll add the missing brw_oa.py > dependency and push this. Just to mention; this change just caught me out when rebasing my gen 8 / 9 changes and so I'm wondering about the best way to deal with this, ideally without copying seven times for hsw, bdw, chv, sklgt2, sklgt3, sklgt4, bxt + more later. For now I'm copy & pasting, and maybe it'll just be easiest to stick with that. I wouldn't guess the i915-perf kernel interface has been ported to any other OS besides Linux, so maybe these can be annexed as Linux specific somehow to avoid tripping up other OS builds. It looks like there are a few other files in Mesa that use patterns, such as ./src/mapi/glapi/gen/Makefile.am - I wonder how come that hasn't proven to be a problem. btw the recent change here removed Makefile.am from the list of dependencies, which I think was reasonable to have originally (and consistent with what automake normally does for rules it generates). Regards, - Robert > > Thanks > Emil > ___ > mesa-dev mailing list > mesa-dev@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/mesa-dev ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev
Re: [Mesa-dev] [PATCH] i965: avoid using a GNU make pattern rule
On 16 March 2017 at 02:49, Jonathan Graywrote: > % pattern rules are a GNU extension. As there is only one file here > avoid patterns and globbing entirely to fix the build on non-GNU make. > > Signed-off-by: Jonathan Gray > --- > src/mesa/drivers/dri/i965/Makefile.am | 8 > 1 file changed, 4 insertions(+), 4 deletions(-) > > diff --git a/src/mesa/drivers/dri/i965/Makefile.am > b/src/mesa/drivers/dri/i965/Makefile.am > index a83e3a6fa1..fee1ccbbf5 100644 > --- a/src/mesa/drivers/dri/i965/Makefile.am > +++ b/src/mesa/drivers/dri/i965/Makefile.am > @@ -92,8 +92,8 @@ EXTRA_DIST = \ > # .c and .h files in one go so we don't hit problems with parallel > # make and multiple invocations of the same script trying to write > # to the same files. > -brw_oa_%.h: brw_oa_%.xml brw_oa.py Makefile.am > - $(PYTHON2) $(PYTHON_FLAGS) $(srcdir)/brw_oa.py > --header=$(builddir)/brw_oa_$(*).h --chipset="$(*)" $(srcdir)/brw_oa_$(*).xml > -brw_oa_%.c: brw_oa_%.xml brw_oa.py Makefile.am > - $(PYTHON2) $(PYTHON_FLAGS) $(srcdir)/brw_oa.py > --code=$(builddir)/brw_oa_$(*).c --chipset="$(*)" $(srcdir)/brw_oa_$(*).xml Hmm that is not even remotely what was reviewed or suggested ... strange. > +brw_oa_hsw.h: $(srcdir)/brw_oa_hsw.xml > + $(PYTHON2) $(PYTHON_FLAGS) $(srcdir)/brw_oa.py > --header=$(builddir)/brw_oa_hsw.h --chipset=hsw $(srcdir)/brw_oa_hsw.xml > +brw_oa_hsw.c: $(srcdir)/brw_oa_hsw.xml > + $(PYTHON2) $(PYTHON_FLAGS) $(srcdir)/brw_oa.py > --code=$(builddir)/brw_oa_hsw.c --chipset=hsw $(srcdir)/brw_oa_hsw.xml > Thank you Jonathan. We might need a generic rule as other generations are covered and/or even move the lot to another location. All that in due time, for now I'll add the missing brw_oa.py dependency and push this. Thanks Emil ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev
[Mesa-dev] [PATCH] i965: avoid using a GNU make pattern rule
% pattern rules are a GNU extension. As there is only one file here avoid patterns and globbing entirely to fix the build on non-GNU make. Signed-off-by: Jonathan Gray--- src/mesa/drivers/dri/i965/Makefile.am | 8 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/mesa/drivers/dri/i965/Makefile.am b/src/mesa/drivers/dri/i965/Makefile.am index a83e3a6fa1..fee1ccbbf5 100644 --- a/src/mesa/drivers/dri/i965/Makefile.am +++ b/src/mesa/drivers/dri/i965/Makefile.am @@ -92,8 +92,8 @@ EXTRA_DIST = \ # .c and .h files in one go so we don't hit problems with parallel # make and multiple invocations of the same script trying to write # to the same files. -brw_oa_%.h: brw_oa_%.xml brw_oa.py Makefile.am - $(PYTHON2) $(PYTHON_FLAGS) $(srcdir)/brw_oa.py --header=$(builddir)/brw_oa_$(*).h --chipset="$(*)" $(srcdir)/brw_oa_$(*).xml -brw_oa_%.c: brw_oa_%.xml brw_oa.py Makefile.am - $(PYTHON2) $(PYTHON_FLAGS) $(srcdir)/brw_oa.py --code=$(builddir)/brw_oa_$(*).c --chipset="$(*)" $(srcdir)/brw_oa_$(*).xml +brw_oa_hsw.h: $(srcdir)/brw_oa_hsw.xml + $(PYTHON2) $(PYTHON_FLAGS) $(srcdir)/brw_oa.py --header=$(builddir)/brw_oa_hsw.h --chipset=hsw $(srcdir)/brw_oa_hsw.xml +brw_oa_hsw.c: $(srcdir)/brw_oa_hsw.xml + $(PYTHON2) $(PYTHON_FLAGS) $(srcdir)/brw_oa.py --code=$(builddir)/brw_oa_hsw.c --chipset=hsw $(srcdir)/brw_oa_hsw.xml -- 2.12.0 ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev