File: README

package info (click to toggle)
scrypt 1.3.3-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 2,368 kB
  • sloc: ansic: 5,763; sh: 5,504; makefile: 257
file content (44 lines) | stat: -rw-r--r-- 2,018 bytes parent folder | download | duplicates (4)
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
POSIX compatibility code
------------------------

This code exists to work around some common POSIX compatibility issues.
POSIX specifies that if the first line of a Makefile is ".POSIX:" then the
Makefile should be processed according to POSIX rules, including with CC=c99;
thus we should see behaviour consistent with a standard-compliant C99
compiler.

One POSIX compatibility check requires a runtime test.  This will be
automatically disabled if the build system detects that you are
cross-compiling for another platform, or it can be manually disabled by
setting DISABLE_POSIX_RUNTIME_CHECKS to a non-zero value.

- posix-cflags.sh: Detects if ${CC} supports certain POSIX features, and
  outputs a POSIXFAIL_ define if it is not supported so that we can work around
  the problem.

  The potential command-line flags are:
  - DPOSIXFAIL_MSG_NOSIGNAL: <sys/socket.h> not defining MSG_NOSIGNAL.
  - DPOSIXFAIL_CLOCK_REALTIME: <time.h> not defining CLOCK_REALTIME.
  - DPOSIXFAIL_CLOCK_GETTIME: <time.h> not declaring clock_gettime(), or
    clock_gettime() is not linkable.  The latter test requires a runtime check.
  - DPOSIXFAIL_INET_ADDRSTRLEN: <netinet/in.h> not defining
    INET_ADDRSTRLEN.
  - DPOSIXFAIL_INET6_ADDRSTRLEN: <netinet/in.h> not defining
    INET6_ADDRSTRLEN.
  - DPOSIXFAIL_ABSTRACT_DECLARATOR: ${CC} does not accept
    qualifiers in an abstract declarator.
  - DPOSIXFAIL_STAT_ST_MTIM: struct stat does not contain st_mtim.
  - std=c99: ${CC} does not accept the `restrict` keyword by default, but
    accepts it when given this flag.

- posix-cflags-filter.sh: Detects if ${CC} supports expected ${CFLAG} value(s).

  The potential ${CFLAGS} flags it checks are:
  - O2: some compilers only accept -O.

- posix-l.sh: Detects whether the linker supports certain POSIX features.

  The potential command-line flags are:
  - lrt lxnet: c99 is required to understand these options, and ignore them if
    the routines for which they specify linkage are already in the standard C
    library