MPS issue job002171

TitleMPS: obsolete mpsdy.dll and mpslibcb mechanism is still present in builds and source
Statusclosed
Priorityessential
Assigned userRichard Kistruck
OrganizationRavenbrook
DescriptionMPS: obsolete mpsdy.dll and mpslibcb mechanism is still present in builds and source

Related jobs:
  job002148: "mps_lib_callback_register breaks .def file for re-exporting MPS functions"

 The mpsdy.dll and mpslibcb mechanism is obsolete and should be removed. It is an unnecessary source of complexity and confusion.

RHSK 2009-09-25
The two current ways of making MPS functions available for DLLs to dynamically bind to are:
  1. client host code, at least providing the mps_lib_* plinth functions, statically links MPS functions, and re-exports them (eg. specifying "/def:w3gen.def" to Windows linker);
  2. use mpsdy.dll, which contains only MPS code, and uses mpslibcb's mps_lib_callback_register to receive plinth callbacks.

Method 1 is recommended.

Method 2 is not recommended, is untested, and is expected to have performance issues (slow cross-DLL calls to library functions such as memcpy). Method 2 should be retired, and the dll and mpslibcb mechanism that support it should be removed.
How foundunknown
Observed in1.108.2
Introduced in1.108.2
Created byRichard Kistruck
Created on2009-09-25 15:44:52
Last modified byRichard Brooksby
Last modified on2012-09-21 20:46:54
History2009-09-25 RHSK Created as followup to job002148.

Fixes

Change Effect Date User Description
179279 closed 2012-09-05 18:44:44 Richard Brooksby Merging branch/2012-08-15/variety-reform.