-
Notifications
You must be signed in to change notification settings - Fork 156
/
quickjs
112 lines (84 loc) · 3.27 KB
/
quickjs
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
# Copyright (C) Dmitry Volyntsev
# Copyright (C) NGINX, Inc.
NJS_QUICKJS_LIB=
NJS_HAVE_QUICKJS=NO
if [ $NJS_TRY_QUICKJS = YES ]; then
njs_found=no
njs_feature="QuickJS library -lquickjs.lto"
njs_feature_name=NJS_HAVE_QUICKJS
njs_feature_run=yes
njs_feature_incs=
njs_feature_libs="-lquickjs.lto -lm -ldl -lpthread"
njs_feature_test="#if defined(__GNUC__) && (__GNUC__ >= 8)
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored \"-Wcast-function-type\"
#endif
#include <quickjs.h>
int main() {
JSRuntime *rt;
rt = JS_NewRuntime();
JS_FreeRuntime(rt);
return 0;
}"
. auto/feature
if [ $njs_found = no ]; then
njs_feature="QuickJS library -lquickjs"
njs_feature_libs="-lquickjs -lm -ldl -lpthread"
. auto/feature
fi
if [ $njs_found = no ]; then
njs_feature="QuickJS library -I/usr/include/quickjs/ -L/usr/lib/quickjs/ -lquickjs.lto"
njs_feature_incs="/usr/include/quickjs/"
njs_feature_libs="-L/usr/lib/quickjs/ -lquickjs.lto -lm -ldl -lpthread"
. auto/feature
fi
if [ $njs_found = no ]; then
njs_feature="QuickJS library -I/usr/include/quickjs/ -L/usr/lib/quickjs/ -lquickjs"
njs_feature_incs="/usr/include/quickjs/"
njs_feature_libs="-L/usr/lib/quickjs/ -lquickjs -lm -ldl -lpthread"
. auto/feature
fi
if [ $njs_found = yes ]; then
njs_feature="QuickJS JS_GetClassID()"
njs_feature_test="#if defined(__GNUC__) && (__GNUC__ >= 8)
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored \"-Wcast-function-type\"
#endif
#include <quickjs.h>
int main() {
(void) JS_GetClassID;
return 0;
}"
. auto/feature
if [ $njs_found = no ]; then
echo
echo $0: error: QuickJS library found, but JS_GetClassID\(\) is missing.
echo
exit 1;
fi
njs_feature="QuickJS JS_NewTypedArray()"
njs_feature_test="#if defined(__GNUC__) && (__GNUC__ >= 8)
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored \"-Wcast-function-type\"
#endif
#include <quickjs.h>
int main() {
(void) JS_NewTypedArray;
return 0;
}"
. auto/feature
if [ $njs_found = yes ]; then
njs_define=NJS_HAVE_QUICKJS_NEW_TYPED_ARRAY . auto/define
fi
NJS_HAVE_QUICKJS=YES
NJS_QUICKJS_LIB="$njs_feature_libs"
NJS_LIB_INCS="$NJS_LIB_INCS $njs_feature_incs"
NJS_LIB_AUX_LIBS="$NJS_LIB_AUX_LIBS $njs_feature_libs"
fi
if [ $NJS_QUICKJS = YES -a $NJS_HAVE_QUICKJS = NO ]; then
echo
echo $0: error: no QuickJS library found.
echo
exit 1;
fi
fi