diff options
| author | Sam Hartman <hartmans@mit.edu> | 1995-06-23 00:59:54 +0000 |
|---|---|---|
| committer | Sam Hartman <hartmans@mit.edu> | 1995-06-23 00:59:54 +0000 |
| commit | 6cd88aa348286b0535b95b84f54beb95abd29a92 (patch) | |
| tree | d631441a2fd3127093ba06aff89f4cd7acb60d49 /src/util/makeshlib | |
| parent | d84d59a45a9203ba179a213f5d2281be4da07b00 (diff) | |
Changes to support AIX shared libraries. The interactions
between configure.in and Makefile.in change significantly for shared
libraries: the static library target is no longer specified in the
Makefile, although a rule to make the static library is specified.
Also, none of the libraries have any more unresolved symbols. As
discussed, libcom_err.a is made shared and symlinks are created in
lib.
These changes sort of work, although I suspect cleanup is
necessary. I don't think it breaks too much on other platforms.
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@6126 dc483132-0cff-0310-8789-dd5450dbe970
Diffstat (limited to 'src/util/makeshlib')
| -rw-r--r-- | src/util/makeshlib | 26 |
1 files changed, 25 insertions, 1 deletions
diff --git a/src/util/makeshlib b/src/util/makeshlib index 71eba9a29..8f6f7dc42 100644 --- a/src/util/makeshlib +++ b/src/util/makeshlib @@ -19,11 +19,35 @@ case $host in do sed -e "s;^;$i/shared/;" -e "s; ; $i/shared/;g" $i/DONE done` - + echo $CC -G $ldflags -o $library $FILES $libdirfl $liblist $CC -G $ldflags -o $library $FILES $libdirfl $liblist stat=$? ;; +*-*-aix*) + FILES=`for i + do + sed -e "s;^;$i/;" -e "s; ; $i/;g" $i/DONE + done` + +ar cq $library $FILES || exit $? + dump -g $library | sed -e 's/^[ ]*[0-9][0-9]*[ ]*\([^ .][^ ]*\)$/\1/p;d' | sort | uniq > ${library}.syms + stat=$? + if [ $stat -eq 0 ] + then + ld -o shr.o $library -H512 -T512 -bM:SRE -lc $ldflags -bfilelist -bgcbypass:1 -bnodelcsect -x -bE:${library}.syms $libdirfl $liblist + stat=$? + if [ $stat -eq 0 ] + then + rm $library ${library}.syms + ar cq $library shr.o + stat=$? + rm shr.o + else + rm -f $library +fi + fi +;; alpha-*-osf*) FILES=`for i do |
