Add support for AmigaOS/AROS to tuklib_physmem().

Thanks to Fredrik Wikstrom.
This commit is contained in:
Lasse Collin 2014-10-09 19:41:51 +03:00
parent f229fa32bf
commit 4fdcccd85e
2 changed files with 9 additions and 1 deletions

View File

@ -53,7 +53,8 @@ AC_CACHE_CHECK([how to detect the amount of physical memory],
# a non-compilable text instead of #error to generate an error. # a non-compilable text instead of #error to generate an error.
AC_COMPILE_IFELSE([AC_LANG_SOURCE([[ AC_COMPILE_IFELSE([AC_LANG_SOURCE([[
#if defined(_WIN32) || defined(__CYGWIN__) || defined(__OS2__) \ #if defined(_WIN32) || defined(__CYGWIN__) || defined(__OS2__) \
|| defined(__DJGPP__) || defined(__VMS) || defined(__DJGPP__) || defined(__VMS) \
|| defined(AMIGA) || defined(__AROS__)
int main(void) { return 0; } int main(void) { return 0; }
#else #else
compile error compile error

View File

@ -33,6 +33,10 @@
# include <syidef.h> # include <syidef.h>
# include <ssdef.h> # include <ssdef.h>
#elif defined(AMIGA) || defined(__AROS__)
# define __USE_INLINE__
# include <proto/exec.h>
// AIX // AIX
#elif defined(TUKLIB_PHYSMEM_AIX) #elif defined(TUKLIB_PHYSMEM_AIX)
# include <sys/systemcfg.h> # include <sys/systemcfg.h>
@ -119,6 +123,9 @@ tuklib_physmem(void)
if (LIB$GETSYI(&val, &vms_mem, 0, 0, 0, 0) == SS$_NORMAL) if (LIB$GETSYI(&val, &vms_mem, 0, 0, 0, 0) == SS$_NORMAL)
ret = (uint64_t)vms_mem * 8192; ret = (uint64_t)vms_mem * 8192;
#elif defined(AMIGA) || defined(__AROS__)
ret = AvailMem(MEMF_TOTAL);
#elif defined(TUKLIB_PHYSMEM_AIX) #elif defined(TUKLIB_PHYSMEM_AIX)
ret = _system_configuration.physmem; ret = _system_configuration.physmem;