emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] trunk r117047: Use pkg-config's pkg.m4


From: Glenn Morris
Subject: [Emacs-diffs] trunk r117047: Use pkg-config's pkg.m4
Date: Fri, 02 May 2014 23:18:15 +0000
User-agent: Bazaar (2.6b2)

------------------------------------------------------------
revno: 117047
revision-id: address@hidden
parent: address@hidden
committer: Glenn Morris <address@hidden>
branch nick: trunk
timestamp: Fri 2014-05-02 19:18:11 -0400
message:
  Use pkg-config's pkg.m4
  
  * configure.ac: Use pkg-config's pkg.m4, rather than reinventing it.
  Add explicit AC_SUBST's where needed.
  
  * autogen.sh (progs): Add pkg-config.
  (pkg_config_min): New variable.
  
  * INSTALL.REPO: Mention pkg-config.
  
  * etc/PROBLEMS: Mention a related issue that can occur with a local automake.
modified:
  ChangeLog                      changelog-20091113204419-o5vbwnq5f7feedwu-1538
  INSTALL.REPO                   
install.cvs-20091113204419-o5vbwnq5f7feedwu-2953
  autogen.sh                     autogen.sh-20091113204419-o5vbwnq5f7feedwu-2495
  configure.ac                   
configure.in-20091113204419-o5vbwnq5f7feedwu-783
  etc/PROBLEMS                   problems-20091113204419-o5vbwnq5f7feedwu-1498
=== modified file 'ChangeLog'
--- a/ChangeLog 2014-05-02 21:57:58 +0000
+++ b/ChangeLog 2014-05-02 23:18:11 +0000
@@ -1,5 +1,10 @@
 2014-05-02  Glenn Morris  <address@hidden>
 
+       * configure.ac: Use pkg-config's pkg.m4, rather than reinventing it.
+       Add explicit AC_SUBST's where needed.
+       * autogen.sh (progs): Add pkg-config.
+       (pkg_config_min): New variable.
+
        * configure.ac (AC_CONFIG_MACRO_DIR): Use it.
 
        * autogen.sh (get_version): Handle no leading whitespace.

=== modified file 'INSTALL.REPO'
--- a/INSTALL.REPO      2014-04-17 06:40:25 +0000
+++ b/INSTALL.REPO      2014-05-02 23:18:11 +0000
@@ -12,6 +12,8 @@
   configure.ac (in the AC_PREREQ command).
 automake  - at least the version specified near the start of
   configure.ac (in the AM_INIT_AUTOMAKE command).
+pkg-config - at least version specified in the PKG_PROG_PKG_CONFIG
+  command in configure.ac
 makeinfo  - not strictly necessary, but highly recommended, so that
   you can build the manuals.
 

=== modified file 'autogen.sh'
--- a/autogen.sh        2014-05-02 17:40:09 +0000
+++ b/autogen.sh        2014-05-02 23:18:11 +0000
@@ -32,7 +32,7 @@
 
 ## Tools we need:
 ## Note that we respect the values of AUTOCONF etc, like autoreconf does.
-progs="autoconf automake"
+progs="autoconf automake pkg-config"
 
 ## Minimum versions we need:
 autoconf_min=`sed -n 's/^ *AC_PREREQ(\([0-9\.]*\)).*/\1/p' configure.ac`
@@ -41,6 +41,7 @@
 ## AM_INIT_AUTOMAKE call.
 automake_min=`sed -n 's/^ *AM_INIT_AUTOMAKE(\([0-9\.]*\)).*/\1/p' configure.ac`
 
+pkg_config_min=`sed -n 's/^ *PKG_PROG_PKG_CONFIG(\([0-9\.]*\)).*/\1/p' 
configure.ac`
 
 ## $1 = program, eg "autoconf".
 ## Echo the version string, eg "2.59".

=== modified file 'configure.ac'
--- a/configure.ac      2014-05-02 21:57:58 +0000
+++ b/configure.ac      2014-05-02 23:18:11 +0000
@@ -1339,65 +1339,12 @@
 AC_DEFINE_UNQUOTED(SYSTEM_TYPE, "$SYSTEM_TYPE",
   [The type of system you are compiling for; sets `system-type'.])
 
+m4_pattern_forbid([^PKG_])
 
 pre_PKG_CONFIG_CFLAGS=$CFLAGS
 pre_PKG_CONFIG_LIBS=$LIBS
 
-AC_PATH_PROG(PKG_CONFIG, pkg-config, no)
-
-dnl This function definition taken from Gnome 2.0
-dnl PKG_CHECK_MODULES(GSTUFF, gtk+-2.0 >= 1.3 glib = 1.3.4, action-if, 
action-not)
-dnl defines GSTUFF_LIBS, GSTUFF_CFLAGS, see pkg-config man page
-dnl also defines GSTUFF_PKG_ERRORS on error
-AC_DEFUN([PKG_CHECK_MODULES], [
-  succeeded=no
-
-  if test "$PKG_CONFIG" = "no" ; then
-     ifelse([$4], , [AC_MSG_ERROR([
-      *** The pkg-config script could not be found. Make sure it is in your 
path, or give the full name of pkg-config with the PKG_CONFIG environment 
variable or --with-pkg-config-prog.  Or see 
http://www.freedesktop.org/software/pkgconfig to get pkg-config.])], [$4])
-  else
-     PKG_CONFIG_MIN_VERSION=0.9.0
-     if "$PKG_CONFIG" --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then
-        AC_MSG_CHECKING(for $2)
-
-        if "$PKG_CONFIG" --exists "$2" 2>&AS_MESSAGE_LOG_FD &&
-          $1_CFLAGS=`"$PKG_CONFIG" --cflags "$2" 2>&AS_MESSAGE_LOG_FD` &&
-          $1_LIBS=`"$PKG_CONFIG" --libs "$2" 2>&AS_MESSAGE_LOG_FD`; then
-           edit_cflags="
-             s,///*,/,g
-             s/^/ /
-             s/ -I/ $isystem/g
-             s/^ //
-           "
-           $1_CFLAGS=`AS_ECHO(["$$1_CFLAGS"]) | sed -e "$edit_cflags"`
-           $1_LIBS=`AS_ECHO(["$$1_LIBS"]) | sed -e 's,///*,/,g'`
-            AC_MSG_RESULT([yes CFLAGS='$$1_CFLAGS' LIBS='$$1_LIBS'])
-            succeeded=yes
-        else
-            AC_MSG_RESULT(no)
-            $1_CFLAGS=""
-            $1_LIBS=""
-            ## If we have a custom action on failure, don't print errors, but
-           ## do set a variable so people can do so.  Do it in a subshell
-           ## to capture any diagnostics in invoking pkg-config.
-           $1_PKG_ERRORS=`("$PKG_CONFIG" --print-errors "$2") 2>&1`
-           ifelse([$4], ,echo "$$1_PKG_ERRORS",)
-        fi
-
-        AC_SUBST($1_CFLAGS)
-        AC_SUBST($1_LIBS)
-     else
-        echo "*** Your version of pkg-config is too old. You need version 
$PKG_CONFIG_MIN_VERSION or newer."
-        echo "*** See http://www.freedesktop.org/software/pkgconfig";
-     fi
-  fi
-
-  if test $succeeded = yes; then
-     ifelse([$3], , :, [$3])
-  else
-     ifelse([$4], , [AC_MSG_ERROR([Library requirements ($2) not met; consider 
adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a 
nonstandard prefix so pkg-config can find them.])], [$4])
-  fi
-])
+PKG_PROG_PKG_CONFIG(0.9.0)
 
 HAVE_SOUND=no
 if test "${with_sound}" != "no"; then
@@ -2415,6 +2362,8 @@
      DBUS_OBJ=dbusbind.o
    fi
 fi
+AC_SUBST(DBUS_CFLAGS)
+AC_SUBST(DBUS_LIBS)
 AC_SUBST(DBUS_OBJ)
 
 dnl GSettings has been tested under GNU/Linux only.
@@ -3268,7 +3217,6 @@
       [AC_CHECK_LIB(Xrandr, XRRGetScreenResources, HAVE_XRANDR=yes)])
     if test $HAVE_XRANDR = yes; then
       XRANDR_LIBS=-lXrandr
-      AC_SUBST(XRANDR_LIBS)
     fi
   fi
   if test $HAVE_XRANDR = yes; then
@@ -3283,6 +3231,8 @@
     AC_DEFINE(HAVE_XRANDR, 1, [Define to 1 if you have the XRandr extension.])
   fi
 fi
+AC_SUBST(XRANDR_CFLAGS)
+AC_SUBST(XRANDR_LIBS)
 
 ### Use Xinerama (-lXinerama) if available
 HAVE_XINERAMA=no
@@ -3297,13 +3247,14 @@
       [AC_CHECK_LIB(Xinerama, XineramaQueryExtension, HAVE_XINERAMA=yes)])
     if test $HAVE_XINERAMA = yes; then
       XINERAMA_LIBS=-lXinerama
-      AC_SUBST(XINERAMA_LIBS)
     fi
   fi
   if test $HAVE_XINERAMA = yes; then
     AC_DEFINE(HAVE_XINERAMA, 1, [Define to 1 if you have the Xinerama 
extension.])
   fi
 fi
+AC_SUBST(XINERAMA_CFLAGS)
+AC_SUBST(XINERAMA_LIBS)
 
 
 ### Use libxml (-lxml2) if available

=== modified file 'etc/PROBLEMS'
--- a/etc/PROBLEMS      2014-03-27 19:41:57 +0000
+++ b/etc/PROBLEMS      2014-05-02 23:18:11 +0000
@@ -2223,6 +2223,17 @@
 
 * Build-time problems
 
+** Autogen.sh / Autoreconf
+
+*** Running `autogen.sh' or `autoreconf' fails with an error of the form
+"possibly undefined macro: PKG_CONFIG".  This indicates that the version
+of aclocal that you are using cannot find the pkg.m4 file that
+pkg-config provides.  If you installed your own version of automake in
+a non-standard location /prefix, then add a line to the
+/prefix/share/aclocal/dirlist file (create the file if necessary)
+that gives the location of the directory that contains pkg.m4
+(e.g. /usr/share/aclocal).
+
 ** Configuration
 
 *** `configure' warns ``accepted by the compiler, rejected by the 
preprocessor''.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]