On 25.07.2020 18:57, Rony G. Flatscher wrote: > > The library names of the Unix (Linux and Mac) versions of ooRexx added links > to support earlier > ooRexx versions in the form > > * Linux > o "lib" name ".so.${ORX_MAJOR}", e.g. > + librexx.so -> librexx.so.3 > librexx.so -> librexx.so.4 > .... > + librexxapi.so -> librexxapi.so.3 > librexxapi.so -> librexxapi.so.4 > ... > > * MacOS > o "lib" name ".${ORX_MAJOR}.dylib", e.g. > + librexx.dylib -> librexx.3.dylib > librexx.dylib -> librexx.4.dylib > ... > + librexxapi.dylib -> librexxapi.3.dylib > librexxapi.dylib -> librexxapi.4.dylib > ... > > The version number in the current ooRexx 5.0 beta on Unix (Linux, MacOS) use > in addition to > ${ORX_MAJOR} the subnumbers ${ORX_MINOR}.${ORX_MOD_LVL, thereby unnecessarily > breaking the naming > system, e.g.: > > * Linux > o "lib" name ".so.${ORX_MAJOR}", e.g. > + librexx.so -> librexx.so.3 > librexx.so -> librexx.so.4 > librexx.so -> librexx.so.5.0.0 > .... > + librexxapi.so -> librexxapi.so.3 > librexxapi.so -> librexxapi.so.4 > librexxapi.so -> librexxapi.so.5.0.0 > ... > > * MacOS > o "lib" name ".${ORX_MAJOR}.dylib", e.g. > + librexx.dylib -> librexx.3.dylib > librexx.dylib -> librexx.4.dylib > librexx.dylib -> librexx.5.0.0.dylib > ... > + librexxapi.dylib -> librexxapi.3.dylib > librexxapi.dylib -> librexxapi.4.dylib > librexxapi.dylib -> librexxapi.5.0.0.dylib > ... > > Suggesting to changing the versioned library names of ooRexx 5 to match the > established convention > (using only ${ORX_MAJOR}). > > Are there any objections to such a change? > > --- > > If not, where does "CMAKE_SHARED_LIBRARY_PREFIX" get set (which gets used for > setting > "ORX_SHARED_LIBRARY_EXT")? > It seems that the above two variables play no role in the version string for the link file names. Rather the usage of "set_target_properties(libname PROPERTIES VERSION ${ORX_VERSION})" for each "libname" defines the version string to use [1]. So probably using "${ORX_MAJOR}" instead of "${ORX_VERSION}" would make the version string in the link names to consist of "5" only.
---rony [1] Search for "VERSION" in: <https://cmake.org/cmake/help/v3.0/command/set_target_properties.html> to yield: "... For shared libraries VERSION and SOVERSION can be used to specify the build version and API version respectively. When building or installing appropriate symlinks are created if the platform supports symlinks and the linker supports so-names. If only one of both is specified the missing is assumed to have the same version number. For executables VERSION can be used to specify the build version. When building or installing appropriate symlinks are created if the platform supports symlinks. For shared libraries and executables on Windows the VERSION attribute is parsed to extract a “major.minor” version number. These numbers are used as the image version of the binary. ...".
_______________________________________________ Oorexx-devel mailing list Oorexx-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/oorexx-devel