ViewVC Help
View File | Revision Log | Show Annotations | Revision Graph | Root Listing
root/cebix/BasiliskII/src/Unix/configure.ac
(Generate patch)

Comparing BasiliskII/src/Unix/configure.ac (file contents):
Revision 1.57 by gbeauche, 2006-01-15T11:38:41Z vs.
Revision 1.68 by gbeauche, 2006-04-19T06:55:54Z

# Line 14 | Line 14 | dnl Some systems do not put corefiles in
14   dnl cores for the configure tests since some are intended to dump core.
15   ulimit -c 0
16  
17 + AC_ARG_ENABLE(standalone-gui,[  --enable-standalone-gui enable a standalone GUI prefs editor [default=no]], [WANT_STANDALONE_GUI=$enableval], [WANT_STANDALONE_GUI=no])
18 +
19   dnl Video options.
20   AC_ARG_ENABLE(xf86-dga,      [  --enable-xf86-dga       use the XFree86 DGA extension [default=yes]], [WANT_XF86_DGA=$enableval], [WANT_XF86_DGA=yes])
21   AC_ARG_ENABLE(xf86-vidmode,  [  --enable-xf86-vidmode   use the XFree86 VidMode extension [default=yes]], [WANT_XF86_VIDMODE=$enableval], [WANT_XF86_VIDMODE=yes])
# Line 252 | Line 254 | case "x$WANT_GTK" in
254   xgtk2*)
255    AM_PATH_GTK_2_0(1.3.15, [
256      AC_DEFINE(ENABLE_GTK, 1, [Define if using GTK.])
257 <    CFLAGS="$CFLAGS $GTK_CFLAGS"
258 <    CXXFLAGS="$CXXFLAGS $GTK_CFLAGS"
257 <    LIBS="$LIBS $GTK_LIBS"
257 >    GUI_CFLAGS="$GTK_CFLAGS"
258 >    GUI_LIBS="$GTK_LIBS"
259      UISRCS=prefs_editor_gtk.cpp
260      WANT_GTK=gtk2
261    ], [
# Line 274 | Line 275 | esac
275   if [[ "x$WANT_GTK" = "xgtk" ]]; then
276    AM_PATH_GTK(1.2.0, [
277      AC_DEFINE(ENABLE_GTK, 1, [Define if using GTK.])
278 <    CXXFLAGS="$CXXFLAGS $GTK_CFLAGS"
279 <    LIBS="$LIBS $GTK_LIBS"
278 >    GUI_CFLAGS="$GTK_CFLAGS"
279 >    GUI_LIBS="$GTK_LIBS"
280      UISRCS=prefs_editor_gtk.cpp
281      dnl somehow, <gnome-i18n.h> would redefine gettext() to nothing if
282      dnl ENABLE_NLS is not set, thusly conflicting with C++ <string> which
# Line 283 | Line 284 | if [[ "x$WANT_GTK" = "xgtk" ]]; then
284      AM_GNU_GETTEXT
285      B2_PATH_GNOMEUI([
286        AC_DEFINE(HAVE_GNOMEUI, 1, [Define if libgnomeui is available.])
287 <      CXXFLAGS="$CXXFLAGS $GNOMEUI_CFLAGS"
288 <      LIBS="$LIBS $GNOMEUI_LIBS"
287 >      GUI_CFLAGS="$GUI_CFLAGS $GNOMEUI_CFLAGS"
288 >      GUI_LIBS="$GUI_LIBS $GNOMEUI_LIBS"
289      ], [])
290    ], [
291      AC_MSG_WARN([Could not find GTK+, disabling user interface.])
292      WANT_GTK=no
293    ])
294   fi
295 + AC_SUBST(GUI_CFLAGS)
296 + AC_SUBST(GUI_LIBS)
297 +
298 + dnl Build external GUI if requested.
299 + if [[ "$WANT_STANDALONE_GUI" != "yes" ]]; then
300 +  WANT_STANDALONE_GUI=no
301 + fi
302 + if [[ "$WANT_GTK" = "no" ]]; then
303 +  WANT_STANDALONE_GUI=no
304 + fi
305 + AC_SUBST(STANDALONE_GUI, [$WANT_STANDALONE_GUI])
306  
307   dnl We use ESD if possible.
308   if [[ "x$WANT_ESD" = "xyes" ]]; then
# Line 422 | Line 434 | AC_CHECK_FILE([/dev/ptc],
434   dnl (end of code from openssh-3.2.2p1 configure.ac)
435  
436  
437 + dnl Check for systems where POSIX-style non-blocking I/O (O_NONBLOCK)
438 + dnl doesn't work or is unimplemented. On these systems (mostly older
439 + dnl ones), use the old BSD-style FIONBIO approach instead. [tcl.m4]
440 + AC_CACHE_CHECK([FIONBIO vs. O_NONBLOCK for non-blocking I/O],
441 +  ac_cv_nonblocking_io, [
442 +  case "$host" in
443 +  *-*-osf*)
444 +    ac_cv_nonblocking_io=FIONBIO
445 +    ;;
446 +  *-*-sunos4*)
447 +    ac_cv_nonblocking_io=FIONBIO
448 +    ;;
449 +  *-*-ultrix*)
450 +    ac_cv_nonblocking_io=FIONBIO
451 +    ;;
452 +  *)
453 +    ac_cv_nonblocking_io=O_NONBLOCK
454 +    ;;
455 +  esac
456 + ])
457 + if [[ "$ac_cv_nonblocking_io" = "FIONBIO" ]]; then
458 +  AC_DEFINE(USE_FIONBIO, 1, [Define if BSD-style non-blocking I/O is to be used])
459 + fi
460 +
461 + dnl Check whether compiler supports byte bit-fields
462 + AC_CACHE_CHECK([whether compiler supports byte bit-fields],
463 +  ac_cv_have_byte_bitfields, [
464 +  AC_LANG_SAVE
465 +  AC_LANG_CPLUSPLUS
466 +  AC_TRY_RUN([
467 +    struct A {
468 +      unsigned char b1:4;
469 +      unsigned char b2:4;
470 +      unsigned char c;
471 +      unsigned short s;
472 +      unsigned char a[4];
473 +    };
474 +
475 +    int main(void) {
476 +      A a;
477 +      return ! (sizeof(A) == 8 && &a.c == ((unsigned char *)&a + 1));
478 +    }],
479 +    [ac_cv_have_byte_bitfields=yes],
480 +    [ac_cv_have_byte_bitfields=no],
481 +    dnl When cross-compiling, assume only GCC supports this
482 +    [if [[ "$GCC" = "yes" ]]; then
483 +      ac_cv_have_byte_bitfields="guessing yes"
484 +    else
485 +      ac_cv_have_byte_bitfields="guessing no"
486 +    fi]
487 +    )
488 +  AC_LANG_RESTORE
489 + ])
490 +
491   dnl AC_CHECK_FRAMEWORK($1=NAME, $2=INCLUDES)
492   AC_DEFUN([AC_CHECK_FRAMEWORK], [
493    AS_VAR_PUSHDEF([ac_Framework], [ac_cv_framework_$1])dnl
# Line 441 | Line 507 | AC_DEFUN([AC_CHECK_FRAMEWORK], [
507   ])
508  
509   dnl Check for some MacOS X frameworks
510 + AC_CHECK_FRAMEWORK(AppKit, [])
511   AC_CHECK_FRAMEWORK(Carbon, [#include <Carbon/Carbon.h>])
512   AC_CHECK_FRAMEWORK(IOKit, [#include <IOKit/IOKitLib.h>])
513   AC_CHECK_FRAMEWORK(CoreFoundation, [#include <CoreFoundation/CoreFoundation.h>])
# Line 491 | Line 558 | solaris*)
558    DEFINES="$DEFINES -DBSD_COMP -D_POSIX_PTHREAD_SEMANTICS"
559    ;;
560   irix*)
494  ETHERSRC=ether_unix.cpp
561    AUDIOSRC=Irix/audio_irix.cpp
562    EXTRASYSSRCS=Irix/unaligned.c
563    LIBS="$LIBS -laudio"
# Line 524 | Line 590 | cygwin*)
590   esac
591  
592   dnl Is the slirp library supported?
593 < if [[ "x$ETHERSRC" = "xether_unix.cpp" ]]; then
593 > case "$ac_cv_have_byte_bitfields" in
594 > yes|"guessing yes")
595 >  CAN_SLIRP=yes
596 >  ETHERSRC=ether_unix.cpp
597 >  ;;
598 > esac
599 > if [[ -n "$CAN_SLIRP" ]]; then
600    AC_DEFINE(HAVE_SLIRP, 1, [Define if slirp library is supported])
601    SLIRP_SRCS="\
602      ../slirp/bootp.c     ../slirp/ip_output.c  ../slirp/tcp_input.c  \
# Line 1037 | Line 1109 | fi
1109   dnl A dummy program that returns always true
1110   AC_PATH_PROG([BLESS], "true")
1111  
1112 + dnl Check for linker script support
1113 + case $target_os:$target_cpu in
1114 + linux*:i?86)    LINKER_SCRIPT_FLAGS="-Wl,-T,ldscripts/linux-i386.ld";;
1115 + linux*:x86_64)  LINKER_SCRIPT_FLAGS="-Wl,-T,ldscripts/linux-x86_64.ld";;
1116 + linux*:powerpc) LINKER_SCRIPT_FLAGS="-Wl,-T,ldscripts/linux-ppc.ld";;
1117 + netbsd*:i?86)   LINKER_SCRIPT_FLAGS="-Wl,-T,ldscripts/linux-i386.ld";;
1118 + freebsd*:i?86)  LINKER_SCRIPT_FLAGS="-Wl,-T,ldscripts/freebsd-i386.ld";;
1119 + darwin*:*)      LINKER_SCRIPT_FLAGS="-Wl,-seg1addr,0x78048000";;
1120 + esac
1121 + if [[ -n "$LINKER_SCRIPT_FLAGS" ]]; then
1122 +  AC_CACHE_CHECK([whether linker script is usable],
1123 +    ac_cv_linker_script_works, [
1124 +    AC_LANG_SAVE
1125 +    AC_LANG_CPLUSPLUS
1126 +    saved_LDFLAGS="$LDFLAGS"
1127 +    LDFLAGS="$LDFLAGS $LINKER_SCRIPT_FLAGS"
1128 +    AC_TRY_RUN(
1129 +      [int main() {if ((char *)&main < (char *)0x70000000) return 1;}],
1130 +      [ac_cv_linker_script_works=yes],
1131 +      [ac_cv_linker_script_works=no],
1132 +      dnl When cross-compiling, assume it works
1133 +      [ac_cv_linker_script_works="guessing yes"]
1134 +    )
1135 +    AC_LANG_RESTORE
1136 +    if [[ "$ac_cv_linker_script_works" = "no" ]]; then
1137 +      LDFLAGS="$saved_LDFLAGS"
1138 +      LINKER_SCRIPT_FLAGS=""
1139 +    fi
1140 +  ])
1141 + fi
1142 + AC_TRANSLATE_DEFINE(HAVE_LINKER_SCRIPT, "$ac_cv_linker_script_works",
1143 +  [Define if there is a linker script to relocate the executable above 0x70000000.])
1144 +
1145   dnl Determine the addressing mode to use
1146   if [[ "x$WANT_NATIVE_M68K" = "xyes" ]]; then
1147    ADDRESSING_MODE="real"

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines