14
0
Files
python-python-crfsuite/159.patch

29 lines
1.2 KiB
Diff
Raw Normal View History

From df2857fff3c492692ca09f31699972970042bc07 Mon Sep 17 00:00:00 2001
From: Michael Karcher <github@mkarcher.dialup.fu-berlin.de>
Date: Wed, 12 Jun 2024 22:42:45 +0200
Subject: [PATCH] Define _POSIX_C_SOURCE for crfsuite source files
gcc-14 has "-Werror=implicit-function-declaration" enabled by default.
crfsuite uses posix_memalign which only gets defined when _POSIX_C_SOURCE is
defined, so make sure the flag is set when compiling crfsuite.
On the other hand, openSUSE Tumbleweed has _POSIX_C_SOURCE defined
in pyconfig.h, so you must not add "-D_POSIX_C_SOURCE" when compiling
the python binding source code. So add it only for the subdir crfsuite.
---
setup.py | 1 +
1 file changed, 1 insertion(+)
diff --git a/setup.py b/setup.py
index 8036363..f0dc370 100755
--- a/setup.py
+++ b/setup.py
@@ -30,6 +30,7 @@ def build_extensions(self):
_compile = c._compile
def c_compile(obj, src, ext, cc_args, extra_postargs, pp_opts):
+ cc_args = cc_args + ['-D_POSIX_C_SOURCE=200112L'] if src.startswith('crfsuite/') else cc_args
cc_args = cc_args + ['-std=c99'] if src.endswith('.c') else cc_args
return _compile(obj, src, ext, cc_args, extra_postargs, pp_opts)