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'
109 prompt
"Log messages to which file (CON = stdout)" CF_File
'CON'
112 sed -n -e 's/^ *\"\(WM_[A-Z0-9]*\)\".*/\1/p' < misc
/spy.c | \
113 sort |
pr -ta4w83 |
sed '1 i\
114 Here is the list of messages:\
118 prompt
"Exclude which messages from the log" CF_Exclude
'WM_SIZE;WM_TIMER'
120 cat > $WINE_CONFIGFILE << EOF
130 SystemResources=$CF_SystemResources
134 mssansserif=*-helvetica
156 The config file '"$WINE_CONFIGFILE"' now looks like this:\
158 ' < $WINE_CONFIGFILE |
$PAGER
161 echo -n "Do you want to edit it using $EDITOR (Y/N) [N]? "
163 if [ "$input" = 'y' -o "$input" = 'Y' ]
165 $EDITOR $WINE_CONFIGFILE
168 if [ ! -r $WINE_CONFIGFILE ]
170 echo 'Ok, remember to make it yourself later.'
174 cat > autoconf.h
<< EOF
175 /* autoconf.h generated automatically. Run Configure. */
178 #define WINE_INI_GLOBAL "$WINE_CONFIGFILE"
179 #define AutoDefines $ALLDEFINES
183 echo "Creating Makefiles. This may take a while."
188 WARNING: The exit status of the command 'xmkmf -a' indicates an error.
189 Maybe the Wine directory is incomplete, or Imake (see 'man xmkmf imake')
190 is incorrectly configured? In the latter case, it might be easiest to
191 reinstall X11 to get a new copy of Imake.
195 if [ 0 -lt `find . -name "*.rej" -print | wc -l` ]
199 WARNING: You have some files named '*.rej', which usually indicates
200 rejected patch files. Maybe you tried to upgrade Wine with 'patch',
201 and that some of the patches failed? If something doesn't work, this
202 might be the reason. See 'man patch' (especially the '-p' option).
204 List of "*.rej" files:
207 find .
-name "*.rej" -print
213 echo "Configure finished. Do 'make' to compile Wine."
216 echo "*** There was a problem with 'imake': the main Makefile has not be created."