]> git.ipfire.org Git - thirdparty/sarg.git/commitdiff
Disable the use of missing LC_MESSAGES under mingw
authorFrédéric Marchal <fmarchal@users.sourceforge.net>
Wed, 17 Feb 2010 14:40:45 +0000 (14:40 +0000)
committerFrédéric Marchal <fmarchal@users.sourceforge.net>
Wed, 17 Feb 2010 14:40:45 +0000 (14:40 +0000)
CMakeLists.txt
include/conf.h
include/config.h.in
log.c

index 518f8ef3036a65108d1cbf682693ceda752d982e..a36227dc395a72d48d6384ef89a75fc761e31c25 100755 (executable)
@@ -104,6 +104,7 @@ CHECK_INCLUDE_FILE(limits.h HAVE_LIMITS_H)
 CHECK_INCLUDE_FILE(math.h HAVE_MATH_H)
 CHECK_INCLUDE_FILE(locale.h HAVE_LOCALE_H)
 CHECK_INCLUDE_FILE(execinfo.h HAVE_EXECINFO_H)
+CHECK_INCLUDE_FILE(libintl.h HAVE_LIBINTL_H)
 
 CHECK_FUNCTION_EXISTS(bzero HAVE_BZERO)
 CHECK_FUNCTION_EXISTS(backtrace HAVE_BACKTRACE)
@@ -235,8 +236,8 @@ IF(HAVE_RLIM_T)
    ELSE(RLIM_T STREQUAL 4)
       MESSAGE("Unknown rlim_t size")
    ENDIF(RLIM_T STREQUAL 4)
-ELSE(HAVE_RLIM_T)
-   MESSAGE("Cannot detect the size of your system's rlim_t type")
+#ELSE(HAVE_RLIM_T)
+#   MESSAGE("Cannot detect the size of your system's rlim_t type")
 ENDIF(HAVE_RLIM_T)
 
 # Windows need lib wsock32
@@ -261,6 +262,22 @@ IF(NOT HAVE_MKSTEMP)
    ENDIF(IBERTY_LIB)
 ENDIF(NOT HAVE_MKSTEMP)
 
+# Gettext and friends
+IF(NOT HAVE_LC_MESSAGES)
+   UNSET(FILES)
+   IF(HAVE_LOCALE_H)
+      LIST(APPEND FILES "locale.h")
+   ENDIF(HAVE_LOCALE_H)
+   IF(HAVE_LIBINTL_H)
+      LIST(APPEND FILES "libintl.h")
+   ENDIF(HAVE_LIBINTL_H)
+   LIST(LENGTH FILES NFILES)
+   IF(NFILES GREATER 0)
+      MESSAGE("Search LC_MESSAGES in ${FILES}")
+      CHECK_SYMBOL_EXISTS(LC_MESSAGES "${FILES}" HAVE_LC_MESSAGES)
+   ENDIF(NFILES GREATER 0)
+ENDIF(NOT HAVE_LC_MESSAGES)
+
 # System particularities
 IF(CMAKE_SYSTEM_NAME STREQUAL "solaris")
    TARGET_LINK_LIBRARIES(sarg socket nsl)
index 73eed1a91830d833a8d2714ab7cf2ea0d88d1880..38de51e3f4d16bee3db44e00223ee1069917f1d9 100755 (executable)
@@ -121,7 +121,7 @@ int mkstemps(char *template, int suffixlen);
 #define mkstemp(template) mkstemps(template,0)
 #endif
 
-#ifdef ENABLE_NLS
+#if defined(ENABLE_NLS) && defined(HAVE_LIBINTL_H)
 #include <libintl.h>
 #define _(String) gettext(String)
 #ifdef gettext_noop
@@ -134,7 +134,7 @@ int mkstemps(char *template, int suffixlen);
 #define N_(String) (String)
 #define textdomain(String)
 #define bindtextdomain(Domain,Directory)
-#endif
+#endif //NLS
 
 #if defined(__MINGW32__)
 #define mkdir(p,m) _mkdir(p)
index 58c90d9df2643472b9532149136d4ba7248f70d9..5fde7107e541dcd6b666b9ddb2f826ea01113047 100644 (file)
@@ -44,6 +44,7 @@
 #cmakedefine HAVE_MATH_H
 #cmakedefine HAVE_LOCALE_H
 #cmakedefine HAVE_EXECINFO_H
+#cmakedefine HAVE_LIBINTL_H
 
 #cmakedefine IBERTY_LIB
 
@@ -57,4 +58,6 @@
 #define RLIM_STRING "@RLIM_STRING@"
 #define ICONV_CONST @ICONV_CONST@
 
+#cmakedefine HAVE_LC_MESSAGES
+
 #endif /*CONFIG_H*/
diff --git a/log.c b/log.c
index e051e9d2277d3dd208deda10d2c256715d2a6bff..4a750d96e90dd8d80dcb6a77ae274fdc417d0760 100644 (file)
--- a/log.c
+++ b/log.c
@@ -309,10 +309,13 @@ int main(int argc,char *argv[])
 
 #ifdef HAVE_LOCALE_H
    setlocale(LC_TIME,"");
-   setlocale (LC_MESSAGES, "");
 #endif
+
+#if defined(ENABLE_NLS) && defined(HAVE_LOCALE_H) && defined(HAVE_LC_MESSAGES)
+   setlocale (LC_MESSAGES, "");
    bindtextdomain (PACKAGE_NAME, LOCALEDIR);
    textdomain (PACKAGE_NAME);
+#endif //ENABLE_NLS
 
    NAccessLog=0;
    for(x=0; x<MAXLOGS; x++)