Skip to content

Latest commit

 

History

History
12 lines (10 loc) · 900 Bytes

File metadata and controls

12 lines (10 loc) · 900 Bytes

M12. If a package imports software that is externally developed and maintained,8 then it must allow installing, building, and linking with an outside copy of that software. Acceptable ways to accomplish this include (1) forsaking the internal copied version and using an externally provided implementation or (2) changing the file names and namespaces of all global symbols to allow the internal copy and the external copy to coexist in the same downstream libraries and programs.


8 For example, some projects import source for some routines from BLAS and LAPACK. The Trilinos Teuchos package imported an early version of the boost::any class. Also, Trilinos has its own copy of an older version of SuiteSparse. In the latter two cases, new file names and namespaces were created for the imported software to allow coexistence with the (updated) external versions.