r3397 - in trunk/libmutil: . include/libmutil m4 source

mikma at minisip.org mikma at minisip.org
Fri Aug 24 15:05:20 CEST 2007


Author: mikma
Date: 2007-08-24 15:05:19 +0200 (Fri, 24 Aug 2007)
New Revision: 3397

Modified:
   trunk/libmutil/Makefile.am
   trunk/libmutil/configure.ac
   trunk/libmutil/include/libmutil/mtime.h
   trunk/libmutil/libmutil.pc.in
   trunk/libmutil/m4/libmutil.m4
   trunk/libmutil/source/mtimeWin32.cxx
Log:
Auto detect support for 'struct timezone', and gettimeofday

Modified: trunk/libmutil/Makefile.am
===================================================================
--- trunk/libmutil/Makefile.am	2007-08-23 17:57:31 UTC (rev 3396)
+++ trunk/libmutil/Makefile.am	2007-08-24 13:05:19 UTC (rev 3397)
@@ -8,7 +8,7 @@
 
 pkgconfig_DATA = libmutil.pc
 
-AM_CPPFLAGS = -I$(top_srcdir)/include
+AM_CPPFLAGS = -I$(top_srcdir)/include $(EXTERNAL_CFLAGS)
 
 lib_LTLIBRARIES = libmutil.la
 libmutil_la_CXXFLAGS = $(PTHREAD_CFLAGS)

Modified: trunk/libmutil/configure.ac
===================================================================
--- trunk/libmutil/configure.ac	2007-08-23 17:57:31 UTC (rev 3396)
+++ trunk/libmutil/configure.ac	2007-08-24 13:05:19 UTC (rev 3397)
@@ -129,7 +129,7 @@
 dnl Checks for typedefs, structures, and compiler characteristics.
 AC_C_CONST
 AC_HEADER_TIME
-
+AM_MINISIP_CHECK_TIME
 AM_MINISIP_CHECK_NOTHING
 AM_MINISIP_CHECK_COMPLETE
 

Modified: trunk/libmutil/include/libmutil/mtime.h
===================================================================
--- trunk/libmutil/include/libmutil/mtime.h	2007-08-23 17:57:31 UTC (rev 3396)
+++ trunk/libmutil/include/libmutil/mtime.h	2007-08-24 13:05:19 UTC (rev 3397)
@@ -36,20 +36,26 @@
 	#ifdef __MINGW32__
 	#	include<sys/time.h>
 	#endif
+
+	#ifndef HAVE_STRUCT_TIMEZONE
 	/* Emulate gettimeofday (Ulrich Leodolter, 1/11/95).  */
 	struct timezone{
 			int tz_minuteswest;     /* Minutes west of GMT.  */
 			int tz_dsttime;     /* Nonzero if DST is ever in effect.  */
 	};
+	#endif	// HAVE_STRUCT_TIMEZONE
 
 	#ifdef _WIN32_WCE
 	//MS EVC++ 4.0 defines struct timeval in winsock.h and winsock2.h ... 
 	//it is sad, but we include winsock2.h just to obtain this structure ... 
 		#include<winsock2.h>
 	#endif
+
+	#ifndef HAVE_GETTIMEOFDAY
 extern "C" {
 	LIBMUTIL_API void gettimeofday (struct timeval *tv, struct timezone *tz);
 }
+	#endif	// HAVE_GETTIMEOFDAY
 #endif
 
 LIBMUTIL_API uint64_t mtime();

Modified: trunk/libmutil/libmutil.pc.in
===================================================================
--- trunk/libmutil/libmutil.pc.in	2007-08-23 17:57:31 UTC (rev 3396)
+++ trunk/libmutil/libmutil.pc.in	2007-08-24 13:05:19 UTC (rev 3397)
@@ -10,4 +10,4 @@
 Version: @VERSION@
 Libs: -L${libdir} -lmutil
 Libs.private: @LIBS@
-Cflags: -I${includedir}
+Cflags: -I${includedir} @EXTERNAL_CFLAGS@

Modified: trunk/libmutil/m4/libmutil.m4
===================================================================
--- trunk/libmutil/m4/libmutil.m4	2007-08-23 17:57:31 UTC (rev 3396)
+++ trunk/libmutil/m4/libmutil.m4	2007-08-24 13:05:19 UTC (rev 3397)
@@ -139,6 +139,7 @@
 dnl		fi ])
 PKG_PROG_PKG_CONFIG
 AM_MINISIP_VERSION_INIT
+dnl AM_MINISIP_CHECK_TIME
 ])
 # End of AM_MINISIP_PACKAGE_INIT
 #
@@ -213,7 +214,34 @@
 # End of AM_MINISIP_ENABLE_TEST_SUITE
 #
 
+# AM_MINISIP_CHECK_TIME
+# ----------------------------------
+AC_DEFUN([AM_MINISIP_CHECK_TIME],[
+	AC_HEADER_TIME
+	AC_CHECK_TYPE([struct timezone],[
+		EXTERNAL_CFLAGS="$EXTERNAL_CFLAGS -DHAVE_STRUCT_TIMEZONE"
+	],,[dnl
+#if TIME_WITH_SYS_TIME
+# include <sys/time.h>
+# include <time.h>
+#else
+# if HAVE_SYS_TIME_H
+#  include <sys/time.h>
+# else
+#  include <time.h>
+# endif
+#endif
+	])
 
+	AC_CHECK_FUNC([gettimeofday],[
+		EXTERNAL_CFLAGS="$EXTERNAL_CFLAGS -DHAVE_GETTIMEOFDAY"
+	])
+
+	AC_SUBST(EXTERNAL_CFLAGS)
+])
+# End of AM_MINISIP_CHECK_TIME
+#
+
 dnl  =================================================================
 dnl               minisip `configure --with-m*` argument macros
 
@@ -405,6 +433,7 @@
 # End of AC_MINISIP_CHECK_COMPLETE
 #
 
+
 dnl  =================================================================
 dnl                          libmutil macros
 

Modified: trunk/libmutil/source/mtimeWin32.cxx
===================================================================
--- trunk/libmutil/source/mtimeWin32.cxx	2007-08-23 17:57:31 UTC (rev 3396)
+++ trunk/libmutil/source/mtimeWin32.cxx	2007-08-24 13:05:19 UTC (rev 3397)
@@ -50,6 +50,7 @@
 }
 
 
+#ifndef HAVE_GETTIMEOFDAY
 extern "C" {
 LIBMUTIL_API
 	void gettimeofday (struct timeval *tv, struct timezone *tz){
@@ -74,6 +75,7 @@
 		}
 	}
 }
+#endif	// HAVE_GETTIMEOFDAY
 
 LIBMUTIL_API int msleep(int32_t ms){
 	Sleep(ms); //function returns void



More information about the Minisip-devel mailing list