From mboxrd@z Thu Jan 1 00:00:00 1970 Delivery-date: Wed, 12 Jun 2024 10:05:52 +0200 Received: from metis.whiteo.stw.pengutronix.de ([2a0a:edc0:2:b01:1d::104]) by lore.white.stw.pengutronix.de with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1sHIzQ-004hnY-0r for lore@lore.pengutronix.de; Wed, 12 Jun 2024 10:05:52 +0200 Received: from localhost ([127.0.0.1] helo=metis.whiteo.stw.pengutronix.de) by metis.whiteo.stw.pengutronix.de with esmtp (Exim 4.92) (envelope-from ) id 1sHIzP-00056r-14; Wed, 12 Jun 2024 10:05:51 +0200 Received: from drehscheibe.grey.stw.pengutronix.de ([2a0a:edc0:0:c01:1d::a2]) by metis.whiteo.stw.pengutronix.de with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1sHIzN-00056h-1T; Wed, 12 Jun 2024 10:05:49 +0200 Received: from [2a0a:edc0:2:b01:1d::c5] (helo=pty.whiteo.stw.pengutronix.de) by drehscheibe.grey.stw.pengutronix.de with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1sHIzM-001jo6-Ia; Wed, 12 Jun 2024 10:05:48 +0200 Received: from mfe by pty.whiteo.stw.pengutronix.de with local (Exim 4.96) (envelope-from ) id 1sHIzM-006UZf-1b; Wed, 12 Jun 2024 10:05:48 +0200 Date: Wed, 12 Jun 2024 10:05:48 +0200 From: Marco Felsch To: LI Qingwu Message-ID: <20240612080548.mutitblbh2uj2bma@pengutronix.de> References: <20240612075353.2551648-1-Qing-wu.Li@leica-geosystems.com.cn> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20240612075353.2551648-1-Qing-wu.Li@leica-geosystems.com.cn> Subject: Re: [OSS-Tools] [PATCH platsch 1/3] convert to meson build X-BeenThere: oss-tools@pengutronix.de X-Mailman-Version: 2.1.29 Precedence: list List-Id: Pengutronix Public Open-Source-Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: oss-tools@pengutronix.de Sender: "OSS-Tools" X-SA-Exim-Connect-IP: 127.0.0.1 X-SA-Exim-Mail-From: oss-tools-bounces@pengutronix.de X-SA-Exim-Scanned: No (on metis.whiteo.stw.pengutronix.de); SAEximRunCond expanded to false Hi Qingwu, thank you for your patch. On 24-06-12, LI Qingwu wrote: > Signed-off-by: LI Qingwu > --- > Makefile.am | 29 ----------------------------- > README.rst | 27 +++++++++++++++++++++++++++ > cairo.c | 4 ++-- > configure.ac | 32 -------------------------------- > meson.build | 26 ++++++++++++++++++++++++++ > meson_options.txt | 1 + > 6 files changed, 56 insertions(+), 63 deletions(-) > delete mode 100644 Makefile.am > delete mode 100644 configure.ac > create mode 100644 meson.build > create mode 100644 meson_options.txt > > diff --git a/Makefile.am b/Makefile.am > deleted file mode 100644 > index d486994..0000000 > --- a/Makefile.am > +++ /dev/null > @@ -1,29 +0,0 @@ > -EXTRA_DIST = README.rst LICENSE > - > -sbin_PROGRAMS = platsch > - > -platsch_SOURCES = platsch.c > -platsch_CFLAGS = $(LIBDRM_CFLAGS) > -platsch_LDADD = $(LIBDRM_LIBS) > - > -if ENABLE_CAIRO This is not part of the upstream project. > -platsch_SOURCES += cairo.c > -platsch_CFLAGS += $(CAIRO_CFLAGS) > -platsch_LDADD += $(CAIRO_LIBS) > -endif > - > -CLEANFILES = \ > - $(DIST_ARCHIVES) > - > -DISTCLEAN = \ > - config.log \ > - config.status \ > - Makefile > - > -MAINTAINERCLEANFILES = \ > - aclocal.m4 \ > - configure \ > - depcomp \ > - install-sh \ > - Makefile.in \ > - missing > diff --git a/README.rst b/README.rst > index e318120..2af29e4 100644 > --- a/README.rst > +++ b/README.rst > @@ -141,3 +141,30 @@ By adding a Signed-off-by line (e.g. using ``git commit -s``) saying:: > > (using your real name and e-mail address), you state that your contributions > are in line with the DCO. > + > +Cross compiling instructions > +---------------------------- > + > +To cross-compile the project, use the following commands: > + > +.. code-block:: shell > + > + meson build --cross-file= > + ninja -C build meson setup build meson compile -C build should be enough > + > +Build options > +------------- Build options are covered by the meson_options.txt. If we list them here as well, they may/will drift apart. > +The following build options are available: > + > +.. list-table:: > + :header-rows: 1 > + > + * - Option name > + - Values > + - Default > + - Notes > + * - HAVE_CAIRO The option should be not named HAVE_CAIRO also upstream doesn't support cairo. Regards, Marco > + - true, false > + - true > + - Enable Cairo support > diff --git a/cairo.c b/cairo.c > index d29b3a4..8ced3b2 100644 > --- a/cairo.c > +++ b/cairo.c > @@ -79,7 +79,7 @@ static const char *image_format_to_string(cairo_format_t format) > return "RGB128F"; > #endif > case CAIRO_FORMAT_INVALID: > - defaul: > + default: > return "invalid"; > } > } > @@ -90,7 +90,6 @@ static int png_import_backend_import_picture(cairo_t *cr, const char *filename) > cairo_format_t image_fmt, surface_fmt; > cairo_surface_t *image, *surface; > cairo_status_t status; > - cairo_format_t format; > int ret = 0; > > image = cairo_image_surface_create_from_png(filename); > @@ -253,6 +252,7 @@ static uint32_t convert_to_cairo_format(uint32_t format) > case DRM_FORMAT_XRGB8888: > return CAIRO_FORMAT_ARGB32; > } > + return CAIRO_FORMAT_INVALID; > } > > static cairo_t *cairo_init(struct modeset_dev *dev, const char *dir, const char *base) > diff --git a/configure.ac b/configure.ac > deleted file mode 100644 > index 11cdded..0000000 > --- a/configure.ac > +++ /dev/null > @@ -1,32 +0,0 @@ > -AC_PREREQ([2.69]) > -AC_INIT([platsch], [2019.12.0], [oss-tools@pengutronix.de]) > -AC_CONFIG_SRCDIR([platsch.c]) > -AM_INIT_AUTOMAKE([foreign dist-xz]) > - > -AC_PROG_CC > -AC_PROG_MAKE_SET > - > -PKG_CHECK_MODULES([LIBDRM], [libdrm >= 2.4.112]) > - > -AC_ARG_ENABLE([cairo], > - [AS_HELP_STRING([--disable-cairo], > - [Enable CAIRO support @<:@default=check@:>@])], > - [], > - [enable_cairo=check]) > - > -AS_IF([test "$enable_cairo" != "no"], > - [PKG_CHECK_MODULES([CAIRO], > - [cairo >= 1.0], > - [enable_cairo=yes > - AC_DEFINE(HAVE_CAIRO)], > - [AS_IF([test "$enable_cairo" = "yes"], > - [AC_MSG_ERROR([cairo required, but not found.])], > - [enable_cairo=no]) > - ]) > - ]) > - > -AM_CONDITIONAL([ENABLE_CAIRO], [test "$enable_cairo" = "yes"]) > - > -AC_CONFIG_FILES([Makefile]) > - > -AC_OUTPUT > diff --git a/meson.build b/meson.build > new file mode 100644 > index 0000000..e7e8e80 > --- /dev/null > +++ b/meson.build > @@ -0,0 +1,26 @@ > +project('platsch', 'c') > + > +# Define dependencies conditionally based on the HAVE_CAIRO option > +platsch_dep = [dependency('libdrm', required: true)] > +sources = ['platsch.c'] > +args = [] > + > +have_cairo = get_option('HAVE_CAIRO') > + > +if have_cairo > + platsch_dep += dependency('cairo', required: true) > + sources += 'cairo.c' > + args += ['-DHAVE_CAIRO'] > +endif > + > +# Define the headers > +headers = ['platsch.h'] > + > +# Create the platsch executable > +executable('platsch', > + sources, > + dependencies: platsch_dep, > + c_args: args, > + install: true, > + include_directories: include_directories('.') > +) > diff --git a/meson_options.txt b/meson_options.txt > new file mode 100644 > index 0000000..1adfef3 > --- /dev/null > +++ b/meson_options.txt > @@ -0,0 +1 @@ > +option('HAVE_CAIRO', type: 'boolean', value: true, description: 'Enable Cairo support') > -- > 2.34.1 > >