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.10 by cebix, 1999-10-23T17:57:56Z vs.
Revision 1.21 by cebix, 2000-07-22T18:12:34Z

# Line 6 | Line 6 | AC_PREREQ(2.12)
6   AC_CONFIG_HEADER(config.h)
7  
8   dnl Options.
9 < WANT_XF86_DGA=yes
10 < WANT_FBDEV_DGA=yes
11 < WANT_ESD=yes
12 < WANT_UI=yes
13 < AC_ARG_ENABLE(xf86-dga, [  --enable-xf86-dga       use the XFree86 DGA extension [default=yes]], [WANT_XF86_DGA=$enableval], [])
14 < AC_ARG_ENABLE(fbdev-dga, [  --enable-fbdev-dga      use direct frame buffer access via /dev/fb [default=yes]], [WANT_FBDEV_DGA=$enableval], [])
15 < AC_ARG_ENABLE(esd, [  --enable-esd            Enlightened Sound Daemon support [default=yes]], [WANT_ESD=$enableval], [])
16 < AC_ARG_ENABLE(ui,  [  --enable-ui             use GTK user interface [default=yes]], [WANT_UI=$enableval], [])
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 22 | 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 + 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.
73   AC_CHECK_LIB(posix4, sem_init)
74  
# Line 34 | 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 60 | 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    ])
65 else
66  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 119 | Line 180 | AC_STRUCT_TM
180  
181   dnl Checks for library functions.
182   AC_CHECK_FUNCS(strdup cfmakeraw)
183 < AC_CHECK_FUNCS(nanosleep clock_gettime timer_create)
123 < AC_CHECK_FUNCS(pthread_cancel)
183 > AC_CHECK_FUNCS(clock_gettime timer_create)
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
145      SYSSRCS="../dummy/ether_dummy.cpp FreeBSD/scsi_freebsd.cpp audio_oss_esd.cpp"
146      CXXFLAGS="$CXXFLAGS -I/sys"
147      CFLAGS="$CFLAGS -I/sys"
148      LIBS="$LIBS -lcam"
149      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
163      SYSSRCS="../dummy/ether_dummy.cpp FreeBSD/scsi_freebsd.cpp ../dummy/audio_dummy.cpp"
164      LIBS="$LIBS -lscsi"
165      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"
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__
187 <  yes
188 < #endif
189 < ], [AC_MSG_RESULT(yes); HAVE_I386=yes], AC_MSG_RESULT(no))
190 <
191 < dnl Check for SPARC CPU.
192 < HAVE_SPARC=no
193 < AC_MSG_CHECKING(for SPARC target CPU)
194 < AC_EGREP_CPP(yes,
195 < [
196 < #ifdef __sparc__
197 <  yes
198 < #endif
199 < ], [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 217 | 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
286  
287   dnl Select appropriate CPU source and REGPARAM define.
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
295    DEFINES="$DEFINES -DREGPARAM=\"__attribute__((regparm(3)))\""
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 241 | Line 307 | elif [[ "x$HAVE_GCC27" = "xyes" -a "x$HA
307      AC_MSG_RESULT($SPARC_TYPE)
308      case "$SPARC_TYPE" in
309      SPARC_V8)
310 +      WANT_SPARC_V8_ASSEMBLY=yes
311        DEFINES="$DEFINES -DSPARC_V8_ASSEMBLY"
312        CFLAGS="$CFLAGS -Wa,-Av8"
313        CXXFLAGS="$CXXFLAGS -Wa,-Av8"
314        ;;
315      SPARC_V9)
316 +      WANT_SPARC_V9_ASSEMBLY=yes
317        DEFINES="$DEFINES -DSPARC_V9_ASSEMBLY"
318        CFLAGS="$CFLAGS -Wa,-Av9"
319        CXXFLAGS="$CXXFLAGS -Wa,-Av9"
# Line 253 | 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 265 | Line 343 | AC_SUBST(SYSSRCS)
343   AC_SUBST(CPUINCLUDES)
344   AC_SUBST(CPUSRCS)
345   AC_OUTPUT(Makefile)
346 < echo "Configuration done. Now type \"make\"."
346 >
347 > dnl Print summary.
348 > 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_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\" (or \"gmake\")."

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines