mirror of
https://github.com/reactos/wine.git
synced 2024-11-27 13:40:50 +00:00
d30dfd24d6
Sun Sep 27 14:25:38 1998 Petter Reinholdtsen <pere@td.org.uit.no> * [files/drive.c] Make sure GetDriveType32A() handles param NULL. Added some doc on function. Sun Sep 27 14:07:26 1998 Huw D M Davies <daviesh@abacus.physics.ox.ac.uk> * [controls/edit.c] [windows/win.c] Don't call SetWindowLong() in EDIT_WM_NCREATE. Fix SetWindowLong(GWL_[EX]STYLE) to work for 16bit windows. Remove UpdateWindow() call. Sun Sep 27 13:41:22 1998 Alexandre Julliard <julliard@lrc.epfl.ch> * [scheduler/*.c] [server/event.c] [server/mutex.c] [server/semaphore.c] Implemented server-side synchronisation objects. Sun Sep 27 01:13:35 1998 Alex Priem <alexp@sci.kun.nl> * [dlls/comctl32/treeview.c] [include/treeview.h] [include/comctl.h] Treeview implementation. * [dlls/comctl32/trackbar.c] [include/trackbar.h] Trackbar implementation. Sat Sep 26 20:49:13 1998 Ulrich Weigand <weigand@informatik.uni-erlangen.de> * [if1632/thunk.c] [tools/build.c] [win32/kernel32.c] Bugfix: several problems with flat thunks fixed. * [memory/selector.c] Bugfix: IsBad...Ptr16 didn't work for limit_in_pages segments. * [scheduler/thread.c] Bugfix: CreateThread: Allow id parameter == NULL. * [objects/gdiobj.c] Bugfix: IsGDIObject: Return correct object type for stock objects. * [msdos/dpmi.c] Bugfix: fixed typo in INT_DoRealModeInt. * [msdos/int21.c] Bugfix: int21 READ *must* use WIN16_hread, not _hread16. * [if1632/kernel.spec] [if1632/dummy.c] [if1632/thunk.c] [loader/ne/module.c] [scheduler/event.c] [scheduler/synchro.c] [scheduler/thread.c] [win32/kernel32.c] [win32/ordinals.c] Added names/stubs for all undocumented KERNEL routines (Win95). Added the following undoc. 16-bit equivalents to Win32 routines: KERNEL.441-443,449-453,456-462,471-476,479-486,488. Added stubs for some other KERNEL routines. * [memory/heap.c] [memory/global.c] [include/global.h] Implemented Local32... 32-bit local heap routines (KERNEL.208-215, 229). * [miscemu/instr.c] [loader/module.c] [include/module.h] Implemented __GP fault handling and HasGPHandler (KERNEL.338). * [misc/error.c] Implemented LogParamErrorRegs (KERNEL.327). * [loader/task.c] [include/windows.h] Implemented GetCodeInfo (KERNEL.104). * [loader/task.c] [scheduler/thread.c] [include/thread.h] Implemented [GS]etThreadQueue and [GS]etFastQueue (KERNEL.463/4, 624/5). * [if1632/gdi.spec] [objects/dc.c] [objects/dib.c] [objects/bitmap.c] [include/windows.h] Bugfix: fixed wrong parameter for CreateDIBSection16. Added [GS]etDIBColorTable16, stub for GetBoundsRect16. Partially implemented BITMAP_GetObject16 for DIBs. * [if1632/gdi.spec] [relay32/gdi32.spec] [objects/palette.c] Added some GDI stubs. * [if1632/Makefile.in] [if1632/display.spec] [if1632/mouse.spec] [if1632/keyboard.spec] [if1632/builtin.c] [windows/keyboard.c] Added some stubs for Win16 drivers: KEYBOARD, MOUSE, DISPLAY. * [if1632/wprocs.spec] [msdos/vxd.c] Added some stubs for VxDs: VMM, ConfigMG, TimerAPI. * [msdos/int2f.c] Added some stubs for real-mode network drivers. Sat Sep 26 18:18:18 1998 Marcus Meissner <marcus@jet.franken.de> * [configure.in] Merged in some more of the FreeBSD ports/emulators/wine patches. (Maintainer(s) of this port: You can just submit these patches to Alexandre directly.) * [loader/pe_image.c] Check filesize of image against size derived from header to spot truncated executeables without crashing. * [files/directory.c] Set envvar "COMSPEC". One win32(!!) program crashes without it. * [multimedia/mmio.c] Added mmioSetInfo32. * [include/file.h] Return STD_ERROR_HANDLE for AUX and PRT dos handles. * [loader/module.c] Handle executeables with spaces in their names a bit better in CreateProcess. * [relay32/msvfw32.spec][if1632/msvideo.spec][multimedia/msvideo.c][include/vfw.h] Started on MS Video support (can load Win32 ICMs). * [tools/testrun] A bit smarter use of ps. * [memory/virtual.c] Report PAGE_GUARDed pages as PAGE_PROTECTED (AutoCAD LT R17 fails without that check (since Win95 doesn't know about PAGE_GUARD)). Sat Sep 26 15:04:05 1998 Ove Kaaven <ovek@arcticnet.no> * [include/miscemu.h] [if1632/builtin.c] [loader/task.c] [miscemu/instr.c] [msdos/dpmi.c] [msdos/int21.c] [msdos/interrupts.c] [windows/user.c] INT_[S|G]etHandler was renamed to INT_[S|G]etPMHandler. Added handlers to deal with real-mode interrupts; DOS programs are now able to hook real-mode interrupts. * [loader/dos/module.c] [msdos/dosmem.c] [msdos/int21.c] Moved real-mode interrupt table initialization to msdos/dosmem.c, and made new V86 tasks get a full copy of the existing "system memory" instead of almost empty space. Misc fixes. * [include/dosexe.h] [loader/dos/module.c] [msdos/dpmi.c] [msdos/int2f.c] First shot at letting DOS programs start up DPMI (but DPMI is still disabled for DOS programs, for pkunzip's sake). * [include/debugger.h] [debugger/break.c] [debugger/dbg.y] [debugger/registers.c] [debugger/memory.c] [debugger/info.c] [loader/dos/dosvm.c] First shot at making Wine's debugger work for DOS programs. The -debug flag works, as do "nexti" and "stepi". Sat Sep 26 13:13:13 1998 Juergen Schmied <juergen.schmied@metronet.de> * [dlls/shell32/dataobject.c] New classes IEnumFORMATETC implemented, IDataObject stubs. * [dlls/shell32/*.*][relay32/shell32.spec] Bugfixes. New: ICM_InsertItem(), ILCreateFromPath(). Implemented: ILCloneFirst(). Stubs: ILIsEqual(), ILFindChild(), SHLogILFromFSIL(), PathMatchSpec(), PathIsExe(). Changed: ILGetSize(), _ILIsDesktop(), PathCombine(). * [include/shlobj.h] New SHLGUID's New structures: DVTARGETDEVICE32, STGMEDIUM32, FORMATETC32, CLIPFORMAT32. New interfaces: IEnumFORMATETC, IDataObject, ICommDlgBrowser IDockingWindowFrame, IServiceProvider. * [dlls/shell32/folders.c] Stubs for IShellLink. * [loader/resource.c] Small fixes. * [misc/crtdll.c][relay32/crtdll.spec] New __dllonexit(). * [windows/message.c] SendNotifyMessageA, SendMessageCallBack32A half implemented. * [controls/edit.c] EDIT_WM_SetText set EF_UPDATE flag not for ES_MULTILINE. * [files/file.c] Handling of fileposition fixed. Fri Sep 25 18:13:30 1998 Patrik Stridvall <ps@leissner.se> * [include/windows.h] [include/wintypes.h] [ole/ole2nls.h] [relay32/kernel32.spec] Implemented EnumDateFormats and EnumTimeFormats. Only adds US English support. * [Makefile.in] [configure.in] [dlls/Makefile.in] [dlls/psapi/Makefile.in] [dlls/psapi/psapi_main.c] New files to implement stubs for PSAPI.DLL (NT only). * [relay32/Makefile.in] [relay32/builtin32.c] [relay32/psapi.spec] New spec file for PSAPI.DLL (NT only). * [scheduler/handle.c] HANDLE_GetObjPtr should only interpret the pseudo handles as the current thread or the current process if a thread or a process is requested. * [include/winversion.h] [misc/version.c] Adds the global function VERSION_GetVersion() so functions can have different behavior depending on the -winver flag. * [include/oledlg.h] [ole/oledlg.c] Minor fixes. * [windows/winproc.c] Minor changes. * [include/imm.h] [misc/imm.c] Now returns correct values under both Windows 95 and NT 4.0. Thu Sep 24 22:11:44 1998 Kristian Nielsen <kristian.nielsen@risoe.dk> * [configure.in] [include/acconfig.h] [include/thread.h] [scheduler/sysdeps.c] Autoconfig test for non-reentrant libc. Wed Sep 23 19:52:12 1998 Matthew Becker <mbecker@glasscity.net> * [*/*.c] Miscellaneous documentation updates and debugging output standardizations. * [objects/clipping.c] Added ExtSelectClipRgn. Wed Sep 23 00:03:28 EDT 1998 Pete Ratzlaff <pratzlaff@cfa.harvard.edu> * [include/windows.h] [if1632/user.spec] [relay32/user32.spec] [windows/keyboard.c] Added, marginally implemented, GetKeyboardLayoutName(). Only returns US English keyboard name. Tue Sep 22 16:32:41 1998 Marcel Baur <mbaur@iiic.ethz.ch> * [programs/control/*] New Winelib application. Mon Sep 21 00:29:18 1998 Peter Hunnisett <hunnise@nortel.ca> * [include/dplay.h][multimedia/dplay.c][ole/compobj.c] Added all DirectPlayLobby interfaces and enhanced DirectPlay and DirectPlayLobby support. Still not all that much. Useful enough if you just need to start a program, don't try any real dplay/lobby stuff. * [documentation/status/directplay] Added a very little bit. * [graphics/ddraw.c] - Call to SetWindowLong32A wasn't working because there was no memory set aside when the window class was registered. - Fixed some xlib reference counting and change the behaviour of DirectDrawSurface3_SetPalette to mimic observed behaviour (palette is associated will all backbuffers) - Also stored all palette colour fields and spit back our saved colour fields rather than query X for them. - Added plenty of AddRef and Release traces. - Added Xlib support for using -desktop option. - Fixed Xlib message handling. Messages weren't being passed to the application. Fixes mouse movements in some xlib DDraw games. - Added a few stubs. * [windows/win.c][include/winerror.h] Fixed up some error handling in WIN_SetWindowLong. SetLastError wasn't being used. Could cause problems with 0 return codes. Added new error in winerror (1400). * [AUTHORS] [include/authors.h] Added myself as a Wine author. Sun Sep 20 21:22:44 1998 Alexander Larsson <alla@lysator.liu.se> * [loader/module.c] Changed GetModuleFileName32A so that is returns the long version of the filename. Note that just the name is long, not the directories. Sat Sep 19 20:05:30 1998 Per Ångström <pang@mind.nu> * [controls/menu.c] Made a couple of fixes to make life easier for applications that alter their menus at runtime. * [windows/defdlg.c] Removed the cast of the return value from dialog procedures to a 16-bit bool. The return value needs to retain all its 32 bits, since it is not always a bool, such as when responding to the WM_NCHITTEST message. Fri Sep 18 11:30:38 1998 Sergey Turchanov <turchanov@usa.net> * [loader/resource.c] Fixed very funny bug (though gravely affecting further excecution) with FindResource[Ex]32 functions. * [include/multimon.h] [windows/multimon.c] [relay32/user32.spec] [include/windows.h] [windows/sysmetrics.c] Default implementation for Multimonitor API. * [include/windows.h] [windows/winpos.c] Fixed incorrect declaration (and behaviour) of GetWindowRect32. Wed Sep 16 10:21:15 1998 Gerard Patel <G.Patel@Wanadoo.fr> * [controls/edit.c] Fixed EDIT_EM_GetLine to use correctly length of lines. Tue Sep 15 20:40:16 1998 Eric Kohl <ekohl@abo.rhein-zeitung.de> * [misc/tweak.c][include/tweak.h][controls/menu.c] Replaced the tweak graphic routines by calls to DrawEdge32(). * [misc/tweak.c][include/tweak.h][documentation/win95look] [wine.ini][*/*] Changed "look and feel" selection. Allows Win3.1, Win95 and Win98 (no GUI code implemented) look and feel. * [dlls/comctl32/header.c][include/header.h][include/commctrl.h] Started callback item support and did some minor improvements. * [dlls/comctl32/imagelist.c] Fixed bug in transparent image display. ImageList_GetIcon is still buggy :-( * [dlls/comctl32/toolbar.c] Fixed button drawing (partial hack). * [dlls/comctl32/commctrl.c] Fixed MenuHelp(). * [controls/button.c] Added 3d effect for groupbox. * [windows/msgbox.c] Added font support for message boxes. * [windows/nonclient.c] Fixed window moving bug. * [dlls/comctl32/*.c] Various improvements. * [dlls/comctl32/listview.c][dlls/comctl32/rebar.c] [include/commctrl.h] More messages. * [windows/syscolor.c][include/windows.h] Introduced new Win98 system colors. Tue Sep 15 18:29:45 1998 Wesley Filardo <eightknots@aol.com> * [files/profile.c] Added support in PROFILE_LoadWineIni for -config option * [misc/main.c] [include/options.h] Added -config option. Tue Sep 15 18:22:26 1998 Petter Reinholdtsen <pere@td.org.uit.no> * [documentation/Makefile.in] Make sure directory exists before installing into it. Tue Sep 15 01:47:33 1998 Pablo Saratxaga <pablo.sarachaga@ping.be> * [ole/nls/*] [ole/ole2nls.c] [include/winnls.h] Fixed a few errors and completed some NLS files. Mon Sep 14 01:23:45 1998 Joseph Pranevich <knight@baltimore.wwaves.com> * [include/miscemu.h] [msdos/interrupts.c] Removed a compilation warning, added INT 25 to the list of interrupts callable from DOS applications, added a debug message when unsupported interrupts are used. Sun Sep 13 19:55:22 1998 Lawson Whitney <lawson_whitney@juno.com> * [if1632/relay.c] CallProcEx32W should not reverse arguments. Sun Aug 17 21:18:12 1998 Eric Pouech <eric.pouech@lemel.fr> * [multimedia/midi.c] [multimedia/init.c] [multimedia/mmsys.c] [include/multimedia.h] [include/mmsystem.h] [multimedia/Makefile.in] [multimedia/midipatch.c] [if1632/multimedia.spec] Made MIDI input and output functional on OSS capable systems. * [multimedia/timer.c] Changes to trigger callbacks at the accurate pace even when fake timers are used.
548 lines
13 KiB
Plaintext
548 lines
13 KiB
Plaintext
dnl Process this file with autoconf to produce a configure script.
|
|
dnl Author: Michael Patra <micky@marie.physik.tu-berlin.de>
|
|
dnl <patra@itp1.physik.tu-berlin.de>
|
|
AC_REVISION([configure.in 1.00])
|
|
AC_INIT(controls/edit.c)
|
|
AC_CONFIG_HEADER(include/config.h)
|
|
AC_CONFIG_AUX_DIR(tools)
|
|
|
|
# We want these before the checks, so the checks can modify their values.
|
|
LIBS="$LIBS -lm"
|
|
test -z "$PROGEXT" && PROGEXT="" AC_SUBST(PROGEXT)
|
|
|
|
dnl **** Command-line arguments ****
|
|
|
|
dnl Default values
|
|
MAIN_TARGET=emu
|
|
LIB_TARGET=libwine.a
|
|
TRACE_MSGS=yes # the TRACE() macro
|
|
DEBUG_MSGS=yes # the TRACE(), WARN(), and FIXME() macros.
|
|
|
|
AC_ARG_ENABLE(emulator,
|
|
[ --disable-emulator build only the Wine library, not the emulator],
|
|
[if test "$enableval" = "no"; then MAIN_TARGET="lib"; fi])
|
|
|
|
AC_ARG_ENABLE(dll,
|
|
[ --enable-dll build the Wine library as a DLL],
|
|
[if test "$enableval" = "no"; then : ; else LIB_TARGET="libwine.so.1.0"; fi])
|
|
|
|
AC_ARG_ENABLE(lib,
|
|
[ --disable-lib build the Wine without building libwine.a],
|
|
[if test "$enableval" = "no"; then LIB_TARGET="\$(LIBOBJS)"; fi])
|
|
|
|
dnl AC_ARG_WITH(ipc,
|
|
dnl [ --enable-ipc use inter-process communication for DDE],
|
|
dnl [if test "$enableval" = "no"; then : ; else OPTIONS="-DCONFIG_IPC"; fi])
|
|
|
|
AC_ARG_ENABLE(debug,
|
|
[ --disable-debug compile out all debugging messages],
|
|
[if test "$enableval" = "no"; then DEBUG_MSGS="no"; fi])
|
|
|
|
AC_ARG_ENABLE(trace,
|
|
[ --disable-trace compile out TRACE messages],
|
|
[if test "$enableval" = "no"; then TRACE_MSGS="no"; fi])
|
|
|
|
AC_ARG_WITH(reentrant-x,
|
|
[ --without-reentrant-x Compile for use with non-reentrant X libraries])
|
|
|
|
AC_SUBST(MAIN_TARGET)
|
|
AC_SUBST(LIB_TARGET)
|
|
AC_SUBST(OPTIONS)
|
|
|
|
if test "$DEBUG_MSGS" = "no"
|
|
then
|
|
AC_DEFINE(NO_DEBUG_MSGS)
|
|
AC_DEFINE(NO_TRACE_MSGS)
|
|
else
|
|
if test "$TRACE_MSGS" = "no"
|
|
then
|
|
AC_DEFINE(NO_TRACE_MSGS)
|
|
fi
|
|
fi
|
|
|
|
dnl **** Check for some programs ****
|
|
|
|
AC_PROG_MAKE_SET
|
|
AC_PROG_CC
|
|
AC_PROG_CPP
|
|
AC_PATH_XTRA
|
|
AC_PROG_YACC
|
|
AC_PROG_LEX
|
|
AC_PROG_RANLIB
|
|
AC_PROG_INSTALL
|
|
AC_PROG_LN_S
|
|
AC_CHECK_PROG(C2MAN,c2man,c2man,true)
|
|
|
|
dnl **** Check for some libraries ****
|
|
|
|
dnl Check for -li386 for NetBSD and OpenBSD
|
|
AC_CHECK_LIB(i386,i386_set_ldt)
|
|
dnl Check for -lw for Solaris
|
|
AC_CHECK_LIB(w,iswalnum)
|
|
dnl Check for -lxpg4 for FreeBSD
|
|
AC_CHECK_LIB(xpg4,setrunelocale)
|
|
dnl Check for XFree86 DGA extension
|
|
AC_CHECK_LIB(Xxf86dga,XF86DGAQueryExtension,AC_DEFINE(HAVE_LIBXXF86DGA) X_PRE_LIBS="$X_PRE_LIBS -lXxf86dga",,$X_LIBS -lXext -lX11)
|
|
|
|
dnl **** Check for Open Sound System ****
|
|
AC_CHECK_HEADERS(sys/soundcard.h machine/soundcard.h)
|
|
|
|
AC_CACHE_CHECK("for Open Sound System",
|
|
ac_cv_c_opensoundsystem,
|
|
AC_TRY_COMPILE([
|
|
#ifdef HAVE_SYS_SOUNDCARD_H
|
|
#include <sys/soundcard.h>
|
|
#endif
|
|
#ifdef HAVE_MACHINE_SOUNDCARD_H
|
|
#include <machine/soundcard.h>
|
|
#endif
|
|
],[
|
|
|
|
/* check for one of the Open Sound System specific SNDCTL_ defines */
|
|
#if !defined(SNDCTL_DSP_STEREO)
|
|
#error No open sound system
|
|
#endif
|
|
],ac_cv_c_opensoundsystem="yes",ac_cv_c_opensoundsystem="no"))
|
|
|
|
if test "$ac_cv_c_opensoundsystem" = "yes"
|
|
then
|
|
AC_DEFINE(HAVE_OSS)
|
|
fi
|
|
|
|
dnl **** Check for union semun ****
|
|
|
|
AC_CACHE_CHECK("for union semun", ac_cv_c_union_semun,
|
|
AC_TRY_COMPILE([#include <sys/types.h>
|
|
#include <sys/sem.h>],[union semun foo],
|
|
ac_cv_c_union_semun="yes", ac_cv_c_union_semun="no"))
|
|
if test "$ac_cv_c_union_semun" = "yes"
|
|
then
|
|
AC_DEFINE(HAVE_UNION_SEMUN)
|
|
fi
|
|
|
|
dnl **** If ln -s doesn't work, use cp instead ****
|
|
if test "$ac_cv_prog_LN_S" = "ln -s"; then : ; else LN_S=cp ; fi
|
|
|
|
dnl **** Check for gcc strength-reduce bug ****
|
|
|
|
if test "x${GCC}" = "xyes"
|
|
then
|
|
CFLAGS="$CFLAGS -Wall"
|
|
AC_CACHE_CHECK( "for gcc strength-reduce bug", ac_cv_c_gcc_strength_bug,
|
|
AC_TRY_RUN([
|
|
int main(void) {
|
|
static int Array[[3]];
|
|
unsigned int B = 3;
|
|
int i;
|
|
for(i=0; i<B; i++) Array[[i]] = i - 3;
|
|
exit( Array[[1]] != -2 );
|
|
}],
|
|
ac_cv_c_gcc_strength_bug="no",
|
|
ac_cv_c_gcc_strength_bug="yes",
|
|
ac_cv_c_gcc_strength_bug="yes") )
|
|
if test "$ac_cv_c_gcc_strength_bug" = "yes"
|
|
then
|
|
CFLAGS="$CFLAGS -fno-strength-reduce"
|
|
fi
|
|
fi
|
|
|
|
dnl **** Check for underscore on external symbols ****
|
|
|
|
AC_CACHE_CHECK("whether external symbols need an underscore prefix",
|
|
ac_cv_c_extern_prefix,
|
|
[saved_libs=$LIBS
|
|
LIBS="conftest_asm.s $LIBS"
|
|
cat > conftest_asm.s <<EOF
|
|
.globl _ac_test
|
|
_ac_test:
|
|
.long 0
|
|
EOF
|
|
AC_TRY_LINK([extern int ac_test;],[if (ac_test) return 1],
|
|
ac_cv_c_extern_prefix="yes",ac_cv_c_extern_prefix="no")
|
|
LIBS=$saved_libs])
|
|
if test "$ac_cv_c_extern_prefix" = "yes"
|
|
then
|
|
AC_DEFINE(NEED_UNDERSCORE_PREFIX)
|
|
fi
|
|
|
|
dnl **** Check for .string in assembler ****
|
|
|
|
AC_CACHE_CHECK("whether assembler accepts .string",
|
|
ac_cv_c_asm_string,
|
|
[saved_libs=$LIBS
|
|
LIBS="conftest_asm.s $LIBS"
|
|
cat > conftest_asm.s <<EOF
|
|
.string "test"
|
|
EOF
|
|
AC_TRY_LINK(,,ac_cv_c_asm_string="yes",ac_cv_c_asm_string="no")
|
|
LIBS=$saved_libs])
|
|
if test "$ac_cv_c_asm_string" = "yes"
|
|
then
|
|
AC_DEFINE(HAVE_ASM_STRING)
|
|
fi
|
|
|
|
dnl **** Check for working dll ****
|
|
|
|
DLLFLAGS=""
|
|
if test "$LIB_TARGET" = "libwine.so.1.0"
|
|
then
|
|
AC_CACHE_CHECK("whether we can build a dll",
|
|
ac_cv_c_dll,
|
|
[saved_cflags=$CFLAGS
|
|
CFLAGS="$CFLAGS -fPIC -shared -Wl,-soname,conftest.so.1.0"
|
|
AC_TRY_LINK(,[return 1],ac_cv_c_dll="yes",ac_cv_c_dll="no")
|
|
CFLAGS=$saved_cflags
|
|
])
|
|
if test "$ac_cv_c_dll" = "yes"
|
|
then
|
|
DLLFLAGS="-fPIC"
|
|
else
|
|
LIB_TARGET="libwine.a"
|
|
fi
|
|
fi
|
|
AC_SUBST(DLLFLAGS)
|
|
|
|
dnl **** Check for reentrant libc ****
|
|
dnl
|
|
dnl For cross-compiling we blindly assume that libc is reentrant. This is
|
|
dnl ok since non-reentrant libc is quite rare (mostly old libc5 versions).
|
|
|
|
AC_CACHE_CHECK("for reentrant libc", wine_cv_libc_reentrant,
|
|
[AC_TRY_RUN([int myerrno = 0;
|
|
char buf[256];
|
|
int *__errno_location(){return &myerrno;}
|
|
main(){connect(0,buf,255); exit(!myerrno);}],
|
|
wine_cv_libc_reentrant=yes, wine_cv_libc_reentrant=no,
|
|
wine_cv_libc_reentrant=yes ) ] )
|
|
if test "$wine_cv_libc_reentrant" = "no"
|
|
then
|
|
AC_DEFINE(NO_REENTRANT_LIBC)
|
|
fi
|
|
|
|
dnl **** Check for reentrant X libraries ****
|
|
dnl
|
|
dnl This may fail to determine whether X libraries are reentrant if
|
|
dnl AC_PATH_XTRA does not set x_libraries. In this case manual configuration
|
|
dnl is possible with the --without-reentrant-x option.
|
|
|
|
AC_CACHE_CHECK( "for reentrant X libraries", wine_cv_x_reentrant,
|
|
[ if test "x$with_reentrant_x" = "xno"
|
|
then
|
|
wine_cv_x_reentrant=no
|
|
else
|
|
libX11_ckeck=none
|
|
for dir in "$x_libraries" /usr/lib /usr/local/lib /lib; do
|
|
if test -r $dir/libX11.so; then
|
|
libX11_check="-D $dir/libX11.so"
|
|
break 1
|
|
fi
|
|
if test -r $dir/libX11.a; then
|
|
libX11_check="$dir/libX11.a"
|
|
break 1
|
|
fi
|
|
done
|
|
if test "$libX11_check" != "none"; then
|
|
if nm $libX11_check | grep __errno_location >/dev/null 2>&1
|
|
then
|
|
wine_cv_x_reentrant=yes
|
|
else
|
|
wine_cv_x_reentrant=no
|
|
fi
|
|
else
|
|
wine_cv_x_reentrant=unknown
|
|
fi
|
|
fi ] )
|
|
if test "$wine_cv_x_reentrant" = "no"
|
|
then
|
|
AC_DEFINE(NO_REENTRANT_X11)
|
|
fi
|
|
|
|
dnl **** Check for functions and header files ****
|
|
|
|
AC_CHECK_FUNCS(clone getpagesize memmove sendmsg sigaltstack strerror stricmp tcgetattr timegm usleep wait4 waitpid vfscanf)
|
|
AC_CHECK_HEADERS(wctype.h sys/syscall.h syscall.h sys/param.h sys/vfs.h sys/mount.h sys/statfs.h float.h linux/cdrom.h linux/ucdrom.h sys/cdio.h sys/filio.h sys/modem.h strings.h sys/strtio.h)
|
|
AC_HEADER_STAT()
|
|
AC_C_CONST()
|
|
AC_TYPE_SIZE_T()
|
|
AC_CHECK_SIZEOF(long long,0)
|
|
|
|
dnl **** Check for sendmsg in -lsocket if not found above ****
|
|
|
|
if test $ac_cv_func_sendmsg = no; then
|
|
AC_CHECK_LIB(socket,sendmsg)
|
|
fi
|
|
|
|
dnl **** statfs checks ****
|
|
|
|
if test "$ac_cv_header_sys_vfs_h" = "yes"
|
|
then
|
|
AC_CACHE_CHECK( "whether sys/vfs.h defines statfs",
|
|
wine_cv_sys_vfs_has_statfs,
|
|
AC_TRY_COMPILE([
|
|
#include <sys/types.h>
|
|
#ifdef HAVE_SYS_PARAM_H
|
|
# include <sys/param.h>
|
|
#endif
|
|
#include <sys/vfs.h>
|
|
],[
|
|
struct statfs stfs;
|
|
|
|
memset(&stfs,0,sizeof(stfs));
|
|
],wine_cv_sys_vfs_has_statfs=yes,wine_cv_sys_vfs_has_statfs=no
|
|
)
|
|
)
|
|
if test "$wine_cv_sys_vfs_has_statfs" = "yes"
|
|
then
|
|
AC_DEFINE(STATFS_DEFINED_BY_SYS_VFS)
|
|
fi
|
|
fi
|
|
|
|
if test "$ac_cv_header_sys_statfs_h" = "yes"
|
|
then
|
|
AC_CACHE_CHECK( "whether sys/statfs.h defines statfs",
|
|
wine_cv_sys_statfs_has_statfs,
|
|
AC_TRY_COMPILE([
|
|
#include <sys/types.h>
|
|
#ifdef HAVE_SYS_PARAM_H
|
|
# include <sys/param.h>
|
|
#endif
|
|
#include <sys/statfs.h>
|
|
],[
|
|
struct statfs stfs;
|
|
],wine_cv_sys_statfs_has_statfs=yes,wine_cv_sys_statfs_has_statfs=no
|
|
)
|
|
)
|
|
if test "$wine_cv_sys_statfs_has_statfs" = "yes"
|
|
then
|
|
AC_DEFINE(STATFS_DEFINED_BY_SYS_STATFS)
|
|
fi
|
|
fi
|
|
|
|
if test "$ac_cv_header_sys_mount_h" = "yes"
|
|
then
|
|
AC_CACHE_CHECK( "whether sys/mount.h defines statfs",
|
|
wine_cv_sys_mount_has_statfs,
|
|
AC_TRY_COMPILE([
|
|
#include <sys/types.h>
|
|
#ifdef HAVE_SYS_PARAM_H
|
|
# include <sys/param.h>
|
|
#endif
|
|
#include <sys/mount.h>
|
|
],[
|
|
struct statfs stfs;
|
|
],wine_cv_sys_mount_has_statfs=yes,wine_cv_sys_mount_has_statfs=no
|
|
)
|
|
)
|
|
if test "$wine_cv_sys_mount_has_statfs" = "yes"
|
|
then
|
|
AC_DEFINE(STATFS_DEFINED_BY_SYS_MOUNT)
|
|
fi
|
|
fi
|
|
|
|
dnl **** FIXME: what about mixed cases, where we need two of them? ***
|
|
|
|
AC_CACHE_CHECK( "for statfs.f_bfree", wine_cv_statfs_bfree,
|
|
[ if test "x$statfs_bfree" = "xno"
|
|
then
|
|
wine_cv_statfs_bfree=no
|
|
else
|
|
AC_TRY_COMPILE([
|
|
#include <sys/types.h>
|
|
#ifdef HAVE_SYS_PARAM_H
|
|
# include <sys/param.h>
|
|
#endif
|
|
#ifdef STATFS_DEFINED_BY_SYS_MOUNT
|
|
# include <sys/mount.h>
|
|
#else
|
|
# ifdef STATFS_DEFINED_BY_SYS_VFS
|
|
# include <sys/vfs.h>
|
|
# else
|
|
# ifdef STATFS_DEFINED_BY_SYS_STATFS
|
|
# include <sys/statfs.h>
|
|
# endif
|
|
# endif
|
|
#endif
|
|
],[
|
|
struct statfs stfs;
|
|
|
|
stfs.f_bfree++;
|
|
],wine_cv_statfs_bfree=yes,wine_cv_statfs_bfree=no
|
|
)
|
|
fi ] )
|
|
if test "$wine_cv_statfs_bfree" = "yes"
|
|
then
|
|
AC_DEFINE(STATFS_HAS_BFREE)
|
|
fi
|
|
|
|
AC_CACHE_CHECK( "for statfs.f_bavail", wine_cv_statfs_bavail,
|
|
[ if test "x$statfs_bavail" = "xno"
|
|
then
|
|
wine_cv_statfs_bavail=no
|
|
else
|
|
AC_TRY_COMPILE([
|
|
#include <sys/types.h>
|
|
#ifdef HAVE_SYS_PARAM_H
|
|
# include <sys/param.h>
|
|
#endif
|
|
#ifdef STATFS_DEFINED_BY_SYS_MOUNT
|
|
# include <sys/mount.h>
|
|
#else
|
|
# ifdef STATFS_DEFINED_BY_SYS_VFS
|
|
# include <sys/vfs.h>
|
|
# else
|
|
# ifdef STATFS_DEFINED_BY_SYS_STATFS
|
|
# include <sys/statfs.h>
|
|
# endif
|
|
# endif
|
|
#endif
|
|
],[
|
|
struct statfs stfs;
|
|
|
|
stfs.f_bavail++;
|
|
],wine_cv_statfs_bavail=yes,wine_cv_statfs_bavail=no
|
|
)
|
|
fi ] )
|
|
if test "$wine_cv_statfs_bavail" = "yes"
|
|
then
|
|
AC_DEFINE(STATFS_HAS_BAVAIL)
|
|
fi
|
|
|
|
dnl *** check for working sigaltstack
|
|
dnl glibc 2.0x defines it, but it always fails... so it is useless for us.
|
|
|
|
AC_CACHE_CHECK("for working sigaltstack",
|
|
ac_cv_c_working_sigaltstack,
|
|
AC_TRY_RUN([
|
|
#include <stdio.h>
|
|
#include <time.h> /* <sys/time.h> ? bad magic without end */
|
|
#include <sys/types.h>
|
|
#include <sys/signal.h>
|
|
#ifdef HAVE_SYS_PARAM_H
|
|
# include <sys/param.h>
|
|
#endif
|
|
#ifdef HAVE_SYSCALL_H
|
|
# include <syscall.h>
|
|
#else
|
|
# ifdef HAVE_SYS_SYSCALL_H
|
|
# include <sys/syscall.h>
|
|
# endif
|
|
#endif
|
|
|
|
unsigned char *xaltstack;
|
|
|
|
int
|
|
main(int argc,char **argv) {
|
|
struct sigaltstack ss;
|
|
|
|
xaltstack = malloc(16384);
|
|
ss.ss_sp = xaltstack;
|
|
ss.ss_size = 16384;
|
|
ss.ss_flags = 0;
|
|
if (sigaltstack(&ss, NULL) < 0) {
|
|
/* this catches the glibc case */
|
|
perror("sigaltstack");
|
|
return (1); /* aka exit(1) aka fail */
|
|
}
|
|
/* assume it works. */
|
|
return 0; /* OK */
|
|
}
|
|
],
|
|
ac_cv_c_working_sigaltstack="yes",
|
|
ac_cv_c_working_sigaltstack="no",
|
|
ac_cv_c_working_sigaltstack="no"
|
|
))
|
|
|
|
if test "$ac_cv_c_working_sigaltstack" = "yes"
|
|
then
|
|
AC_DEFINE(HAVE_WORKING_SIGALTSTACK)
|
|
fi
|
|
|
|
|
|
dnl *** check for file descriptor passing with msg_accrights
|
|
|
|
AC_CACHE_CHECK("for msg_accrights in struct msghdr", ac_cv_c_msg_accrights,
|
|
AC_TRY_COMPILE([#include <sys/types.h>
|
|
#include <sys/socket.h>],[struct msghdr hdr; hdr.msg_accrights=0],
|
|
ac_cv_c_msg_accrights="yes", ac_cv_c_msg_accrights="no"))
|
|
if test "$ac_cv_c_msg_accrights" = "yes"
|
|
then
|
|
AC_DEFINE(HAVE_MSGHDR_ACCRIGHTS)
|
|
fi
|
|
|
|
dnl **** Generate output files ****
|
|
|
|
MAKE_RULES=Make.rules
|
|
AC_SUBST_FILE(MAKE_RULES)
|
|
|
|
AC_OUTPUT([
|
|
Make.rules
|
|
Makefile
|
|
controls/Makefile
|
|
debugger/Makefile
|
|
dlls/Makefile
|
|
dlls/comctl32/Makefile
|
|
dlls/psapi/Makefile
|
|
dlls/shell32/Makefile
|
|
dlls/winaspi/Makefile
|
|
dlls/wnaspi32/Makefile
|
|
documentation/Makefile
|
|
files/Makefile
|
|
graphics/Makefile
|
|
graphics/metafiledrv/Makefile
|
|
graphics/psdrv/Makefile
|
|
graphics/win16drv/Makefile
|
|
graphics/x11drv/Makefile
|
|
if1632/Makefile
|
|
ipc/Makefile
|
|
library/Makefile
|
|
libtest/Makefile
|
|
loader/Makefile
|
|
loader/ne/Makefile
|
|
loader/dos/Makefile
|
|
memory/Makefile
|
|
misc/Makefile
|
|
miscemu/Makefile
|
|
msdos/Makefile
|
|
multimedia/Makefile
|
|
objects/Makefile
|
|
ole/Makefile
|
|
programs/Makefile
|
|
programs/clock/Makefile
|
|
programs/control/Makefile
|
|
programs/notepad/Makefile
|
|
programs/progman/Makefile
|
|
programs/regtest/Makefile
|
|
programs/view/Makefile
|
|
programs/winhelp/Makefile
|
|
programs/winver/Makefile
|
|
rc/Makefile
|
|
relay32/Makefile
|
|
resources/Makefile
|
|
scheduler/Makefile
|
|
server/Makefile
|
|
tools/Makefile
|
|
tools/wrc/Makefile
|
|
tsx11/Makefile
|
|
win32/Makefile
|
|
windows/Makefile ])
|
|
|
|
if test "$wine_cv_libc_reentrant" = "no"
|
|
then
|
|
echo
|
|
echo "*** Warning: non-reentrant libc detected. Wine will be build without"
|
|
echo "*** thread support. Consider upgrading libc to a more recent"
|
|
echo "*** reentrant version of libc."
|
|
echo
|
|
fi
|
|
|
|
echo
|
|
echo "Configure finished. Do 'make depend; make' to compile Wine."
|
|
echo
|
|
|
|
dnl Local Variables:
|
|
dnl comment-start: "dnl "
|
|
dnl comment-end: ""
|
|
dnl comment-start-skip: "\\bdnl\\b\\s *"
|
|
dnl compile-command: "autoconf"
|
|
dnl End:
|