mirror of
git://git.savannah.gnu.org/libtool.git
synced 2025-01-12 14:06:37 +08:00
* ltmain.in (version_type): Implement irix versioning.
* ltconfig.in (irix{5,6}*): Use new irix shared object versioning. * TODO: remove irix versioning from TODO list.
This commit is contained in:
parent
918d2d10d7
commit
4d2a114a68
@ -1,5 +1,9 @@
|
||||
1999-02-18 Gary V. Vaughan <gvaughan@oranda.demon.co.uk>
|
||||
|
||||
* ltmain.in (version_type): Implement irix versioning.
|
||||
* ltconfig.in (irix{5,6}*): Use new irix shared object versioning.
|
||||
* TODO: remove irix versioning from TODO list.
|
||||
|
||||
* ltmain.in (impgen.c): Added a new embedded C file that can be
|
||||
used under win32 to extract a def file (symbol export list) from a
|
||||
dll that has none. Code to use it might need to wait for the ILD
|
||||
|
31
TODO
31
TODO
@ -1,37 +1,6 @@
|
||||
For next public release:
|
||||
************************
|
||||
|
||||
* Create a new library version_type, `irix'. Janos Farkas writes:
|
||||
|
||||
I just realized I also have mortal access to an SGI system, and found
|
||||
this in the dso.5 page, this looks more informative :)
|
||||
|
||||
Versioning of Shared Objects.
|
||||
|
||||
QUICK OVERVIEW
|
||||
|
||||
For a shared object to be versioned the following needs to be done:
|
||||
|
||||
* Version strings consist of 3 parts and a dot: The string "sgi",
|
||||
a decimal number (the major number), a dot, and a decimal number
|
||||
(the minor number).
|
||||
|
||||
* Add the command -set_version sgi1.0 to the command to build
|
||||
the shared object (cc -shared, ld -shared, etc.).
|
||||
|
||||
* Whenever you make a COMPATIBLE change update the minor version
|
||||
number (the one after the dot), and add the latest version string
|
||||
to colon-separated list of version strings, e.g., -set_version
|
||||
sgi1.0:sgi1.1:sgi1.3
|
||||
|
||||
* Whenever you make an INCOMPATIBLE change, update the
|
||||
major version number. Pass this as the version list, e.g.,
|
||||
-set_version sgi2.0. Change the filename of the OLD shared object
|
||||
by adding a dot followed by the previous major number to the filename
|
||||
of the shared object. DO NOT CHANGE the soname of the object.
|
||||
No change to the file contents are necessary or desirable. Simply
|
||||
rename the file.
|
||||
|
||||
* Inter-library dependencies should be fully tracked by libtool.
|
||||
Reminded by Alexandre Oliva. This requires looking up installed
|
||||
libtool libraries for transparent support.
|
||||
|
@ -1682,7 +1682,7 @@ hpux9* | hpux10* | hpux11*)
|
||||
;;
|
||||
|
||||
irix5*)
|
||||
version_type=osf
|
||||
version_type=irix
|
||||
soname_spec='${libname}${release}.so'
|
||||
library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so $libname.so'
|
||||
shlibpath_var=LD_LIBRARY_PATH
|
||||
@ -1691,7 +1691,7 @@ irix5*)
|
||||
;;
|
||||
|
||||
irix6*)
|
||||
version_type=osf
|
||||
version_type=irix
|
||||
need_lib_prefix=no
|
||||
need_version=no
|
||||
soname_spec='${libname}${release}.so'
|
||||
|
14
ltmain.in
14
ltmain.in
@ -1618,6 +1618,20 @@ compiler."
|
||||
case "$version_type" in
|
||||
none) ;;
|
||||
|
||||
irix)
|
||||
major=`expr $current - $age`
|
||||
versuffix="$major.$revision"
|
||||
verstring="sgi$major.$revision"
|
||||
|
||||
# Add in all the interfaces that we are compatible with.
|
||||
loop=$revision
|
||||
while test $loop != 0; do
|
||||
iface=`expr $revision - $loop`
|
||||
loop=`expr $loop - 1`
|
||||
verstring="sgi$major.$iface:$verstring"
|
||||
done
|
||||
;;
|
||||
|
||||
linux)
|
||||
major=.`expr $current - $age`
|
||||
versuffix="$major.$age.$revision"
|
||||
|
Loading…
Reference in New Issue
Block a user