Project

General

Profile

Actions

Feature #14922

open

Do not create exceptions when ADJUNCT_PROTO is set

Added by Robert Mustacchi 4 months ago.

Status:
New
Priority:
Normal
Category:
tools - gate/build tools
Start date:
Due date:
% Done:

0%

Estimated time:
Difficulty:
Medium
Tags:
Gerrit CR:
External Bug:

Description

In illumos, we have two concepts:

  1. The ADJUNCT_PROTO which is used to specify where external libraries that are required for target software is.
  2. The NATIVE_ADJUCNT which is used to specify where to also look for software that is required for build-time tooling on the build host.

When a Makefile specifies that there are libraries external to the gate it uses the NATIVE_LIBS variable. Right now this is used both for native and non-native targets. When there is no ADJUNCT_PROTO, e.g. we're relying on the normal software on the build host in /usr for the target system then we need exceptions to the general -zassert-deflib policy that we have for such libraries. However, if we do have one, then we do should not gag these libraries and require that everything comes from the adjuncts.

This ticket covers a few different general issues:

  • Makefiles should generally not assume there is a single one of these protos. In the case of NATIVE_ADJUNCT this is meant to be used in addition to /usr. This means downstream Makefiles need to use rules that don't assume this and use % rules. In general, we need to make the individual Makefiles do less work when building a native target.
  • Because of the above, the build will fail if you set a NATIVE_ADJUNCT because it will no longer search /usr, which is still assumed in all these cases. The reason this doesn't fail on say SmartOS, is because of local changes to tools and others to search those additional locations.
  • Where needed splitting up the concept of "native libs"
  • When an adjunct proto is present, removing the -zassert-deflib gags in general
  • Improving documentation in nightly environment files and related (such as the illumos developer's guide) to make it clearer how these things work and are designed to

This also will make it easier to cleanly facilitate cross-building and while necessary is not sufficient.


Related issues

Related to illumos gate - Bug #14923: svccfg native build confused adjunctsClosedRobert Mustacchi

Actions
Actions #1

Updated by Robert Mustacchi 4 months ago

  • Related to Bug #14923: svccfg native build confused adjuncts added
Actions

Also available in: Atom PDF