Sun Apr 2 18:31:12 1995 Alexandre Julliard (julliard@sunsite.unc.edu) * [Configure] [if1632/Imakefile] Removed new build and short names options. * [if1632/*.c] [tools/build.c] Implemented compiled call-back functions for better performance; all the relay code is now done in assembly code generated by the build program. Relay code is no longer dependent on being loaded below 64K. * [loader/resource.c] Fixed memory leak in LoadString(). A fix will also be needed for other resources. * [memory/global.c] Implemented global heap arenas, so we can store informations about global blocks, like lock counts or owner handle. Implemented FarGetOwner() and FarSetOwner(). Implemented global heap TOOLHELP functions. * [memory/selector.c] Bug fix: it was not possible to re-use a free selector. Sun Apr 2 01:34:52 1995 Constantine Sapuntzakis (csapuntz@mit.edu) * [controls/listbox.c] Major work on listbox code - Many bugs fixed (still many bugs) - More messages supported - Code simplified Fri Mar 31 03:27:16 EST 1995 William Magro (wmagro@tc.cornell.edu) * [controls/edit.c] Lots of bug fixes related to diappearing text, lost carets, highlighting, segmentation faults, occurance of random characters, insertion of characters over selection, misplaced caret location, display corruption, end of line behavior, etc. * [controls/widgets.c] EDIT class doesn't want to use CS_PARENTDC flag. Thu Mar 30 20:58:25 1995 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de> * [loader/selector.c] FixupFunctionPrologs() should also handle multiple data modules. (this bug only became visible because MakeProcInstance() was fixed in 950319) * [misc/dosfs.c] Simplified DOS_SimplifyPath. Small fix to DOS_opendir to reuse an entry if an open directory is opened again, to prevent "too many open directories" messages. Thu Mar 30 12:05:05 1995 Martin von Loewis <loewis@informatik.hu-berlin.de> * [if1632/compobj.spec][include/compobj.h][misc/compobj.c] CoDisconnectObject: new stub function * [include/msdos.h] fix DOSVERSION * [loader/ne_image.c] NE_FixupSegment: Be more generous on additive fixups * [if1632/user.spec][misc/network.c] Add more WNet* stubs Wed Mar 29 11:47:22 1995 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de> * [controls/listbox.c] DlgDirList(): send segptr instead of linear pointer in message to static control * [controls/menu.c] Tried to implement ownerdrawn menuitems. Doesn't work. * [if1632/gdi.spec] [include/windows.h] [objects/font.c] Provide a stub for GetRasterizerCaps() * [loader/selector.c] Pass end address instead of length to LocalInit() in CreateSelectors() * [memory/local.c] LocalInit(): If there's already a local heap in the segment, do nothing and return TRUE * [objects/linedda.c] Replaced buggy LineDDA() with a Bresenham algorithm. Should work now. * [windows/cursor.c] LoadCursor()/CreateCursor(): Cleaned up the mess. Needs some more work still. Tue Mar 21 17:54:43 1995 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de> * [if1632/relay.c] [if1632/callback.c] [include/dlls.h] [if1632/winprocs.spec] [if1632/winprocs.c] [include/winprocs.h] [controls/widgets.c] [misc/shell.c] [misc/commdlg.c] [windows/nonclient.c] [misc/message.c] Added a new builtin DLL that provides 16 bit entry points for all the Def*Procs (DefDlgProc, ButtonProc etc.). OWL programs work again. * [misc/shell.c] RegOpenKey()/RegCreateKey() bugs fixed. * [loader/ne_image.c] Skipping the initialization of a DLL when CS == 0 was broken.
218 lines
4.9 KiB
Bash
218 lines
4.9 KiB
Bash
#! /bin/sh
|
|
#
|
|
# Configure script for wine
|
|
|
|
: ${EDITOR:=vi}
|
|
: ${PAGER:=more}
|
|
|
|
WINELIB=''
|
|
LANGUAGE=not_matching
|
|
ALLDEFINES=''
|
|
|
|
# Ask question 'str' and set 'var' to reply (defaulting to 'def' on CR)
|
|
prompt ()
|
|
{
|
|
str="$1"
|
|
var="$2"
|
|
def="$3"
|
|
|
|
eval $var='$def'
|
|
echo
|
|
echo -n "$str [$def]? "
|
|
input=`head -1` # When using read, user must double all backslashes
|
|
if [ -n "$input" ]
|
|
then
|
|
eval $var='$input'
|
|
fi
|
|
}
|
|
|
|
echo
|
|
echo Read the RELEASE-NOTES for an explanation of the various flags
|
|
echo
|
|
|
|
echo -n 'Build Wine as emulator or library (E/L) [E]? '
|
|
read input
|
|
if [ "$input" = 'l' -o "$input" = 'L' ]
|
|
then
|
|
WINELIB='#define WINELIB -DWINELIB'
|
|
ALLDEFINES="$ALLDEFINES -DWINELIB"
|
|
fi
|
|
|
|
LANGS=`echo En rc/sysres_*.rc | sed -e 's/rc\/sysres_//g' -e 's/\.rc//g' -e 's/ /\//g;'`
|
|
while expr "$LANGS" : ".*$LANGUAGE" = 0 > /dev/null
|
|
do
|
|
prompt "Language ($LANGS)" LANGUAGE En
|
|
if expr "$LANGS" : ".*$LANGUAGE" = 0 > /dev/null
|
|
then
|
|
echo "\"$LANGUAGE\" is not a supported language."
|
|
fi
|
|
done
|
|
ALLDEFINES="$ALLDEFINES -ALANG\($LANGUAGE\)"
|
|
|
|
prompt "Malloc debugging" MALLOC_DEBUGGING N
|
|
if [ MALLOC_DEBUGGING = 'Y' -o $MALLOC_DEBUGGING = 'y' ]
|
|
then
|
|
MALLOC_DEBUGGING="#define MALLOC_DEBUGGING"
|
|
ALLDEFINES="$ALLDEFINES -DMALLOC_DEBUGGING"
|
|
else
|
|
MALLOC_DEBUGGING=''
|
|
fi
|
|
|
|
prompt "Global configfile name" WINE_CONFIGFILE /usr/local/etc/wine.conf
|
|
|
|
if [ -r $WINE_CONFIGFILE ]
|
|
then
|
|
DEFAULT_ANS=N
|
|
else
|
|
DEFAULT_ANS=Y
|
|
fi
|
|
|
|
echo
|
|
echo -n "Do you want to make a config file now (Y/N) [$DEFAULT_ANS]? "
|
|
read input
|
|
if [ "$input" = '' ]
|
|
then
|
|
input="$DEFAULT_ANS"
|
|
fi
|
|
if [ "$input" = 'y' -o "$input" = 'Y' ]
|
|
then
|
|
if [ -r $WINE_CONFIGFILE ]
|
|
then
|
|
echo "Backing up the old file to ${WINE_CONFIGFILE}.old."
|
|
if cp $WINE_CONFIGFILE ${WINE_CONFIGFILE}.old
|
|
then :
|
|
else
|
|
echo "Error while creating backup file. Fix it and run Configure again"
|
|
exit 1
|
|
fi
|
|
fi
|
|
|
|
CF_A=`mount | awk '/^\/dev\/fd/ {print $3;exit} END {print "/a"}'`
|
|
prompt "Which directory do you want to use as A:" CF_A $CF_A
|
|
CF_C=`awk '{if ($3=="msdos") {print $2;exit}} END {print "/c"}' /etc/fstab`
|
|
prompt "Which directory do you want to use as C:" CF_C $CF_C
|
|
prompt "Where is the Windows directory" CF_Windows 'c:\windows'
|
|
prompt "Where is the System directory" CF_System 'c:\windows\system'
|
|
if [ -r "$CF_C/autoexec.bat" ]
|
|
then
|
|
CF_Temp=`tr A-Z a-z < "$CF_C/autoexec.batX" | sed -n 's/^ *set *temp= *\(c:.*[a-z]\).*/\1/p'`
|
|
fi
|
|
if [ -z "$CF_Temp" ]
|
|
then
|
|
CF_Temp='c:\temp'
|
|
fi
|
|
prompt "Where should Windows apps store temp files" CF_Temp $CF_Temp
|
|
prompt "Which path should be used to find progs/DLL's" CF_Path "$CF_Windows;$CF_System"
|
|
prompt "Where is sysres.dll" CF_SystemResources `pwd`/sysres.dll
|
|
prompt "Where is COM1" CF_Com1 '/dev/cua0'
|
|
prompt "Where is COM2" CF_Com2 '/dev/cua1'
|
|
prompt "Where is LPT1" CF_Lpt1 '/dev/lp0'
|
|
prompt "Log messages to which file (CON = stdout)" CF_File 'CON'
|
|
|
|
echo
|
|
sed -n -e 's/^ *\"\(WM_[A-Z0-9]*\)\".*/\1/p' < misc/spy.c | \
|
|
sort | pr -ta4w83 | sed '1 i\
|
|
Here is the list of messages:\
|
|
\
|
|
' | $PAGER
|
|
|
|
prompt "Exclude which messages from the log" CF_Exclude 'WM_SIZE;WM_TIMER'
|
|
|
|
cat > $WINE_CONFIGFILE << EOF
|
|
[drives]
|
|
A=$CF_A
|
|
C=$CF_C
|
|
|
|
[wine]
|
|
Windows=$CF_Windows
|
|
System=$CF_System
|
|
Temp=$CF_Temp
|
|
Path=$CF_Path
|
|
SystemResources=$CF_SystemResources
|
|
|
|
[fonts]
|
|
system=*-helvetica
|
|
mssansserif=*-helvetica
|
|
msserif=*-times
|
|
fixedsys=*-fixed
|
|
arial=*-helvetica
|
|
helv=*-helvetica
|
|
roman=*-times
|
|
default=*-*
|
|
|
|
[serialports]
|
|
Com1=$CF_Com1
|
|
Com2=$CF_Com2
|
|
|
|
[parallelports]
|
|
Lpt1=$CF_Lpt1
|
|
|
|
[spy]
|
|
File=$CF_File
|
|
Exclude=$CF_Exclude
|
|
EOF
|
|
|
|
echo
|
|
sed '1 i\
|
|
The config file '"$WINE_CONFIGFILE"' now looks like this:\
|
|
\
|
|
' < $WINE_CONFIGFILE | $PAGER
|
|
|
|
echo
|
|
echo -n "Do you want to edit it using $EDITOR (Y/N) [N]? "
|
|
read input
|
|
if [ "$input" = 'y' -o "$input" = 'Y' ]
|
|
then
|
|
$EDITOR $WINE_CONFIGFILE
|
|
fi
|
|
else
|
|
if [ ! -r $WINE_CONFIGFILE ]
|
|
then
|
|
echo 'Ok, remember to make it yourself later.'
|
|
fi
|
|
fi
|
|
|
|
cat > autoconf.h << EOF
|
|
/* autoconf.h generated automatically. Run Configure. */
|
|
$WINELIB
|
|
$MALLOC_DEBUGGING
|
|
#define WINE_INI_GLOBAL "$WINE_CONFIGFILE"
|
|
#define AutoDefines $ALLDEFINES
|
|
EOF
|
|
|
|
echo
|
|
echo "Creating Makefiles. This may take a while."
|
|
if xmkmf -a
|
|
then :
|
|
else cat << EOF
|
|
|
|
WARNING: The exit status of the command 'xmkmf -a' indicates an error.
|
|
Maybe the Wine directory is incomplete, or Imake (see 'man xmkmf imake')
|
|
is incorrectly configured? In the latter case, it might be easiest to
|
|
reinstall X11 to get a new copy of Imake.
|
|
EOF
|
|
fi
|
|
|
|
if [ 0 -lt `find . -name "*.rej" -print | wc -l` ]
|
|
then
|
|
cat << EOF
|
|
|
|
WARNING: You have some files named '*.rej', which usually indicates
|
|
rejected patch files. Maybe you tried to upgrade Wine with 'patch',
|
|
and that some of the patches failed? If something doesn't work, this
|
|
might be the reason. See 'man patch' (especially the '-p' option).
|
|
|
|
List of "*.rej" files:
|
|
|
|
EOF
|
|
find . -name "*.rej" -print
|
|
fi
|
|
|
|
if [ -f ./Makefile ]
|
|
then
|
|
echo
|
|
echo "Configure finished. Do 'make' to compile Wine."
|
|
else
|
|
echo
|
|
echo "*** There was a problem with 'imake': the main Makefile has not be created."
|
|
fi
|