xref: /onnv-gate/usr/src/lib/libast/common/features/tmlib (revision 12068:08a39a083754)
14887Schinset	prototyped
24887Schin
3*12068SRoger.Faulkner@Oracle.COM_cc_export_dynamic = note{ probe CC.EXPORT.DYNAMIC supported }end run{
4*12068SRoger.Faulkner@Oracle.COM	case `{ probe -l C make cc | grep '^CC.EXPORT.DYNAMIC = .'; } 2>/dev/null` in
5*12068SRoger.Faulkner@Oracle.COM	'')	exit 1 ;;
6*12068SRoger.Faulkner@Oracle.COM	esac
7*12068SRoger.Faulkner@Oracle.COM}end
8*12068SRoger.Faulkner@Oracle.COM
94887Schintst	tzset_environ note{ tzset() bypasses user getenv() }end execute{
10*12068SRoger.Faulkner@Oracle.COM	#if _UWIN || !_cc_export_dynamic
11*12068SRoger.Faulkner@Oracle.COM	int main()
12*12068SRoger.Faulkner@Oracle.COM	{
13*12068SRoger.Faulkner@Oracle.COM		return 0;
14*12068SRoger.Faulkner@Oracle.COM	}
15*12068SRoger.Faulkner@Oracle.COM	#else
164887Schin	#include <time.h>
174887Schin	extern char**	environ;
184887Schin	extern char*	tzname[2];
194887Schin	#if _STD_
204887Schin	extern char* getenv(char* s)
214887Schin	#else
224887Schin	extern char* getenv(s)
234887Schin	char*	s;
244887Schin	#endif
254887Schin	{
264887Schin		return "foo0bar";
274887Schin	}
284887Schin	int main()
294887Schin	{
304887Schin		tzset();
314887Schin		return tzname[0] && !strcmp(tzname[0], "foo") &&
324887Schin		       tzname[1] && !strcmp(tzname[1], "bar");
334887Schin	}
34*12068SRoger.Faulkner@Oracle.COM	#endif
354887Schin}end
364887Schin
374887Schinif ( _tzset_environ ) {
384887Schin	#define tmlocaltime(p)		_tm_localtime(p)
394887Schin
404887Schin	extern struct tm*		_tm_localtime(const time_t*);
414887Schin}
424887Schinelse {
434887Schin	#define tmlocaltime(p)		localtime(p)
444887Schin}
454887Schinendif
46