Untangling the glibc header rat's nest (P.2) (XCC)
[akaros.git] / tools / compilers / gcc-glibc / glibc-2.19-akaros / sysdeps / akaros / Makefile
1 CPPFLAGS += -DHAVE_MMAP=1
2 CPPFLAGS += -DHAVE_MUNMAP=1
3 CPPFLAGS += -D_LIBC_REENTRANT=1
4 CPPFLAGS += -fno-omit-frame-pointer
5
6 # from nptl/sysdeps/unix/sysv/linux/Makefile
7 CFLAGS-fork.c = $(libio-mtsafe)
8 # From nptl/Makefile
9 CFLAGS-flockfile.c = $(libio-mtsafe)
10 CFLAGS-ftrylockfile.c = $(libio-mtsafe)
11 CFLAGS-funlockfile.c = $(libio-mtsafe)
12
13 # Any sysdep .c file you want needs to be added here, if it's not somewhere
14 # else already.  Many posix-ish .c files already are taken care of.  We also
15 # need to be careful to only include some of them for specific subdirs.
16 ifeq ($(subdir),socket)
17 sysdep_routines += sa_len plan9_sockets
18 sysdep_routines += fcntl-ext
19 endif
20 sysdep_headers += sys/syscall.h sys/tls.h
21
22 # We don't have the resolv subdir, but we still want parts of it.  Since we
23 # lack the subdir, we need to include the C files and headers manually.
24 ifeq ($(subdir),inet)
25 sysdep_routines += inet_addr inet_ntop inet_pton
26 endif
27 sysdep_headers += netdb.h resolv.h
28 sysdep_headers += arpa/nameser.h arpa/nameser_compat.h sys/bitypes.h
29
30 # plan 9 conversion routines.  all C files need to be in exactly one directory.
31 # stdlib seems like a reasonable place. */
32 ifeq ($(subdir),stdlib)
33 sysdep_routines += convD2M
34 sysdep_routines += convM2D
35 sysdep_routines += convM2S
36 sysdep_routines += convS2M
37 endif
38 sysdep_headers += fcall.h
39
40 # Syscall pack arg routines
41 ifeq ($(subdir),stdlib)
42 sysdep_routines += serialize
43 endif
44
45 # TLS related functions
46 ifeq ($(subdir),stdlib)
47 sysdep_routines += tls
48 endif
49
50 # User FDs
51 ifeq ($(subdir),stdlib)
52 sysdep_routines += user_fd
53 endif
54 sysdep_headers += sys/user_fd.h
55 # Epoll: uses User FDs, implemented in iplib
56 sysdep_headers += sys/epoll.h bits/epoll.h
57
58 # Eventfd, implemented in glibc
59 ifeq ($(subdir),stdlib)
60 sysdep_routines += eventfd
61 endif
62 sysdep_headers += sys/eventfd.h bits/eventfd.h
63
64 # time.h, override for struct timespec.  This overrides time/time.h from glibc,
65 # installed as usr/inc/time.h.
66 #
67 # It's pretty nasty though.  We need to have the sysdep twice in the Akaros
68 # directory, both copies of the same file.  First, we need regular time.h
69 # listed here to eventually get installed as usr/include/time.h.  This file is
70 # sysdeps/akaros/time.h.  We also need the same file at
71 # sysdeps/akaros/time/time.h, which will be used during compilation.
72 sysdep_headers += time.h