llvm-project/libc/include/CMakeLists.txt
Siva Chandra Reddy e5a743c4f6 Add implementations of POSIX mmap and munmap functions.
Summary:
A set of of linux x86_64 internal syscall helpers have also been added.

This change does not try to be perfect with respect to OS and machine
abstractions. A TODO note has been added at places where such abstractions
would help and make the arrangement scalable and cleaner. Addressing the
TODOs and building such abstractions is not in the scope of this change.
It is hoped that follow up changes cleaning up the problem areas and
addressing the TODOs will better illustrate the need for the changes.

This change also does not try to imitate mmap and munmap implementations
of other libcs. The idea here is to put in the bare minimum required to
obtain a working mmap and munmap, and then add the rest of the
functionality on an as needed basis.

Reviewers: abrachet, phosek, stanshebs, theraven

Subscribers: mgorny, MaskRay, jfb, libc-commits

Tags: #libc-project

Differential Revision: https://reviews.llvm.org/D71634
2019-12-23 14:04:02 -08:00

70 lines
1.1 KiB
CMake

add_header(
llvm_libc_common_h
HDR
__llvm-libc-common.h
)
add_header(
libc_posix_types_h
HDR
__posix-types.h
)
add_header(
ctype_h
HDR
ctype.h
DEPENDS
llvm_libc_common_h
)
add_header(
math_h
HDR
math.h
DEPENDS
llvm_libc_common_h
)
add_gen_header(
string_h
DEF_FILE string.h.def
GEN_HDR string.h
DEPENDS
llvm_libc_common_h
)
add_gen_header(
errno_h
DEF_FILE errno.h.def
PARAMS
platform_errno=../config/${LIBC_TARGET_OS}/errno.h.in
GEN_HDR errno.h
DATA_FILES
../config/${LIBC_TARGET_OS}/errno.h.in
)
# TODO: Not all platforms will have a include/sys directory. Add the sys
# directory and the targets for sys/*.h files conditional to the OS requiring
# them.
file(MAKE_DIRECTORY "sys")
add_gen_header(
sys_mman_h
DEF_FILE sys/mman.h.def
GEN_HDR sys/mman.h
DEPENDS
libc_posix_types_h
)
add_gen_header(
sys_syscall_h
DEF_FILE sys/syscall.h.def
GEN_HDR sys/syscall.h
PARAMS
syscall_numbers=../config/${LIBC_TARGET_OS}/syscall_numbers.h.inc
DATA_FILES
../config/${LIBC_TARGET_OS}/syscall_numbers.h.inc
)