| #
17e3ebb1
|
| 25-Mar-2016 |
Bryan Drewery <bdrewery@FreeBSD.org> |
Fix libcompat not handling some external toolchain flags.
- Use libc++ with GCC. - Use CROSS_BINUTILS_PREFIX with -B (r280980 addressed this mostly already)
Sponsored by: EMC / Isilon Storage Divis
Fix libcompat not handling some external toolchain flags.
- Use libc++ with GCC. - Use CROSS_BINUTILS_PREFIX with -B (r280980 addressed this mostly already)
Sponsored by: EMC / Isilon Storage Division
show more ...
|
| #
1b337a34
|
| 25-Mar-2016 |
Bryan Drewery <bdrewery@FreeBSD.org> |
Build libcompat (lib32) with a --sysroot pointing into its stage directory.
This overrides the cross-compiler's default sysroot to use the WORLD32's sysroot for building the lib32 libraries. Previo
Build libcompat (lib32) with a --sysroot pointing into its stage directory.
This overrides the cross-compiler's default sysroot to use the WORLD32's sysroot for building the lib32 libraries. Previously the cross-compiler would default the sysroot to the 64bit WORLDTMP and -B/-L/-isystem flags were used to build using the lib32 files. This leads to multiple issues discussed later. Some extra headers are now needed to be staged since the 64bit WORLDTMP is not referenced at all for headers. The 64bit WORLDTMP is still used via PATH for build tools. Overriding the default target/arch is retained in the CC/CXX overrides.
This allows reverting the LDSCRIPT rewriting in installworld from r296921 and r235122, thus allowing read-only objdirs to work for installing again.
This removes the need for _LDSCRIPTROOT.
This allows progressing the change to always use --sysroot for the build rather than only relying on the cross-compiler's default sysroot. The work for that is in D3970 and needed to resolve WITHOUT_CROSS_COMPILER not using a --sysroot [1].
PR: 196193 [1] Sponsored by: EMC / Isilon Storage Division
show more ...
|
| #
429882e6
|
| 25-Mar-2016 |
Bryan Drewery <bdrewery@FreeBSD.org> |
LIBRARIES_ONLY should only be defined during install32.
r245561 added it to prevent extra files from being installed during the install32 phase (to prevent duplicates in the meta log with -DNO_ROOT)
LIBRARIES_ONLY should only be defined during install32.
r245561 added it to prevent extra files from being installed during the install32 phase (to prevent duplicates in the meta log with -DNO_ROOT). The flag should not be passed during build32 though since it may prevent staging of includes during the 'make includes' phase on library directories.
Sponsored by: EMC / Isilon Storage Division
show more ...
|
| #
37a8c977
|
| 24-Mar-2016 |
Bryan Drewery <bdrewery@FreeBSD.org> |
Explicit 'make obj' for library dirs in build32 is not needed.
In r138291 some directories were explicitly made to run 'make obj', but each target in 'make libraries' already runs 'make obj' for eac
Explicit 'make obj' for library dirs in build32 is not needed.
In r138291 some directories were explicitly made to run 'make obj', but each target in 'make libraries' already runs 'make obj' for each library since r161580.
Sponsored by: EMC / Isilon Storage Division
show more ...
|
| #
53835448
|
| 14-Mar-2016 |
Glen Barber <gjb@FreeBSD.org> |
MFH
Sponsored by: The FreeBSD Foundation
|
| #
bb52d711
|
| 12-Mar-2016 |
Warner Losh <imp@FreeBSD.org> |
Use the newly minted Makefile.libcompat to implement libsoft libraries for the armv6 ABI switch. This also make WITH_LIBSOFT functional on the arm platform. As a transition thing, this seems to work
Use the newly minted Makefile.libcompat to implement libsoft libraries for the armv6 ABI switch. This also make WITH_LIBSOFT functional on the arm platform. As a transition thing, this seems to work even without switching the ABI (we basically build the same libraries twice when MK_LIBSOFT=yes until the ABI cut over next month). MK_LIBSOFT remains default no.
show more ...
|
| #
048ce093
|
| 12-Mar-2016 |
Bryan Drewery <bdrewery@FreeBSD.org> |
Follow-up r296709: Fix build32 not properly building all libraries.
Pointyhat to: bdrewery Reported by: antoine
|
| #
dba75e9f
|
| 11-Mar-2016 |
Bryan Drewery <bdrewery@FreeBSD.org> |
Move Makefile.lib32 to Makefile.libcompat and generalize it.
This is in preparation for LIBSOFT.
This file only supports *1* LIBCOMPAT value currently and must be capitalized. In Makefile.libcompat
Move Makefile.lib32 to Makefile.libcompat and generalize it.
This is in preparation for LIBSOFT.
This file only supports *1* LIBCOMPAT value currently and must be capitalized. In Makefile.libcompat given LIBCOMPAT=FOO there can be values set for LIBFOOCFLAGS, LIBFOOCPUFLAGS, LIBFOOWMAKEENV, LIBFOOWMAKEFLAGS, LIBFOOCPUFLAGS, and LIBFOODTRACE. These will have the standard cross-build values appended onto them.
This could be extended to support multiple libcompat libraries in the future once there is a need.
Reviewed by: imp Sponsored by: EMC / Isilon Storage Division Differential Revision: https://reviews.freebsd.org/D5612
show more ...
|
| #
a00cd954
|
| 23-Aug-2018 |
Alex Richardson <arichardson@FreeBSD.org> |
Fix non-FreeBSD host lib32 build for TARGET=amd64
When building on non-FreeBSD systems we need to pass an explicit target triple to clang otherwise it will attempt to build with the host triple. Thi
Fix non-FreeBSD host lib32 build for TARGET=amd64
When building on non-FreeBSD systems we need to pass an explicit target triple to clang otherwise it will attempt to build with the host triple. This also has advantages when building on a FreeBSD host: we now tell clang that we are targeting at least FreeBSD 12.0 instead of an older version so it can enable newer features.
Reviewed By: brooks (mentor) Approved By: jhb (mentor) Differential Revision: https://reviews.freebsd.org/D16842
show more ...
|
| #
14b841d4
|
| 11-Aug-2018 |
Kyle Evans <kevans@FreeBSD.org> |
MFH @ r337607, in preparation for boarding
|
| #
52f9bacb
|
| 03-Aug-2018 |
John Baldwin <jhb@FreeBSD.org> |
Install the 32-bit compat sanitizer libraries.
The lib32 build was already building the i386 version of the clang sanitizers (libclang_rt) but they were not being installed. This enables the instal
Install the 32-bit compat sanitizer libraries.
The lib32 build was already building the i386 version of the clang sanitizers (libclang_rt) but they were not being installed. This enables the installation.
MK_TOOLCHAIN=no was originally added to the install make environment to disable includes so that NO_INCS could be removed. The MK_TOOLCHAIN in bsd.incs.mk was subsequently renamed to MK_INCLUDES, but bsd.lib.mk doesn't even include bsd.incs.mk when LIBRARIES_ONLY is defined which the install make environment for compat libs now defines. However, setting MK_TOOLCHAIN=no forced MK_CLANG=no which disabled libclang_rt during the install32 phase. Remove MK_TOOLCHAIN=no since LIBRARIES_ONLY is now sufficient.
Since the libcompat environment overrides both LIBDIR and SHLIBDIR, libclang_rt/Makefile.inc has to set both variables to force the libraries to be installed to the location expected by the compiler.
Reviewed by: bdrewery, dim MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D16574
show more ...
|
| #
0d849865
|
| 30-Jul-2018 |
Ed Maste <emaste@FreeBSD.org> |
Makefile.libcompat: correctly append to make variable
Reported by: hselasky Pointy hat to: emaste
|
| #
ad91146c
|
| 30-Jul-2018 |
Ed Maste <emaste@FreeBSD.org> |
Makefile.libcompat: use one variable assignment per line
This makes it easier to carry or merge patches that remove gnu/ components.
|
| #
55a5b46a
|
| 29-Jun-2018 |
Alex Richardson <arichardson@FreeBSD.org> |
Don't change directory owner to root when building with -DNO_ROOT
Currently the mtree calls in Makefile.inc1 all change the directory owner to match the spec file. However, we should not be doing th
Don't change directory owner to root when building with -DNO_ROOT
Currently the mtree calls in Makefile.inc1 all change the directory owner to match the spec file. However, we should not be doing this during distributeworld if -DNO_ROOT is passed. Additionally, when creating the WORLDTMP directory hierachy there is no need to change the owner to root so we now always pass the -W flag when populating WORLDTMP.
This is also required for building FreeBSD on Linux/Mac since the required groups/users will not exist there which is how I discovered this issue.
Reviewed By: emaste, bdrewery, imp Approved By: brooks (mentor) Differential Revision: https://reviews.freebsd.org/D14185
show more ...
|
| #
151578dc
|
| 28-Jun-2018 |
John Baldwin <jhb@FreeBSD.org> |
Remove the various build flag hacks for GCC cross-compile.
The xtoolchain GCC packages have not required these flags since ports commits r465416 and r466701. The in-tree GCC 4.2.1 has also been pat
Remove the various build flag hacks for GCC cross-compile.
The xtoolchain GCC packages have not required these flags since ports commits r465416 and r466701. The in-tree GCC 4.2.1 has also been patched in r335716 and r335717 to correctly honor --sysroot when looking for includes and libraries.
Reviewed by: bdrewery Sponsored by: DARPA / AFRL Differential Revision: https://reviews.freebsd.org/D16055
show more ...
|
| #
6e6be2bb
|
| 20-Jun-2018 |
Bryan Drewery <bdrewery@FreeBSD.org> |
Reduce exec and fstat overhead for non-build targets.
This is mostly targetting 'make showconfig' and 'make test-system-*' for the benefit of makeman and universe-one-clang work.
Sponsored by: Dell
Reduce exec and fstat overhead for non-build targets.
This is mostly targetting 'make showconfig' and 'make test-system-*' for the benefit of makeman and universe-one-clang work.
Sponsored by: Dell EMC
show more ...
|
| #
c4273800
|
| 15-Jun-2018 |
Bryan Drewery <bdrewery@FreeBSD.org> |
lib32: Fix lib/libpmc/pmu-events files ending up in source directory.
This could happen with either WITHOUT_AUTO_OBJ=yes or MAKELEVEL>0 for the initial 'make buildworld' command.
This now ensures t
lib32: Fix lib/libpmc/pmu-events files ending up in source directory.
This could happen with either WITHOUT_AUTO_OBJ=yes or MAKELEVEL>0 for the initial 'make buildworld' command.
This now ensures that build-tools targets have 'make obj' ran if needed.
This is especially problematic for pmu-events since it is not directly connected in the build. Normally the 'make includes' call right before this implicitly creates the objdir with a 'make obj' already but misses pmu-events because it is disconnected from lib/libpmc. Fixing that would make this new 'make obj' pointless but it is being added to avoid this problem in the future should another tool be connected like this.
Reported by: rgrimes, kib, kevans Sponsored by: Dell EMC
show more ...
|
| #
127b666c
|
| 15-Jun-2018 |
Bryan Drewery <bdrewery@FreeBSD.org> |
libcompat: Only build libmagic build tool if MK_FILE is yes.
Sponsored by: Dell EMC
|
| #
6f1f2b19
|
| 15-Jun-2018 |
Bryan Drewery <bdrewery@FreeBSD.org> |
Only build jevents if MK_PMC is yes and only for amd64 in libcompat.
Sponsored by: Dell EMC
|
| #
7d1c2b74
|
| 31-May-2018 |
Matt Macy <mmacy@FreeBSD.org> |
libpmc/pmu: enable for i386 as well
|
| #
1c0cac23
|
| 24-Jan-2018 |
Bryan Drewery <bdrewery@FreeBSD.org> |
X_COMPILER_* may not be defined.
Sponsored by: Dell EMC
|
| #
a1554bba
|
| 16-Jan-2018 |
John Baldwin <jhb@FreeBSD.org> |
Check for GCC first rather than clang in the MIPS lib32 rules.
This works around a bug with X_COMPILER_TYPE and permits mips64 to build again with in-tree gcc as well as clang and external gcc.
Spo
Check for GCC first rather than clang in the MIPS lib32 rules.
This works around a bug with X_COMPILER_TYPE and permits mips64 to build again with in-tree gcc as well as clang and external gcc.
Sponsored by: DARPA / AFRL
show more ...
|
| #
c79126f2
|
| 12-Jan-2018 |
Dimitry Andric <dim@FreeBSD.org> |
Merge ^/head r327624 through r327885.
|
| #
8d286bb9
|
| 11-Jan-2018 |
John Baldwin <jhb@FreeBSD.org> |
Allow MIPS lib32 to build with clang.
Don't try to set -march as clang doesn't permit use of the O32 ABI with newer CPU microarchitectures like 'mips3'. In addition, clang doesn't permit the O32 AB
Allow MIPS lib32 to build with clang.
Don't try to set -march as clang doesn't permit use of the O32 ABI with newer CPU microarchitectures like 'mips3'. In addition, clang doesn't permit the O32 ABI with the default N64 target, so use an explicit O32 -target for clang.
Sponsored by: DARPA / AFRL
show more ...
|
| #
c2c014f2
|
| 07-Nov-2017 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Merge ^/head r323559 through r325504.
|