Ok, the long awaited config wizard is here (at least in a very basic state). There...
[quassel.git] / src / contrib / libqxt-2007-10-24 / configure.bat
1 @ECHO off\r
2 SET QMAKE=qmake\r
3 SET MAKE=nmake\r
4 SET PROJECT_ROOT=%CD%\r
5 SET TESTDIR=%PROJECT_ROOT%\config.tests\r
6 SET CONFIG_LOG=config.log\r
7 SET LAST_FUNC_RET=0\r
8 \r
9 if exist %PROJECT_ROOT%\config.in   del %PROJECT_ROOT%\config.in\r
10 if exist %PROJECT_ROOT%\config.log  del %PROJECT_ROOT%\config.log\r
11 if exist %PROJECT_ROOT%\depends.pri del %PROJECT_ROOT%\depends.pri\r
12 \r
13 echo #depends.pri > %PROJECT_ROOT%\depends.pri\r
14     \r
15 shift\r
16 set QMAKEBIN=qmake\r
17 set MSVCMODE=\r
18 set OPENSSL=1\r
19 set FCGI=1\r
20 echo include(depends.pri) > %PROJECT_ROOT%\config.in\r
21 echo QXT_stability += unknown >> %PROJECT_ROOT%\config.in\r
22 \r
23 :top\r
24 if "%0" == ""            goto finish\r
25 if "%0" == "-qmake-bin"  goto setqmake\r
26 if "%0" == "-I"          goto addinclude \r
27 if "%0" == "-L"          goto addlibpath\r
28 if "%0" == "-l"          goto addlib\r
29 if "%0" == "-nomake"     goto nomake\r
30 if "%0" == "-prefix"     goto prefix\r
31 if "%0" == "-libdir"     goto libdir \r
32 if "%0" == "-docdir"     goto docdir\r
33 if "%0" == "-headerdir"  goto headerdir\r
34 if "%0" == "-bindir"     goto bindir\r
35 if "%0" == "-static"     goto static\r
36 if "%0" == "-debug"      goto debug\r
37 if "%0" == "-release"    goto release\r
38 if "%0" == "-no-openssl" goto noopenssl\r
39 if "%0" == "-msvc"       goto msvc\r
40 if "%0" == "/help"       goto help\r
41 if "%0" == "-help"       goto help\r
42 if "%0" == "--help"      goto help\r
43 if "%0" == "/?"          goto help\r
44 \r
45 echo Unrecognized configure option: %0\r
46 del %PROJECT_ROOT%\config.in\r
47 goto end\r
48 \r
49 :setqmake\r
50 set QMAKEBIN=%1\r
51 goto bottom2\r
52 \r
53 :addinclude\r
54 echo INCLUDEPATH += "%1" >> %PROJECT_ROOT%\depends.pri\r
55 goto bottom2    \r
56 \r
57 :addlibpath\r
58 echo LIBS += -L"%1" >> %PROJECT_ROOT%\depends.pri\r
59 goto bottom2\r
60 \r
61 :addlib\r
62 echo LIBS += -l"%1" >> %PROJECT_ROOT%\depends.pri\r
63 goto bottom2\r
64 \r
65 :nomake\r
66 if "%1"=="fcgi" set FCGI=0\r
67 echo QXT_BUILD -= %1 >> %PROJECT_ROOT%\config.in\r
68 goto bottom2\r
69 \r
70 :prefix\r
71 echo QXTINSTALLDIR = %1 >> %PROJECT_ROOT%\config.in\r
72 goto bottom2\r
73 \r
74 :libdir\r
75 echo target.path = %1 >> %PROJECT_ROOT%\config.in\r
76 goto bottom2\r
77 \r
78 :docdir\r
79 echo docs.path = %1 >> %PROJECT_ROOT%\config.in\r
80 goto bottom2\r
81 \r
82 :headerdir\r
83 echo include.path = %1 >> %PROJECT_ROOT%\config.in\r
84 goto bottom2\r
85 \r
86 :bindir\r
87 echo bin.path = %1 >> %PROJECT_ROOT%\config.in\r
88 goto bottom2\r
89 \r
90 :static\r
91 echo CONFIG += static staticlib >> %PROJECT_ROOT%\config.in\r
92 goto bottom    \r
93 \r
94 :debug\r
95 echo CONFIG += debug >> %PROJECT_ROOT%\config.in\r
96 goto bottom\r
97 \r
98 :release\r
99 echo CONFIG += release >> %PROJECT_ROOT%\config.in\r
100 goto bottom\r
101 \r
102 :noopenssl\r
103 set OPENSSL=0\r
104 echo QXT_LIBS -= openssl >> %PROJECT_ROOT%\config.in\r
105 goto bottom\r
106 \r
107 :msvc\r
108 set MSVCMODE=-tp vc\r
109 goto bottom\r
110 \r
111 :bottom2\r
112     shift\r
113 :bottom\r
114     shift\r
115 goto top\r
116     \r
117 :help\r
118     echo Usage: configure [-prefix (dir)] [-libdir (dir)] [-docdir (dir)]\r
119     echo        [-bindir (dir)] [-headerdir (dir)] [-qmake-bin (path)]\r
120     echo        [-static] [-debug] [-release] [-no-stability-unknown]\r
121     echo        [-no-openssl] [-nomake (module)] [-msvc]\r
122     echo.\r
123     echo Installation options:\r
124     echo.\r
125     echo -prefix (dir) ....... This will install everything relative to (dir)\r
126     echo                       default: C:\libqxt\r
127     echo -libdir (dir) ....... Libraries will be installed to (dir)\r
128     echo                       default: PREFIX/lib\r
129     echo -docdir (dir) ....... Documentation will be installed to (dir)\r
130     echo                       default: PREFIX/share/doc\r
131     echo -bindir (dir) ....... Executables will be installed to (dir)\r
132     echo                       default: PREFIX/bin\r
133     echo -headerdir (dir) .... Include files will be installed to (dir)\r
134     echo                       default: PREFIX/include\r
135     echo -qmake-bin (path) ... Specifies the path to the qmake executable\r
136     echo                       default: search the system path\r
137     echo -L (path)............ Specifies the a additional library search path\r
138     echo -I (path)............ Specifies the a additional include search path\r
139     echo -l (path)............ Add a custom library\r
140     echo -static ............. Compile Qxt as a static library\r
141     echo -debug .............. Build Qxt with debugging symbols\r
142     echo -release ............ Build Qxt without debugging support\r
143     echo -no-openssl ......... Do not link to OpenSSL\r
144     echo -nomake (module) .... Do not compile the specified module\r
145     echo                       options: network gui sql media web designer\r
146     echo -msvc ............... Configure Qxt to use Microsoft Visual Studio\r
147 \r
148     del %PROJECT_ROOT%\config.in\r
149     goto end\r
150 \r
151 :finish\r
152 echo    Testing for qmake...\r
153 qmake -v >> %PROJECT_ROOT%\%CONFIG_LOG%\r
154 if errorlevel 1 goto qmakeERR\r
155 goto qmakeOK\r
156 :qmakeERR\r
157 echo    You don't seem to have 'qmake' in your PATH.\r
158 echo    Cannot proceed.\r
159 goto end\r
160 \r
161 :qmakeOK\r
162 if "%QMAKESPEC%" == "win32-msvc"     goto testnmake\r
163 if "%QMAKESPEC%" == "win32-msvc.net" goto testnmake\r
164 if "%QMAKESPEC%" == "win32-msvc2005" goto testnmake\r
165 \r
166 :testmingw\r
167 echo    Testing for mingw32-make...\r
168 call mingw32-make -v >> %PROJECT_ROOT%\%CONFIG_LOG%\r
169 if errorlevel 1 goto testnmake\r
170 echo        Using mingw32-make. \r
171 SET MAKE=mingw32-make\r
172 GOTO detectTools_end_test_make     \r
173 \r
174 :testnmake\r
175 if "%QMAKESPEC%" == "win32-g++"     goto testgmake\r
176 echo    Testing for nmake...\r
177 call nmake /? >> %PROJECT_ROOT%\%CONFIG_LOG%\r
178 if errorlevel 1 goto testgmake\r
179 echo        Using nmake.\r
180 SET MAKE=nmake\r
181 GOTO detectTools_end_test_make\r
182 \r
183 :testgmake\r
184 echo    Testing for GNU make...\r
185 call make -v >> %PROJECT_ROOT%\%CONFIG_LOG%\r
186 if errorlevel 1 goto missingmake\r
187 echo        Using GNU make.\r
188 SET MAKE=make\r
189 GOTO detectTools_end_test_make\r
190  \r
191 :missingmake\r
192 echo    You don't seem to have 'mingw32-make', 'nmake' or 'make' in your PATH. \r
193 echo    Cannot proceed.\r
194 goto end\r
195 \r
196 :detectTools_end_test_make\r
197 if "%OPENSSL%"=="0" goto detectfcgi\r
198 echo    Testing for OpenSSL... \r
199 echo OpenSSL... >> %PROJECT_ROOT%\%CONFIG_LOG%\r
200 cd %TESTDIR%\openssl\r
201 %QMAKE% >> %PROJECT_ROOT%\%CONFIG_LOG%\r
202 if errorlevel 1 goto opensslfailed\r
203 call %MAKE% clean >> %PROJECT_ROOT%\%CONFIG_LOG%\r
204 call %MAKE% >> %PROJECT_ROOT%\%CONFIG_LOG%\r
205 if errorlevel 1 goto opensslfailed\r
206 set OPENSSL=1\r
207 goto detectfcgi\r
208 \r
209 :opensslfailed\r
210 set OPENSSL=0\r
211 echo QXT_LIBS -= openssl >> %PROJECT_ROOT%\config.in\r
212 \r
213 :detectfcgi\r
214 if "%FCGI%"=="0" goto skipfcgitest\r
215 echo    Testing for FastCGI...\r
216 echo fcgi... >> %PROJECT_ROOT%\%CONFIG_LOG%\r
217 cd %TESTDIR%\fcgi\r
218 %QMAKE% >> %PROJECT_ROOT%\%CONFIG_LOG%\r
219 if errorlevel 1 goto fcgifailed\r
220 call %MAKE% clean >> %PROJECT_ROOT%\%CONFIG_LOG%\r
221 call %MAKE% >> %PROJECT_ROOT%\%CONFIG_LOG%\r
222 if errorlevel 1 goto fcgifailed\r
223 set FCGI=1\r
224 goto alltestsok\r
225 \r
226 :fcgifailed\r
227 set FCGI=0\r
228 echo QXT_BUILD -= fcgi >> %PROJECT_ROOT%\config.in\r
229 \r
230 :skipfcgitest\r
231 :alltestsok\r
232 cd %PROJECT_ROOT%\r
233 \r
234 echo    Configuration successful.\r
235 if "%OPENSSL%"=="1" echo        OpenSSL enabled.\r
236 if "%OPENSSL%"=="0" echo        OpenSSL disabled.\r
237 if "%FCGI%"=="1"    echo        FastCGI enabled.\r
238 if "%FCGI%"=="0"    echo        FastCGI disabled.\r
239 echo    Generating makefiles...\r
240 copy %PROJECT_ROOT%\config.pri %PROJECT_ROOT%\config.pri.bak >> %PROJECT_ROOT%\%CONFIG_LOG%\r
241 copy %PROJECT_ROOT%\config.in %PROJECT_ROOT%\config.pri >> %PROJECT_ROOT%\%CONFIG_LOG%\r
242 del %PROJECT_ROOT%\config.in >> %PROJECT_ROOT%\%CONFIG_LOG%\r
243 %QMAKE% %MSVCMODE% -recursive\r
244 if errorlevel 1 goto mainqmakeERR\r
245 \r
246 echo    Makefiles generated. Run %MAKE% now.\r
247 goto end\r
248 \r
249 :mainqmakeERR\r
250 echo    Error running qmake. Cannot proceed.\r
251 goto end\r
252 \r
253 :end \r