Skip to content

Commit ace54b7

Browse files
authored
(#19726) PCRE2: Explicitly specify cmake c standard
see: PCRE2Project/pcre2#193
1 parent 52a72ee commit ace54b7

File tree

2 files changed

+61
-0
lines changed

2 files changed

+61
-0
lines changed

recipes/pcre2/all/conandata.yml

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,11 +40,20 @@ sources:
4040
- "https://sourceforge.net/projects/pcre/files/pcre2/10.32/pcre2-10.32.tar.bz2"
4141
sha256: "f29e89cc5de813f45786580101aaee3984a65818631d4ddbda7b32f699b87c2e"
4242
patches:
43+
"10.42":
44+
- patch_file: "patches/0002-fix-cmake-c-std.patch"
45+
patch_description: "make the C99 requirement explicit"
46+
patch_type: "conan"
47+
patch_source: "https://github.com/PCRE2Project/pcre2/pull/193"
4348
"10.40":
4449
- patch_file: "patches/0001-fix-cmake-1.39.patch"
4550
patch_description: "correct the order of cmake_minimum_required() and project()"
4651
patch_type: "conan"
4752
patch_source: "https://github.com/PCRE2Project/pcre2/pull/142"
53+
- patch_file: "patches/0002-fix-cmake-c-std.patch"
54+
patch_description: "make the C99 requirement explicit"
55+
patch_type: "conan"
56+
patch_source: "https://github.com/PCRE2Project/pcre2/pull/193"
4857
"10.39":
4958
- patch_file: "patches/0001-fix-cmake-1.39.patch"
5059
patch_description: "correct the order of cmake_minimum_required() and project()"
Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
From 12b0e40ee4556318e5a0da3155f28bdfd7c5bc35 Mon Sep 17 00:00:00 2001
2+
From: =?UTF-8?q?Carlo=20Marcelo=20Arenas=20Bel=C3=B3n?= <[email protected]>
3+
Date: Sun, 15 Jan 2023 14:38:44 -0800
4+
Subject: [PATCH] build: make the C99 requirement explicit
5+
6+
Recent code uses C99 syntax (as reported in #163, and therefore it
7+
will fail to build unless C99 (or higher) support is required by the
8+
compiler (gcc >= 5 does it by default).
9+
10+
For those unfortunate to need an older compiler that does require a
11+
flag to enable that, make sure that both autoconf and cmake make it
12+
explicit.
13+
14+
While testing the change with the ancient autoconf version listed as
15+
a prerequisite, noticed that the LT_INIT syntax introduced with 91485e5
16+
(Update configure.ac for latest version of autoconf., 2021-02-02), was
17+
not supported, so update the autoconf minimum as well.
18+
---
19+
20+
diff --git a/CMakeLists.txt b/CMakeLists.txt
21+
index cec7dfb4..a8147575 100644
22+
--- a/CMakeLists.txt
23+
+++ b/CMakeLists.txt
24+
@@ -107,1 +107,3 @@
25+
PROJECT(PCRE2 C)
26+
+set(CMAKE_C_STANDARD 99)
27+
+set(CMAKE_C_STANDARD_REQUIRED TRUE)
28+
29+
# Set policy CMP0026 to avoid warnings for the use of LOCATION in
30+
# GET_TARGET_PROPERTY. This should no longer be required.
31+
diff --git a/configure.ac b/configure.ac
32+
index ce5bda3c..67b2fdce 100644
33+
--- a/configure.ac
34+
+++ b/configure.ac
35+
@@ -22,7 +22,7 @@ m4_define(libpcre2_posix_version, [3:4:0])
36+
# NOTE: The CMakeLists.txt file searches for the above variables in the first
37+
# 50 lines of this file. Please update that if the variables above are moved.
38+
39+
-AC_PREREQ([2.60])
40+
+AC_PREREQ([2.62])
41+
AC_INIT([PCRE2],pcre2_major.pcre2_minor[]pcre2_prerelease,[],[pcre2])
42+
AC_CONFIG_SRCDIR([src/pcre2.h.in])
43+
AM_INIT_AUTOMAKE([dist-bzip2 dist-zip])
44+
@@ -42,7 +42,7 @@ AC_CONFIG_MACRO_DIR([m4])
45+
46+
remember_set_CFLAGS="$CFLAGS"
47+
48+
-AC_PROG_CC
49+
+m4_version_prereq(2.70, [AC_PROG_CC], [AC_PROG_CC_C99])
50+
AM_PROG_CC_C_O
51+
AC_USE_SYSTEM_EXTENSIONS
52+

0 commit comments

Comments
 (0)