Up to [cvs.NetBSD.org] / pkgsrc / lang / gcc5-aux
Request diff between arbitrary revisions
Keyword substitution: kv
Default branch: MAIN
Mass-change BUILD_DEPENDS to TOOL_DEPENDS outside mk/. Almost all uses, if not all of them, are wrong, according to the semantics of BUILD_DEPENDS (packages built for target available for use _by_ tools at build-time) and TOOL_DEPEPNDS (packages built for host available for use _as_ tools at build-time). No change to BUILD_DEPENDS as used correctly inside buildlink3. As proposed on tech-pkg: https://mail-index.netbsd.org/tech-pkg/2023/06/03/msg027632.html
lang: align variable assignments pkglint -Wall -F --only aligned --only indent -r No manual corrections.
Add a new option 'always-libgcc', whether to install libgcc. If the pkgsrc compiler is GCC, don't install libgcc. Having an older libgcc is problematic: it may be missing symbols from newer libgcc. This is what happened in PR pkg/54506. Use this on gcc-aux and gcc5-aux: the libgcc_s.so they install is going to be older in all the operating systems these packages support. (Other GCC packages will require a more elaborate rule) Leaving SmartOS unchanged, by request from jperkin.
Always stop libstdc++ from using PCH, not just on bootstrap. It fails and hangs on netbsd, and people who have looked at the PCH implementation blame it rather than the OS. whitespace.
lang/gcc5-aux: fix allstages logic and set gcc-aux paths => gcc5-aux The disable bootstrap logic was reversed, and there were several references to gcc-aux that needed to change to gcc5-aux.
lang/gcc5-aux: add "allstages" option and explicitly enable shared The compiler failed to build on DragonFly and I think it was because --enable-shared wasn't explicitly set. Previously this was the default but maybe it's not anymore. While here I added a new (non-default) option to build via a long 3 stages instead of a quick single stage.
lang/gcc5-aux: Reduce functionality to allow build on NetBSD 7 There are three major issues with gcc5-aux on NetBSD 7.0 Beta. 1) The gold linker fails in the middle of the build with an "operation not permitted" error. I believe this is either an issue directory with NetBSD 7.0 beta (not seen on 6.99) or an issue with the binutils 2.25 from pkgsrc. It turns out that NetBSD 7.0 uses binutils 2.23 which is new enough. By removing the requirement for using pkgsrc binutils, it will build until it hits issue #2 which is ... 2) Fortran no longer builds on NetBSD 7.0. Something about an "old" version of locale symbol. Something changed with locales and gcc5's Fortran does not like it. The solution is to turn off fortran and objc options by default. This means only C, C++, and Ada languages are supported by default. Obviously this is not a "solution" but it will have to do for now. 3) The signal trampoline has changed. The pattern for the signal trampoline has been altered and now the NetBSD unwind support can't recognize the end of the stack. This causes all the stack overflow and stack check tests to fail. I didn't do anything here. It requires a lot of work with gdb to figure out what the new pattern looks like and I don't have any sort of time for that. Stack handling still works for NetBSD 5 and 6 though.
Import lang/gcc5-aux based on gcc-5.1 This compiler package is not like the lang/gcc4* packages, but rather the lang/gcc-aux package which exists to bring GNAT, the Ada language compiler. The lang/gcc-aux package is based on gcc-4.9, and this package is based on gcc-5. This is the first gcc5 package in pkgsrc, and it does support C, C++, ObjC, and Fortran in addition to Ada thus it is very useful, but it does have a different purpose than other gcc ports. This port has had minimal testing. I verified GNAT passes 100% of the testsuite on NetBSD 6.1/amd64, but it has not been tested on any NetBSD 5, 7.0 or 7.99 platform yet. I don't have any hardware, so it will require using a VM or having others report failure/success. Due to similarity with lang/gcc-aux, chances are good that it will build and function properly on other platforms. See http://gcc.gnu.org/gcc-5/changes.html for more information about improvements over the gcc-4.9 series.