185 |
|
AC_CHECK_LIB(pthread, pthread_create, , [ |
186 |
|
AC_CHECK_LIB(c_r, pthread_create, , [ |
187 |
|
AC_CHECK_LIB(PTL, pthread_create, , [ |
188 |
< |
AC_MSG_ERROR([You need pthreads to run Basilisk II.]) |
188 |
> |
dnl XXX remove when no pthreads case is merged |
189 |
> |
AC_MSG_ERROR([You need pthreads to run SheepShaver.]) |
190 |
> |
HAVE_PTHREADS=no |
191 |
|
]) |
192 |
|
]) |
193 |
|
]) |
194 |
|
AC_CHECK_FUNCS(pthread_cancel) |
195 |
+ |
AC_CHECK_FUNCS(pthread_cond_init) |
196 |
|
AC_CHECK_FUNCS(pthread_mutexattr_setprotocol) |
197 |
|
AC_CHECK_FUNCS(pthread_mutexattr_settype) |
198 |
|
AC_CHECK_FUNCS(pthread_mutexattr_setpshared) |
196 |
– |
if [[ "x$HAVE_PTHREADS" = "xyes" ]]; then |
197 |
– |
AC_DEFINE(HAVE_PTHREADS, 1, [Define if pthreads are available.]) |
198 |
– |
fi |
199 |
|
dnl If POSIX.4 semaphores are not available, we emulate them with pthread mutexes. |
200 |
|
SEMSRC= |
201 |
|
AC_CHECK_FUNCS(sem_init, , [ |
205 |
|
]) |
206 |
|
;; |
207 |
|
esac |
208 |
+ |
if [[ "x$HAVE_PTHREADS" = "xyes" ]]; then |
209 |
+ |
AC_DEFINE(HAVE_PTHREADS, 1, [Define if pthreads are available.]) |
210 |
+ |
fi |
211 |
|
|
212 |
|
dnl We use FBDev DGA if possible. |
213 |
|
if [[ "x$WANT_FBDEV_DGA" = "xyes" ]]; then |
298 |
|
dnl Checks for header files. |
299 |
|
AC_HEADER_STDC |
300 |
|
AC_HEADER_SYS_WAIT |
301 |
< |
AC_CHECK_HEADERS(malloc.h) |
301 |
> |
AC_CHECK_HEADERS(malloc.h stdint.h) |
302 |
|
AC_CHECK_HEADERS(mach/vm_map.h mach/mach_init.h sys/mman.h) |
300 |
– |
AC_CHECK_HEADERS(sys/time.h sys/times.h sys/socket.h) |
303 |
|
AC_CHECK_HEADERS(unistd.h fcntl.h byteswap.h dirent.h) |
304 |
< |
AC_CHECK_HEADERS(linux/if.h, [], [], [ |
305 |
< |
#if HAVE_SYS_SOCKET_H |
306 |
< |
# include <sys/socket.h> |
304 |
> |
AC_CHECK_HEADERS(sys/socket.h sys/ioctl.h sys/filio.h sys/bitypes.h sys/wait.h) |
305 |
> |
AC_CHECK_HEADERS(sys/time.h sys/poll.h sys/select.h arpa/inet.h) |
306 |
> |
AC_CHECK_HEADERS(linux/if.h linux/if_tun.h net/if.h net/if_tun.h, [], [], [ |
307 |
> |
#ifdef HAVE_SYS_TYPES_H |
308 |
> |
#include <sys/types.h> |
309 |
> |
#endif |
310 |
> |
#ifdef HAVE_SYS_SOCKET_H |
311 |
> |
#include <sys/socket.h> |
312 |
|
#endif |
313 |
|
]) |
314 |
< |
AC_CHECK_HEADERS(linux/if_tun.h net/if.h net/if_tun.h) |
314 |
> |
AC_CHECK_HEADERS(AvailabilityMacros.h) |
315 |
> |
AC_CHECK_HEADERS(IOKit/storage/IOBlockStorageDevice.h) |
316 |
|
AC_CHECK_HEADERS(fenv.h) |
317 |
|
|
318 |
|
dnl Checks for typedefs, structures, and compiler characteristics. |
349 |
|
fi |
350 |
|
|
351 |
|
dnl Checks for library functions. |
352 |
< |
AC_CHECK_FUNCS(strdup strlcpy cfmakeraw) |
352 |
> |
AC_CHECK_FUNCS(strdup strerror strlcpy cfmakeraw) |
353 |
|
AC_CHECK_FUNCS(nanosleep) |
354 |
|
AC_CHECK_FUNCS(sigaction signal) |
355 |
|
AC_CHECK_FUNCS(mmap mprotect munmap) |
356 |
|
AC_CHECK_FUNCS(vm_allocate vm_deallocate vm_protect) |
357 |
|
AC_CHECK_FUNCS(exp2f log2f exp2 log2) |
358 |
|
AC_CHECK_FUNCS(floorf roundf ceilf truncf floor round ceil trunc) |
359 |
+ |
AC_CHECK_FUNCS(poll inet_aton) |
360 |
|
|
361 |
|
dnl Darwin seems to define mach_task_self() instead of task_self(). |
362 |
|
AC_CHECK_FUNCS(mach_task_self task_self) |
447 |
|
EXTRASYSSRCS= |
448 |
|
case "$target_os" in |
449 |
|
linux*) |
450 |
< |
ETHERSRC=Linux/ether_linux.cpp |
450 |
> |
ETHERSRC=ether_unix.cpp |
451 |
|
AUDIOSRC=audio_oss_esd.cpp |
452 |
|
SCSISRC=Linux/scsi_linux.cpp |
453 |
|
if [[ "x$EMULATED_PPC" = "xno" ]]; then |
454 |
|
EXTRASYSSRCS="Linux/paranoia.cpp Linux/sheepthreads.c ppc_asm.S" |
455 |
|
fi |
456 |
|
;; |
457 |
+ |
freebsd*) |
458 |
+ |
ETHERSRC=ether_unix.cpp |
459 |
+ |
;; |
460 |
|
netbsd*) |
461 |
+ |
ETHERSRC=ether_unix.cpp |
462 |
|
if [[ "x$EMULATED_PPC" = "xno" ]]; then |
463 |
|
EXTRASYSSRCS="NetBSD/paranoia.cpp NetBSD/sheepthreads.c ppc_asm.S" |
464 |
|
fi |
465 |
|
;; |
466 |
|
darwin*) |
467 |
+ |
ETHERSRC=ether_unix.cpp |
468 |
|
if [[ "x$EMULATED_PPC" = "xno" ]]; then |
469 |
|
EXTRASYSSRCS="Darwin/paranoia.cpp ppc_asm.S" |
470 |
|
fi |
480 |
|
;; |
481 |
|
esac |
482 |
|
|
483 |
+ |
dnl Is the slirp library supported? |
484 |
+ |
if [[ "x$ETHERSRC" = "xether_unix.cpp" ]]; then |
485 |
+ |
AC_DEFINE(HAVE_SLIRP, 1, [Define if slirp library is supported]) |
486 |
+ |
SLIRP_SRCS="\ |
487 |
+ |
../slirp/bootp.c ../slirp/ip_output.c ../slirp/tcp_input.c \ |
488 |
+ |
../slirp/cksum.c ../slirp/mbuf.c ../slirp/tcp_output.c \ |
489 |
+ |
../slirp/debug.c ../slirp/misc.c ../slirp/tcp_subr.c \ |
490 |
+ |
../slirp/if.c ../slirp/sbuf.c ../slirp/tcp_timer.c \ |
491 |
+ |
../slirp/ip_icmp.c ../slirp/slirp.c ../slirp/tftp.c \ |
492 |
+ |
../slirp/ip_input.c ../slirp/socket.c ../slirp/udp.c" |
493 |
+ |
fi |
494 |
+ |
AC_SUBST(SLIRP_SRCS) |
495 |
+ |
|
496 |
|
dnl SDL overrides |
497 |
|
if [[ "x$WANT_SDL" = "xyes" ]]; then |
498 |
|
AC_DEFINE(USE_SDL, 1, [Define to enble SDL support.]) |
1220 |
|
rm -rf conftest* |
1221 |
|
]) |
1222 |
|
|
1223 |
+ |
dnl Add -fno-strict-aliasing for slirp sources |
1224 |
+ |
if [[ "x$HAVE_GCC30" = "xyes" ]]; then |
1225 |
+ |
SAVED_CFLAGS="$CFLAGS" |
1226 |
+ |
CFLAGS="$CFLAGS -fno-strict-aliasing" |
1227 |
+ |
AC_CACHE_CHECK([whether the compiler supports -fno-strict-aliasing], |
1228 |
+ |
ac_cv_gcc_no_strict_aliasing, [ |
1229 |
+ |
AC_TRY_COMPILE([],[], |
1230 |
+ |
[ac_cv_gcc_no_strict_aliasing=yes; AC_SUBST(SLIRP_CFLAGS, "-fno-strict-aliasing")], |
1231 |
+ |
[ac_cv_gcc_no_strict_aliasing=no]) |
1232 |
+ |
]) |
1233 |
+ |
CFLAGS="$SAVED_CFLAGS" |
1234 |
+ |
fi |
1235 |
+ |
|
1236 |
+ |
dnl Add -mdynamic-no-pic for MacOS X |
1237 |
+ |
if [[ "x$HAVE_GCC30" = "xyes" ]]; then |
1238 |
+ |
SAVED_CFLAGS="$CFLAGS" |
1239 |
+ |
CFLAGS="$CFLAGS -mdynamic-no-pic" |
1240 |
+ |
AC_CACHE_CHECK([whether the compiler supports -mdynamic-no-pic], |
1241 |
+ |
ac_cv_gcc_mdynamic_no_pic, [ |
1242 |
+ |
AC_TRY_COMPILE([],[],[ac_cv_gcc_mdynamic_no_pic=yes],[ac_cv_gcc_mdynamic_no_pic=no]) |
1243 |
+ |
]) |
1244 |
+ |
if [[ "x$ac_cv_gcc_mdynamic_no_pic" = "xyes" ]]; then |
1245 |
+ |
CXXFLAGS="$CXXFLAGS -mdynamic-no-pic" |
1246 |
+ |
else |
1247 |
+ |
CFLAGS="$SAVED_CFLAGS" |
1248 |
+ |
fi |
1249 |
+ |
fi |
1250 |
+ |
|
1251 |
|
dnl CPU emulator sources |
1252 |
|
if [[ "x$EMULATED_PPC" = "xyes" ]]; then |
1253 |
|
CPUSRCS="\ |