mirror of https://github.com/roytam1/UXP
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
92 lines
2.7 KiB
92 lines
2.7 KiB
# -*- Mode: python; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 40 -*- |
|
# This Source Code Form is subject to the terms of the Mozilla Public |
|
# License, v. 2.0. If a copy of the MPL was not distributed with this |
|
# file, You can obtain one at http://mozilla.org/MPL/2.0/. |
|
|
|
# Check for headers defining standard int types. |
|
check_header('stdint.h') |
|
have_inttypes = check_header('inttypes.h') |
|
|
|
# Assume we have ansi C header files available. |
|
set_define('STDC_HEADERS', True) |
|
|
|
set_config('HAVE_INTTYPES_H', have_inttypes) |
|
|
|
building_linux = depends(target)(lambda target: target.kernel == 'Linux') |
|
|
|
have_malloc = check_header('malloc.h') |
|
|
|
check_header('alloca.h') |
|
|
|
add_old_configure_assignment('HAVE_MALLOC_H', have_malloc) |
|
|
|
check_headers( |
|
'sys/byteorder.h', |
|
'getopt.h', |
|
'unistd.h', |
|
'nl_types.h', |
|
'cpuid.h', |
|
when=non_msvc_compiler, |
|
) |
|
|
|
# These are all the places some variant of statfs can be hiding. |
|
check_headers( |
|
'sys/statvfs.h', |
|
'sys/statfs.h', |
|
'sys/vfs.h', |
|
'sys/mount.h', |
|
when=non_msvc_compiler, |
|
) |
|
|
|
# Quota support |
|
check_header('sys/quota.h', |
|
when=non_msvc_compiler) |
|
check_header('linux/quota.h', |
|
includes=['sys/socket.h'], |
|
when=building_linux) |
|
|
|
# SCTP support - needs various network include headers |
|
check_headers( |
|
'linux/if_addr.h', |
|
'linux/rtnetlink.h', |
|
includes=['sys/socket.h'], |
|
when=building_linux, |
|
) |
|
|
|
check_header('sys/queue.h', |
|
when=non_msvc_compiler) |
|
|
|
check_headers( |
|
'sys/types.h', |
|
'netinet/in.h', |
|
'byteswap.h', |
|
when=non_msvc_compiler, |
|
) |
|
|
|
# TODO: Move these checks to file specific to --enable-project=js. |
|
have_perf_event_h = check_header('linux/perf_event.h', |
|
when=building_linux) |
|
|
|
js_option('--with-linux-headers', |
|
help='location where the Linux kernel headers can be found', |
|
nargs=1) |
|
|
|
passed_linux_header_flags = depends_if('--with-linux-headers')(lambda v: ['-I%s' % v[0]]) |
|
|
|
@depends_when(try_compile(includes=['asm/unistd.h'], |
|
body='return sizeof(__NR_perf_event_open);', |
|
flags=passed_linux_header_flags, |
|
check_msg='for perf_event_open system call'), |
|
when=have_perf_event_h) |
|
def have_perf_event_open(have_perf_event_open): |
|
if have_perf_event_open: |
|
return True |
|
|
|
set_config('HAVE_LINUX_PERF_EVENT_H', have_perf_event_open) |
|
|
|
@depends(passed_linux_header_flags, have_perf_event_open) |
|
def linux_headers_includes(passed_linux_header_flags, have_perf_event_open): |
|
if have_perf_event_open and passed_linux_header_flags: |
|
return passed_linux_header_flags[0] |
|
|
|
set_config('LINUX_HEADERS_INCLUDES', linux_headers_includes)
|
|
|