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

# 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 cebix 1.4 dnl -fomit-frame-pointer makes things faster
16 cebix 1.1 if [[ x"$GXX" = "xyes" ]]; then
17 cebix 1.4 CFLAGS="$CFLAGS -fomit-frame-pointer -fno-exceptions"
18 cebix 1.1 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 cebix 1.4 CFLAGS="$CFLAGS -DREGPARAM=\"__attribute__((regparm(3)))\""
155 cebix 1.1 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\"."