summaryrefslogtreecommitdiffstats
path: root/configure.bat
diff options
context:
space:
mode:
authorJoerg Bornemann <joerg.bornemann@qt.io>2020-12-17 21:44:21 +0100
committerJoerg Bornemann <joerg.bornemann@qt.io>2020-12-21 10:33:33 +0100
commit31396f0affa0464c5d504cea7632f775c4456780 (patch)
tree8284ec6bd43392a5790b0315aae86f14b8c08bb8 /configure.bat
parentec7eb1eab157ae84992ca20653f48394bb066340 (diff)
Remove qmake-related code from configure
This leaves a very simple script that delegates the heavy configure work to a CMake script. This also removes the Makefile templates that were used for bootstrapping qmake. Task-number: QTBUG-88742 Change-Id: Iab9c477e0bb611d680bda2cf8aaa7ad88356a8d1 Reviewed-by: Kai Koehne <kai.koehne@qt.io>
Diffstat (limited to 'configure.bat')
-rw-r--r--configure.bat204
1 files changed, 2 insertions, 202 deletions
diff --git a/configure.bat b/configure.bat
index ca106486a6..43ecea2bea 100644
--- a/configure.bat
+++ b/configure.bat
@@ -34,19 +34,6 @@ set QTSRC=%~dp0
set QTSRC=%QTSRC:~0,-1%
set QTDIR=%CD%
-rem Make sure qmake is not confused by these. Recursion via Makefiles would
-rem be still affected, so just unsetting them here is not an option.
-if not "%QMAKESPEC%" == "" goto envfail
-if not "%XQMAKESPEC%" == "" goto envfail
-if not "%QMAKEPATH%" == "" goto envfail
-if not "%QMAKEFEATURES%" == "" goto envfail
-goto envok
-:envfail
-echo >&2 Please make sure to unset the QMAKESPEC, XQMAKESPEC, QMAKEPATH,
-echo >&2 and QMAKEFEATURES environment variables prior to building Qt.
-exit /b 1
-:envok
-
rem Parse command line
set TOPLEVEL=false
@@ -88,15 +75,6 @@ goto doneargs
if /i "%~1" == "-redo" goto redo
if /i "%~1" == "--redo" goto redo
- if /i "%~1" == "-platform" goto platform
- if /i "%~1" == "--platform" goto platform
-
- if /i "%~1" == "-no-syncqt" goto nosyncqt
- if /i "%~1" == "--no-syncqt" goto nosyncqt
-
- if /i "%~1" == "-make-tool" goto maketool
- if /i "%~1" == "--make-tool" goto maketool
-
if /i "%~1" == "-cmake" goto cmake
if /i "%~1" == "--cmake" goto cmake
@@ -130,193 +108,15 @@ goto doneargs
echo No config.opt present - cannot redo configuration. >&2
exit /b 1
-:platform
- shift
- set PLATFORM=%~1
- if "%PLATFORM:~0,10%" == "win32-msvc" goto msvc
- goto nextarg
-:msvc
- echo. >&2
- echo Notice: re-mapping requested qmake spec to unified 'win32-msvc'. >&2
- echo. >&2
- set PLATFORM=win32-msvc
- goto nextarg
-
-:nosyncqt
- set SYNCQT=false
- goto nextarg
-
-:maketool
- shift
- set MAKE=%~1
- goto nextarg
-
:cmake
- set CMAKE=true
goto nextarg
:qmake
- set CMAKE=false
- goto nextarg
-
-:doneargs
-
-if "%CMAKE%" == "true" goto cmake
-
-echo ERROR: You cannot configure Qt 6 with qmake anymore. Please configure with -cmake instead. >&2
-exit /b 1
-
-rem Find various executables
-for %%C in (clang-cl.exe clang.exe cl.exe icl.exe g++.exe perl.exe jom.exe) do set %%C=%%~$PATH:C
-
-rem Determine host spec
-
-if "%PLATFORM%" == "" (
- if not "%icl.exe%" == "" (
- set PLATFORM=win32-icc
- ) else if not "%cl.exe%" == "" (
- set PLATFORM=win32-msvc
- ) else if not "%clang-cl.exe%" == "" (
- set PLATFORM=win32-clang-msvc
- ) else if not "%clang.exe%" == "" (
- set PLATFORM=win32-clang-g++
- ) else if not "%g++.exe%" == "" (
- set PLATFORM=win32-g++
- ) else (
- echo Cannot detect host toolchain. Please use -platform. Aborting. >&2
- exit /b 1
- )
-)
-if not exist "%QTSRC%\mkspecs\%PLATFORM%\qmake.conf" (
- echo Host platform '%PLATFORM%' is invalid. Aborting. >&2
+ echo ERROR: You cannot configure Qt 6 with qmake anymore. >&2
exit /b 1
-)
-if "%PLATFORM:g++=%" == "%PLATFORM%" (
- if "%MAKE%" == "" (
- if not "%jom.exe%" == "" (
- set MAKE=jom
- ) else (
- set MAKE=nmake
- )
- )
- set tmpl=win32
-) else (
- if "%MAKE%" == "" (
- set MAKE=mingw32-make
- )
- set tmpl=unix
-)
-rem Prepare build dir
-
-if not exist mkspecs (
- md mkspecs
- if errorlevel 1 exit /b
-)
-if not exist bin (
- md bin
- if errorlevel 1 exit /b
-)
-if not exist qmake (
- md qmake
- if errorlevel 1 exit /b
-)
-
-rem Extract Qt's version from .qmake.conf
-for /f "eol=# tokens=1,2,3,4 delims=.= " %%i in (%QTSRC%\.qmake.conf) do (
- if %%i == MODULE_VERSION (
- set QTVERMAJ=%%j
- set QTVERMIN=%%k
- set QTVERPAT=%%l
- )
-)
-set QTVERSION=%QTVERMAJ%.%QTVERMIN%.%QTVERPAT%
-
-rem Create forwarding headers
-
-if "%SYNCQT%" == "" (
- if exist "%QTSRC%\.git" (
- set SYNCQT=true
- ) else (
- set SYNCQT=false
- )
-)
-if "%SYNCQT%" == "true" (
- if not "%perl.exe%" == "" (
- echo Running syncqt ...
- "%perl.exe%" -w "%QTSRC%\bin\syncqt.pl" -minimal -version %QTVERSION% -module QtCore -outdir "%QTDIR%" %QTSRC%
- if errorlevel 1 exit /b
- ) else (
- echo Perl not found in PATH. Aborting. >&2
- exit /b 1
- )
-)
-
-rem Build qmake
-
-echo Bootstrapping qmake ...
-
-cd qmake
-if errorlevel 1 exit /b
-
-echo #### Generated by configure.bat - DO NOT EDIT! ####> Makefile
-echo/>> Makefile
-echo BUILD_PATH = ..>> Makefile
-if "%tmpl%" == "win32" (
- echo SOURCE_PATH = %QTSRC%>> Makefile
-) else (
- echo SOURCE_PATH = %QTSRC:\=/%>> Makefile
-)
-if exist "%QTSRC%\.git" (
- echo INC_PATH = ../include>> Makefile
-) else (
- echo INC_PATH = $^(SOURCE_PATH^)/include>> Makefile
-)
-echo QT_VERSION = %QTVERSION%>> Makefile
-rem These must have trailing spaces to avoid misinterpretation as 5>>, etc.
-echo QT_MAJOR_VERSION = %QTVERMAJ% >> Makefile
-echo QT_MINOR_VERSION = %QTVERMIN% >> Makefile
-echo QT_PATCH_VERSION = %QTVERPAT% >> Makefile
-if "%tmpl%" == "win32" (
- echo QMAKESPEC = %PLATFORM%>> Makefile
-) else (
- echo QMAKESPEC = $^(SOURCE_PATH^)/mkspecs/%PLATFORM%>> Makefile
- echo CONFIG_CXXFLAGS = -std=c++17 -ffunction-sections>> Makefile
- echo CONFIG_LFLAGS = -Wl,--gc-sections>> Makefile
- type "%QTSRC%\qmake\Makefile.unix.win32" >> Makefile
- type "%QTSRC%\qmake\Makefile.unix.mingw" >> Makefile
-)
-echo/>> Makefile
-type "%QTSRC%\qmake\Makefile.%tmpl%" >> Makefile
-
-%MAKE%
-if errorlevel 1 (cd .. & exit /b 1)
-
-cd ..
-
-rem Generate qt.conf
-
-> "%QTDIR%\bin\qt.conf" (
- @echo [EffectivePaths]
- @echo Prefix=..
- @echo [Paths]
- @echo TargetSpec=dummy
- @echo HostSpec=%PLATFORM%
-)
-if not "%QTDIR%" == "%QTSRC%" (
- >> "%QTDIR%\bin\qt.conf" (
- @echo [EffectiveSourcePaths]
- @echo Prefix=%QTSRC:\=/%
- )
-)
-
-rem Launch qmake-based configure
-
-cd "%TOPQTDIR%"
-"%QTDIR%\bin\qmake.exe" "%TOPQTSRC%" -- %ARGS%
-goto :eof
+:doneargs
-:cmake
cd "%TOPQTDIR%"
rem Write config.opt if we're not currently -redo'ing