Synchronize makefile tweaks with 2.3 branch.
[kopensolaris-gnu/glibc.git] / timezone / private.h
index 75b3cb1..5de2f7d 100644 (file)
@@ -21,7 +21,7 @@
 
 #ifndef lint
 #ifndef NOID
-static char    privatehid[] = "@(#)private.h   7.49";
+static char    privatehid[] = "@(#)private.h   7.55";
 #endif /* !defined NOID */
 #endif /* !defined lint */
 
@@ -38,18 +38,26 @@ static char privatehid[] = "@(#)private.h   7.49";
 #define HAVE_GETTEXT           0
 #endif /* !defined HAVE_GETTEXT */
 
+#ifndef HAVE_INCOMPATIBLE_CTIME_R
+#define HAVE_INCOMPATIBLE_CTIME_R      0
+#endif /* !defined INCOMPATIBLE_CTIME_R */
+
 #ifndef HAVE_SETTIMEOFDAY
 #define HAVE_SETTIMEOFDAY      3
 #endif /* !defined HAVE_SETTIMEOFDAY */
 
 #ifndef HAVE_STRERROR
-#define HAVE_STRERROR          0
+#define HAVE_STRERROR          1
 #endif /* !defined HAVE_STRERROR */
 
 #ifndef HAVE_SYMLINK
 #define HAVE_SYMLINK           1
 #endif /* !defined HAVE_SYMLINK */
 
+#ifndef HAVE_SYS_STAT_H
+#define HAVE_SYS_STAT_H                1
+#endif /* !defined HAVE_SYS_STAT_H */
+
 #ifndef HAVE_SYS_WAIT_H
 #define HAVE_SYS_WAIT_H                1
 #endif /* !defined HAVE_SYS_WAIT_H */
@@ -66,6 +74,11 @@ static char  privatehid[] = "@(#)private.h   7.49";
 #define LOCALE_HOME            "/usr/lib/locale"
 #endif /* !defined LOCALE_HOME */
 
+#if HAVE_INCOMPATIBLE_CTIME_R
+#define asctime_r _incompatible_asctime_r
+#define ctime_r _incompatible_ctime_r
+#endif /* HAVE_INCOMPATIBLE_CTIME_R */
+
 /*
 ** Nested includes
 */
@@ -114,16 +127,6 @@ static char        privatehid[] = "@(#)private.h   7.49";
 */
 
 /*
-** SunOS 4.1.1 cc lacks const.
-*/
-
-#ifndef const
-#ifndef __STDC__
-#define const
-#endif /* !defined __STDC__ */
-#endif /* !defined const */
-
-/*
 ** SunOS 4.1.1 cc lacks prototypes.
 */
 
@@ -187,13 +190,25 @@ extern int        unlink P((const char * filename));
 ** But some newer errno.h implementations define it as a macro.
 ** Fix the former without affecting the latter.
 */
+
 #ifndef errno
 extern int errno;
 #endif /* !defined errno */
 
 /*
+** Some time.h implementations don't declare asctime_r.
+** Others might define it as a macro.
+** Fix the former without affecting the latter.
+*/
+
+#ifndef asctime_r
+extern char *  asctime_r();
+#endif
+
+/*
 ** Private function declarations.
 */
+
 char * icalloc P((int nelem, int elsize));
 char * icatalloc P((char * old, const char * new));
 char * icpyalloc P((const char * string));
@@ -203,7 +218,6 @@ void        icfree P((char * pointer));
 void   ifree P((char * pointer));
 char * scheck P((const char *string, const char *format));
 
-
 /*
 ** Finally, some convenience items.
 */
@@ -224,6 +238,15 @@ char *     scheck P((const char *string, const char *format));
 #define TYPE_SIGNED(type) (((type) -1) < 0)
 #endif /* !defined TYPE_SIGNED */
 
+/*
+** Since the definition of TYPE_INTEGRAL contains floating point numbers,
+** it cannot be used in preprocessor directives.
+*/
+
+#ifndef TYPE_INTEGRAL
+#define TYPE_INTEGRAL(type) (((type) 0.5) != 0.5)
+#endif /* !defined TYPE_INTEGRAL */
+
 #ifndef INT_STRLEN_MAXIMUM
 /*
 ** 302 / 1000 is log10(2.0) rounded up.
@@ -277,8 +300,15 @@ char *     scheck P((const char *string, const char *format));
 #define TZ_DOMAIN "tz"
 #endif /* !defined TZ_DOMAIN */
 
+#if HAVE_INCOMPATIBLE_CTIME_R
+#undef asctime_r
+#undef ctime_r
+char *asctime_r P((struct tm const *, char *));
+char *ctime_r P((time_t const *, char *));
+#endif /* HAVE_INCOMPATIBLE_CTIME_R */
+
 /*
-** UNIX was a registered trademark of UNIX System Laboratories in 1993.
+** UNIX was a registered trademark of The Open Group in 2003.
 */
 
 #endif /* !defined PRIVATE_H */