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.16 by cebix, 1999-11-03T10:56:28Z vs.
Revision 1.19 by cebix, 2000-07-13T13:47:09Z

# 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_WITH(esd,       [  --with-esd              support ESD for sound under Linux/FreeBSD [default=yes]], [WANT_ESD=$withval], [WANT_ESD=yes])
12 < AC_ARG_WITH(gtk,       [  --with-gtk              use GTK user interface [default=yes]], [WANT_GTK=$withval], [WANT_GTK=yes])
13 < AC_ARG_WITH(mon,       [  --with-mon              use mon as debugger [default=yes]], [WANT_MON=$withval], [WANT_MON=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 19 | 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 <  AC_CHECK_LIB(readline, readline)
63 <  AC_CHECK_HEADERS(readline/readline.h readline/history.h)
64 < else
65 <  AC_MSG_RESULT(no)
66 <  WANT_MON=no
67 <  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 48 | 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 75 | Line 115 | if [[ "x$WANT_XF86_DGA" = "xyes" ]]; the
115    ], [
116      AC_MSG_WARN([Could not find XFree86 DGA extension, ignoring --enable-xf86-dga.])
117      WANT_XF86_DGA=no
78    DEFINES="$DEFINES -DENABLE_XF86_DGA=0"
118    ])
80 else
81  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_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"
# Line 98 | Line 144 | if [[ "x$WANT_GTK" = "xyes" ]]; then
144    ], [
145      AC_MSG_WARN([Could not find GTK+, disabling user interface.])
146      WANT_GTK=no
101    DEFINES="$DEFINES -DENABLE_GTK=0"
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"
157    ], [
158      AC_MSG_WARN([Could not find ESD, disabling ESD support.])
159      WANT_ESD=no
115    DEFINES="$DEFINES -DENABLE_ESD=0"
160    ])
161   fi
162  
# Line 137 | 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)
140 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
162      SYSSRCS="../dummy/ether_dummy.cpp FreeBSD/scsi_freebsd.cpp audio_oss_esd.cpp"
163      CXXFLAGS="$CXXFLAGS -I/sys"
164      CFLAGS="$CFLAGS -I/sys"
165      LIBS="$LIBS -lcam"
166      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
180      SYSSRCS="../dummy/ether_dummy.cpp FreeBSD/scsi_freebsd.cpp ../dummy/audio_dummy.cpp"
181      LIBS="$LIBS -lscsi"
182      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__
204 <  yes
205 < #endif
206 < ], [AC_MSG_RESULT(yes); HAVE_I386=yes], AC_MSG_RESULT(no))
207 <
208 < dnl Check for SPARC CPU.
209 < HAVE_SPARC=no
210 < AC_MSG_CHECKING(for SPARC target CPU)
211 < AC_EGREP_CPP(yes,
212 < [
213 < #ifdef __sparc__
214 <  yes
215 < #endif
216 < ], [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 234 | 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 244 | 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 276 | 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../cpu_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 294 | 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_GTK
# Line 301 | Line 357 | echo mon debugger support .............
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