3 # Configure script for wine
12 # Ask question 'str' and set 'var' to reply (defaulting to 'def' on CR)
21 echo -n "$str [$def]? "
22 input=`head -1` # When using read, user must double all backslashes
30 echo Read the RELEASE-NOTES for an explanation of the various flags
33 echo -n 'Build Wine as emulator or library (E/L) [E]? '
35 if [ "$input" = 'l' -o "$input" = 'L' ]
37 WINELIB='#define WINELIB -DWINELIB'
38 ALLDEFINES="$ALLDEFINES -DWINELIB"
41 LANGS=`echo En rc/sysres_*.rc | sed -e 's/rc\/sysres_//g' -e 's/\.rc//g' -e 's/ /\//g;'`
42 while expr "$LANGS" : ".*$LANGUAGE" = 0 > /dev/null
44 prompt "Language ($LANGS)" LANGUAGE En
45 if expr "$LANGS" : ".*$LANGUAGE" = 0 > /dev/null
47 echo "\"$LANGUAGE\" is not a supported language."
50 ALLDEFINES="$ALLDEFINES -ALANG\($LANGUAGE\)"
52 prompt "Malloc debugging" MALLOC_DEBUGGING N
53 if [ MALLOC_DEBUGGING = 'Y' -o $MALLOC_DEBUGGING = 'y' ]
55 MALLOC_DEBUGGING="#define MALLOC_DEBUGGING"
56 ALLDEFINES="$ALLDEFINES -DMALLOC_DEBUGGING"
61 prompt "Global configfile name" WINE_CONFIGFILE /usr/local/etc/wine.conf
63 if [ -r $WINE_CONFIGFILE ]
71 echo -n "Do you want to make a config file now (Y/N) [$DEFAULT_ANS]? "
77 if [ "$input" = 'y' -o "$input" = 'Y' ]
79 if [ -r $WINE_CONFIGFILE ]
81 echo "Backing up the old file to ${WINE_CONFIGFILE}.old."
82 if cp $WINE_CONFIGFILE ${WINE_CONFIGFILE}.old
85 echo "Error while creating backup file. Fix it and run Configure again"
90 CF_A=`mount | awk '/^\/dev\/fd/ {print $3;exit} END {print "/a"}'`
91 prompt "Which directory do you want to use as A:" CF_A $CF_A
92 CF_C=`awk '{if ($3=="msdos") {print $2;exit}} END {print "/c"}' /etc/fstab`
93 prompt "Which directory do you want to use as C:" CF_C $CF_C
94 prompt "Where is the Windows directory" CF_Windows 'c:\windows'
95 prompt "Where is the System directory" CF_System 'c:\windows\system'
96 if [ -r "$CF_C/autoexec.bat" ]
98 CF_Temp=`tr A-Z a-z < "$CF_C/autoexec.batX" | sed -n 's/^ *set *temp= *\(c:.*[a-z]\).*/\1/p'`
104 prompt "Where should Windows apps store temp files" CF_Temp $CF_Temp
105 prompt "Which path should be used to find progs/DLL's" CF_Path "$CF_Windows;$CF_System"
106 prompt "Where is COM1" CF_Com1 '/dev/cua0'
107 prompt "Where is COM2" CF_Com2 '/dev/cua1'
108 prompt "Where is LPT1" CF_Lpt1 '/dev/lp0'
111 sed -n -e 's/^ *\"\(WM_[A-Z0-9]*\)\".*/\1/p' < misc/spy.c | \
112 sort | pr -ta4w83 | sed '1 i\
113 Here is the list of messages:\
117 prompt "Exclude which messages from the log" CF_Exclude 'WM_SIZE;WM_TIMER'
119 cat > $WINE_CONFIGFILE << EOF
129 SystemResources=$CF_SystemResources
133 mssansserif=*-helvetica
154 The config file '"$WINE_CONFIGFILE"' now looks like this:\
156 ' < $WINE_CONFIGFILE | $PAGER
159 echo -n "Do you want to edit it using $EDITOR (Y/N) [N]? "
161 if [ "$input" = 'y' -o "$input" = 'Y' ]
163 $EDITOR $WINE_CONFIGFILE
166 if [ ! -r $WINE_CONFIGFILE ]
168 echo 'Ok, remember to make it yourself later.'
172 cat > autoconf.h << EOF
173 /* autoconf.h generated automatically. Run Configure. */
176 #define WINE_INI_GLOBAL "$WINE_CONFIGFILE"
177 #define AutoDefines $ALLDEFINES
181 echo "Creating Makefiles. This may take a while."
186 WARNING: The exit status of the command 'xmkmf -a' indicates an error.
187 Maybe the Wine directory is incomplete, or Imake (see 'man xmkmf imake')
188 is incorrectly configured? In the latter case, it might be easiest to
189 reinstall X11 to get a new copy of Imake.
193 if [ 0 -lt `find . -name "*.rej" -print | wc -l` ]
197 WARNING: You have some files named '*.rej', which usually indicates
198 rejected patch files. Maybe you tried to upgrade Wine with 'patch',
199 and that some of the patches failed? If something doesn't work, this
200 might be the reason. See 'man patch' (especially the '-p' option).
202 List of "*.rej" files:
205 find . -name "*.rej" -print
211 echo "Configure finished. Do 'make' to compile Wine."
214 echo "*** There was a problem with 'imake': the main Makefile has not be created."