Lines Matching refs:library
31 visible library interfaces. It describes various kinds of actions that
34 you must do as a shared library developer if you:
36 1. Make interface additions to an existing library
39 2. Update an interface in an existing library
43 - move an interface from one library to another
45 existing library
46 3. Introduce a new library
50 4. Make an entire library obsolete before end-of-life
75 There should be a "mapfile-vers" file associated with every shared library
76 and it should reside in the common source directory for that library, most
77 often in a "common" directory. This is the usual layout of a library's
83 for the library:
135 the library containing the set of symbols exposed by the library to
139 library must always describe the same interface such that applications may
146 ILLUMOS_0.3 of a given library must contain all the interfaces in
150 exposed symbols within a library, and may change at any time (and without
162 The SUNW_*.* names were the Public version names of the library in Solaris.
184 clients of the library. If there is no private version, these two lines should
205 Conditional input can be used if there are ISA-specific library interfaces
206 not common to all instances of the library. It is the preferred method for
235 4.0 Making interface additions to an existing library
249 version of the library.
252 is added to a library. Once a version comes to exist in illumos, it is from
257 Private interfaces are the non-ABI interfaces of the library. Unlike
262 the library, the private version must be created (with no major.minor
266 If the library already has Private interfaces in a SUNWprivate version, you
272 errors) when running an application with older versions of the library.
280 command. When making a modification to the interface of such a library, you
362 5.0 How to update an interface in an existing library
371 To move an interface from one library to (say) libc, the code has to be
372 deleted from the library and added to libc, then the mapfile for the
373 library has to have the interface's entry changed from:
384 When merging an entire library into libc, the mapfile is changed to specify
390 But rather than specifying the library on which we filter for each symbol,
401 Do not forget to delete these Public or Private interfaces from the library's
428 outside the library. To move an interface from Private to local scope, simply
431 interface into a library-private header file. Scope reduction of Public
434 For the interface to be used in more than one file within the library, it
435 should be in a header file that can be included by each file in the library
441 library
446 another library. Instead, use ILLUMOS_0.1 for a new library, and ILLUMOS_m.n for
447 an existing library (where m.n is the next version; i.e., if the
453 6.0 Introducing a new library
457 The normal discipline for introducing a new library in illumos is to create a
459 create a common/mapfile-vers file for the new library. If we were introducing
460 a new foo library, libfoo, we'd create usr/src/lib/libfoo containing:
502 7.0 Make an entire library obsolete
507 library as obsolete. The existing public/private version names are left
509 This becomes a tag by which the obsolescence of the library can be recognized.