From mboxrd@z Thu Jan 1 00:00:00 1970 Delivery-date: Wed, 12 Jun 2024 11:26:56 +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 1sHKFs-004jil-2E for lore@lore.pengutronix.de; Wed, 12 Jun 2024 11:26:56 +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 1sHKFi-0004NB-Do; Wed, 12 Jun 2024 11:26:46 +0200 Received: from mail-vi1eur03on2076.outbound.protection.outlook.com ([40.107.103.76] helo=EUR03-VI1-obe.outbound.protection.outlook.com) by metis.whiteo.stw.pengutronix.de with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1sHInv-0002qs-Ch; Wed, 12 Jun 2024 09:54:00 +0200 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=KvOeoXgCYn8e4Zdvh+ZqeRKWNDMospMzBeTlKvU0HiVQEtLKp1ifLH3ryAVSOb+vFpO3NKL9WxKRxWmafvUxVGZ9i6/NgCUVBtD0nhzwjS0mHzhXCt9Oe50qdLJ49JAV0an0Q7dLqd6I6L05VirGsZIsBIaa5jpQbqYCj0TDV0crYvCXHBn+zXJoAwqf1gQk4eK3FKXcg48Fn1c34/HJ/Kt+3WUhpAq0gg40y0W5wd43mBHdGrdJArAto3HliLCoMJJOuWErMQFJwF+PLs/Avy1OR8jLO4CSgt4Okh88RSr+X7AOpIVHAjtVXPeg8Fvvii0ZNDbt/ZOmcL1v6M1qmw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=qDEbOLTeQdF//zYPR7jI6qCJvWJ+/5j39vsYoD3jfAk=; b=EYe8Rt9TJ31W2QiF6uWCDgF5fJlNOf0pf8ZKjXO9mqdBm3eCQKD0CPhDdWUnmVK2E3apIDW/cQORzHRniMBAAhVxYUMvARaPMidFqnE8XcTw258tAr5/gqyAeMoNFhLntISLSXEkV0u4Ws34fmcf+EP1E6S4UsTKpaehLLvueONIBcq6CD2PMFp6UviJsV4aN1RV3lzdew1iyopbYEUn3m1ioIshLISxDAb+qNtSnXajNIj6z4WwIDY8DEtxjwfmHfrGaV5qfre2ogmigpA9Exf5Qr0+650bFyVKi4HhchdqYzQwr2akJ12tUMYKSox2coxxM3YOFIVZYMT0A0WG/A== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 193.8.40.94) smtp.rcpttodomain=pengutronix.de smtp.mailfrom=leica-geosystems.com.cn; dmarc=pass (p=reject sp=reject pct=100) action=none header.from=leica-geosystems.com.cn; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=leica-geosystems.com.cn; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=qDEbOLTeQdF//zYPR7jI6qCJvWJ+/5j39vsYoD3jfAk=; b=jlaFxvZ2l+XDZiy8R5O31cgCGP76gSd/vMajBIEw8H/Kugiik0iqmuAbES5Ke2c5inMKIHfXQ8ekP3q4pxFpBOUePCzH0N48UvGjAnIJz5LBvU+mlE2Lm2porN1fE0OO0zDpZA/IcdobelsehQ1NJUAzmSKM5yJAxDeNujChvVA= Received: from DU2PR04CA0152.eurprd04.prod.outlook.com (2603:10a6:10:2b0::7) by GV1PR06MB8353.eurprd06.prod.outlook.com (2603:10a6:150:1c::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7633.39; Wed, 12 Jun 2024 07:53:56 +0000 Received: from DB5PEPF00014B8F.eurprd02.prod.outlook.com (2603:10a6:10:2b0:cafe::bd) by DU2PR04CA0152.outlook.office365.com (2603:10a6:10:2b0::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7677.20 via Frontend Transport; Wed, 12 Jun 2024 07:53:56 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 193.8.40.94) smtp.mailfrom=leica-geosystems.com.cn; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=leica-geosystems.com.cn; Received-SPF: Pass (protection.outlook.com: domain of leica-geosystems.com.cn designates 193.8.40.94 as permitted sender) receiver=protection.outlook.com; client-ip=193.8.40.94; helo=hexagon.com; pr=C Received: from hexagon.com (193.8.40.94) by DB5PEPF00014B8F.mail.protection.outlook.com (10.167.8.203) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7677.15 via Frontend Transport; Wed, 12 Jun 2024 07:53:55 +0000 Received: from aherlnxbspsrv01.lgs-net.com ([10.60.34.116]) by hexagon.com with Microsoft SMTPSVC(10.0.17763.1697); Wed, 12 Jun 2024 09:53:55 +0200 From: LI Qingwu To: Qing-wu.Li@leica-geosystems.com.cn, oss-tools@pengutronix.de, m.felsch@pengutronix.de Date: Wed, 12 Jun 2024 09:53:51 +0200 Message-Id: <20240612075353.2551648-1-Qing-wu.Li@leica-geosystems.com.cn> X-Mailer: git-send-email 2.34.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-OriginalArrivalTime: 12 Jun 2024 07:53:55.0733 (UTC) FILETIME=[ACE38450:01DABC9D] X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DB5PEPF00014B8F:EE_|GV1PR06MB8353:EE_ Content-Type: text/plain X-MS-Office365-Filtering-Correlation-Id: 4da52f22-268b-4cfd-6a68-08dc8ab4cf98 X-SET-LOWER-SCL-SCANNER: YES X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230032|376006|82310400018|1800799016|36860700005; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?q3uVMohPdZ+9jNd7xo0LweTYqMusz4NQwsZPrd/BsXtULENeJgLHFNOiUBpL?= =?us-ascii?Q?TkUprAJAkHrpcI4ncc9p+AJEVh4ioT4OicEHkw0ISu//3Ln2upG0pVFIWXGd?= =?us-ascii?Q?st6C3c4dBUwmTnZcs70EzyJmBF11pxkD1HoXN/oLkAh8KMS67HWjHdWwICKb?= =?us-ascii?Q?dPpVhYZ7r9XGlDv3b9ZJXeYljB8joBDR/xhyCMrf9qpDZhEGOPnIUsFEHLf9?= =?us-ascii?Q?6J26Ol2GmymldxJXthxezm2LmiHUV8OV7MVbZqhnsh8mK0dKNFDJ8NYugomS?= =?us-ascii?Q?W4/pZlMez2XwOlvhMbfU/BUTLk6cFje4HwXHsgb1kI/PAUosdQdWVIpxMcj7?= =?us-ascii?Q?KmSQX2iLLu7Jsup7H4Z1QEUDUvqwCQXjHCFWES1Vhu+KWj30QBRAHT3nbpUK?= =?us-ascii?Q?9UM4OXTJM/S+BLCGDEYt4KepFaT4rZ6DpGZLEA7uLFKarmbuwrCF2YvnWPtH?= =?us-ascii?Q?fxTzwzGclh1Fk6JgDzkr4yg9OcW/V1xiE+yRk+LMw0wPXlsamG6Cuz99mEEh?= =?us-ascii?Q?mxV/oYNTGmztzwdzfMme9mcsjyBi67isDHV27Izh9MUeHBQwWk5NDzpUAF8z?= =?us-ascii?Q?On+AyD55Rfhyo8A/YKceybnRyJutAZzx4BQ1VGQpqWu5isqRcPUzS+mRog6N?= =?us-ascii?Q?CXNdIbyMb8ehHgXFxSKOKM4wDBRHhDhsIygnCieHKwT93itp5luijdP5GUth?= =?us-ascii?Q?w8KCKl7IdxrjyBlD71HPtCk9ILzHnWt1P+X2mELxx7Lb91Rltaxq4HJevU7B?= =?us-ascii?Q?C/F4j2Kmh729d7V1yLT9eKMDgP4IcWp4Yvzostcrs/3EMl7WzjwILgllAidf?= =?us-ascii?Q?ALjVU146Hz7BVCVhoZJfzAWVUMv9JNZ99nd7Mi2ca6N27sUkwmniq3mh3JU0?= =?us-ascii?Q?4bvhGym129ZCYzCsSvpq8f3xGYLUCPJe2CMteG8t6A3DpqTsH5ufpiYhmb4t?= =?us-ascii?Q?QLl6GQxihBZyAZ+Zqu9J3eytlHIAeKDuPN8AWEwcUNYguBkn9SeoRVpxLoBm?= =?us-ascii?Q?/muUIFYtcJWO53zdIjjtgKa8u0feFlpbWEyOB3sT62Hzm6LX9JGA1LkkVNKd?= =?us-ascii?Q?15rn4W+qfp4JT/pfuxQCVSrMmHiqGBgE0QrIislAkoSELS8pzxOxyN39FI6E?= =?us-ascii?Q?lt0m4nAUk48Xgr71WK5K6qdjAoPhD/vPfJdKqdyDj+D5aadTEgFUtcxPSaVz?= =?us-ascii?Q?FMR+Kqe9Rjlb2BLzsffs90ExFemapi7zyhEi9vf1pBJw8EJA+g6kuumwAmqy?= =?us-ascii?Q?KiEvH9pPgiocH8u2fLPqR0Sm8ZZVLcJtJVNYxK30abEETrhrmLjyNlRlMdTJ?= =?us-ascii?Q?oeo7nHwnoay0bNVkqT9FbpuRIVNmds3NmjhPb+wD3WN0SyzumSxkZsxXwD0P?= =?us-ascii?Q?FohviKQ9KhxBQyWu/06bJtj9G9MfTOgHCI/vc4qi1+Xyr2/BtA=3D=3D?= X-Forefront-Antispam-Report: CIP:193.8.40.94; CTRY:CH; LANG:en; SCL:1; SRV:; IPV:CAL; SFV:NSPM; H:hexagon.com; PTR:ahersrvdom50.leica-geosystems.com; CAT:NONE; SFS:(13230032)(376006)(82310400018)(1800799016)(36860700005); DIR:OUT; SFP:1101; X-OriginatorOrg: leica-geosystems.com.cn X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Jun 2024 07:53:55.9824 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 4da52f22-268b-4cfd-6a68-08dc8ab4cf98 X-MS-Exchange-CrossTenant-Id: 1b16ab3e-b8f6-4fe3-9f3e-2db7fe549f6a X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=1b16ab3e-b8f6-4fe3-9f3e-2db7fe549f6a; Ip=[193.8.40.94]; Helo=[hexagon.com] X-MS-Exchange-CrossTenant-AuthSource: DB5PEPF00014B8F.eurprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: GV1PR06MB8353 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on metis.whiteo.stw.pengutronix.de X-Spam-Level: X-Spam-Status: No, score=-2.8 required=4.0 tests=AWL,BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_MSPIKE_H2,SPF_HELO_PASS, SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.2 X-Mailman-Approved-At: Wed, 12 Jun 2024 11:26:43 +0200 Subject: [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: , 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 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 -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 + +Build options +------------- + +The following build options are available: + +.. list-table:: + :header-rows: 1 + + * - Option name + - Values + - Default + - Notes + * - HAVE_CAIRO + - 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