aboutsummaryrefslogtreecommitdiff
path: root/acinclude.m4
blob: 332157c94bcbaf90d8f812ae6595b89bd36bd665 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
AC_DEFUN([CHECK_PLIBC],
[
    # On windows machines, check if PlibC is available. First try without -plibc
    AC_TRY_LINK(
    [
        #include <plibc.h>
    ],[
        plibc_init("", "");
    ],[
        AC_MSG_RESULT(yes)
        PLIBC_CPPFLAGS=
        PLIBC_LDFLAGS=
        PLIBC_LIBS=
    ],[

        # now with -plibc
        AC_CHECK_LIB(plibc,plibc_init,
        [
            PLIBC_CPPFLAGS=
            PLIBC_LDFLAGS=
            PLIBC_LIBS=-lplibc
        ],[
            AC_MSG_CHECKING(if PlibC is installed)
            save_CPPFLAGS="$CPPFLAGS"
            CPPFLAGS="$CPPFLAGS -lplibc"
            AC_TRY_LINK(
            [
                #include <plibc.h>
            ],[
                plibc_init("", "");
            ],[
                AC_MSG_RESULT(yes)
                PLIBC_CPPFLAGS=-lplibc
                PLIBC_LDFLAGS=-lplibc
                PLIBC_LIBS=
            ],[
                AC_MSG_ERROR([PlibC is not available on your windows machine!])
            ])
        ])
    ])
    CPPFLAGS="$save_CPPFLAGS"
])

# See: http://gcc.gnu.org/ml/gcc/2000-05/msg01141.html
AC_DEFUN([CHECK_PTHREAD],
[
    # first try without -pthread
    AC_TRY_LINK(
    [
        #include <pthread.h>
    ],[
        pthread_create(0,0,0,0);
    ],[
        AC_MSG_RESULT(yes)
        PTHREAD_CPPFLAGS=
        PTHREAD_LDFLAGS=
        PTHREAD_LIBS=
    ],[

        # now with -pthread
        AC_CHECK_LIB(pthread,pthread_create,
        [
            PTHREAD_CPPFLAGS=
            PTHREAD_LDFLAGS=
            PTHREAD_LIBS=-lpthread
        ],[
            AC_MSG_CHECKING(if compiler supports -pthread)
            save_CPPFLAGS="$CPPFLAGS"
            CPPFLAGS="$CPPFLAGS -pthread"
            AC_TRY_LINK(
            [
                #include <pthread.h>
            ],[
                pthread_create(0,0,0,0);
            ],[
                AC_MSG_RESULT(yes)
                PTHREAD_CPPFLAGS=-pthread
                PTHREAD_LDFLAGS=-pthread
                PTHREAD_LIBS=
            ],[
                AC_MSG_RESULT(no)
                AC_MSG_CHECKING(if compiler supports -pthreads)
                save_CPPFLAGS="$CPPFLAGS"
                CPPFLAGS="$save_CPPFLAGS -pthreads"
                AC_TRY_LINK(
                [
                    #include <pthread.h>
                ],[
                    pthread_create(0,0,0,0);
                ],[
                    AC_MSG_RESULT(yes)
                    PTHREAD_CPPFLAGS=-pthreads
                    PTHREAD_LDFLAGS=-pthreads
                    PTHREAD_LIBS=
                ],[
                    AC_MSG_RESULT(no)
                    AC_MSG_CHECKING(if compiler supports -threads)
                    save_CPPFLAGS="$CPPFLAGS"
                    CPPFLAGS="$save_CPPFLAGS -threads"
                    AC_TRY_LINK(
                    [
                        #include <pthread.h>
                    ],[
                        pthread_create(0,0,0,0);
                    ],[
                        AC_MSG_RESULT(yes)
                        PTHREAD_CPPFLAGS=-threads
                        PTHREAD_LDFLAGS=-threads
                        PTHREAD_LIBS=
                    ],[
                        AC_MSG_ERROR([Your system is not supporting pthreads!])
                    ])
                ])
            ])
            CPPFLAGS="$save_CPPFLAGS"
        ])
    ])
])