Moved parts of the DC initialisation and bitmap selection out of the
[wine/multimedia.git] / configure.ac
blobd0cf5878d8574197949b73738ed92fffed3da492
1 dnl Process this file with autoconf to produce a configure script.
2 dnl Original author: Michael Patra
3 dnl See ChangeLog file for detailed change history.
5 m4_define(WINE_VERSION,regexp(m4_include(VERSION),[version \([-.0-9A-Za-z]+\)],[\1]))
7 AC_PREREQ(2.53)
8 AC_INIT([Wine],WINE_VERSION)
9 AC_CONFIG_SRCDIR(server/atom.c)         
10 AC_CONFIG_HEADERS(include/config.h)
11 AC_CONFIG_AUX_DIR(tools)
13 dnl **** Command-line arguments ****
15 dnl Default values
16 LIBEXT=so       # library type .so or .a
18 AC_ARG_ENABLE(debug, AC_HELP_STRING([--disable-debug],[compile out all debugging messages]))
19 AC_ARG_ENABLE(trace, AC_HELP_STRING([--disable-trace],[compile out TRACE messages]))
20 AC_ARG_ENABLE(opengl,AC_HELP_STRING([--enable-opengl],[force usage of OpenGL even if the latter is thread-safe via pthread]))
21 AC_ARG_WITH(curses,     AC_HELP_STRING([--without-curses],[do not use curses]))
23 AC_SUBST(OPTIONS)
24 if test "x$enable_debug" = "xno"
25 then
26     AC_DEFINE(NO_DEBUG_MSGS,1,[Define to disable all debug messages.])
28 if test "x$enable_trace" = "xno" -o "x$enable_debug" = "xno"
29 then
30     AC_DEFINE(NO_TRACE_MSGS,1,[Define to disable trace messages.])
33 dnl **** Check for some programs ****
35 AC_CANONICAL_TARGET
36 AC_PROG_MAKE_SET
37 AC_PROG_CC
38 AC_PROG_CPP
39 AC_PATH_XTRA
40 AC_PROG_YACC
41 AC_PROG_LEX
43 dnl **** Just additional warning checks, since AC_PROG just sets 'yacc' even
44 dnl **** without one present.
45 AC_CHECK_PROGS(XYACC,$YACC bison yacc,none)
46 if test "$XYACC" = "none"
47 then
48   AC_MSG_ERROR([no suitable bison/yacc found. Please install the 'bison' package.])
50 AC_CHECK_PROGS(XLEX,$LEX flex lex,none)
51 if test "$XLEX" = "none"
52 then
53   AC_MSG_ERROR([no suitable lex found. Please install the 'flex' package.])
55 AC_PROG_RANLIB
56 AC_PROG_INSTALL
57 AC_PROG_LN_S
58 AC_CHECK_PROG(C2MAN,c2man,c2man,\$(TOPSRCDIR)/tools/c2man.pl)
59 AC_PATH_PROG(LDCONFIG, ldconfig, true, [/sbin /usr/sbin $PATH])
61 dnl Check for lint
62 AC_CHECK_PROGS(LINT, lclint lint)
63 if test "$LINT" = "lint"
64 then
65   LINTFLAGS="$LINTFLAGS -errchk=%all,no%longptr64 -errhdr=%user -Ncheck=macro -Nlevel=4"
66   dnl LINTFLAGS='-D_SIZE_T "-Dsize_t=unsigned long" -errchk=longptr64'
68 AC_SUBST(LINT)
69 AC_SUBST(LINTFLAGS)
71 case $host_os in
72   *cygwin*) LDCOMBINE="ld -r --enable-stdcall-fixup" ;;
73          *) LDCOMBINE="ld -r" ;;
74 esac
75 AC_SUBST(LDCOMBINE)
77 dnl **** Check for some libraries ****
79 dnl Check for -lm
80 AC_CHECK_LIB(m,sqrt)
81 dnl Check for -li386 for NetBSD and OpenBSD
82 AC_CHECK_LIB(i386,i386_set_ldt)
83 dnl Check for -lossaudio for NetBSD
84 AC_CHECK_LIB(ossaudio,_oss_ioctl)
85 dnl Check for -lw for Solaris
86 AC_CHECK_FUNCS(iswalnum,,AC_CHECK_LIB(w,iswalnum))
87 dnl Check for -lnsl for Solaris
88 AC_CHECK_FUNCS(gethostbyname,,AC_CHECK_LIB(nsl,gethostbyname))
89 dnl Check for -lsocket for Solaris
90 AC_CHECK_FUNCS(connect,,AC_CHECK_LIB(socket,connect))
91 dnl Check for -lresolv for Solaris
92 AC_CHECK_FUNCS(inet_aton,,AC_CHECK_LIB(resolv,inet_aton))
93 dnl Check for -lxpg4 for FreeBSD
94 AC_CHECK_LIB(xpg4,_xpg4_setrunelocale)
95 dnl Check for -lmmap for OS/2
96 AC_CHECK_LIB(mmap,mmap)
98 DLLIBS=""
99 AC_SUBST(DLLIBS)
100 AC_CHECK_HEADERS(dlfcn.h,
101     [AC_CHECK_FUNCS(dlopen,,
102         [AC_CHECK_LIB(dl,dlopen,
103                      [AC_DEFINE(HAVE_DLOPEN,1,[Define if you have dlopen])
104                      DLLIBS="-ldl"],
105                      LIBEXT="a")]
106         )],
107         LIBEXT="a"
108     )
110 JPEGLIB=""
111 AC_SUBST(JPEGLIB)
112 AC_CHECK_HEADERS(jpeglib.h,
113     AC_CHECK_LIB(jpeg,jpeg_start_decompress,
114         AC_DEFINE(HAVE_LIBJPEG,1,[Define if you have libjpeg including devel headers])
115         JPEGLIB="-ljpeg"
116     )
120 AC_SUBST(XLIB)
121 AC_SUBST(XFILES)
122 XFILES=""
123 AC_SUBST(OPENGLFILES)
124 OPENGLFILES=""
125 AC_SUBST(GLU32FILES)
126 GLU32FILES=""
127 if test "$have_x" = "yes"
128 then
129     XLIB="-lXext -lX11"
130     ac_save_CPPFLAGS="$CPPFLAGS"
131     CPPFLAGS="$CPPFLAGS $X_CFLAGS"
133     dnl *** All of the following tests require X11/Xlib.h
134     AC_CHECK_HEADERS(X11/Xlib.h,
135       [
136         dnl *** Check for X keyboard extension
137         AC_CHECK_HEADERS(X11/XKBlib.h,
138             [ dnl *** If X11/XKBlib.h exists...
139               AC_CHECK_LIB(X11, XkbQueryExtension,
140               AC_DEFINE(HAVE_XKB, 1, [Define if you have the XKB extension]),,
141               $X_LIBS -lXext -lX11 $X_EXTRA_LIBS)
142             ],
143             AC_MSG_WARN([[Xkb extension not found, Wine will be built without it]])
144         )
146         dnl *** Check for X Shm extension
147         AC_CHECK_HEADERS(X11/extensions/XShm.h,
148             [ dnl *** If X11/extensions/XShm.h exists...
149               AC_CHECK_LIB(Xext, XShmQueryExtension,
150               AC_DEFINE(HAVE_LIBXXSHM, 1, [Define if you have the X Shm extension]),,
151               $X_LIBS -lXext -lX11 $X_EXTRA_LIBS)
152             ],
153             AC_MSG_WARN([[XShm extension not found, Wine will be built without it]]),
154             [#include <X11/Xlib.h>])
156         dnl *** Check for X shape extension
157         AC_CHECK_HEADERS(X11/extensions/shape.h,
158             [ dnl *** If X11/extensions/shape.h exists...
159               AC_CHECK_LIB(Xext,XShapeQueryExtension,
160               AC_DEFINE(HAVE_LIBXSHAPE, 1, [Define if you have the X Shape extension]),,
161               $X_LIBS -lXext -lX11 $X_EXTRA_LIBS)
162             ],
163             AC_MSG_WARN([[XShape extension not found, Wine will be built without it]]),
164             [#include <X11/Xlib.h>])
165         
166         dnl *** Check for XFree86 DGA / DGA 2.0 extension
167         AC_CHECK_HEADERS(X11/extensions/xf86dga.h,
168             [ dnl *** If X11/extensions/xf86dga.h exists, check 
169               dnl *** for XDGAQueryExtension()...
170               AC_CHECK_LIB(Xxf86dga, XDGAQueryExtension,
171                 [ dnl *** If found...
172                   AC_DEFINE(HAVE_LIBXXF86DGA2, 1,
173                             [Define if you have the Xxf86dga library version 2])
174                   X_PRE_LIBS="$X_PRE_LIBS -lXxf86dga"
175                ],
176                 [ dnl *** If not found, look for XF86DGAQueryExtension()
177                   dnl *** instead (DGA 2.0 not found)...
178                   AC_CHECK_LIB(Xxf86dga, XF86DGAQueryExtension,
179                     [ AC_DEFINE(HAVE_LIBXXF86DGA, 1,
180                                 [Define if you have the Xxf86dga library version 1])
181                       X_PRE_LIBS="$X_PRE_LIBS -lXxf86dga"
182                     ],,
183                     $X_LIBS -lXext -lX11 $X_EXTRA_LIBS
184                   )
185                 ],
186                 $X_LIBS -lXext -lX11 $X_EXTRA_LIBS
187               )
188             ],
189             AC_MSG_WARN([[DGA extension not found, Wine will be built without it]]),
190             [#include <X11/Xlib.h>])
192         dnl *** Check for XFree86 VMODE extension
193         AC_CHECK_HEADERS(X11/extensions/xf86vmode.h,
194             [ dnl *** If X11/extensions/xf86vmode.h exists...
195                 AC_CHECK_LIB(Xxf86vm, XF86VidModeQueryExtension,
196                   [ AC_DEFINE(HAVE_LIBXXF86VM, 1, [Define if you have the Xxf86vm library])
197                      X_PRE_LIBS="$X_PRE_LIBS -lXxf86vm"
198                   ],,
199                   $X_LIBS -lXext -lX11 $X_EXTRA_LIBS
200                 )
201             ],
202             AC_MSG_WARN([[XFree86 VMODE extension not found, Wine will be built without it]]),
203             [#include <X11/Xlib.h>])
205         dnl *** Check for XVideo extension supporting XvImages
206         AC_CHECK_HEADERS(X11/extensions/Xvlib.h,
207             [ dnl *** If X11/extensions/Xvlib.h exists...
208                 AC_CHECK_LIB(Xv, XvShmCreateImage,
209                   [ AC_DEFINE(HAVE_XVIDEO, 1, [Define if the X libraries support XVideo])
210                      X_PRE_LIBS="$X_PRE_LIBS -lXv"
211                   ],,
212                   $X_LIBS -lXext -lX11 $X_EXTRA_LIBS
213                 )
214             ],
215             AC_MSG_WARN([[XVideo extension not found, Wine will be built without it]]),
216             [#include <X11/Xlib.h>])
218         dnl *** Check for XRender include file
219         AC_CHECK_HEADERS(X11/extensions/Xrender.h,,,[#include <X11/Xlib.h>])
220       ]
221     ) dnl *** End of X11/Xlib.h check
223     dnl Check for the presence of OpenGL
224     if test "x$enable_opengl" != "xno"
225     then
226         if test -f /usr/X11R6/lib/libGL.a -a ! -f /usr/X11R6/lib/libGL.so
227         then
228             AC_MSG_ERROR([/usr/X11R6/lib/libGL.a is present on your system.
229 This prevents linking to OpenGL. Delete the file and restart configure.])
230         fi
232         AC_CHECK_HEADERS(GL/gl.h GL/glx.h)
233         if test "$ac_cv_header_GL_gl_h" = "yes" -a "$ac_cv_header_GL_glx_h" = "yes"
234         then
235             AC_CHECK_HEADERS(GL/glext.h,,,[#include <GL/glx.h>])
236             dnl Check for some problems due to old Mesa versions
237             AC_CACHE_CHECK([for up-to-date OpenGL version], wine_cv_opengl_version_OK,
238               AC_TRY_COMPILE(
239                 [#include <GL/gl.h>],
240                 [GLenum test = GL_UNSIGNED_SHORT_5_6_5;],
241                 [wine_cv_opengl_version_OK="yes"],
242                 [wine_cv_opengl_version_OK="no"]
243               )
244             )
246             dnl Check for the thread-safety of the OpenGL library
247             AC_CACHE_CHECK([for thread-safe OpenGL version], 
248                            wine_cv_opengl_version_threadsafe,
249               [saved_libs=$LIBS
250                LIBS="$X_LIBS -lGL"
251                AC_TRY_LINK([],[pthread_getspecific();],
252                               [wine_cv_opengl_version_threadsafe="yes"],
253                               [wine_cv_opengl_version_threadsafe="no"])
254                LIBS=$saved_libs]
255             )
257             if test "$wine_cv_opengl_version_OK" = "yes" -a \( "$wine_cv_opengl_version_threadsafe" = "no" -o "x$enable_opengl" = "xyes" \)
258             then
259                 dnl Check for the presence of the library
260                 AC_CHECK_LIB(GL,glXCreateContext,
261                              X_PRE_LIBS="$X_PRE_LIBS -lGL"
262                              ,,
263                              $X_LIBS -lXext -lX11 -lm $X_EXTRA_LIBS)
265                 if test "$ac_cv_lib_GL_glXCreateContext" = "yes"
266                 then
267                         OPENGLFILES='$(OPENGLFILES)'
268                         AC_DEFINE(HAVE_OPENGL, 1, [Define if OpenGL is present on the system])
270                         AC_CHECK_LIB(GL,glXGetProcAddressARB,
271                                      AC_DEFINE(HAVE_GLX_GETPROCADDRESS, 1,
272                                                [Define if the OpenGL library supports the glXGetProcAddressARB call]),,
273                                      $X_LIBS -lXext -lX11 -lm $X_EXTRA_LIBS)
275                         if test "$ac_cv_lib_GL_glXGetProcAddressARB" = "yes"
276                         then
277                                AC_CACHE_CHECK([for OpenGL extension functions prototypes], wine_cv_extension_prototypes,
278                                   [AC_TRY_COMPILE([#include <GL/gl.h>
279                                                   #ifdef HAVE_GL_GLEXT_H
280                                                   # include <GL/glext.h>
281                                                   #endif
282                                                   ],
283                                                  [PFNGLCOLORTABLEEXTPROC test_proc;],
284                                                  [wine_cv_extension_prototypes="yes"],
285                                                  [wine_cv_extension_prototypes="no"]
286                                   )]
287                                 )
288                                 if test "$wine_cv_extension_prototypes" = "yes"
289                                 then
290                                     AC_DEFINE(HAVE_GLEXT_PROTOTYPES, 1,
291                                               [Define if the OpenGL headers define extension typedefs])
292                                 fi
293                         fi
295                 fi
296                 dnl Check for GLU32 library.
297                 AC_CHECK_LIB(GLU,gluLookAt,
298                              [X_PRE_LIBS="$X_PRE_LIBS -lGLU"
299                              GLU32FILES='$(GLU32FILES)']
300                              ,,
301                              $X_LIBS $X_PRE_LIBS -lXext -lX11 -lm $X_EXTRA_LIBS
302                 )
303              fi
304          fi
305     fi
307     CPPFLAGS="$ac_save_CPPFLAGS"
308     XFILES='$(XFILES)'
309 else
310     XLIB=""
311     X_CFLAGS=""
312     X_LIBS=""
315 dnl **** Check which curses lib to use ***
316 CURSESLIBS=""
317 if test "x$with_curses" != "xno"
318 then
319     AC_CHECK_HEADERS(ncurses.h,
320         [AC_CHECK_LIB(ncurses,waddch,
321             [AC_DEFINE(HAVE_LIBNCURSES, 1, [Define if you have the ncurses library (-lncurses)])
322              CURSESLIBS="-lncurses"],
323              [AC_CHECK_HEADERS(curses.h,
324                  [AC_CHECK_LIB(curses,waddch,
325                      [AC_DEFINE(HAVE_LIBCURSES, 1, [Define if you have the curses library (-lcurses)])
326                       CURSESLIBS="-lcurses"])])])])
327     saved_libs="$LIBS"
328     LIBS="$CURSESLIBS $LIBS"
329     AC_CHECK_FUNCS(getbkgd resizeterm)
330     LIBS="$saved_libs"
332 AC_SUBST(CURSESLIBS)
334 CUPSLIBS=""
335 dnl **** Check for CUPS ****
336 wine_cv_warn_cups_h=no
337 AC_CHECK_LIB(cups,cupsGetPPD,
338         [AC_CHECK_HEADER(cups/cups.h,
339             [AC_DEFINE(HAVE_CUPS, 1, [Define if we have CUPS])
340             CUPSLIBS="-lcups"],
341             wine_cv_warn_cups_h=yes)]
343 AC_SUBST(CUPSLIBS)
345 dnl **** Check for SANE ****
346 AC_CHECK_PROG(sane_devel,sane-config,sane-config,no)
347 if test "$sane_devel" = "no"
348 then
349     SANELIBS=""
350     SANEINCL=""
351 else
352     SANELIBS="`$sane_devel --libs`"
353     SANEINCL="`$sane_devel --cflags`"
354     ac_save_CPPFLAGS="$CPPFLAGS"
355     ac_save_LIBS="$LIBS"
356     CPPFLAGS="$CPPFLAGS $SANEINCL"
357     LIBS="$LIBS $SANELIBS"
358     AC_CHECK_HEADER(sane/sane.h,
359                     [AC_CHECK_LIB(sane,sane_open,
360                                   [AC_DEFINE(HAVE_SANE, 1, [Define if we have SANE development environment])],
361                                   [SANELIBS=""
362                                   SANEINCL=""])],
363                     [SANELIBS=""
364                     SANEINCL=""])
365     LIBS="$ac_save_LIBS"
366     CPPFLAGS="$ac_save_CPPFLAGS"
368 AC_SUBST(SANELIBS)
369 AC_SUBST(SANEINCL)
371 dnl **** Check for FreeType 2 ****
372 AC_CHECK_LIB(freetype,FT_Init_FreeType,ft_lib=yes,ft_lib=no,$X_LIBS)
373 if test "$ft_lib" = "no"
374 then
375     FREETYPEINCL=""
376     wine_cv_msg_freetype=no
377 else
378     AC_CHECK_PROG(ft_devel,freetype-config,freetype-config,no)
379     if test "$ft_devel" = "no"
380     then
381         AC_CHECK_PROG(ft_devel2,freetype2-config,freetype2-config,no)
382         if test "$ft_devel2" = "freetype2-config"
383         then
384                 ft_devel=$ft_devel2
385         fi
386     fi
387     if test "$ft_devel" = "no"
388     then
389         FREETYPEINCL=""
390         wine_cv_msg_freetype=yes
391     else
392         FREETYPEINCL=`$ft_devel --cflags`
393         ac_save_CPPFLAGS="$CPPFLAGS"
394         CPPFLAGS="$FREETYPEINCL $CPPFLAGS"
395         AC_CHECK_HEADERS(freetype/freetype.h \
396                          freetype/ftglyph.h \
397                          freetype/tttables.h \
398                          freetype/ftnames.h \
399                          freetype/ftsnames.h \
400                          freetype/ttnameid.h \
401                          freetype/ftoutln.h \
402                          freetype/internal/sfnt.h)
403         AC_TRY_CPP([#include <ft2build.h>
404                     #include <freetype/fttrigon.h>],
405                     [AC_DEFINE(HAVE_FREETYPE_FTTRIGON_H, 1,
406           [Define if you have the <freetype/fttrigon.h> header file.])
407                     wine_cv_fttrigon=yes],
408                     wine_cv_fttrigon=no)
409         CPPFLAGS="$ac_save_CPPFLAGS"
410         dnl Check that we have at least freetype/freetype.h
411         if test "$ac_cv_header_freetype_freetype_h" = "yes" -a "$wine_cv_fttrigon" = "yes"
412         then
413             AC_DEFINE(HAVE_FREETYPE, 1, [Define if FreeType 2 is installed])
414             wine_cv_msg_freetype=no
415         else
416             FREETYPEINCL=""
417             wine_cv_msg_freetype=yes
418         fi
419     fi
421 AC_SUBST(FREETYPEINCL)
423 dnl **** Check for parport (currently Linux only) ****
424 AC_CACHE_CHECK([for parport header/ppdev.h], ac_cv_c_ppdev,
425  AC_TRY_COMPILE(
426    [#include <linux/ppdev.h>],
427    [ioctl (1,PPCLAIM,0)],
428    [ac_cv_c_ppdev="yes"],
429    [ac_cv_c_ppdev="no"])
431 if test "$ac_cv_c_ppdev" = "yes"
432 then
433     AC_DEFINE(HAVE_PPDEV, 1, [Define if we can use ppdev.h for parallel port access])
436 dnl **** Check for IPX (currently Linux only) ****
437 AC_CACHE_CHECK([for GNU style IPX support], ac_cv_c_ipx_gnu,
438  AC_TRY_COMPILE(
439    [#include <sys/socket.h>
440     #include <netipx/ipx.h>],
441    [((struct sockaddr_ipx *)0)->sipx_family == AF_IPX],
442    [ac_cv_c_ipx_gnu="yes"],
443    [ac_cv_c_ipx_gnu="no"])
445 if test "$ac_cv_c_ipx_gnu" = "yes"
446 then
447     AC_DEFINE(HAVE_IPX_GNU, 1, [Define if IPX should use netipx/ipx.h from libc])
450 if test "$ac_cv_c_ipx_gnu" = "no"
451 then
452  AC_CACHE_CHECK([for linux style IPX support], ac_cv_c_ipx_linux,
453   AC_TRY_COMPILE(
454     [#include <sys/socket.h>
455      #include <asm/types.h>
456      #include <linux/ipx.h>],
457     [((struct sockaddr_ipx *)0)->sipx_family == AF_IPX],
458     [ac_cv_c_ipx_linux="yes"],
459     [ac_cv_c_ipx_linux="no"])
460   )
461   if test "$ac_cv_c_ipx_linux" = "yes"
462   then
463       AC_DEFINE(HAVE_IPX_LINUX, 1, [Define if IPX includes are taken from Linux kernel])
464   fi
467 dnl **** Check for Open Sound System ****
468 AC_CHECK_HEADERS(sys/soundcard.h machine/soundcard.h soundcard.h, break)
470 AC_CACHE_CHECK([for Open Sound System],
471         ac_cv_c_opensoundsystem,
472         AC_TRY_COMPILE([
473         #if defined(HAVE_SYS_SOUNDCARD_H)
474                 #include <sys/soundcard.h>
475         #elif defined(HAVE_MACHINE_SOUNDCARD_H)
476                 #include <machine/soundcard.h>
477         #elif defined(HAVE_SOUNDCARD_H)
478                 #include <soundcard.h>
479         #endif
480         ],[
482 /* check for one of the Open Sound System specific SNDCTL_ defines */
483 #if !defined(SNDCTL_DSP_STEREO)
484 #error No open sound system
485 #endif
486 ],ac_cv_c_opensoundsystem="yes",ac_cv_c_opensoundsystem="no"))
488 if test "$ac_cv_c_opensoundsystem" = "yes"
489 then
490     AC_DEFINE(HAVE_OSS, 1, [Define if you have the Open Sound system])
493 AC_CACHE_CHECK([for Open Sound System/MIDI interface],
494         ac_cv_c_opensoundsystem_midi,
495         AC_TRY_COMPILE([
496         #if defined(HAVE_SYS_SOUNDCARD_H)
497                 #include <sys/soundcard.h>
498         #elif defined(HAVE_MACHINE_SOUNDCARD_H)
499                 #include <machine/soundcard.h>
500         #elif defined(HAVE_SOUNDCARD_H)
501                 #include <soundcard.h>
502         #endif
503         ],[
505 /* check for one of the Open Sound System specific SNDCTL_SEQ defines */
506 #if !defined(SNDCTL_SEQ_SYNC)
507 #error No open sound system MIDI interface
508 #endif
509 ],ac_cv_c_opensoundsystem_midi="yes",ac_cv_c_opensoundsystem_midi="no"))
511 if test "$ac_cv_c_opensoundsystem_midi" = "yes"
512 then
513     AC_DEFINE(HAVE_OSS_MIDI, 1, [Define if you have the Open Sound system (MIDI interface)])
516 dnl **** Check for aRts Sound Server ****
517 AC_PATH_PROG(ARTSCCONFIG, artsc-config)
518 AC_CACHE_CHECK([for aRts Sound server],
519         ac_cv_c_artsserver,
520         if test x$ARTSCCONFIG = x -o x$ARTSCCONFIG = x'"$ARTSCCONFIG"';
521         then
522             ac_cv_c_artsserver=no
523         else
524             ARTSC_CFLAGS=`$ARTSCCONFIG --cflags`
525             ARTSC_LIBS=`$ARTSCCONFIG --libs`
526             ac_cv_c_artsserver=no
527             save_CFLAGS="$CFLAGS"
528             CFLAGS="$CFLAGS $ARTSC_CFLAGS"
529             AC_TRY_COMPILE([
530              #include <artsc.h>
531             ],[
532              arts_stream_t stream;
533             ],[
534             ac_cv_c_artsserver=yes
535             ])
536             CFLAGS="$save_CFLAGS"
537         fi)
539 if test "$ac_cv_c_artsserver" = "yes"
540 then
541     AC_SUBST(ARTSLIBS, $ARTSC_LIBS)
542     AC_SUBST(ARTSINCL, $ARTSC_CFLAGS)
544     AC_DEFINE(HAVE_ARTS, 1, [Define if you have ARTS sound server])
547 dnl **** Check for broken glibc mmap64 ****
549 AC_CACHE_CHECK( [whether mmap64 works defined as mmap], ac_cv_mmap64_works,
550         AC_TRY_RUN([
551                 #define _FILE_OFFSET_BITS 64
552                 #include <stdio.h>
553                 #include <unistd.h>
554                 #include <fcntl.h>
555                 #include <sys/mman.h>
556                 #include <errno.h>
558                 int main(int argc,char **argv) {
559                         int fd = open("conftest.map",O_CREAT|O_RDWR,0600);
560                         if (fd == -1) exit(1);
562                         unlink("conftest.map");
564                         write(fd,"test",4);
566                         if ((-1 == mmap(0,4,PROT_READ|PROT_WRITE,MAP_SHARED,fd,0)) &&
567                             (errno == EINVAL)
568                         ) {
569                                 exit(1);
570                         }
571                         close(fd);
572                         fprintf(stderr,"success!\n");
573                         exit(0);
574                 }
576         ],
577     ac_cv_mmap64_works="yes",
578     ac_cv_mmap64_works="no",
579     ac_cv_mmap64_works="no") )
581 if test "$ac_cv_mmap64_works" = "yes"
582 then
583     AC_DEFINE(_FILE_OFFSET_BITS, 64, [Set this to 64 to enable 64-bit file support on Linux])
586 dnl **** Check for gcc strength-reduce bug ****
588 if test "x${GCC}" = "xyes"
589 then
590   CFLAGS="$CFLAGS -Wall"
591   AC_CACHE_CHECK( [for gcc strength-reduce bug], ac_cv_c_gcc_strength_bug,
592                   AC_TRY_RUN([
593 int     L[[4]] = {0,1,2,3};
594 int main(void) {
595   static int Array[[3]];
596   unsigned int B = 3;
597   int i;
598   for(i=0; i<B; i++) Array[[i]] = i - 3;
599   for(i=0; i<4 - 1; i++) L[[i]] = L[[i + 1]];
600   L[[i]] = 4;
601   
602   exit( Array[[1]] != -2 || L[[2]] != 3);
604     ac_cv_c_gcc_strength_bug="no",
605     ac_cv_c_gcc_strength_bug="yes",
606     ac_cv_c_gcc_strength_bug="yes") )
607   if test "$ac_cv_c_gcc_strength_bug" = "yes"
608   then
609     CFLAGS="$CFLAGS -fno-strength-reduce"
610   fi
612   dnl Check for -mpreferred-stack-boundary
613   AC_CACHE_CHECK([for gcc -mpreferred-stack-boundary=2 support],
614                  ac_cv_c_gcc_stack_boundary,
615   [saved_cflags=$CFLAGS
616   CFLAGS="$CFLAGS -mpreferred-stack-boundary=2"
617   AC_TRY_COMPILE(,[return 0],ac_cv_c_gcc_stack_boundary="yes",ac_cv_c_gcc_stack_boundary="no")
618   CFLAGS=$saved_cflags
619   ])
620   if test "$ac_cv_c_gcc_stack_boundary" = "yes"
621   then
622     CFLAGS="$CFLAGS -mpreferred-stack-boundary=2"
623   fi
626 dnl **** Check if we need to place .type inside a .def directive ****
628 AC_CACHE_CHECK([whether .type must sit inside a .def directive],
629                ac_cv_c_type_in_def,
630 [saved_libs=$LIBS
631 LIBS="conftest_asm.s $LIBS"
632 cat > conftest_asm.s <<EOF
633         .globl _ac_test
634         .def _ac_test; .scl 2; .type 32; .endef
635 _ac_test:
636         .long 0
638 AC_TRY_LINK(,,ac_cv_c_type_in_def="yes",ac_cv_c_type_in_def="no")
639 LIBS=$saved_libs])
640 if test "$ac_cv_c_type_in_def" = "yes"
641 then
642   AC_DEFINE(NEED_TYPE_IN_DEF, 1, [Define if .type asm directive must be inside a .def directive])
645 dnl **** Check for underscore on external symbols ****
647 AC_CACHE_CHECK([whether external symbols need an underscore prefix],
648                ac_cv_c_extern_prefix,
649 [saved_libs=$LIBS
650 LIBS="conftest_asm.s $LIBS"
651 cat > conftest_asm.s <<EOF
652         .globl _ac_test
653 _ac_test:
654         .long 0
656 AC_TRY_LINK([extern int ac_test;],[if (ac_test) return 1],
657             ac_cv_c_extern_prefix="yes",ac_cv_c_extern_prefix="no")
658 LIBS=$saved_libs])
659 if test "$ac_cv_c_extern_prefix" = "yes"
660 then
661   AC_DEFINE(NEED_UNDERSCORE_PREFIX, 1,
662             [Define if symbols declared in assembly code need an underscore prefix])
665 dnl **** Check whether stdcall symbols need to be decorated ****
667 AC_CACHE_CHECK([whether stdcall symbols need to be decorated],
668                ac_cv_c_stdcall_decoration,
669 [saved_libs=$LIBS
670 LIBS="conftest_asm.s $LIBS"
671 if test "$ac_cv_c_extern_prefix" = "yes"
672 then
673 cat > conftest_asm.s <<EOF
674         .globl _ac_test@0
675 _ac_test@0:
677 else
678 cat > conftest_asm.s <<EOF
679         .globl ac_test@0
680 ac_test@0:
683 AC_TRY_LINK([extern void __attribute__((__stdcall__)) ac_test(void);],
684             [ac_test(); return 0],
685             ac_cv_c_stdcall_decoration="yes",ac_cv_c_stdcall_decoration="no")
686 LIBS=$saved_libs])
687 if test "$ac_cv_c_stdcall_decoration" = "yes"
688 then
689   AC_DEFINE(NEED_STDCALL_DECORATION, 1,
690             [Define if stdcall symbols need to be decorated])
693 dnl **** Check for .string in assembler ****
695 AC_CACHE_CHECK([whether assembler accepts .string],
696                ac_cv_c_asm_string,
697 [saved_libs=$LIBS
698 LIBS="conftest_asm.s $LIBS"
699 cat > conftest_asm.s <<EOF
700         .string "test"
702 AC_TRY_LINK(,,ac_cv_c_asm_string="yes",ac_cv_c_asm_string="no")
703 LIBS=$saved_libs])
704 if test "$ac_cv_c_asm_string" = "yes"
705 then
706   AC_DEFINE(HAVE_ASM_STRING, 1, [Define to use .string instead of .ascii])
709 dnl **** Check for working dll ****
711 LDSHARED=""
712 LDDLLFLAGS=""
713 if test "$LIBEXT" = "so"
714 then
715   AC_CACHE_CHECK([whether we can build a GNU style ELF dll],
716                  ac_cv_c_dll_gnuelf,
717   [saved_cflags=$CFLAGS
718   CFLAGS="$CFLAGS -fPIC -shared -Wl,-soname,conftest.so.1.0,-Bsymbolic"
719   AC_TRY_LINK(,[return 1],ac_cv_c_dll_gnuelf="yes",ac_cv_c_dll_gnuelf="no")
720   CFLAGS=$saved_cflags
721   ])
722   if test "$ac_cv_c_dll_gnuelf" = "yes"
723   then
724     LDSHARED="\$(CC) -shared \$(SONAME:%=-Wl,-soname,%)"
725     LDDLLFLAGS="-Wl,-Bsymbolic"
726   else
727     AC_CACHE_CHECK(whether we can build a UnixWare (Solaris) dll,
728                  ac_cv_c_dll_unixware,
729     [saved_cflags=$CFLAGS
730     CFLAGS="$CFLAGS -fPIC -Wl,-G,-h,conftest.so.1.0,-B,symbolic"
731     AC_TRY_LINK(,[return 1],ac_cv_c_dll_unixware="yes",ac_cv_c_dll_unixware="no")
732     CFLAGS=$saved_cflags
733     ])
734     if test "$ac_cv_c_dll_unixware" = "yes"
735     then
736       LDSHARED="\$(CC) -Wl,-G \$(SONAME:%=-Wl,-h,%)"
737       LDDLLFLAGS="-Wl,-B,symbolic"
738     fi
739   fi
740   if test "$ac_cv_c_dll_gnuelf" = "no" -a "$ac_cv_c_dll_unixware" = "no"
741   then
742     LIBEXT="a"
743     AC_CHECK_PROG(DLLWRAP,dllwrap,dllwrap,false)
744     if test "$DLLWRAP" = "dllwrap"; then
745       dnl FIXME - check whether dllwrap works correctly...
746       case $host_os in
747         *cygwin*)
748             LIBEXT="dll"
749             ;;
750       esac
751     fi
752   fi
755 if test "$LIBEXT" = "a"; then
756   AC_MSG_ERROR(
757 [could not find a way to build shared libraries.
758 It is currently not possible to build Wine without shared library
759 (.so) support to allow transparent switch between .so and .dll files.
760 If you are using Linux, you will need a newer binutils.]
764 DLLFLAGS=""
765 LDPATH=""
767 if test "$LIBEXT" = "so"; then
768     DLLFLAGS="-fPIC"
769     DLLEXT=".so"
770     LDPATH="LD_LIBRARY_PATH=\"\$(TOPOBJDIR)/library:\$(TOPOBJDIR)/unicode:\$\$LD_LIBRARY_PATH\""
771 elif test "$LIBEXT" = "dll"; then
772     #DLLFLAGS="-fPIC" # -fPIC doesn't work(at least in cygwin-b20) - FIXME
773     DLLEXT=""
774     LDPATH="PATH=\"\$(TOPOBJDIR)/library:\$(TOPOBJDIR)/unicode:\$\$PATH\""
777 AC_SUBST(DLLFLAGS)
778 AC_SUBST(DLLEXT)
779 AC_SUBST(LDSHARED)
780 AC_SUBST(LDDLLFLAGS)
781 AC_SUBST(LIBEXT)
782 AC_SUBST(LDPATH)
784 dnl **** Check for reentrant libc ****
786 dnl For cross-compiling we blindly assume that libc is reentrant. This is
787 dnl ok since non-reentrant libc is quite rare (mostly old libc5 versions).
789 AC_DEFUN([WINE_CHECK_ERRNO],
791   AC_CACHE_CHECK(for reentrant libc: $1, wine_cv_libc_r_$1,
792   [AC_TRY_RUN([int myerrno = 0;
793 char buf[256];
794 int *$1(){return &myerrno;}
795 main(){connect(0,buf,255); exit(!myerrno);}],
796   wine_cv_libc_r_$1=yes, wine_cv_libc_r_$1=no,
797   wine_cv_libc_r_$1=yes )
799 if test "$wine_cv_libc_r_$1" = "yes"
800 then
801     wine_cv_libc_reentrant=$1 
805 wine_cv_libc_reentrant=no 
806 dnl Linux style errno location
807 WINE_CHECK_ERRNO(__errno_location)
808 dnl FreeBSD style errno location
809 WINE_CHECK_ERRNO(__error)
810 dnl Solaris style errno location
811 WINE_CHECK_ERRNO(___errno)
812 dnl UnixWare style errno location
813 WINE_CHECK_ERRNO(__thr_errno)
814 dnl NetBSD style errno location
815 WINE_CHECK_ERRNO(__errno)
817 if test "$wine_cv_libc_reentrant" != "no" 
818 then
819   AC_DEFINE_UNQUOTED(ERRNO_LOCATION,$wine_cv_libc_reentrant,
820                      [Define to the name of the function returning errno for reentrant libc])
823 dnl **** Check for reentrant X libraries ****
825 dnl This may fail to determine whether X libraries are reentrant if
826 dnl AC_PATH_XTRA does not set x_libraries.
828 if test "$have_x" = "yes"
829 then
830 AC_CACHE_CHECK( [for reentrant X libraries], wine_cv_x_reentrant,
831     [libX11_check=none
832     for dir in "$x_libraries" /usr/lib /usr/local/lib /lib; do
833         if test -r $dir/libX11.so; then
834             libX11_check="-D $dir/libX11.so"
835             break
836         fi
837         if test -r $dir/libX11.a; then
838             libX11_check="$dir/libX11.a"
839             break
840         fi
841     done
842     if test "$libX11_check" != "none"; then
843         if nm $libX11_check | grep $wine_cv_libc_reentrant >/dev/null 2>&1
844         then
845             wine_cv_x_reentrant=yes
846         else
847             wine_cv_x_reentrant=no
848         fi
849     else
850         wine_cv_x_reentrant=unknown
851     fi])
854 dnl **** Check for functions ****
856 AC_FUNC_ALLOCA()
857 AC_CHECK_FUNCS(\
858         __libc_fork \
859         _lwp_create \
860         _pclose \
861         _popen \
862         _stricmp \
863         _strnicmp \
864         chsize \
865         clone \
866         ecvt \
867         finite \
868         fpclass \
869         ftruncate \
870         ftruncate64 \
871         getnetbyaddr \
872         getnetbyname \
873         getpagesize \
874         getprotobyname \
875         getprotobynumber \
876         getservbyport \
877         getsockopt \
878         inet_network \
879         lseek64 \
880         lstat \
881         memmove \
882         mmap \
883         pclose \
884         popen \
885         pread \
886         pwrite \
887         rfork \
888         select \
889         sendmsg \
890         settimeofday \
891         sigaltstack \
892         statfs \
893         strcasecmp \
894         strerror \
895         strncasecmp \
896         tcgetattr \
897         timegm \
898         usleep \
899         vfscanf \
900         wait4 \
901         waitpid \
904 dnl **** Check for header files ****
906 AC_CHECK_HEADERS(\
907         arpa/inet.h \
908         arpa/nameser.h \
909         direct.h \
910         elf.h \
911         float.h \
912         ieeefp.h \
913         io.h \
914         libio.h \
915         libutil.h \
916         link.h \
917         linux/cdrom.h \
918         linux/hdreg.h \
919         linux/input.h \
920         linux/joystick.h \
921         linux/major.h \
922         linux/param.h \
923         linux/serial.h \
924         linux/ucdrom.h \
925         net/if.h \
926         netdb.h \
927         netinet/in.h \
928         netinet/in_systm.h \
929         netinet/ip.h \
930         netinet/tcp.h \
931         pty.h \
932         resolv.h \
933         sched.h \
934         scsi/sg.h \
935         socket.h \
936         stdint.h \
937         strings.h \
938         sys/cdio.h \
939         sys/errno.h \
940         sys/file.h \
941         sys/filio.h \
942         sys/inttypes.h \
943         sys/ipc.h \
944         sys/link.h \
945         sys/lwp.h \
946         sys/mman.h \
947         sys/modem.h \
948         sys/mount.h \
949         sys/msg.h \
950         sys/param.h \
951         sys/ptrace.h \
952         sys/reg.h \
953         sys/shm.h \
954         sys/signal.h \
955         sys/socket.h \
956         sys/sockio.h \
957         sys/statfs.h \
958         sys/strtio.h \
959         sys/syscall.h \
960         sys/sysctl.h \
961         sys/time.h \
962         sys/user.h \
963         sys/v86.h \
964         sys/v86intr.h \
965         sys/vfs.h \
966         sys/vm86.h \
967         sys/wait.h \
968         syscall.h \
969         ucontext.h \
970         unistd.h \
972 AC_HEADER_STAT()
974 dnl **** Check for types ****
976 AC_C_CONST
977 AC_C_INLINE
978 AC_CHECK_TYPES([mode_t, off_t, pid_t, size_t, ssize_t])
979 AC_CHECK_SIZEOF(long long,0)
981 AC_CACHE_CHECK([whether linux/input.h is for real],
982         wine_cv_linux_input_h,
983         AC_TRY_COMPILE([
984             #include <linux/input.h>
985         ] , [
986             int foo = EVIOCGBIT(EV_ABS,42);
987             int bar = BTN_PINKIE;
988             int fortytwo = 42;
989         ],
990         wine_cv_linux_input_h=yes,
991         wine_cv_linux_input_h=no,
992         no
993         )
994     )
995     if test "$wine_cv_linux_input_h" = "yes"
996     then
997         AC_DEFINE(HAVE_CORRECT_LINUXINPUT_H, 1,
998                   [Define if we have linux/input.h AND it contains the INPUT event API])
999     fi
1001    
1002 AC_CACHE_CHECK([whether we can use re-entrant gethostbyname_r Linux style],
1003         wine_cv_linux_gethostbyname_r_6,
1004         AC_TRY_COMPILE([
1005 #include <netdb.h>
1006         ], [
1007     char *name=NULL;
1008     struct hostent he;
1009     struct hostent *result;
1010     char *buf=NULL;
1011     int bufsize=0;
1012     int res,errnr;
1013     char *addr=NULL;
1014     int addrlen=0;
1015     int addrtype=0;
1016     res=gethostbyname_r(name,&he,buf,bufsize,&result,&errnr);
1017     res=gethostbyaddr_r(addr, addrlen, addrtype,&he,buf,bufsize,&result,&errnr);
1018     ],
1019         wine_cv_linux_gethostbyname_r_6=yes,
1020         wine_cv_linux_gethostbyname_r_6=no
1021         )
1022    )
1023    if test "$wine_cv_linux_gethostbyname_r_6" = "yes"
1024    then
1025       AC_DEFINE(HAVE_LINUX_GETHOSTBYNAME_R_6, 1,
1026                 [Define if Linux-style gethostbyname_r and gethostbyaddr_r are available])
1027    fi
1029 if test "$ac_cv_header_linux_joystick_h" = "yes"
1030 then
1031    AC_CACHE_CHECK([whether linux/joystick.h uses the Linux 2.2+ API],
1032         wine_cv_linux_joystick_22_api,
1033         AC_TRY_COMPILE([
1034         #include <sys/ioctl.h>
1035         #include <linux/joystick.h>
1037         struct js_event blub;
1038         #if !defined(JS_EVENT_AXIS) || !defined(JS_EVENT_BUTTON)
1039         #error "no 2.2 header"
1040         #endif
1041         ],/*empty*/,
1042         wine_cv_linux_joystick_22_api=yes,
1043         wine_cv_linux_joystick_22_api=no,
1044         wine_cv_linux_joystick_22_api=no
1045         )
1046    )
1047    if test "$wine_cv_linux_joystick_22_api" = "yes"
1048    then
1049       AC_DEFINE(HAVE_LINUX_22_JOYSTICK_API, 1,
1050                 [Define if <linux/joystick.h> defines the Linux 2.2 joystick API])
1051    fi
1054 dnl **** statfs checks ****
1056 if test "$ac_cv_header_sys_vfs_h" = "yes"
1057 then
1058     AC_CACHE_CHECK( [whether sys/vfs.h defines statfs],
1059                     wine_cv_sys_vfs_has_statfs,
1060         AC_TRY_COMPILE([
1061         #include <sys/types.h>
1062         #ifdef HAVE_SYS_PARAM_H
1063         # include <sys/param.h>
1064         #endif
1065         #include <sys/vfs.h>
1066         ],[
1067                 struct statfs stfs;
1069                 memset(&stfs,0,sizeof(stfs));
1070         ],wine_cv_sys_vfs_has_statfs=yes,wine_cv_sys_vfs_has_statfs=no
1071         )
1072     )
1073     if test "$wine_cv_sys_vfs_has_statfs" = "yes"
1074     then
1075       AC_DEFINE(STATFS_DEFINED_BY_SYS_VFS, 1,
1076                 [Define if the struct statfs is defined by <sys/vfs.h>])
1077     fi
1080 if test "$ac_cv_header_sys_statfs_h" = "yes"
1081 then
1082     AC_CACHE_CHECK( [whether sys/statfs.h defines statfs],
1083                     wine_cv_sys_statfs_has_statfs,
1084         AC_TRY_COMPILE([
1085         #include <sys/types.h>
1086         #ifdef HAVE_SYS_PARAM_H
1087         # include <sys/param.h>
1088         #endif
1089         #include <sys/statfs.h>
1090         ],[
1091                 struct statfs stfs;
1092         ],wine_cv_sys_statfs_has_statfs=yes,wine_cv_sys_statfs_has_statfs=no
1093         )
1094     )
1095     if test "$wine_cv_sys_statfs_has_statfs" = "yes"
1096     then
1097       AC_DEFINE(STATFS_DEFINED_BY_SYS_STATFS, 1,
1098                 [Define if the struct statfs is defined by <sys/statfs.h>])
1099     fi
1102 if test "$ac_cv_header_sys_mount_h" = "yes"
1103 then
1104     AC_CACHE_CHECK( [whether sys/mount.h defines statfs],
1105                     wine_cv_sys_mount_has_statfs,
1106         AC_TRY_COMPILE([
1107         #include <sys/types.h>
1108         #ifdef HAVE_SYS_PARAM_H
1109         # include <sys/param.h>
1110         #endif
1111         #include <sys/mount.h>
1112         ],[
1113                 struct statfs stfs;
1114         ],wine_cv_sys_mount_has_statfs=yes,wine_cv_sys_mount_has_statfs=no
1115         )
1116     )
1117     if test "$wine_cv_sys_mount_has_statfs" = "yes"
1118     then
1119       AC_DEFINE(STATFS_DEFINED_BY_SYS_MOUNT, 1,
1120                 [Define if the struct statfs is defined by <sys/mount.h>])
1121     fi
1124 dnl *** Check for some structure members
1126 dnl Macro to check if a structure contains a specified member
1127 dnl Usage: WINE_CHECK_STRUCT_MEMBER(struct,member,[includes,[action-if-found,[action-if-not-found]]])
1129 AC_DEFUN([WINE_CHECK_STRUCT_MEMBER],
1130 [AC_CACHE_CHECK([for $2 in struct $1], ac_cv_c_$1_$2,
1131  AC_TRY_COMPILE([$3],[struct $1 s; s.$2 = 0],ac_cv_c_$1_$2="yes",ac_cv_c_$1_$2="no"))
1132 AS_IF([ test "x$ac_cv_c_$1_$2" = "xyes"],[$4],[$5])
1135 dnl **** FIXME: what about mixed cases, where we need two of them? ***
1137 WINE_CHECK_STRUCT_MEMBER(statfs,f_bfree,
1138 [#include <sys/types.h>
1139 #ifdef HAVE_SYS_PARAM_H
1140 # include <sys/param.h>
1141 #endif
1142 #ifdef STATFS_DEFINED_BY_SYS_MOUNT
1143 # include <sys/mount.h>
1144 #else
1145 # ifdef STATFS_DEFINED_BY_SYS_VFS
1146 #  include <sys/vfs.h>
1147 # else
1148 #  ifdef STATFS_DEFINED_BY_SYS_STATFS
1149 #   include <sys/statfs.h>
1150 #  endif
1151 # endif
1152 #endif],
1153     [AC_DEFINE(STATFS_HAS_BFREE, 1, [Define if the struct statfs has the member bfree])])
1155 WINE_CHECK_STRUCT_MEMBER(statfs,f_bavail,
1156 [#include <sys/types.h>
1157 #ifdef HAVE_SYS_PARAM_H
1158 # include <sys/param.h>
1159 #endif
1160 #ifdef STATFS_DEFINED_BY_SYS_MOUNT
1161 # include <sys/mount.h>
1162 #else
1163 # ifdef STATFS_DEFINED_BY_SYS_VFS
1164 #  include <sys/vfs.h>
1165 # else
1166 #  ifdef STATFS_DEFINED_BY_SYS_STATFS
1167 #   include <sys/statfs.h>
1168 #  endif
1169 # endif
1170 #endif],
1171     [AC_DEFINE(STATFS_HAS_BAVAIL, 1, [Define if the struct statfs has the member bavail])])
1173 dnl Check for file descriptor passing with msg_accrights
1174 WINE_CHECK_STRUCT_MEMBER(msghdr,msg_accrights,
1175 [#include <sys/types.h>
1176 #include <sys/socket.h>],
1177     [AC_DEFINE(HAVE_MSGHDR_ACCRIGHTS, 1, [Define if struct msghdr contains msg_accrights])])
1179 dnl Check for the sa_len member in struct sockaddr
1180 WINE_CHECK_STRUCT_MEMBER(sockaddr,sa_len,
1181 [#include <sys/types.h>
1182 #include <sys/socket.h>],
1183     [AC_DEFINE(HAVE_SOCKADDR_SA_LEN, 1, [Define if struct sockaddr contains sa_len])])
1185 dnl Check for the sun_len member in struct sockaddr_un
1186 WINE_CHECK_STRUCT_MEMBER(sockaddr_un,sun_len,
1187 [#include <sys/types.h>
1188 #include <sys/socket.h>
1189 #include <sys/un.h>],
1190     [AC_DEFINE(HAVE_SOCKADDR_SUN_LEN, 1, [Define if struct sockaddr_un contains sun_len])])
1192 dnl *** check for the need to define __i386__
1194 case $target_cpu in
1195   *i[3456789]86* )
1196     AC_CACHE_CHECK([whether we need to define __i386__],ac_cv_cpp_def_i386,
1197       AC_EGREP_CPP(yes,[#ifndef __i386__
1199 #endif],
1200  ac_cv_cpp_def_i386="yes", ac_cv_cpp_def_i386="no"))
1201     ;;
1202 esac
1203 if test "$ac_cv_cpp_def_i386" = "yes"
1204 then
1205     CFLAGS="$CFLAGS -D__i386__"
1206     LINTFLAGS="$LINTFLAGS -D__i386__"
1209 dnl **** Generate output files ****
1211 dnl Macro to create non-existent directories from config.status
1212 dnl Usage: WINE_CONFIG_EXTRA_DIR(dirname)
1213 AC_DEFUN([WINE_CONFIG_EXTRA_DIR],
1214 [AC_CONFIG_COMMANDS([$1],[test -d "$1" || (AC_MSG_NOTICE([creating $1]) && mkdir "$1")])])
1216 AH_TOP([#define __WINE_CONFIG_H])
1218 WINE_CONFIG_EXTRA_DIR(dlls/ddraw/d3ddevice)
1219 WINE_CONFIG_EXTRA_DIR(dlls/ddraw/dclipper)
1220 WINE_CONFIG_EXTRA_DIR(dlls/ddraw/ddraw)
1221 WINE_CONFIG_EXTRA_DIR(dlls/ddraw/direct3d)
1222 WINE_CONFIG_EXTRA_DIR(dlls/ddraw/dpalette)
1223 WINE_CONFIG_EXTRA_DIR(dlls/ddraw/dsurface)
1224 WINE_CONFIG_EXTRA_DIR(dlls/dinput/joystick)
1225 WINE_CONFIG_EXTRA_DIR(dlls/dinput/keyboard)
1226 WINE_CONFIG_EXTRA_DIR(dlls/dinput/mouse)
1227 WINE_CONFIG_EXTRA_DIR(dlls/gdi/enhmfdrv)
1228 WINE_CONFIG_EXTRA_DIR(dlls/gdi/mfdrv)
1229 WINE_CONFIG_EXTRA_DIR(dlls/gdi/win16drv)
1230 WINE_CONFIG_EXTRA_DIR(dlls/kernel/messages)
1231 WINE_CONFIG_EXTRA_DIR(dlls/kernel/tests)
1232 WINE_CONFIG_EXTRA_DIR(dlls/oleaut32/tests)
1233 WINE_CONFIG_EXTRA_DIR(dlls/user/dde)
1234 WINE_CONFIG_EXTRA_DIR(dlls/user/resources)
1235 WINE_CONFIG_EXTRA_DIR(dlls/user/tests)
1236 WINE_CONFIG_EXTRA_DIR(dlls/wineps/data)
1237 WINE_CONFIG_EXTRA_DIR(dlls/winsock/tests)
1238 WINE_CONFIG_EXTRA_DIR(include/wine)
1239 WINE_CONFIG_EXTRA_DIR(programs/regapi/tests)
1240 WINE_CONFIG_EXTRA_DIR(programs/winetest/tests)
1242 MAKE_RULES=Make.rules
1243 AC_SUBST_FILE(MAKE_RULES)
1245 MAKE_DLL_RULES=dlls/Makedll.rules
1246 AC_SUBST_FILE(MAKE_DLL_RULES)
1248 MAKE_PROG_RULES=programs/Makeprog.rules
1249 AC_SUBST_FILE(MAKE_PROG_RULES)
1251 AC_CONFIG_FILES([
1252 Make.rules
1253 dlls/Makedll.rules
1254 programs/Makeprog.rules
1255 Makefile
1256 controls/Makefile
1257 debugger/Makefile
1258 dlls/Makefile
1259 dlls/advapi32/Makefile
1260 dlls/avicap32/Makefile
1261 dlls/avifil32/Makefile
1262 dlls/comctl32/Makefile
1263 dlls/commdlg/Makefile
1264 dlls/crtdll/Makefile
1265 dlls/crypt32/Makefile
1266 dlls/dciman32/Makefile
1267 dlls/ddraw/Makefile
1268 dlls/devenum/Makefile
1269 dlls/dinput/Makefile
1270 dlls/dplay/Makefile
1271 dlls/dplayx/Makefile
1272 dlls/dsound/Makefile
1273 dlls/gdi/Makefile
1274 dlls/glu32/Makefile
1275 dlls/icmp/Makefile
1276 dlls/imagehlp/Makefile
1277 dlls/imm32/Makefile
1278 dlls/kernel/Makefile
1279 dlls/lzexpand/Makefile
1280 dlls/mapi32/Makefile
1281 dlls/mpr/Makefile
1282 dlls/msacm/Makefile
1283 dlls/msacm/imaadp32/Makefile
1284 dlls/msacm/msg711/Makefile
1285 dlls/msdmo/Makefile
1286 dlls/msimg32/Makefile
1287 dlls/msisys/Makefile
1288 dlls/msnet32/Makefile
1289 dlls/msrle32/Makefile
1290 dlls/msvcrt/Makefile
1291 dlls/msvcrt20/Makefile
1292 dlls/msvideo/Makefile
1293 dlls/netapi32/Makefile
1294 dlls/ntdll/Makefile
1295 dlls/odbc32/Makefile
1296 dlls/ole32/Makefile
1297 dlls/oleaut32/Makefile
1298 dlls/olecli/Makefile
1299 dlls/oledlg/Makefile
1300 dlls/olepro32/Makefile
1301 dlls/olesvr/Makefile
1302 dlls/opengl32/Makefile
1303 dlls/psapi/Makefile
1304 dlls/qcap/Makefile
1305 dlls/quartz/Makefile
1306 dlls/rasapi32/Makefile
1307 dlls/richedit/Makefile
1308 dlls/rpcrt4/Makefile
1309 dlls/serialui/Makefile
1310 dlls/setupapi/Makefile
1311 dlls/shdocvw/Makefile
1312 dlls/shell32/Makefile
1313 dlls/shfolder/Makefile
1314 dlls/shlwapi/Makefile
1315 dlls/snmpapi/Makefile
1316 dlls/sti/Makefile
1317 dlls/tapi32/Makefile
1318 dlls/ttydrv/Makefile
1319 dlls/twain/Makefile
1320 dlls/url/Makefile
1321 dlls/urlmon/Makefile
1322 dlls/user/Makefile
1323 dlls/version/Makefile
1324 dlls/win32s/Makefile
1325 dlls/winaspi/Makefile
1326 dlls/winedos/Makefile
1327 dlls/wineps/Makefile
1328 dlls/wininet/Makefile
1329 dlls/winmm/Makefile
1330 dlls/winmm/joystick/Makefile
1331 dlls/winmm/mcianim/Makefile
1332 dlls/winmm/mciavi/Makefile
1333 dlls/winmm/mcicda/Makefile
1334 dlls/winmm/mciseq/Makefile
1335 dlls/winmm/mciwave/Makefile
1336 dlls/winmm/midimap/Makefile
1337 dlls/winmm/wavemap/Makefile
1338 dlls/winmm/winearts/Makefile
1339 dlls/winmm/wineoss/Makefile
1340 dlls/winnls/Makefile
1341 dlls/winsock/Makefile
1342 dlls/winspool/Makefile
1343 dlls/wintrust/Makefile
1344 dlls/wow32/Makefile
1345 dlls/wsock32/Makefile
1346 dlls/x11drv/Makefile
1347 documentation/Makefile
1348 files/Makefile
1349 graphics/Makefile
1350 graphics/x11drv/Makefile
1351 if1632/Makefile
1352 include/Makefile
1353 library/Makefile
1354 libtest/Makefile
1355 loader/Makefile
1356 loader/ne/Makefile
1357 memory/Makefile
1358 misc/Makefile
1359 miscemu/Makefile
1360 msdos/Makefile
1361 objects/Makefile
1362 ole/Makefile
1363 programs/Makefile
1364 programs/avitools/Makefile
1365 programs/clock/Makefile
1366 programs/cmdlgtst/Makefile
1367 programs/control/Makefile
1368 programs/notepad/Makefile
1369 programs/osversioncheck/Makefile
1370 programs/progman/Makefile
1371 programs/regapi/Makefile
1372 programs/regedit/Makefile
1373 programs/regsvr32/Makefile
1374 programs/regtest/Makefile
1375 programs/uninstaller/Makefile
1376 programs/view/Makefile
1377 programs/wcmd/Makefile
1378 programs/wineconsole/Makefile
1379 programs/winemine/Makefile
1380 programs/winepath/Makefile
1381 programs/winetest/Makefile
1382 programs/winhelp/Makefile
1383 programs/winver/Makefile
1384 relay32/Makefile
1385 scheduler/Makefile
1386 server/Makefile
1387 tools/Makefile
1388 tools/winapi/Makefile
1389 tools/winebuild/Makefile
1390 tools/winedump/Makefile
1391 tools/wmc/Makefile
1392 tools/wrc/Makefile
1393 tsx11/Makefile
1394 unicode/Makefile
1395 win32/Makefile
1396 windows/Makefile])
1398 AC_OUTPUT
1400 if test "$have_x" = "no"
1401 then
1402   echo
1403   echo "*** Warning: X development files not found. Wine will be built without"
1404   echo "*** X support, which currently does not work, and would probably not be"
1405   echo "*** what you want anyway. You will need to install devel packages of"
1406   echo "*** Xlib/Xfree86 at the very least."
1409 if test "$ac_cv_lib_ncurses_resizeterm" = "no" -a "$ac_cv_lib_ncurses_waddch" = "yes"
1410 then
1411   echo
1412   echo "*** Warning: resizeterm not found in ncurses. Wine will be built without"
1413   echo "*** terminal resize support. Consider upgrading ncurses."
1416 if test "$wine_cv_libc_reentrant" = "no" 
1417 then
1418   echo
1419   echo "*** Warning: non-reentrant libc detected. Wine will be built without"
1420   echo "*** threading support. Consider upgrading libc to a more recent"
1421   echo "*** reentrant version of libc."
1424 if test "$have_x" = "yes" -a "$wine_cv_x_reentrant" != "yes"
1425 then
1426   echo
1427   echo "*** Warning: non-reentrant X11 library detected. Multi-threaded"
1428   echo "*** applications won't work properly. You should upgrade your X11 library."
1431 if test "$wine_cv_opengl_version_OK" = "no"
1432 then
1433   echo
1434   echo "*** Warning: old Mesa headers detected. Wine will be built without Direct3D"
1435   echo "*** support. Consider upgrading your Mesa libraries (http://www.mesa3d.org/)."
1438 if test "$wine_cv_opengl_version_threadsafe" = "yes" -a "x$enable_opengl" = "x"
1439 then
1440   echo
1441   echo "*** Warning: the OpenGL version you have installed relies on libpthread for"
1442   echo "*** thread-safety. To prevent crashes, OpenGL support has been removed."
1443   echo "*** A fix for glibc 2.1.3 that seems to work is included in this version of Wine,"
1444   echo "*** start configure with '--enable-opengl' to force OpenGL support."
1447 if test "$wine_cv_opengl_version_threadsafe" = "yes" -a "x$enable_opengl" = "xyes"
1448 then
1449   echo
1450   echo "*** Warning: you explicitly linked in a thread-safe OpenGL version. If you"
1451   echo "*** experience unusual crashes on DirectDraw games, try first to disable OpenGL"
1452   echo "*** support before reporting bugs."
1455 if test "$wine_cv_warn_cups_h" = "yes"
1456 then
1457   echo
1458   echo "*** Note: You have cups runtime libraries, but no development"
1459   echo "*** libraries. Install the cups-devel package or whichever package"
1460   echo "*** contains cups.h to enable CUPS support in Wine."
1463 if test "$wine_cv_msg_freetype" = "yes"
1464 then
1465   echo
1466   echo "*** Note: Your system appears to have the FreeType 2 runtime libraries"
1467   echo "*** installed, but 'freetype-config' is not in your PATH. Install the"
1468   echo "*** freetype-devel package (or its equivalent on your distribution) to"
1469   echo "*** enable Wine to use TrueType fonts."
1472 echo
1473 echo "Configure finished.  Do 'make depend && make' to compile Wine."
1474 echo
1476 dnl Local Variables:
1477 dnl comment-start: "dnl "
1478 dnl comment-end: ""
1479 dnl comment-start-skip: "\\bdnl\\b\\s *"
1480 dnl compile-command: "autoconf"
1481 dnl End: