mirror of
https://github.com/VSadov/Satori.git
synced 2025-06-09 09:34:49 +09:00
Initial build configuration for Haiku (#86303)
* Haiku: Initial configuration support Initially recognize Haiku as a supported platform in Directory.Build.props and all scripts in eng/**. * Drop some unused configure values Drop some unused configure values from tryrun.cmake, configure.cmake and config.h.in. * Simplify error message in build.sh Simplified an error message for the `--os` option to avoid maintaining a duplicate list of OSes. Co-authored-by: Adeel Mujahid <3840695+am11@users.noreply.github.com>
This commit is contained in:
parent
7692f981f8
commit
445dac9e8e
11 changed files with 41 additions and 119 deletions
|
@ -20,6 +20,7 @@
|
|||
<_hostOS Condition="$([MSBuild]::IsOSPlatform('NETBSD'))">netbsd</_hostOS>
|
||||
<_hostOS Condition="$([MSBuild]::IsOSPlatform('ILLUMOS'))">illumos</_hostOS>
|
||||
<_hostOS Condition="$([MSBuild]::IsOSPlatform('SOLARIS'))">solaris</_hostOS>
|
||||
<_hostOS Condition="$([MSBuild]::IsOSPlatform('HAIKU'))">haiku</_hostOS>
|
||||
<_hostOS Condition="$([MSBuild]::IsOSPlatform('WINDOWS'))">windows</_hostOS>
|
||||
<HostOS>$(_hostOS)</HostOS>
|
||||
<TargetOS Condition="'$(TargetOS)' == '' and '$(RuntimeIdentifier)' == 'browser-wasm'">browser</TargetOS>
|
||||
|
@ -257,6 +258,7 @@
|
|||
<TargetsFreeBSD Condition="'$(TargetOS)' == 'freebsd'">true</TargetsFreeBSD>
|
||||
<Targetsillumos Condition="'$(TargetOS)' == 'illumos'">true</Targetsillumos>
|
||||
<TargetsSolaris Condition="'$(TargetOS)' == 'solaris'">true</TargetsSolaris>
|
||||
<TargetsHaiku Condition="'$(TargetOS)' == 'haiku'">true</TargetsHaiku>
|
||||
<TargetsLinux Condition="'$(TargetOS)' == 'linux' or '$(TargetOS)' == 'android'">true</TargetsLinux>
|
||||
<TargetsLinuxBionic Condition="'$(_portableOS)' == 'linux-bionic'">true</TargetsLinuxBionic>
|
||||
<TargetsLinuxMusl Condition="'$(_portableOS)' == 'linux-musl'">true</TargetsLinuxMusl>
|
||||
|
@ -271,7 +273,7 @@
|
|||
<TargetsBrowser Condition="'$(TargetOS)' == 'browser'">true</TargetsBrowser>
|
||||
<TargetsWasi Condition="'$(TargetOS)' == 'wasi'">true</TargetsWasi>
|
||||
<TargetsWindows Condition="'$(TargetOS)' == 'windows'">true</TargetsWindows>
|
||||
<TargetsUnix Condition="'$(TargetsFreeBSD)' == 'true' or '$(Targetsillumos)' == 'true' or '$(TargetsSolaris)' == 'true' or '$(TargetsLinux)' == 'true' or '$(TargetsNetBSD)' == 'true' or '$(TargetsOSX)' == 'true' or '$(TargetsMacCatalyst)' == 'true' or '$(TargetstvOS)' == 'true' or '$(TargetsiOS)' == 'true' or '$(TargetsAndroid)' == 'true'">true</TargetsUnix>
|
||||
<TargetsUnix Condition="'$(TargetsFreeBSD)' == 'true' or '$(Targetsillumos)' == 'true' or '$(TargetsSolaris)' == 'true' or '$(TargetsHaiku)' == 'true' or '$(TargetsLinux)' == 'true' or '$(TargetsNetBSD)' == 'true' or '$(TargetsOSX)' == 'true' or '$(TargetsMacCatalyst)' == 'true' or '$(TargetstvOS)' == 'true' or '$(TargetsiOS)' == 'true' or '$(TargetsAndroid)' == 'true'">true</TargetsUnix>
|
||||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup>
|
||||
|
|
|
@ -32,7 +32,7 @@ usage()
|
|||
echo " [Default: Debug]"
|
||||
echo " --os Target operating system: windows, linux, freebsd, osx, maccatalyst, tvos,"
|
||||
echo " tvossimulator, ios, iossimulator, android, browser, wasi, netbsd, illumos, solaris"
|
||||
echo " linux-musl or linux-bionic."
|
||||
echo " linux-musl, linux-bionic or haiku."
|
||||
echo " [Default: Your machine's OS.]"
|
||||
echo " --outputrid <rid> Optional argument that overrides the target rid name."
|
||||
echo " --projects <value> Project or solution file(s) to build."
|
||||
|
@ -296,9 +296,11 @@ while [[ $# > 0 ]]; do
|
|||
os="linux"
|
||||
__PortableTargetOS=linux-musl
|
||||
;;
|
||||
haiku)
|
||||
os="haiku" ;;
|
||||
*)
|
||||
echo "Unsupported target OS '$2'."
|
||||
echo "The allowed values are windows, linux, freebsd, osx, maccatalyst, tvos, tvossimulator, ios, iossimulator, android, browser, wasi, illumos and solaris."
|
||||
echo "Try 'build.sh --help' for values supported by '--os'."
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
|
|
|
@ -214,6 +214,9 @@ elseif(CLR_CMAKE_HOST_SUNOS)
|
|||
elseif(CLR_CMAKE_HOST_OSX AND NOT CLR_CMAKE_HOST_MACCATALYST AND NOT CLR_CMAKE_HOST_IOS AND NOT CLR_CMAKE_HOST_TVOS)
|
||||
add_definitions(-D_XOPEN_SOURCE)
|
||||
add_linker_flag("-Wl,-bind_at_load")
|
||||
elseif(CLR_CMAKE_HOST_HAIKU)
|
||||
add_compile_options($<$<COMPILE_LANGUAGE:ASM>:-Wa,--noexecstack>)
|
||||
add_linker_flag("-Wl,--no-undefined")
|
||||
endif()
|
||||
|
||||
#------------------------------------
|
||||
|
@ -332,6 +335,8 @@ if (CLR_CMAKE_HOST_UNIX)
|
|||
message("Detected NetBSD amd64")
|
||||
elseif(CLR_CMAKE_HOST_SUNOS)
|
||||
message("Detected SunOS amd64")
|
||||
elseif(CLR_CMAKE_HOST_HAIKU)
|
||||
message("Detected Haiku x86_64")
|
||||
endif(CLR_CMAKE_HOST_OSX OR CLR_CMAKE_HOST_MACCATALYST)
|
||||
endif(CLR_CMAKE_HOST_UNIX)
|
||||
|
||||
|
@ -610,6 +615,8 @@ if(CLR_CMAKE_TARGET_UNIX)
|
|||
if(CLR_CMAKE_TARGET_OS_ILLUMOS)
|
||||
add_compile_definitions($<$<NOT:$<BOOL:$<TARGET_PROPERTY:IGNORE_DEFAULT_TARGET_OS>>>:TARGET_ILLUMOS>)
|
||||
endif()
|
||||
elseif(CLR_CMAKE_TARGET_HAIKU)
|
||||
add_compile_definitions($<$<NOT:$<BOOL:$<TARGET_PROPERTY:IGNORE_DEFAULT_TARGET_OS>>>:TARGET_HAIKU>)
|
||||
endif()
|
||||
elseif(CLR_CMAKE_TARGET_WASI)
|
||||
add_compile_definitions($<$<NOT:$<BOOL:$<TARGET_PROPERTY:IGNORE_DEFAULT_TARGET_OS>>>:TARGET_WASI>)
|
||||
|
|
|
@ -214,6 +214,12 @@ if(CLR_CMAKE_HOST_OS STREQUAL sunos)
|
|||
endif(SUNOS_KERNEL_KIND STREQUAL illumos OR CMAKE_CROSSCOMPILING)
|
||||
endif(CLR_CMAKE_HOST_OS STREQUAL sunos)
|
||||
|
||||
if(CLR_CMAKE_HOST_OS STREQUAL haiku)
|
||||
set(CLR_CMAKE_HOST_UNIX 1)
|
||||
set(CLR_CMAKE_HOST_UNIX_AMD64 1)
|
||||
set(CLR_CMAKE_HOST_HAIKU 1)
|
||||
endif(CLR_CMAKE_HOST_OS STREQUAL haiku)
|
||||
|
||||
if(CLR_CMAKE_HOST_OS STREQUAL windows)
|
||||
set(CLR_CMAKE_HOST_WIN32 1)
|
||||
endif(CLR_CMAKE_HOST_OS STREQUAL windows)
|
||||
|
@ -423,6 +429,11 @@ if(CLR_CMAKE_TARGET_OS STREQUAL sunos)
|
|||
set(CLR_CMAKE_TARGET_SUNOS 1)
|
||||
endif(CLR_CMAKE_TARGET_OS STREQUAL sunos)
|
||||
|
||||
if(CLR_CMAKE_TARGET_OS STREQUAL haiku)
|
||||
set(CLR_CMAKE_TARGET_UNIX 1)
|
||||
set(CLR_CMAKE_TARGET_HAIKU 1)
|
||||
endif(CLR_CMAKE_TARGET_OS STREQUAL haiku)
|
||||
|
||||
if(CLR_CMAKE_TARGET_OS STREQUAL emscripten)
|
||||
set(CLR_CMAKE_TARGET_UNIX 1)
|
||||
set(CLR_CMAKE_TARGET_LINUX 1)
|
||||
|
|
|
@ -66,6 +66,9 @@ getNonPortableDistroRid()
|
|||
__uname_version=$(uname -v)
|
||||
__solaris_major_version=$(echo "${__uname_version%.*}")
|
||||
nonPortableRid=solaris."$__solaris_major_version"-"$targetArch"
|
||||
elif [ "$targetOs" = "haiku" ]; then
|
||||
__uname_release=$(uname -r)
|
||||
nonPortableRid=haiku.r"$__uname_release"-"$targetArch"
|
||||
fi
|
||||
|
||||
echo "$(echo $nonPortableRid | tr '[:upper:]' '[:lower:]')"
|
||||
|
|
|
@ -8,7 +8,7 @@ if command -v getprop && getprop ro.product.system.model 2>&1 | grep -qi android
|
|||
fi
|
||||
|
||||
case "$OSName" in
|
||||
freebsd|linux|netbsd|openbsd|sunos|android)
|
||||
freebsd|linux|netbsd|openbsd|sunos|android|haiku)
|
||||
os="$OSName" ;;
|
||||
darwin)
|
||||
os=osx ;;
|
||||
|
|
|
@ -27,12 +27,14 @@ elseif(EXISTS /System/Library/CoreServices)
|
|||
set(DARWIN 1)
|
||||
elseif(EXISTS ${CROSS_ROOTFS}/etc/tizen-release)
|
||||
set(TIZEN 1)
|
||||
elseif(EXISTS ${CROSS_ROOTFS}/boot/system/develop/headers/config/HaikuConfig.h)
|
||||
set(HAIKU 1)
|
||||
set(CLR_CMAKE_TARGET_OS haiku)
|
||||
endif()
|
||||
|
||||
if(DARWIN)
|
||||
if(TARGET_ARCH_NAME MATCHES "^(arm64|x64)$")
|
||||
set_cache_value(FILE_OPS_CHECK_FERROR_OF_PREVIOUS_CALL_EXITCODE 1)
|
||||
set_cache_value(GETPWUID_R_SETS_ERRNO_EXITCODE 1)
|
||||
set_cache_value(HAS_POSIX_SEMAPHORES_EXITCODE 1)
|
||||
set_cache_value(HAVE_BROKEN_FIFO_KEVENT_EXITCODE 1)
|
||||
set_cache_value(HAVE_BROKEN_FIFO_SELECT_EXITCODE 1)
|
||||
|
@ -54,8 +56,6 @@ if(DARWIN)
|
|||
set_cache_value(HAVE_LARGE_SNPRINTF_SUPPORT_EXITCODE 0)
|
||||
set_cache_value(HAVE_MMAP_DEV_ZERO_EXITCODE 1)
|
||||
set_cache_value(HAVE_PROCFS_CTL_EXITCODE 1)
|
||||
set_cache_value(HAVE_PROCFS_MAPS_EXITCODE 1)
|
||||
set_cache_value(HAVE_PROCFS_STATUS_EXITCODE 1)
|
||||
set_cache_value(HAVE_PROCFS_STAT_EXITCODE 1)
|
||||
set_cache_value(HAVE_SCHED_GETCPU_EXITCODE 1)
|
||||
set_cache_value(HAVE_SCHED_GET_PRIORITY_EXITCODE 0)
|
||||
|
@ -68,16 +68,14 @@ if(DARWIN)
|
|||
set_cache_value(PTHREAD_CREATE_MODIFIES_ERRNO_EXITCODE 1)
|
||||
set_cache_value(REALPATH_SUPPORTS_NONEXISTENT_FILES_EXITCODE 1)
|
||||
set_cache_value(SEM_INIT_MODIFIES_ERRNO_EXITCODE 1)
|
||||
set_cache_value(SSCANF_CANNOT_HANDLE_MISSING_EXPONENT_EXITCODE 1)
|
||||
set_cache_value(SSCANF_SUPPORT_ll_EXITCODE 0)
|
||||
set_cache_value(UNGETC_NOT_RETURN_EOF_EXITCODE 1)
|
||||
set_cache_value(HAVE_SHM_OPEN_THAT_WORKS_WELL_ENOUGH_WITH_MMAP_EXITCODE 1)
|
||||
else()
|
||||
message(FATAL_ERROR "Arch is ${TARGET_ARCH_NAME}. Only arm64 or x64 is supported for OSX cross build!")
|
||||
endif()
|
||||
elseif(TARGET_ARCH_NAME MATCHES "^(armel|arm|armv6|arm64|loongarch64|riscv64|s390x|ppc64le|x86|x64)$" OR FREEBSD OR ILLUMOS OR TIZEN)
|
||||
elseif(TARGET_ARCH_NAME MATCHES "^(armel|arm|armv6|arm64|loongarch64|riscv64|s390x|ppc64le|x86|x64)$" OR FREEBSD OR ILLUMOS OR TIZEN OR HAIKU)
|
||||
set_cache_value(FILE_OPS_CHECK_FERROR_OF_PREVIOUS_CALL_EXITCODE 1)
|
||||
set_cache_value(GETPWUID_R_SETS_ERRNO_EXITCODE 0)
|
||||
set_cache_value(HAS_POSIX_SEMAPHORES_EXITCODE 0)
|
||||
set_cache_value(HAVE_CLOCK_MONOTONIC_COARSE_EXITCODE 0)
|
||||
set_cache_value(HAVE_CLOCK_MONOTONIC_EXITCODE 0)
|
||||
|
@ -94,8 +92,6 @@ elseif(TARGET_ARCH_NAME MATCHES "^(armel|arm|armv6|arm64|loongarch64|riscv64|s39
|
|||
set_cache_value(HAVE_LARGE_SNPRINTF_SUPPORT_EXITCODE 0)
|
||||
set_cache_value(HAVE_MMAP_DEV_ZERO_EXITCODE 0)
|
||||
set_cache_value(HAVE_PROCFS_CTL_EXITCODE 1)
|
||||
set_cache_value(HAVE_PROCFS_MAPS_EXITCODE 0)
|
||||
set_cache_value(HAVE_PROCFS_STATUS_EXITCODE 0)
|
||||
set_cache_value(HAVE_PROCFS_STAT_EXITCODE 0)
|
||||
set_cache_value(HAVE_SCHED_GETCPU_EXITCODE 0)
|
||||
set_cache_value(HAVE_SCHED_GET_PRIORITY_EXITCODE 0)
|
||||
|
@ -112,12 +108,10 @@ elseif(TARGET_ARCH_NAME MATCHES "^(armel|arm|armv6|arm64|loongarch64|riscv64|s39
|
|||
|
||||
if(ALPINE_LINUX)
|
||||
set_cache_value(HAVE_SHM_OPEN_THAT_WORKS_WELL_ENOUGH_WITH_MMAP_EXITCODE 1)
|
||||
set_cache_value(SSCANF_CANNOT_HANDLE_MISSING_EXPONENT_EXITCODE 0)
|
||||
set_cache_value(SSCANF_SUPPORT_ll_EXITCODE 1)
|
||||
set_cache_value(UNGETC_NOT_RETURN_EOF_EXITCODE 1)
|
||||
else()
|
||||
set_cache_value(HAVE_SHM_OPEN_THAT_WORKS_WELL_ENOUGH_WITH_MMAP_EXITCODE 0)
|
||||
set_cache_value(SSCANF_CANNOT_HANDLE_MISSING_EXPONENT_EXITCODE 1)
|
||||
set_cache_value(SSCANF_SUPPORT_ll_EXITCODE 0)
|
||||
set_cache_value(UNGETC_NOT_RETURN_EOF_EXITCODE 0)
|
||||
endif()
|
||||
|
@ -127,16 +121,12 @@ elseif(TARGET_ARCH_NAME MATCHES "^(armel|arm|armv6|arm64|loongarch64|riscv64|s39
|
|||
set_cache_value(HAVE_CLOCK_MONOTONIC 1)
|
||||
set_cache_value(HAVE_CLOCK_REALTIME 1)
|
||||
set_cache_value(HAVE_BROKEN_FIFO_KEVENT_EXITCODE 1)
|
||||
set_cache_value(HAVE_PROCFS_MAPS 0)
|
||||
set_cache_value(HAVE_PROCFS_STAT 0)
|
||||
set_cache_value(HAVE_PROCFS_STATUS_EXITCODE 1)
|
||||
set_cache_value(GETPWUID_R_SETS_ERRNO 0)
|
||||
set_cache_value(UNGETC_NOT_RETURN_EOF 0)
|
||||
set_cache_value(HAVE_COMPATIBLE_ILOGBNAN 1)
|
||||
set_cache_value(HAVE_FUNCTIONAL_PTHREAD_ROBUST_MUTEXES_EXITCODE 0)
|
||||
set_cache_value(HAVE_TERMIOS2_EXITCODE 1)
|
||||
elseif(ILLUMOS)
|
||||
set_cache_value(GETPWUID_R_SETS_ERRNO_EXITCODE 1)
|
||||
set_cache_value(HAVE_COMPATIBLE_ACOS_EXITCODE 1)
|
||||
set_cache_value(HAVE_COMPATIBLE_ASIN_EXITCODE 1)
|
||||
set_cache_value(HAVE_COMPATIBLE_ATAN2_EXITCODE 1)
|
||||
|
@ -146,7 +136,6 @@ elseif(TARGET_ARCH_NAME MATCHES "^(armel|arm|armv6|arm64|loongarch64|riscv64|s39
|
|||
set_cache_value(HAVE_COMPATIBLE_LOG_EXITCODE 1)
|
||||
set_cache_value(HAVE_LARGE_SNPRINTF_SUPPORT_EXITCODE 1)
|
||||
set_cache_value(HAVE_PROCFS_CTL_EXITCODE 0)
|
||||
set_cache_value(SSCANF_CANNOT_HANDLE_MISSING_EXPONENT_EXITCODE 1)
|
||||
set_cache_value(SSCANF_SUPPORT_ll_EXITCODE 1)
|
||||
set_cache_value(UNGETC_NOT_RETURN_EOF_EXITCODE 0)
|
||||
set_cache_value(COMPILER_SUPPORTS_W_CLASS_MEMACCESS 1)
|
||||
|
@ -156,6 +145,11 @@ elseif(TARGET_ARCH_NAME MATCHES "^(armel|arm|armv6|arm64|loongarch64|riscv64|s39
|
|||
set_cache_value(HAVE_TERMIOS2_EXITCODE 1)
|
||||
elseif (TIZEN)
|
||||
set_cache_value(HAVE_FUNCTIONAL_PTHREAD_ROBUST_MUTEXES_EXITCODE 0)
|
||||
elseif(HAIKU)
|
||||
set_cache_value(HAVE_CLOCK_MONOTONIC_COARSE_EXITCODE 1)
|
||||
set_cache_value(HAVE_COMPATIBLE_EXP_EXITCODE 0)
|
||||
set_cache_value(HAVE_COMPATIBLE_ILOGBNAN_EXITCODE 0)
|
||||
set_cache_value(HAVE_PROCFS_STAT_EXITCODE 1)
|
||||
endif()
|
||||
else()
|
||||
message(FATAL_ERROR "Unsupported platform. OS: ${CMAKE_SYSTEM_NAME}, arch: ${TARGET_ARCH_NAME}")
|
||||
|
|
|
@ -11,7 +11,6 @@ set_cache_value(HAVE_CLOCK_MONOTONIC_EXITCODE 0)
|
|||
# TODO: these are taken from macOS, check these whether they're correct for iOS
|
||||
# some of them are probably not used by what we use from NativeAOT so could be reduced
|
||||
set_cache_value(FILE_OPS_CHECK_FERROR_OF_PREVIOUS_CALL_EXITCODE 1)
|
||||
set_cache_value(GETPWUID_R_SETS_ERRNO_EXITCODE 1)
|
||||
set_cache_value(HAS_POSIX_SEMAPHORES_EXITCODE 1)
|
||||
set_cache_value(HAVE_BROKEN_FIFO_KEVENT_EXITCODE 1)
|
||||
set_cache_value(HAVE_BROKEN_FIFO_SELECT_EXITCODE 1)
|
||||
|
@ -31,8 +30,6 @@ set_cache_value(HAVE_FUNCTIONAL_PTHREAD_ROBUST_MUTEXES_EXITCODE 1)
|
|||
set_cache_value(HAVE_LARGE_SNPRINTF_SUPPORT_EXITCODE 0)
|
||||
set_cache_value(HAVE_MMAP_DEV_ZERO_EXITCODE 1)
|
||||
set_cache_value(HAVE_PROCFS_CTL_EXITCODE 1)
|
||||
set_cache_value(HAVE_PROCFS_MAPS_EXITCODE 1)
|
||||
set_cache_value(HAVE_PROCFS_STATUS_EXITCODE 1)
|
||||
set_cache_value(HAVE_PROCFS_STAT_EXITCODE 1)
|
||||
set_cache_value(HAVE_SCHED_GET_PRIORITY_EXITCODE 0)
|
||||
set_cache_value(HAVE_VALID_NEGATIVE_INF_POW_EXITCODE 0)
|
||||
|
@ -44,7 +41,6 @@ set_cache_value(ONE_SHARED_MAPPING_PER_FILEREGION_PER_PROCESS_EXITCODE 1)
|
|||
set_cache_value(PTHREAD_CREATE_MODIFIES_ERRNO_EXITCODE 1)
|
||||
set_cache_value(REALPATH_SUPPORTS_NONEXISTENT_FILES_EXITCODE 1)
|
||||
set_cache_value(SEM_INIT_MODIFIES_ERRNO_EXITCODE 1)
|
||||
set_cache_value(SSCANF_CANNOT_HANDLE_MISSING_EXPONENT_EXITCODE 1)
|
||||
set_cache_value(SSCANF_SUPPORT_ll_EXITCODE 0)
|
||||
set_cache_value(UNGETC_NOT_RETURN_EOF_EXITCODE 1)
|
||||
set_cache_value(HAVE_SHM_OPEN_THAT_WORKS_WELL_ENOUGH_WITH_MMAP_EXITCODE 1)
|
||||
|
|
|
@ -89,6 +89,7 @@
|
|||
<ItemGroup Condition="'$(IsTestProject)' != 'true'">
|
||||
<SupportedPlatform Condition="'$(TargetPlatformIdentifier)' == 'illumos'" Include="illumos" />
|
||||
<SupportedPlatform Condition="'$(TargetPlatformIdentifier)' == 'solaris'" Include="Solaris" />
|
||||
<SupportedPlatform Condition="'$(TargetPlatformIdentifier)' == 'haiku'" Include="Haiku" />
|
||||
<SupportedPlatform Condition="'$(TargetPlatformIdentifier)' != '' and
|
||||
'$(TargetPlatformIdentifier)' != 'browser' and
|
||||
'$(TargetPlatformIdentifier)' != 'wasi' and
|
||||
|
|
|
@ -100,7 +100,6 @@
|
|||
#cmakedefine01 HAVE__SC_AVPHYS_PAGES
|
||||
|
||||
#cmakedefine01 REALPATH_SUPPORTS_NONEXISTENT_FILES
|
||||
#cmakedefine01 SSCANF_CANNOT_HANDLE_MISSING_EXPONENT
|
||||
#cmakedefine01 SSCANF_SUPPORT_ll
|
||||
#cmakedefine01 HAVE_LARGE_SNPRINTF_SUPPORT
|
||||
#cmakedefine01 HAVE_BROKEN_FIFO_SELECT
|
||||
|
@ -120,9 +119,7 @@
|
|||
#cmakedefine01 PTHREAD_CREATE_MODIFIES_ERRNO
|
||||
#cmakedefine01 SEM_INIT_MODIFIES_ERRNO
|
||||
#cmakedefine01 HAVE_PROCFS_CTL
|
||||
#cmakedefine01 HAVE_PROCFS_MAPS
|
||||
#cmakedefine01 HAVE_PROCFS_STAT
|
||||
#cmakedefine01 HAVE_PROCFS_STATUS
|
||||
#cmakedefine01 HAVE_COMPATIBLE_ACOS
|
||||
#cmakedefine01 HAVE_COMPATIBLE_ASIN
|
||||
#cmakedefine01 HAVE_COMPATIBLE_POW
|
||||
|
@ -136,7 +133,6 @@
|
|||
#cmakedefine01 HAVE_COMPATIBLE_LOG10
|
||||
#cmakedefine01 UNGETC_NOT_RETURN_EOF
|
||||
#cmakedefine01 HAS_POSIX_SEMAPHORES
|
||||
#cmakedefine01 GETPWUID_R_SETS_ERRNO
|
||||
#cmakedefine01 FILE_OPS_CHECK_FERROR_OF_PREVIOUS_CALL
|
||||
|
||||
#define PAL_THREAD_PRIORITY_MIN 0
|
||||
|
|
|
@ -213,21 +213,6 @@ check_cxx_source_runs("
|
|||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
int main()
|
||||
{
|
||||
int ret;
|
||||
float f = 0;
|
||||
char * strin = \"12.34e\";
|
||||
|
||||
ret = sscanf (strin, \"%e\", &f);
|
||||
if (ret <= 0)
|
||||
exit (0);
|
||||
exit(1);
|
||||
}" SSCANF_CANNOT_HANDLE_MISSING_EXPONENT)
|
||||
check_cxx_source_runs("
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
int main(void) {
|
||||
char buf[256] = { 0 };
|
||||
snprintf(buf, 0x7fffffff, \"%#x\", 0x12345678);
|
||||
|
@ -633,30 +618,6 @@ check_cxx_source_runs("
|
|||
#include <stdio.h>
|
||||
#include <unistd.h>
|
||||
|
||||
int main(void) {
|
||||
int fd;
|
||||
#ifdef PATH_MAX
|
||||
char path[PATH_MAX];
|
||||
#elif defined(MAXPATHLEN)
|
||||
char path[MAXPATHLEN];
|
||||
#else
|
||||
char path[1024];
|
||||
#endif
|
||||
|
||||
sprintf(path, \"/proc/%u/maps\", getpid());
|
||||
fd = open(path, O_RDONLY);
|
||||
if (fd == -1) {
|
||||
exit(1);
|
||||
}
|
||||
exit(0);
|
||||
}" HAVE_PROCFS_MAPS)
|
||||
set(CMAKE_REQUIRED_LIBRARIES)
|
||||
check_cxx_source_runs("
|
||||
#include <fcntl.h>
|
||||
#include <stdlib.h>
|
||||
#include <stdio.h>
|
||||
#include <unistd.h>
|
||||
|
||||
int main(void) {
|
||||
int fd;
|
||||
#ifdef PATH_MAX
|
||||
|
@ -675,29 +636,6 @@ int main(void) {
|
|||
exit(0);
|
||||
}" HAVE_PROCFS_STAT)
|
||||
set(CMAKE_REQUIRED_LIBRARIES)
|
||||
check_cxx_source_runs("
|
||||
#include <fcntl.h>
|
||||
#include <stdlib.h>
|
||||
#include <stdio.h>
|
||||
#include <unistd.h>
|
||||
|
||||
int main(void) {
|
||||
int fd;
|
||||
#ifdef PATH_MAX
|
||||
char path[PATH_MAX];
|
||||
#elif defined(MAXPATHLEN)
|
||||
char path[MAXPATHLEN];
|
||||
#else
|
||||
char path[1024];
|
||||
#endif
|
||||
|
||||
sprintf(path, \"/proc/%u/status\", getpid());
|
||||
fd = open(path, O_RDONLY);
|
||||
if (fd == -1) {
|
||||
exit(1);
|
||||
}
|
||||
exit(0);
|
||||
}" HAVE_PROCFS_STATUS)
|
||||
set(CMAKE_REQUIRED_LIBRARIES m)
|
||||
check_cxx_source_runs("
|
||||
#include <math.h>
|
||||
|
@ -948,34 +886,6 @@ int main() {
|
|||
}" HAS_POSIX_SEMAPHORES)
|
||||
set(CMAKE_REQUIRED_LIBRARIES)
|
||||
check_cxx_source_runs("
|
||||
#include <sys/types.h>
|
||||
#include <pwd.h>
|
||||
#include <errno.h>
|
||||
#include <unistd.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
int main(void)
|
||||
{
|
||||
struct passwd sPasswd;
|
||||
struct passwd *pPasswd;
|
||||
char buf[1];
|
||||
int bufLen = sizeof(buf)/sizeof(buf[0]);
|
||||
int euid = geteuid();
|
||||
int ret = 0;
|
||||
|
||||
errno = 0; // clear errno
|
||||
ret = getpwuid_r(euid, &sPasswd, buf, bufLen, &pPasswd);
|
||||
if (0 != ret)
|
||||
{
|
||||
if (ERANGE == errno)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
return 1; // assume errno is NOT set for all other cases
|
||||
}" GETPWUID_R_SETS_ERRNO)
|
||||
check_cxx_source_runs("
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue