File: endianness

package info (click to toggle)
libnginx-mod-js 0.8.9-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 6,808 kB
  • sloc: ansic: 114,096; perl: 8,447; javascript: 2,520; exp: 487; sh: 322; xml: 312; python: 181; makefile: 18
file content (35 lines) | stat: -rw-r--r-- 794 bytes parent folder | download | duplicates (2)
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

# Copyright (C) Dmitry Volyntsev
# Copyright (C) NGINX, Inc.

njs_found=no

njs_feature="system byte ordering"
njs_feature_name=NJS_BYTE_ORDER
njs_feature_run=value
njs_feature_incs=
njs_feature_libs=-lm
njs_feature_test="#include <stdio.h>
                  #include <stdint.h>

                  int main(void) {
                      uint16_t x = 1; /* 0x0001 */
                      printf(\"%s\n\", (*((uint8_t *) &x) == 0) ? \"big\" : \"little\");
                      return 0;
                  }"
. auto/feature

if [ $njs_found = no ]; then
    echo
    echo "$0: error: cannot detect system byte ordering"
    echo
    exit 1;
fi

if [ $njs_feature_value = big ]; then
    njs_define=NJS_HAVE_BIG_ENDIAN . auto/define

else
    njs_define=NJS_HAVE_LITTLE_ENDIAN . auto/define

fi