[AD] Fixes for Allegro on FreeBSD. |
[ Thread Index |
Date Index
| More lists.liballeg.org/allegro-developers Archives
]
Hi!
I managed to get Allegro 3.9.32 running on FreeBSD 3.4 (i386) and I encountered
two small problems. First, during the build gcc choked on tools/datedit.c:1317.
Allegro expects FreeBSD to have a timezone variable in time.h but there is
no such variable. Maybe you should define ALLEGRO_NO_TIMEZONE in
include/allegro/alunix.h or somewhere else or maybe do a check in the configure
script. FreeBSD does have an old timezone() function (not var) declared in
time.h though, so the script might get confused.
Second, the code in src/unix/usystem.c expects a system which supports
sched_yield() to #define _POSIX_PRIORITY_SCHEDULING in unistd.h
FreeBSD does define this and does recognize the call but does not
actually support it. The kernel will give a warning message on the screen
and the function will return -1. FreeBSD does not expect the program to
use the function again after it failed, but Allegro already thinks the
function is supported so the screen gets flooded by thousands of warning
messages. The solution would be to try the function and if it fails
the first time, don't call it again.
[I have not subscribed to the list so any replies to personal mail please]
-- dentoir