23d2312506
Reading of Cbor streams is substantially more complicated than writing as it requires float16 support. When writing Cbor, we can just choose to always write 32bit floats, even if we could compress the numbers into 16 bits. We need Cbor writing in the bootstrap library, but we cannot easily add float16 support. Furthermore, Cbor reading is required for plugin support, but not Cbor writing. It might make sense for some users to build a custom Qt with Cbor writing disabled. Therefore, provide two features, cborstreamreader and cborstreamwriter, split up the code in cborstream.{h|cpp} into several files, and enable Cbor writing in the bootstrap library. Change-Id: I15450afb0e328a84a22ebca9379cffc4f900a75a Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
221 lines
6.1 KiB
Makefile
221 lines
6.1 KiB
Makefile
!if "$(SOURCE_PATH)" == ""
|
|
SOURCE_PATH = ..
|
|
!endif
|
|
!if "$(BUILD_PATH)" == ""
|
|
BUILD_PATH = ..
|
|
!endif
|
|
|
|
QMKSRC = $(SOURCE_PATH)\qmake
|
|
|
|
#
|
|
# per-compiler options
|
|
#
|
|
!if "$(QMAKESPEC)" == "win32-icc"
|
|
CXX = icl
|
|
LINKER = xilink
|
|
CFLAGS_EXTRA = /Zc:forScope /Qstd=c++11
|
|
!elseif "$(QMAKESPEC)" == "win32-clang-msvc"
|
|
CXX = clang-cl
|
|
LINKER = lld-link
|
|
CFLAGS_EXTRA = -fms-compatibility-version=19.00.23506 -Wno-microsoft-enum-value
|
|
!else
|
|
CXX = cl
|
|
LINKER = link
|
|
CFLAGS_EXTRA = /MP /wd4577 $(CFLAGS_CRT)
|
|
!endif # !win32-icc
|
|
|
|
CFLAGS_PCH = -Yuqmake_pch.h -FIqmake_pch.h -Fpqmake_pch.pch
|
|
PCH_OBJECT = qmake_pch.obj
|
|
|
|
CFLAGS_BARE = -c -Fo./ -Fdqmake.pdb \
|
|
-W2 -nologo -O2 \
|
|
$(CFLAGS_EXTRA) \
|
|
-I$(QMKSRC) -I$(QMKSRC)\library -I$(QMKSRC)\generators -I$(QMKSRC)\generators\unix -I$(QMKSRC)\generators\win32 -I$(QMKSRC)\generators\mac \
|
|
-I$(SOURCE_PATH)/src/3rdparty/tinycbor/src \
|
|
-I$(INC_PATH) -I$(INC_PATH)\QtCore -I$(INC_PATH)\QtCore\$(QT_VERSION) -I$(INC_PATH)\QtCore\$(QT_VERSION)\QtCore \
|
|
-I$(BUILD_PATH)\src\corelib\global \
|
|
-I$(SOURCE_PATH)\mkspecs\$(QMAKESPEC) \
|
|
-D_CRT_SECURE_NO_WARNINGS -D_SCL_SECURE_NO_WARNINGS \
|
|
-DQT_VERSION_STR=\"$(QT_VERSION)\" -DQT_VERSION_MAJOR=$(QT_MAJOR_VERSION) -DQT_VERSION_MINOR=$(QT_MINOR_VERSION) -DQT_VERSION_PATCH=$(QT_PATCH_VERSION) \
|
|
-DQT_BUILD_QMAKE -DQT_BOOTSTRAPPED -DPROEVALUATOR_FULL \
|
|
-DQT_NO_FOREACH -DUNICODE -D_ENABLE_EXTENDED_ALIGNED_STORAGE
|
|
CFLAGS = $(CFLAGS_PCH) $(CFLAGS_BARE) $(CFLAGS)
|
|
|
|
CXXFLAGS_BARE = $(CFLAGS_BARE)
|
|
CXXFLAGS = $(CFLAGS)
|
|
|
|
LFLAGS =
|
|
LIBS = ole32.lib advapi32.lib shell32.lib netapi32.lib
|
|
ADDCLEAN = qmake.pdb qmake.ilk
|
|
|
|
#qmake code
|
|
OBJS = project.obj main.obj ioutils.obj proitems.obj qmakevfs.obj \
|
|
qmakeglobals.obj qmakeparser.obj qmakeevaluator.obj qmakebuiltins.obj \
|
|
makefile.obj unixmake.obj unixmake2.obj mingw_make.obj \
|
|
option.obj winmakefile.obj projectgenerator.obj property.obj meta.obj \
|
|
makefiledeps.obj metamakefile.obj xmloutput.obj \
|
|
msvc_nmake.obj msvc_vcproj.obj msvc_vcxproj.obj \
|
|
msvc_objectmodel.obj msbuild_objectmodel.obj registry.obj
|
|
|
|
#qt code
|
|
QTOBJS= \
|
|
qbitarray.obj \
|
|
qbuffer.obj \
|
|
qcryptographichash.obj \
|
|
qfilesystementry.obj \
|
|
qfilesystemengine.obj \
|
|
qfilesystemengine_win.obj \
|
|
qfilesystemiterator_win.obj \
|
|
qfsfileengine.obj \
|
|
qfsfileengine_iterator.obj \
|
|
qarraydata.obj \
|
|
qbytearray.obj \
|
|
qbytearraylist.obj \
|
|
qvsnprintf.obj \
|
|
qbytearraymatcher.obj \
|
|
qcalendar.obj \
|
|
qdatetime.obj \
|
|
qdir.obj \
|
|
qdiriterator.obj \
|
|
qfiledevice.obj \
|
|
qfile.obj \
|
|
qtemporaryfile.obj \
|
|
qabstractfileengine.obj \
|
|
qfsfileengine_win.obj \
|
|
qsystemlibrary.obj \
|
|
qfileinfo.obj \
|
|
qendian.obj \
|
|
qglobal.obj \
|
|
qgregoriancalendar.obj \
|
|
qhash.obj \
|
|
qiodevice.obj \
|
|
qringbuffer.obj \
|
|
qdebug.obj \
|
|
qlist.obj \
|
|
qlocale.obj \
|
|
qlocale_tools.obj \
|
|
qlocale_win.obj \
|
|
qversionnumber.obj \
|
|
qmalloc.obj \
|
|
qmap.obj \
|
|
qoperatingsystemversion.obj \
|
|
qoperatingsystemversion_win.obj \
|
|
qregexp.obj \
|
|
qromancalendar.obj \
|
|
qutfcodec.obj \
|
|
qstring.obj \
|
|
qstringlist.obj \
|
|
qstringbuilder.obj \
|
|
qsystemerror.obj \
|
|
qtextstream.obj \
|
|
qdatastream.obj \
|
|
quuid.obj \
|
|
qrandom.obj \
|
|
qsettings.obj \
|
|
qvariant.obj \
|
|
qsettings_win.obj \
|
|
qmetatype.obj \
|
|
qxmlstream.obj \
|
|
qxmlutils.obj \
|
|
qnumeric.obj \
|
|
qlogging.obj \
|
|
qcborstreamwriter.obj \
|
|
qcborvalue.obj \
|
|
qjsoncbor.obj \
|
|
qjsondocument.obj \
|
|
qjsonparser.obj \
|
|
qjsonarray.obj \
|
|
qjsonobject.obj \
|
|
qjsonvalue.obj
|
|
|
|
first all: $(BUILD_PATH)\bin\qmake.exe
|
|
binary: $(BUILD_PATH)\qmake\qmake.exe
|
|
|
|
$(BUILD_PATH)\bin\qmake.exe: $(OBJS) $(QTOBJS) qlibraryinfo.obj
|
|
$(LINKER) $(LFLAGS) /OUT:$(BUILD_PATH)\bin\qmake.exe $(OBJS) $(QTOBJS) qlibraryinfo.obj $(PCH_OBJECT) $(LIBS)
|
|
|
|
$(BUILD_PATH)\qmake\qmake.exe: $(OBJS) $(QTOBJS) qlibraryinfo_final.obj
|
|
$(LINKER) $(LFLAGS) /OUT:$(BUILD_PATH)\qmake\qmake.exe $(OBJS) $(QTOBJS) qlibraryinfo_final.obj $(PCH_OBJECT) $(LIBS)
|
|
|
|
clean::
|
|
-del $(QTOBJS) qlibraryinfo.obj qlibraryinfo_final.obj
|
|
-del $(OBJS)
|
|
-del qmake_pch.obj
|
|
-del qmake_pch.pch
|
|
-del qmake.pdb
|
|
-del qmake.ilk
|
|
-del qmake.tds
|
|
|
|
distclean:: clean
|
|
-del $(BUILD_PATH)\bin\qmake.exe
|
|
-del $(BUILD_PATH)\qmake\qmake.exe
|
|
-del Makefile
|
|
|
|
.cpp.obj:
|
|
$(CXX) $(CXXFLAGS) $<
|
|
|
|
$(OBJS): $(PCH_OBJECT)
|
|
|
|
$(QTOBJS): $(PCH_OBJECT)
|
|
|
|
qlibraryinfo.obj: $(PCH_OBJECT)
|
|
qlibraryinfo_final.obj: $(PCH_OBJECT)
|
|
|
|
qmake_pch.obj:
|
|
$(CXX) $(CXXFLAGS_BARE) -c -Yc -Fpqmake_pch.pch -TP $(QMKSRC)\qmake_pch.h
|
|
|
|
{$(SOURCE_PATH)\qmake\library}.cpp{}.obj::
|
|
$(CXX) $(CXXFLAGS) $<
|
|
|
|
{$(SOURCE_PATH)\qmake\generators\mac}.cpp{}.obj::
|
|
$(CXX) $(CXXFLAGS) $<
|
|
|
|
{$(SOURCE_PATH)\qmake\generators\unix}.cpp{}.obj::
|
|
$(CXX) $(CXXFLAGS) $<
|
|
|
|
{$(SOURCE_PATH)\qmake\generators\win32}.cpp{}.obj::
|
|
$(CXX) $(CXXFLAGS) $<
|
|
|
|
{$(SOURCE_PATH)\qmake\generators}.cpp{}.obj::
|
|
$(CXX) $(CXXFLAGS) $<
|
|
|
|
{$(SOURCE_PATH)\qmake}.cpp{}.obj::
|
|
$(CXX) $(CXXFLAGS) $<
|
|
|
|
{$(SOURCE_PATH)\src\3rdparty\md5}.cpp{}.obj::
|
|
$(CXX) $(CXXFLAGS) $<
|
|
|
|
{$(SOURCE_PATH)\src\corelib\codecs}.cpp{}.obj::
|
|
$(CXX) $(CXXFLAGS) $<
|
|
|
|
{$(SOURCE_PATH)\src\corelib\global}.cpp{}.obj::
|
|
$(CXX) $(CXXFLAGS) $<
|
|
|
|
{$(SOURCE_PATH)\src\corelib\io}.cpp{}.obj::
|
|
$(CXX) $(CXXFLAGS) $<
|
|
|
|
{$(SOURCE_PATH)\src\corelib\kernel}.cpp{}.obj::
|
|
$(CXX) $(CXXFLAGS) $<
|
|
|
|
{$(SOURCE_PATH)\src\corelib\plugin}.cpp{}.obj::
|
|
$(CXX) $(CXXFLAGS) $<
|
|
|
|
{$(SOURCE_PATH)\src\corelib\serialization}.cpp{}.obj::
|
|
$(CXX) $(CXXFLAGS) $<
|
|
|
|
{$(SOURCE_PATH)\src\corelib\text}.cpp{}.obj::
|
|
$(CXX) $(CXXFLAGS) $<
|
|
|
|
{$(SOURCE_PATH)\src\corelib\time}.cpp{}.obj::
|
|
$(CXX) $(CXXFLAGS) $<
|
|
|
|
{$(SOURCE_PATH)\src\corelib\tools}.cpp{}.obj::
|
|
$(CXX) $(CXXFLAGS) $<
|
|
|
|
# Make sure qlibraryinfo.obj isn't compiled with PCH enabled
|
|
qlibraryinfo.obj: $(SOURCE_PATH)\src\corelib\global\qlibraryinfo.cpp
|
|
$(CXX) $(CXXFLAGS_BARE) -DQT_BUILD_QMAKE_BOOTSTRAP $(SOURCE_PATH)\src\corelib\global\qlibraryinfo.cpp
|
|
|
|
qlibraryinfo_final.obj: $(SOURCE_PATH)\src\corelib\global\qlibraryinfo.cpp $(BUILD_PATH)\src\corelib\global\qconfig.cpp
|
|
$(CXX) $(CXXFLAGS) -Foqlibraryinfo_final.obj $(SOURCE_PATH)\src\corelib\global\qlibraryinfo.cpp
|