Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

PCRE2: Explicitly specify cmake c standard #19726

Merged
merged 1 commit into from
Sep 28, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 9 additions & 0 deletions recipes/pcre2/all/conandata.yml
Original file line number Diff line number Diff line change
Expand Up @@ -37,11 +37,20 @@ sources:
- "https://sourceforge.net/projects/pcre/files/pcre2/10.32/pcre2-10.32.tar.bz2"
sha256: "f29e89cc5de813f45786580101aaee3984a65818631d4ddbda7b32f699b87c2e"
patches:
"10.42":
- patch_file: "patches/0002-fix-cmake-c-std.patch"
patch_description: "make the C99 requirement explicit"
patch_type: "conan"
patch_source: "https://github.com/PCRE2Project/pcre2/pull/193"
"10.40":
- patch_file: "patches/0001-fix-cmake-1.39.patch"
patch_description: "correct the order of cmake_minimum_required() and project()"
patch_type: "conan"
patch_source: "https://github.com/PCRE2Project/pcre2/pull/142"
- patch_file: "patches/0002-fix-cmake-c-std.patch"
patch_description: "make the C99 requirement explicit"
patch_type: "conan"
patch_source: "https://github.com/PCRE2Project/pcre2/pull/193"
"10.39":
- patch_file: "patches/0001-fix-cmake-1.39.patch"
patch_description: "correct the order of cmake_minimum_required() and project()"
Expand Down
52 changes: 52 additions & 0 deletions recipes/pcre2/all/patches/0002-fix-cmake-c-std.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
From 12b0e40ee4556318e5a0da3155f28bdfd7c5bc35 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Carlo=20Marcelo=20Arenas=20Bel=C3=B3n?= <carenas@gmail.com>
Date: Sun, 15 Jan 2023 14:38:44 -0800
Subject: [PATCH] build: make the C99 requirement explicit

Recent code uses C99 syntax (as reported in #163, and therefore it
will fail to build unless C99 (or higher) support is required by the
compiler (gcc >= 5 does it by default).

For those unfortunate to need an older compiler that does require a
flag to enable that, make sure that both autoconf and cmake make it
explicit.

While testing the change with the ancient autoconf version listed as
a prerequisite, noticed that the LT_INIT syntax introduced with 91485e5
(Update configure.ac for latest version of autoconf., 2021-02-02), was
not supported, so update the autoconf minimum as well.
---

diff --git a/CMakeLists.txt b/CMakeLists.txt
index cec7dfb4..a8147575 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -107,1 +107,3 @@
PROJECT(PCRE2 C)
+set(CMAKE_C_STANDARD 99)
+set(CMAKE_C_STANDARD_REQUIRED TRUE)

# Set policy CMP0026 to avoid warnings for the use of LOCATION in
# GET_TARGET_PROPERTY. This should no longer be required.
diff --git a/configure.ac b/configure.ac
index ce5bda3c..67b2fdce 100644
--- a/configure.ac
+++ b/configure.ac
@@ -22,7 +22,7 @@ m4_define(libpcre2_posix_version, [3:4:0])
# NOTE: The CMakeLists.txt file searches for the above variables in the first
# 50 lines of this file. Please update that if the variables above are moved.

-AC_PREREQ([2.60])
+AC_PREREQ([2.62])
AC_INIT([PCRE2],pcre2_major.pcre2_minor[]pcre2_prerelease,[],[pcre2])
AC_CONFIG_SRCDIR([src/pcre2.h.in])
AM_INIT_AUTOMAKE([dist-bzip2 dist-zip])
@@ -42,7 +42,7 @@ AC_CONFIG_MACRO_DIR([m4])

remember_set_CFLAGS="$CFLAGS"

-AC_PROG_CC
+m4_version_prereq(2.70, [AC_PROG_CC], [AC_PROG_CC_C99])
AM_PROG_CC_C_O
AC_USE_SYSTEM_EXTENSIONS

Loading