diff options
| -rw-r--r-- | src/config/ChangeLog | 7 | ||||
| -rw-r--r-- | src/config/shlib.conf | 27 |
2 files changed, 34 insertions, 0 deletions
diff --git a/src/config/ChangeLog b/src/config/ChangeLog index 139c9665a0..7d15d0b504 100644 --- a/src/config/ChangeLog +++ b/src/config/ChangeLog @@ -1,3 +1,10 @@ +2005-09-01 Marc Aurele La France <tsi@ualberta.ca> + + * shlib.conf (case *-*-aix5.3*): Generate proper shared libraries + acceptable to dlopen(3) (as in mechglue, for example). Allows for + building both shared and static libraries in one run. Only done for + AIX 5.3, but probably should be done for earlier versions. + 2005-08-20 Ken Raeburn <raeburn@mit.edu> * post.in (configure): Depend on patchlevel.h. diff --git a/src/config/shlib.conf b/src/config/shlib.conf index 9d2ed00fbc..d0028e2a27 100644 --- a/src/config/shlib.conf +++ b/src/config/shlib.conf @@ -360,6 +360,33 @@ mips-*-netbsd*) ;; +*-*-aix5.3*) + SHLIBVEXT='.so.$(LIBMAJOR).$(LIBMINOR)' + SHLIBEXT=.so + # AIX doesn't need separate PIC objects + SHOBJEXT=.o + SHLIB_EXPFLAGS=' $(SHLIB_DIRS) $(SHLIB_EXPLIBS)' + PROFFLAGS=-pg + if test "$krb5_cv_prog_gcc" = "yes" ; then + wl_prefix=-Wl, + RPATH_FLAG='-Wl,-blibpath:' + LDCOMBINE='$(CC) -shared -v -o $@ $$objlist -nostartfiles -Xlinker -bgcbypass:1 -Xlinker -bfilelist -Xlinker -bM:SRE -Xlinker -bE:$(SHLIB_EXPORT_FILE) -Xlinker -bernotok -Xlinker -brtl $(SHLIB_EXPFLAGS) -lc $$initfini' + else + wl_prefix= + RPATH_FLAG=-blibpath: + LDCOMBINE='/bin/ld -o $@ $$objlist -H512 -T512 -bnoentry -bgcbypass:1 -bnodelcsect -bfilelist -bM:SRE -bE:$(SHLIB_EXPORT_FILE) -bernotok -brtl $(SHLIB_EXPFLAGS) -lc $$initfini' + fi + # Assume initialization always delayed. + INIT_FINI_PREP="wl=${wl_prefix}; "'i=1; initfini=; for f in . $(LIBFINIFUNC); do if test $$f != .; then initfini="$$initfini $${wl}-binitfini::$$f:$$i"; else :; fi; i=`expr $$i + 1`; done' + use_linker_fini_option=yes + MAKE_SHLIB_COMMAND="${INIT_FINI_PREP} && ${LDCOMBINE}" + RPATH_TAIL=:/usr/lib:/lib + CC_LINK_SHARED='$(CC) $(PROG_LIBPATH) $(RPATH_FLAG)$(PROG_RPATH):'"$RPATH_TAIL"' $(CFLAGS) $(LDFLAGS)' + CC_LINK_STATIC='$(CC) $(PROG_LIBPATH) $(CFLAGS) $(LDFLAGS)' + # $(PROG_RPATH) is here to handle things like a shared tcl library + RUN_ENV='LIBPATH=`echo $(PROG_LIBPATH) | sed -e "s/-L//g" -e "s/ /:/g"`:$(PROG_RPATH):/usr/lib:/usr/local/lib; export LIBPATH; ' + ;; + *-*-aix*) SHLIBVEXT='.a.$(LIBMAJOR).$(LIBMINOR)' SHLIBEXT=.a |
