Adding upstream version 0.6.1. upstream/0.6.1
authorAndriy Grytsenko <andrej@rep.kiev.ua>
Tue, 26 Aug 2014 17:37:01 +0000 (20:37 +0300)
committerAndriy Grytsenko <andrej@rep.kiev.ua>
Tue, 26 Aug 2014 17:37:01 +0000 (20:37 +0300)
NEWS
aclocal.m4
config.guess
config.sub
configure
configure.ac
libmenu-cache/Makefile.am
libmenu-cache/Makefile.in
libmenu-cache/libmenu-cache-uninstalled.pc.in [deleted file]
libmenu-cache/menu-cache.c
libmenu-cache/menu-cache.h [deleted file]

diff --git a/NEWS b/NEWS
index 0147a93..af302ea 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,11 @@
+Changes in 0.6.1 since 0.6.0:
+
+* Fixed invalid memory access after cache reload.
+
+* A little cleanup of dist tarball: removed unused files menu-cache.h and
+    libmenu-cache-uninstalled.pc.in.
+
+
 Changes in 0.6.0 since 0.5.1:
 
 * Fixed few GLIB compatibility issues.
index 8dfeb6c..853d8d4 100644 (file)
@@ -9403,7 +9403,8 @@ to "yes", and re-run configure.
 END
     AC_MSG_ERROR([Your 'rm' program is bad, sorry.])
   fi
-fi])
+fi
+])
 
 dnl Hook into '_AC_COMPILER_EXEEXT' early to learn its expansion.  Do not
 dnl add the conditional right here, as _AC_COMPILER_EXEEXT may be further
index d622a44..1f5c50c 100755 (executable)
@@ -1,14 +1,12 @@
 #! /bin/sh
 # Attempt to guess a canonical system name.
-#   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
-#   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
-#   2011, 2012 Free Software Foundation, Inc.
+#   Copyright 1992-2014 Free Software Foundation, Inc.
 
-timestamp='2012-02-10'
+timestamp='2014-03-23'
 
 # This file is free software; you can redistribute it and/or modify it
 # under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
+# the Free Software Foundation; either version 3 of the License, or
 # (at your option) any later version.
 #
 # This program is distributed in the hope that it will be useful, but
@@ -22,19 +20,17 @@ timestamp='2012-02-10'
 # As a special exception to the GNU General Public License, if you
 # distribute this file as part of a program that contains a
 # configuration script generated by Autoconf, you may include it under
-# the same distribution terms that you use for the rest of that program.
-
-
-# Originally written by Per Bothner.  Please send patches (context
-# diff format) to <config-patches@gnu.org> and include a ChangeLog
-# entry.
+# the same distribution terms that you use for the rest of that
+# program.  This Exception is an additional permission under section 7
+# of the GNU General Public License, version 3 ("GPLv3").
 #
-# This script attempts to guess a canonical system name similar to
-# config.sub.  If it succeeds, it prints the system name on stdout, and
-# exits with 0.  Otherwise, it exits with 1.
+# Originally written by Per Bothner.
 #
 # You can get the latest version of this script from:
 # http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
+#
+# Please send patches with a ChangeLog entry to config-patches@gnu.org.
+
 
 me=`echo "$0" | sed -e 's,.*/,,'`
 
@@ -54,9 +50,7 @@ version="\
 GNU config.guess ($timestamp)
 
 Originally written by Per Bothner.
-Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
-2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012
-Free Software Foundation, Inc.
+Copyright 1992-2014 Free Software Foundation, Inc.
 
 This is free software; see the source for copying conditions.  There is NO
 warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
@@ -138,6 +132,27 @@ UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
 UNAME_SYSTEM=`(uname -s) 2>/dev/null`  || UNAME_SYSTEM=unknown
 UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
 
+case "${UNAME_SYSTEM}" in
+Linux|GNU|GNU/*)
+       # If the system lacks a compiler, then just pick glibc.
+       # We could probably try harder.
+       LIBC=gnu
+
+       eval $set_cc_for_build
+       cat <<-EOF > $dummy.c
+       #include <features.h>
+       #if defined(__UCLIBC__)
+       LIBC=uclibc
+       #elif defined(__dietlibc__)
+       LIBC=dietlibc
+       #else
+       LIBC=gnu
+       #endif
+       EOF
+       eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC' | sed 's, ,,g'`
+       ;;
+esac
+
 # Note: order is significant - the case branches are not exclusive.
 
 case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
@@ -200,6 +215,10 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
        # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
        echo "${machine}-${os}${release}"
        exit ;;
+    *:Bitrig:*:*)
+       UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'`
+       echo ${UNAME_MACHINE_ARCH}-unknown-bitrig${UNAME_RELEASE}
+       exit ;;
     *:OpenBSD:*:*)
        UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'`
        echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE}
@@ -302,7 +321,7 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
     arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
        echo arm-acorn-riscix${UNAME_RELEASE}
        exit ;;
-    arm:riscos:*:*|arm:RISCOS:*:*)
+    arm*:riscos:*:*|arm*:RISCOS:*:*)
        echo arm-unknown-riscos
        exit ;;
     SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*)
@@ -801,10 +820,13 @@ EOF
     i*:CYGWIN*:*)
        echo ${UNAME_MACHINE}-pc-cygwin
        exit ;;
+    *:MINGW64*:*)
+       echo ${UNAME_MACHINE}-pc-mingw64
+       exit ;;
     *:MINGW*:*)
        echo ${UNAME_MACHINE}-pc-mingw32
        exit ;;
-    i*:MSYS*:*)
+    *:MSYS*:*)
        echo ${UNAME_MACHINE}-pc-msys
        exit ;;
     i*:windows32*:*)
@@ -852,21 +874,21 @@ EOF
        exit ;;
     *:GNU:*:*)
        # the GNU system
-       echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
+       echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-${LIBC}`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
        exit ;;
     *:GNU/*:*:*)
        # other systems with GNU libc and userland
-       echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu
+       echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-${LIBC}
        exit ;;
     i*86:Minix:*:*)
        echo ${UNAME_MACHINE}-pc-minix
        exit ;;
     aarch64:Linux:*:*)
-       echo ${UNAME_MACHINE}-unknown-linux-gnu
+       echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
        exit ;;
     aarch64_be:Linux:*:*)
        UNAME_MACHINE=aarch64_be
-       echo ${UNAME_MACHINE}-unknown-linux-gnu
+       echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
        exit ;;
     alpha:Linux:*:*)
        case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
@@ -879,59 +901,54 @@ EOF
          EV68*) UNAME_MACHINE=alphaev68 ;;
        esac
        objdump --private-headers /bin/sh | grep -q ld.so.1
-       if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi
-       echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC}
+       if test "$?" = 0 ; then LIBC="gnulibc1" ; fi
+       echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+       exit ;;
+    arc:Linux:*:* | arceb:Linux:*:*)
+       echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
        exit ;;
     arm*:Linux:*:*)
        eval $set_cc_for_build
        if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \
            | grep -q __ARM_EABI__
        then
-           echo ${UNAME_MACHINE}-unknown-linux-gnu
+           echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
        else
            if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \
                | grep -q __ARM_PCS_VFP
            then
-               echo ${UNAME_MACHINE}-unknown-linux-gnueabi
+               echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabi
            else
-               echo ${UNAME_MACHINE}-unknown-linux-gnueabihf
+               echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabihf
            fi
        fi
        exit ;;
     avr32*:Linux:*:*)
-       echo ${UNAME_MACHINE}-unknown-linux-gnu
+       echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
        exit ;;
     cris:Linux:*:*)
-       echo ${UNAME_MACHINE}-axis-linux-gnu
+       echo ${UNAME_MACHINE}-axis-linux-${LIBC}
        exit ;;
     crisv32:Linux:*:*)
-       echo ${UNAME_MACHINE}-axis-linux-gnu
+       echo ${UNAME_MACHINE}-axis-linux-${LIBC}
        exit ;;
     frv:Linux:*:*)
-       echo ${UNAME_MACHINE}-unknown-linux-gnu
+       echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
        exit ;;
     hexagon:Linux:*:*)
-       echo ${UNAME_MACHINE}-unknown-linux-gnu
+       echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
        exit ;;
     i*86:Linux:*:*)
-       LIBC=gnu
-       eval $set_cc_for_build
-       sed 's/^        //' << EOF >$dummy.c
-       #ifdef __dietlibc__
-       LIBC=dietlibc
-       #endif
-EOF
-       eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC'`
-       echo "${UNAME_MACHINE}-pc-linux-${LIBC}"
+       echo ${UNAME_MACHINE}-pc-linux-${LIBC}
        exit ;;
     ia64:Linux:*:*)
-       echo ${UNAME_MACHINE}-unknown-linux-gnu
+       echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
        exit ;;
     m32r*:Linux:*:*)
-       echo ${UNAME_MACHINE}-unknown-linux-gnu
+       echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
        exit ;;
     m68*:Linux:*:*)
-       echo ${UNAME_MACHINE}-unknown-linux-gnu
+       echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
        exit ;;
     mips:Linux:*:* | mips64:Linux:*:*)
        eval $set_cc_for_build
@@ -950,54 +967,63 @@ EOF
        #endif
 EOF
        eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'`
-       test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; }
+       test x"${CPU}" != x && { echo "${CPU}-unknown-linux-${LIBC}"; exit; }
        ;;
-    or32:Linux:*:*)
-       echo ${UNAME_MACHINE}-unknown-linux-gnu
+    openrisc*:Linux:*:*)
+       echo or1k-unknown-linux-${LIBC}
+       exit ;;
+    or32:Linux:*:* | or1k*:Linux:*:*)
+       echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
        exit ;;
     padre:Linux:*:*)
-       echo sparc-unknown-linux-gnu
+       echo sparc-unknown-linux-${LIBC}
        exit ;;
     parisc64:Linux:*:* | hppa64:Linux:*:*)
-       echo hppa64-unknown-linux-gnu
+       echo hppa64-unknown-linux-${LIBC}
        exit ;;
     parisc:Linux:*:* | hppa:Linux:*:*)
        # Look for CPU level
        case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
-         PA7*) echo hppa1.1-unknown-linux-gnu ;;
-         PA8*) echo hppa2.0-unknown-linux-gnu ;;
-         *)    echo hppa-unknown-linux-gnu ;;
+         PA7*) echo hppa1.1-unknown-linux-${LIBC} ;;
+         PA8*) echo hppa2.0-unknown-linux-${LIBC} ;;
+         *)    echo hppa-unknown-linux-${LIBC} ;;
        esac
        exit ;;
     ppc64:Linux:*:*)
-       echo powerpc64-unknown-linux-gnu
+       echo powerpc64-unknown-linux-${LIBC}
        exit ;;
     ppc:Linux:*:*)
-       echo powerpc-unknown-linux-gnu
+       echo powerpc-unknown-linux-${LIBC}
+       exit ;;
+    ppc64le:Linux:*:*)
+       echo powerpc64le-unknown-linux-${LIBC}
+       exit ;;
+    ppcle:Linux:*:*)
+       echo powerpcle-unknown-linux-${LIBC}
        exit ;;
     s390:Linux:*:* | s390x:Linux:*:*)
-       echo ${UNAME_MACHINE}-ibm-linux
+       echo ${UNAME_MACHINE}-ibm-linux-${LIBC}
        exit ;;
     sh64*:Linux:*:*)
-       echo ${UNAME_MACHINE}-unknown-linux-gnu
+       echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
        exit ;;
     sh*:Linux:*:*)
-       echo ${UNAME_MACHINE}-unknown-linux-gnu
+       echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
        exit ;;
     sparc:Linux:*:* | sparc64:Linux:*:*)
-       echo ${UNAME_MACHINE}-unknown-linux-gnu
+       echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
        exit ;;
     tile*:Linux:*:*)
-       echo ${UNAME_MACHINE}-unknown-linux-gnu
+       echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
        exit ;;
     vax:Linux:*:*)
-       echo ${UNAME_MACHINE}-dec-linux-gnu
+       echo ${UNAME_MACHINE}-dec-linux-${LIBC}
        exit ;;
     x86_64:Linux:*:*)
-       echo ${UNAME_MACHINE}-unknown-linux-gnu
+       echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
        exit ;;
     xtensa*:Linux:*:*)
-       echo ${UNAME_MACHINE}-unknown-linux-gnu
+       echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
        exit ;;
     i*86:DYNIX/ptx:4*:*)
        # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
@@ -1201,6 +1227,9 @@ EOF
     BePC:Haiku:*:*)    # Haiku running on Intel PC compatible.
        echo i586-pc-haiku
        exit ;;
+    x86_64:Haiku:*:*)
+       echo x86_64-unknown-haiku
+       exit ;;
     SX-4:SUPER-UX:*:*)
        echo sx4-nec-superux${UNAME_RELEASE}
        exit ;;
@@ -1227,19 +1256,31 @@ EOF
        exit ;;
     *:Darwin:*:*)
        UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown
-       case $UNAME_PROCESSOR in
-           i386)
-               eval $set_cc_for_build
-               if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
-                 if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \
-                     (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
-                     grep IS_64BIT_ARCH >/dev/null
-                 then
-                     UNAME_PROCESSOR="x86_64"
-                 fi
-               fi ;;
-           unknown) UNAME_PROCESSOR=powerpc ;;
-       esac
+       eval $set_cc_for_build
+       if test "$UNAME_PROCESSOR" = unknown ; then
+           UNAME_PROCESSOR=powerpc
+       fi
+       if test `echo "$UNAME_RELEASE" | sed -e 's/\..*//'` -le 10 ; then
+           if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
+               if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \
+                   (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
+                   grep IS_64BIT_ARCH >/dev/null
+               then
+                   case $UNAME_PROCESSOR in
+                       i386) UNAME_PROCESSOR=x86_64 ;;
+                       powerpc) UNAME_PROCESSOR=powerpc64 ;;
+                   esac
+               fi
+           fi
+       elif test "$UNAME_PROCESSOR" = i386 ; then
+           # Avoid executing cc on OS X 10.9, as it ships with a stub
+           # that puts up a graphical alert prompting to install
+           # developer tools.  Any system running Mac OS X 10.7 or
+           # later (Darwin 11 and later) is required to have a 64-bit
+           # processor. This is not true of the ARM version of Darwin
+           # that Apple uses in portable devices.
+           UNAME_PROCESSOR=x86_64
+       fi
        echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
        exit ;;
     *:procnto*:*:* | *:QNX:[0123456789]*:*)
@@ -1256,7 +1297,7 @@ EOF
     NEO-?:NONSTOP_KERNEL:*:*)
        echo neo-tandem-nsk${UNAME_RELEASE}
        exit ;;
-    NSE-?:NONSTOP_KERNEL:*:*)
+    NSE-*:NONSTOP_KERNEL:*:*)
        echo nse-tandem-nsk${UNAME_RELEASE}
        exit ;;
     NSR-?:NONSTOP_KERNEL:*:*)
@@ -1330,157 +1371,6 @@ EOF
        exit ;;
 esac
 
-#echo '(No uname command or uname output not recognized.)' 1>&2
-#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2
-
-eval $set_cc_for_build
-cat >$dummy.c <<EOF
-#ifdef _SEQUENT_
-# include <sys/types.h>
-# include <sys/utsname.h>
-#endif
-main ()
-{
-#if defined (sony)
-#if defined (MIPSEB)
-  /* BFD wants "bsd" instead of "newsos".  Perhaps BFD should be changed,
-     I don't know....  */
-  printf ("mips-sony-bsd\n"); exit (0);
-#else
-#include <sys/param.h>
-  printf ("m68k-sony-newsos%s\n",
-#ifdef NEWSOS4
-       "4"
-#else
-       ""
-#endif
-       ); exit (0);
-#endif
-#endif
-
-#if defined (__arm) && defined (__acorn) && defined (__unix)
-  printf ("arm-acorn-riscix\n"); exit (0);
-#endif
-
-#if defined (hp300) && !defined (hpux)
-  printf ("m68k-hp-bsd\n"); exit (0);
-#endif
-
-#if defined (NeXT)
-#if !defined (__ARCHITECTURE__)
-#define __ARCHITECTURE__ "m68k"
-#endif
-  int version;
-  version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`;
-  if (version < 4)
-    printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);
-  else
-    printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version);
-  exit (0);
-#endif
-
-#if defined (MULTIMAX) || defined (n16)
-#if defined (UMAXV)
-  printf ("ns32k-encore-sysv\n"); exit (0);
-#else
-#if defined (CMU)
-  printf ("ns32k-encore-mach\n"); exit (0);
-#else
-  printf ("ns32k-encore-bsd\n"); exit (0);
-#endif
-#endif
-#endif
-
-#if defined (__386BSD__)
-  printf ("i386-pc-bsd\n"); exit (0);
-#endif
-
-#if defined (sequent)
-#if defined (i386)
-  printf ("i386-sequent-dynix\n"); exit (0);
-#endif
-#if defined (ns32000)
-  printf ("ns32k-sequent-dynix\n"); exit (0);
-#endif
-#endif
-
-#if defined (_SEQUENT_)
-    struct utsname un;
-
-    uname(&un);
-
-    if (strncmp(un.version, "V2", 2) == 0) {
-       printf ("i386-sequent-ptx2\n"); exit (0);
-    }
-    if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */
-       printf ("i386-sequent-ptx1\n"); exit (0);
-    }
-    printf ("i386-sequent-ptx\n"); exit (0);
-
-#endif
-
-#if defined (vax)
-# if !defined (ultrix)
-#  include <sys/param.h>
-#  if defined (BSD)
-#   if BSD == 43
-      printf ("vax-dec-bsd4.3\n"); exit (0);
-#   else
-#    if BSD == 199006
-      printf ("vax-dec-bsd4.3reno\n"); exit (0);
-#    else
-      printf ("vax-dec-bsd\n"); exit (0);
-#    endif
-#   endif
-#  else
-    printf ("vax-dec-bsd\n"); exit (0);
-#  endif
-# else
-    printf ("vax-dec-ultrix\n"); exit (0);
-# endif
-#endif
-
-#if defined (alliant) && defined (i860)
-  printf ("i860-alliant-bsd\n"); exit (0);
-#endif
-
-  exit (1);
-}
-EOF
-
-$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && SYSTEM_NAME=`$dummy` &&
-       { echo "$SYSTEM_NAME"; exit; }
-
-# Apollos put the system type in the environment.
-
-test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit; }
-
-# Convex versions that predate uname can use getsysinfo(1)
-
-if [ -x /usr/convex/getsysinfo ]
-then
-    case `getsysinfo -f cpu_type` in
-    c1*)
-       echo c1-convex-bsd
-       exit ;;
-    c2*)
-       if getsysinfo -f scalar_acc
-       then echo c32-convex-bsd
-       else echo c2-convex-bsd
-       fi
-       exit ;;
-    c34*)
-       echo c34-convex-bsd
-       exit ;;
-    c38*)
-       echo c38-convex-bsd
-       exit ;;
-    c4*)
-       echo c4-convex-bsd
-       exit ;;
-    esac
-fi
-
 cat >&2 <<EOF
 $0: unable to guess system type
 
index 6205f84..d654d03 100755 (executable)
@@ -1,24 +1,18 @@
 #! /bin/sh
 # Configuration validation subroutine script.
-#   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
-#   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
-#   2011, 2012 Free Software Foundation, Inc.
+#   Copyright 1992-2014 Free Software Foundation, Inc.
 
-timestamp='2012-04-18'
+timestamp='2014-05-01'
 
-# This file is (in principle) common to ALL GNU software.
-# The presence of a machine in this file suggests that SOME GNU software
-# can handle that machine.  It does not imply ALL GNU software can.
-#
-# This file is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
+# This file is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
 # (at your option) any later version.
 #
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
+# This program is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# General Public License for more details.
 #
 # You should have received a copy of the GNU General Public License
 # along with this program; if not, see <http://www.gnu.org/licenses/>.
@@ -26,11 +20,12 @@ timestamp='2012-04-18'
 # As a special exception to the GNU General Public License, if you
 # distribute this file as part of a program that contains a
 # configuration script generated by Autoconf, you may include it under
-# the same distribution terms that you use for the rest of that program.
+# the same distribution terms that you use for the rest of that
+# program.  This Exception is an additional permission under section 7
+# of the GNU General Public License, version 3 ("GPLv3").
 
 
-# Please send patches to <config-patches@gnu.org>.  Submit a context
-# diff and a properly formatted GNU ChangeLog entry.
+# Please send patches with a ChangeLog entry to config-patches@gnu.org.
 #
 # Configuration subroutine to validate and canonicalize a configuration type.
 # Supply the specified configuration type as an argument.
@@ -73,9 +68,7 @@ Report bugs and patches to <config-patches@gnu.org>."
 version="\
 GNU config.sub ($timestamp)
 
-Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
-2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012
-Free Software Foundation, Inc.
+Copyright 1992-2014 Free Software Foundation, Inc.
 
 This is free software; see the source for copying conditions.  There is NO
 warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
@@ -123,7 +116,7 @@ esac
 maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
 case $maybe_os in
   nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \
-  linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \
+  linux-musl* | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \
   knetbsd*-gnu* | netbsd*-gnu* | \
   kopensolaris*-gnu* | \
   storm-chaos* | os2-emx* | rtmk-nova*)
@@ -156,7 +149,7 @@ case $os in
        -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
        -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
        -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
-       -apple | -axis | -knuth | -cray | -microblaze)
+       -apple | -axis | -knuth | -cray | -microblaze*)
                os=
                basic_machine=$1
                ;;
@@ -259,10 +252,12 @@ case $basic_machine in
        | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
        | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
        | am33_2.0 \
-       | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \
-        | be32 | be64 \
+       | arc | arceb \
+       | arm | arm[bl]e | arme[lb] | armv[2-8] | armv[3-8][lb] | armv7[arm] \
+       | avr | avr32 \
+       | be32 | be64 \
        | bfin \
-       | c4x | clipper \
+       | c4x | c8051 | clipper \
        | d10v | d30v | dlx | dsp16xx \
        | epiphany \
        | fido | fr30 | frv \
@@ -270,10 +265,11 @@ case $basic_machine in
        | hexagon \
        | i370 | i860 | i960 | ia64 \
        | ip2k | iq2000 \
+       | k1om \
        | le32 | le64 \
        | lm32 \
        | m32c | m32r | m32rle | m68000 | m68k | m88k \
-       | maxq | mb | microblaze | mcore | mep | metag \
+       | maxq | mb | microblaze | microblazeel | mcore | mep | metag \
        | mips | mipsbe | mipseb | mipsel | mipsle \
        | mips16 \
        | mips64 | mips64el \
@@ -287,20 +283,22 @@ case $basic_machine in
        | mips64vr5900 | mips64vr5900el \
        | mipsisa32 | mipsisa32el \
        | mipsisa32r2 | mipsisa32r2el \
+       | mipsisa32r6 | mipsisa32r6el \
        | mipsisa64 | mipsisa64el \
        | mipsisa64r2 | mipsisa64r2el \
+       | mipsisa64r6 | mipsisa64r6el \
        | mipsisa64sb1 | mipsisa64sb1el \
        | mipsisa64sr71k | mipsisa64sr71kel \
+       | mipsr5900 | mipsr5900el \
        | mipstx39 | mipstx39el \
        | mn10200 | mn10300 \
        | moxie \
        | mt \
        | msp430 \
        | nds32 | nds32le | nds32be \
-       | nios | nios2 \
+       | nios | nios2 | nios2eb | nios2el \
        | ns16k | ns32k \
-       | open8 \
-       | or32 \
+       | open8 | or1k | or1knd | or32 \
        | pdp10 | pdp11 | pj | pjl \
        | powerpc | powerpc64 | powerpc64le | powerpcle \
        | pyramid \
@@ -328,7 +326,7 @@ case $basic_machine in
        c6x)
                basic_machine=tic6x-unknown
                ;;
-       m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | picochip)
+       m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | nvptx | picochip)
                basic_machine=$basic_machine-unknown
                os=-none
                ;;
@@ -370,13 +368,13 @@ case $basic_machine in
        | aarch64-* | aarch64_be-* \
        | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
        | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
-       | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
+       | alphapca5[67]-* | alpha64pca5[67]-* | arc-* | arceb-* \
        | arm-*  | armbe-* | armle-* | armeb-* | armv*-* \
        | avr-* | avr32-* \
        | be32-* | be64-* \
        | bfin-* | bs2000-* \
        | c[123]* | c30-* | [cjt]90-* | c4x-* \
-       | clipper-* | craynv-* | cydra-* \
+       | c8051-* | clipper-* | craynv-* | cydra-* \
        | d10v-* | d30v-* | dlx-* \
        | elxsi-* \
        | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
@@ -385,11 +383,13 @@ case $basic_machine in
        | hexagon-* \
        | i*86-* | i860-* | i960-* | ia64-* \
        | ip2k-* | iq2000-* \
+       | k1om-* \
        | le32-* | le64-* \
        | lm32-* \
        | m32c-* | m32r-* | m32rle-* \
        | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
-       | m88110-* | m88k-* | maxq-* | mcore-* | metag-* | microblaze-* \
+       | m88110-* | m88k-* | maxq-* | mcore-* | metag-* \
+       | microblaze-* | microblazeel-* \
        | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
        | mips16-* \
        | mips64-* | mips64el-* \
@@ -403,18 +403,22 @@ case $basic_machine in
        | mips64vr5900-* | mips64vr5900el-* \
        | mipsisa32-* | mipsisa32el-* \
        | mipsisa32r2-* | mipsisa32r2el-* \
+       | mipsisa32r6-* | mipsisa32r6el-* \
        | mipsisa64-* | mipsisa64el-* \
        | mipsisa64r2-* | mipsisa64r2el-* \
+       | mipsisa64r6-* | mipsisa64r6el-* \
        | mipsisa64sb1-* | mipsisa64sb1el-* \
        | mipsisa64sr71k-* | mipsisa64sr71kel-* \
+       | mipsr5900-* | mipsr5900el-* \
        | mipstx39-* | mipstx39el-* \
        | mmix-* \
        | mt-* \
        | msp430-* \
        | nds32-* | nds32le-* | nds32be-* \
-       | nios-* | nios2-* \
+       | nios-* | nios2-* | nios2eb-* | nios2el-* \
        | none-* | np1-* | ns16k-* | ns32k-* \
        | open8-* \
+       | or1k*-* \
        | orion-* \
        | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
        | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \
@@ -788,11 +792,15 @@ case $basic_machine in
                basic_machine=ns32k-utek
                os=-sysv
                ;;
-       microblaze)
+       microblaze*)
                basic_machine=microblaze-xilinx
                ;;
+       mingw64)
+               basic_machine=x86_64-pc
+               os=-mingw64
+               ;;
        mingw32)
-               basic_machine=i386-pc
+               basic_machine=i686-pc
                os=-mingw32
                ;;
        mingw32ce)
@@ -828,7 +836,7 @@ case $basic_machine in
                basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
                ;;
        msys)
-               basic_machine=i386-pc
+               basic_machine=i686-pc
                os=-msys
                ;;
        mvs)
@@ -1019,7 +1027,11 @@ case $basic_machine in
                basic_machine=i586-unknown
                os=-pw32
                ;;
-       rdos)
+       rdos | rdos64)
+               basic_machine=x86_64-pc
+               os=-rdos
+               ;;
+       rdos32)
                basic_machine=i386-pc
                os=-rdos
                ;;
@@ -1346,21 +1358,21 @@ case $os in
        -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
              | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\
              | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \
-             | -sym* | -kopensolaris* \
+             | -sym* | -kopensolaris* | -plan9* \
              | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
              | -aos* | -aros* \
              | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
              | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
              | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
-             | -openbsd* | -solidbsd* \
+             | -bitrig* | -openbsd* | -solidbsd* \
              | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
              | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
              | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
              | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
              | -chorusos* | -chorusrdb* | -cegcc* \
              | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
-             | -mingw32* | -linux-gnu* | -linux-android* \
-             | -linux-newlib* | -linux-uclibc* \
+             | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \
+             | -linux-newlib* | -linux-musl* | -linux-uclibc* \
              | -uxpv* | -beos* | -mpeix* | -udk* \
              | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
              | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
@@ -1368,7 +1380,7 @@ case $os in
              | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
              | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
              | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
-             | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*)
+             | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es* | -tirtos*)
        # Remember, each alternative MUST END IN *, to match a version number.
                ;;
        -qnx*)
@@ -1492,9 +1504,6 @@ case $os in
        -aros*)
                os=-aros
                ;;
-       -kaos*)
-               os=-kaos
-               ;;
        -zvmoe)
                os=-zvmoe
                ;;
@@ -1543,6 +1552,9 @@ case $basic_machine in
        c4x-* | tic4x-*)
                os=-coff
                ;;
+       c8051-*)
+               os=-elf
+               ;;
        hexagon-*)
                os=-elf
                ;;
index 49b5f2c..6f8de61 100755 (executable)
--- a/configure
+++ b/configure
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for menu-cache 0.6.0.
+# Generated by GNU Autoconf 2.69 for menu-cache 0.6.1.
 #
 # Report bugs to <http://lxde.org/>.
 #
@@ -590,8 +590,8 @@ MAKEFLAGS=
 # Identity of this package.
 PACKAGE_NAME='menu-cache'
 PACKAGE_TARNAME='menu-cache'
-PACKAGE_VERSION='0.6.0'
-PACKAGE_STRING='menu-cache 0.6.0'
+PACKAGE_VERSION='0.6.1'
+PACKAGE_STRING='menu-cache 0.6.1'
 PACKAGE_BUGREPORT='http://lxde.org/'
 PACKAGE_URL=''
 
@@ -1355,7 +1355,7 @@ if test "$ac_init_help" = "long"; then
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
-\`configure' configures menu-cache 0.6.0 to adapt to many kinds of systems.
+\`configure' configures menu-cache 0.6.1 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1425,7 +1425,7 @@ fi
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of menu-cache 0.6.0:";;
+     short | recursive ) echo "Configuration of menu-cache 0.6.1:";;
    esac
   cat <<\_ACEOF
 
@@ -1550,7 +1550,7 @@ fi
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-menu-cache configure 0.6.0
+menu-cache configure 0.6.1
 generated by GNU Autoconf 2.69
 
 Copyright (C) 2012 Free Software Foundation, Inc.
@@ -1828,7 +1828,7 @@ cat >config.log <<_ACEOF
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by menu-cache $as_me 0.6.0, which was
+It was created by menu-cache $as_me 0.6.1, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   $ $0 $@
@@ -2693,7 +2693,7 @@ fi
 
 # Define the identity of the package.
  PACKAGE='menu-cache'
- VERSION='0.6.0'
+ VERSION='0.6.1'
 
 
 cat >>confdefs.h <<_ACEOF
@@ -2785,6 +2785,7 @@ END
     as_fn_error $? "Your 'rm' program is bad, sorry." "$LINENO" 5
   fi
 fi
+
 ac_config_headers="$ac_config_headers config.h"
 
 
@@ -12860,7 +12861,7 @@ fi
 exec_prefix="$exec_prefix_save"
 
 
-ac_config_files="$ac_config_files Makefile libmenu-cache/Makefile libmenu-cache/libmenu-cache.pc libmenu-cache/libmenu-cache-uninstalled.pc libmenu-cache/menu-cache.h menu-cache-gen/Makefile menu-cache-daemon/Makefile docs/Makefile docs/reference/Makefile docs/reference/libmenu-cache/Makefile"
+ac_config_files="$ac_config_files Makefile libmenu-cache/Makefile libmenu-cache/libmenu-cache.pc libmenu-cache/menu-cache.h menu-cache-gen/Makefile menu-cache-daemon/Makefile docs/Makefile docs/reference/Makefile docs/reference/libmenu-cache/Makefile"
 
 cat >confcache <<\_ACEOF
 # This file is a shell script that caches the results of configure
@@ -13419,7 +13420,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by menu-cache $as_me 0.6.0, which was
+This file was extended by menu-cache $as_me 0.6.1, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -13485,7 +13486,7 @@ _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
 ac_cs_version="\\
-menu-cache config.status 0.6.0
+menu-cache config.status 0.6.1
 configured by $0, generated by GNU Autoconf 2.69,
   with options \\"\$ac_cs_config\\"
 
@@ -13897,7 +13898,6 @@ do
     "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
     "libmenu-cache/Makefile") CONFIG_FILES="$CONFIG_FILES libmenu-cache/Makefile" ;;
     "libmenu-cache/libmenu-cache.pc") CONFIG_FILES="$CONFIG_FILES libmenu-cache/libmenu-cache.pc" ;;
-    "libmenu-cache/libmenu-cache-uninstalled.pc") CONFIG_FILES="$CONFIG_FILES libmenu-cache/libmenu-cache-uninstalled.pc" ;;
     "libmenu-cache/menu-cache.h") CONFIG_FILES="$CONFIG_FILES libmenu-cache/menu-cache.h" ;;
     "menu-cache-gen/Makefile") CONFIG_FILES="$CONFIG_FILES menu-cache-gen/Makefile" ;;
     "menu-cache-daemon/Makefile") CONFIG_FILES="$CONFIG_FILES menu-cache-daemon/Makefile" ;;
index c7b8502..793a36a 100644 (file)
@@ -1,4 +1,4 @@
-AC_INIT([menu-cache], [0.6.0],
+AC_INIT([menu-cache], [0.6.1],
         [http://lxde.org/])
 AC_CONFIG_SRCDIR(menu-cache-gen/gmenu-tree.h)
 
@@ -79,7 +79,6 @@ AC_OUTPUT([
 Makefile
 libmenu-cache/Makefile
 libmenu-cache/libmenu-cache.pc
-libmenu-cache/libmenu-cache-uninstalled.pc
 libmenu-cache/menu-cache.h
 menu-cache-gen/Makefile
 menu-cache-daemon/Makefile
index a8efb9a..85e9427 100644 (file)
@@ -24,18 +24,17 @@ libmenu_cache_la_LIBADD =           \
 libmenu_cache_la_LDFLAGS =                     \
        -no-undefined                           \
        -export-symbols-regex menu_cache        \
-       -version-info 3:2:0 \
+       -version-info 3:3:0 \
        $(NULL)
 
 lib_menu_cache_includedir = $(includedir)/menu-cache
 
-lib_menu_cache_include_HEADERS =               \
+nodist_lib_menu_cache_include_HEADERS =                \
        menu-cache.h                    \
        $(NULL)
 
 EXTRA_DIST =                           \
-        libmenu-cache.pc.in            \
-        libmenu-cache-uninstalled.pc.in        \
+       libmenu-cache.pc.in             \
        $(NULL)
 
 pkgconfigdir   = $(libdir)/pkgconfig
index d507392..2deb556 100644 (file)
@@ -82,18 +82,15 @@ build_triplet = @build@
 host_triplet = @host@
 subdir = libmenu-cache
 DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
-       $(srcdir)/libmenu-cache.pc.in \
-       $(srcdir)/libmenu-cache-uninstalled.pc.in \
-       $(srcdir)/menu-cache.h.in $(top_srcdir)/depcomp \
-       $(lib_menu_cache_include_HEADERS)
+       $(srcdir)/libmenu-cache.pc.in $(srcdir)/menu-cache.h.in \
+       $(top_srcdir)/depcomp
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
        $(ACLOCAL_M4)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES = libmenu-cache.pc libmenu-cache-uninstalled.pc \
-       menu-cache.h
+CONFIG_CLEAN_FILES = libmenu-cache.pc menu-cache.h
 CONFIG_CLEAN_VPATH_FILES =
 am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
 am__vpath_adj = case $$p in \
@@ -181,7 +178,7 @@ am__can_run_installinfo = \
     *) (install-info --version) >/dev/null 2>&1;; \
   esac
 DATA = $(pkgconfig_DATA)
-HEADERS = $(lib_menu_cache_include_HEADERS)
+HEADERS = $(nodist_lib_menu_cache_include_HEADERS)
 am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
 # Read a list of newline-separated strings from the standard input,
 # and print each of them once, without duplicates.  Input order is
@@ -360,17 +357,16 @@ libmenu_cache_la_LIBADD = \
 libmenu_cache_la_LDFLAGS = \
        -no-undefined                           \
        -export-symbols-regex menu_cache        \
-       -version-info 3:2:0 \
+       -version-info 3:3:0 \
        $(NULL)
 
 lib_menu_cache_includedir = $(includedir)/menu-cache
-lib_menu_cache_include_HEADERS = \
+nodist_lib_menu_cache_include_HEADERS = \
        menu-cache.h                    \
        $(NULL)
 
 EXTRA_DIST = \
-        libmenu-cache.pc.in            \
-        libmenu-cache-uninstalled.pc.in        \
+       libmenu-cache.pc.in             \
        $(NULL)
 
 pkgconfigdir = $(libdir)/pkgconfig
@@ -411,8 +407,6 @@ $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
 $(am__aclocal_m4_deps):
 libmenu-cache.pc: $(top_builddir)/config.status $(srcdir)/libmenu-cache.pc.in
        cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
-libmenu-cache-uninstalled.pc: $(top_builddir)/config.status $(srcdir)/libmenu-cache-uninstalled.pc.in
-       cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
 menu-cache.h: $(top_builddir)/config.status $(srcdir)/menu-cache.h.in
        cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
 
@@ -509,9 +503,9 @@ uninstall-pkgconfigDATA:
        @list='$(pkgconfig_DATA)'; test -n "$(pkgconfigdir)" || list=; \
        files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
        dir='$(DESTDIR)$(pkgconfigdir)'; $(am__uninstall_files_from_dir)
-install-lib_menu_cache_includeHEADERS: $(lib_menu_cache_include_HEADERS)
+install-nodist_lib_menu_cache_includeHEADERS: $(nodist_lib_menu_cache_include_HEADERS)
        @$(NORMAL_INSTALL)
-       @list='$(lib_menu_cache_include_HEADERS)'; test -n "$(lib_menu_cache_includedir)" || list=; \
+       @list='$(nodist_lib_menu_cache_include_HEADERS)'; test -n "$(lib_menu_cache_includedir)" || list=; \
        if test -n "$$list"; then \
          echo " $(MKDIR_P) '$(DESTDIR)$(lib_menu_cache_includedir)'"; \
          $(MKDIR_P) "$(DESTDIR)$(lib_menu_cache_includedir)" || exit 1; \
@@ -525,9 +519,9 @@ install-lib_menu_cache_includeHEADERS: $(lib_menu_cache_include_HEADERS)
          $(INSTALL_HEADER) $$files "$(DESTDIR)$(lib_menu_cache_includedir)" || exit $$?; \
        done
 
-uninstall-lib_menu_cache_includeHEADERS:
+uninstall-nodist_lib_menu_cache_includeHEADERS:
        @$(NORMAL_UNINSTALL)
-       @list='$(lib_menu_cache_include_HEADERS)'; test -n "$(lib_menu_cache_includedir)" || list=; \
+       @list='$(nodist_lib_menu_cache_include_HEADERS)'; test -n "$(lib_menu_cache_includedir)" || list=; \
        files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
        dir='$(DESTDIR)$(lib_menu_cache_includedir)'; $(am__uninstall_files_from_dir)
 
@@ -673,7 +667,7 @@ info: info-am
 
 info-am:
 
-install-data-am: install-lib_menu_cache_includeHEADERS \
+install-data-am: install-nodist_lib_menu_cache_includeHEADERS \
        install-pkgconfigDATA
 
 install-dvi: install-dvi-am
@@ -721,7 +715,7 @@ ps: ps-am
 ps-am:
 
 uninstall-am: uninstall-libLTLIBRARIES \
-       uninstall-lib_menu_cache_includeHEADERS \
+       uninstall-nodist_lib_menu_cache_includeHEADERS \
        uninstall-pkgconfigDATA
 
 .MAKE: install-am install-strip
@@ -733,15 +727,15 @@ uninstall-am: uninstall-libLTLIBRARIES \
        html-am info info-am install install-am install-data \
        install-data-am install-dvi install-dvi-am install-exec \
        install-exec-am install-html install-html-am install-info \
-       install-info-am install-libLTLIBRARIES \
-       install-lib_menu_cache_includeHEADERS install-man install-pdf \
+       install-info-am install-libLTLIBRARIES install-man \
+       install-nodist_lib_menu_cache_includeHEADERS install-pdf \
        install-pdf-am install-pkgconfigDATA install-ps install-ps-am \
        install-strip installcheck installcheck-am installdirs \
        maintainer-clean maintainer-clean-generic mostlyclean \
        mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
        pdf pdf-am ps ps-am tags tags-am uninstall uninstall-am \
        uninstall-libLTLIBRARIES \
-       uninstall-lib_menu_cache_includeHEADERS \
+       uninstall-nodist_lib_menu_cache_includeHEADERS \
        uninstall-pkgconfigDATA
 
 
diff --git a/libmenu-cache/libmenu-cache-uninstalled.pc.in b/libmenu-cache/libmenu-cache-uninstalled.pc.in
deleted file mode 100644 (file)
index f99c503..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-prefix=@prefix@
-exec_prefix=@exec_prefix@
-libdir=@libdir@
-includedir=@includedir@
-
-Name: libmenu-cache
-Description: Cache for freedesktop.org menu spec
-Requires: glib-2.0
-Version: @VERSION@
-Libs: ${pc_top_builddir}/${pcfiledir}/libmenu-cache.la
-Cflags: -I${pc_top_builddir}/${pcfiledir}
index ab28959..a95fe40 100644 (file)
@@ -76,6 +76,12 @@ static GCond *sync_run_cond = NULL;
     g_mutex_unlock(sync_run_mutex); } while(0)
 #endif
 
+typedef struct
+{
+    char *dir;
+    gint n_ref;
+} MenuCacheFileDir;
+
 struct _MenuCacheItem
 {
     guint n_ref;
@@ -84,7 +90,7 @@ struct _MenuCacheItem
     char* name;
     char* comment;
     char* icon;
-    const char* file_dir;
+    MenuCacheFileDir* file_dir;
     char* file_name;
     MenuCacheDir* parent;
 };
@@ -98,7 +104,6 @@ struct _MenuCacheDir
 struct _MenuCacheApp
 {
     MenuCacheItem item;
-    const char* file_dir;
     char* generic_name;
     char* exec;
     char* working_dir;
@@ -115,8 +120,6 @@ struct _MenuCache
     char* reg; /* includes md5 sum */
     char* md5; /* link inside of reg */
     char* cache_file;
-    char** all_used_files;
-    int n_all_used_files;
     char** known_des;
     GSList* notifiers;
     GThread* thr;
@@ -151,16 +154,18 @@ void menu_cache_init(int flags)
 #endif
 }
 
-static MenuCacheItem* read_item(GDataInputStream* f, MenuCache* cache);
+static MenuCacheItem* read_item(GDataInputStream* f, MenuCache* cache,
+                                MenuCacheFileDir** all_used_files, int n_all_used_files);
 
 /* functions read_dir(), read_app(), and read_item() should be called for
    items that aren't accessible yet, therefore no lock is required */
-static void read_dir(GDataInputStream* f, MenuCacheDir* dir, MenuCache* cache)
+static void read_dir(GDataInputStream* f, MenuCacheDir* dir, MenuCache* cache,
+                     MenuCacheFileDir** all_used_files, int n_all_used_files)
 {
     MenuCacheItem* item;
 
     /* load child items in the dir */
-    while( (item = read_item( f, cache )) )
+    while( (item = read_item( f, cache, all_used_files, n_all_used_files )) )
     {
         /* menu_cache_ref shouldn't be called here for dir.
          * Otherwise, circular reference will happen. */
@@ -209,7 +214,8 @@ static void read_app(GDataInputStream* f, MenuCacheApp* app, MenuCache* cache)
     g_free(line);
 }
 
-static MenuCacheItem* read_item(GDataInputStream* f, MenuCache* cache)
+static MenuCacheItem* read_item(GDataInputStream* f, MenuCache* cache,
+                                MenuCacheFileDir** all_used_files, int n_all_used_files)
 {
     MenuCacheItem* item;
     char *line;
@@ -318,46 +324,64 @@ _fail:
     }
     idx = atoi( line );
     g_free(line);
-    if( G_LIKELY( idx >=0 && idx < cache->n_all_used_files ) )
-        item->file_dir = cache->all_used_files[ idx ] + 1;
+    if( G_LIKELY( idx >=0 && idx < n_all_used_files ) )
+    {
+        item->file_dir = all_used_files[ idx ];
+        g_atomic_int_inc(&item->file_dir->n_ref);
+    }
 
     if( item->type == MENU_CACHE_TYPE_DIR )
-        read_dir( f, MENU_CACHE_DIR(item), cache );
+        read_dir( f, MENU_CACHE_DIR(item), cache, all_used_files, n_all_used_files );
     else if( item->type == MENU_CACHE_TYPE_APP )
         read_app( f, MENU_CACHE_APP(item), cache );
 
     return item;
 }
 
-static gboolean read_all_used_files(GDataInputStream* f, MenuCache* cache)
+static void menu_cache_file_dir_unref(MenuCacheFileDir *file_dir)
+{
+    if (file_dir && g_atomic_int_dec_and_test(&file_dir->n_ref))
+    {
+        g_free(file_dir->dir);
+        g_free(file_dir);
+    }
+}
+
+static gint read_all_used_files(GDataInputStream* f, MenuCache* cache,
+                                MenuCacheFileDir*** all_used_files)
 {
     char *line;
     gsize len;
     int i, n;
-    char** dirs;
+    MenuCacheFileDir** dirs;
 
     line = g_data_input_stream_read_line(f, &len, cache->cancellable, NULL);
     if(G_UNLIKELY(line == NULL))
-        return FALSE;
+        return -1;
 
-    cache->n_all_used_files = n = atoi( line );
-    dirs = g_new0( char*, n + 1 );
+    n = atoi( line );
     g_free(line);
+    if (G_UNLIKELY(n <= 0))
+        return n;
+
+    dirs = g_new0( MenuCacheFileDir *, n );
 
     for( i = 0; i < n; ++i )
     {
         line = g_data_input_stream_read_line(f, &len, cache->cancellable, NULL);
         if(G_UNLIKELY(line == NULL))
         {
-            g_strfreev(dirs);
-            cache->n_all_used_files = 0;
-            return FALSE;
+            while (i-- > 0)
+                menu_cache_file_dir_unref(dirs[i]);
+            g_free(dirs);
+            return -1;
         }
-
-        dirs[i] = line; /* don't include \n */
+        dirs[i] = g_new(MenuCacheFileDir, 1);
+        dirs[i]->n_ref = 1;
+        dirs[i]->dir = line; /* don't include \n */
     }
-    cache->all_used_files = dirs;
-    return TRUE;
+    *all_used_files = dirs;
+    return n;
 }
 
 static gboolean read_all_known_des(GDataInputStream* f, MenuCache* cache)
@@ -447,7 +471,6 @@ void menu_cache_unref(MenuCache* cache)
         g_free( cache->menu_name );
         g_free(cache->reg);
         /* g_free( cache->menu_file_path ); */
-        g_strfreev( cache->all_used_files );
         g_strfreev(cache->known_des);
         g_slist_free(cache->notifiers);
         g_slice_free( MenuCache, cache );
@@ -606,6 +629,8 @@ gboolean menu_cache_reload( MenuCache* cache )
     GFile* file;
     GFileInputStream* istr = NULL;
     GDataInputStream* f;
+    MenuCacheFileDir** all_used_files;
+    int i, n;
 
     file = g_file_new_for_path(cache->cache_file);
     if(!file)
@@ -648,12 +673,11 @@ gboolean menu_cache_reload( MenuCache* cache )
         MENU_CACHE_UNLOCK;
         goto _fail;
     }
-    g_strfreev( cache->all_used_files );
 
     /* get all used files */
-    if( ! read_all_used_files( f, cache ) )
+    n = read_all_used_files( f, cache, &all_used_files );
+    if (n <= 0)
     {
-        cache->all_used_files = NULL;
         MENU_CACHE_UNLOCK;
         goto _fail;
     }
@@ -664,6 +688,9 @@ gboolean menu_cache_reload( MenuCache* cache )
     {
         cache->known_des = NULL;
         MENU_CACHE_UNLOCK;
+        for (i = 0; i < n; i++)
+            menu_cache_file_dir_unref(all_used_files[i]);
+        g_free(all_used_files);
 _fail:
         g_object_unref(f);
         return FALSE;
@@ -672,13 +699,17 @@ _fail:
     if(cache->root_dir)
         menu_cache_item_unref( MENU_CACHE_ITEM(cache->root_dir) );
 
-    cache->root_dir = (MenuCacheDir*)read_item( f, cache );
+    cache->root_dir = (MenuCacheDir*)read_item( f, cache, all_used_files, n );
     g_object_unref(f);
 
     g_idle_add_full(G_PRIORITY_HIGH_IDLE, reload_notify, menu_cache_ref(cache),
                     (GDestroyNotify)menu_cache_unref);
     MENU_CACHE_UNLOCK;
 
+    for (i = 0; i < n; i++)
+        menu_cache_file_dir_unref(all_used_files[i]);
+    g_free(all_used_files);
+
     return TRUE;
 }
 
@@ -707,6 +738,8 @@ gboolean menu_cache_item_unref(MenuCacheItem* item)
         g_free( item->comment );
         g_free( item->icon );
 
+        menu_cache_file_dir_unref(item->file_dir);
+
         if( item->file_name && item->file_name != item->id )
             g_free( item->file_name );
 
@@ -855,7 +888,7 @@ const char* menu_cache_item_get_file_basename( MenuCacheItem* item )
  */
 const char* menu_cache_item_get_file_dirname( MenuCacheItem* item )
 {
-    return item->file_dir;
+    return item->file_dir->dir + 1;
 }
 
 /**
@@ -874,7 +907,7 @@ char* menu_cache_item_get_file_path( MenuCacheItem* item )
 {
     if( ! item->file_name || ! item->file_dir )
         return NULL;
-    return g_build_filename( item->file_dir, item->file_name, NULL );
+    return g_build_filename( item->file_dir->dir + 1, item->file_name, NULL );
 }
 
 /**
diff --git a/libmenu-cache/menu-cache.h b/libmenu-cache/menu-cache.h
deleted file mode 100644 (file)
index 9f6d923..0000000
+++ /dev/null
@@ -1,176 +0,0 @@
-/*
- *      menu-cache.h
- *
- *      libmenu-cache is a small convinient library used to access
- *      caches of freedesktop.org menus generated by menu-cache-gen.
- *
- *      Copyright 2008 PCMan <pcman.tw@gmail.com>
- *      Copyright 2012-2013 Andriy Grytsenko (LStranger) <andrej@rep.kiev.ua>
- *
- *      This program is free software; you can redistribute it and/or modify
- *      it under the terms of the GNU General Public License as published by
- *      the Free Software Foundation; either version 2 of the License, or
- *      (at your option) any later version.
- *
- *      This program is distributed in the hope that it will be useful,
- *      but WITHOUT ANY WARRANTY; without even the implied warranty of
- *      MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- *      GNU General Public License for more details.
- *
- *      You should have received a copy of the GNU General Public License
- *      along with this program; if not, write to the Free Software
- *      Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
- *      MA 02110-1301, USA.
- */
-
-#ifndef __MENU_CACHE_H__
-#define __MENU_CACHE_H__
-
-#include <glib.h>
-
-G_BEGIN_DECLS
-
-#define __VERSION_MAJOR 0
-#define __VERSION_MINOR 6
-#define __VERSION_MICRO 0
-
-#define MENU_CACHE_CHECK_VERSION(_a,_b,_c) \
-    (__VERSION_MAJOR > _a || \
-    (__VERSION_MAJOR == _a && __VERSION_MINOR > _b) || \
-    (__VERSION_MAJOR == _a && __VERSION_MINOR == _b && __VERSION_MICRO >= _c))
-
-#define    MENU_CACHE_ITEM(x)    ((MenuCacheItem*)x)
-#define    MENU_CACHE_DIR(x)    ((MenuCacheDir*)x)
-#define    MENU_CACHE_APP(x)    ((MenuCacheApp*)x)
-
-typedef struct _MenuCacheItem MenuCacheItem;
-typedef struct _MenuCacheDir MenuCacheDir;
-typedef struct _MenuCacheApp MenuCacheApp;
-typedef struct _MenuCache MenuCache;
-
-/**
- * MenuCacheType:
- * @MENU_CACHE_TYPE_NONE: invalid type
- * @MENU_CACHE_TYPE_DIR: item #MenuCacheDir
- * @MENU_CACHE_TYPE_APP: item #MenuCacheApp
- * @MENU_CACHE_TYPE_SEP: menu separator
- *
- * type of #MenuCacheItem.
- */
-typedef enum
-{
-    MENU_CACHE_TYPE_NONE,
-    MENU_CACHE_TYPE_DIR,
-    MENU_CACHE_TYPE_APP,
-    MENU_CACHE_TYPE_SEP
-}MenuCacheType;
-
-/**
- * MenuCacheShowFlag:
- * @SHOW_IN_LXDE: show in LXDE
- * @SHOW_IN_GNOME: show in GNOME
- * @SHOW_IN_KDE: show in KDE
- * @SHOW_IN_XFCE: show in XFCE
- * @SHOW_IN_ROX: show in ROX
- *
- * bitmask of desktop environments where the item should be visible.
- */
-typedef enum
-{
-    SHOW_IN_LXDE = 1 << 0,
-    SHOW_IN_GNOME = 1 << 1,
-    SHOW_IN_KDE = 1 << 2,
-    SHOW_IN_XFCE = 1 << 3,
-    SHOW_IN_ROX = 1 << 4,
-    /*< private >*/
-    N_KNOWN_DESKTOPS = 5
-}MenuCacheShowFlag;
-
-/**
- * MenuCacheItemFlag:
- * @FLAG_USE_TERMINAL: run this application in terminal
- * @FLAG_USE_SN: use Startup Notify for this application
- * @FLAG_IS_NODISPLAY: application is hidden from menu
- *
- * flags for application run.
- */
-typedef enum
-{
-    FLAG_USE_TERMINAL = 1 << 0,
-    FLAG_USE_SN = 1 << 1,
-    FLAG_IS_NODISPLAY = 1 << 2
-}MenuCacheItemFlag;
-
-void menu_cache_init(int flags);
-
-MenuCache* menu_cache_lookup( const char* menu_name );
-MenuCache* menu_cache_lookup_sync( const char* menu_name );
-/* MenuCache* menu_cache_lookup_by_cache_id( const char* md5 ); */
-
-MenuCache* menu_cache_ref(MenuCache* cache);
-void menu_cache_unref(MenuCache* cache);
-
-gboolean menu_cache_reload( MenuCache* cache );
-
-#ifndef G_DISABLE_DEPRECATED
-MenuCacheDir* menu_cache_get_root_dir( MenuCache* cache );
-MenuCacheDir* menu_cache_get_dir_from_path( MenuCache* cache, const char* path );
-#endif
-MenuCacheDir* menu_cache_dup_root_dir( MenuCache* cache );
-MenuCacheItem* menu_cache_item_from_path( MenuCache* cache, const char* path );
-
-typedef struct _MenuCacheNotifyId* MenuCacheNotifyId;
-typedef void (*MenuCacheReloadNotify)(MenuCache* cache, gpointer user_data);
-
-MenuCacheNotifyId menu_cache_add_reload_notify(MenuCache* cache,
-                                               MenuCacheReloadNotify func,
-                                               gpointer user_data);
-void menu_cache_remove_reload_notify(MenuCache* cache, MenuCacheNotifyId notify_id);
-
-guint32 menu_cache_get_desktop_env_flag( MenuCache* cache, const char* desktop_env );
-
-
-MenuCacheItem* menu_cache_item_ref(MenuCacheItem* item);
-gboolean menu_cache_item_unref(MenuCacheItem* item);
-
-MenuCacheType menu_cache_item_get_type( MenuCacheItem* item );
-const char* menu_cache_item_get_id( MenuCacheItem* item );
-const char* menu_cache_item_get_name( MenuCacheItem* item );
-const char* menu_cache_item_get_comment( MenuCacheItem* item );
-const char* menu_cache_item_get_icon( MenuCacheItem* item );
-
-const char* menu_cache_item_get_file_basename( MenuCacheItem* item );
-const char* menu_cache_item_get_file_dirname( MenuCacheItem* item );
-char* menu_cache_item_get_file_path( MenuCacheItem* item );
-
-#ifndef G_DISABLE_DEPRECATED
-MenuCacheDir* menu_cache_item_get_parent( MenuCacheItem* item );
-GSList* menu_cache_dir_get_children( MenuCacheDir* dir );
-#endif
-MenuCacheDir* menu_cache_item_dup_parent( MenuCacheItem* item );
-GSList* menu_cache_dir_list_children( MenuCacheDir* dir );
-MenuCacheItem *menu_cache_find_child_by_id(MenuCacheDir *dir, const char *id);
-MenuCacheItem *menu_cache_find_child_by_name(MenuCacheDir *dir, const char *name);
-
-char* menu_cache_dir_make_path( MenuCacheDir* dir );
-
-const char* menu_cache_app_get_exec( MenuCacheApp* app );
-const char* menu_cache_app_get_working_dir( MenuCacheApp* app );
-
-guint32 menu_cache_app_get_show_flags( MenuCacheApp* app );
-gboolean menu_cache_app_get_is_visible( MenuCacheApp* app, guint32 de_flags );
-gboolean menu_cache_dir_is_visible(MenuCacheDir *dir);
-
-gboolean menu_cache_app_get_use_terminal( MenuCacheApp* app );
-gboolean menu_cache_app_get_use_sn( MenuCacheApp* app );
-
-GSList* menu_cache_list_all_apps(MenuCache* cache);
-
-MenuCacheItem *menu_cache_find_item_by_id(MenuCache *cache, const char *id);
-/*
-MenuCacheApp* menu_cache_find_app_by_exec( const char* exec );
-*/
-G_END_DECLS
-
-#endif
-