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

Comparing BasiliskII/src/Unix/configure.in (file contents):
Revision 1.12 by cebix, 1999-10-25T19:01:43Z vs.
Revision 1.20 by cebix, 2000-07-13T16:12:31Z

# Line 6 | Line 6 | AC_PREREQ(2.12)
6   AC_CONFIG_HEADER(config.h)
7  
8   dnl Options.
9 < AC_ARG_ENABLE(xf86-dga,  [  --enable-xf86-dga       use the XFree86 DGA extension [default=yes]], [WANT_XF86_DGA=$enableval], [WANT_XF86_DGA=yes])
10 < AC_ARG_ENABLE(fbdev-dga, [  --enable-fbdev-dga      use direct frame buffer access via /dev/fb [default=yes]], [WANT_FBDEV_DGA=$enableval], [WANT_FBDEV_DGA=yes])
11 < AC_ARG_ENABLE(esd,       [  --enable-esd            Enlightened Sound Daemon support [default=yes]], [WANT_ESD=$enableval], [WANT_ESD=yes])
12 < AC_ARG_ENABLE(ui,        [  --enable-ui             use GTK user interface [default=yes]], [WANT_UI=$enableval], [WANT_UI=yes])
9 > AC_ARG_ENABLE(xf86-dga,      [  --enable-xf86-dga       use the XFree86 DGA extension [default=yes]], [WANT_XF86_DGA=$enableval], [WANT_XF86_DGA=yes])
10 > AC_ARG_ENABLE(xf86-vidmode,  [  --enable-xf86-vidmode   use the XFree86 VidMode extension [default=yes]], [WANT_XF86_VIDMODE=$enableval], [WANT_XF86_VIDMODE=yes])
11 > AC_ARG_ENABLE(fbdev-dga,     [  --enable-fbdev-dga      use direct frame buffer access via /dev/fb [default=yes]], [WANT_FBDEV_DGA=$enableval], [WANT_FBDEV_DGA=yes])
12 > AC_ARG_WITH(esd,             [  --with-esd              support ESD for sound under Linux/FreeBSD [default=yes]], [WANT_ESD=$withval], [WANT_ESD=yes])
13 > AC_ARG_WITH(gtk,             [  --with-gtk              use GTK user interface [default=yes]], [WANT_GTK=$withval], [WANT_GTK=yes])
14 > AC_ARG_WITH(mon,             [  --with-mon              use mon as debugger [default=yes]], [WANT_MON=$withval], [WANT_MON=yes])
15  
16   dnl Checks for programs.
17   AC_PROG_CC
# Line 18 | Line 20 | AC_PROG_CXX
20   AC_PROG_MAKE_SET
21   AC_PROG_INSTALL
22  
23 + dnl Check for i386 target CPU.
24 + HAVE_I386=no
25 + AC_MSG_CHECKING(for x86 target CPU)
26 + AC_EGREP_CPP(yes,
27 + [
28 + #ifdef __i386__
29 +  yes
30 + #endif
31 + ], [AC_MSG_RESULT(yes); HAVE_I386=yes], AC_MSG_RESULT(no))
32 +
33 + dnl Check for SPARC target CPU.
34 + HAVE_SPARC=no
35 + AC_MSG_CHECKING(for SPARC target CPU)
36 + AC_EGREP_CPP(yes,
37 + [
38 + #ifdef __sparc__
39 +  yes
40 + #endif
41 + ], [AC_MSG_RESULT(yes); HAVE_SPARC=yes], AC_MSG_RESULT(no))
42 +
43 + dnl Check for m68k target CPU.
44 + HAVE_M68K=no
45 + AC_MSG_CHECKING(for m68k target CPU)
46 + AC_EGREP_CPP(yes,
47 + [
48 + #ifdef __m68k__
49 +  yes
50 + #endif
51 + ], [AC_MSG_RESULT(yes); HAVE_M68K=yes], AC_MSG_RESULT(no))
52 +
53   dnl We use mon if possible.
54   MONSRCS=
55 < AC_MSG_CHECKING(for mon)
56 < if grep mon_init ../../../mon/src/mon.h >/dev/null 2>/dev/null; then
57 <  AC_MSG_RESULT(yes)
58 <  WANT_MON=yes
59 <  DEFINES="$DEFINES -DENABLE_MON=1"
60 <  MONSRCS="../../../mon/src/mon.cpp ../../../mon/src/mon_6502.cpp ../../../mon/src/mon_68k.cpp ../../../mon/src/mon_8080.cpp ../../../mon/src/mon_cmd.cpp ../../../mon/src/mon_ppc.cpp ../../../mon/src/mon_x86.cpp"
61 <  CXXFLAGS="$CXXFLAGS -I../../../mon/src"
62 < else
63 <  AC_MSG_RESULT(no)
64 <  WANT_MON=no
65 <  DEFINES="$DEFINES -DENABLE_MON=0"
55 > if [[ "x$WANT_MON" = "xyes" ]]; then
56 >  AC_MSG_CHECKING(for mon)
57 >  if grep mon_init ../../../mon/src/mon.h >/dev/null 2>/dev/null; then
58 >    AC_MSG_RESULT(yes)
59 >    AC_DEFINE(ENABLE_MON)
60 >    MONSRCS="../../../mon/src/mon.cpp ../../../mon/src/mon_6502.cpp ../../../mon/src/mon_68k.cpp ../../../mon/src/mon_8080.cpp ../../../mon/src/mon_cmd.cpp ../../../mon/src/mon_ppc.cpp ../../../mon/src/mon_x86.cpp"
61 >    CXXFLAGS="$CXXFLAGS -I../../../mon/src"
62 >    AC_CHECK_LIB(readline, readline)
63 >    AC_CHECK_LIB(termcap, tputs)
64 >    AC_CHECK_HEADERS(readline.h history.h readline/readline.h readline/history.h)
65 >  else
66 >    AC_MSG_RESULT(no)
67 >    AC_MSG_WARN([Could not find mon, ignoring --with-mon.])
68 >    WANT_MON=no
69 >  fi
70   fi
71  
72   dnl Checks for libraries.
# Line 45 | Line 81 | CFLAGS="$CFLAGS $X_CFLAGS"
81   CXXFLAGS="$CXXFLAGS $X_CFLAGS"
82   LIBS="$LIBS $X_PRE_LIBS $X_LIBS -lX11 -lXext $X_EXTRA_LIBS"
83  
84 < dnl We need pthreads. Try libpthread first, then libc_r (FreeBSD), then PTL.
84 > dnl We want pthreads. Try libpthread first, then libc_r (FreeBSD), then PTL.
85 > HAVE_PTHREADS=yes
86   AC_CHECK_LIB(pthread, pthread_create, , [
87    AC_CHECK_LIB(c_r, pthread_create, , [
88      AC_CHECK_LIB(PTL, pthread_create, , [
89 <      AC_MSG_ERROR([You need pthreads to run Basilisk II.])
89 >      HAVE_PTHREADS=no
90      ])
91    ])
92   ])
93 + if [[ "x$HAVE_PTHREADS" = "xyes" ]]; then
94 +  AC_DEFINE(HAVE_PTHREADS)
95 + fi
96 + AC_CHECK_FUNCS(pthread_cancel)
97  
98   dnl If POSIX.4 semaphores are not available, we emulate them with pthread mutexes.
99 < SEMSRCS=
99 > SEMSRC=
100   AC_CHECK_FUNCS(sem_init, , [
101 <  SEMSRCS=posix_sem.cpp
101 >  if [ "x$HAVE_PTHREADS" = "xyes" ]; then
102 >    SEMSRC=posix_sem.cpp
103 >  fi
104   ])
105  
106   dnl We use DGA (XFree86 or fbdev) if possible.
107   if [[ "x$WANT_XF86_DGA" = "xyes" ]]; then
108    AC_CHECK_LIB(Xxf86dga, XF86DGAQueryExtension, [
109 <    DEFINES="$DEFINES -DENABLE_XF86_DGA=1"
109 >    AC_DEFINE(ENABLE_XF86_DGA)
110      LIBS="$LIBS -lXxf86dga"
111      if [[ "x$WANT_FBDEV_DGA" = "xyes" ]]; then
112        AC_MSG_WARN([Cannot have both --enable-xf86-dga and --enable-fbdev-dga, ignoring --enable-fbdev-dga.])
# Line 71 | Line 114 | if [[ "x$WANT_XF86_DGA" = "xyes" ]]; the
114      fi
115    ], [
116      AC_MSG_WARN([Could not find XFree86 DGA extension, ignoring --enable-xf86-dga.])
117 <    DEFINES="$DEFINES -DENABLE_XF86_DGA=0"
117 >    WANT_XF86_DGA=no
118    ])
76 else
77  DEFINES="$DEFINES -DENABLE_XF86_DGA=0"
119   fi
120   if [[ "x$WANT_FBDEV_DGA" = "xyes" ]]; then
121 <  DEFINES="$DEFINES -DENABLE_FBDEV_DGA=1"
122 < else
123 <  DEFINES="$DEFINES -DENABLE_FBDEV_DGA=0"
121 >  AC_DEFINE(ENABLE_FBDEV_DGA)
122 > fi
123 >
124 > dnl We use XFree86 VidMode if possible.
125 > if [[ "x$WANT_XF86_VIDMODE" = "xyes" ]]; then
126 >  AC_CHECK_LIB(Xxf86vm, XF86VidModeQueryExtension, [
127 >    AC_DEFINE(ENABLE_XF86_VIDMODE)
128 >    LIBS="$LIBS -lXxf86vm"
129 >  ], [
130 >    AC_MSG_WARN([Could not find XFree86 VidMode extension, ignoring --enable-xf86-vidmode.])
131 >    WANT_XF86_VIDMODE=no
132 >  ])
133   fi
134  
135   dnl We use GTK+ if possible.
136   UISRCS=../dummy/prefs_editor_dummy.cpp
137 < if [[ "x$WANT_UI" = "xyes" ]]; then
137 > if [[ "x$WANT_GTK" = "xyes" ]]; then
138    AM_PATH_GTK(1.2.0, [
139 <    DEFINES="$DEFINES -DENABLE_GTK=1"
139 >    AC_DEFINE(ENABLE_GTK)
140      CFLAGS="$CFLAGS $GTK_CFLAGS"
141      CXXFLAGS="$CXXFLAGS $GTK_CFLAGS"
142      LIBS="$LIBS $GTK_LIBS"
143      UISRCS=prefs_editor_gtk.cpp
144    ], [
145      AC_MSG_WARN([Could not find GTK+, disabling user interface.])
146 <    WANT_UI=no
146 >    WANT_GTK=no
147    ])
148   fi
149  
150   dnl We use ESD if possible.
151   if [[ "x$WANT_ESD" = "xyes" ]]; then
152    AM_PATH_ESD(0.2.8, [
153 <    DEFINES="$DEFINES -DENABLE_ESD=1"
153 >    AC_DEFINE(ENABLE_ESD)
154      CFLAGS="$CFLAGS $ESD_CFLAGS"
155      CXXFLAGS="$CXXFLAGS $ESD_CFLAGS"
156      LIBS="$LIBS $ESD_LIBS"
# Line 131 | Line 181 | AC_STRUCT_TM
181   dnl Checks for library functions.
182   AC_CHECK_FUNCS(strdup cfmakeraw)
183   AC_CHECK_FUNCS(nanosleep clock_gettime timer_create)
134 AC_CHECK_FUNCS(pthread_cancel)
184  
185   dnl Select system-dependant source files.
186 < SYSSRCS="../dummy/ether_dummy.cpp ../dummy/scsi_dummy.cpp ../dummy/audio_dummy.cpp"
187 < if MACHINE=`uname -a 2>/dev/null`; then
186 > SERIALSRC=serial_unix.cpp
187 > ETHERSRC=../dummy/ether_dummy.cpp
188 > SCSISRC=../dummy/scsi_dummy.cpp
189 > AUDIOSRC=../dummy/audio_dummy.cpp
190 > EXTRASYSSRCS=
191 > SUPPORTS_NATIVE_M68K=no
192 > if MACHINE=`uname -s 2>/dev/null`; then
193    case "$MACHINE" in
194    Linux*)
195 <    SYSSRCS="Linux/ether_linux.cpp Linux/scsi_linux.cpp audio_oss_esd.cpp"
195 >    ETHERSRC=Linux/ether_linux.cpp
196 >    SCSISRC=Linux/scsi_linux.cpp
197 >    AUDIOSRC=audio_oss_esd.cpp
198      ;;
199    FreeBSD*3.*)
200 +    AUDIOSRC=audio_oss_esd.cpp
201 +    DEFINES="$DEFINES -DBSD_COMP"
202      dnl Check for the CAM library
203      AC_CHECK_LIB(cam, cam_open_btl, HAVE_LIBCAM=yes, HAVE_LIBCAM=no)
204      if [[ "x$HAVE_LIBCAM" = "xno" ]]; then
205 <      AC_MSG_ERROR([Cannot find libcam for SCSI management.])
205 >      AC_MSG_WARN([Cannot find libcam for SCSI management, disabling SCSI support.])
206      else
207        dnl Check for the sys kernel includes
208        AC_CHECK_HEADER(/sys/cam/cam.h)
209        if [[ "x$ac_cv_header__sys_cam_cam_h" = "xno" ]]; then
210          dnl In this case I should fix this thing including a "patch"
211          dnl to access directly to the functions in the kernel :) --Orlando
212 <        AC_MSG_ERROR([Cannot find kernel includes for CAM library.])
212 >        AC_MSG_WARN([Cannot find kernel includes for CAM library, disabling SCSI support.])
213 >      else
214 >        SCSISRC=FreeBSD/scsi_freebsd.cpp
215 >        CXXFLAGS="$CXXFLAGS -I/sys"
216 >        CFLAGS="$CFLAGS -I/sys"
217 >        LIBS="$LIBS -lcam"
218 >        DEFINES="$DEFINES -DCAM"
219        fi
156      SYSSRCS="../dummy/ether_dummy.cpp FreeBSD/scsi_freebsd.cpp audio_oss_esd.cpp"
157      CXXFLAGS="$CXXFLAGS -I/sys"
158      CFLAGS="$CFLAGS -I/sys"
159      LIBS="$LIBS -lcam"
160      DEFINES="$DEFINES -DBSD_COMP -DCAM"
220      fi
221      ;;
222    FreeBSD*)
223 +    DEFINES="$DEFINES -DBSD_COMP"
224      dnl Check for the SCSI library
225      AC_CHECK_LIB(scsi, scsi_open, HAVE_LIBSCSI=yes, HAVE_LIBSCSI=no)
226      if [[ "x$HAVE_LIBSCSI" = "xno" ]]; then
227 <      AC_MSG_ERROR([Cannot find libscsi for SCSI management.])
227 >      AC_MSG_WARN([Cannot find libscsi for SCSI management, disabling SCSI support.])
228      else
229        dnl Check for the sys kernel includes
230        AC_CHECK_HEADER(scsi.h sys/scsiio.h)
231        if [[ "x$ac_cv_header_scsi_h" = "xno" ]]; then
232 <        AC_MSG_ERROR([Cannot find includes for the SCSI library.])
232 >        AC_MSG_WARN([Cannot find includes for the SCSI library, disabling SCSI support.])
233 >      else
234 >        SCSISRC=FreeBSD/scsi_freebsd.cpp
235 >        LIBS="$LIBS -lscsi"
236        fi
174      SYSSRCS="../dummy/ether_dummy.cpp FreeBSD/scsi_freebsd.cpp ../dummy/audio_dummy.cpp"
175      LIBS="$LIBS -lscsi"
176      DEFINES="$DEFINES -DBSD_COMP"
237      fi
238      ;;
239 +  NetBSD*)
240 +    SUPPORTS_NATIVE_M68K=yes
241 +    ;;
242    SunOS*)
243 <    SYSSRCS="../dummy/ether_dummy.cpp ../dummy/scsi_dummy.cpp Solaris/audio_solaris.cpp"
243 >    AUDIOSRC=Solaris/audio_solaris.cpp
244      DEFINES="$DEFINES -DBSD_COMP -D_POSIX_PTHREAD_SEMANTICS"
245      ;;
246    IRIX*)
247 <    SYSSRCS="../dummy/ether_dummy.cpp ../dummy/scsi_dummy.cpp ../dummy/audio_dummy.cpp Irix/unaligned.c"
247 >    EXTRASYSSRCS=Irix/unaligned.c
248      DEFINES="$DEFINES -DCRTSCTS=CNEW_RTSCTS -DB230400=B115200"
249      LIBS="$LIBS -lm"
250      ;;
251    esac
252   fi
253 < SYSSRCS="$SYSSRCS $SEMSRCS $UISRCS $MONSRCS"
254 <
255 < dnl Check for i386 CPU.
256 < HAVE_I386=no
257 < AC_MSG_CHECKING(for x86 target CPU)
258 < AC_EGREP_CPP(yes,
259 < [
260 < #ifdef __i386__
198 <  yes
199 < #endif
200 < ], [AC_MSG_RESULT(yes); HAVE_I386=yes], AC_MSG_RESULT(no))
201 <
202 < dnl Check for SPARC CPU.
203 < HAVE_SPARC=no
204 < AC_MSG_CHECKING(for SPARC target CPU)
205 < AC_EGREP_CPP(yes,
206 < [
207 < #ifdef __sparc__
208 <  yes
209 < #endif
210 < ], [AC_MSG_RESULT(yes); HAVE_SPARC=yes], AC_MSG_RESULT(no))
253 > if [[ "x$HAVE_PTHREADS" = "xno" ]]; then
254 >  dnl Serial, ethernet and audio support needs pthreads
255 >  AC_MSG_WARN([You don't have pthreads, disabling serial, ethernet and audio support.])
256 >  SERIALSRC=../dummy/serial_dummy.cpp
257 >  ETHERSRC=../dummy/ether_dummy.cpp
258 >  AUDIOSRC=../dummy/audio_dummy.cpp
259 > fi
260 > SYSSRCS="$SERIALSRC $ETHERSRC $SCSISRC $AUDIOSRC $SEMSRC $UISRCS $MONSRCS $EXTRASYSSRCS"
261  
262   dnl Check for GAS.
263   HAVE_GAS=no
# Line 228 | Line 278 | AC_EGREP_CPP(yes,
278   #endif
279   ], [AC_MSG_RESULT(yes); HAVE_GCC27=yes], AC_MSG_RESULT(no))
280  
281 < dnl Set "-fomit-frame-pointer" on GCC 2.7 or higher.
282 < if [[ "x$HAVE_GCC27" = "xyes" ]]; then
281 > dnl Set "-fomit-frame-pointer" on i386 GCC 2.7 or higher.
282 > if [[ "x$HAVE_GCC27" = "xyes" -a "x$HAVE_I386" = "xyes" ]]; then
283    CFLAGS="$CFLAGS -fomit-frame-pointer"
284    CXXFLAGS="$CXXFLAGS -fomit-frame-pointer"
285   fi
# Line 238 | Line 288 | dnl Select appropriate CPU source and RE
288   WANT_X86_ASSEMBLY=no
289   WANT_SPARC_V8_ASSEMBLY=no
290   WANT_SPARC_V9_ASSEMBLY=no
291 + WANT_NATIVE_M68K=no
292   CPUSRCS="cpuemu1.cpp cpuemu2.cpp cpuemu3.cpp cpuemu4.cpp cpuemu5.cpp cpuemu6.cpp cpuemu7.cpp cpuemu8.cpp"
293   if [[ "x$HAVE_GCC27" = "xyes" -a "x$HAVE_I386" = "xyes" ]]; then
294    dnl i386 CPU
# Line 245 | Line 296 | if [[ "x$HAVE_GCC27" = "xyes" -a "x$HAVE
296    if [[ "x$HAVE_GAS" = "xyes" ]]; then
297      WANT_X86_ASSEMBLY=yes
298      DEFINES="$DEFINES -DX86_ASSEMBLY"
299 <    CPUSRCS="cpufast1.s cpufast2.s cpufast3.s cpufast4.s cpufast5.s cpufast6.s cpufast7.s cpufast8.s"
299 >    CPUSRCS="../uae_cpu/compiler.cpp cpufast1.s cpufast2.s cpufast3.s cpufast4.s cpufast5.s cpufast6.s cpufast7.s cpufast8.s"
300    fi
301   elif [[ "x$HAVE_GCC27" = "xyes" -a "x$HAVE_SPARC" = "xyes" -a "x$HAVE_GAS" = "xyes" ]]; then
302    dnl SPARC CPU
# Line 270 | Line 321 | elif [[ "x$HAVE_GCC27" = "xyes" -a "x$HA
321      esac
322      ;;
323    esac
324 + elif [[ "x$HAVE_M68K" = "xyes" -a "x$SUPPORTS_NATIVE_M68K" = "xyes" ]]; then
325 +  dnl Native m68k, no emulation
326 +  CPUSRCS=""
327 +  AC_DEFINE(ENABLE_NATIVE_M68K)
328 +  WANT_NATIVE_M68K=yes
329   fi
330  
331 < dnl UAE CPU sources for all architectures.
332 < CPUINCLUDES="-I../uae_cpu"
333 < CPUSRCS="../uae_cpu/basilisk_glue.cpp ../uae_cpu/memory.cpp ../uae_cpu/newcpu.cpp ../uae_cpu/readcpu.cpp ../uae_cpu/fpp.cpp cpustbl.cpp cpudefs.cpp $CPUSRCS"
331 > dnl UAE CPU sources for all non-m68k-native architectures.
332 > if [[ "x$WANT_NATIVE_M68K" = "xno" ]]; then
333 >  CPUINCLUDES="-I../uae_cpu"
334 >  CPUSRCS="../uae_cpu/basilisk_glue.cpp ../uae_cpu/memory.cpp ../uae_cpu/newcpu.cpp ../uae_cpu/readcpu.cpp ../uae_cpu/fpp.cpp cpustbl.cpp cpudefs.cpp $CPUSRCS"
335 > else
336 >  CPUINCLUDES="-I../native_cpu"
337 >  CPUSRCS="asm_support.s"
338 > fi
339  
340   dnl Generate Makefile.
341   AC_SUBST(DEFINES)
# Line 288 | Line 349 | echo
349   echo Basilisk II configuration summary:
350   echo
351   echo XFree86 DGA support .............. : $WANT_XF86_DGA
352 + echo XFree86 VidMode support .......... : $WANT_XF86_VIDMODE
353   echo fbdev DGA support ................ : $WANT_FBDEV_DGA
354   echo ESD sound support ................ : $WANT_ESD
355 < echo GTK user interface ............... : $WANT_UI
355 > echo GTK user interface ............... : $WANT_GTK
356   echo mon debugger support ............. : $WANT_MON
357   echo i386 assembly optimizations ...... : $WANT_X86_ASSEMBLY
358   echo SPARC V8 assembly optimizations .. : $WANT_SPARC_V8_ASSEMBLY
359   echo SPARC V9 assembly optimizations .. : $WANT_SPARC_V9_ASSEMBLY
360 + echo Running m68k code natively ....... : $WANT_NATIVE_M68K
361   echo
362 < echo "Configuration done. Now type \"make\"."
362 > echo "Configuration done. Now type \"make\" (or \"gmake\")."

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines