ViewVC Help
View File | Revision Log | Show Annotations | Revision Graph | Root Listing
root/cebix/Frodo4/Src/configure.ac
Revision: 1.4
Committed: 2003-07-01T19:30:24Z (20 years, 9 months ago) by cebix
Branch: MAIN
Changes since 1.3: +3 -4 lines
Log Message:
saner compiler options

File Contents

# Content
1 dnl Process this file with autoconf to produce a configure script.
2
3 AC_INIT(Frodo, 4.2, [Christian.Bauer@uni-mainz.de], Frodo)
4 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 AC_PROG_INSTALL
14
15 dnl -fomit-frame-pointer makes things faster
16 if [[ x"$GXX" = "xyes" ]]; then
17 CFLAGS="$CFLAGS -fomit-frame-pointer -fno-exceptions"
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 CFLAGS="$CFLAGS -DREGPARAM=\"__attribute__((regparm(3)))\""
155 elif [[ "$TARGET" = "amigaos" ]]; then
156 CFLAGS="$CFLAGS -DREGPARAM=\"__attribute__((regargs(4)))\" "
157 else
158 CFLAGS="$CFLAGS -DREGPARAM="
159 fi
160
161 CC=$CXX
162
163 AC_SUBST(TARGET)
164 AC_SUBST(SET_MAKE)
165 AC_SUBST(top_srcdir)
166 AC_SUBST(HPUX_REV)
167 AC_SUBST(KBD_LANG)
168
169 dnl Generate Makefile.
170 AC_CONFIG_FILES([Makefile])
171 AC_OUTPUT
172
173 dnl Print summary.
174 echo
175 echo "Configuration done. Now type \"make\"."