diff options
Diffstat (limited to 'configure.in')
-rw-r--r-- | configure.in | 30 |
1 files changed, 17 insertions, 13 deletions
diff --git a/configure.in b/configure.in index 02c33e2c81..0feaa29ab8 100644 --- a/configure.in +++ b/configure.in @@ -973,16 +973,20 @@ if test "$with_dln_a_out" != yes; then : ${LDFLAGS=""} : ${LIBPATHENV=DYLD_LIBRARY_PATH} rb_cv_dlopen=yes ;; - aix*) : ${LDSHARED='/usr/ccs/bin/ld'} - XLDFLAGS="$XLDFLAGS -Wl,-bE:ruby.imp" - DLDFLAGS='-brtl -eInit_$(TARGET) -bI:$(topdir)/ruby.imp -bM:SRE -T512 -H512 '"$DLDFLAGS" - LDFLAGS="-brtl $LDFLAGS" - : ${ARCHFILE="ruby.imp"} - TRY_LINK='$(CC) $(LDFLAGS) -oconftest $(INCFLAGS) -I$(hdrdir) $(CPPFLAGS) $(CFLAGS)' - TRY_LINK="$TRY_LINK"' $(src) $(LIBPATH) $(LOCAL_LIBS) $(LIBS)' - : ${LIBPATHENV=SHLIB_PATH} - rb_cv_dlopen=yes ;; - + aix*) if test "$GCC" = yes; then + : ${LDSHARED='gcc -shared'} + DLDFLAGS='-Wl,-G -eInit_$(TARGET)' + LDFLAGS='-Wl,-brtl -Wl,-bE:ruby.imp' + else + : ${LDSHARED='/usr/ccs/bin/ld'} + DLDFLAGS='-G -eInit_$(TARGET)' + LDFLAGS="-brtl -bE:ruby.imp" + fi + : ${ARCHFILE="ruby.imp"} + TRY_LINK='$(CC) $(LDFLAGS) -oconftest $(INCFLAGS) -I$(hdrdir) $(CPPFLAGS)' + TRY_LINK="$TRY_LINK"' $(CFLAGS) $(src) $(LIBPATH) $(LOCAL_LIBS) $(LIBS)' + : ${LIBPATHENV=SHLIB_PATH} + rb_cv_dlopen=yes ;; human*) : ${DLDFLAGS=''} : ${LDSHARED=''} : ${LDFLAGS=''} @@ -1299,12 +1303,12 @@ if test "$enable_shared" = 'yes'; then aix*) if test "$GCC" = yes; then LIBRUBY_LDSHARED='$(CC) -shared' - LIBRUBY_DLDFLAGS='-Wl,-bE:ruby.imp' + LIBRUBY_DLDFLAGS='-Wl,-G -Wl,-bE:ruby.imp -Wl,-bnoentry' else LIBRUBY_LDSHARED='/usr/ccs/bin/ld' - LIBRUBY_DLDFLAGS='-bE:ruby.imp -bM:SRE -bnoentry' + LIBRUBY_DLDFLAGS='-G -bE:ruby.imp -bnoentry' fi - LIBRUBYARG_SHARED='-L${libdir} -Wl,lib$(RUBY_SO_NAME).so' + LIBRUBYARG_SHARED='-L${libdir} -lruby' SOLIBS='-lm -lc' ;; beos*) |