Files
nixpkgs/pkgs/development/compilers/gcc/ng/15/libstdcxx/force-regular-dirs.patch
Dark Steveneq 646b892680
Some checks failed
Periodic Merges (6h) / master → staging-nixos (push) Failing after 12m50s
Periodic Merges (6h) / master → staging-next (push) Failing after 12m54s
Periodic Merges (24h) / merge-base(master,staging) → haskell-updates (push) Failing after 11m54s
Periodic Merges (6h) / staging-next → staging (push) Failing after 12m13s
Periodic Merges (24h) / staging-next-25.05 → staging-25.05 (push) Failing after 13m24s
Periodic Merges (24h) / release-25.05 → staging-next-25.05 (push) Failing after 14m28s
push sheeet
2025-10-09 14:15:47 +02:00

121 lines
4.4 KiB
Diff

From db427c55334dd2edc11397d3a92d55dc9c06d1c3 Mon Sep 17 00:00:00 2001
From: John Ericson <git@JohnEricson.me>
Date: Sun, 20 Jul 2025 14:20:00 -0400
Subject: [PATCH] libstdc++: Force regular include/lib dir
Delete a bunch of unneeded logic to do this.
---
libstdc++-v3/acinclude.m4 | 80 ++------------------------------
libstdc++-v3/include/Makefile.am | 2 +-
2 files changed, 4 insertions(+), 78 deletions(-)
diff --git a/libstdc++-v3/acinclude.m4 b/libstdc++-v3/acinclude.m4
index a0094c2dd95..a0718dff394 100644
--- a/libstdc++-v3/acinclude.m4
+++ b/libstdc++-v3/acinclude.m4
@@ -727,85 +727,11 @@ dnl
dnl This logic must match gcc/configure.ac's setting of gcc_gxx_include_dir.
dnl config/gxx-include-dir.m4 must be kept consistant with this as well.
AC_DEFUN([GLIBCXX_EXPORT_INSTALL_INFO], [
- glibcxx_toolexecdir=no
- glibcxx_toolexeclibdir=no
+ glibcxx_toolexecdir='$(libdir)'
+ glibcxx_toolexeclibdir='$(libdir)'
+ gxx_include_dir='$(includedir)'
glibcxx_prefixdir=$prefix
- AC_MSG_CHECKING([for gxx-include-dir])
- AC_ARG_WITH([gxx-include-dir],
- AC_HELP_STRING([--with-gxx-include-dir=DIR],
- [installation directory for include files]),
- [case "$withval" in
- yes) AC_MSG_ERROR([Missing directory for --with-gxx-include-dir]) ;;
- no) gxx_include_dir=no ;;
- *) gxx_include_dir=$withval ;;
- esac],
- [gxx_include_dir=no])
- AC_MSG_RESULT($gxx_include_dir)
-
- AC_MSG_CHECKING([for --enable-version-specific-runtime-libs])
- AC_ARG_ENABLE([version-specific-runtime-libs],
- AC_HELP_STRING([--enable-version-specific-runtime-libs],
- [Specify that runtime libraries should be installed in a compiler-specific directory]),
- [case "$enableval" in
- yes) version_specific_libs=yes ;;
- no) version_specific_libs=no ;;
- *) AC_MSG_ERROR([Unknown argument to enable/disable version-specific libs]);;
- esac],
- [version_specific_libs=no])
- AC_MSG_RESULT($version_specific_libs)
-
- GCC_WITH_TOOLEXECLIBDIR
-
- # Default case for install directory for include files.
- if test $version_specific_libs = no && test $gxx_include_dir = no; then
- gxx_include_dir='include/c++/${gcc_version}'
- if test -n "$with_cross_host" &&
- test x"$with_cross_host" != x"no"; then
- gxx_include_dir='${prefix}/${target_alias}/'"$gxx_include_dir"
- else
- gxx_include_dir='${prefix}/'"$gxx_include_dir"
- fi
- fi
-
- # Version-specific runtime libs processing.
- if test $version_specific_libs = yes; then
- # Need the gcc compiler version to know where to install libraries
- # and header files if --enable-version-specific-runtime-libs option
- # is selected. FIXME: these variables are misnamed, there are
- # no executables installed in _toolexecdir or _toolexeclibdir.
- if test x"$gxx_include_dir" = x"no"; then
- gxx_include_dir='${libdir}/gcc/${host_alias}/${gcc_version}/include/c++'
- fi
- glibcxx_toolexecdir='${libdir}/gcc/${host_alias}'
- glibcxx_toolexeclibdir='${toolexecdir}/${gcc_version}$(MULTISUBDIR)'
- fi
-
- # Calculate glibcxx_toolexecdir, glibcxx_toolexeclibdir
- # Install a library built with a cross compiler in tooldir, not libdir.
- if test x"$glibcxx_toolexecdir" = x"no"; then
- if test -n "$with_cross_host" &&
- test x"$with_cross_host" != x"no"; then
- glibcxx_toolexecdir='${exec_prefix}/${host_alias}'
- case ${with_toolexeclibdir} in
- no)
- glibcxx_toolexeclibdir='${toolexecdir}/lib'
- ;;
- *)
- glibcxx_toolexeclibdir=${with_toolexeclibdir}
- ;;
- esac
- else
- glibcxx_toolexecdir='${libdir}/gcc/${host_alias}'
- glibcxx_toolexeclibdir='${libdir}'
- fi
- multi_os_directory=`$CXX -print-multi-os-directory`
- case $multi_os_directory in
- .) ;; # Avoid trailing /.
- *) glibcxx_toolexeclibdir=$glibcxx_toolexeclibdir/$multi_os_directory ;;
- esac
- fi
-
AC_MSG_CHECKING([for install location])
AC_MSG_RESULT($gxx_include_dir)
diff --git a/libstdc++-v3/include/Makefile.am b/libstdc++-v3/include/Makefile.am
index 537774c2668..c0bfeb43b44 100644
--- a/libstdc++-v3/include/Makefile.am
+++ b/libstdc++-v3/include/Makefile.am
@@ -1048,7 +1048,7 @@ endif
host_srcdir = ${glibcxx_srcdir}/$(OS_INC_SRCDIR)
host_builddir = ./${host_alias}/bits
-host_installdir = ${gxx_include_dir}/${host_alias}$(MULTISUBDIR)/bits
+host_installdir = ${gxx_include_dir}/bits
host_headers = \
${host_srcdir}/ctype_base.h \
${host_srcdir}/ctype_inline.h \
--
2.47.2