pkgsrc-Changes archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
CVS commit: pkgsrc/lang/clang
Module Name: pkgsrc
Committed By: wiz
Date: Sun Jul 7 14:00:21 UTC 2024
Modified Files:
pkgsrc/lang/clang: Makefile.common distinfo
pkgsrc/lang/clang/patches: patch-lib_Driver_ToolChain.cpp
Added Files:
pkgsrc/lang/clang/patches: patch-lib_Basic_Targets_OSTargets.h
patch-lib_Driver_ToolChains_Gnu.cpp
Log Message:
clang: try merging Solaris patches
To generate a diff of this commit:
cvs rdiff -u -r1.60 -r1.61 pkgsrc/lang/clang/Makefile.common
cvs rdiff -u -r1.86 -r1.87 pkgsrc/lang/clang/distinfo
cvs rdiff -u -r0 -r1.10 \
pkgsrc/lang/clang/patches/patch-lib_Basic_Targets_OSTargets.h
cvs rdiff -u -r1.4 -r1.5 \
pkgsrc/lang/clang/patches/patch-lib_Driver_ToolChain.cpp
cvs rdiff -u -r0 -r1.4 \
pkgsrc/lang/clang/patches/patch-lib_Driver_ToolChains_Gnu.cpp
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: pkgsrc/lang/clang/Makefile.common
diff -u pkgsrc/lang/clang/Makefile.common:1.60 pkgsrc/lang/clang/Makefile.common:1.61
--- pkgsrc/lang/clang/Makefile.common:1.60 Sun Jul 7 07:36:08 2024
+++ pkgsrc/lang/clang/Makefile.common Sun Jul 7 14:00:21 2024
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile.common,v 1.60 2024/07/07 07:36:08 jperkin Exp $
+# $NetBSD: Makefile.common,v 1.61 2024/07/07 14:00:21 wiz Exp $
# used by lang/clang/Makefile
# used by lang/clang-tools-extra/Makefile
@@ -115,6 +115,21 @@ LIBCPP_CHECK= NO
CMAKE_ARGS+= -DCLANG_DEFAULT_CXX_STDLIB:STRING="libstdc++"
.endif
+# On SunOS use the libraries from the GCC used to build clang rather than
+# aimlessly searching the file system for ones that might be incompatible.
+#
+SUBST_CLASSES.SunOS+= sunos-gcc
+SUBST_STAGE.sunos-gcc= pre-configure
+SUBST_FILES.sunos-gcc= lib/Driver/ToolChains/Gnu.cpp
+SUBST_SED.sunos-gcc= -e 's,@GCCBASEDIR@,${CCPATH:H:H},'
+
+# Not perfect, but should catch most common cases. We can't simply use
+# gcc-libs as that doesn't ship the headers.
+#
+.if ${OPSYS} == "SunOS" && ${PKGSRC_COMPILER:Mgcc}
+BUILDLINK_DEPMETHOD.${_GCC_PKGBASE}= full
+.endif
+
# 3.8.0 -> 3.8
LLVM_MAJOR= ${PKGVERSION_NOREV:C/^([0-9]+\.[0-9]+)\..*$/\1/}
PLIST_SUBST+= LLVM_MAJOR=${LLVM_MAJOR}
Index: pkgsrc/lang/clang/distinfo
diff -u pkgsrc/lang/clang/distinfo:1.86 pkgsrc/lang/clang/distinfo:1.87
--- pkgsrc/lang/clang/distinfo:1.86 Sun Jul 7 07:36:08 2024
+++ pkgsrc/lang/clang/distinfo Sun Jul 7 14:00:21 2024
@@ -1,4 +1,4 @@
-$NetBSD: distinfo,v 1.86 2024/07/07 07:36:08 jperkin Exp $
+$NetBSD: distinfo,v 1.87 2024/07/07 14:00:21 wiz Exp $
BLAKE2s (clang-18.1.8.src.tar.xz) = 7b596722003d9519baaa1f49320bc7ce80f3da104d96df834ebbc0778cb3cfa7
SHA512 (clang-18.1.8.src.tar.xz) = 4147ef5e3547e80fbea573a6e3964870b38e7a547e796deb8859ca670b039ddd1af289cd4feadcb4ab5e94211b2ab5e91dfa84f58f114fdcbc9e807c9de901ca
@@ -9,5 +9,7 @@ Size (cmake-18.1.8.src.tar.xz) = 8708 by
BLAKE2s (runtimes-18.1.8.src.tar.xz) = f9034c238edd0e7809d4a82a0bdb643926ad23566d2447e8f4ce8ad0b068e90e
SHA512 (runtimes-18.1.8.src.tar.xz) = 6ddf33676a1f4b69111a077e2b4bec951433f9e6d84ba2f1d578be373690e0abd8fccd1104bf34355c8fb9613c002c720b53fa536be4a923dca7e2d7abd1614c
Size (runtimes-18.1.8.src.tar.xz) = 6788 bytes
-SHA1 (patch-lib_Driver_ToolChain.cpp) = 33a8e346a72893140fde42245e4b108f3a9b9e3e
+SHA1 (patch-lib_Basic_Targets_OSTargets.h) = 0dcfbf3c8b0006e3314c36a75995032891ea8ceb
+SHA1 (patch-lib_Driver_ToolChain.cpp) = 06002fa45d16f9b9385f8a7a947aaf3970007938
+SHA1 (patch-lib_Driver_ToolChains_Gnu.cpp) = c24056b86736a29fc9bef3b20f83dedb4a260535
SHA1 (patch-lib_Interpreter_IncrementalParser.cpp) = c5ace959ce566478316447b1621e9bfd9a537cc5
Index: pkgsrc/lang/clang/patches/patch-lib_Driver_ToolChain.cpp
diff -u pkgsrc/lang/clang/patches/patch-lib_Driver_ToolChain.cpp:1.4 pkgsrc/lang/clang/patches/patch-lib_Driver_ToolChain.cpp:1.5
--- pkgsrc/lang/clang/patches/patch-lib_Driver_ToolChain.cpp:1.4 Sat Jul 6 15:45:07 2024
+++ pkgsrc/lang/clang/patches/patch-lib_Driver_ToolChain.cpp Sun Jul 7 14:00:21 2024
@@ -1,11 +1,12 @@
-$NetBSD: patch-lib_Driver_ToolChain.cpp,v 1.4 2024/07/06 15:45:07 adam Exp $
+$NetBSD: patch-lib_Driver_ToolChain.cpp,v 1.5 2024/07/07 14:00:21 wiz Exp $
[LLD] Add NetBSD support as a new flavor of LLD (nb.lld)
https://reviews.llvm.org/D70048
+Add -R for library paths on SunOS.
---- lib/Driver/ToolChain.cpp.orig 2019-07-11 19:06:38.000000000 +0000
+--- lib/Driver/ToolChain.cpp.orig 2023-11-28 08:52:28.000000000 +0000
+++ lib/Driver/ToolChain.cpp
-@@ -506,6 +506,8 @@ std::string ToolChain::GetLinkerPath() c
+@@ -837,6 +837,8 @@ std::string ToolChain::GetLinkerPath(boo
llvm::SmallString<8> LinkerName;
if (Triple.isOSDarwin())
LinkerName.append("ld64.");
@@ -14,3 +15,19 @@ https://reviews.llvm.org/D70048
else
LinkerName.append("ld.");
LinkerName.append(UseLinker);
+@@ -1213,9 +1215,13 @@ void ToolChain::AddCXXStdlibLibArgs(cons
+
+ void ToolChain::AddFilePathLibArgs(const ArgList &Args,
+ ArgStringList &CmdArgs) const {
+- for (const auto &LibPath : getFilePaths())
+- if(LibPath.length() > 0)
++ for (const auto &LibPath : getFilePaths()) {
++ if(LibPath.length() > 0) {
+ CmdArgs.push_back(Args.MakeArgString(StringRef("-L") + LibPath));
++ if (Triple.isOSSolaris())
++ CmdArgs.push_back(Args.MakeArgString(StringRef("-R") + LibPath));
++ }
++ }
+ }
+
+ void ToolChain::AddCCKextLibArgs(const ArgList &Args,
Added files:
Index: pkgsrc/lang/clang/patches/patch-lib_Basic_Targets_OSTargets.h
diff -u /dev/null pkgsrc/lang/clang/patches/patch-lib_Basic_Targets_OSTargets.h:1.10
--- /dev/null Sun Jul 7 14:00:21 2024
+++ pkgsrc/lang/clang/patches/patch-lib_Basic_Targets_OSTargets.h Sun Jul 7 14:00:21 2024
@@ -0,0 +1,42 @@
+$NetBSD: patch-lib_Basic_Targets_OSTargets.h,v 1.10 2024/07/07 14:00:21 wiz Exp $
+
+Add __illumos__ if the bootstrap compiler also defines it.
+Sync SunOS default defines with what GCC uses.
+
+--- lib/Basic/Targets/OSTargets.h.orig 2023-11-28 08:52:28.000000000 +0000
++++ lib/Basic/Targets/OSTargets.h
+@@ -639,25 +639,21 @@ protected:
+ void getOSDefines(const LangOptions &Opts, const llvm::Triple &Triple,
+ MacroBuilder &Builder) const override {
+ DefineStd(Builder, "sun", Opts);
++#if defined(__illumos__)
++ DefineStd(Builder, "__illumos__", Opts);
++#endif
+ DefineStd(Builder, "unix", Opts);
+ Builder.defineMacro("__svr4__");
+ Builder.defineMacro("__SVR4");
+- // Solaris headers require _XOPEN_SOURCE to be set to 600 for C99 and
+- // newer, but to 500 for everything else. feature_test.h has a check to
+- // ensure that you are not using C99 with an old version of X/Open or C89
+- // with a new version.
+- if (Opts.C99)
+- Builder.defineMacro("_XOPEN_SOURCE", "600");
+- else
+- Builder.defineMacro("_XOPEN_SOURCE", "500");
++ // Compatibility with GCC to satisfy <sys/feature_tests.h> requirements.
+ if (Opts.CPlusPlus) {
+- Builder.defineMacro("__C99FEATURES__");
++ Builder.defineMacro("__STDC_VERSION__", "199901L");
++ Builder.defineMacro("_XOPEN_SOURCE", "600");
+ Builder.defineMacro("_FILE_OFFSET_BITS", "64");
++ Builder.defineMacro("_LARGEFILE_SOURCE");
++ Builder.defineMacro("_LARGEFILE64_SOURCE");
++ Builder.defineMacro("__EXTENSIONS__");
+ }
+- // GCC restricts the next two to C++.
+- Builder.defineMacro("_LARGEFILE_SOURCE");
+- Builder.defineMacro("_LARGEFILE64_SOURCE");
+- Builder.defineMacro("__EXTENSIONS__");
+ if (Opts.POSIXThreads)
+ Builder.defineMacro("_REENTRANT");
+ if (this->HasFloat128)
Index: pkgsrc/lang/clang/patches/patch-lib_Driver_ToolChains_Gnu.cpp
diff -u /dev/null pkgsrc/lang/clang/patches/patch-lib_Driver_ToolChains_Gnu.cpp:1.4
--- /dev/null Sun Jul 7 14:00:21 2024
+++ pkgsrc/lang/clang/patches/patch-lib_Driver_ToolChains_Gnu.cpp Sun Jul 7 14:00:21 2024
@@ -0,0 +1,18 @@
+$NetBSD: patch-lib_Driver_ToolChains_Gnu.cpp,v 1.4 2024/07/07 14:00:21 wiz Exp $
+
+On SunOS always use the GCC that was used to build clang.
+
+--- lib/Driver/ToolChains/Gnu.cpp.orig 2024-06-15 17:21:32.000000000 +0000
++++ lib/Driver/ToolChains/Gnu.cpp
+@@ -2382,6 +2382,11 @@ void Generic_GCC::GCCInstallationDetecto
+ // /usr/gcc/<version> as a prefix.
+
+ SmallVector<std::pair<GCCVersion, std::string>, 8> SolarisPrefixes;
++
++ // Only use compiler as configured by pkgsrc
++ Prefixes.push_back("@GCCBASEDIR@");
++ return;
++
+ std::string PrefixDir = concat(SysRoot, "/usr/gcc");
+ std::error_code EC;
+ for (llvm::vfs::directory_iterator LI = D.getVFS().dir_begin(PrefixDir, EC),
Home |
Main Index |
Thread Index |
Old Index