summaryrefslogtreecommitdiffstats
path: root/configure.bat
diff options
context:
space:
mode:
authorOswald Buddenhagen <oswald.buddenhagen@nokia.com>2012-02-08 11:38:07 +0100
committerQt by Nokia <qt-info@nokia.com>2012-02-16 01:56:21 +0100
commit90feedb6429df225b81bc279093ae1ca1278b391 (patch)
tree2c32dac7253634c69074480e6733939e678af067 /configure.bat
parent18965b1384cb3f85dc9e2d9c961c343331e8bd47 (diff)
bootstrap configure.exe on windows
it is *ugly* to have the binary in the repository. this adds a few seconds to the windows build, as the configure needs to be rebuilt, obviously. that's almost negligible. Change-Id: I40ffde23b3c3af2b6bab3e78cd0a9f433214b563 Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
Diffstat (limited to 'configure.bat')
-rw-r--r--configure.bat121
1 files changed, 121 insertions, 0 deletions
diff --git a/configure.bat b/configure.bat
new file mode 100644
index 0000000000..e872de2797
--- /dev/null
+++ b/configure.bat
@@ -0,0 +1,121 @@
+:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
+::
+:: Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
+:: Contact: http://www.qt-project.org/
+::
+:: This file is part of the tools applications of the Qt Toolkit.
+::
+:: $QT_BEGIN_LICENSE:LGPL$
+:: GNU Lesser General Public License Usage
+:: This file may be used under the terms of the GNU Lesser General Public
+:: License version 2.1 as published by the Free Software Foundation and
+:: appearing in the file LICENSE.LGPL included in the packaging of this
+:: file. Please review the following information to ensure the GNU Lesser
+:: General Public License version 2.1 requirements will be met:
+:: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+::
+:: In addition, as a special exception, Nokia gives you certain additional
+:: rights. These rights are described in the Nokia Qt LGPL Exception
+:: version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+::
+:: GNU General Public License Usage
+:: Alternatively, this file may be used under the terms of the GNU General
+:: Public License version 3.0 as published by the Free Software Foundation
+:: and appearing in the file LICENSE.GPL included in the packaging of this
+:: file. Please review the following information to ensure the GNU General
+:: Public License version 3.0 requirements will be met:
+:: http://www.gnu.org/copyleft/gpl.html.
+::
+:: Other Usage
+:: Alternatively, this file may be used in accordance with the terms and
+:: conditions contained in a signed written agreement between you and Nokia.
+::
+::
+::
+::
+::
+::
+:: $QT_END_LICENSE$
+::
+:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
+
+@echo off
+set QTSRC=%~dp0
+set QTDIR=%CD%
+if exist configure.exe goto conf
+echo Please wait while bootstrapping configure ...
+
+for %%C in (cl.exe icl.exe g++.exe perl.exe) do set %%C=%%~$PATH:C
+
+set nosyncqt=
+if not exist include (
+ if "%perl.exe%" == "" (
+ echo Perl not found in PATH. Aborting. >&2
+ exit /b 1
+ )
+ if not exist mkspecs (
+ md mkspecs
+ if errorlevel 1 goto exit
+ )
+ perl %QTSRC%bin\syncqt -outdir %QTDIR% %QTSRC%
+ if errorlevel 1 goto exit
+ set nosyncqt=-no-syncqt
+)
+
+if not exist src\corelib\global\qconfig.h (
+ if not exist src\corelib\global (
+ md src\corelib\global
+ if errorlevel 1 goto exit
+ )
+ echo #define Q_BIG_ENDIAN 4321 > src\corelib\global\qconfig.h
+ echo #define Q_LITTLE_ENDIAN 1234 >> src\corelib\global\qconfig.h
+ echo #define Q_BYTE_ORDER Q_LITTLE_ENDIAN >> src\corelib\global\qconfig.h
+)
+
+if not exist tools\configure (
+ md tools\configure
+ if errorlevel 1 goto exit
+)
+cd tools\configure
+if errorlevel 1 goto exit
+
+echo #### Generated by configure.bat - DO NOT EDIT! ####> Makefile
+echo/>> Makefile
+for /f "tokens=3 usebackq" %%V in (`findstr QT_VERSION_STR %QTSRC%\src\corelib\global\qglobal.h`) do @echo QTVERSION = %%~V>> Makefile
+if not "%cl.exe%" == "" (
+ echo CXX = cl>>Makefile
+ echo EXTRA_CXXFLAGS =>>Makefile
+ rem This must have a trailing space.
+ echo QTSRC = %QTSRC% >> Makefile
+ set tmpl=win32
+ set make=nmake
+) else if not "%icl.exe%" == "" (
+ echo CXX = icl>>Makefile
+ echo EXTRA_CXXFLAGS = /Zc:forScope>>Makefile
+ rem This must have a trailing space.
+ echo QTSRC = %QTSRC% >> Makefile
+ set tmpl=win32
+ set make=nmake
+) else if not "%g++.exe%" == "" (
+ echo CXX = g++>>Makefile
+ echo EXTRA_CXXFLAGS =>>Makefile
+ rem This must NOT have a trailing space.
+ echo QTSRC = %QTSRC:\=/%>> Makefile
+ set tmpl=mingw
+ set make=mingw32-make
+) else (
+ echo No suitable compiler found in PATH. Aborting. >&2
+ cd ..\..
+ exit /b 1
+)
+echo/>> Makefile
+type %QTSRC%tools\configure\Makefile.%tmpl% >> Makefile
+
+%make%
+if errorlevel 1 (cd ..\.. & exit /b 1)
+
+cd ..\..
+
+:conf
+configure.exe -srcdir %QTSRC% %nosyncqt% %*
+:exit