[Bug 224217] [patch] Fix cross build of base/ ports

bugzilla-noreply at freebsd.org bugzilla-noreply at freebsd.org
Sat Dec 9 22:56:43 UTC 2017


https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=224217

            Bug ID: 224217
           Summary: [patch] Fix cross build of base/ ports
           Product: Ports & Packages
           Version: Latest
          Hardware: Any
                OS: Any
            Status: New
          Keywords: patch
          Severity: Affects Only Me
          Priority: ---
         Component: Ports Framework
          Assignee: portmgr at FreeBSD.org
          Reporter: nwhitehorn at FreeBSD.org
                CC: freebsd-ports-bugs at FreeBSD.org
          Keywords: patch

Created attachment 188675
  --> https://bugs.freebsd.org/bugzilla/attachment.cgi?id=188675&action=edit
Fixes

The attached patch fixes the build of the base/ ports and ports-mgmt/pkg via
cross-build on systems without QEMU userland support.

It does the following:
- Set C*_FOR_BUILD variables that various GNU tools need for their native
compiler in autoconf.
- Set CPPFLAGS to include the sysroot flags so that code using the preprocessor
by itself also gets the right headers. This fixes GCC's autoconf checks that
override autoconf's AC_GET_HEADER macros to use cpp directly rather than the
compiler.
- Have a cross-built pkg(8) use the native system pkg to package itself rather
than the new cross-built pkg, which of course is not executable.
- Upgrade GCC to 6.3 from 5.4
- Change the vendor tag on base/gcc from portbld to unknown to fix some
brokenness in its internal build system and match the cross-compiler installed
by e.g. powerpc64-gcc.
- Repair GCC's build system to pass CPPFLAGS around correctly and avoid
conflation of host and build CPPFLAGS, which we require as a result of GCC's
broken non-inclusion of -isystem =/usr/include by default unless a cross root
is present when building the cross-compiler.
- Repair GCC's build system to set proper C*FLAGS for native tool builds.

-- 
You are receiving this mail because:
You are on the CC list for the bug.


More information about the freebsd-ports-bugs mailing list