diff options
-rw-r--r-- | Makefile.pre.in | 10 | ||||
-rw-r--r-- | Misc/NEWS | 2 | ||||
-rw-r--r-- | Misc/python-config.in | 55 |
3 files changed, 37 insertions, 30 deletions
diff --git a/Makefile.pre.in b/Makefile.pre.in index 8eab038..0bfaa8f 100644 --- a/Makefile.pre.in +++ b/Makefile.pre.in @@ -941,6 +941,11 @@ $(srcdir)/Lib/$(PLATDIR): export EXE; EXE="$(BUILDEXE)"; \ cd $(srcdir)/Lib/$(PLATDIR); $(RUNSHARED) ./regen +python-config: $(srcdir)/Misc/python-config.in + # Substitution happens here, as the completely-expanded BINDIR + # is not available in configure + sed -e "s,@EXENAME@,$(BINDIR)/python$(VERSION)$(EXE)," < $(srcdir)/Misc/python-config.in >python-config + # Install the include files INCLDIRSTOMAKE=$(INCLUDEDIR) $(CONFINCLUDEDIR) $(INCLUDEPY) $(CONFINCLUDEPY) inclinstall: @@ -966,7 +971,7 @@ LIBPL= $(LIBP)/config # pkgconfig directory LIBPC= $(LIBDIR)/pkgconfig -libainstall: all +libainstall: all python-config @for i in $(LIBDIR) $(LIBP) $(LIBPL) $(LIBPC); \ do \ if test ! -d $(DESTDIR)$$i; then \ @@ -997,9 +1002,6 @@ libainstall: all $(INSTALL_DATA) Misc/python.pc $(DESTDIR)$(LIBPC)/python-$(VERSION).pc $(INSTALL_SCRIPT) $(srcdir)/Modules/makesetup $(DESTDIR)$(LIBPL)/makesetup $(INSTALL_SCRIPT) $(srcdir)/install-sh $(DESTDIR)$(LIBPL)/install-sh - # Substitution happens here, as the completely-expanded BINDIR - # is not available in configure - sed -e "s,@EXENAME@,$(BINDIR)/python$(VERSION)$(EXE)," < $(srcdir)/Misc/python-config.in >python-config $(INSTALL_SCRIPT) python-config $(DESTDIR)$(BINDIR)/python$(VERSION)-config rm python-config @if [ -s Modules/python.exp -a \ @@ -889,6 +889,8 @@ Build - Issue #7541: when using ``python-config`` with a framework install the compiler might use the wrong library. +- python-config now supports multiple options on the same command line. + Documentation ------------ diff --git a/Misc/python-config.in b/Misc/python-config.in index 47ea669..c03b4fa 100644 --- a/Misc/python-config.in +++ b/Misc/python-config.in @@ -21,33 +21,36 @@ except getopt.error: if not opts: exit_with_usage() -opt = opts[0][0] - pyver = sysconfig.get_config_var('VERSION') getvar = sysconfig.get_config_var -if opt == '--help': - exit_with_usage(0) - -elif opt == '--prefix': - print(sysconfig.PREFIX) - -elif opt == '--exec-prefix': - print(sysconfig.EXEC_PREFIX) - -elif opt in ('--includes', '--cflags'): - flags = ['-I' + sysconfig.get_python_inc(), - '-I' + sysconfig.get_python_inc(plat_specific=True)] - if opt == '--cflags': - flags.extend(getvar('CFLAGS').split()) - print(' '.join(flags)) - -elif opt in ('--libs', '--ldflags'): - libs = getvar('LIBS').split() + getvar('SYSLIBS').split() - libs.append('-lpython'+pyver) - # add the prefix/lib/pythonX.Y/config dir, but only if there is no - # shared library in prefix/lib/. - if opt == '--ldflags' and not getvar('Py_ENABLE_SHARED'): - libs.insert(0, '-L' + getvar('LIBPL')) - print(' '.join(libs)) +opt_flags = [flag for (flag, val) in opts] + +if '--help' in opt_flags: + exit_with_usage(code=0) + +for opt in opt_flags: + if opt == '--prefix': + print(sysconfig.PREFIX) + + elif opt == '--exec-prefix': + print(sysconfig.EXEC_PREFIX) + + elif opt in ('--includes', '--cflags'): + flags = ['-I' + sysconfig.get_python_inc(), + '-I' + sysconfig.get_python_inc(plat_specific=True)] + if opt == '--cflags': + flags.extend(getvar('CFLAGS').split()) + print(' '.join(flags)) + + elif opt in ('--libs', '--ldflags'): + libs = getvar('LIBS').split() + getvar('SYSLIBS').split() + libs.append('-lpython'+pyver) + # add the prefix/lib/pythonX.Y/config dir, but only if there is no + # shared library in prefix/lib/. + if opt == '--ldflags': + if not getvar('Py_ENABLE_SHARED'): + libs.insert(0, '-L' + getvar('LIBPL')) + libs.extend(getvar('LINKFORSHARED').split()) + print(' '.join(libs)) |