aboutsummaryrefslogtreecommitdiff
path: root/base
Commit message (Collapse)AuthorAgeFilesLines
* Don't disable LTO for aarch64-gcc[69].John Baldwin2020-07-231-2/+0
| | | | | | | | | | | aarch64-binutils is no longer built static by default, so aarch64-gcc can now enable LTO. Reviewed by: emaste Differential Revision: https://reviews.freebsd.org/D25783 Notes: svn path=/head/; revision=542956
* Update instructions to use freebsd-gcc6 packages.John Baldwin2020-01-031-8/+8
| | | | | | | | | Reported by: Mark Millard Reviewed by: bapt Differential Revision: https://reviews.freebsd.org/D23011 Notes: svn path=/head/; revision=521962
* Various fixes to base/binutils and base/gcc6.John Baldwin2020-01-027-3/+39
| | | | | | | | | | | | | | | | | | | | | | - Add --with-sysroot=/ to CONFIGURE_ARGS. base/binutils needs this so that ld honors --sysroot in linker scripts. base/gcc6 needs this so that the C++ include paths honor --sysroot. - Remove a hack from GCC's configure to force C++98 mode when building GCC with GCC. libc++ assumes C++11, so this hack was breaking the build of base/gcc6 natively when the system compiler was GCC. - Add toolchain makefiles installed to /usr/share/toolchains. These are suitable to be used by CROSS_TOOLCHAIN when doing a native arch build. These makefiles enable appropriate knobs so that the in-tree components that are replaced by each package are not built or installed. The freebsd-gcc toolchain makefile includes the binutils toolchain makefile if it is present. Reviewed by: bapt Differential Revision: https://reviews.freebsd.org/D22984 Notes: svn path=/head/; revision=521870
* Rename base/gcc to base/gcc6.John Baldwin2019-12-2710-536/+55
| | | | | | | | | | | | | | | | | | | This is in preparation for adding a base/gcc9 port. While here, update to GCC 6.5.0. Share packing lists with the freebsd-gcc6 port as much as posible. Split most of the freebsd-gcc6 pkg-plist into a pkg-plist.common that lists arch-independent files under lib/. Change base/gcc6 to use the arch-specific packing lists and pkg-list.common from freebsd-gcc6. In addition, hook up packing lists for the remaining archs supported by freebsd-gcc6 but not base/gcc6: aarch64 and sparc64. Reviewed by: bapt Differential Revision: https://reviews.freebsd.org/D22900 Notes: svn path=/head/; revision=521023
* Update base/gcc to work with devel/freebsd-gcc6.John Baldwin2019-12-216-138/+126
| | | | | | | | | | | | | | | | | | | - Explicitly set all the toolchain <foo>_FOR_TARGET variables. GCC's default guess for CC, etc. happened to work with the powerpc64-gcc port, but fails when the binaries have a suffix like the '6' suffix in freebsd-gcc6. Setting these variables explicitly keeps GCC's build from having to guess. - Pull patches from freebsd6-gcc instead of powerpc64-gcc. - Use per-arch plists. - Simplify the post-install steps to keep the hard links the normal install performs and avoid renaming binaries. Keep links to 'cc' and 'c++'. Reviewed by: bapt (earlier version) Differential Revision: https://reviews.freebsd.org/D22594 Notes: svn path=/head/; revision=520538
* Simplify a few things and fix cross-building.John Baldwin2019-12-032-32/+7
| | | | | | | | | | | | - Remove objcopy unconditionally. - Don't bother creating links with the BUTARGET prefix. - Use HOSTARCH when setting CONFIGURE_TARGET. Reviewed by: bapt Differential Revision: https://reviews.freebsd.org/D22607 Notes: svn path=/head/; revision=518973
* Update binutils to 2.33.1Baptiste Daroussin2019-11-083-5/+94
| | | | | | | | | | While here, make the port autonomuous (not a slave port of devel/binutils anymore) The only dependency this port is keeping with devel/binutils is sharing the patch directory to avoid duplication. Notes: svn path=/head/; revision=517034
* Fix a cross-build regression in r493401.John Baldwin2019-03-121-2/+2
| | | | | | | | | | | Use HOSTARCH to set CONFIGURE_TARGET instead of ARCH. Reported by: Mark Millard Approved by: bapt (maintainer) Differential Revision: https://reviews.freebsd.org/D19484 Notes: svn path=/head/; revision=495519
* Permit base/gcc to be built as a native package.John Baldwin2019-02-201-8/+6
| | | | | | | | | | | | - Don't require CROSS_TOOLCHAIN and CROSS_SYSROOT. - Handle building for an amd64 target which needs x86_64 in CONFIGURE_TARGET for similar reasons described in r475291. Reviewed by: bapt Differential Revision: https://reviews.freebsd.org/D19129 Notes: svn path=/head/; revision=493401
* Permit base/binutils to be built as a native package.John Baldwin2019-02-201-8/+0
| | | | | | | | | | | | | | - Don't require CROSS_TOOLCHAIN and CROSS_SYSROOT for base/binutils. - Fix some places in devel/binutils to test the PREFIX instead of CROSS_TOOLCHAIN to determine if base/binutils is being built. - When base/binutils is built natively, the binaries are installed with the target name prefix already. Reviewed by: bapt Differential Revision: https://reviews.freebsd.org/D19128 Notes: svn path=/head/; revision=493400
* Override the library search directories for external GCC toolchains.John Baldwin2019-01-251-1/+2
| | | | | | | | | | | | | | | | | | | The default library search directories when building a native GCC end up falling back to /usr/local/lib (for devel/*-gcc) and /usr/lib (for base/gcc) even when --sysroot is used. For devel/*-gcc, I previously forced CROSS_DIRECTORY_STRUCTURE on in r466699 to workaround this. However, this solution could not be used for base/gcc. Instead, patch the sources to remove several of the library search directories and override STARTFILE_PREFIX_SPEC to only look in /usr/lib. GCC still adds tuple-specific subdirs to /usr/lib, but this is ok. Bump PORTREVISION for both the external GCC toolchains and base/gcc. Reviewed by: kan Differential Revision: https://reviews.freebsd.org/D18677 Notes: svn path=/head/; revision=491173
* Remove compatibility code for FreeBSD < 11.2 from all ports.Rene Ladan2018-11-021-4/+0
| | | | | | | | | | Simplify some ports where DragonFlyBSD no longer needs to be special-cased. Submitted by: rene Reviewed by: bapt, jbeich Differential Revision: https://reviews.freebsd.org/D17724 Notes: svn path=/head/; revision=483807
* Cleanup packing lists.John Baldwin2018-08-202-0/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | - Use BUREMOVE to strip binutils tools not installed by the base/binutils package. - Update BUREMOVE logic in devel/binutils to cope with the base package which installs tools without a BUTARGET- prefix. - Use MANPREFIX for BUREMOVE to handle the PREFIX=/usr case used by base/binutils. - Remove binutils headers and libraries explicitly from the staging area for base/binutils. - Add missing plist entries for binutils binaries installed under a BUTARGET subdirectory. - Drop plist entries from devel/binutils that are now properly removed. Previously the binaries for Windows tools like dlltool were removed from the staging area but the manpages were still left in the package. - Bump PORTREVISION. This is a recommit of r476186 but with the update to the pkg-plist of devel/binutils and PORTREVISION bump. PR: 230278 Reviewed by: antoine Differential Revision: https://reviews.freebsd.org/D16582 Notes: svn path=/head/; revision=477638
* Revert r476186, it fails to packageAntoine Brodin2018-08-022-21/+0
| | | | | | | With hat: portmgr Notes: svn path=/head/; revision=476217
* base/binutils: Cleanup packing lists.John Baldwin2018-08-012-0/+21
| | | | | | | | | | | | | | | | | | | - Use BUREMOVE to strip binutils tools not installed by the base/binutils package. - Update BUREMOVE logic in devel/binutils to cope with the base package which installs tools without a BUTARGET- prefix. - Use MANPREFIX for BUREMOVE to handle the PREFIX=/usr case used by base/binutils. - Remove binutils headers and libraries explicitly from the staging area for base/binutils. - Add missing plist entries for binutils binaries installed under a BUTARGET subdirectory. Approved by: bapt (implicit for base/*) Differential Revision: https://reviews.freebsd.org/D16464 Notes: svn path=/head/; revision=476186
* Add support for amd64 and i386 to base/binutils and base/gcc.John Baldwin2018-07-264-7/+301
| | | | | | | | | | | | | | | | - To support amd64, map amd64 to x86_64 when generating the --host argument to configure in bsd.port.mk and when generating --target arguments in port Makefiles. - Add entries to the plists for i386 and amd64. amd64 generally includes both amd64-specific entries as well as i386 entries. - Don't include the builtin float.h for i386 and amd64. Reviewed by: bapt Approved by: portmgr (bapt) Differential Revision: https://reviews.freebsd.org/D16250 Notes: svn path=/head/; revision=475401
* Enable .init_array and .fini_array with xtoolchain GCC.John Baldwin2018-07-111-0/+5
| | | | | | | | | | | | | | | | | For base/gcc, only enable .init_array and .fini_array for 12.0 and later to match the policy used by clang and llvm. For the xtoolchain ports, enable these unconditionally since the only OS version handy is the OS version of the build host, not the target OS to be built. Unlike llvm, the use of .init_array and .fini_array is set at compile-time for GCC and can't be changed at runtime. Bump PORTREVISION for base/gcc and the xtoolchain GCC ports. Reviewed by: bapt (earlier version) Differential Revision: https://reviews.freebsd.org/D16014 Notes: svn path=/head/; revision=474469
* Use a unified packing list for base/binutils.John Baldwin2018-06-295-407/+395
| | | | | | | | | | | | | | | | | | | Create a single pkg-plist that uses arch-specific PLIST_SUBs to control arch-specific linker scripts but is otherwise machine-independent. - Only include objcopy for OS versions older than 11.0 (11.0 uses the elftoolchain elfcopy as objcopy in the base system) - Use %%BUTARGET%% throughout. This probably fixes the sparc64 pkg-plist which was not updated when BUTARGET started including OSREL. This also avoids hardcoding an OSREL of 12.0 for powerpc64. - Enable MIPS ldscripts for all MIPS architectures which probably fixes this port on mips64 and mipsn32. - Enable PowerPC ldscripts for all PowerPC architectures which probably fixes this port on powerpc. Reviewed by: bapt, bdrewery Notes: svn path=/head/; revision=473568
* Remove an unnecessary variable from CONFIGURE_ENV.John Baldwin2018-06-081-2/+1
| | | | | | | | | | The default C++ header path is set via --with-gxx-include-dir instead. Reviewed by: bdrewery Differential Revision: https://reviews.freebsd.org/D15541 Notes: svn path=/head/; revision=472012
* Upgrade base/gcc port to 6.4.0 to match xtoolchainAlexander Kabaev2018-05-152-5/+8
| | | | | | | Reviewed by: jhb, bapt Notes: svn path=/head/; revision=470018
* Add 32-bit mips support to base/binutils and base/gcc.John Baldwin2018-05-097-137/+327
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - When cross-building packages, set ARCH to the target arch instead of the arch of the build host. This fixes bsd.ssp.mk on MIPS which was trying to enable SSP on MIPS cross-built packages because the host ARCH was amd64. A new HOST_ARCH variable is added to set the --build triple for configure scripts, but I believe most other uses of ARCH in ports are really about the target, not the build host so this is the more correct general direction. - Some updates to base/binutils and base/gcc to use ARCH as the target architecture. - Drop the extra arguments to GCC to set include and library paths and only set --sysroot. - Move the --sysroot flags into CC, CXX, CPP (which is now set to XCPP) and LD instead of passing it in CFLAGS, etc. The base/gcc build uses ends up using the CFLAGS when building native binaries for the build host which fails when tripping over the --sysroot. I think this might have accidentally worked before because the powerpc64 headers in /usr/include/machine were "close enough" to the amd64 headers, but with 32-bit MIPS this failed hard. - Add the GCC MIPS patch from devel/powerpc64-gcc to base/gcc to add MIPS support to base/gcc. - Add a MIPS plist for base/binutils. - Set helper variables for the base/gcc plist to tag architecture-specific headers (e.g. for intrinsincs) and use these to tag powerpc and MIPS specific headers. - Drop the include-fixed headers from base/gcc. - Strip /usr/local/include from the default list of include paths for base/gcc. - Use libc++'s include path for C++ for base/gcc. Reviewed by: bapt Approved by: portmgr (bapt) Differential Revision: https://reviews.freebsd.org/D15267 Notes: svn path=/head/; revision=469449
* Add files missed in previous commitSteve Wills2018-02-063-0/+94
| | | | | | | | PR: 224217 Submitted by: nwhitehorn Notes: svn path=/head/; revision=461059
* Fix cross build of base/ portsSteve Wills2018-02-063-63/+82
| | | | | | | | | | | | This is a follow up to r461057 and fixes base/binutils and base/gcc in my testing. PR: 224217 Submitted by: nwhitehorn (partially, I made additional changes) Reviewed by: bapt Notes: svn path=/head/; revision=461058
* Changes from BZ PR 224217 plus minor changes to fix base/gcc fetchSteve Wills2018-02-063-28/+61
| | | | Notes: svn path=/head/; revision=461057
* The output of tools like awk, date, sort, tr,... depends on the currentTijl Coosemans2017-01-181-2/+0
| | | | | | | | | | | | | | | | | | | | | locale set by the user. Add LANG=C and LC_ALL=C at the beginning of bsd.port.mk and export them so all commands are executed with the C locale. LC_ALL=C overrides all other LC_* variables. LANG is used by setlocale(3) as default value for LC_* variables, so normally it isn't used when LC_ALL is set, but there's code out there that looks at LANG directly so it's safer to set it as well. The only commands not captured by this are != assignments before any inclusion of bsd.port.*mk. Introduce USE_LOCALE=<locale> that adds LANG=<locale> and LC_ALL=<locale> to CONFIGURE_ENV and MAKE_ENV so upstream build systems can be executed with a different locale (e.g. USE_LOCALE=en_US.UTF-8). PR: 215882 Exp-run by: antoine Approved by: portmgr (antoine) Notes: svn path=/head/; revision=431796
* Add a Makefile to unbreak some scripts that lookup for all lowercase directoriesBaptiste Daroussin2016-11-111-0/+5
| | | | | | | | | and expect a Makefile in there Reported by: marino Notes: svn path=/head/; revision=425903
* ${RM} already has -f.Mathieu Arnold2016-10-211-1/+1
| | | | | | | | | | PR: 213570 Submitted by: mat Exp-run by: antoine Sponsored by: Absolight Notes: svn path=/head/; revision=424411
* Remove things that are now handled by bsd.port.mkBaptiste Daroussin2016-09-081-16/+0
| | | | Notes: svn path=/head/; revision=421585
* Remove everything that is now in bsd.port.mk which simplifies the codeBaptiste Daroussin2016-09-081-15/+1
| | | | Notes: svn path=/head/; revision=421584
* Update the README to include how to cross build gccBaptiste Daroussin2016-09-081-0/+12
| | | | | | | Also add instructions on how to add the plist for other arches in binutils Notes: svn path=/head/; revision=421582
* New cross build ready version of gcc.Baptiste Daroussin2016-09-085-0/+549
| | | | | | | | | | | | | | This port is special, it is done only for being cross build and prepare a modern compiler for base system build without a cross compiler It contains the printf format extension needed for the kernel as only patch for now. It uses libc++ from base as a standard c++ library default on the libc++ headers as c++ headers Notes: svn path=/head/; revision=421581
* base/binutils: fix strippingSteve Wills2016-08-271-2/+4
| | | | | | | Setting STRIPBIN is required by install. While here, remove uneeded /s Notes: svn path=/head/; revision=421001
* Properly export the binutils as the cross onesBaptiste Daroussin2016-08-271-1/+1
| | | | Notes: svn path=/head/; revision=420983
* Really fix the strip issueBaptiste Daroussin2016-08-271-1/+1
| | | | Notes: svn path=/head/; revision=420982
* Fix up stripingBaptiste Daroussin2016-08-271-2/+1
| | | | Notes: svn path=/head/; revision=420976
* Reduce the number of files packaged to the one not provided by the bsd ↵Baptiste Daroussin2016-08-271-40/+0
| | | | | | | elftoolchain Notes: svn path=/head/; revision=420975
* base/binutils: add powerpc64 plistSteve Wills2016-08-273-1/+109
| | | | | | | While here, fix typo in README and add empty STRIP which seemed to be necessary Notes: svn path=/head/; revision=420958
* Remove more tings provided by the elftoolchainBaptiste Daroussin2016-08-271-6/+0
| | | | Notes: svn path=/head/; revision=420957
* WIP: external toolchain cross buildable: binutilsBaptiste Daroussin2016-08-273-0/+114
Add a cross buildable binutils package. The new category is not linked to the regular ports tree to avoid make install, poudriere and others to catch it automagically instead of ending with a very complex file removal in the stage, prefer to use specific plist per arch. For now only sparc64 tested and added. This version of binutils is stipped down only the components that are not supported by elftoolchain Notes: svn path=/head/; revision=420954