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
ibus_engine_pinyin_CXXFLAGS = \
@IBUS_CFLAGS@ \
@SQLITE_CFLAGS@ \
- @UUID_CFLAGS@ \
@SIGC_CFLAGS@ \
-DGETTEXT_PACKAGE=\"@GETTEXT_PACKAGE@\" \
-DPKGDATADIR=\"$(pkgdatadir)\" \
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) \
#define __PY_UTIL_H_
#ifdef HAVE_CONFIG_H
-#include "config.h"
+# include "config.h"
#endif
-#if defined(HAVE_UUID_H)
-#include <uuid.h>
-#elif defined(HAVE_UUID_UUID_H)
-#include <uuid/uuid.h>
-#elif defined(HAVE_SYS_UUID_H)
-#include <sys/uuid.h>
+#if defined(HAVE_UUID_CREATE)
+# include <uuid.h>
+#elif defined(HAVE_LIBUUID)
+# include <uuid/uuid.h>
#endif
+
#include <sys/utsname.h>
#include <stdlib.h>
#include "String.h"
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