diff -r 4b1b4a4afd6a -r c86381d2c50f Lib/distutils/sysconfig.py --- a/Lib/distutils/sysconfig.py Thu May 07 03:43:57 2009 +0200 +++ b/Lib/distutils/sysconfig.py Thu May 07 19:57:04 2009 +0900 @@ -165,9 +165,9 @@ varies across Unices and is stored in Python's Makefile. """ if compiler.compiler_type == "unix": - (cc, cxx, opt, cflags, ccshared, ldshared, so_ext, ar) = \ + (cc, cxx, opt, cflags, ccshared, ldshared, so_ext, ar, ar_flags) = \ get_config_vars('CC', 'CXX', 'OPT', 'CFLAGS', - 'CCSHARED', 'LDSHARED', 'SO', 'AR') + 'CCSHARED', 'LDSHARED', 'SO', 'AR', 'ARFLAGS') if 'CC' in os.environ: cc = os.environ['CC'] @@ -190,6 +190,10 @@ ldshared = ldshared + ' ' + os.environ['CPPFLAGS'] if 'AR' in os.environ: ar = os.environ['AR'] + if 'ARFLAGS' in os.environ: + archiver = ar + ' ' + os.environ['ARFLAGS'] + else: + archiver = ar + ' ' + ar_flags cc_cmd = cc + ' ' + cflags compiler.set_executables( @@ -199,7 +203,7 @@ compiler_cxx=cxx, linker_so=ldshared, linker_exe=cc, - archiver=ar) + archiver=archiver) compiler.shared_lib_extension = so_ext diff -r 4b1b4a4afd6a -r c86381d2c50f Makefile.pre.in --- a/Makefile.pre.in Thu May 07 03:43:57 2009 +0200 +++ b/Makefile.pre.in Thu May 07 19:57:04 2009 +0900 @@ -67,6 +67,7 @@ SGI_ABI= @SGI_ABI@ CCSHARED= @CCSHARED@ LINKFORSHARED= @LINKFORSHARED@ +ARFLAGS= @ARFLAGS@ # Extra C flags added for building the interpreter object files. CFLAGSFORSHARED=@CFLAGSFORSHARED@ # C flags used for building the interpreter object files @@ -403,12 +404,12 @@ # avoid long command lines, same as LIBRARY_OBJS $(LIBRARY): $(LIBRARY_OBJS) -rm -f $@ - $(AR) cr $@ Modules/getbuildinfo.o - $(AR) cr $@ $(PARSER_OBJS) - $(AR) cr $@ $(OBJECT_OBJS) - $(AR) cr $@ $(PYTHON_OBJS) - $(AR) cr $@ $(MODULE_OBJS) $(SIGNAL_OBJS) - $(AR) cr $@ $(MODOBJS) + $(AR) $(ARFLAGS) $@ Modules/getbuildinfo.o + $(AR) $(ARFLAGS) $@ $(PARSER_OBJS) + $(AR) $(ARFLAGS) $@ $(OBJECT_OBJS) + $(AR) $(ARFLAGS) $@ $(PYTHON_OBJS) + $(AR) $(ARFLAGS) $@ $(MODULE_OBJS) $(SIGNAL_OBJS) + $(AR) $(ARFLAGS) $@ $(MODOBJS) $(RANLIB) $@ libpython$(VERSION).so: $(LIBRARY_OBJS) diff -r 4b1b4a4afd6a -r c86381d2c50f configure.in --- a/configure.in Thu May 07 03:43:57 2009 +0200 +++ b/configure.in Thu May 07 19:57:04 2009 +0900 @@ -769,6 +769,13 @@ AC_PROG_RANLIB AC_SUBST(AR) AC_CHECK_PROGS(AR, ar aal, ar) + +# tweak ARFLAGS only if the user didn't set it on the command line +AC_SUBST(ARFLAGS) +if test -z "$ARFLAGS" +then + ARFLAGS="rc" +fi AC_SUBST(SVNVERSION) AC_CHECK_PROG(SVNVERSION, svnversion, found, not-found)