pcsxr-1.9.92
[pcsx_rearmed.git] / configure.ac
1 AC_INIT(pcsx, 1.9)
2
3 AC_CANONICAL_HOST
4 AC_CANONICAL_TARGET
5 AM_INIT_AUTOMAKE(pcsx, 1.9)
6 AM_MAINTAINER_MODE
7
8 AC_CONFIG_HEADERS([include/config.h:include/config.h.in])
9
10 AC_PROG_CC
11 AC_PROG_RANLIB
12 AC_DISABLE_STATIC
13 AC_PROG_LIBTOOL
14 AC_PROG_INSTALL
15 AC_STDC_HEADERS
16 AM_PROG_AS
17
18 AM_GNU_GETTEXT([external])
19
20 GETTEXT_PACKAGE=pcsx
21 AC_SUBST(GETTEXT_PACKAGE)
22 AC_DEFINE_UNQUOTED([GETTEXT_PACKAGE], ["${GETTEXT_PACKAGE}"], [gettext domain])
23
24 PKG_CHECK_MODULES(GLIB2, glib-2.0, [], AC_MSG_ERROR([*** glib2 not found!]))
25 PKG_CHECK_MODULES(GTK2, gtk+-2.0, [], AC_MSG_ERROR([*** libgtk2 not found!]))
26 PKG_CHECK_MODULES(GLADE2, libglade-2.0, [], AC_MSG_ERROR([*** libglade2 not found!]))
27
28 AM_PATH_SDL(1.2.0, :, AC_MSG_ERROR([*** SDL not found!]))
29
30 AC_SUBST(GLIB2_CFLAGS)
31 AC_SUBST(GLIB2_LIBS)
32 AC_SUBST(GTK2_CFLAGS)
33 AC_SUBST(GTK2_LIBS)
34 AC_SUBST(GLADE2_CFLAGS)
35 AC_SUBST(GLADE2_LIBS)
36
37 AC_CONFIG_FILES([Makefile data/Makefile doc/Makefile libpcsxcore/Makefile gui/Makefile plugins/dfinput/Makefile plugins/dfsound/Makefile plugins/dfxvideo/Makefile plugins/dfcdrom/Makefile plugins/dfnet/Makefile pixmaps/Makefile po/Makefile.in])
38
39 AC_CHECK_LIB(dl, dlsym, [LDFLAGS="$LDFLAGS -ldl"], [])
40 AC_CHECK_LIB(socket, socket, [LDFLAGS="$LDFLAGS -lsocket"], [])
41 AC_CHECK_LIB(nsl, gethostbyname, [LDFLAGS="$LDFLAGS -lnsl"], [])
42 AC_CHECK_LIB(umem, umem_alloc, [LDFLAGS="$LDFLAGS -lumem"], [])
43
44 AM_CONDITIONAL(SOUND_OSS, false)
45 AM_CONDITIONAL(SOUND_SDL, false)
46 AM_CONDITIONAL(SOUND_NULL, false)
47
48 dnl Check for ALSA 1.x, OSS, or PulseAudio
49
50 AC_ARG_ENABLE(sound, [  --enable-sound=...      force selection of sound backend (alsa/null/oss/pulseaudio/sdl) (default: sdl)],
51 [ SOUND="$enableval" ],[ SOUND="sdl" ])
52
53 if test "x$SOUND" = xalsa; then
54         PKG_CHECK_MODULES(ALSA, alsa >= 1.0.0, have_alsa=yes, have_alsa=no)
55 elif test "x$SOUND" = xpulseaudio; then
56         PKG_CHECK_MODULES(PULSEAUDIO, libpulse >= 0.9.16, have_pulseaudio=yes)
57 elif test "x$SOUND" = xoss; then
58         AC_CHECK_HEADER(sys/soundcard.h, have_oss=yes, have_oss=no)
59         if test "x$have_oss" = xno; then
60                 AC_MSG_ERROR([sys/soundcard.h not found!])
61         else
62                 AM_CONDITIONAL(SOUND_OSS, true)
63         fi
64 elif test "x$SOUND" = xno; then
65         AM_CONDITIONAL(SOUND_NULL, true)
66 elif test "x$SOUND" = xnull; then
67         AM_CONDITIONAL(SOUND_NULL, true)
68 else
69         AM_CONDITIONAL(SOUND_SDL, true)
70 fi
71
72 AM_CONDITIONAL(SOUND_ALSA, test "x$have_alsa" = xyes)
73 AC_SUBST(ALSA_LIBS)
74 AM_CONDITIONAL(SOUND_PULSEAUDIO, test "x$have_pulseaudio" = xyes)
75 AC_SUBST(PULSEAUDIO_CFLAGS)
76 AC_SUBST(PULSEAUDIO_LIBS)
77
78 AC_CHECK_HEADER(zlib.h, have_zlib=yes, have_zlib=no)
79 if test "x$have_zlib" = xno; then
80         AC_MSG_ERROR([unable to find libz headers])
81 fi
82 AC_CHECK_HEADER(X11/extensions/Xv.h, have_xv=yes, have_xv=no)
83 if test "x$have_xv" = xno; then
84         AC_MSG_ERROR([unable to find xv headers])
85 fi
86 AC_CHECK_HEADER(X11/extensions/XTest.h, have_xtest=yes, have_xtest=no)
87 if test "x$have_xtest" = xno; then
88         AC_MSG_ERROR([unable to find xtest headers])
89 fi
90
91 AM_CONDITIONAL(USE_LIBCDIO, false)
92
93 AC_ARG_ENABLE(libcdio, [  --enable-libcdio        use GNU libcdio for CD-ROM support (default=no)],
94 [ BUILD_LIBCDIO="$enableval" ],[ BUILD_LIBCDIO="no" ])
95
96 if test "$BUILD_LIBCDIO" = "yes"; then
97         PKG_CHECK_MODULES(LIBCDIO, libcdio, [], AC_MSG_ERROR([*** libcdio not found!]))
98         AM_CONDITIONAL(USE_LIBCDIO, true)
99 fi
100
101 AC_SUBST(LIBCDIO_CFLAGS)
102 AC_SUBST(LIBCDIO_LIBS)
103
104 AC_ARG_ENABLE(opengl, [  --enable-opengl         build OpenGL plugin (default=no)],
105 [ BUILD_OPENGL="$enableval" ],[ BUILD_OPENGL="no" ])
106
107 PEOPSXGL=""
108
109 if test "$BUILD_OPENGL" = "yes"; then
110         AC_CHECK_HEADER(GL/gl.h, have_gl=yes, have_gl=no)
111         if test "x$have_gl" = xno; then
112                 AC_MSG_ERROR([unable to find OpenGL headers])
113         fi
114         AC_CHECK_HEADER(GL/glx.h, have_glx=yes, have_glx=no)
115         if test "x$have_glx" = xno; then
116                 AC_MSG_ERROR([unable to find GLX headers])
117         fi
118         AC_CHECK_HEADER(X11/extensions/xf86vmode.h, have_vmode=yes, have_vmode=no,
119         [[#include <GL/gl.h>
120         #include <GL/glx.h>
121         ]])
122         if test "x$have_vmode" = xno; then
123                 AC_MSG_ERROR([unable to find xf86vmode headers])
124         fi
125         PEOPSXGL="plugins/peopsxgl"
126         AC_SUBST(PEOPSXGL)
127         AC_CONFIG_FILES([plugins/peopsxgl/Makefile])
128 fi
129
130 AM_CONDITIONAL(X86_NASM, false)
131
132 if expr x"$target_cpu" : 'xi.86' > /dev/null; then
133         if expr x"$target_os" : 'x.*linux.*' > /dev/null; then
134                 AC_PATH_PROG([NASM],[nasm],[missing])
135                 if test "$NASM" = "missing"; then
136                         AC_MSG_WARN([unable to find nasm, needed to build dfx11video])
137                         AM_CONDITIONAL(X86_NASM, false)
138                 else
139                         AM_CONDITIONAL(X86_NASM, true)
140                 fi
141         fi
142 fi
143
144 AM_CONDITIONAL(ARCH_X86, false)
145 AM_CONDITIONAL(ARCH_X86_64, false)
146 AM_CONDITIONAL(ARCH_PPC, false)
147
148 AC_ARG_ENABLE(dynarec, [  --enable-dynarec=...    force selection of dynamic recompiler platform (auto/no/x86/x86_64/ppc) (default: auto)],
149 [ DYNAREC="$enableval" ],[ DYNAREC="auto" ])
150
151 if test "x$DYNAREC" = xauto; then
152         DYNARECSEL="auto"
153 else if test "x$DYNAREC" = xx86; then
154         DYNARECSEL="x86"
155 else if test "x$DYNAREC" = xx86_64; then
156         DYNARECSEL="x86_64"
157 else if test "x$DYNAREC" = xppc; then
158         DYNARECSEL="ppc"
159 else if test "x$DYNAREC" = xno; then
160         DYNARECSEL="no"
161 else
162         AC_MSG_WARN([Dynamic Recompiler "$DYNAREC" not found.  Autodetecting...])
163         DYNARECSEL="auto"
164 fi
165 fi
166 fi
167 fi
168 fi
169
170 if test "x$DYNARECSEL" = xauto; then
171         if expr x"$target_cpu" : 'xi.86' > /dev/null; then
172                 DYNARECSEL="x86"
173         fi
174
175         if expr x"$target_cpu" : 'xx86_64' > /dev/null; then
176                 DYNARECSEL="x86_64"
177         fi
178
179         if expr x"$target_cpu" : 'xpowerpc' > /dev/null; then
180                 DYNARECSEL="ppc"
181         fi
182 fi
183
184 if test "x$DYNARECSEL" = xno; then
185         AC_DEFINE([NOPSXREC], [1], [Define if we are compiling without dynamic recompiler.])
186 fi
187
188 if test "x$DYNARECSEL" = xx86; then
189         AC_DEFINE([__i386__], [1], [Define if we are compiling for x86 architectures.])
190         AM_CONDITIONAL(ARCH_X86, true)
191
192         AC_MSG_RESULT([Dynamic Recompiler selected: x86])
193 fi
194
195 if test "x$DYNARECSEL" = xx86_64; then
196         AC_DEFINE([__x86_64__], [1], [Define if we are compiling for x86_64 architectures.])
197         AM_CONDITIONAL(ARCH_X86_64, true)
198         dnl CFLAGS+=" -m64 "
199         dnl AC_COMPILE_IFELSE(AC_LANG_PROGRAM,,AC_MSG_ERROR([Cannot compile with -m64])) 
200         AC_MSG_RESULT([Dynamic Recompiler selected: x86_64])
201 fi
202
203 if test "x$DYNARECSEL" = xppc; then
204         AC_DEFINE([__ppc__], [1], [Define if we are compiling for powerpc architectures.])
205         AM_CONDITIONAL(ARCH_PPC, true)
206         AC_MSG_RESULT([Dynamic Recompiler selected: ppc])
207 fi
208
209 AC_C_BIGENDIAN(AC_DEFINE([__BIGENDIAN__],[],[define on a big endian system]))
210
211 AC_DEFINE([__LINUX__], [1], [Define if building on a GNU/Linux system.])
212 AC_DEFINE([MAXPATHLEN], [4096], [Define to the maximum length of any path.])
213
214 AC_OUTPUT