aboutsummaryrefslogtreecommitdiff
path: root/Makefile.libcompat
Commit message (Collapse)AuthorAgeFilesLines
...
* Libcompat: Set build tools in environment rather than make overrides.Bryan Drewery2016-05-291-4/+6
| | | | | | | | | | | | This allows the CXX hack in r300917 for external GCC to work for the lib32 build. It is also the same pattern as the native build uses by adding the tools into CROSSENV for external toolchain, rather than make overrides. Sponsored by: EMC / Isilon Storage Division Notes: svn path=/head/; revision=300926
* Move external GCC compiler hacks to bsd.sys.mk.Bryan Drewery2016-05-271-7/+0
| | | | | | | | | | | | | | | | | This allows respecting -nostdinc, -nostdinc++ and -nostdlib before making the decision to add in -isystem, etc. The -isystem flags are problematic for building lib/libc++ and lib/libcxxrt which wants to only use its own headers. More information the need of these flags can be found at https://gcc.gnu.org/ml/gcc/2016-03/msg00219.html This also reverts r300873. Sponsored by: EMC / Isilon Storage Division Notes: svn path=/head/; revision=300886
* Libcompat: Only pass -isystem =/usr/include for external GCC.Bryan Drewery2016-05-271-2/+1
| | | | | | | | | | | | This is the same as the main build logic. GCC with a cross-compiler requires using -isystem to =/usr/include to get the search order correct. Reported by: dim, asomers Sponsored by: EMC / Isilon Storage Division Notes: svn path=/head/; revision=300885
* Set CPP from XCPP for the libcompat build.Bryan Drewery2016-04-151-0/+1
| | | | | | | Submitted by: Mark Millard <markmi@dsl-only.net> Notes: svn path=/head/; revision=298079
* META_MODE: Don't rebuild build-tools targets during normal build.Bryan Drewery2016-04-141-0/+4
| | | | | | | | | | | | This avoids 'build command changed' due to CFLAGS/CC changes during the normal build. Without this the build-tools targets end up rebuilding for the *target* rather than keeping the native versions built in build-tools. Sponsored by: EMC / Isilon Storage Division Notes: svn path=/head/; revision=297997
* Remove leftover _LDSCRIPTROOT missed in r297270.Bryan Drewery2016-04-051-1/+1
| | | | | | | Sponsored by: EMC / Isilon Storage Division Notes: svn path=/head/; revision=297591
* LIB32+WITHOUT_TOOLCHAIN: Fix build by staging includes.Bryan Drewery2016-03-311-1/+2
| | | | | | | | | This is the same fix as r297281 for the normal build. Sponsored by: EMC / Isilon Storage Division Notes: svn path=/head/; revision=297462
* Remove the old depend (mkdep) code and make FAST_DEPEND the one true way.Bryan Drewery2016-03-301-1/+1
| | | | | | | | | | Reviewed by: emaste, hselasky (partial), brooks (brief) Discussed on: arch@ Sponsored by: EMC / Isilon Storage Division Differential Revision: https://reviews.freebsd.org/D5742 Notes: svn path=/head/; revision=297434
* Fix libcompat not handling some external toolchain flags.Bryan Drewery2016-03-251-3/+11
| | | | | | | | | | - Use libc++ with GCC. - Use CROSS_BINUTILS_PREFIX with -B (r280980 addressed this mostly already) Sponsored by: EMC / Isilon Storage Division Notes: svn path=/head/; revision=297272
* Build libcompat (lib32) with a --sysroot pointing into its stage directory.Bryan Drewery2016-03-251-9/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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 Notes: svn path=/head/; revision=297270
* LIBRARIES_ONLY should only be defined during install32.Bryan Drewery2016-03-251-2/+2
| | | | | | | | | | | | | 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 Notes: svn path=/head/; revision=297269
* Explicit 'make obj' for library dirs in build32 is not needed.Bryan Drewery2016-03-241-3/+0
| | | | | | | | | | | 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 Notes: svn path=/head/; revision=297248
* Use the newly minted Makefile.libcompat to implement libsoft librariesWarner Losh2016-03-121-1/+10
| | | | | | | | | | | 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. Notes: svn path=/head/; revision=296779
* Follow-up r296709: Fix build32 not properly building all libraries.Bryan Drewery2016-03-121-3/+3
| | | | | | | | Pointyhat to: bdrewery Reported by: antoine Notes: svn path=/head/; revision=296737
* Move Makefile.lib32 to Makefile.libcompat and generalize it.Bryan Drewery2016-03-111-0/+152
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 Notes: svn path=/head/; revision=296709