From: Peng Huang Date: Mon, 12 Apr 2010 08:19:38 +0000 (+0800) Subject: Refine uuid checking in libc and libuuid X-Git-Tag: 1.3.10~238 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=058446491c9480ef1fab9e02c7f4b089cb71dcf2;p=platform%2Fupstream%2Fibus-libpinyin.git Refine uuid checking in libc and libuuid --- diff --git a/configure.ac b/configure.ac index 1a0ac62..b0b41e8 100644 --- a/configure.ac +++ b/configure.ac @@ -63,35 +63,29 @@ PKG_CHECK_MODULES(SQLITE, [ AC_PATH_PROG(SQLITE3, sqlite3) # check uuid -PKG_CHECK_MODULES(UUID, [ - uuid -], -[ - cat >>confdefs.h <<_ACEOF -#define HAVE_UUID_UUID_H 1 -#define HAVE_UUID_GENERATE 1 -_ACEOF -], -[ - uuid_revert_save_LIBS=$LIBS - AC_CHECK_HEADERS(uuid.h uuid/uuid.h sys/uuid.h) - AC_SEARCH_LIBS(uuid_create, uuid, [ - if test "$ac_cv_search_uuid_create" != "none required"; then - UUID_LIBS=$ac_cv_search_uuid_create - fi - AC_CHECK_FUNCS(uuid_create) - ], - [ - AC_SEARCH_LIBS(uuid_generate, uuid, [ - if test "$ac_cv_search_uuid_generate" != "none required"; then - UUID_LIBS=$ac_cv_search_uuid_generate - fi - AC_CHECK_FUNCS(uuid_generate) +AC_CHECK_FUNCS([uuid_create], [], [ + PKG_CHECK_MODULES(LIBUUID, uuid, [ + # uuid.pc exist + AC_DEFINE(HAVE_LIBUUID, 1, [Define if found libuuid]) + HAVE_LIBUUID=yes + ], [ + # uuid.pc does not exist + AC_CHECK_HEADERS(uuid/uuid.h, [ + AC_CHECK_LIB(uuid, uuid_generate, [ + LIBUUID_LIBS=-luuid + AC_DEFINE(HAVE_LIBUUID, 1, [Define if found libuuid]) + HAVE_LIBUUID=yes + ], [ + AC_MSG_ERROR([Can not find libuuid and uuid_create in libc!]) + ]) + ], [ + AC_MSG_ERROR([Can not find libuuid and uuid_create in libc!]) ]) ]) - LIBS=$uuid_revert_save_LIBS ]) +AM_CONDITIONAL(WITH_LIBUUID, test x"$HAVE_LIBUUID" = x"yes") + # check sigc PKG_CHECK_MODULES(SIGC, [ sigc++-2.0 diff --git a/src/Makefile.am b/src/Makefile.am index aadb95f..d7dc156 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -102,7 +102,6 @@ ibus_engine_pinyin_SOURCES = \ ibus_engine_pinyin_CXXFLAGS = \ @IBUS_CFLAGS@ \ @SQLITE_CFLAGS@ \ - @UUID_CFLAGS@ \ @SIGC_CFLAGS@ \ -DGETTEXT_PACKAGE=\"@GETTEXT_PACKAGE@\" \ -DPKGDATADIR=\"$(pkgdatadir)\" \ @@ -111,10 +110,14 @@ ibus_engine_pinyin_CXXFLAGS = \ ibus_engine_pinyin_LDADD = \ @IBUS_LIBS@ \ @SQLITE_LIBS@ \ - @UUID_LIBS@ \ @SIGC_LIBS@ \ $(NULL) +if WITH_LIBUUID +ibus_engine_pinyin_CXXFLAGS += $(LIBUUID_CFLAGS) +ibus_engine_pinyin_LDADD += $(LIBUUID_LIBS) +endif + BUILT_SOURCES = \ $(ibus_engine_built_c_sources) \ $(ibus_engine_built_h_sources) \ diff --git a/src/Util.h b/src/Util.h index 8b0f848..7f70ebe 100644 --- a/src/Util.h +++ b/src/Util.h @@ -2,16 +2,15 @@ #define __PY_UTIL_H_ #ifdef HAVE_CONFIG_H -#include "config.h" +# include "config.h" #endif -#if defined(HAVE_UUID_H) -#include -#elif defined(HAVE_UUID_UUID_H) -#include -#elif defined(HAVE_SYS_UUID_H) -#include +#if defined(HAVE_UUID_CREATE) +# include +#elif defined(HAVE_LIBUUID) +# include #endif + #include #include #include "String.h" @@ -28,7 +27,7 @@ public: uuid_to_string (&u, &uuid, 0); g_strlcpy (m_uuid, uuid, sizeof(m_uuid)); free(uuid); -#elif defined(HAVE_UUID_GENERATE) +#elif defined(HAVE_LIBUUID) uuid_generate (u); uuid_unparse_lower (u, m_uuid); #endif