diff mbox

[i-g-t,1/3] meson: Simple makefile integration

Message ID 20170908151448.15356-2-daniel.vetter@ffwll.ch (mailing list archive)
State New, archived
Headers show

Commit Message

Daniel Vetter Sept. 8, 2017, 3:14 p.m. UTC
Run ./meson.sh once, then you have

$ make

and

$ make test

available in the normal src root.

v2:

Add

$ make reconfigure

which is the meson equivalent to rerunning ./configure. Also takes
some arguments if needed. Start out with --help, as usual.

v3: Use ninja -C (Chris).

v4: Catch more automake targets and point out what's happening
(Petri).

Cc: Petri Latvala <petri.latvala@intel.com>
Cc: Chris Wilson <chris@chris-wilson.co.uk>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
---
 meson.sh | 35 +++++++++++++++++++++++++++++++++++
 1 file changed, 35 insertions(+)
 create mode 100755 meson.sh

Comments

Arkadiusz Hiler Sept. 11, 2017, 12:03 p.m. UTC | #1
On Fri, Sep 08, 2017 at 05:14:46PM +0200, Daniel Vetter wrote:
> Run ./meson.sh once, then you have
> 
> $ make
> 
> and
> 
> $ make test
> 
> available in the normal src root.
> 
> v2:
> 
> Add
> 
> $ make reconfigure
> 
> which is the meson equivalent to rerunning ./configure. Also takes
> some arguments if needed. Start out with --help, as usual.
> 
> v3: Use ninja -C (Chris).
> 
> v4: Catch more automake targets and point out what's happening
> (Petri).
> 
> Cc: Petri Latvala <petri.latvala@intel.com>
> Cc: Chris Wilson <chris@chris-wilson.co.uk>
> Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
> ---
>  meson.sh | 35 +++++++++++++++++++++++++++++++++++
>  1 file changed, 35 insertions(+)
>  create mode 100755 meson.sh
> 
> diff --git a/meson.sh b/meson.sh
> new file mode 100755
> index 000000000000..94f3799a1b7e
> --- /dev/null
> +++ b/meson.sh
> @@ -0,0 +1,35 @@
> +#!/bin/bash
> +
> +cat > Makefile <<Makefile

This heredoc limit string is strangely confusing.

It took me way too long to parse that and get that << is not "appending"
(in this direction), and you do not want to append the original contents
of Makefile to the new one. Good ol' EOF should do.


Nonetheless,
Reviewed-by: Arkadiusz Hiler <arkadiusz.hiler@intel.com>

-- Arek

> +
> +.PHONY: default docs
> +default: all
> +
> +build/build.ninja:
> +	mkdir build
> +	meson
> +
> +all: build/build.ninja
> +	ninja -C build
> +
> +clean: build/build.ninja
> +	ninja -C build clean
> +
> +test: build/build.ninja
> +	ninja -C build test
> +
> +reconfigure: build/build.ninja
> +	ninja -C build reconfigure
> +
> +check distcheck dist distclean:
> +	echo "This is the meson wrapper, not automake" && false
> +
> +install uninstall:
> +	echo "meson install support not yet completed" && false
> +
> +docs:
> +	echo "meson gtkdoc support not yet completed" && false
> +
> +Makefile
> +
> +make $@
> -- 
> 2.14.1
> 
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/intel-gfx
Daniel Vetter Sept. 26, 2017, 11:36 a.m. UTC | #2
On Mon, Sep 11, 2017 at 03:03:40PM +0300, Arkadiusz Hiler wrote:
> On Fri, Sep 08, 2017 at 05:14:46PM +0200, Daniel Vetter wrote:
> > Run ./meson.sh once, then you have
> > 
> > $ make
> > 
> > and
> > 
> > $ make test
> > 
> > available in the normal src root.
> > 
> > v2:
> > 
> > Add
> > 
> > $ make reconfigure
> > 
> > which is the meson equivalent to rerunning ./configure. Also takes
> > some arguments if needed. Start out with --help, as usual.
> > 
> > v3: Use ninja -C (Chris).
> > 
> > v4: Catch more automake targets and point out what's happening
> > (Petri).
> > 
> > Cc: Petri Latvala <petri.latvala@intel.com>
> > Cc: Chris Wilson <chris@chris-wilson.co.uk>
> > Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
> > ---
> >  meson.sh | 35 +++++++++++++++++++++++++++++++++++
> >  1 file changed, 35 insertions(+)
> >  create mode 100755 meson.sh
> > 
> > diff --git a/meson.sh b/meson.sh
> > new file mode 100755
> > index 000000000000..94f3799a1b7e
> > --- /dev/null
> > +++ b/meson.sh
> > @@ -0,0 +1,35 @@
> > +#!/bin/bash
> > +
> > +cat > Makefile <<Makefile
> 
> This heredoc limit string is strangely confusing.
> 
> It took me way too long to parse that and get that << is not "appending"
> (in this direction), and you do not want to append the original contents
> of Makefile to the new one. Good ol' EOF should do.

Makes sense. Fixed up and pushed, thanks for the review.
-Daniel

> 
> 
> Nonetheless,
> Reviewed-by: Arkadiusz Hiler <arkadiusz.hiler@intel.com>
> 
> -- Arek
> 
> > +
> > +.PHONY: default docs
> > +default: all
> > +
> > +build/build.ninja:
> > +	mkdir build
> > +	meson
> > +
> > +all: build/build.ninja
> > +	ninja -C build
> > +
> > +clean: build/build.ninja
> > +	ninja -C build clean
> > +
> > +test: build/build.ninja
> > +	ninja -C build test
> > +
> > +reconfigure: build/build.ninja
> > +	ninja -C build reconfigure
> > +
> > +check distcheck dist distclean:
> > +	echo "This is the meson wrapper, not automake" && false
> > +
> > +install uninstall:
> > +	echo "meson install support not yet completed" && false
> > +
> > +docs:
> > +	echo "meson gtkdoc support not yet completed" && false
> > +
> > +Makefile
> > +
> > +make $@
> > -- 
> > 2.14.1
> > 
> > _______________________________________________
> > Intel-gfx mailing list
> > Intel-gfx@lists.freedesktop.org
> > https://lists.freedesktop.org/mailman/listinfo/intel-gfx
diff mbox

Patch

diff --git a/meson.sh b/meson.sh
new file mode 100755
index 000000000000..94f3799a1b7e
--- /dev/null
+++ b/meson.sh
@@ -0,0 +1,35 @@ 
+#!/bin/bash
+
+cat > Makefile <<Makefile
+
+.PHONY: default docs
+default: all
+
+build/build.ninja:
+	mkdir build
+	meson
+
+all: build/build.ninja
+	ninja -C build
+
+clean: build/build.ninja
+	ninja -C build clean
+
+test: build/build.ninja
+	ninja -C build test
+
+reconfigure: build/build.ninja
+	ninja -C build reconfigure
+
+check distcheck dist distclean:
+	echo "This is the meson wrapper, not automake" && false
+
+install uninstall:
+	echo "meson install support not yet completed" && false
+
+docs:
+	echo "meson gtkdoc support not yet completed" && false
+
+Makefile
+
+make $@