mirror of
https://github.com/gentoo-mirror/gentoo.git
synced 2026-09-24 04:59:14 -07:00
sys-apps/kbd: BDEPEND on autoconf-archive
Needed for ax_check_compile_flag too. Closes: https://bugs.gentoo.org/915257 Signed-off-by: Sam James <sam@gentoo.org>
This commit is contained in:
@@ -43,129 +43,3 @@ index 66023ff8..7fdbe7d6 100644
|
||||
fi
|
||||
|
||||
case "$GCC,$ac_cv_prog_cc_g" in
|
||||
diff --git a/m4/ax_add_fortify_source.m4 b/m4/ax_add_fortify_source.m4
|
||||
new file mode 100644
|
||||
index 00000000..860c1598
|
||||
--- /dev/null
|
||||
+++ b/m4/ax_add_fortify_source.m4
|
||||
@@ -0,0 +1,119 @@
|
||||
+# ===========================================================================
|
||||
+# https://www.gnu.org/software/autoconf-archive/ax_add_fortify_source.html
|
||||
+# ===========================================================================
|
||||
+#
|
||||
+# SYNOPSIS
|
||||
+#
|
||||
+# AX_ADD_FORTIFY_SOURCE
|
||||
+#
|
||||
+# DESCRIPTION
|
||||
+#
|
||||
+# Check whether -D_FORTIFY_SOURCE=2 can be added to CPPFLAGS without macro
|
||||
+# redefinition warnings, other cpp warnings or linker. Some distributions
|
||||
+# (such as Ubuntu or Gentoo Linux) enable _FORTIFY_SOURCE globally in
|
||||
+# their compilers, leading to unnecessary warnings in the form of
|
||||
+#
|
||||
+# <command-line>:0:0: error: "_FORTIFY_SOURCE" redefined [-Werror]
|
||||
+# <built-in>: note: this is the location of the previous definition
|
||||
+#
|
||||
+# which is a problem if -Werror is enabled. This macro checks whether
|
||||
+# _FORTIFY_SOURCE is already defined, and if not, adds -D_FORTIFY_SOURCE=2
|
||||
+# to CPPFLAGS.
|
||||
+#
|
||||
+# Newer mingw-w64 msys2 package comes with a bug in
|
||||
+# headers-git-7.0.0.5546.d200317d-1. It broke -D_FORTIFY_SOURCE support,
|
||||
+# and would need -lssp or -fstack-protector. See
|
||||
+# https://github.com/msys2/MINGW-packages/issues/5803. Try to actually
|
||||
+# link it.
|
||||
+#
|
||||
+# LICENSE
|
||||
+#
|
||||
+# Copyright (c) 2017 David Seifert <soap@gentoo.org>
|
||||
+# Copyright (c) 2019, 2023 Reini Urban <rurban@cpan.org>
|
||||
+#
|
||||
+# Copying and distribution of this file, with or without modification, are
|
||||
+# permitted in any medium without royalty provided the copyright notice
|
||||
+# and this notice are preserved. This file is offered as-is, without any
|
||||
+# warranty.
|
||||
+
|
||||
+#serial 10
|
||||
+
|
||||
+AC_DEFUN([AX_ADD_FORTIFY_SOURCE],[
|
||||
+ ac_save_cflags=$CFLAGS
|
||||
+ ac_cwerror_flag=yes
|
||||
+ AX_CHECK_COMPILE_FLAG([-Werror],[CFLAGS="$CFLAGS -Werror"])
|
||||
+ ax_add_fortify_3_failed=
|
||||
+ AC_MSG_CHECKING([whether to add -D_FORTIFY_SOURCE=3 to CPPFLAGS])
|
||||
+ AC_LINK_IFELSE([
|
||||
+ AC_LANG_PROGRAM([],
|
||||
+ [[
|
||||
+ #ifndef _FORTIFY_SOURCE
|
||||
+ return 0;
|
||||
+ #else
|
||||
+ _FORTIFY_SOURCE_already_defined;
|
||||
+ #endif
|
||||
+ ]]
|
||||
+ )],
|
||||
+ AC_LINK_IFELSE([
|
||||
+ AC_LANG_SOURCE([[
|
||||
+ #define _FORTIFY_SOURCE 3
|
||||
+ #include <string.h>
|
||||
+ int main(void) {
|
||||
+ char *s = " ";
|
||||
+ strcpy(s, "x");
|
||||
+ return strlen(s)-1;
|
||||
+ }
|
||||
+ ]]
|
||||
+ )],
|
||||
+ [
|
||||
+ AC_MSG_RESULT([yes])
|
||||
+ CFLAGS=$ac_save_cflags
|
||||
+ CPPFLAGS="$CPPFLAGS -D_FORTIFY_SOURCE=3"
|
||||
+ ], [
|
||||
+ AC_MSG_RESULT([no])
|
||||
+ ax_add_fortify_3_failed=1
|
||||
+ ],
|
||||
+ ),
|
||||
+ [
|
||||
+ AC_MSG_RESULT([no])
|
||||
+ ax_add_fortify_3_failed=1
|
||||
+ ])
|
||||
+ if test -n "$ax_add_fortify_3_failed"
|
||||
+ then
|
||||
+ AC_MSG_CHECKING([whether to add -D_FORTIFY_SOURCE=2 to CPPFLAGS])
|
||||
+ AC_LINK_IFELSE([
|
||||
+ AC_LANG_PROGRAM([],
|
||||
+ [[
|
||||
+ #ifndef _FORTIFY_SOURCE
|
||||
+ return 0;
|
||||
+ #else
|
||||
+ _FORTIFY_SOURCE_already_defined;
|
||||
+ #endif
|
||||
+ ]]
|
||||
+ )],
|
||||
+ AC_LINK_IFELSE([
|
||||
+ AC_LANG_SOURCE([[
|
||||
+ #define _FORTIFY_SOURCE 2
|
||||
+ #include <string.h>
|
||||
+ int main(void) {
|
||||
+ char *s = " ";
|
||||
+ strcpy(s, "x");
|
||||
+ return strlen(s)-1;
|
||||
+ }
|
||||
+ ]]
|
||||
+ )],
|
||||
+ [
|
||||
+ AC_MSG_RESULT([yes])
|
||||
+ CFLAGS=$ac_save_cflags
|
||||
+ CPPFLAGS="$CPPFLAGS -D_FORTIFY_SOURCE=2"
|
||||
+ ], [
|
||||
+ AC_MSG_RESULT([no])
|
||||
+ CFLAGS=$ac_save_cflags
|
||||
+ ],
|
||||
+ ),
|
||||
+ [
|
||||
+ AC_MSG_RESULT([no])
|
||||
+ CFLAGS=$ac_save_cflags
|
||||
+ ])
|
||||
+ fi
|
||||
+])
|
||||
|
||||
|
||||
@@ -42,7 +42,9 @@ RDEPEND="
|
||||
${DEPEND}
|
||||
selinux? ( sec-policy/selinux-loadkeys )
|
||||
"
|
||||
# autoconf-archive for F_S patch
|
||||
BDEPEND="
|
||||
sys-devel/autoconf-archive
|
||||
virtual/pkgconfig
|
||||
test? ( dev-libs/check )
|
||||
"
|
||||
|
||||
Reference in New Issue
Block a user