Add callbacks for fork() (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 # Weak alias functions for linking without parlib
14 ifeq ($(subdir),stdlib)
15 sysdep_routines += parlib-compat
16 endif
17
18 # Any sysdep .c file you want needs to be added here, if it's not somewhere
19 # else already.  Many posix-ish .c files already are taken care of.  We also
20 # need to be careful to only include some of them for specific subdirs.
21 ifeq ($(subdir),socket)
22 sysdep_routines += sa_len plan9_sockets
23 sysdep_routines += fcntl-ext
24 endif
25 sysdep_headers += sys/syscall.h sys/tls.h
26
27 # We don't have the resolv subdir, but we still want parts of it.  Since we
28 # lack the subdir, we need to include the C files and headers manually.
29 ifeq ($(subdir),inet)
30 sysdep_routines += inet_addr inet_ntop inet_pton
31 endif
32 sysdep_headers += netdb.h resolv.h
33 sysdep_headers += arpa/nameser.h arpa/nameser_compat.h sys/bitypes.h
34
35 # plan 9 conversion routines.  all C files need to be in exactly one directory.
36 # stdlib seems like a reasonable place. */
37 ifeq ($(subdir),stdlib)
38 sysdep_routines += convD2M
39 sysdep_routines += convM2D
40 sysdep_routines += convM2S
41 sysdep_routines += convS2M
42 endif
43 sysdep_headers += fcall.h
44
45 # Syscall pack arg routines
46 ifeq ($(subdir),stdlib)
47 sysdep_routines += serialize
48 endif
49
50 # TLS related functions
51 ifeq ($(subdir),stdlib)
52 sysdep_routines += tls
53 endif
54
55 # User FDs
56 ifeq ($(subdir),stdlib)
57 sysdep_routines += user_fd
58 sysdep_routines += close_cb
59 sysdep_routines += fork_cb
60 endif
61 sysdep_headers += sys/user_fd.h
62 sysdep_headers += sys/close_cb.h
63 sysdep_headers += sys/fork_cb.h
64 # Epoll: uses User FDs, implemented in iplib
65 sysdep_headers += sys/epoll.h bits/epoll.h
66
67 # Eventfd, implemented in glibc
68 ifeq ($(subdir),stdlib)
69 sysdep_routines += eventfd
70 endif
71 sysdep_headers += sys/eventfd.h bits/eventfd.h
72
73 # time.h, override for struct timespec.  This overrides time/time.h from glibc,
74 # installed as usr/inc/time.h.
75 #
76 # It's pretty nasty though.  We need to have the sysdep twice in the Akaros
77 # directory, both copies of the same file.  First, we need regular time.h
78 # listed here to eventually get installed as usr/include/time.h.  This file is
79 # sysdeps/akaros/time.h.  We also need the same file at
80 # sysdeps/akaros/time/time.h, which will be used during compilation.
81 sysdep_headers += time.h