From: LI Qingwu <Qing-wu.Li@leica-geosystems.com.cn>
To: Marco Felsch <m.felsch@pengutronix.de>
Cc: "oss-tools@pengutronix.de" <oss-tools@pengutronix.de>
Subject: Re: [OSS-Tools] [PATCH platsch 1/3] convert to meson build
Date: Wed, 12 Jun 2024 08:19:58 +0000 [thread overview]
Message-ID: <AS8PR06MB7432D4EF67D200A80F045D74D7C02@AS8PR06MB7432.eurprd06.prod.outlook.com> (raw)
In-Reply-To: <20240612080548.mutitblbh2uj2bma@pengutronix.de>
Hello Marco,
Thanks for fast feedback, I based on the Paches.
https://github.hexagon.com/geo-surv/meta-geosurv/tree/kirkstone/meta-geosurv/recipes-graphics/platsch/files
let me rework based on the upstream!
> -----Original Message-----
> From: Marco Felsch <m.felsch@pengutronix.de>
> Sent: Wednesday, June 12, 2024 4:06 PM
> To: LI Qingwu <Qing-wu.Li@leica-geosystems.com.cn>
> Cc: oss-tools@pengutronix.de
> Subject: Re: [PATCH platsch 1/3] convert to meson build
>
> This email is not from Hexagon’s Office 365 instance. Please be careful while
> clicking links, opening attachments, or replying to this email.
>
>
> Hi Qingwu,
>
> thank you for your patch.
>
> On 24-06-12, LI Qingwu wrote:
> > Signed-off-by: LI Qingwu <Qing-wu.Li@leica-geosystems.com.cn>
> > ---
> > 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=<path-to-meson-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
> >
> >
next prev parent reply other threads:[~2024-06-12 9:26 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-06-12 7:53 LI Qingwu
2024-06-12 7:53 ` [OSS-Tools] [PATCH platsch 2/3] platsch: split into platsch and libplatsch LI Qingwu
2024-06-12 8:09 ` Marco Felsch
2024-06-12 7:53 ` [OSS-Tools] [PATCH platsch 3/3] Add spinner executable for boot animation and text show LI Qingwu
2024-06-12 8:05 ` [OSS-Tools] [PATCH platsch 1/3] convert to meson build Marco Felsch
2024-06-12 8:19 ` LI Qingwu [this message]
-- strict thread matches above, loose matches on Subject: below --
2024-06-12 4:06 LI Qingwu
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=AS8PR06MB7432D4EF67D200A80F045D74D7C02@AS8PR06MB7432.eurprd06.prod.outlook.com \
--to=qing-wu.li@leica-geosystems.com.cn \
--cc=m.felsch@pengutronix.de \
--cc=oss-tools@pengutronix.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox