Merged revisions 72898 via svnmerge from

svn+ssh://pythondev@svn.python.org/python/trunk

........
  r72898 | antoine.pitrou | 2009-05-24 22:23:57 +0200 (dim., 24 mai 2009) | 6 lines

  Issue #3585: Add pkg-config support.

  It creates a python-2.7.pc file and a python.pc symlink in the
  $(LIBDIR)/pkgconfig directory. Patch by Clinton Roy.
........
This commit is contained in:
Antoine Pitrou 2009-05-24 20:39:11 +00:00
parent 70ccd167de
commit 2032722e51
7 changed files with 7097 additions and 6183 deletions

View File

@ -812,6 +812,8 @@ bininstall: altbininstall
(cd $(DESTDIR)$(BINDIR); $(LN) python$(VERSION)$(EXE) $(PYTHON)3$(EXE)) (cd $(DESTDIR)$(BINDIR); $(LN) python$(VERSION)$(EXE) $(PYTHON)3$(EXE))
-rm -f $(DESTDIR)$(BINDIR)/python3-config -rm -f $(DESTDIR)$(BINDIR)/python3-config
(cd $(DESTDIR)$(BINDIR); $(LN) -s python$(VERSION)-config python3-config) (cd $(DESTDIR)$(BINDIR); $(LN) -s python$(VERSION)-config python3-config)
-rm -f $(DESTDIR)$(LIBPC)/python3.pc
(cd $(DESTDIR)$(LIBPC); $(LN) -s python-$(VERSION).pc python3.pc)
# Install the manual page # Install the manual page
maninstall: maninstall:
@ -956,8 +958,12 @@ inclinstall:
# Install the library and miscellaneous stuff needed for extending/embedding # Install the library and miscellaneous stuff needed for extending/embedding
# This goes into $(exec_prefix) # This goes into $(exec_prefix)
LIBPL= $(LIBP)/config LIBPL= $(LIBP)/config
# pkgconfig directory
LIBPC= $(LIBDIR)/pkgconfig
libainstall: all libainstall: all
@for i in $(LIBDIR) $(LIBP) $(LIBPL); \ @for i in $(LIBDIR) $(LIBP) $(LIBPL) $(LIBPC); \
do \ do \
if test ! -d $(DESTDIR)$$i; then \ if test ! -d $(DESTDIR)$$i; then \
echo "Creating directory $$i"; \ echo "Creating directory $$i"; \
@ -984,6 +990,7 @@ libainstall: all
$(INSTALL_DATA) Modules/Setup $(DESTDIR)$(LIBPL)/Setup $(INSTALL_DATA) Modules/Setup $(DESTDIR)$(LIBPL)/Setup
$(INSTALL_DATA) Modules/Setup.local $(DESTDIR)$(LIBPL)/Setup.local $(INSTALL_DATA) Modules/Setup.local $(DESTDIR)$(LIBPL)/Setup.local
$(INSTALL_DATA) Modules/Setup.config $(DESTDIR)$(LIBPL)/Setup.config $(INSTALL_DATA) Modules/Setup.config $(DESTDIR)$(LIBPL)/Setup.config
$(INSTALL_DATA) Misc/python.pc $(DESTDIR)$(LIBPC)/python-$(VERSION).pc
$(INSTALL_SCRIPT) $(srcdir)/Modules/makesetup $(DESTDIR)$(LIBPL)/makesetup $(INSTALL_SCRIPT) $(srcdir)/Modules/makesetup $(DESTDIR)$(LIBPL)/makesetup
$(INSTALL_SCRIPT) $(srcdir)/install-sh $(DESTDIR)$(LIBPL)/install-sh $(INSTALL_SCRIPT) $(srcdir)/install-sh $(DESTDIR)$(LIBPL)/install-sh
# Substitution happens here, as the completely-expanded BINDIR # Substitution happens here, as the completely-expanded BINDIR

View File

@ -622,6 +622,7 @@ Saskia van Rossum
Donald Wallace Rouse II Donald Wallace Rouse II
Liam Routt Liam Routt
Craig Rowland Craig Rowland
Clinton Roy
Paul Rubin Paul Rubin
Sam Ruby Sam Ruby
Audun S. Runde Audun S. Runde

View File

@ -87,6 +87,13 @@ Extension Modules
- The _functools and _locale modules are now built into the libpython shared - The _functools and _locale modules are now built into the libpython shared
library instead of as extension modules. library instead of as extension modules.
Build
-----
- Issue #3585: Add pkg-config support. It creates a python-2.7.pc file
and a python3.pc symlink in the $(LIBDIR)/pkgconfig directory. Patch by
Clinton Roy.
Tests Tests
----- -----

13
Misc/python.pc.in Normal file
View File

@ -0,0 +1,13 @@
prefix=@prefix@
exec_prefix=@exec_prefix@
libdir=@libdir@
includedir=@includedir@
Name: Python
Description: Python library
Requires:
Version: @VERSION@
Libs.private: @LIBS@
Libs: -L${libdir} -lpython@VERSION@
Cflags: -I${includedir}/python@VERSION@

13188
configure vendored

File diff suppressed because it is too large Load Diff

View File

@ -3897,7 +3897,7 @@ done
AC_MSG_RESULT(done) AC_MSG_RESULT(done)
# generate output files # generate output files
AC_CONFIG_FILES(Makefile.pre Modules/Setup.config) AC_CONFIG_FILES(Makefile.pre Modules/Setup.config Misc/python.pc)
AC_OUTPUT AC_OUTPUT
echo "creating Modules/Setup" echo "creating Modules/Setup"

View File

@ -5,6 +5,9 @@
#define Py_PYCONFIG_H #define Py_PYCONFIG_H
/* Define if building universal (internal helper macro) */
#undef AC_APPLE_UNIVERSAL_BUILD
/* Define for AIX if your compiler is a genuine IBM xlC/xlC_r and you want /* Define for AIX if your compiler is a genuine IBM xlC/xlC_r and you want
support for AIX C++ shared extension modules. */ support for AIX C++ shared extension modules. */
#undef AIX_GENUINE_CPLUSPLUS #undef AIX_GENUINE_CPLUSPLUS
@ -992,6 +995,28 @@
/* Define if you want to use computed gotos in ceval.c. */ /* Define if you want to use computed gotos in ceval.c. */
#undef USE_COMPUTED_GOTOS #undef USE_COMPUTED_GOTOS
/* Enable extensions on AIX 3, Interix. */
#ifndef _ALL_SOURCE
# undef _ALL_SOURCE
#endif
/* Enable GNU extensions on systems that have them. */
#ifndef _GNU_SOURCE
# undef _GNU_SOURCE
#endif
/* Enable threading extensions on Solaris. */
#ifndef _POSIX_PTHREAD_SEMANTICS
# undef _POSIX_PTHREAD_SEMANTICS
#endif
/* Enable extensions on HP NonStop. */
#ifndef _TANDEM_SOURCE
# undef _TANDEM_SOURCE
#endif
/* Enable general extensions on Solaris. */
#ifndef __EXTENSIONS__
# undef __EXTENSIONS__
#endif
/* Define if a va_list is an array of some kind */ /* Define if a va_list is an array of some kind */
#undef VA_LIST_IS_ARRAY #undef VA_LIST_IS_ARRAY
@ -1029,20 +1054,21 @@
/* Define to profile with the Pentium timestamp counter */ /* Define to profile with the Pentium timestamp counter */
#undef WITH_TSC #undef WITH_TSC
/* Define to 1 if your processor stores words with the most significant byte /* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most
first (like Motorola and SPARC, unlike Intel and VAX). */ significant byte first (like Motorola and SPARC, unlike Intel). */
#undef WORDS_BIGENDIAN #if defined AC_APPLE_UNIVERSAL_BUILD
# if defined __BIG_ENDIAN__
# define WORDS_BIGENDIAN 1
# endif
#else
# ifndef WORDS_BIGENDIAN
# undef WORDS_BIGENDIAN
# endif
#endif
/* Define if arithmetic is subject to x87-style double rounding issue */ /* Define if arithmetic is subject to x87-style double rounding issue */
#undef X87_DOUBLE_ROUNDING #undef X87_DOUBLE_ROUNDING
/* Define to 1 if on AIX 3.
System headers sometimes define this.
We just want to avoid a redefinition error message. */
#ifndef _ALL_SOURCE
# undef _ALL_SOURCE
#endif
/* Define on OpenBSD to activate all library features */ /* Define on OpenBSD to activate all library features */
#undef _BSD_SOURCE #undef _BSD_SOURCE
@ -1061,15 +1087,25 @@
/* This must be defined on some systems to enable large file support. */ /* This must be defined on some systems to enable large file support. */
#undef _LARGEFILE_SOURCE #undef _LARGEFILE_SOURCE
/* Define to 1 if on MINIX. */
#undef _MINIX
/* Define on NetBSD to activate all library features */ /* Define on NetBSD to activate all library features */
#undef _NETBSD_SOURCE #undef _NETBSD_SOURCE
/* Define _OSF_SOURCE to get the makedev macro. */ /* Define _OSF_SOURCE to get the makedev macro. */
#undef _OSF_SOURCE #undef _OSF_SOURCE
/* Define to 2 if the system does not provide POSIX.1 features except with
this defined. */
#undef _POSIX_1_SOURCE
/* Define to activate features from IEEE Stds 1003.1-2001 */ /* Define to activate features from IEEE Stds 1003.1-2001 */
#undef _POSIX_C_SOURCE #undef _POSIX_C_SOURCE
/* Define to 1 if you need to in order for `stat' and other things to work. */
#undef _POSIX_SOURCE
/* Define if you have POSIX threads, and your system does not define that. */ /* Define if you have POSIX threads, and your system does not define that. */
#undef _POSIX_THREADS #undef _POSIX_THREADS
@ -1077,12 +1113,12 @@
#undef _REENTRANT #undef _REENTRANT
/* Define for Solaris 2.5.1 so the uint32_t typedef from <sys/synch.h>, /* Define for Solaris 2.5.1 so the uint32_t typedef from <sys/synch.h>,
<pthread.h>, or <semaphore.h> is not used. If the typedef was allowed, the <pthread.h>, or <semaphore.h> is not used. If the typedef were allowed, the
#define below would cause a syntax error. */ #define below would cause a syntax error. */
#undef _UINT32_T #undef _UINT32_T
/* Define for Solaris 2.5.1 so the uint64_t typedef from <sys/synch.h>, /* Define for Solaris 2.5.1 so the uint64_t typedef from <sys/synch.h>,
<pthread.h>, or <semaphore.h> is not used. If the typedef was allowed, the <pthread.h>, or <semaphore.h> is not used. If the typedef were allowed, the
#define below would cause a syntax error. */ #define below would cause a syntax error. */
#undef _UINT64_T #undef _UINT64_T