flush
[m6w6/ext-psi] / m4 / stdlib.m4
index c84d44d1a38da74415d518e2a761fba7da628d4b..4f2f7397fb9dfc7919cf58a1fca6fff6551e7598 100644 (file)
@@ -1,10 +1,24 @@
-AC_DEFUN(PSI_CHECK_STDLIB, [
+PSI_CHECK_STDLIB() {
        AC_CHECK_HEADERS(stdlib.h)
 
+       PSI_STRUCT(div_t, [
+               int quot,
+               int rem
+       ])
+       PSI_STRUCT(ldiv_t, [
+               long quot,
+               long rem
+       ])
+       PSI_STRUCT(lldiv_t, [
+               long long quot,
+               long long rem
+       ])
+
        PSI_CONST(EXIT_FAILURE, int)
        PSI_CONST(EXIT_SUCCESS, int)
        PSI_CONST(RAND_MAX, int)
-       PSI_CONST(MB_CUR_MAX, int)
+       
+       PSI_MACRO(int MB_CUR_MAX)
 
        PSI_DECL(void _Exit, [(int status)])
        PSI_DECL(void abort, [()])
@@ -23,7 +37,8 @@ AC_DEFUN(PSI_CHECK_STDLIB, [
        PSI_DECL(long jrand48, [(unsigned short xsubi@<:@3@:>@)])
        PSI_DECL(long labs, [(long l)])
        PSI_DECL(void lcong48, [(unsigned short param@<:@7@:>@)])
-       PSI_DECL(long ldiv, [(long numerator, long denominator)])
+       PSI_DECL(ldiv_t ldiv, [(long numerator, long denominator)])
+       PSI_DECL(lldiv_t lldiv, [(long long numerator, long long denominator)])
        PSI_DECL(long lrand48, [()])
        PSI_DECL(int mblen, [(const char *s, size_t n)])
        PSI_DECL(size_t mbstowcs, [(wchar_t *dest, char *src, size_t n)])
@@ -42,7 +57,11 @@ AC_DEFUN(PSI_CHECK_STDLIB, [
        PSI_DECL(char *realpath, [(char *path, char *resolved)])
        PSI_DECL(unsigned short *seed48, [(unsigned short seed16v@<:@3@:>@)])
        PSI_DECL(int setenv, [(char *var)])
-       PSI_DECL(void setkey, [(char *key)])
+       
+       AC_SEARCH_LIBS(setkey, crypt, [
+               PSI_DECL(void setkey, [(char *key)])
+       ])
+       
        PSI_DECL(char *setstate, [(char *state)])
        PSI_DECL(void srand, [(unsigned seed)])
        PSI_DECL(void srand48, [(long seed)])
@@ -50,11 +69,11 @@ AC_DEFUN(PSI_CHECK_STDLIB, [
        PSI_DECL(double strtod, [(char *nptr, char **endptr)])
        PSI_DECL(float strtof, [(char *nptr, char **endptr)])
        PSI_DECL(long strtol, [(char *nptr, char **endptr)])
+       PSI_DECL(long double strtold, [(const char *nptr, char **endptr)])
        PSI_DECL(unsigned long strtoul, [(char *nptr, char **endptr)])
        PSI_DECL(int system, [(char *command)])
        PSI_DECL(int unlockpt, [(int fd)])
        PSI_DECL(int unsetenv, [(char *var)])
        PSI_DECL(size_t wcstombs, [(char *dest, wchar_t *src, size_t n)])
        PSI_DECL(int wctomb, [(char *s, wchar_t wc)])
-])
-
+}