Commit graph

21 commits

Author SHA1 Message Date
John Baldwin
f3d7145d03 Remove an unnecessary variable from CONFIGURE_ENV.
The default C++ header path is set via --with-gxx-include-dir instead.

Reviewed by:	bdrewery
Differential Revision:	https://reviews.freebsd.org/D15541
2018-06-08 16:06:49 +00:00
Alexander Kabaev
08e13126f1 Upgrade base/gcc port to 6.4.0 to match xtoolchain
Reviewed by:	jhb, bapt
2018-05-15 14:07:26 +00:00
John Baldwin
3708c41ab9 Add 32-bit mips support to base/binutils and base/gcc.
- 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
2018-05-09 15:18:27 +00:00
Steve Wills
c93544f869 Add files missed in previous commit
PR:		224217
Submitted by:	nwhitehorn
2018-02-06 14:38:27 +00:00
Steve Wills
b52a2cbd82 Fix cross build of base/ ports
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
2018-02-06 14:32:52 +00:00
Steve Wills
592d8d2d7c Changes from BZ PR 224217 plus minor changes to fix base/gcc fetch 2018-02-06 14:26:41 +00:00
Tijl Coosemans
02f27a83b4 The output of tools like awk, date, sort, tr,... depends on the current
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)
2017-01-18 13:20:31 +00:00
Baptiste Daroussin
78052a2932 Add a Makefile to unbreak some scripts that lookup for all lowercase directories
and expect a Makefile in there

Reported by:	marino
2016-11-11 18:51:42 +00:00
Mathieu Arnold
eabbfd75e3 ${RM} already has -f.
PR:		213570
Submitted by:	mat
Exp-run by:	antoine
Sponsored by:	Absolight
2016-10-21 12:51:40 +00:00
Baptiste Daroussin
ebde9a5488 Remove things that are now handled by bsd.port.mk 2016-09-08 21:44:31 +00:00
Baptiste Daroussin
73c97421bd Remove everything that is now in bsd.port.mk which simplifies the code 2016-09-08 21:35:37 +00:00
Baptiste Daroussin
e307f4a394 Update the README to include how to cross build gcc
Also add instructions on how to add the plist for other arches in binutils
2016-09-08 21:04:00 +00:00
Baptiste Daroussin
e7099d4ced New cross build ready version of gcc.
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
2016-09-08 20:55:19 +00:00
Steve Wills
f715d14d7c base/binutils: fix stripping
Setting STRIPBIN is required by install. While here, remove uneeded /s
2016-08-27 22:23:31 +00:00
Baptiste Daroussin
1cded3476e Properly export the binutils as the cross ones 2016-08-27 16:00:04 +00:00
Baptiste Daroussin
058e0ec44b Really fix the strip issue 2016-08-27 15:58:16 +00:00
Baptiste Daroussin
81cbb1d9a3 Fix up striping 2016-08-27 12:59:06 +00:00
Baptiste Daroussin
58d7cda819 Reduce the number of files packaged to the one not provided by the bsd elftoolchain 2016-08-27 12:58:14 +00:00
Steve Wills
7f593749d9 base/binutils: add powerpc64 plist
While here, fix typo in README and add empty STRIP which seemed to be necessary
2016-08-27 02:32:20 +00:00
Baptiste Daroussin
7a51d2ef76 Remove more tings provided by the elftoolchain 2016-08-27 01:41:11 +00:00
Baptiste Daroussin
5af442e679 WIP: external toolchain cross buildable: binutils
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
2016-08-27 00:14:11 +00:00