ViewVC Help
View File | Revision Log | Show Annotations | Revision Graph | Root Listing
root/cebix/Frodo4/Src/configure.ac
Revision: 1.3
Committed: 2003-07-01T19:04:37Z (20 years, 9 months ago) by cebix
Branch: MAIN
Changes since 1.2: +1 -0 lines
Log Message:
ROMs are in /usr/share/frodo under Unix

File Contents

# User Rev Content
1 cebix 1.1 dnl Process this file with autoconf to produce a configure script.
2    
3 cebix 1.2 AC_INIT(Frodo, 4.2, [Christian.Bauer@uni-mainz.de], Frodo)
4 cebix 1.1 AC_CONFIG_SRCDIR(main.cpp)
5     AC_PREREQ(2.52)
6     AC_CONFIG_HEADER(sysconfig.h)
7    
8     dnl Checks for programs.
9     AC_PROG_CC
10     AC_PROG_CXX
11     AC_PROG_CPP
12     AC_PROG_MAKE_SET
13 cebix 1.3 AC_PROG_INSTALL
14 cebix 1.1
15     dnl Don't want the default "-O2 -g" that autoconf uses for gcc.
16     if [[ x"$GXX" = "xyes" ]]; then
17     CFLAGS="-O2 -g -fomit-frame-pointer -Wall -Wno-unused -Wno-format"
18     fi
19    
20     UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
21     UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown
22    
23     HPUX_REV=0
24     if [[ x$UNAME_SYSTEM = "xHP-UX" ]]; then
25     HPUX_REV=`echo $UNAME_RELEASE | sed -e 's/[^.]*.[0B]*//' -e 's/\..*$//'`
26     fi
27    
28     AC_AIX
29     AC_ISC_POSIX
30    
31     dnl Checks for libraries.
32     HAVE_BEBOX=no
33     AC_CHECK_LIB(amiga, OpenLibrary, HAVE_AMIGA_LIB=yes, HAVE_AMIGA_LIB=no)
34     AC_CHECK_LIB(vga, vga_setmode, HAVE_SVGA_LIB=yes, HAVE_SVGA_LIB=no)
35     AM_PATH_SDL(1.2.0, HAVE_SDL=yes, HAVE_SDL=no)
36    
37     AC_PATH_XTRA
38    
39     AC_HEADER_DIRENT
40     AC_HEADER_STDC
41     AC_CHECK_HEADERS(unistd.h fcntl.h sys/time.h sys/types.h utime.h string.h strings.h values.h ncurses.h)
42     AC_CHECK_HEADERS(sys/vfs.h sys/mount.h sys/select.h sys/param.h sys/statfs.h sys/statvfs.h sys/stat.h linux/joystick.h)
43    
44     AC_CHECK_SIZEOF(char)
45     AC_CHECK_SIZEOF(short)
46     AC_CHECK_SIZEOF(int)
47     AC_CHECK_SIZEOF(long)
48     AC_CHECK_SIZEOF(long long)
49    
50     dnl Checks for typedefs, structures, and compiler characteristics.
51     AC_TYPE_MODE_T
52     AC_TYPE_OFF_T
53     AC_TYPE_PID_T
54     AC_STRUCT_ST_BLOCKS
55     AC_HEADER_TIME
56     AC_STRUCT_TM
57    
58     dnl Checks for library functions.
59     AC_PROG_GCC_TRADITIONAL
60     AC_FUNC_MEMCMP
61     AC_TYPE_SIGNAL
62     AC_FUNC_UTIME_NULL
63     AC_CHECK_FUNCS(gettimeofday sigaction mkdir rmdir select strerror strstr statfs usleep)
64    
65     KBD_LANG=0
66     AC_ARG_ENABLE(kbd-lang-de,[ --enable-kbd-lang-de Use german keyboard layout],[KBD_LANG=1],[])
67     AC_ARG_ENABLE(kbd-lang-us,[ --enable-kbd-lang-us Use american keyboard layout],[KBD_LANG=0],[])
68    
69     AC_MSG_CHECKING(which target to use)
70     if [[ x"$HAVE_BEBOX" = "xyes" ]]; then
71     AC_MSG_RESULT([BeBox])
72     TARGET=be
73     elif [[ x"$HAVE_AMIGA_LIB" = "xyes" ]]; then
74     AC_MSG_RESULT([AmigaOS])
75     TARGET=amigaos
76     elif [[ x"$no_x" = "xyes" ]]; then
77     if [[ x"$HAVE_SVGA_LIB" = "xyes" ]]; then
78     AC_MSG_RESULT([SVGAlib])
79     TARGET=svgalib
80     CFLAGS="$CFLAGS -D__svgalib__"
81     LIBS="$LIBS -lvga"
82     else
83     AC_MSG_RESULT([Ummm...])
84     AC_MSG_ERROR([Neither X nor SVGAlib found, don't know what target to use.])
85     fi
86     elif [[ x"$HAVE_SDL" = "xyes" ]]; then
87     AC_MSG_RESULT([SDL])
88     TARGET=sdl
89     CFLAGS="$CFLAGS $SDL_CFLAGS -DHAVE_SDL"
90     LIBS="$LIBS $SDL_LIBS"
91     else
92     AC_MSG_RESULT([X Window System])
93     TARGET=x11
94     CFLAGS="$CFLAGS $X_CFLAGS -I$ac_cv_x_include"
95     LIBS="$LIBS $X_LIBS $X_PRE_LIBS -lXext -lX11 $X_EXTRA_LIBS"
96     fi
97    
98     dnl Find out some things about the system
99     dnl - whether we have GCC 2.7 or better.
100     dnl - what CPU we have (to use some assembly hacks on the x86)
101    
102     HAVEGCC27=n
103     HAVEI386=n
104    
105     cat >conftest.cpp << EOF
106     #include <stdio.h>
107     int main()
108     {
109     #if defined(__GNUC__) && defined(__GNUC_MINOR__)
110     #if __GNUC__ > 2 || __GNUC_MINOR__ > 6
111     printf("GNU\n");
112     #endif
113     #endif
114     return 0;
115     }
116     EOF
117    
118     $CXX conftest.cpp -c -o conftest.o
119     $CXX conftest.o -o conftest
120     ./conftest >conftest.file
121     if grep GNU conftest.file >/dev/null; then
122     HAVEGCC27=y
123     echo "Good news. Found GCC 2.7 or better."
124     elif [[ "$CC" = "gcc" ]]; then
125     echo "I suggest you upgrade to at least version 2.7 of GCC"
126     else
127     echo "Couldn't find GCC. Frodo may or may not compile and run correctly."
128     fi
129    
130     cat >conftest.c << EOF
131     #include <stdio.h>
132     int main()
133     {
134     #ifdef __i386__
135     printf("386\n");
136     #endif
137     return 0;
138     }
139     EOF
140    
141     $CC conftest.c -c -o conftest.o
142     $CC conftest.o -o conftest
143     ./conftest >conftest.file
144     if grep 386 conftest.file >/dev/null; then
145     HAVEI386=y
146     echo "You seem to be using a x86 CPU"
147     else
148     echo "No special hacks for your CPU, sorry."
149     fi
150    
151     rm -f conftest*
152    
153     if [[ "$HAVEGCC27" = "y" -a "$HAVEI386" = "y" ]]; then
154     # Don't want strength-reduce on the i386, makes the code slower usually.
155     CFLAGS="$CFLAGS -fno-strength-reduce -DREGPARAM=\"__attribute__((regparm(3)))\""
156     elif [[ "$TARGET" = "amigaos" ]]; then
157     CFLAGS="$CFLAGS -DREGPARAM=\"__attribute__((regargs(4)))\" "
158     else
159     CFLAGS="$CFLAGS -DREGPARAM="
160     fi
161    
162     CC=$CXX
163    
164     AC_SUBST(TARGET)
165     AC_SUBST(SET_MAKE)
166     AC_SUBST(top_srcdir)
167     AC_SUBST(HPUX_REV)
168     AC_SUBST(KBD_LANG)
169    
170     dnl Generate Makefile.
171     AC_CONFIG_FILES([Makefile])
172     AC_OUTPUT
173    
174     dnl Print summary.
175     echo
176     echo "Configuration done. Now type \"make\"."