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
|