Changeset 561 for trunk/qmake


Ignore:
Timestamp:
Feb 11, 2010, 11:19:06 PM (15 years ago)
Author:
Dmitry A. Kuminov
Message:

trunk: Merged in qt 4.6.1 sources.

Location:
trunk
Files:
47 edited
10 copied

Legend:

Unmodified
Added
Removed
  • trunk

  • trunk/qmake/Makefile.unix

    r51 r561  
    1010     mingw_make.o option.o winmakefile.o projectgenerator.o \
    1111     meta.o makefiledeps.o metamakefile.o xmloutput.o pbuilder_pbx.o \
    12      borland_bmake.o msvc_dsp.o msvc_vcproj.o msvc_nmake.o msvc_objectmodel.o gnumake.o
     12     borland_bmake.o msvc_dsp.o msvc_vcproj.o msvc_nmake.o msvc_objectmodel.o \
     13     symmake.o initprojectdeploy_symbian.o symmake_abld.o symmake_sbsv2.o \
     14     gnumake.o
    1315
    1416#qt code
    15 QOBJS=qstring.o qtextstream.o qiodevice.o qmalloc.o qglobal.o \
    16       qbytearray.o qbytearraymatcher.o qdatastream.o qbuffer.o qlistdata.o qfile.o \
     17QOBJS=qtextcodec.o qutfcodec.o qstring.o qtextstream.o qiodevice.o qmalloc.o qglobal.o \
     18      qbytearray.o qbytearraymatcher.o qdatastream.o qbuffer.o qlist.o qfile.o \
    1719      qfsfileengine_unix.o qfsfileengine_iterator_unix.o qfsfileengine.o \
    1820      qfsfileengine_iterator.o qregexp.o qvector.o qbitarray.o qdir.o qdiriterator.o quuid.o qhash.o \
    1921      qfileinfo.o qdatetime.o qstringlist.o qabstractfileengine.o qtemporaryfile.o \
    2022      qmap.o qmetatype.o qsettings.o qlibraryinfo.o qvariant.o qvsnprintf.o \
    21       qlocale.o qlinkedlist.o qurl.o qnumeric.o qcryptographichash.o \
    22       qscriptasm.o qscriptast.o qscriptastvisitor.o \
    23       qscriptcompiler.o qscriptecmaarray.o qscriptecmaboolean.o \
    24       qscriptecmacore.o qscriptecmadate.o qscriptecmafunction.o \
    25       qscriptecmaglobal.o qscriptecmamath.o qscriptecmanumber.o \
    26       qscriptecmaobject.o qscriptecmaregexp.o qscriptecmastring.o \
    27       qscriptecmaerror.o qscriptcontext_p.o qscriptengine.o \
    28       qscriptengine_p.o qscriptextenumeration.o qscriptextvariant.o \
    29       qscriptcontext.o qscriptfunction.o \
    30       qscriptgrammar.o qscriptlexer.o qscriptclassdata.o \
    31       qscriptparser.o qscriptprettypretty.o qscriptsyntaxchecker.o \
    32       qscriptvalue.o qscriptvalueimpl.o qscriptvalueiterator.o \
    33       qscriptvalueiteratorimpl.o \
    34       qscriptclass.o qscriptclasspropertyiterator.o \
    35       qscriptengineagent.o qscriptcontextinfo.o qscriptstring.o \
     23      qlocale.o qlinkedlist.o qurl.o qnumeric.o qcryptographichash.o qxmlstream.o qxmlutils.o \
    3624      $(QTOBJS)
    3725
     
    4533           generators/makefiledeps.cpp option.cpp generators/win32/mingw_make.cpp generators/makefile.cpp \
    4634           generators/win32/msvc_objectmodel.cpp generators/win32/msvc_nmake.cpp generators/win32/borland_bmake.cpp \
     35           generators/symbian/symmake.cpp generators/symbian/initprojectdeploy_symbian.cpp \
     36           generators/symbian/symmake_abld.cpp generators/symbian/symmake_sbsv2.cpp \
    4737           generators/os2/gnumake.cpp \
     38           $(SOURCE_PATH)/src/corelib/codecs/qtextcodec.cpp $(SOURCE_PATH)/src/corelib/codecs/qutfcodec.cpp \
    4839           $(SOURCE_PATH)/src/corelib/tools/qstring.cpp $(SOURCE_PATH)/src/corelib/io/qfile.cpp \
    4940           $(SOURCE_PATH)/src/corelib/io/qtextstream.cpp $(SOURCE_PATH)/src/corelib/io/qiodevice.cpp \
     
    5445           $(SOURCE_PATH)/src/corelib/io/qfsfileengine_unix.cpp $(SOURCE_PATH)/src/corelib/io/qabstractfileengine.cpp \
    5546           $(SOURCE_PATH)/src/corelib/io/qfsfileengine_iterator_unix.cpp $(SOURCE_PATH)/src/corelib/io/qfsfileengine_iterator.cpp \
    56            $(SOURCE_PATH)/src/corelib/io/qfsfileengine.cpp $(SOURCE_PATH)/src/corelib/tools/qlistdata.cpp \
     47           $(SOURCE_PATH)/src/corelib/io/qfsfileengine.cpp $(SOURCE_PATH)/src/corelib/tools/qlist.cpp \
    5748           $(SOURCE_PATH)/src/corelib/tools/qvector.cpp $(SOURCE_PATH)/src/corelib/tools/qbitarray.cpp \
    5849           $(SOURCE_PATH)/src/corelib/io/qdiriterator.cpp \
     
    6758           $(SOURCE_PATH)/src/corelib/global/qlibraryinfo.cpp $(SOURCE_PATH)/src/corelib/tools/qcryptographichash.cpp \
    6859           $(SOURCE_PATH)/src/corelib/tools/qvsnprintf.cpp $(SOURCE_PATH)/src/corelib/global/qnumeric.cpp \
    69            $(SOURCE_PATH)/src/script/qscriptasm.cpp \
    70            $(SOURCE_PATH)/src/script/qscriptast.cpp $(SOURCE_PATH)/src/script/qscriptastvisitor.cpp \
    71            $(SOURCE_PATH)/src/script/qscriptcompiler.cpp $(SOURCE_PATH)/src/script/qscriptecmaarray.cpp \
    72            $(SOURCE_PATH)/src/script/qscriptecmaboolean.cpp $(SOURCE_PATH)/src/script/qscriptecmacore.cpp \
    73            $(SOURCE_PATH)/src/script/qscriptecmadate.cpp $(SOURCE_PATH)/src/script/qscriptecmafunction.cpp \
    74            $(SOURCE_PATH)/src/script/qscriptecmaglobal.cpp $(SOURCE_PATH)/src/script/qscriptecmamath.cpp \
    75            $(SOURCE_PATH)/src/script/qscriptecmanumber.cpp $(SOURCE_PATH)/src/script/qscriptecmaobject.cpp \
    76            $(SOURCE_PATH)/src/script/qscriptecmaregexp.cpp $(SOURCE_PATH)/src/script/qscriptecmastring.cpp \
    77            $(SOURCE_PATH)/src/script/qscriptecmaerror.cpp $(SOURCE_PATH)/src/script/qscriptcontext_p.cpp \
    78            $(SOURCE_PATH)/src/script/qscriptengine.cpp $(SOURCE_PATH)/src/script/qscriptengine_p.cpp \
    79            $(SOURCE_PATH)/src/script/qscriptextenumeration.cpp $(SOURCE_PATH)/src/script/qscriptextvariant.cpp \
    80            $(SOURCE_PATH)/src/script/qscriptcontext.cpp $(SOURCE_PATH)/src/script/qscriptfunction.cpp \
    81            $(SOURCE_PATH)/src/script/qscriptgrammar.cpp \
    82            $(SOURCE_PATH)/src/script/qscriptlexer.cpp $(SOURCE_PATH)/src/script/qscriptclassdata.cpp \
    83            $(SOURCE_PATH)/src/script/qscriptparser.cpp $(SOURCE_PATH)/src/script/qscriptprettypretty.cpp \
    84            $(SOURCE_PATH)/src/script/qscriptsyntaxchecker.cpp $(SOURCE_PATH)/src/script/qscriptvalueimpl.cpp \
    85            $(SOURCE_PATH)/src/script/qscriptvalue.cpp $(SOURCE_PATH)/src/script/qscriptvalueiterator.cpp \
    86            $(SOURCE_PATH)/src/script/qscriptvalueiteratorimpl.cpp \
    87            $(SOURCE_PATH)/src/script/qscriptclass.cpp $(SOURCE_PATH)/src/script/qscriptclasspropertyiterator.cpp \
    88            $(SOURCE_PATH)/src/script/qscriptengineagent.cpp $(SOURCE_PATH)/src/script/qscriptcontextinfo.cpp \
    89            $(SOURCE_PATH)/src/script/qscriptstring.cpp \
     60           $(SOURCE_PATH)/src/corelib/xml/qxmlstream.cpp \
     61           $(SOURCE_PATH)/src/corelib/xml/qxmlutils.cpp \
    9062           $(QTSRCS)
    9163
    92 CPPFLAGS = -I. -Igenerators -Igenerators/unix -Igenerators/win32 -Igenerators/os2 -Igenerators/mac \
     64CPPFLAGS = -I. -Igenerators -Igenerators/unix -Igenerators/win32 -Igenerators/mac -Igenerators/symbian -Igenerators/os2 \
    9365           -I$(BUILD_PATH)/include -I$(BUILD_PATH)/include/QtCore \
    94            -I$(BUILD_PATH)/src/corelib/global \
    95            -I$(SOURCE_PATH)/src/script -DQT_NO_PCRE \
     66           -I$(BUILD_PATH)/src/corelib/global -I$(BUILD_PATH)/src/corelib/xml \
     67           -DQT_NO_PCRE \
    9668           -DQT_BUILD_QMAKE -DQT_BOOTSTRAPPED \
    9769           -DQT_NO_TEXTCODEC -DQT_NO_UNICODETABLES -DQT_NO_COMPONENT -DQT_NO_STL \
     
    162134        $(CXX) -c -o $@ $(CXXFLAGS) $(SOURCE_PATH)/src/corelib/io/qurl.cpp
    163135
     136qutfcodec.o: $(SOURCE_PATH)/src/corelib/codecs/qutfcodec.cpp
     137        $(CXX) -c -o $@ $(CXXFLAGS) $(SOURCE_PATH)/src/corelib/codecs/qutfcodec.cpp
     138
     139qtextcodec.o: $(SOURCE_PATH)/src/corelib/codecs/qtextcodec.cpp
     140        $(CXX) -c -o $@ $(CXXFLAGS) $(SOURCE_PATH)/src/corelib/codecs/qtextcodec.cpp
     141
    164142qstring.o: $(SOURCE_PATH)/src/corelib/tools/qstring.cpp
    165143        $(CXX) -c -o $@ $(CXXFLAGS) $(SOURCE_PATH)/src/corelib/tools/qstring.cpp
     
    174152        $(CXX) -c -o $@ $(CXXFLAGS) $(SOURCE_PATH)/src/corelib/io/qbuffer.cpp
    175153
    176 qlistdata.o: $(SOURCE_PATH)/src/corelib/tools/qlistdata.cpp
    177         $(CXX) -c -o $@ $(CXXFLAGS) $(SOURCE_PATH)/src/corelib/tools/qlistdata.cpp
     154qlist.o: $(SOURCE_PATH)/src/corelib/tools/qlist.cpp
     155        $(CXX) -c -o $@ $(CXXFLAGS) $(SOURCE_PATH)/src/corelib/tools/qlist.cpp
    178156
    179157qfile.o: $(SOURCE_PATH)/src/corelib/io/qfile.cpp
     
    294272        $(CXX) -c -o $@ $(CXXFLAGS) generators/win32/msvc_dsp.cpp
    295273
     274symmake.o: generators/symbian/symmake.cpp
     275        $(CXX) -c -o $@ $(CXXFLAGS) generators/symbian/symmake.cpp
     276
     277symmake_abld.o: generators/symbian/symmake_abld.cpp
     278        $(CXX) -c -o $@ $(CXXFLAGS) generators/symbian/symmake_abld.cpp
     279
     280symmake_sbsv2.o: generators/symbian/symmake_sbsv2.cpp
     281        $(CXX) -c -o $@ $(CXXFLAGS) generators/symbian/symmake_sbsv2.cpp
     282
     283initprojectdeploy_symbian.o: generators/symbian/initprojectdeploy_symbian.cpp
     284        $(CXX) -c -o $@ $(CXXFLAGS) generators/symbian/initprojectdeploy_symbian.cpp
     285
    296286gnumake.o: generators/os2/gnumake.cpp
    297287        $(CXX) -c -o $@ $(CXXFLAGS) generators/os2/gnumake.cpp
     
    300290        $(CXX) -c -o $@ $(CXXFLAGS) generators/projectgenerator.cpp
    301291
    302 qscriptasm.o: $(SOURCE_PATH)/src/script/qscriptasm.cpp
    303         $(CXX) -c -o $@ $(CXXFLAGS) $(SOURCE_PATH)/src/script/qscriptasm.cpp
    304 
    305 qscriptast.o: $(SOURCE_PATH)/src/script/qscriptast.cpp
    306         $(CXX) -c -o $@ $(CXXFLAGS) $(SOURCE_PATH)/src/script/qscriptast.cpp
    307 
    308 qscriptastvisitor.o: $(SOURCE_PATH)/src/script/qscriptastvisitor.cpp
    309         $(CXX) -c -o $@ $(CXXFLAGS) $(SOURCE_PATH)/src/script/qscriptastvisitor.cpp
    310 
    311 qscriptcompiler.o: $(SOURCE_PATH)/src/script/qscriptcompiler.cpp
    312         $(CXX) -c -o $@ $(CXXFLAGS) $(SOURCE_PATH)/src/script/qscriptcompiler.cpp
    313 
    314 qscriptecmaarray.o: $(SOURCE_PATH)/src/script/qscriptecmaarray.cpp
    315         $(CXX) -c -o $@ $(CXXFLAGS) $(SOURCE_PATH)/src/script/qscriptecmaarray.cpp
    316 
    317 qscriptecmaboolean.o: $(SOURCE_PATH)/src/script/qscriptecmaboolean.cpp
    318         $(CXX) -c -o $@ $(CXXFLAGS) $(SOURCE_PATH)/src/script/qscriptecmaboolean.cpp
    319 
    320 qscriptecmacore.o: $(SOURCE_PATH)/src/script/qscriptecmacore.cpp
    321         $(CXX) -c -o $@ $(CXXFLAGS) $(SOURCE_PATH)/src/script/qscriptecmacore.cpp
    322 
    323 qscriptecmadate.o: $(SOURCE_PATH)/src/script/qscriptecmadate.cpp
    324         $(CXX) -c -o $@ $(CXXFLAGS) $(SOURCE_PATH)/src/script/qscriptecmadate.cpp
    325 
    326 qscriptecmafunction.o: $(SOURCE_PATH)/src/script/qscriptecmafunction.cpp
    327         $(CXX) -c -o $@ $(CXXFLAGS) $(SOURCE_PATH)/src/script/qscriptecmafunction.cpp
    328 
    329 qscriptecmaglobal.o: $(SOURCE_PATH)/src/script/qscriptecmaglobal.cpp
    330         $(CXX) -c -o $@ $(CXXFLAGS) $(SOURCE_PATH)/src/script/qscriptecmaglobal.cpp
    331 
    332 qscriptecmamath.o: $(SOURCE_PATH)/src/script/qscriptecmamath.cpp
    333         $(CXX) -c -o $@ $(CXXFLAGS) $(SOURCE_PATH)/src/script/qscriptecmamath.cpp
    334 
    335 qscriptecmanumber.o: $(SOURCE_PATH)/src/script/qscriptecmanumber.cpp
    336         $(CXX) -c -o $@ $(CXXFLAGS) $(SOURCE_PATH)/src/script/qscriptecmanumber.cpp
    337 
    338 qscriptecmaobject.o: $(SOURCE_PATH)/src/script/qscriptecmaobject.cpp
    339         $(CXX) -c -o $@ $(CXXFLAGS) $(SOURCE_PATH)/src/script/qscriptecmaobject.cpp
    340 
    341 qscriptecmaregexp.o: $(SOURCE_PATH)/src/script/qscriptecmaregexp.cpp
    342         $(CXX) -c -o $@ $(CXXFLAGS) $(SOURCE_PATH)/src/script/qscriptecmaregexp.cpp
    343 
    344 qscriptecmastring.o: $(SOURCE_PATH)/src/script/qscriptecmastring.cpp
    345         $(CXX) -c -o $@ $(CXXFLAGS) $(SOURCE_PATH)/src/script/qscriptecmastring.cpp
    346 
    347 qscriptecmaerror.o: $(SOURCE_PATH)/src/script/qscriptecmaerror.cpp
    348         $(CXX) -c -o $@ $(CXXFLAGS) $(SOURCE_PATH)/src/script/qscriptecmaerror.cpp
    349 
    350 qscriptcontext_p.o: $(SOURCE_PATH)/src/script/qscriptcontext_p.cpp
    351         $(CXX) -c -o $@ $(CXXFLAGS) $(SOURCE_PATH)/src/script/qscriptcontext_p.cpp
    352 
    353 qscriptengine.o: $(SOURCE_PATH)/src/script/qscriptengine.cpp
    354         $(CXX) -c -o $@ $(CXXFLAGS) $(SOURCE_PATH)/src/script/qscriptengine.cpp
    355 
    356 qscriptengine_p.o: $(SOURCE_PATH)/src/script/qscriptengine_p.cpp
    357         $(CXX) -c -o $@ $(CXXFLAGS) $(SOURCE_PATH)/src/script/qscriptengine_p.cpp
    358 
    359 qscriptextenumeration.o: $(SOURCE_PATH)/src/script/qscriptextenumeration.cpp
    360         $(CXX) -c -o $@ $(CXXFLAGS) $(SOURCE_PATH)/src/script/qscriptextenumeration.cpp
    361 
    362 qscriptextvariant.o: $(SOURCE_PATH)/src/script/qscriptextvariant.cpp
    363         $(CXX) -c -o $@ $(CXXFLAGS) $(SOURCE_PATH)/src/script/qscriptextvariant.cpp
    364 
    365 qscriptcontext.o: $(SOURCE_PATH)/src/script/qscriptcontext.cpp
    366         $(CXX) -c -o $@ $(CXXFLAGS) $(SOURCE_PATH)/src/script/qscriptcontext.cpp
    367 
    368 qscriptfunction.o: $(SOURCE_PATH)/src/script/qscriptfunction.cpp
    369         $(CXX) -c -o $@ $(CXXFLAGS) $(SOURCE_PATH)/src/script/qscriptfunction.cpp
    370 
    371 qscriptgrammar.o: $(SOURCE_PATH)/src/script/qscriptgrammar.cpp
    372         $(CXX) -c -o $@ $(CXXFLAGS) $(SOURCE_PATH)/src/script/qscriptgrammar.cpp
    373 
    374 qscriptlexer.o: $(SOURCE_PATH)/src/script/qscriptlexer.cpp
    375         $(CXX) -c -o $@ $(CXXFLAGS) $(SOURCE_PATH)/src/script/qscriptlexer.cpp
    376 
    377 qscriptclassdata.o: $(SOURCE_PATH)/src/script/qscriptclassdata.cpp
    378         $(CXX) -c -o $@ $(CXXFLAGS) $(SOURCE_PATH)/src/script/qscriptclassdata.cpp
    379 
    380 qscriptparser.o: $(SOURCE_PATH)/src/script/qscriptparser.cpp
    381         $(CXX) -c -o $@ $(CXXFLAGS) $(SOURCE_PATH)/src/script/qscriptparser.cpp
    382 
    383 qscriptprettypretty.o: $(SOURCE_PATH)/src/script/qscriptprettypretty.cpp
    384         $(CXX) -c -o $@ $(CXXFLAGS) $(SOURCE_PATH)/src/script/qscriptprettypretty.cpp
    385 
    386 qscriptsyntaxchecker.o: $(SOURCE_PATH)/src/script/qscriptsyntaxchecker.cpp
    387         $(CXX) -c -o $@ $(CXXFLAGS) $(SOURCE_PATH)/src/script/qscriptsyntaxchecker.cpp
    388 
    389 qscriptvalue.o: $(SOURCE_PATH)/src/script/qscriptvalue.cpp
    390         $(CXX) -c -o $@ $(CXXFLAGS) $(SOURCE_PATH)/src/script/qscriptvalue.cpp
    391 
    392 qscriptvalueimpl.o: $(SOURCE_PATH)/src/script/qscriptvalueimpl.cpp
    393         $(CXX) -c -o $@ $(CXXFLAGS) $(SOURCE_PATH)/src/script/qscriptvalueimpl.cpp
    394 
    395 qscriptvalueiterator.o: $(SOURCE_PATH)/src/script/qscriptvalueiterator.cpp
    396         $(CXX) -c -o $@ $(CXXFLAGS) $(SOURCE_PATH)/src/script/qscriptvalueiterator.cpp
    397 
    398 qscriptvalueiteratorimpl.o: $(SOURCE_PATH)/src/script/qscriptvalueiteratorimpl.cpp
    399         $(CXX) -c -o $@ $(CXXFLAGS) $(SOURCE_PATH)/src/script/qscriptvalueiteratorimpl.cpp
    400 
    401 qscriptclass.o: $(SOURCE_PATH)/src/script/qscriptclass.cpp
    402         $(CXX) -c -o $@ $(CXXFLAGS) $(SOURCE_PATH)/src/script/qscriptclass.cpp
    403 
    404 qscriptclasspropertyiterator.o: $(SOURCE_PATH)/src/script/qscriptclasspropertyiterator.cpp
    405         $(CXX) -c -o $@ $(CXXFLAGS) $(SOURCE_PATH)/src/script/qscriptclasspropertyiterator.cpp
    406 
    407 qscriptengineagent.o: $(SOURCE_PATH)/src/script/qscriptengineagent.cpp
    408         $(CXX) -c -o $@ $(CXXFLAGS) $(SOURCE_PATH)/src/script/qscriptengineagent.cpp
    409 
    410 qscriptcontextinfo.o: $(SOURCE_PATH)/src/script/qscriptcontextinfo.cpp
    411         $(CXX) -c -o $@ $(CXXFLAGS) $(SOURCE_PATH)/src/script/qscriptcontextinfo.cpp
    412 
    413 qscriptstring.o: $(SOURCE_PATH)/src/script/qscriptstring.cpp
    414         $(CXX) -c -o $@ $(CXXFLAGS) $(SOURCE_PATH)/src/script/qscriptstring.cpp
    415 
     292qxmlstream.o: $(SOURCE_PATH)/src/corelib/xml/qxmlstream.cpp
     293        $(CXX) -c -o $@ $(CXXFLAGS) $(SOURCE_PATH)/src/corelib/xml/qxmlstream.cpp
     294
     295qxmlutils.o: $(SOURCE_PATH)/src/corelib/xml/qxmlutils.cpp
     296        $(CXX) -c -o $@ $(CXXFLAGS) $(SOURCE_PATH)/src/corelib/xml/qxmlutils.cpp
    416297#default rules
    417298.cpp.o:
  • trunk/qmake/Makefile.win32

    r51 r561  
    2929CFLAGS       = -c -Fo$@ \
    3030              -W3 -nologo -O2 \
    31               -I. -Igenerators -Igenerators\unix -Igenerators\win32 -Igenerators\os2 -Igenerators\mac \
     31              -I. -Igenerators -Igenerators\unix -Igenerators\win32 -Igenerators\mac -Igenerators\symbian -Igenerators\os2 \
    3232              -I$(BUILD_PATH)\include -I$(BUILD_PATH)\include\QtCore \
    3333              -I$(SOURCE_PATH)\include -I$(SOURCE_PATH)\include\QtCore \
    3434              -I$(BUILD_PATH)\src\corelib\global \
    35               -I$(BUILD_PATH)\include\QtScript \
     35              -I$(BUILD_PATH)\src\corelib\xml \
    3636              -I$(SOURCE_PATH)\mkspecs\$(QMAKESPEC)  \
    3737              -DQT_NO_TEXTCODEC -DQT_NO_UNICODETABLES -DQT_LITE_COMPONENT -DQT_NODLL -DQT_NO_STL \
     
    4242LFLAGS      =
    4343LIBS        = ole32.lib advapi32.lib
    44 LINKQMAKE   = $(LINK) $(LFLAGS) -DEBUG -OUT:qmake.exe $(OBJS) $(QTOBJS) $(LIBS)
     44LINKQMAKE   = $(LINK) $(LFLAGS) -OUT:qmake.exe $(OBJS) $(QTOBJS) $(LIBS)
    4545ADDCLEAN    = vc60.pdb vc70.pdb qmake.pdb qmake.ilk
    4646!ELSE
     
    5555CFLAGS      = -c -o$@ \
    5656        -tWR -w -w-hid -w-use -O1 \
    57         -I. -Igenerators -Igenerators\unix -Igenerators\win32 -Igenerators\mac \
     57        -I. -Igenerators -Igenerators\unix -Igenerators\win32 -Igenerators\mac -Igenerators\symbian \
    5858        -I$(BUILD_PATH)\include -I$(BUILD_PATH)\include\QtCore \
    5959        -I$(SOURCE_PATH)\include -I$(SOURCE_PATH)\include\QtCore \
     
    7575              makefiledeps.obj metamakefile.obj xmloutput.obj pbuilder_pbx.obj \
    7676              borland_bmake.obj msvc_nmake.obj msvc_dsp.obj msvc_vcproj.obj \
    77               msvc_objectmodel.obj gnumake.obj
     77              msvc_objectmodel.obj symmake.obj initprojectdeploy_symbian.obj \
     78              symmake_abld.obj symmake_sbsv2.obj gnumake.obj
    7879
    7980!IFDEF QMAKE_OPENSOURCE_EDITION
     
    8586        qbitarray.obj \
    8687        qbuffer.obj \
    87         qcryptographichash.obj \
     88        qcryptographichash.obj \
    8889        qfsfileengine.obj \
    8990        qfsfileengine_iterator.obj \
    9091        qbytearray.obj \
    91         qvsnprintf.obj \
     92        qvsnprintf.obj \
    9293        qbytearraymatcher.obj \
    9394        qdatetime.obj \
     
    103104        qhash.obj \
    104105        qiodevice.obj \
    105         qlistdata.obj \
     106        qlist.obj \
    106107        qlinkedlist.obj \
    107108        qlocale.obj \
    108         qmalloc.obj \
     109        qmalloc.obj \
    109110        qmap.obj \
    110111        qregexp.obj \
     112        qtextcodec.obj \
     113        qutfcodec.obj \
    111114        qstring.obj \
    112115        qstringlist.obj \
     
    118121        qlibraryinfo.obj \
    119122        qvariant.obj \
    120         qurl.obj \
     123        qurl.obj \
    121124        qsettings_win.obj \
    122         qmetatype.obj \
    123         qnumeric.obj \
    124         qscriptasm.obj \
    125         qscriptast.obj \
    126         qscriptastvisitor.obj \
    127         qscriptcompiler.obj \
    128         qscriptecmaarray.obj \
    129         qscriptecmaboolean.obj \
    130         qscriptecmacore.obj \
    131         qscriptecmadate.obj \
    132         qscriptecmafunction.obj \
    133         qscriptecmaglobal.obj \
    134         qscriptecmamath.obj \
    135         qscriptecmanumber.obj \
    136         qscriptecmaobject.obj \
    137         qscriptecmaregexp.obj \
    138         qscriptecmastring.obj \
    139         qscriptecmaerror.obj \
    140         qscriptcontext_p.obj \
    141         qscriptengine.obj \
    142         qscriptengine_p.obj \
    143         qscriptengineagent.obj \
    144         qscriptextenumeration.obj \
    145         qscriptextvariant.obj \
    146         qscriptcontext.obj \
    147         qscriptcontextinfo.obj \
    148         qscriptfunction.obj \
    149         qscriptgrammar.obj \
    150         qscriptlexer.obj \
    151         qscriptclassdata.obj \
    152         qscriptparser.obj \
    153         qscriptprettypretty.obj \
    154         qscriptsyntaxchecker.obj \
    155         qscriptclass.obj \
    156         qscriptclasspropertyiterator.obj \
    157         qscriptstring.obj \
    158         qscriptvalue.obj \
    159         qscriptvalueimpl.obj \
    160         qscriptvalueiterator.obj \
    161         qscriptvalueiteratorimpl.obj
     125        qmetatype.obj \
     126        qxmlstream.obj \
     127        qxmlutils.obj \
     128        qnumeric.obj
    162129
    163130
     
    176143        -del qfsfileengine_iterator.obj
    177144        -del qbytearray.obj
    178         -del qvsnprintf.obj
     145        -del qvsnprintf.obj
    179146        -del qbytearraymatcher.obj
    180147        -del qdatetime.obj
     
    190157        -del qhash.obj
    191158        -del qiodevice.obj
    192         -del qlistdata.obj
     159        -del qlist.obj
    193160        -del qlocale.obj
    194161        -del qmalloc.obj
    195162        -del qmap.obj
    196163        -del qregexp.obj
     164        -del qtextcodec.obj
     165        -del qutfcodec.obj
    197166        -del qstring.obj
    198167        -del qstringlist.obj
     
    204173        -del qlibraryinfo.obj
    205174        -del qvariant.obj
    206         -del qurl.obj
     175        -del qurl.obj
    207176        -del qsettings_win.obj
    208         -del qmetatype.obj
     177        -del qmetatype.obj
    209178        -del project.obj
    210179        -del main.obj
     
    226195        -del msvc_vcproj.obj
    227196        -del msvc_objectmodel.obj
     197        -del symmake.obj
     198        -del symmake_abld.obj
     199        -del symmake_sbsv2.obj
     200        -del initprojectdeploy_symbian.obj
    228201        -del gnumake.obj
    229202        -del pbuilder_pbx.obj
    230         -del qnumeric.obj \
    231         -del qscriptasm.obj \
    232         -del qscriptast.obj \
    233         -del qscriptastvisitor.obj \
    234         -del qscriptcompiler.obj \
    235         -del qscriptecmaarray.obj \
    236         -del qscriptecmaboolean.obj \
    237         -del qscriptecmacore.obj \
    238         -del qscriptecmadate.obj \
    239         -del qscriptecmafunction.obj \
    240         -del qscriptecmaglobal.obj \
    241         -del qscriptecmamath.obj \
    242         -del qscriptecmanumber.obj \
    243         -del qscriptecmaobject.obj \
    244         -del qscriptecmaregexp.obj \
    245         -del qscriptecmastring.obj \
    246         -del qscriptecmaerror.obj \
    247         -del qscriptcontext_p.obj \
    248         -del qscriptengine.obj \
    249         -del qscriptengine_p.obj \
    250         -del qscriptengineagent.obj \
    251         -del qscriptextenumeration.obj \
    252         -del qscriptextvariant.obj \
    253         -del qscriptcontext.obj \
    254         -del qscriptcontextinfo.obj \
    255         -del qscriptfunction.obj \
    256         -del qscriptgrammar.obj \
    257         -del qscriptlexer.obj \
    258         -del qscriptclassdata.obj \
    259         -del qscriptparser.obj \
    260         -del qscriptprettypretty.obj \
    261         -del qscriptsyntaxchecker.obj \
    262         -del qscriptclass.obj \
    263         -del qscriptclasspropertyiterator.obj \
    264         -del qscriptstring.obj \
    265         -del qscriptvalue.obj \
    266         -del qscriptvalueimpl.obj \
    267         -del qscriptvalueiterator.obj \
    268         -del qscriptvalueiteratorimpl.obj
     203        -del qxmlstream.obj
     204        -del qxmlutils.obj
     205        -del qnumeric.obj
    269206        -del vc60.pdb
    270207        -del vc70.pdb
     
    339276        $(CXX) $(CXXFLAGS) $(SOURCE_PATH)\src\corelib\tools\qchar.cpp
    340277
     278qutfcodec.obj: $(SOURCE_PATH)\src\corelib\codecs\qutfcodec.cpp
     279        $(CXX) $(CXXFLAGS) $(SOURCE_PATH)\src\corelib\codecs\qutfcodec.cpp
     280
    341281qstring.obj: $(SOURCE_PATH)\src\corelib\tools\qstring.cpp
    342282        $(CXX) $(CXXFLAGS) $(SOURCE_PATH)\src\corelib\tools\qstring.cpp
     
    354294        $(CXX) $(CXXFLAGS) $(SOURCE_PATH)\src\corelib\io\qbuffer.cpp
    355295
    356 qlistdata.obj: $(SOURCE_PATH)\src\corelib\tools\qlistdata.cpp
    357         $(CXX) $(CXXFLAGS) $(SOURCE_PATH)\src\corelib\tools\qlistdata.cpp
     296qlist.obj: $(SOURCE_PATH)\src\corelib\tools\qlist.cpp
     297        $(CXX) $(CXXFLAGS) $(SOURCE_PATH)\src\corelib\tools\qlist.cpp
    358298
    359299qlinkedlist.obj: $(SOURCE_PATH)\src\corelib\tools\qlinkedlist.cpp
     
    381321        $(CXX) $(CXXFLAGS) $(SOURCE_PATH)\src\corelib\io\qabstractfileengine.cpp
    382322
    383 qtextcodec.obj: $(SOURCE_PATH)\src\codecs\qtextcodec.cpp
    384         $(CXX) $(CXXFLAGS) $(SOURCE_PATH)\src\codecs\qtextcodec.cpp
     323qtextcodec.obj: $(SOURCE_PATH)\src\corelib\codecs\qtextcodec.cpp
     324        $(CXX) $(CXXFLAGS) $(SOURCE_PATH)\src\corelib\codecs\qtextcodec.cpp
    385325
    386326qregexp.obj: $(SOURCE_PATH)\src\corelib\tools\qregexp.cpp
     
    416356qunicodetables.obj: $(SOURCE_PATH)\src\corelib\tools\qunicodetables.cpp
    417357        $(CXX) $(CXXFLAGS) $(SOURCE_PATH)\src\corelib\tools\qunicodetables.cpp
     358
    418359makefile.obj: $(SOURCE_PATH)/qmake/generators\makefile.cpp
    419360        $(CXX) $(CXXFLAGS) generators\makefile.cpp
     
    446387        $(CXX) $(CXXFLAGS) generators/win32/msvc_objectmodel.cpp
    447388
     389symmake.obj: $(SOURCE_PATH)/qmake/generators/symbian/symmake.cpp
     390        $(CXX) $(CXXFLAGS) generators/symbian/symmake.cpp
     391
     392symmake_abld.obj: $(SOURCE_PATH)/qmake/generators/symbian/symmake_abld.cpp
     393        $(CXX) $(CXXFLAGS) generators/symbian/symmake_abld.cpp
     394
     395symmake_sbsv2.obj: $(SOURCE_PATH)/qmake/generators/symbian/symmake_sbsv2.cpp
     396        $(CXX) $(CXXFLAGS) generators/symbian/symmake_sbsv2.cpp
     397
     398initprojectdeploy_symbian.obj: $(SOURCE_PATH)/qmake/generators/symbian/initprojectdeploy_symbian.cpp
     399        $(CXX) $(CXXFLAGS) generators/symbian/initprojectdeploy_symbian.cpp
     400
    448401gnumake.obj: $(SOURCE_PATH)/qmake/generators/os2/gnumake.cpp
    449402        $(CXX) $(CXXFLAGS) generators/os2/gnumake.cpp
     
    451404md5.obj: $(SOURCE_PATH)\src\3rdparty\md5\md5.cpp
    452405        $(CXX) $(CXXFLAGS) $(SOURCE_PATH)\src\3rdparty\md5\md5.cpp
     406
    453407project.obj: $(SOURCE_PATH)/qmake/project.cpp $(SOURCE_PATH)/qmake/project.h $(SOURCE_PATH)/qmake/option.h
    454408        $(CXX) $(CXXFLAGS) project.cpp
     
    481435        $(CXX) $(CXXFLAGS) generators/xmloutput.cpp
    482436
    483 qscriptasm.obj: $(SOURCE_PATH)\src\script\qscriptasm.cpp
    484         $(CXX) $(CXXFLAGS) $(SOURCE_PATH)\src\script\qscriptasm.cpp
    485 
    486 qscriptast.obj: $(SOURCE_PATH)\src\script\qscriptast.cpp
    487         $(CXX) $(CXXFLAGS) $(SOURCE_PATH)\src\script\qscriptast.cpp
    488 
    489 qscriptastvisitor.obj: $(SOURCE_PATH)\src\script\qscriptastvisitor.cpp
    490         $(CXX) $(CXXFLAGS) $(SOURCE_PATH)\src\script\qscriptastvisitor.cpp
    491 
    492 qscriptcompiler.obj: $(SOURCE_PATH)\src\script\qscriptcompiler.cpp
    493         $(CXX) $(CXXFLAGS) $(SOURCE_PATH)\src\script\qscriptcompiler.cpp
    494 
    495 qscriptecmaarray.obj: $(SOURCE_PATH)\src\script\qscriptecmaarray.cpp
    496         $(CXX) $(CXXFLAGS) $(SOURCE_PATH)\src\script\qscriptecmaarray.cpp
    497 
    498 qscriptecmaboolean.obj: $(SOURCE_PATH)\src\script\qscriptecmaboolean.cpp
    499         $(CXX) $(CXXFLAGS) $(SOURCE_PATH)\src\script\qscriptecmaboolean.cpp
    500 
    501 qscriptecmacore.obj: $(SOURCE_PATH)\src\script\qscriptecmacore.cpp
    502         $(CXX) $(CXXFLAGS) $(SOURCE_PATH)\src\script\qscriptecmacore.cpp
    503 
    504 qscriptecmadate.obj: $(SOURCE_PATH)\src\script\qscriptecmadate.cpp
    505         $(CXX) $(CXXFLAGS) $(SOURCE_PATH)\src\script\qscriptecmadate.cpp
    506 
    507 qscriptecmafunction.obj: $(SOURCE_PATH)\src\script\qscriptecmafunction.cpp
    508         $(CXX) $(CXXFLAGS) $(SOURCE_PATH)\src\script\qscriptecmafunction.cpp
    509 
    510 qscriptecmaglobal.obj: $(SOURCE_PATH)\src\script\qscriptecmaglobal.cpp
    511         $(CXX) $(CXXFLAGS) $(SOURCE_PATH)\src\script\qscriptecmaglobal.cpp
    512 
    513 qscriptecmamath.obj: $(SOURCE_PATH)\src\script\qscriptecmamath.cpp
    514         $(CXX) $(CXXFLAGS) $(SOURCE_PATH)\src\script\qscriptecmamath.cpp
    515 
    516 qscriptecmanumber.obj: $(SOURCE_PATH)\src\script\qscriptecmanumber.cpp
    517         $(CXX) $(CXXFLAGS) $(SOURCE_PATH)\src\script\qscriptecmanumber.cpp
    518 
    519 qscriptecmaobject.obj: $(SOURCE_PATH)\src\script\qscriptecmaobject.cpp
    520         $(CXX) $(CXXFLAGS) $(SOURCE_PATH)\src\script\qscriptecmaobject.cpp
    521 
    522 qscriptecmaregexp.obj: $(SOURCE_PATH)\src\script\qscriptecmaregexp.cpp
    523         $(CXX) $(CXXFLAGS) $(SOURCE_PATH)\src\script\qscriptecmaregexp.cpp
    524 
    525 qscriptecmastring.obj: $(SOURCE_PATH)\src\script\qscriptecmastring.cpp
    526         $(CXX) $(CXXFLAGS) $(SOURCE_PATH)\src\script\qscriptecmastring.cpp
    527 
    528 qscriptecmaerror.obj: $(SOURCE_PATH)\src\script\qscriptecmaerror.cpp
    529         $(CXX) $(CXXFLAGS) $(SOURCE_PATH)\src\script\qscriptecmaerror.cpp
    530 
    531 qscriptcontext_p.obj: $(SOURCE_PATH)\src\script\qscriptcontext_p.cpp
    532         $(CXX) $(CXXFLAGS) $(SOURCE_PATH)\src\script\qscriptcontext_p.cpp
    533 
    534 qscriptengine.obj: $(SOURCE_PATH)\src\script\qscriptengine.cpp
    535         $(CXX) $(CXXFLAGS) $(SOURCE_PATH)\src\script\qscriptengine.cpp
    536 
    537 qscriptengine_p.obj: $(SOURCE_PATH)\src\script\qscriptengine_p.cpp
    538         $(CXX) $(CXXFLAGS) $(SOURCE_PATH)\src\script\qscriptengine_p.cpp
    539 
    540 qscriptengineagent.obj: $(SOURCE_PATH)\src\script\qscriptengineagent.cpp
    541         $(CXX) $(CXXFLAGS) $(SOURCE_PATH)\src\script\qscriptengineagent.cpp
    542 
    543 qscriptextenumeration.obj: $(SOURCE_PATH)\src\script\qscriptextenumeration.cpp
    544         $(CXX) $(CXXFLAGS) $(SOURCE_PATH)\src\script\qscriptextenumeration.cpp
    545 
    546 qscriptextvariant.obj: $(SOURCE_PATH)\src\script\qscriptextvariant.cpp
    547         $(CXX) $(CXXFLAGS) $(SOURCE_PATH)\src\script\qscriptextvariant.cpp
    548 
    549 qscriptcontext.obj: $(SOURCE_PATH)\src\script\qscriptcontext.cpp
    550         $(CXX) $(CXXFLAGS) $(SOURCE_PATH)\src\script\qscriptcontext.cpp
    551 
    552 qscriptcontextinfo.obj: $(SOURCE_PATH)\src\script\qscriptcontextinfo.cpp
    553         $(CXX) $(CXXFLAGS) $(SOURCE_PATH)\src\script\qscriptcontextinfo.cpp
    554 
    555 qscriptfunction.obj: $(SOURCE_PATH)\src\script\qscriptfunction.cpp
    556         $(CXX) $(CXXFLAGS) $(SOURCE_PATH)\src\script\qscriptfunction.cpp
    557 
    558 qscriptgrammar.obj: $(SOURCE_PATH)\src\script\qscriptgrammar.cpp
    559         $(CXX) $(CXXFLAGS) $(SOURCE_PATH)\src\script\qscriptgrammar.cpp
    560 
    561 qscriptlexer.obj: $(SOURCE_PATH)\src\script\qscriptlexer.cpp
    562         $(CXX) $(CXXFLAGS) $(SOURCE_PATH)\src\script\qscriptlexer.cpp
    563 
    564 qscriptclassdata.obj: $(SOURCE_PATH)\src\script\qscriptclassdata.cpp
    565         $(CXX) $(CXXFLAGS) $(SOURCE_PATH)\src\script\qscriptclassdata.cpp
    566 
    567 qscriptparser.obj: $(SOURCE_PATH)\src\script\qscriptparser.cpp
    568         $(CXX) $(CXXFLAGS) $(SOURCE_PATH)\src\script\qscriptparser.cpp
    569 
    570 qscriptprettypretty.obj: $(SOURCE_PATH)\src\script\qscriptprettypretty.cpp
    571         $(CXX) $(CXXFLAGS) $(SOURCE_PATH)\src\script\qscriptprettypretty.cpp
    572 
    573 qscriptsyntaxchecker.obj: $(SOURCE_PATH)\src\script\qscriptsyntaxchecker.cpp
    574         $(CXX) $(CXXFLAGS) $(SOURCE_PATH)\src\script\qscriptsyntaxchecker.cpp
    575 
    576 qscriptstring.obj: $(SOURCE_PATH)\src\script\qscriptstring.cpp
    577         $(CXX) $(CXXFLAGS) $(SOURCE_PATH)\src\script\qscriptstring.cpp
    578 
    579 qscriptclass.obj: $(SOURCE_PATH)\src\script\qscriptclass.cpp
    580         $(CXX) $(CXXFLAGS) $(SOURCE_PATH)\src\script\qscriptclass.cpp
    581 
    582 qscriptclasspropertyiterator.obj: $(SOURCE_PATH)\src\script\qscriptclasspropertyiterator.cpp
    583         $(CXX) $(CXXFLAGS) $(SOURCE_PATH)\src\script\qscriptclasspropertyiterator.cpp
    584 
    585 qscriptvalue.obj: $(SOURCE_PATH)\src\script\qscriptvalue.cpp
    586         $(CXX) $(CXXFLAGS) $(SOURCE_PATH)\src\script\qscriptvalue.cpp
    587 
    588 qscriptvalueimpl.obj: $(SOURCE_PATH)\src\script\qscriptvalueimpl.cpp
    589         $(CXX) $(CXXFLAGS) $(SOURCE_PATH)\src\script\qscriptvalueimpl.cpp
    590 
    591 qscriptvalueiterator.obj: $(SOURCE_PATH)\src\script\qscriptvalueiterator.cpp
    592         $(CXX) $(CXXFLAGS) $(SOURCE_PATH)\src\script\qscriptvalueiterator.cpp
    593 
    594 qscriptvalueiteratorimpl.obj: $(SOURCE_PATH)\src\script\qscriptvalueiteratorimpl.cpp
    595         $(CXX) $(CXXFLAGS) $(SOURCE_PATH)\src\script\qscriptvalueiteratorimpl.cpp
     437qxmlstream.obj: $(SOURCE_PATH)\src\corelib\xml\qxmlstream.cpp
     438        $(CXX) $(CXXFLAGS) $(SOURCE_PATH)\src\corelib\xml\qxmlstream.cpp
     439
     440qxmlutils.obj: $(SOURCE_PATH)\src\corelib\xml\qxmlutils.cpp
     441        $(CXX) $(CXXFLAGS) $(SOURCE_PATH)\src\corelib\xml\qxmlutils.cpp
  • trunk/qmake/Makefile.win32-g++

    r51 r561  
    1515CFLAGS      =   -c -o$@ -O \
    1616                -I. -Igenerators -Igenerators/unix \
    17                 -Igenerators/win32 -Igenerators/os2 -Igenerators/mac \
     17                -Igenerators/win32 -Igenerators/mac \
     18                -Igenerators/symbian -Igenerators/os2 \
    1819                -I$(BUILD_PATH)/include -I$(BUILD_PATH)/include/QtCore \
    1920                -I$(SOURCE_PATH)/include -I$(SOURCE_PATH)/include/QtCore \
    2021                -I$(BUILD_PATH)/src/corelib/global \
    21                 -I$(BUILD_PATH)/include/QtScript \
     22                -I$(BUILD_PATH)/src/corelib/xml \
    2223                -I$(SOURCE_PATH)/mkspecs/win32-g++  \
    2324                -DQT_NO_TEXTCODEC -DQT_NO_UNICODETABLES -DQT_LITE_COMPONENT -DQT_NO_PCRE \
    24                 -DQT_NODLL -DQT_NO_STL -DQT_NO_COMPRESS -DUNICODE -DHAVE_QCONFIG_CPP \
    25                 -DQT_BUILD_QMAKE -DQT_NO_THREAD -DQT_NO_QOBJECT -DQT_NO_GEOM_VARIANT -DQT_NO_DATASTREAM
     25                -DQT_NODLL -DQT_NO_STL -DQT_NO_COMPRESS -DUNICODE -DHAVE_QCONFIG_CPP \
     26                -DQT_BUILD_QMAKE -DQT_NO_THREAD -DQT_NO_QOBJECT -DQT_NO_GEOM_VARIANT -DQT_NO_DATASTREAM \
     27                -DQT_BOOTSTRAPPED
    2628CXXFLAGS    =   $(CFLAGS)
    2729LFLAGS      =
     
    3638              makefiledeps.o metamakefile.o xmloutput.o pbuilder_pbx.o \
    3739              borland_bmake.o msvc_nmake.o msvc_dsp.o msvc_vcproj.o \
    38               msvc_objectmodel.o gnumake.o
     40              msvc_objectmodel.o symmake.o initprojectdeploy_symbian.o \
     41              symmake_abld.o symmake_sbsv2.o gnumake.o
    3942
    4043ifdef QMAKE_OPENSOURCE_EDITION
     
    4750        qbuffer.o \
    4851        qbytearray.o \
    49         qcryptographichash.o \
     52        qcryptographichash.o \
    5053        qvsnprintf.o \
    5154        qbytearraymatcher.o \
     
    6669        qiodevice.o \
    6770        qlibraryinfo.o \
    68         qlistdata.o \
     71        qlist.o \
    6972        qlinkedlist.o \
    7073        qlocale.o \
     
    7275        qmap.o \
    7376        qregexp.o \
     77        qtextcodec.o \
     78        qutfcodec.o \
    7479        qstring.o \
    7580        qstringlist.o \
     
    8287        qvariant.o \
    8388        qmetatype.o \
    84         qnumeric.o \
    85         qscriptasm.o \
    86         qscriptast.o \
    87         qscriptastvisitor.o \
    88         qscriptcompiler.o \
    89         qscriptecmaarray.o \
    90         qscriptecmaboolean.o \
    91         qscriptecmacore.o \
    92         qscriptecmadate.o \
    93         qscriptecmafunction.o \
    94         qscriptecmaglobal.o \
    95         qscriptecmamath.o \
    96         qscriptecmanumber.o \
    97         qscriptecmaobject.o \
    98         qscriptecmaregexp.o \
    99         qscriptecmastring.o \
    100         qscriptecmaerror.o \
    101         qscriptcontext_p.o \
    102         qscriptengine.o \
    103         qscriptengine_p.o \
    104         qscriptengineagent.o \
    105         qscriptextenumeration.o \
    106         qscriptextvariant.o \
    107         qscriptcontext.o \
    108         qscriptcontextinfo.o \
    109         qscriptfunction.o \
    110         qscriptgrammar.o \
    111         qscriptlexer.o \
    112         qscriptclassdata.o \
    113         qscriptparser.o \
    114         qscriptprettypretty.o \
    115         qscriptsyntaxchecker.o \
    116         qscriptclass.o \
    117         qscriptclasspropertyiterator.o \
    118         qscriptstring.o \
    119         qscriptvalue.o \
    120         qscriptvalueimpl.o \
    121         qscriptvalueiterator.o \
    122         qscriptvalueiteratorimpl.o
     89        qxmlstream.o \
     90        qxmlutils.o \
     91        qnumeric.o
    12392
    12493
     
    193162        $(CXX) $(CXXFLAGS) $(SOURCE_PATH)/src/corelib/tools/qbytearraymatcher.cpp
    194163
     164qutfcodec.o: $(SOURCE_PATH)/src/corelib/codecs/qutfcodec.cpp
     165        $(CXX) $(CXXFLAGS) $(SOURCE_PATH)/src/corelib/codecs/qutfcodec.cpp
     166
    195167qstring.o: $(SOURCE_PATH)/src/corelib/tools/qstring.cpp
    196168        $(CXX) $(CXXFLAGS) $(SOURCE_PATH)/src/corelib/tools/qstring.cpp
     
    205177        $(CXX) $(CXXFLAGS) $(SOURCE_PATH)/src/corelib/io/qbuffer.cpp
    206178
    207 qlistdata.o: $(SOURCE_PATH)/src/corelib/tools/qlistdata.cpp
    208         $(CXX) $(CXXFLAGS) $(SOURCE_PATH)/src/corelib/tools/qlistdata.cpp
     179qlist.o: $(SOURCE_PATH)/src/corelib/tools/qlist.cpp
     180        $(CXX) $(CXXFLAGS) $(SOURCE_PATH)/src/corelib/tools/qlist.cpp
    209181
    210182qlinkedlist.o: $(SOURCE_PATH)/src/corelib/tools/qlinkedlist.cpp
     
    232204        $(CXX) $(CXXFLAGS) $(SOURCE_PATH)/src/corelib/io/qfsfileengine_iterator.cpp
    233205
    234 qtextcodec.o: $(SOURCE_PATH)/src/codecs/qtextcodec.cpp
    235         $(CXX) $(CXXFLAGS) $(SOURCE_PATH)/src/codecs/qtextcodec.cpp
     206qtextcodec.o: $(SOURCE_PATH)/src/corelib/codecs/qtextcodec.cpp
     207        $(CXX) $(CXXFLAGS) $(SOURCE_PATH)/src/corelib/codecs/qtextcodec.cpp
    236208
    237209qregexp.o: $(SOURCE_PATH)/src/corelib/tools/qregexp.cpp
     
    295267        $(CXX) $(CXXFLAGS) generators/win32/msvc_objectmodel.cpp
    296268
     269symmake.o: $(SOURCE_PATH)/qmake/generators/symbian/symmake.cpp
     270        $(CXX) $(CXXFLAGS) generators/symbian/symmake.cpp
     271
     272symmake_abld.o: $(SOURCE_PATH)/qmake/generators/symbian/symmake_abld.cpp
     273        $(CXX) $(CXXFLAGS) generators/symbian/symmake_abld.cpp
     274
     275symmake_sbsv2.o: $(SOURCE_PATH)/qmake/generators/symbian/symmake_sbsv2.cpp
     276        $(CXX) $(CXXFLAGS) generators/symbian/symmake_sbsv2.cpp
     277
     278initprojectdeploy_symbian.o: $(SOURCE_PATH)/qmake/generators/symbian/initprojectdeploy_symbian.cpp
     279        $(CXX) $(CXXFLAGS) generators/symbian/initprojectdeploy_symbian.cpp
     280
    297281gnumake.o: $(SOURCE_PATH)/qmake/generators/os2/gnumake.cpp
    298282        $(CXX) $(CXXFLAGS) generators/os2/gnumake.cpp
     
    328312        $(CXX) $(CXXFLAGS) generators/xmloutput.cpp
    329313
    330 qscriptasm.o: $(SOURCE_PATH)\src\script\qscriptasm.cpp
    331         $(CXX) $(CXXFLAGS) $(SOURCE_PATH)\src\script\qscriptasm.cpp
    332 
    333 qscriptast.o: $(SOURCE_PATH)\src\script\qscriptast.cpp
    334         $(CXX) $(CXXFLAGS) $(SOURCE_PATH)\src\script\qscriptast.cpp
    335 
    336 qscriptastvisitor.o: $(SOURCE_PATH)\src\script\qscriptastvisitor.cpp
    337         $(CXX) $(CXXFLAGS) $(SOURCE_PATH)\src\script\qscriptastvisitor.cpp
    338 
    339 qscriptcompiler.o: $(SOURCE_PATH)\src\script\qscriptcompiler.cpp
    340         $(CXX) $(CXXFLAGS) $(SOURCE_PATH)\src\script\qscriptcompiler.cpp
    341 
    342 qscriptecmaarray.o: $(SOURCE_PATH)\src\script\qscriptecmaarray.cpp
    343         $(CXX) $(CXXFLAGS) $(SOURCE_PATH)\src\script\qscriptecmaarray.cpp
    344 
    345 qscriptecmaboolean.o: $(SOURCE_PATH)/src/script/qscriptecmaboolean.cpp
    346         $(CXX) $(CXXFLAGS) $(SOURCE_PATH)/src/script/qscriptecmaboolean.cpp
    347 
    348 qscriptecmacore.o: $(SOURCE_PATH)/src/script/qscriptecmacore.cpp
    349         $(CXX) $(CXXFLAGS) $(SOURCE_PATH)/src/script/qscriptecmacore.cpp
    350 
    351 qscriptecmadate.o: $(SOURCE_PATH)/src/script/qscriptecmadate.cpp
    352         $(CXX) $(CXXFLAGS) $(SOURCE_PATH)/src/script/qscriptecmadate.cpp
    353 
    354 qscriptecmafunction.o: $(SOURCE_PATH)/src/script/qscriptecmafunction.cpp
    355         $(CXX) $(CXXFLAGS) $(SOURCE_PATH)/src/script/qscriptecmafunction.cpp
    356 
    357 qscriptecmaglobal.o: $(SOURCE_PATH)/src/script/qscriptecmaglobal.cpp
    358         $(CXX) $(CXXFLAGS) $(SOURCE_PATH)/src/script/qscriptecmaglobal.cpp
    359 
    360 qscriptecmamath.o: $(SOURCE_PATH)/src/script/qscriptecmamath.cpp
    361         $(CXX) $(CXXFLAGS) $(SOURCE_PATH)/src/script/qscriptecmamath.cpp
    362 
    363 qscriptecmanumber.o: $(SOURCE_PATH)/src/script/qscriptecmanumber.cpp
    364         $(CXX) $(CXXFLAGS) $(SOURCE_PATH)/src/script/qscriptecmanumber.cpp
    365 
    366 qscriptecmaobject.o: $(SOURCE_PATH)/src/script/qscriptecmaobject.cpp
    367         $(CXX) $(CXXFLAGS) $(SOURCE_PATH)/src/script/qscriptecmaobject.cpp
    368 
    369 qscriptecmaregexp.o: $(SOURCE_PATH)/src/script/qscriptecmaregexp.cpp
    370         $(CXX) $(CXXFLAGS) $(SOURCE_PATH)/src/script/qscriptecmaregexp.cpp
    371 
    372 qscriptecmastring.o: $(SOURCE_PATH)/src/script/qscriptecmastring.cpp
    373         $(CXX) $(CXXFLAGS) $(SOURCE_PATH)/src/script/qscriptecmastring.cpp
    374 
    375 qscriptecmaerror.o: $(SOURCE_PATH)/src/script/qscriptecmaerror.cpp
    376         $(CXX) $(CXXFLAGS) $(SOURCE_PATH)/src/script/qscriptecmaerror.cpp
    377 
    378 qscriptcontext_p.o: $(SOURCE_PATH)/src/script/qscriptcontext_p.cpp
    379         $(CXX) $(CXXFLAGS) $(SOURCE_PATH)/src/script/qscriptcontext_p.cpp
    380 
    381 qscriptengine.o: $(SOURCE_PATH)/src/script/qscriptengine.cpp
    382         $(CXX) $(CXXFLAGS) $(SOURCE_PATH)/src/script/qscriptengine.cpp
    383 
    384 qscriptengine_p.o: $(SOURCE_PATH)/src/script/qscriptengine_p.cpp
    385         $(CXX) $(CXXFLAGS) $(SOURCE_PATH)/src/script/qscriptengine_p.cpp
    386 
    387 qscriptengineagent.o: $(SOURCE_PATH)/src/script/qscriptengineagent.cpp
    388         $(CXX) $(CXXFLAGS) $(SOURCE_PATH)/src/script/qscriptengineagent.cpp
    389 
    390 qscriptextenumeration.o: $(SOURCE_PATH)/src/script/qscriptextenumeration.cpp
    391         $(CXX) $(CXXFLAGS) $(SOURCE_PATH)/src/script/qscriptextenumeration.cpp
    392 
    393 qscriptextvariant.o: $(SOURCE_PATH)/src/script/qscriptextvariant.cpp
    394         $(CXX) $(CXXFLAGS) $(SOURCE_PATH)/src/script/qscriptextvariant.cpp
    395 
    396 qscriptcontext.o: $(SOURCE_PATH)/src/script/qscriptcontext.cpp
    397         $(CXX) $(CXXFLAGS) $(SOURCE_PATH)/src/script/qscriptcontext.cpp
    398 
    399 qscriptcontextinfo.o: $(SOURCE_PATH)/src/script/qscriptcontextinfo.cpp
    400         $(CXX) $(CXXFLAGS) $(SOURCE_PATH)/src/script/qscriptcontextinfo.cpp
    401 
    402 qscriptfunction.o: $(SOURCE_PATH)/src/script/qscriptfunction.cpp
    403         $(CXX) $(CXXFLAGS) $(SOURCE_PATH)/src/script/qscriptfunction.cpp
    404 
    405 qscriptgrammar.o: $(SOURCE_PATH)/src/script/qscriptgrammar.cpp
    406         $(CXX) $(CXXFLAGS) $(SOURCE_PATH)/src/script/qscriptgrammar.cpp
    407 
    408 qscriptlexer.o: $(SOURCE_PATH)/src/script/qscriptlexer.cpp
    409         $(CXX) $(CXXFLAGS) $(SOURCE_PATH)/src/script/qscriptlexer.cpp
    410 
    411 qscriptclassdata.o: $(SOURCE_PATH)/src/script/qscriptclassdata.cpp
    412         $(CXX) $(CXXFLAGS) $(SOURCE_PATH)/src/script/qscriptclassdata.cpp
    413 
    414 qscriptparser.o: $(SOURCE_PATH)/src/script/qscriptparser.cpp
    415         $(CXX) $(CXXFLAGS) $(SOURCE_PATH)/src/script/qscriptparser.cpp
    416 
    417 qscriptprettypretty.o: $(SOURCE_PATH)/src/script/qscriptprettypretty.cpp
    418         $(CXX) $(CXXFLAGS) $(SOURCE_PATH)/src/script/qscriptprettypretty.cpp
    419 
    420 qscriptsyntaxchecker.o: $(SOURCE_PATH)/src/script/qscriptsyntaxchecker.cpp
    421         $(CXX) $(CXXFLAGS) $(SOURCE_PATH)/src/script/qscriptsyntaxchecker.cpp
    422 
    423 qscriptclass.o: $(SOURCE_PATH)/src/script/qscriptclass.cpp
    424         $(CXX) $(CXXFLAGS) $(SOURCE_PATH)/src/script/qscriptclass.cpp
    425 
    426 qscriptclasspropertyiterator.o: $(SOURCE_PATH)/src/script/qscriptclasspropertyiterator.cpp
    427         $(CXX) $(CXXFLAGS) $(SOURCE_PATH)/src/script/qscriptclasspropertyiterator.cpp
    428 
    429 qscriptstring.o: $(SOURCE_PATH)/src/script/qscriptstring.cpp
    430         $(CXX) $(CXXFLAGS) $(SOURCE_PATH)/src/script/qscriptstring.cpp
    431 
    432 qscriptvalue.o: $(SOURCE_PATH)/src/script/qscriptvalue.cpp
    433         $(CXX) $(CXXFLAGS) $(SOURCE_PATH)/src/script/qscriptvalue.cpp
    434 
    435 qscriptvalueimpl.o: $(SOURCE_PATH)/src/script/qscriptvalueimpl.cpp
    436         $(CXX) $(CXXFLAGS) $(SOURCE_PATH)/src/script/qscriptvalueimpl.cpp
    437 
    438 qscriptvalueiterator.o: $(SOURCE_PATH)/src/script/qscriptvalueiterator.cpp
    439         $(CXX) $(CXXFLAGS) $(SOURCE_PATH)/src/script/qscriptvalueiterator.cpp
    440 
    441 qscriptvalueiteratorimpl.o: $(SOURCE_PATH)/src/script/qscriptvalueiteratorimpl.cpp
    442         $(CXX) $(CXXFLAGS) $(SOURCE_PATH)/src/script/qscriptvalueiteratorimpl.cpp
     314qxmlstream.o: $(SOURCE_PATH)/src/corelib/xml/qxmlstream.cpp
     315        $(CXX) $(CXXFLAGS) $(SOURCE_PATH)/src/corelib/xml/qxmlstream.cpp
     316
     317qxmlutils.o: $(SOURCE_PATH)/src/corelib/xml/qxmlutils.cpp
     318        $(CXX) $(CXXFLAGS) $(SOURCE_PATH)/src/corelib/xml/qxmlutils.cpp
  • trunk/qmake/Makefile.win32-g++-sh

    r51 r561  
    1515CFLAGS      =   -c -o$@ -O \
    1616                -I. -Igenerators -Igenerators/unix \
    17                 -Igenerators/win32 -Igenerators/os2 -Igenerators/mac \
     17                -Igenerators/win32 -Igenerators/mac \
     18                -Igenerators/symbian -Igenerators/os2 \
    1819                -I$(BUILD_PATH)/include -I$(BUILD_PATH)/include/QtCore \
    1920                -I$(SOURCE_PATH)/include -I$(SOURCE_PATH)/include/QtCore \
    2021                -I$(BUILD_PATH)/src/corelib/global \
    21                 -I$(BUILD_PATH)/include/QtScript \
     22                -I$(BUILD_PATH)/src/corelib/xml \
    2223                -I$(SOURCE_PATH)/mkspecs/win32-g++  \
    2324                -DQT_NO_TEXTCODEC -DQT_NO_UNICODETABLES -DQT_LITE_COMPONENT -DQT_NO_PCRE \
    24                 -DQT_NODLL -DQT_NO_STL -DQT_NO_COMPRESS -DUNICODE -DHAVE_QCONFIG_CPP \
    25                 -DQT_BUILD_QMAKE -DQT_NO_THREAD -DQT_NO_QOBJECT -DQT_NO_GEOM_VARIANT -DQT_NO_DATASTREAM
     25                -DQT_NODLL -DQT_NO_STL -DQT_NO_COMPRESS -DUNICODE -DHAVE_QCONFIG_CPP \
     26                -DQT_BUILD_QMAKE -DQT_NO_THREAD -DQT_NO_QOBJECT -DQT_NO_GEOM_VARIANT -DQT_NO_DATASTREAM \
     27                -DQT_BOOTSTRAPPED
    2628CXXFLAGS    =   $(CFLAGS)
    2729LFLAGS      =
     
    3638              makefiledeps.o metamakefile.o xmloutput.o pbuilder_pbx.o \
    3739              borland_bmake.o msvc_nmake.o msvc_dsp.o msvc_vcproj.o \
    38               msvc_objectmodel.o gnumake.o
     40              msvc_objectmodel.o symmake.o initprojectdeploy_symbian.o \
     41              symmake_abld.o symmake_sbsv2.o gnumake.o
    3942
    4043ifdef QMAKE_OPENSOURCE_EDITION
     
    6669        qiodevice.o \
    6770        qlibraryinfo.o \
    68         qlistdata.o \
     71        qlist.o \
    6972        qlinkedlist.o \
    7073        qlocale.o \
     
    7275        qmap.o \
    7376        qregexp.o \
     77        qtextcodec.o \
     78        qutfcodec.o \
    7479        qstring.o \
    7580        qstringlist.o \
     
    8287        qvariant.o \
    8388        qmetatype.o \
    84         qnumeric.o \
    85         qscriptasm.o \
    86         qscriptast.o \
    87         qscriptastvisitor.o \
    88         qscriptcompiler.o \
    89         qscriptecmaarray.o \
    90         qscriptecmaboolean.o \
    91         qscriptecmacore.o \
    92         qscriptecmadate.o \
    93         qscriptecmafunction.o \
    94         qscriptecmaglobal.o \
    95         qscriptecmamath.o \
    96         qscriptecmanumber.o \
    97         qscriptecmaobject.o \
    98         qscriptecmaregexp.o \
    99         qscriptecmastring.o \
    100         qscriptecmaerror.o \
    101         qscriptcontext_p.o \
    102         qscriptengine.o \
    103         qscriptengine_p.o \
    104         qscriptengineagent.o \
    105         qscriptextenumeration.o \
    106         qscriptextvariant.o \
    107         qscriptcontext.o \
    108         qscriptcontextinfo.o \
    109         qscriptfunction.o \
    110         qscriptgrammar.o \
    111         qscriptlexer.o \
    112         qscriptclassdata.o \
    113         qscriptparser.o \
    114         qscriptprettypretty.o \
    115         qscriptsyntaxchecker.o \
    116         qscriptclass.o \
    117         qscriptclasspropertyiterator.o \
    118         qscriptstring.o \
    119         qscriptvalue.o \
    120         qscriptvalueimpl.o \
    121         qscriptvalueiterator.o \
    122         qscriptvalueiteratorimpl.o
     89        qxmlstream.o \
     90        qxmlutils.o \
     91        qnumeric.o
    12392
    12493qmake.exe: $(OBJS) $(QTOBJS)
     
    192161        $(CXX) $(CXXFLAGS) $(SOURCE_PATH)/src/corelib/tools/qbytearraymatcher.cpp
    193162
     163qutfcodec.o: $(SOURCE_PATH)/src/corelib/codecs/qutfcodec.cpp
     164        $(CXX) $(CXXFLAGS) $(SOURCE_PATH)/src/corelib/codecs/qutfcodec.cpp
     165
    194166qstring.o: $(SOURCE_PATH)/src/corelib/tools/qstring.cpp
    195167        $(CXX) $(CXXFLAGS) $(SOURCE_PATH)/src/corelib/tools/qstring.cpp
     
    204176        $(CXX) $(CXXFLAGS) $(SOURCE_PATH)/src/corelib/io/qbuffer.cpp
    205177
    206 qlistdata.o: $(SOURCE_PATH)/src/corelib/tools/qlistdata.cpp
    207         $(CXX) $(CXXFLAGS) $(SOURCE_PATH)/src/corelib/tools/qlistdata.cpp
     178qlist.o: $(SOURCE_PATH)/src/corelib/tools/qlist.cpp
     179        $(CXX) $(CXXFLAGS) $(SOURCE_PATH)/src/corelib/tools/qlist.cpp
    208180
    209181qlinkedlist.o: $(SOURCE_PATH)/src/corelib/tools/qlinkedlist.cpp
     
    231203        $(CXX) $(CXXFLAGS) $(SOURCE_PATH)/src/corelib/io/qfsfileengine_iterator.cpp
    232204
    233 qtextcodec.o: $(SOURCE_PATH)/src/codecs/qtextcodec.cpp
    234         $(CXX) $(CXXFLAGS) $(SOURCE_PATH)/src/codecs/qtextcodec.cpp
     205qtextcodec.o: $(SOURCE_PATH)/src/corelib/codecs/qtextcodec.cpp
     206        $(CXX) $(CXXFLAGS) $(SOURCE_PATH)/src/corelib/codecs/qtextcodec.cpp
    235207
    236208qregexp.o: $(SOURCE_PATH)/src/corelib/tools/qregexp.cpp
     
    294266        $(CXX) $(CXXFLAGS) generators/win32/msvc_objectmodel.cpp
    295267
     268symmake.o: $(SOURCE_PATH)/qmake/generators/symbian/symmake.cpp
     269        $(CXX) $(CXXFLAGS) generators/symbian/symmake.cpp
     270
     271symmake_abld.o: $(SOURCE_PATH)/qmake/generators/symbian/symmake_abld.cpp
     272        $(CXX) $(CXXFLAGS) generators/symbian/symmake_abld.cpp
     273
     274symmake_sbsv2.o: $(SOURCE_PATH)/qmake/generators/symbian/symmake_sbsv2.cpp
     275        $(CXX) $(CXXFLAGS) generators/symbian/symmake_sbsv2.cpp
     276
     277initprojectdeploy_symbian.o: $(SOURCE_PATH)/qmake/generators/symbian/initprojectdeploy_symbian.cpp
     278        $(CXX) $(CXXFLAGS) generators/symbian/initprojectdeploy_symbian.cpp
     279
    296280gnumake.o: $(SOURCE_PATH)/qmake/generators/os2/gnumake.cpp
    297281        $(CXX) $(CXXFLAGS) generators/os2/gnumake.cpp
     
    327311        $(CXX) $(CXXFLAGS) generators/xmloutput.cpp
    328312
    329 qscriptasm.o: $(SOURCE_PATH)\src\script\qscriptasm.cpp
    330         $(CXX) $(CXXFLAGS) $(SOURCE_PATH)\src\script\qscriptasm.cpp
    331 
    332 qscriptast.o: $(SOURCE_PATH)\src\script\qscriptast.cpp
    333         $(CXX) $(CXXFLAGS) $(SOURCE_PATH)\src\script\qscriptast.cpp
    334 
    335 qscriptastvisitor.o: $(SOURCE_PATH)\src\script\qscriptastvisitor.cpp
    336         $(CXX) $(CXXFLAGS) $(SOURCE_PATH)\src\script\qscriptastvisitor.cpp
    337 
    338 qscriptcompiler.o: $(SOURCE_PATH)\src\script\qscriptcompiler.cpp
    339         $(CXX) $(CXXFLAGS) $(SOURCE_PATH)\src\script\qscriptcompiler.cpp
    340 
    341 qscriptecmaarray.o: $(SOURCE_PATH)\src\script\qscriptecmaarray.cpp
    342         $(CXX) $(CXXFLAGS) $(SOURCE_PATH)\src\script\qscriptecmaarray.cpp
    343 
    344 qscriptecmaboolean.o: $(SOURCE_PATH)/src/script/qscriptecmaboolean.cpp
    345         $(CXX) $(CXXFLAGS) $(SOURCE_PATH)/src/script/qscriptecmaboolean.cpp
    346 
    347 qscriptecmacore.o: $(SOURCE_PATH)/src/script/qscriptecmacore.cpp
    348         $(CXX) $(CXXFLAGS) $(SOURCE_PATH)/src/script/qscriptecmacore.cpp
    349 
    350 qscriptecmadate.o: $(SOURCE_PATH)/src/script/qscriptecmadate.cpp
    351         $(CXX) $(CXXFLAGS) $(SOURCE_PATH)/src/script/qscriptecmadate.cpp
    352 
    353 qscriptecmafunction.o: $(SOURCE_PATH)/src/script/qscriptecmafunction.cpp
    354         $(CXX) $(CXXFLAGS) $(SOURCE_PATH)/src/script/qscriptecmafunction.cpp
    355 
    356 qscriptecmaglobal.o: $(SOURCE_PATH)/src/script/qscriptecmaglobal.cpp
    357         $(CXX) $(CXXFLAGS) $(SOURCE_PATH)/src/script/qscriptecmaglobal.cpp
    358 
    359 qscriptecmamath.o: $(SOURCE_PATH)/src/script/qscriptecmamath.cpp
    360         $(CXX) $(CXXFLAGS) $(SOURCE_PATH)/src/script/qscriptecmamath.cpp
    361 
    362 qscriptecmanumber.o: $(SOURCE_PATH)/src/script/qscriptecmanumber.cpp
    363         $(CXX) $(CXXFLAGS) $(SOURCE_PATH)/src/script/qscriptecmanumber.cpp
    364 
    365 qscriptecmaobject.o: $(SOURCE_PATH)/src/script/qscriptecmaobject.cpp
    366         $(CXX) $(CXXFLAGS) $(SOURCE_PATH)/src/script/qscriptecmaobject.cpp
    367 
    368 qscriptecmaregexp.o: $(SOURCE_PATH)/src/script/qscriptecmaregexp.cpp
    369         $(CXX) $(CXXFLAGS) $(SOURCE_PATH)/src/script/qscriptecmaregexp.cpp
    370 
    371 qscriptecmastring.o: $(SOURCE_PATH)/src/script/qscriptecmastring.cpp
    372         $(CXX) $(CXXFLAGS) $(SOURCE_PATH)/src/script/qscriptecmastring.cpp
    373 
    374 qscriptecmaerror.o: $(SOURCE_PATH)/src/script/qscriptecmaerror.cpp
    375         $(CXX) $(CXXFLAGS) $(SOURCE_PATH)/src/script/qscriptecmaerror.cpp
    376 
    377 qscriptcontext_p.o: $(SOURCE_PATH)/src/script/qscriptcontext_p.cpp
    378         $(CXX) $(CXXFLAGS) $(SOURCE_PATH)/src/script/qscriptcontext_p.cpp
    379 
    380 qscriptengine.o: $(SOURCE_PATH)/src/script/qscriptengine.cpp
    381         $(CXX) $(CXXFLAGS) $(SOURCE_PATH)/src/script/qscriptengine.cpp
    382 
    383 qscriptengine_p.o: $(SOURCE_PATH)/src/script/qscriptengine_p.cpp
    384         $(CXX) $(CXXFLAGS) $(SOURCE_PATH)/src/script/qscriptengine_p.cpp
    385 
    386 qscriptengineagent.o: $(SOURCE_PATH)/src/script/qscriptengineagent.cpp
    387         $(CXX) $(CXXFLAGS) $(SOURCE_PATH)/src/script/qscriptengineagent.cpp
    388 
    389 qscriptextenumeration.o: $(SOURCE_PATH)/src/script/qscriptextenumeration.cpp
    390         $(CXX) $(CXXFLAGS) $(SOURCE_PATH)/src/script/qscriptextenumeration.cpp
    391 
    392 qscriptextvariant.o: $(SOURCE_PATH)/src/script/qscriptextvariant.cpp
    393         $(CXX) $(CXXFLAGS) $(SOURCE_PATH)/src/script/qscriptextvariant.cpp
    394 
    395 qscriptcontext.o: $(SOURCE_PATH)/src/script/qscriptcontext.cpp
    396         $(CXX) $(CXXFLAGS) $(SOURCE_PATH)/src/script/qscriptcontext.cpp
    397 
    398 qscriptcontextinfo.o: $(SOURCE_PATH)/src/script/qscriptcontextinfo.cpp
    399         $(CXX) $(CXXFLAGS) $(SOURCE_PATH)/src/script/qscriptcontextinfo.cpp
    400 
    401 qscriptfunction.o: $(SOURCE_PATH)/src/script/qscriptfunction.cpp
    402         $(CXX) $(CXXFLAGS) $(SOURCE_PATH)/src/script/qscriptfunction.cpp
    403 
    404 qscriptgrammar.o: $(SOURCE_PATH)/src/script/qscriptgrammar.cpp
    405         $(CXX) $(CXXFLAGS) $(SOURCE_PATH)/src/script/qscriptgrammar.cpp
    406 
    407 qscriptlexer.o: $(SOURCE_PATH)/src/script/qscriptlexer.cpp
    408         $(CXX) $(CXXFLAGS) $(SOURCE_PATH)/src/script/qscriptlexer.cpp
    409 
    410 qscriptclassdata.o: $(SOURCE_PATH)/src/script/qscriptclassdata.cpp
    411         $(CXX) $(CXXFLAGS) $(SOURCE_PATH)/src/script/qscriptclassdata.cpp
    412 
    413 qscriptparser.o: $(SOURCE_PATH)/src/script/qscriptparser.cpp
    414         $(CXX) $(CXXFLAGS) $(SOURCE_PATH)/src/script/qscriptparser.cpp
    415 
    416 qscriptprettypretty.o: $(SOURCE_PATH)/src/script/qscriptprettypretty.cpp
    417         $(CXX) $(CXXFLAGS) $(SOURCE_PATH)/src/script/qscriptprettypretty.cpp
    418 
    419 qscriptsyntaxchecker.o: $(SOURCE_PATH)/src/script/qscriptsyntaxchecker.cpp
    420         $(CXX) $(CXXFLAGS) $(SOURCE_PATH)/src/script/qscriptsyntaxchecker.cpp
    421 
    422 qscriptclass.o: $(SOURCE_PATH)/src/script/qscriptclass.cpp
    423         $(CXX) $(CXXFLAGS) $(SOURCE_PATH)/src/script/qscriptclass.cpp
    424 
    425 qscriptclasspropertyiterator.o: $(SOURCE_PATH)/src/script/qscriptclasspropertyiterator.cpp
    426         $(CXX) $(CXXFLAGS) $(SOURCE_PATH)/src/script/qscriptclasspropertyiterator.cpp
    427 
    428 qscriptstring.o: $(SOURCE_PATH)/src/script/qscriptstring.cpp
    429         $(CXX) $(CXXFLAGS) $(SOURCE_PATH)/src/script/qscriptstring.cpp
    430 
    431 qscriptvalue.o: $(SOURCE_PATH)/src/script/qscriptvalue.cpp
    432         $(CXX) $(CXXFLAGS) $(SOURCE_PATH)/src/script/qscriptvalue.cpp
    433 
    434 qscriptvalueimpl.o: $(SOURCE_PATH)/src/script/qscriptvalueimpl.cpp
    435         $(CXX) $(CXXFLAGS) $(SOURCE_PATH)/src/script/qscriptvalueimpl.cpp
    436 
    437 qscriptvalueiterator.o: $(SOURCE_PATH)/src/script/qscriptvalueiterator.cpp
    438         $(CXX) $(CXXFLAGS) $(SOURCE_PATH)/src/script/qscriptvalueiterator.cpp
    439 
    440 qscriptvalueiteratorimpl.o: $(SOURCE_PATH)/src/script/qscriptvalueiteratorimpl.cpp
    441         $(CXX) $(CXXFLAGS) $(SOURCE_PATH)/src/script/qscriptvalueiteratorimpl.cpp
     313qxmlstream.o: $(SOURCE_PATH)/src/corelib/xml/qxmlstream.cpp
     314        $(CXX) $(CXXFLAGS) $(SOURCE_PATH)/src/corelib/xml/qxmlstream.cpp
     315
     316qxmlutils.o: $(SOURCE_PATH)/src/corelib/xml/qxmlutils.cpp
     317        $(CXX) $(CXXFLAGS) $(SOURCE_PATH)/src/corelib/xml/qxmlutils.cpp
  • trunk/qmake/cachekeys.h

    r363 r561  
    22**
    33** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
    4 ** Contact: Qt Software Information (qt-info@nokia.com)
     4** All rights reserved.
     5** Contact: Nokia Corporation (qt-info@nokia.com)
    56**
    67** This file is part of the qmake application of the Qt Toolkit.
     
    2122** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
    2223**
    23 ** In addition, as a special exception, Nokia gives you certain
    24 ** additional rights. These rights are described in the Nokia Qt LGPL
    25 ** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
    26 ** package.
     24** In addition, as a special exception, Nokia gives you certain additional
     25** rights.  These rights are described in the Nokia Qt LGPL Exception
     26** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
    2727**
    2828** GNU General Public License Usage
     
    3434** met: http://www.gnu.org/copyleft/gpl.html.
    3535**
    36 ** If you are unsure which license is appropriate for your use, please
    37 ** contact the sales department at qt-sales@nokia.com.
     36** If you have questions regarding the use of this file, please contact
     37** Nokia at qt-info@nokia.com.
    3838** $QT_END_LICENSE$
    3939**
  • trunk/qmake/generators/mac/pbuilder_pbx.cpp

    r2 r561  
    22**
    33** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
    4 ** Contact: Qt Software Information (qt-info@nokia.com)
     4** All rights reserved.
     5** Contact: Nokia Corporation (qt-info@nokia.com)
    56**
    67** This file is part of the qmake application of the Qt Toolkit.
     
    2122** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
    2223**
    23 ** In addition, as a special exception, Nokia gives you certain
    24 ** additional rights. These rights are described in the Nokia Qt LGPL
    25 ** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
    26 ** package.
     24** In addition, as a special exception, Nokia gives you certain additional
     25** rights.  These rights are described in the Nokia Qt LGPL Exception
     26** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
    2727**
    2828** GNU General Public License Usage
     
    3434** met: http://www.gnu.org/copyleft/gpl.html.
    3535**
    36 ** If you are unsure which license is appropriate for your use, please
    37 ** contact the sales department at qt-sales@nokia.com.
     36** If you have questions regarding the use of this file, please contact
     37** Nokia at qt-info@nokia.com.
    3838** $QT_END_LICENSE$
    3939**
     
    157157                    if(!profile.endsWith(Option::dir_sep))
    158158                        profile += Option::dir_sep;
    159                     profile += fi.baseName() + ".pro";
     159                    profile += fi.baseName() + Option::pro_ext;
    160160                    fi = QFileInfo(profile);
    161161                }
  • trunk/qmake/generators/mac/pbuilder_pbx.h

    r2 r561  
    22**
    33** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
    4 ** Contact: Qt Software Information (qt-info@nokia.com)
     4** All rights reserved.
     5** Contact: Nokia Corporation (qt-info@nokia.com)
    56**
    67** This file is part of the qmake application of the Qt Toolkit.
     
    2122** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
    2223**
    23 ** In addition, as a special exception, Nokia gives you certain
    24 ** additional rights. These rights are described in the Nokia Qt LGPL
    25 ** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
    26 ** package.
     24** In addition, as a special exception, Nokia gives you certain additional
     25** rights.  These rights are described in the Nokia Qt LGPL Exception
     26** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
    2727**
    2828** GNU General Public License Usage
     
    3434** met: http://www.gnu.org/copyleft/gpl.html.
    3535**
    36 ** If you are unsure which license is appropriate for your use, please
    37 ** contact the sales department at qt-sales@nokia.com.
     36** If you have questions regarding the use of this file, please contact
     37** Nokia at qt-info@nokia.com.
    3838** $QT_END_LICENSE$
    3939**
  • trunk/qmake/generators/makefile.cpp

    r535 r561  
    22**
    33** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
    4 ** Contact: Qt Software Information (qt-info@nokia.com)
     4** All rights reserved.
     5** Contact: Nokia Corporation (qt-info@nokia.com)
    56**
    67** This file is part of the qmake application of the Qt Toolkit.
     
    2122** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
    2223**
    23 ** In addition, as a special exception, Nokia gives you certain
    24 ** additional rights. These rights are described in the Nokia Qt LGPL
    25 ** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
    26 ** package.
     24** In addition, as a special exception, Nokia gives you certain additional
     25** rights.  These rights are described in the Nokia Qt LGPL Exception
     26** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
    2727**
    2828** GNU General Public License Usage
     
    3434** met: http://www.gnu.org/copyleft/gpl.html.
    3535**
    36 ** If you are unsure which license is appropriate for your use, please
    37 ** contact the sales department at qt-sales@nokia.com.
     36** If you have questions regarding the use of this file, please contact
     37** Nokia at qt-info@nokia.com.
    3838** $QT_END_LICENSE$
    3939**
     
    122122    if(path.startsWith(QDir::separator())) {
    123123        d.cd(QString(QDir::separator()));
    124         path = path.right(path.length() - 1);
     124        path.remove(0, 1);
    125125    }
    126126    bool ret = true;
     
    130130        if(QFile::exists(path.left(3))) {
    131131            d.cd(path.left(3));
    132             path = path.right(path.length() - 3);
     132            path.remove(0, 3);
    133133        } else {
    134134            warn_msg(WarnLogic, "Cannot access drive '%s' (%s)",
     
    202202           v.contains("QMAKE_ABSOLUTE_SOURCE_ROOT")) {
    203203            QString root = v["QMAKE_ABSOLUTE_SOURCE_ROOT"].first();
    204             root = Option::fixPathToTargetOS(root);
     204            root = QDir::fromNativeSeparators(root);
    205205            if(!root.isEmpty()) {
    206206                QFileInfo fi = fileInfo(Option::mkfile::cachefile);
     
    208208                    QString cache_r = fi.path(), pwd = Option::output_dir;
    209209                    if(pwd.startsWith(cache_r) && !pwd.startsWith(root)) {
    210                         pwd = Option::fixPathToTargetOS(root + pwd.mid(cache_r.length()));
     210                        pwd = root + pwd.mid(cache_r.length());
    211211                        if(exists(pwd))
    212212                            v.insert("QMAKE_ABSOLUTE_SOURCE_PATH", QStringList(pwd));
     
    218218    if(!v["QMAKE_ABSOLUTE_SOURCE_PATH"].isEmpty()) {
    219219        QString &asp = v["QMAKE_ABSOLUTE_SOURCE_PATH"].first();
    220         asp = Option::fixPathToTargetOS(asp);
     220        asp = QDir::fromNativeSeparators(asp);
    221221        if(asp.isEmpty() || asp == Option::output_dir) //if they're the same, why bother?
    222222            v["QMAKE_ABSOLUTE_SOURCE_PATH"].clear();
     
    244244#endif
    245245        {
    246             if(pathRef.right(Option::dir_sep.length()) != Option::dir_sep)
     246            if(!pathRef.endsWith(Option::dir_sep))
    247247                pathRef += Option::dir_sep;
    248248        }
     
    276276                if(slash != -1) {
    277277                    path = path.left(slash);
    278                     if(path != "." &&
    279                        !mkdir(fileFixify(path, qmake_getpwd(), Option::output_dir)))
    280                         warn_msg(WarnLogic, "%s: Cannot access directory '%s'",
    281                                  (*it).toLatin1().constData(), path.toLatin1().constData());
     278                    // Make out path only if it does not contain makefile variables
     279                    if(!path.contains("${"))
     280                        if(path != "." &&
     281                           !mkdir(fileFixify(path, qmake_getpwd(), Option::output_dir)))
     282                            warn_msg(WarnLogic, "%s: Cannot access directory '%s'",
     283                                     (*it).toLatin1().constData(), path.toLatin1().constData());
    282284                }
    283285            }
     
    290292            v.remove("DESTDIR");
    291293    }
    292     QDir::current().cd(currentDir);
    293294}
    294295
     
    346347                    if(exists(real_dir + QDir::separator() + val)) {
    347348                        QString dir = (*vpath_it);
    348                         if(dir.right(Option::dir_sep.length()) != Option::dir_sep)
     349                        if(!dir.endsWith(Option::dir_sep))
    349350                            dir += Option::dir_sep;
    350351                        val = dir + val;
     
    365366                    if(!(flags & VPATH_NoFixify))
    366367                        real_dir = fileFixify(real_dir, qmake_getpwd(), Option::output_dir);
    367                     regex = regex.right(regex.length() - dir.length());
     368                    regex.remove(0, dir.length());
    368369                }
    369370                if(real_dir.isEmpty() || exists(real_dir)) {
     
    725726            QString cache_file;
    726727            if(!project->isEmpty("QMAKE_INTERNAL_CACHE_FILE")) {
    727                 cache_file = Option::fixPathToLocalOS(project->first("QMAKE_INTERNAL_CACHE_FILE"));
     728                cache_file = QDir::fromNativeSeparators(project->first("QMAKE_INTERNAL_CACHE_FILE"));
    728729            } else {
    729730                cache_file = ".qmake.internal.cache";
     
    731732                    cache_file += ".BUILD." + project->first("BUILD_PASS");
    732733            }
    733             if(cache_file.indexOf(QDir::separator()) == -1)
    734                 cache_file.prepend(Option::output_dir + QDir::separator());
     734            if(cache_file.indexOf('/') == -1)
     735                cache_file.prepend(Option::output_dir + '/');
    735736            QMakeSourceFileInfo::setCacheFile(cache_file);
    736737        }
     
    789790                        if(regex.lastIndexOf(Option::dir_sep) != -1) {
    790791                            dir = regex.left(regex.lastIndexOf(Option::dir_sep) + 1);
    791                             regex = regex.right(regex.length() - dir.length());
     792                            regex.remove(0, dir.length());
    792793                        }
    793794                        QStringList files = QDir(dir).entryList(QStringList(regex));
     
    939940    int slsh = target.lastIndexOf(Option::dir_sep);
    940941    if(slsh != -1)
    941         target = target.right(target.length() - slsh - 1);
     942        target.remove(0, slsh + 1);
    942943    QString bdir = Option::output_dir;
    943944    if(bdir.isEmpty())
     
    968969    if(project->isActiveConfig("staticlib") || project->isActiveConfig("explicitlib") ||
    969970       !project->isEmpty("PRL_EXPORT_LIBS")) {
     971        if(project->isActiveConfig("staticlib"))
     972            libs << "QMAKE_LIBS_PRIVATE";
    970973        t << "QMAKE_PRL_LIBS = ";
    971974        if (!project->isEmpty("PRL_EXPORT_LIBS")) {
     
    10661069    int slsh = ret.lastIndexOf(Option::dir_sep);
    10671070    if(slsh != -1)
    1068         ret = ret.right(ret.length() - slsh);
     1071        ret.remove(0, slsh);
    10691072    if(!ret.endsWith(Option::prl_ext)) {
    10701073        int dot = ret.indexOf('.');
    10711074        if(dot != -1)
    1072             ret = ret.left(dot);
     1075            ret.truncate(dot);
    10731076        ret += Option::prl_ext;
    10741077    }
     
    12691272                if(slsh != -1) {
    12701273                    dirstr = filestr.left(slsh+1);
    1271                     filestr = filestr.right(filestr.length() - slsh - 1);
    1272                 }
    1273                 if(dirstr.right(Option::dir_sep.length()) != Option::dir_sep)
     1274                    filestr.remove(0, slsh+1);
     1275                }
     1276                if(!dirstr.endsWith(Option::dir_sep))
    12741277                    dirstr += Option::dir_sep;
    12751278                if(exists(wild)) { //real file
     
    13711374            for(QStringList::ConstIterator pit = dirs.begin(); pit != dirs.end(); ++pit) {
    13721375                QString tmp_dst = fileFixify((*pit), FileFixifyAbsolute, false);
    1373                 if (!isDosLikeShell() && tmp_dst.right(1) != Option::dir_sep)
     1376                if (!isDosLikeShell() && !tmp_dst.endsWith(Option::dir_sep))
    13741377                    tmp_dst += Option::dir_sep;
    13751378                t << mkdir_p_asstring(filePrefixRoot(root, tmp_dst)) << "\n\t";
     
    15221525        }
    15231526        if(val.isEmpty() && var.startsWith(QLatin1String("QMAKE_VAR_FIRST_"))) {
    1524             const QString varname = var.mid(12);
     1527            const QString varname = var.mid(16);
    15251528            val += project->first(varname);
    15261529        }
     
    16101613        if(!file.isNull()) {
    16111614            QMakeSourceFileInfo::addSourceFile(file, QMakeSourceFileInfo::SEEK_MOCS);
    1612             if(!mocable(file))
     1615            if(!mocable(file)) {
    16131616                return false;
     1617            } else {
     1618                project->values("MOCABLES").append(file);
     1619            }
    16141620        }
    16151621    } else if(project->values(comp + ".CONFIG").indexOf("function_verify") != -1) {
     
    17281734            t << "\n\t" << cmd;
    17291735        t << endl << endl;
     1736
     1737                project->values(QLatin1String("QMAKE_INTERNAL_ET_PARSED_TARGETS.") + (*it)) << escapeDependencyPath(targ);
     1738                project->values(QLatin1String("QMAKE_INTERNAL_ET_PARSED_DEPS.") + (*it) + escapeDependencyPath(targ)) << deps.split(" ", QString::SkipEmptyParts);
     1739                project->values(QLatin1String("QMAKE_INTERNAL_ET_PARSED_CMD.") + (*it) + escapeDependencyPath(targ)) << cmd;
    17301740    }
    17311741}
     
    18171827            const QString del_suffix =
    18181828                Option::target_mode == Option::TARG_OS2_MODE ?
    1819                     QString(" >nul 2>&1"): // reduce noise
     1829                    QString(" >nul 2>&1") : // reduce noise
     1830                isForSymbian() ?
     1831                    QString(" 2> NUL") :
    18201832                    QString::null;
    18211833
    18221834            if(tmp_clean.indexOf("${QMAKE_") == -1) {
    18231835                t << "\n\t" << del_statement << " " << tmp_clean << del_suffix;
     1836                if (isForSymbian())
     1837                    t << " 2> NUL"; // Eliminate unnecessary warnings
    18241838                wrote_clean = true;
    18251839            }
     
    19271941                continue;
    19281942
    1929             QString cmd = replaceExtraCompilerVariables(tmp_cmd, escapeFilePaths(inputs), QStringList(tmp_out));
     1943            QString cmd;
     1944            if (isForSymbianSbsv2()) {
     1945                // In sbsv2 the command inputs and outputs need to use absolute paths
     1946                cmd = replaceExtraCompilerVariables(tmp_cmd,
     1947                    fileFixify(escapeFilePaths(inputs), FileFixifyAbsolute),
     1948                    fileFixify(QStringList(tmp_out), FileFixifyAbsolute));
     1949            } else {
     1950                cmd = replaceExtraCompilerVariables(tmp_cmd, escapeFilePaths(inputs), QStringList(tmp_out));
     1951            }
     1952
    19301953            t << escapeDependencyPath(tmp_out) << ":";
     1954            project->values(QLatin1String("QMAKE_INTERNAL_ET_PARSED_TARGETS.") + (*it)) << escapeDependencyPath(tmp_out);
    19311955            // compiler.CONFIG+=explicit_dependencies means that ONLY compiler.depends gets to cause Makefile dependencies
    19321956            if(project->values((*it) + ".CONFIG").indexOf("explicit_dependencies") != -1) {
    19331957                t << " " << valList(escapeDependencyPaths(fileFixify(tmp_dep, Option::output_dir, Option::output_dir)));
     1958                project->values(QLatin1String("QMAKE_INTERNAL_ET_PARSED_DEPS.") + (*it) + escapeDependencyPath(tmp_out)) << tmp_dep;
    19341959            } else {
    19351960                t << " " << valList(escapeDependencyPaths(inputs)) << " " << valList(escapeDependencyPaths(deps));
     1961                project->values(QLatin1String("QMAKE_INTERNAL_ET_PARSED_DEPS.") + (*it) + escapeDependencyPath(tmp_out)) << inputs << deps;
    19361962            }
    19371963            t << "\n\t" << cmd << endl << endl;
     1964            project->values(QLatin1String("QMAKE_INTERNAL_ET_PARSED_CMD.") + (*it) + escapeDependencyPath(tmp_out)) << cmd;
    19381965            continue;
    19391966        }
     
    19491976            }
    19501977            QString cmd = replaceExtraCompilerVariables(tmp_cmd, (*input), out);
     1978            // NOTE: The var -> QMAKE_COMP_var replace feature is unsupported, do not use!
     1979            if (isForSymbianSbsv2()) {
     1980                // In sbsv2 the command inputs and outputs need to use absolute paths
     1981                cmd = replaceExtraCompilerVariables(tmp_cmd,
     1982                    fileFixify((*input), FileFixifyAbsolute),
     1983                    fileFixify(out, FileFixifyAbsolute));
     1984            } else {
     1985                cmd = replaceExtraCompilerVariables(tmp_cmd, (*input), out);
     1986            }
    19511987            for(QStringList::ConstIterator it3 = vars.constBegin(); it3 != vars.constEnd(); ++it3)
    19521988                cmd.replace("$(" + (*it3) + ")", "$(QMAKE_COMP_" + (*it3)+")");
     
    20382074            t << escapeDependencyPath(out) << ": " << valList(escapeDependencyPaths(deps)) << "\n\t"
    20392075              << cmd << endl << endl;
     2076            project->values(QLatin1String("QMAKE_INTERNAL_ET_PARSED_TARGETS.") + (*it)) << escapeDependencyPath(out);
     2077            project->values(QLatin1String("QMAKE_INTERNAL_ET_PARSED_DEPS.") + (*it) + escapeDependencyPath(out)) << deps;
     2078            project->values(QLatin1String("QMAKE_INTERNAL_ET_PARSED_CMD.") + (*it) + escapeDependencyPath(out)) << cmd;
    20402079        }
    20412080    }
     
    21532192    else if(Option::target_mode == Option::TARG_OS2_MODE)
    21542193        ret += " -os2";
    2155     else if(Option::target_mode == Option::TARG_QNX6_MODE)
    2156         ret += " -qnx6";
    21572194
    21582195    //configs
     
    22132250}
    22142251
    2215 void
    2216 MakefileGenerator::writeSubDirs(QTextStream &t)
     2252QList<MakefileGenerator::SubTarget*>
     2253MakefileGenerator::findSubDirsSubTargets() const
    22172254{
    22182255    QList<SubTarget*> targets;
     
    22562293                st->in_directory = file;
    22572294            }
    2258             while(st->in_directory.right(1) == Option::dir_sep)
    2259                 st->in_directory = st->in_directory.left(st->in_directory.length() - 1);
     2295            while(st->in_directory.endsWith(Option::dir_sep))
     2296                st->in_directory.chop(1);
    22602297            if(fileInfo(st->in_directory).isRelative())
    22612298                st->out_directory = st->in_directory;
     
    23112348        }
    23122349    }
     2350    return targets;
     2351}
     2352
     2353void
     2354MakefileGenerator::writeSubDirs(QTextStream &t)
     2355{
     2356    QList<SubTarget*> targets = findSubDirsSubTargets();
    23132357    t << "first: make_default" << endl;
    23142358    int flags = SubTargetInstalls;
     
    23272371        t << "include " << (*qeui_it) << endl;
    23282372
    2329     QString ofile = Option::fixPathToTargetOS(Option::output.fileName());
    2330     if(ofile.lastIndexOf(Option::dir_sep) != -1)
    2331         ofile = ofile.right(ofile.length() - ofile.lastIndexOf(Option::dir_sep) -1);
    2332     t << "MAKEFILE      = " << ofile << endl;
    2333     /* Calling Option::fixPathToTargetOS() is necessary for MinGW/MSYS, which requires
    2334      * back-slashes to be turned into slashes. */
    2335     t << "QMAKE         = " << Option::fixPathToTargetOS(var("QMAKE_QMAKE")) << endl;
    2336     t << "DEL_FILE      = " << var("QMAKE_DEL_FILE") << endl;
    2337     t << "CHK_DIR_EXISTS= " << var("QMAKE_CHK_DIR_EXISTS") << endl;
    2338     t << "MKDIR         = " << var("QMAKE_MKDIR") << endl;
    2339     t << "COPY          = " << var("QMAKE_COPY") << endl;
    2340     t << "COPY_FILE     = " << var("QMAKE_COPY_FILE") << endl;
    2341     t << "COPY_DIR      = " << var("QMAKE_COPY_DIR") << endl;
    2342     t << "INSTALL_FILE  = " << var("QMAKE_INSTALL_FILE") << endl;
    2343     t << "INSTALL_PROGRAM = " << var("QMAKE_INSTALL_PROGRAM") << endl;
    2344     t << "INSTALL_DIR   = " << var("QMAKE_INSTALL_DIR") << endl;
    2345     t << "DEL_FILE      = " << var("QMAKE_DEL_FILE") << endl;
    2346     t << "SYMLINK       = " << var("QMAKE_SYMBOLIC_LINK") << endl;
    2347     t << "DEL_DIR       = " << var("QMAKE_DEL_DIR") << endl;
    2348     t << "MOVE          = " << var("QMAKE_MOVE") << endl;
    2349     t << "CHK_DIR_EXISTS= " << var("QMAKE_CHK_DIR_EXISTS") << endl;
    2350     t << "MKDIR         = " << var("QMAKE_MKDIR") << endl;
     2373    if (!(flags & SubTargetSkipDefaultVariables)) {
     2374        QString ofile = Option::fixPathToTargetOS(Option::output.fileName());
     2375        if(ofile.lastIndexOf(Option::dir_sep) != -1)
     2376            ofile.remove(0, ofile.lastIndexOf(Option::dir_sep) +1);
     2377        t << "MAKEFILE      = " << ofile << endl;
     2378        /* Calling Option::fixPathToTargetOS() is necessary for MinGW/MSYS, which requires
     2379         * back-slashes to be turned into slashes. */
     2380        t << "QMAKE         = " << Option::fixPathToTargetOS(var("QMAKE_QMAKE")) << endl;
     2381        t << "DEL_FILE      = " << var("QMAKE_DEL_FILE") << endl;
     2382        t << "CHK_DIR_EXISTS= " << var("QMAKE_CHK_DIR_EXISTS") << endl;
     2383        t << "MKDIR         = " << var("QMAKE_MKDIR") << endl;
     2384        t << "COPY          = " << var("QMAKE_COPY") << endl;
     2385        t << "COPY_FILE     = " << var("QMAKE_COPY_FILE") << endl;
     2386        t << "COPY_DIR      = " << var("QMAKE_COPY_DIR") << endl;
     2387        t << "INSTALL_FILE  = " << var("QMAKE_INSTALL_FILE") << endl;
     2388        t << "INSTALL_PROGRAM = " << var("QMAKE_INSTALL_PROGRAM") << endl;
     2389        t << "INSTALL_DIR   = " << var("QMAKE_INSTALL_DIR") << endl;
     2390        t << "DEL_FILE      = " << var("QMAKE_DEL_FILE") << endl;
     2391        t << "SYMLINK       = " << var("QMAKE_SYMBOLIC_LINK") << endl;
     2392        t << "DEL_DIR       = " << var("QMAKE_DEL_DIR") << endl;
     2393        t << "MOVE          = " << var("QMAKE_MOVE") << endl;
     2394        t << "CHK_DIR_EXISTS= " << var("QMAKE_CHK_DIR_EXISTS") << endl;
     2395        t << "MKDIR         = " << var("QMAKE_MKDIR") << endl;
     2396        t << "SUBTARGETS    = ";     // subtargets are sub-directory
     2397        for(int target = 0; target < targets.size(); ++target)
     2398            t << " \\\n\t\t" << targets.at(target)->target;
     2399        t << endl << endl;
     2400    }
    23512401    writeExtraVariables(t);
    2352     t << "SUBTARGETS    = ";     // subtargets are sub-directory
    2353     for(int target = 0; target < targets.size(); ++target)
    2354         t << " \\\n\t\t" << targets.at(target)->target;
    2355     t << endl << endl;
    23562402
    23572403    QStringList targetSuffixes;
    23582404    const QString abs_source_path = project->first("QMAKE_ABSOLUTE_SOURCE_PATH");
    2359     targetSuffixes << "make_default" << "make_first" << "all" << "clean" << "distclean"
    2360                    << QString((flags & SubTargetInstalls) ? "install_subtargets" : "install")
    2361                    << QString((flags & SubTargetInstalls) ? "uninstall_subtargets" : "uninstall");
     2405    if (!(flags & SubTargetSkipDefaultTargets)) {
     2406        targetSuffixes << "make_default" << "make_first" << "all" << "clean" << "distclean"
     2407                       << QString((flags & SubTargetInstalls) ? "install_subtargets" : "install")
     2408                       << QString((flags & SubTargetInstalls) ? "uninstall_subtargets" : "uninstall");
     2409    }
    23622410
    23632411    // generate target rules
     
    24792527    t << endl;
    24802528
    2481     if(project->values("QMAKE_INTERNAL_QMAKE_DEPS").indexOf("qmake_all") == -1)
    2482         project->values("QMAKE_INTERNAL_QMAKE_DEPS").append("qmake_all");
    2483 
    2484     writeMakeQmake(t);
    2485 
    2486     t << "qmake_all:";
    2487     if(!targets.isEmpty()) {
    2488         for(QList<SubTarget*>::Iterator it = targets.begin(); it != targets.end(); ++it) {
    2489             if(!(*it)->profile.isEmpty())
    2490                 t << " " << (*it)->target << "-" << "qmake_all";
    2491         }
    2492     }
    2493     if(project->isEmpty("QMAKE_NOFORCE"))
    2494         t <<  " FORCE";
    2495     if(project->isActiveConfig("no_empty_targets"))
    2496         t << "\n\t" << "@cd .";
    2497     t << endl << endl;
     2529    if (!(flags & SubTargetSkipDefaultTargets)) {
     2530        if(project->values("QMAKE_INTERNAL_QMAKE_DEPS").indexOf("qmake_all") == -1)
     2531            project->values("QMAKE_INTERNAL_QMAKE_DEPS").append("qmake_all");
     2532
     2533        writeMakeQmake(t);
     2534
     2535        t << "qmake_all:";
     2536        if(!targets.isEmpty()) {
     2537            for(QList<SubTarget*>::Iterator it = targets.begin(); it != targets.end(); ++it) {
     2538                if(!(*it)->profile.isEmpty())
     2539                    t << " " << (*it)->target << "-" << "qmake_all";
     2540            }
     2541        }
     2542        if(project->isEmpty("QMAKE_NOFORCE"))
     2543            t <<  " FORCE";
     2544        if(project->isActiveConfig("no_empty_targets"))
     2545            t << "\n\t" << "@cd .";
     2546        t << endl << endl;
     2547    }
    24982548
    24992549    for(int s = 0; s < targetSuffixes.size(); ++s) {
     
    25042554        t << suffix << ":";
    25052555        for(int target = 0; target < targets.size(); ++target) {
    2506             QString targetRule = targets.at(target)->target + "-" + suffix;
     2556            SubTarget *subTarget = targets.at(target);
     2557            if((suffix == "make_first" || suffix == "make_default")
     2558                && project->values(subTarget->name + ".CONFIG").indexOf("no_default_target") != -1) {
     2559                continue;
     2560            }
     2561            QString targetRule = subTarget->target + "-" + suffix;
    25072562            if(flags & SubTargetOrdered)
    25082563                targetRule += "-ordered";
     
    27682823
    27692824    //do the fixin'
    2770     const QString pwd = qmake_getpwd() + "/";
     2825    QString pwd = qmake_getpwd();
     2826    if (!pwd.endsWith('/'))
     2827        pwd += '/';
    27712828    QString orig_file = ret;
    27722829    if(ret.startsWith(QLatin1Char('~'))) {
    27732830        if(ret.startsWith(QLatin1String("~/")))
    2774             ret = QDir::homePath() + Option::dir_sep + ret.mid(1);
     2831            ret = QDir::homePath() + ret.mid(1);
    27752832        else
    27762833            warn_msg(WarnLogic, "Unable to expand ~ in %s", ret.toLatin1().constData());
     
    28612918    int slsh = f.lastIndexOf(Option::dir_sep);
    28622919    if(slsh != -1)
    2863         file = file.right(file.length() - slsh - 1);
     2920        file.remove(0, slsh + 1);
    28642921    QStringList &l = project->values(w);
    28652922    for(QStringList::Iterator val_it = l.begin(); val_it != l.end(); ++val_it) {
     
    28672924        slsh = file2.lastIndexOf(Option::dir_sep);
    28682925        if(slsh != -1)
    2869             file2 = file2.right(file2.length() - slsh - 1);
     2926            file2.remove(0, slsh + 1);
    28702927        if(file2 == file) {
    28712928            warn_msg(WarnLogic, "Found potential symbol conflict of %s (%s) in %s",
     
    30213078            QFileInfo fi(fileInfo(file.fileName()));
    30223079            if(fi.isDir())
    3023                 outdir = file.fileName() + QDir::separator();
     3080                outdir = file.fileName() + '/';
    30243081        }
    30253082        if(!outdir.isEmpty() || file.fileName().isEmpty()) {
     
    30413098    if(project->isEmpty("QMAKE_MAKEFILE"))
    30423099        project->values("QMAKE_MAKEFILE").append(file.fileName());
    3043     int slsh = file.fileName().lastIndexOf(Option::dir_sep);
     3100    int slsh = file.fileName().lastIndexOf('/');
    30443101    if(slsh != -1)
    30453102        mkdir(file.fileName().left(slsh));
     
    30513108        else
    30523109            od = fi.path();
    3053         od = Option::fixPathToTargetOS(od);
    3054         if(QDir::isRelativePath(od))
    3055             od.prepend(Option::output_dir);
     3110        od = QDir::fromNativeSeparators(od);
     3111        if(QDir::isRelativePath(od)) {
     3112            QString dir = Option::output_dir;
     3113            if (!dir.endsWith('/') && !od.isEmpty())
     3114                dir += '/';
     3115            od.prepend(dir);
     3116        }
    30563117        Option::output_dir = od;
    30573118        return true;
  • trunk/qmake/generators/makefile.h

    r29 r561  
    22**
    33** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
    4 ** Contact: Qt Software Information (qt-info@nokia.com)
     4** All rights reserved.
     5** Contact: Nokia Corporation (qt-info@nokia.com)
    56**
    67** This file is part of the qmake application of the Qt Toolkit.
     
    2122** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
    2223**
    23 ** In addition, as a special exception, Nokia gives you certain
    24 ** additional rights. These rights are described in the Nokia Qt LGPL
    25 ** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
    26 ** package.
     24** In addition, as a special exception, Nokia gives you certain additional
     25** rights.  These rights are described in the Nokia Qt LGPL Exception
     26** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
    2727**
    2828** GNU General Public License Usage
     
    3434** met: http://www.gnu.org/copyleft/gpl.html.
    3535**
    36 ** If you are unsure which license is appropriate for your use, please
    37 ** contact the sales department at qt-sales@nokia.com.
     36** If you have questions regarding the use of this file, please contact
     37** Nokia at qt-info@nokia.com.
    3838** $QT_END_LICENSE$
    3939**
     
    117117        SubTargetInstalls=0x01,
    118118        SubTargetOrdered=0x02,
     119        SubTargetSkipDefaultVariables=0x04,
     120        SubTargetSkipDefaultTargets=0x08,
    119121
    120122        SubTargetsNoFlags=0x00
    121123    };
     124    QList<MakefileGenerator::SubTarget*> findSubDirsSubTargets() const;
    122125    void writeSubTargets(QTextStream &t, QList<SubTarget*> subtargets, int flags);
    123126
  • trunk/qmake/generators/makefiledeps.cpp

    r363 r561  
    22**
    33** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
    4 ** Contact: Qt Software Information (qt-info@nokia.com)
     4** All rights reserved.
     5** Contact: Nokia Corporation (qt-info@nokia.com)
    56**
    67** This file is part of the qmake application of the Qt Toolkit.
     
    2122** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
    2223**
    23 ** In addition, as a special exception, Nokia gives you certain
    24 ** additional rights. These rights are described in the Nokia Qt LGPL
    25 ** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
    26 ** package.
     24** In addition, as a special exception, Nokia gives you certain additional
     25** rights.  These rights are described in the Nokia Qt LGPL Exception
     26** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
    2727**
    2828** GNU General Public License Usage
     
    3434** met: http://www.gnu.org/copyleft/gpl.html.
    3535**
    36 ** If you are unsure which license is appropriate for your use, please
    37 ** contact the sales department at qt-sales@nokia.com.
     36** If you have questions regarding the use of this file, please contact
     37** Nokia at qt-info@nokia.com.
    3838** $QT_END_LICENSE$
    3939**
     
    379379    file->dep_checked = true;
    380380
     381    const QMakeLocalFileName sourceFile = fixPathForFile(file->file, true);
     382
    381383    struct stat fst;
    382384    char *buffer = 0;
     
    385387        int fd;
    386388#if defined(_MSC_VER) && _MSC_VER >= 1400
    387         if (_sopen_s(&fd, fixPathForFile(file->file, true).local().toLatin1().constData(),
     389        if (_sopen_s(&fd, sourceFile.local().toLatin1().constData(),
    388390            _O_RDONLY, _SH_DENYNO, _S_IREAD) != 0)
    389391            fd = -1;
    390392#else
    391         fd = open(fixPathForFile(file->file, true).local().toLatin1().constData(), O_RDONLY);
     393        fd = open(sourceFile.local().toLatin1().constData(), O_RDONLY);
    392394#endif
    393395        if(fd == -1 || fstat(fd, &fst) || S_ISDIR(fst.st_mode))
     
    624626                if(QDir::isRelativePath(lfn.real())) {
    625627                    if(try_local) {
    626                         QString dir = findFileInfo(file->file).path();
    627                         if(QDir::isRelativePath(dir))
    628                             dir.prepend(qmake_getpwd() + "/");
    629                         if(!dir.endsWith("/"))
    630                             dir += "/";
    631                         QMakeLocalFileName f(dir + lfn.local());
     628                        QDir sourceDir = findFileInfo(sourceFile).dir();
     629                        QMakeLocalFileName f(sourceDir.absoluteFilePath(lfn.local()));
    632630                        if(findFileInfo(f).exists()) {
    633631                            lfn = fixPathForFile(f);
  • trunk/qmake/generators/makefiledeps.h

    r2 r561  
    22**
    33** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
    4 ** Contact: Qt Software Information (qt-info@nokia.com)
     4** All rights reserved.
     5** Contact: Nokia Corporation (qt-info@nokia.com)
    56**
    67** This file is part of the qmake application of the Qt Toolkit.
     
    2122** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
    2223**
    23 ** In addition, as a special exception, Nokia gives you certain
    24 ** additional rights. These rights are described in the Nokia Qt LGPL
    25 ** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
    26 ** package.
     24** In addition, as a special exception, Nokia gives you certain additional
     25** rights.  These rights are described in the Nokia Qt LGPL Exception
     26** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
    2727**
    2828** GNU General Public License Usage
     
    3434** met: http://www.gnu.org/copyleft/gpl.html.
    3535**
    36 ** If you are unsure which license is appropriate for your use, please
    37 ** contact the sales department at qt-sales@nokia.com.
     36** If you have questions regarding the use of this file, please contact
     37** Nokia at qt-info@nokia.com.
    3838** $QT_END_LICENSE$
    3939**
  • trunk/qmake/generators/metamakefile.cpp

    r363 r561  
    22**
    33** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
    4 ** Contact: Qt Software Information (qt-info@nokia.com)
     4** All rights reserved.
     5** Contact: Nokia Corporation (qt-info@nokia.com)
    56**
    67** This file is part of the qmake application of the Qt Toolkit.
     
    2122** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
    2223**
    23 ** In addition, as a special exception, Nokia gives you certain
    24 ** additional rights. These rights are described in the Nokia Qt LGPL
    25 ** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
    26 ** package.
     24** In addition, as a special exception, Nokia gives you certain additional
     25** rights.  These rights are described in the Nokia Qt LGPL Exception
     26** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
    2727**
    2828** GNU General Public License Usage
     
    3434** met: http://www.gnu.org/copyleft/gpl.html.
    3535**
    36 ** If you are unsure which license is appropriate for your use, please
    37 ** contact the sales department at qt-sales@nokia.com.
     36** If you have questions regarding the use of this file, please contact
     37** Nokia at qt-info@nokia.com.
    3838** $QT_END_LICENSE$
    3939**
     
    6161class BuildsMetaMakefileGenerator : public MetaMakefileGenerator
    6262{
     63private:
    6364    bool init_flag;
    64 private:
    6565    struct Build {
    6666        QString name, build;
     
    137137        build->name = name;
    138138        build->makefile = createMakefileGenerator(project, false);
    139         makefiles += build;
     139        if (build->makefile){
     140            makefiles += build;
     141        }else {
     142            delete build;
     143            return false;
     144        }
    140145    }
    141146    return true;
     
    259264class SubdirsMetaMakefileGenerator : public MetaMakefileGenerator
    260265{
     266protected:
    261267    bool init_flag;
    262 private:
    263268    struct Subdir {
    264269        Subdir() : makefile(0), indent(0) { }
     
    287292        return false;
    288293    init_flag = true;
     294    bool hasError = false;
    289295
    290296    if(Option::recursive) {
    291         QString old_output_dir = QDir::cleanPath(Option::output_dir);
    292         if(!old_output_dir.endsWith('/'))
    293            old_output_dir += '/';
     297        QString old_output_dir = Option::output_dir;
    294298        QString old_output = Option::output.fileName();
    295         QString oldpwd = QDir::cleanPath(qmake_getpwd());
    296         if(!oldpwd.endsWith('/'))
    297            oldpwd += '/';
     299        QString oldpwd = qmake_getpwd();
     300        QString thispwd = oldpwd;
     301        if(!thispwd.endsWith('/'))
     302           thispwd += '/';
    298303        const QStringList &subdirs = project->values("SUBDIRS");
    299304        static int recurseDepth = -1;
     
    315320            if(!subdir.isRelative()) { //we can try to make it relative
    316321                QString subdir_path = subdir.filePath();
    317                 if(subdir_path.startsWith(oldpwd))
    318                     subdir = QFileInfo(subdir_path.mid(oldpwd.length()));
     322                if(subdir_path.startsWith(thispwd))
     323                    subdir = QFileInfo(subdir_path.mid(thispwd.length()));
    319324            }
    320325
     
    333338            qmake_setpwd(sub->input_dir);
    334339            Option::output_dir = sub->output_dir;
    335             if(Option::output_dir.at(Option::output_dir.length()-1) != QLatin1Char('/'))
    336                 Option::output_dir += QLatin1Char('/');
    337             sub_proj->read(subdir.fileName());
     340            bool tmpError = !sub_proj->read(subdir.fileName());
    338341            if(!sub_proj->variables()["QMAKE_FAILED_REQUIREMENTS"].isEmpty()) {
    339342                fprintf(stderr, "Project file(%s) not recursed because all requirements not met:\n\t%s\n",
     
    342345                delete sub;
    343346                delete sub_proj;
     347                Option::output_dir = old_output_dir;
     348                qmake_setpwd(oldpwd);
    344349                continue;
     350            } else {
     351                hasError |= tmpError;
    345352            }
    346353            sub->makefile = MetaMakefileGenerator::createMetaGenerator(sub_proj, sub_name);
     
    350357                const QString output_name = Option::output.fileName();
    351358                Option::output.setFileName(sub->output_file);
    352                 sub->makefile->write(sub->output_dir);
     359                hasError |= !sub->makefile->write(sub->output_dir);
    353360                delete sub;
    354361                qmakeClearCaches();
     
    374381    self->makefile->init();
    375382    subs.append(self);
    376     return true;
     383
     384    return !hasError;
    377385}
    378386
     
    428436#include "msvc_dsp.h"
    429437#include "msvc_vcproj.h"
     438#include "symmake_abld.h"
     439#include "symmake_sbsv2.h"
    430440QT_END_INCLUDE_NAMESPACE
    431441
     
    442452    QString gen = proj->first("MAKEFILE_GENERATOR");
    443453    if(gen.isEmpty()) {
    444         fprintf(stderr, "No generator specified in config file: %s\n",
     454        fprintf(stderr, "MAKEFILE_GENERATOR variable not set as a result of parsing : %s. Possibly qmake was not able to find files included using \"include(..)\" - enable qmake debugging to investigate more.\n",
    445455                proj->projectFile().toLatin1().constData());
    446456    } else if(gen == "UNIX") {
     
    466476    } else if(gen == "BMAKE") {
    467477        mkfile = new BorlandMakefileGenerator;
     478    } else if(gen == "SYMBIAN_ABLD") {
     479        mkfile = new SymbianAbldMakefileGenerator;
     480    } else if(gen == "SYMBIAN_SBSV2") {
     481        mkfile = new SymbianSbsv2MakefileGenerator;
    468482    } else {
    469483        fprintf(stderr, "Unknown generator specified: %s\n", gen.toLatin1().constData());
     
    477491
    478492MetaMakefileGenerator *
    479 MetaMakefileGenerator::createMetaGenerator(QMakeProject *proj, const QString &name, bool op)
     493MetaMakefileGenerator::createMetaGenerator(QMakeProject *proj, const QString &name, bool op, bool *success)
    480494{
    481495    MetaMakefileGenerator *ret = 0;
    482     if((Option::qmake_mode == Option::QMAKE_GENERATE_MAKEFILE ||
    483         Option::qmake_mode == Option::QMAKE_GENERATE_PRL)) {
    484         if(proj->first("TEMPLATE").endsWith("subdirs"))
     496    if ((Option::qmake_mode == Option::QMAKE_GENERATE_MAKEFILE ||
     497         Option::qmake_mode == Option::QMAKE_GENERATE_PRL)) {
     498        if (proj->first("TEMPLATE").endsWith("subdirs"))
    485499            ret = new SubdirsMetaMakefileGenerator(proj, name, op);
    486500    }
    487     if(!ret)
     501    if (!ret)
    488502        ret = new BuildsMetaMakefileGenerator(proj, name, op);
    489     ret->init();
     503    bool res = ret->init();
     504    if (success)
     505        *success = res;
    490506    return ret;
    491507}
  • trunk/qmake/generators/metamakefile.h

    r2 r561  
    22**
    33** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
    4 ** Contact: Qt Software Information (qt-info@nokia.com)
     4** All rights reserved.
     5** Contact: Nokia Corporation (qt-info@nokia.com)
    56**
    67** This file is part of the qmake application of the Qt Toolkit.
     
    2122** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
    2223**
    23 ** In addition, as a special exception, Nokia gives you certain
    24 ** additional rights. These rights are described in the Nokia Qt LGPL
    25 ** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
    26 ** package.
     24** In addition, as a special exception, Nokia gives you certain additional
     25** rights.  These rights are described in the Nokia Qt LGPL Exception
     26** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
    2727**
    2828** GNU General Public License Usage
     
    3434** met: http://www.gnu.org/copyleft/gpl.html.
    3535**
    36 ** If you are unsure which license is appropriate for your use, please
    37 ** contact the sales department at qt-sales@nokia.com.
     36** If you have questions regarding the use of this file, please contact
     37** Nokia at qt-info@nokia.com.
    3838** $QT_END_LICENSE$
    3939**
     
    6363    virtual ~MetaMakefileGenerator();
    6464
    65     static MetaMakefileGenerator *createMetaGenerator(QMakeProject *proj, const QString &name, bool op=true);
     65    static MetaMakefileGenerator *createMetaGenerator(QMakeProject *proj, const QString &name, bool op=true, bool *success = 0);
    6666    static MakefileGenerator *createMakefileGenerator(QMakeProject *proj, bool noIO = false);
    6767
  • trunk/qmake/generators/projectgenerator.cpp

    r2 r561  
    22**
    33** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
    4 ** Contact: Qt Software Information (qt-info@nokia.com)
     4** All rights reserved.
     5** Contact: Nokia Corporation (qt-info@nokia.com)
    56**
    67** This file is part of the qmake application of the Qt Toolkit.
     
    2122** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
    2223**
    23 ** In addition, as a special exception, Nokia gives you certain
    24 ** additional rights. These rights are described in the Nokia Qt LGPL
    25 ** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
    26 ** package.
     24** In addition, as a special exception, Nokia gives you certain additional
     25** rights.  These rights are described in the Nokia Qt LGPL Exception
     26** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
    2727**
    2828** GNU General Public License Usage
     
    3434** met: http://www.gnu.org/copyleft/gpl.html.
    3535**
    36 ** If you are unsure which license is appropriate for your use, please
    37 ** contact the sales department at qt-sales@nokia.com.
     36** If you have questions regarding the use of this file, please contact
     37** Nokia at qt-info@nokia.com.
    3838** $QT_END_LICENSE$
    3939**
  • trunk/qmake/generators/projectgenerator.h

    r2 r561  
    22**
    33** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
    4 ** Contact: Qt Software Information (qt-info@nokia.com)
     4** All rights reserved.
     5** Contact: Nokia Corporation (qt-info@nokia.com)
    56**
    67** This file is part of the qmake application of the Qt Toolkit.
     
    2122** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
    2223**
    23 ** In addition, as a special exception, Nokia gives you certain
    24 ** additional rights. These rights are described in the Nokia Qt LGPL
    25 ** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
    26 ** package.
     24** In addition, as a special exception, Nokia gives you certain additional
     25** rights.  These rights are described in the Nokia Qt LGPL Exception
     26** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
    2727**
    2828** GNU General Public License Usage
     
    3434** met: http://www.gnu.org/copyleft/gpl.html.
    3535**
    36 ** If you are unsure which license is appropriate for your use, please
    37 ** contact the sales department at qt-sales@nokia.com.
     36** If you have questions regarding the use of this file, please contact
     37** Nokia at qt-info@nokia.com.
    3838** $QT_END_LICENSE$
    3939**
  • trunk/qmake/generators/unix/unixmake.cpp

    r27 r561  
    11/****************************************************************************
    2  **
    3  ** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
    4 ** Contact: Qt Software Information (qt-info@nokia.com)
    5  **
    6  ** This file is part of the qmake application of the Qt Toolkit.
    7  **
    8  ** $QT_BEGIN_LICENSE:LGPL$
     2**
     3** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
     4** All rights reserved.
     5** Contact: Nokia Corporation (qt-info@nokia.com)
     6**
     7** This file is part of the qmake application of the Qt Toolkit.
     8**
     9** $QT_BEGIN_LICENSE:LGPL$
    910** Commercial Usage
    1011** Licensees holding valid Qt Commercial licenses may use this file in
     
    2122** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
    2223**
    23 ** In addition, as a special exception, Nokia gives you certain
    24 ** additional rights. These rights are described in the Nokia Qt LGPL
    25 ** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
    26 ** package.
     24** In addition, as a special exception, Nokia gives you certain additional
     25** rights.  These rights are described in the Nokia Qt LGPL Exception
     26** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
    2727**
    2828** GNU General Public License Usage
     
    3434** met: http://www.gnu.org/copyleft/gpl.html.
    3535**
    36 ** If you are unsure which license is appropriate for your use, please
    37 ** contact the sales department at qt-sales@nokia.com.
     36** If you have questions regarding the use of this file, please contact
     37** Nokia at qt-info@nokia.com.
    3838** $QT_END_LICENSE$
    39  **
    40  ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
    41  ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
    42  **
    43  ****************************************************************************/
     39**
     40****************************************************************************/
    4441
    4542#include "unixmake.h"
     
    9289        project->values("QMAKE_LIBTOOL").append("libtool --silent");
    9390    if(project->isEmpty("QMAKE_SYMBOLIC_LINK"))
    94         project->values("QMAKE_SYMBOLIC_LINK").append("ln -sf");
     91        project->values("QMAKE_SYMBOLIC_LINK").append("ln -f -s");
    9592
    9693    /* this should probably not be here, but I'm using it to wrap the .t files */
     
    128125    project->values("QMAKE_ORIG_DESTDIR") = project->values("DESTDIR");
    129126    project->values("QMAKE_LIBS") += escapeFilePaths(project->values("LIBS"));
     127    project->values("QMAKE_LIBS_PRIVATE") += escapeFilePaths(project->values("LIBS_PRIVATE"));
    130128    if((!project->isEmpty("QMAKE_LIB_FLAG") && !project->isActiveConfig("staticlib")) ||
    131129       (project->isActiveConfig("qt") &&  project->isActiveConfig("plugin"))) {
     
    262260                else if(!bundle.endsWith(".plugin"))
    263261                    bundle += ".plugin";
    264                 if(!project->isEmpty("QMAKE_BUNDLE_LOCATION"))
     262                if(project->isEmpty("QMAKE_BUNDLE_LOCATION"))
    265263                    project->values("QMAKE_BUNDLE_LOCATION").append("Contents/MacOS");
    266264            } else {
     
    442440    frameworkdirs.append(QMakeLocalFileName("/System/Library/Frameworks"));
    443441    frameworkdirs.append(QMakeLocalFileName("/Library/Frameworks"));
    444     const QString lflags[] = { "QMAKE_LIBDIR_FLAGS", "QMAKE_FRAMEWORKPATH_FLAGS", "QMAKE_LFLAGS", "QMAKE_LIBS", QString() };
     442    const QString lflags[] = { "QMAKE_LIBDIR_FLAGS", "QMAKE_FRAMEWORKPATH_FLAGS", "QMAKE_LFLAGS", "QMAKE_LIBS", "QMAKE_LIBS_PRIVATE", QString() };
    445443    for(int i = 0; !lflags[i].isNull(); i++) {
    446444        QStringList &l = project->values(lflags[i]);
     
    764762                ret += QString("\n\t$(RANLIB) \"") + dst_targ + "\"";
    765763        } else if(!project->isActiveConfig("debug") && !project->isActiveConfig("nostrip") && !project->isEmpty("QMAKE_STRIP")) {
    766             ret += "\n\t-" + var("QMAKE_STRIP");
     764            ret += "\n\t-$(STRIP)";
    767765            if(project->first("TEMPLATE") == "lib" && !project->isEmpty("QMAKE_STRIPFLAGS_LIB"))
    768766                ret += " " + var("QMAKE_STRIPFLAGS_LIB");
  • trunk/qmake/generators/unix/unixmake.h

    r2 r561  
    22**
    33** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
    4 ** Contact: Qt Software Information (qt-info@nokia.com)
     4** All rights reserved.
     5** Contact: Nokia Corporation (qt-info@nokia.com)
    56**
    67** This file is part of the qmake application of the Qt Toolkit.
     
    2122** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
    2223**
    23 ** In addition, as a special exception, Nokia gives you certain
    24 ** additional rights. These rights are described in the Nokia Qt LGPL
    25 ** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
    26 ** package.
     24** In addition, as a special exception, Nokia gives you certain additional
     25** rights.  These rights are described in the Nokia Qt LGPL Exception
     26** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
    2727**
    2828** GNU General Public License Usage
     
    3434** met: http://www.gnu.org/copyleft/gpl.html.
    3535**
    36 ** If you are unsure which license is appropriate for your use, please
    37 ** contact the sales department at qt-sales@nokia.com.
     36** If you have questions regarding the use of this file, please contact
     37** Nokia at qt-info@nokia.com.
    3838** $QT_END_LICENSE$
    3939**
  • trunk/qmake/generators/unix/unixmake2.cpp

    r2 r561  
    22**
    33** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
    4 ** Contact: Qt Software Information (qt-info@nokia.com)
     4** All rights reserved.
     5** Contact: Nokia Corporation (qt-info@nokia.com)
    56**
    67** This file is part of the qmake application of the Qt Toolkit.
     
    2122** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
    2223**
    23 ** In addition, as a special exception, Nokia gives you certain
    24 ** additional rights. These rights are described in the Nokia Qt LGPL
    25 ** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
    26 ** package.
     24** In addition, as a special exception, Nokia gives you certain additional
     25** rights.  These rights are described in the Nokia Qt LGPL Exception
     26** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
    2727**
    2828** GNU General Public License Usage
     
    3434** met: http://www.gnu.org/copyleft/gpl.html.
    3535**
    36 ** If you are unsure which license is appropriate for your use, please
    37 ** contact the sales department at qt-sales@nokia.com.
     36** If you have questions regarding the use of this file, please contact
     37** Nokia at qt-info@nokia.com.
    3838** $QT_END_LICENSE$
    3939**
     
    150150        t << "LFLAGS        = " << var("QMAKE_LFLAGS") << endl;
    151151        t << "LIBS          = " << "$(SUBLIBS) " << var("QMAKE_FRAMEWORKDIR_FLAGS") << " "
    152           << var("QMAKE_LIBDIR_FLAGS") << " " << var("QMAKE_LIBS") << endl;
     152          << var("QMAKE_LIBDIR_FLAGS") << " " << var("QMAKE_LIBS") << " " << var("QMAKE_LIBS_PRIVATE") << endl;
    153153    }
    154154
     
    164164    t << "COPY_FILE     = " << var("QMAKE_COPY_FILE") << endl;
    165165    t << "COPY_DIR      = " << var("QMAKE_COPY_DIR") << endl;
     166    t << "STRIP         = " << var("QMAKE_STRIP") << endl;
    166167    t << "INSTALL_FILE  = " << var("QMAKE_INSTALL_FILE") << endl;
    167168    t << "INSTALL_DIR   = " << var("QMAKE_INSTALL_DIR") << endl;
     
    14241425
    14251426    // libs
    1426     QStringList libs;
    1427     if(!project->isEmpty("QMAKE_INTERNAL_PRL_LIBS")) {
    1428         libs = project->values("QMAKE_INTERNAL_PRL_LIBS");
    1429     } else {
    1430         libs << "QMAKE_LIBS"; //obvious one
    1431     }
    1432     libs << "QMAKE_LFLAGS_THREAD"; //not sure about this one, but what about things like -pthread?
    14331427    t << "Libs: ";
    14341428    QString pkgConfiglibDir;
     
    14501444    }
    14511445    t << pkgConfiglibDir << " " << pkgConfiglibName << " " << endl;
     1446
     1447    QStringList libs;
     1448    if(!project->isEmpty("QMAKE_INTERNAL_PRL_LIBS")) {
     1449        libs = project->values("QMAKE_INTERNAL_PRL_LIBS");
     1450    } else {
     1451        libs << "QMAKE_LIBS"; //obvious one
     1452    }
     1453    libs << "QMAKE_LIBS_PRIVATE";
     1454    libs << "QMAKE_LFLAGS_THREAD"; //not sure about this one, but what about things like -pthread?
    14521455    t << "Libs.private: ";
    14531456    for(QStringList::ConstIterator it = libs.begin(); it != libs.end(); ++it) {
  • trunk/qmake/generators/win32/borland_bmake.cpp

    r2 r561  
    22**
    33** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
    4 ** Contact: Qt Software Information (qt-info@nokia.com)
     4** All rights reserved.
     5** Contact: Nokia Corporation (qt-info@nokia.com)
    56**
    67** This file is part of the qmake application of the Qt Toolkit.
     
    2122** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
    2223**
    23 ** In addition, as a special exception, Nokia gives you certain
    24 ** additional rights. These rights are described in the Nokia Qt LGPL
    25 ** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
    26 ** package.
     24** In addition, as a special exception, Nokia gives you certain additional
     25** rights.  These rights are described in the Nokia Qt LGPL Exception
     26** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
    2727**
    2828** GNU General Public License Usage
     
    3434** met: http://www.gnu.org/copyleft/gpl.html.
    3535**
    36 ** If you are unsure which license is appropriate for your use, please
    37 ** contact the sales department at qt-sales@nokia.com.
     36** If you have questions regarding the use of this file, please contact
     37** Nokia at qt-info@nokia.com.
    3838** $QT_END_LICENSE$
    3939**
  • trunk/qmake/generators/win32/borland_bmake.h

    r2 r561  
    22**
    33** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
    4 ** Contact: Qt Software Information (qt-info@nokia.com)
     4** All rights reserved.
     5** Contact: Nokia Corporation (qt-info@nokia.com)
    56**
    67** This file is part of the qmake application of the Qt Toolkit.
     
    2122** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
    2223**
    23 ** In addition, as a special exception, Nokia gives you certain
    24 ** additional rights. These rights are described in the Nokia Qt LGPL
    25 ** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
    26 ** package.
     24** In addition, as a special exception, Nokia gives you certain additional
     25** rights.  These rights are described in the Nokia Qt LGPL Exception
     26** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
    2727**
    2828** GNU General Public License Usage
     
    3434** met: http://www.gnu.org/copyleft/gpl.html.
    3535**
    36 ** If you are unsure which license is appropriate for your use, please
    37 ** contact the sales department at qt-sales@nokia.com.
     36** If you have questions regarding the use of this file, please contact
     37** Nokia at qt-info@nokia.com.
    3838** $QT_END_LICENSE$
    3939**
  • trunk/qmake/generators/win32/mingw_make.cpp

    r29 r561  
    22**
    33** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
    4 ** Contact: Qt Software Information (qt-info@nokia.com)
     4** All rights reserved.
     5** Contact: Nokia Corporation (qt-info@nokia.com)
    56**
    67** This file is part of the qmake application of the Qt Toolkit.
     
    2122** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
    2223**
    23 ** In addition, as a special exception, Nokia gives you certain
    24 ** additional rights. These rights are described in the Nokia Qt LGPL
    25 ** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
    26 ** package.
     24** In addition, as a special exception, Nokia gives you certain additional
     25** rights.  These rights are described in the Nokia Qt LGPL Exception
     26** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
    2727**
    2828** GNU General Public License Usage
     
    3434** met: http://www.gnu.org/copyleft/gpl.html.
    3535**
    36 ** If you are unsure which license is appropriate for your use, please
    37 ** contact the sales department at qt-sales@nokia.com.
     36** If you have questions regarding the use of this file, please contact
     37** Nokia at qt-info@nokia.com.
    3838** $QT_END_LICENSE$
    3939**
     
    8383bool MingwMakefileGenerator::findLibraries()
    8484{
    85     QStringList &l = project->values("QMAKE_LIBS");
     85    return findLibraries("QMAKE_LIBS") && findLibraries("QMAKE_LIBS_PRIVATE");
     86}
     87
     88bool MingwMakefileGenerator::findLibraries(const QString &where)
     89{
     90    QStringList &l = project->values(where);
    8691
    8792    QList<QMakeLocalFileName> dirs;
     
    259264    // LIBS defined in Profile comes first for gcc
    260265    project->values("QMAKE_LIBS") += escapeFilePaths(project->values("LIBS"));
     266    project->values("QMAKE_LIBS_PRIVATE") += escapeFilePaths(project->values("LIBS_PRIVATE"));
    261267
    262268    QString targetfilename = project->values("TARGET").first();
     
    345351        if(!project->values("QMAKE_LIBDIR").isEmpty())
    346352            writeLibDirPart(t);
    347         t << var("QMAKE_LIBS").replace(QRegExp("(\\slib|^lib)")," -l") << endl;
     353        t << var("QMAKE_LIBS").replace(QRegExp("(\\slib|^lib)")," -l") << ' '
     354          << var("QMAKE_LIBS_PRIVATE").replace(QRegExp("(\\slib|^lib)")," -l") << endl;
    348355    }
    349356}
  • trunk/qmake/generators/win32/mingw_make.h

    r29 r561  
    22**
    33** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
    4 ** Contact: Qt Software Information (qt-info@nokia.com)
     4** All rights reserved.
     5** Contact: Nokia Corporation (qt-info@nokia.com)
    56**
    67** This file is part of the qmake application of the Qt Toolkit.
     
    2122** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
    2223**
    23 ** In addition, as a special exception, Nokia gives you certain
    24 ** additional rights. These rights are described in the Nokia Qt LGPL
    25 ** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
    26 ** package.
     24** In addition, as a special exception, Nokia gives you certain additional
     25** rights.  These rights are described in the Nokia Qt LGPL Exception
     26** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
    2727**
    2828** GNU General Public License Usage
     
    3434** met: http://www.gnu.org/copyleft/gpl.html.
    3535**
    36 ** If you are unsure which license is appropriate for your use, please
    37 ** contact the sales department at qt-sales@nokia.com.
     36** If you have questions regarding the use of this file, please contact
     37** Nokia at qt-info@nokia.com.
    3838** $QT_END_LICENSE$
    3939**
     
    7373
    7474    virtual bool findLibraries();
     75    bool findLibraries(const QString &where);
    7576    void fixTargetExt();
    7677
  • trunk/qmake/generators/win32/msvc_dsp.cpp

    r2 r561  
    22**
    33** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
    4 ** Contact: Qt Software Information (qt-info@nokia.com)
     4** All rights reserved.
     5** Contact: Nokia Corporation (qt-info@nokia.com)
    56**
    67** This file is part of the qmake application of the Qt Toolkit.
     
    2122** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
    2223**
    23 ** In addition, as a special exception, Nokia gives you certain
    24 ** additional rights. These rights are described in the Nokia Qt LGPL
    25 ** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
    26 ** package.
     24** In addition, as a special exception, Nokia gives you certain additional
     25** rights.  These rights are described in the Nokia Qt LGPL Exception
     26** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
    2727**
    2828** GNU General Public License Usage
     
    3434** met: http://www.gnu.org/copyleft/gpl.html.
    3535**
    36 ** If you are unsure which license is appropriate for your use, please
    37 ** contact the sales department at qt-sales@nokia.com.
     36** If you have questions regarding the use of this file, please contact
     37** Nokia at qt-info@nokia.com.
    3838** $QT_END_LICENSE$
    3939**
     
    683683                if(!profile.endsWith(Option::dir_sep))
    684684                    profile += Option::dir_sep;
    685                 profile += fi.baseName() + ".pro";
     685                profile += fi.baseName() + Option::pro_ext;
    686686                subdirs.append(profile);
    687687            } else {
  • trunk/qmake/generators/win32/msvc_dsp.h

    r2 r561  
    22**
    33** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
    4 ** Contact: Qt Software Information (qt-info@nokia.com)
     4** All rights reserved.
     5** Contact: Nokia Corporation (qt-info@nokia.com)
    56**
    67** This file is part of the qmake application of the Qt Toolkit.
     
    2122** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
    2223**
    23 ** In addition, as a special exception, Nokia gives you certain
    24 ** additional rights. These rights are described in the Nokia Qt LGPL
    25 ** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
    26 ** package.
     24** In addition, as a special exception, Nokia gives you certain additional
     25** rights.  These rights are described in the Nokia Qt LGPL Exception
     26** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
    2727**
    2828** GNU General Public License Usage
     
    3434** met: http://www.gnu.org/copyleft/gpl.html.
    3535**
    36 ** If you are unsure which license is appropriate for your use, please
    37 ** contact the sales department at qt-sales@nokia.com.
     36** If you have questions regarding the use of this file, please contact
     37** Nokia at qt-info@nokia.com.
    3838** $QT_END_LICENSE$
    3939**
  • trunk/qmake/generators/win32/msvc_nmake.cpp

    r2 r561  
    22**
    33** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
    4 ** Contact: Qt Software Information (qt-info@nokia.com)
     4** All rights reserved.
     5** Contact: Nokia Corporation (qt-info@nokia.com)
    56**
    67** This file is part of the qmake application of the Qt Toolkit.
     
    2122** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
    2223**
    23 ** In addition, as a special exception, Nokia gives you certain
    24 ** additional rights. These rights are described in the Nokia Qt LGPL
    25 ** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
    26 ** package.
     24** In addition, as a special exception, Nokia gives you certain additional
     25** rights.  These rights are described in the Nokia Qt LGPL Exception
     26** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
    2727**
    2828** GNU General Public License Usage
     
    3434** met: http://www.gnu.org/copyleft/gpl.html.
    3535**
    36 ** If you are unsure which license is appropriate for your use, please
    37 ** contact the sales department at qt-sales@nokia.com.
     36** If you have questions regarding the use of this file, please contact
     37** Nokia at qt-info@nokia.com.
    3838** $QT_END_LICENSE$
    3939**
     
    173173
    174174    project->values("QMAKE_LIBS") += escapeFilePaths(project->values("LIBS"));
     175    project->values("QMAKE_LIBS_PRIVATE") += escapeFilePaths(project->values("LIBS_PRIVATE"));
    175176    processVars();
    176177
  • trunk/qmake/generators/win32/msvc_nmake.h

    r2 r561  
    22**
    33** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
    4 ** Contact: Qt Software Information (qt-info@nokia.com)
     4** All rights reserved.
     5** Contact: Nokia Corporation (qt-info@nokia.com)
    56**
    67** This file is part of the qmake application of the Qt Toolkit.
     
    2122** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
    2223**
    23 ** In addition, as a special exception, Nokia gives you certain
    24 ** additional rights. These rights are described in the Nokia Qt LGPL
    25 ** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
    26 ** package.
     24** In addition, as a special exception, Nokia gives you certain additional
     25** rights.  These rights are described in the Nokia Qt LGPL Exception
     26** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
    2727**
    2828** GNU General Public License Usage
     
    3434** met: http://www.gnu.org/copyleft/gpl.html.
    3535**
    36 ** If you are unsure which license is appropriate for your use, please
    37 ** contact the sales department at qt-sales@nokia.com.
     36** If you have questions regarding the use of this file, please contact
     37** Nokia at qt-info@nokia.com.
    3838** $QT_END_LICENSE$
    3939**
  • trunk/qmake/generators/win32/msvc_objectmodel.cpp

    r2 r561  
    22**
    33** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
    4 ** Contact: Qt Software Information (qt-info@nokia.com)
     4** All rights reserved.
     5** Contact: Nokia Corporation (qt-info@nokia.com)
    56**
    67** This file is part of the qmake application of the Qt Toolkit.
     
    2122** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
    2223**
    23 ** In addition, as a special exception, Nokia gives you certain
    24 ** additional rights. These rights are described in the Nokia Qt LGPL
    25 ** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
    26 ** package.
     24** In addition, as a special exception, Nokia gives you certain additional
     25** rights.  These rights are described in the Nokia Qt LGPL Exception
     26** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
    2727**
    2828** GNU General Public License Usage
     
    3434** met: http://www.gnu.org/copyleft/gpl.html.
    3535**
    36 ** If you are unsure which license is appropriate for your use, please
    37 ** contact the sales department at qt-sales@nokia.com.
     36** If you have questions regarding the use of this file, please contact
     37** Nokia at qt-info@nokia.com.
    3838** $QT_END_LICENSE$
    3939**
     
    5050const char _Configuration[]                     = "Configuration";
    5151const char _Configurations[]                    = "Configurations";
    52 const char _File[]                              = "File";
     52const char q_File[]                              = "File";
    5353const char _FileConfiguration[]                 = "FileConfiguration";
    54 const char _Files[]                             = "Files";
     54const char q_Files[]                             = "Files";
    5555const char _Filter[]                            = "Filter";
    5656const char _Globals[]                           = "Globals";
     
    485485            if (opt.contains('a') && !opt.contains('s') && !opt.contains('c'))
    486486                ExceptionHandling = ehSEH;
    487             else if (!opt.contains('a') && opt.contains("s-") && opt.contains("c-")) 
     487            else if (!opt.contains('a') && opt.contains("s-") && opt.contains("c-"))
    488488                ExceptionHandling = ehNone;
    489489            else if (!opt.contains('a') && opt.contains('s') && opt.contains('c'))
     
    13951395            TargetMachine = machineX86;
    13961396            break;
     1397        case 0x0005b94: // X64
     1398            TargetMachine = machineX64;
     1399            break;
    13971400        // so we put the others in AdditionalOptions...
    1398         case 0x0005b94: // X64
    13991401        case 0x0046063: // AM33
    14001402        case 0x000466d: // ARM
     
    23822384    for (int i = 0; i < tool.Files.count(); ++i) {
    23832385        const VCFilterFile &info = tool.Files.at(i);
    2384         xml << tag(_File)
     2386        xml << tag(q_File)
    23852387                << attrS(_RelativePath, Option::fixPathToLocalOS(info.file))
    23862388            << data(); // In case no custom builds, to avoid "/>" endings
    23872389        tool.outputFileConfig(xml, tool.Files.at(i).file);
    2388         xml << closetag(_File);
     2390        xml << closetag(q_File);
    23892391    }
    23902392    if (!tool.Name.isEmpty())
     
    24222424            << tool.Configuration;
    24232425    xml     << closetag(_Configurations)
    2424             << tag(_Files);
     2426            << tag(q_Files);
    24252427    // Add this configuration into a multi-config project, since that's where we have the flat/tree
    24262428    // XML output functionality
     
    24382440    }
    24392441    tempProj.outputFilter(xml, "RootFiles");
    2440     xml     << closetag(_Files)
     2442    xml     << closetag(q_Files)
    24412443            << tag(_Globals)
    24422444                << data(); // No "/>" end tag
     
    24932495                                  const QString &filtername)
    24942496{
    2495     xml << tag(_File)
     2497    xml << tag(q_File)
    24962498            << attrS(_RelativePath, Option::fixPathToLocalOS(info.file));
    24972499    for (int i = 0; i < SingleProjects.count(); ++i) {
     
    25212523            filter.outputFileConfig(xml, info.file);
    25222524    }
    2523     xml << closetag(_File);
     2525    xml << closetag(q_File);
    25242526}
    25252527
     
    26162618        xml     << tool.SingleProjects.at(i).Configuration;
    26172619    xml     << closetag(_Configurations)
    2618             << tag(_Files);
     2620            << tag(q_Files);
    26192621    tool.outputFilter(xml, "Sources");
    26202622    tool.outputFilter(xml, "Headers");
     
    26282630    }
    26292631    tool.outputFilter(xml, "RootFiles");
    2630     xml     << closetag(_Files)
     2632    xml     << closetag(q_Files)
    26312633            << tag(_Globals)
    26322634            << data(); // No "/>" end tag
  • trunk/qmake/generators/win32/msvc_objectmodel.h

    r2 r561  
    22**
    33** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
    4 ** Contact: Qt Software Information (qt-info@nokia.com)
     4** All rights reserved.
     5** Contact: Nokia Corporation (qt-info@nokia.com)
    56**
    67** This file is part of the qmake application of the Qt Toolkit.
     
    2122** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
    2223**
    23 ** In addition, as a special exception, Nokia gives you certain
    24 ** additional rights. These rights are described in the Nokia Qt LGPL
    25 ** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
    26 ** package.
     24** In addition, as a special exception, Nokia gives you certain additional
     25** rights.  These rights are described in the Nokia Qt LGPL Exception
     26** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
    2727**
    2828** GNU General Public License Usage
     
    3434** met: http://www.gnu.org/copyleft/gpl.html.
    3535**
    36 ** If you are unsure which license is appropriate for your use, please
    37 ** contact the sales department at qt-sales@nokia.com.
     36** If you have questions regarding the use of this file, please contact
     37** Nokia at qt-info@nokia.com.
    3838** $QT_END_LICENSE$
    3939**
     
    299299enum machineTypeOption {
    300300    machineNotSet,
    301     machineX86
     301    machineX86,
     302    machineX64 = 17
    302303};
    303304enum midlCharOption {
  • trunk/qmake/generators/win32/msvc_vcproj.cpp

    r2 r561  
    22**
    33** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
    4 ** Contact: Qt Software Information (qt-info@nokia.com)
     4** All rights reserved.
     5** Contact: Nokia Corporation (qt-info@nokia.com)
    56**
    67** This file is part of the qmake application of the Qt Toolkit.
     
    2122** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
    2223**
    23 ** In addition, as a special exception, Nokia gives you certain
    24 ** additional rights. These rights are described in the Nokia Qt LGPL
    25 ** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
    26 ** package.
     24** In addition, as a special exception, Nokia gives you certain additional
     25** rights.  These rights are described in the Nokia Qt LGPL Exception
     26** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
    2727**
    2828** GNU General Public License Usage
     
    3434** met: http://www.gnu.org/copyleft/gpl.html.
    3535**
    36 ** If you are unsure which license is appropriate for your use, please
    37 ** contact the sales department at qt-sales@nokia.com.
     36** If you have questions regarding the use of this file, please contact
     37** Nokia at qt-info@nokia.com.
    3838** $QT_END_LICENSE$
    3939**
     
    121121
    122122    HKEY handle = 0;
    123     LONG res;
    124     QT_WA( {
    125         res = RegOpenKeyExW(parentHandle, (WCHAR*)rSubkeyPath.utf16(),
    126                             0, KEY_READ, &handle);
    127     } , {
    128         res = RegOpenKeyExA(parentHandle, rSubkeyPath.toLocal8Bit(),
    129                             0, KEY_READ, &handle);
    130     } );
     123    LONG res = RegOpenKeyEx(parentHandle, (wchar_t*)rSubkeyPath.utf16(), 0, KEY_READ, &handle);
    131124
    132125    if (res != ERROR_SUCCESS)
     
    136129    DWORD dataType;
    137130    DWORD dataSize;
    138     QT_WA( {
    139         res = RegQueryValueExW(handle, (WCHAR*)rSubkeyName.utf16(), 0, &dataType, 0, &dataSize);
    140     }, {
    141         res = RegQueryValueExA(handle, rSubkeyName.toLocal8Bit(), 0, &dataType, 0, &dataSize);
    142     } );
     131    res = RegQueryValueEx(handle, (wchar_t*)rSubkeyName.utf16(), 0, &dataType, 0, &dataSize);
    143132    if (res != ERROR_SUCCESS) {
    144133        RegCloseKey(handle);
     
    148137    // get the value
    149138    QByteArray data(dataSize, 0);
    150     QT_WA( {
    151         res = RegQueryValueExW(handle, (WCHAR*)rSubkeyName.utf16(), 0, 0,
    152                                reinterpret_cast<unsigned char*>(data.data()), &dataSize);
    153     }, {
    154         res = RegQueryValueExA(handle, rSubkeyName.toLocal8Bit(), 0, 0,
    155                                reinterpret_cast<unsigned char*>(data.data()), &dataSize);
    156     } );
     139    res = RegQueryValueEx(handle, (wchar_t*)rSubkeyName.utf16(), 0, 0,
     140                          reinterpret_cast<unsigned char*>(data.data()), &dataSize);
    157141    if (res != ERROR_SUCCESS) {
    158142        RegCloseKey(handle);
     
    164148        case REG_EXPAND_SZ:
    165149        case REG_SZ: {
    166             QT_WA( {
    167                 result = QString::fromUtf16(((const ushort*)data.constData()));
    168             }, {
    169                 result = QString::fromLatin1(data.constData());
    170             } );
     150            result = QString::fromWCharArray(((const wchar_t *)data.constData()));
    171151            break;
    172152        }
     
    176156            int i = 0;
    177157            for (;;) {
    178                 QString s;
    179                 QT_WA( {
    180                     s = QString::fromUtf16((const ushort*)data.constData() + i);
    181                 }, {
    182                     s = QString::fromLatin1(data.constData() + i);
    183                 } );
     158                QString s = QString::fromWCharArray((const wchar_t *)data.constData() + i);
    184159                i += s.length() + 1;
    185160
     
    194169        case REG_NONE:
    195170        case REG_BINARY: {
    196             QT_WA( {
    197                 result = QString::fromUtf16((const ushort*)data.constData(), data.size()/2);
    198             }, {
    199                 result = QString::fromLatin1(data.constData(), data.size());
    200             } );
     171            result = QString::fromWCharArray((const wchar_t *)data.constData(), data.size() / 2);
    201172            break;
    202173        }
     
    525496                if(!profile.endsWith(Option::dir_sep))
    526497                    profile += Option::dir_sep;
    527                 profile += fi.baseName() + ".pro";
     498                profile += fi.baseName() + Option::pro_ext;
    528499                subdirs.append(profile);
    529500            } else {
     
    575546
    576547                        // We assume project filename is [QMAKE_ORIG_TARGET].vcproj
    577                         QString vcproj = unescapeFilePath(fixFilename(tmp_vcproj.project->first("QMAKE_ORIG_TARGET")) + project->first("VCPROJ_EXTENSION"));
     548                        QString vcproj = unescapeFilePath(tmp_vcproj.project->first("QMAKE_ORIG_TARGET") + project->first("VCPROJ_EXTENSION"));
    578549                        QString vcprojDir = qmake_getpwd();
    579550
     
    653624
    654625                        // Add all unknown libs to the deps
    655                         QStringList where("QMAKE_LIBS");
     626                        QStringList where = QStringList() << "QMAKE_LIBS" << "QMAKE_LIBS_PRIVATE";
    656627                        if(!tmp_proj.isEmpty("QMAKE_INTERNAL_PRL_LIBS"))
    657628                            where = tmp_proj.variables()["QMAKE_INTERNAL_PRL_LIBS"];
     
    10311002    if(project->isActiveConfig("debug")){
    10321003        // Debug version
    1033         conf.compiler.parseOptions(project->values("QMAKE_CXXFLAGS"));
    10341004        conf.compiler.parseOptions(project->values("QMAKE_CXXFLAGS_DEBUG"));
    10351005        if((projectTarget == Application) || (projectTarget == StaticLib))
     
    10391009    } else {
    10401010        // Release version
    1041         conf.compiler.parseOptions(project->values("QMAKE_CXXFLAGS"));
    10421011        conf.compiler.parseOptions(project->values("QMAKE_CXXFLAGS_RELEASE"));
    10431012        conf.compiler.PreprocessorDefinitions += "QT_NO_DEBUG";
     
    12041173        targetPath = QString("%CSIDL_PROGRAM_FILES%\\") + project->first("TARGET");
    12051174    if (targetPath.endsWith("/") || targetPath.endsWith("\\"))
    1206         targetPath = targetPath.mid(0,targetPath.size()-1);
     1175        targetPath.chop(1);
    12071176
    12081177    // Only deploy Qt libs for shared build
     
    12711240        // get item.path
    12721241        QString devicePath = project->first(item + ".path");
    1273         // if the path does not exist, skip it
    12741242        if (devicePath.isEmpty())
    1275             continue;
     1243            devicePath = targetPath;
    12761244        // check if item.path is relative (! either /,\ or %)
    12771245        if (!(devicePath.at(0) == QLatin1Char('/')
     
    15831551
    15841552    project->values("QMAKE_LIBS") += escapeFilePaths(project->values("LIBS"));
     1553    project->values("QMAKE_LIBS_PRIVATE") += escapeFilePaths(project->values("LIBS_PRIVATE"));
    15851554
    15861555     // Get filename w/o extension -----------------------------------
     
    16261595    // $$QMAKE.. -> $$MSVCPROJ.. -------------------------------------
    16271596    project->values("MSVCPROJ_LIBS") += project->values("QMAKE_LIBS");
     1597    project->values("MSVCPROJ_LIBS") += project->values("QMAKE_LIBS_PRIVATE");
    16281598    project->values("MSVCPROJ_LFLAGS") += project->values("QMAKE_LFLAGS");
    16291599    if(!project->values("QMAKE_LIBDIR").isEmpty()) {
  • trunk/qmake/generators/win32/msvc_vcproj.h

    r2 r561  
    22**
    33** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
    4 ** Contact: Qt Software Information (qt-info@nokia.com)
     4** All rights reserved.
     5** Contact: Nokia Corporation (qt-info@nokia.com)
    56**
    67** This file is part of the qmake application of the Qt Toolkit.
     
    2122** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
    2223**
    23 ** In addition, as a special exception, Nokia gives you certain
    24 ** additional rights. These rights are described in the Nokia Qt LGPL
    25 ** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
    26 ** package.
     24** In addition, as a special exception, Nokia gives you certain additional
     25** rights.  These rights are described in the Nokia Qt LGPL Exception
     26** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
    2727**
    2828** GNU General Public License Usage
     
    3434** met: http://www.gnu.org/copyleft/gpl.html.
    3535**
    36 ** If you are unsure which license is appropriate for your use, please
    37 ** contact the sales department at qt-sales@nokia.com.
     36** If you have questions regarding the use of this file, please contact
     37** Nokia at qt-info@nokia.com.
    3838** $QT_END_LICENSE$
    3939**
  • trunk/qmake/generators/win32/winmakefile.cpp

    r547 r561  
    22**
    33** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
    4 ** Contact: Qt Software Information (qt-info@nokia.com)
     4** All rights reserved.
     5** Contact: Nokia Corporation (qt-info@nokia.com)
    56**
    67** This file is part of the qmake application of the Qt Toolkit.
     
    2122** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
    2223**
    23 ** In addition, as a special exception, Nokia gives you certain
    24 ** additional rights. These rights are described in the Nokia Qt LGPL
    25 ** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
    26 ** package.
     24** In addition, as a special exception, Nokia gives you certain additional
     25** rights.  These rights are described in the Nokia Qt LGPL Exception
     26** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
    2727**
    2828** GNU General Public License Usage
     
    3434** met: http://www.gnu.org/copyleft/gpl.html.
    3535**
    36 ** If you are unsure which license is appropriate for your use, please
    37 ** contact the sales department at qt-sales@nokia.com.
     36** If you have questions regarding the use of this file, please contact
     37** Nokia at qt-info@nokia.com.
    3838** $QT_END_LICENSE$
    3939**
     
    433433            rcFile.close();
    434434        }
    435         if (writeRcFile && rcFile.open(QFile::WriteOnly)) {
    436             rcFile.write(rcString);
    437             rcFile.close();
     435        if (writeRcFile) {
     436            bool ok;
     437            ok = rcFile.open(QFile::WriteOnly);
     438            if (!ok) {
     439                // The file can't be opened... try creating the containing
     440                // directory first (needed for clean shadow builds)
     441                QDir().mkpath(QFileInfo(rcFile).path());
     442                ok = rcFile.open(QFile::WriteOnly);
     443            }
     444            if (!ok) {
     445                ::fprintf(stderr, "Cannot open for writing: %s", rcFile.fileName().toLatin1().constData());
     446                ::exit(1);
     447            }
     448            rcFile.write(rcString);
     449            rcFile.close();
    438450        }
    439451        if (project->values("QMAKE_WRITE_DEFAULT_RC").isEmpty())
     
    625637    QString orgDestDir = var("DESTDIR");
    626638    QString destDir = Option::fixPathToTargetOS(orgDestDir, false);
    627     if (orgDestDir.endsWith('/') || orgDestDir.endsWith(Option::dir_sep))
     639    if (!destDir.isEmpty() && (orgDestDir.endsWith('/') || orgDestDir.endsWith(Option::dir_sep)))
    628640        destDir += Option::dir_sep;
    629641    QString target = project->first("TARGET_SHORT");
     
    711723            writeLibDirPart(t);
    712724        t << var("QMAKE_LFLAGS") << endl;
    713         t << "LIBS          = " << var("QMAKE_LIBS") << endl;
     725        t << "LIBS          = " << var("QMAKE_LIBS") << " " << var("QMAKE_LIBS_PRIVATE") << endl;
    714726    }
    715727}
  • trunk/qmake/generators/win32/winmakefile.h

    r38 r561  
    22**
    33** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
    4 ** Contact: Qt Software Information (qt-info@nokia.com)
     4** All rights reserved.
     5** Contact: Nokia Corporation (qt-info@nokia.com)
    56**
    67** This file is part of the qmake application of the Qt Toolkit.
     
    2122** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
    2223**
    23 ** In addition, as a special exception, Nokia gives you certain
    24 ** additional rights. These rights are described in the Nokia Qt LGPL
    25 ** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
    26 ** package.
     24** In addition, as a special exception, Nokia gives you certain additional
     25** rights.  These rights are described in the Nokia Qt LGPL Exception
     26** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
    2727**
    2828** GNU General Public License Usage
     
    3434** met: http://www.gnu.org/copyleft/gpl.html.
    3535**
    36 ** If you are unsure which license is appropriate for your use, please
    37 ** contact the sales department at qt-sales@nokia.com.
     36** If you have questions regarding the use of this file, please contact
     37** Nokia at qt-info@nokia.com.
    3838** $QT_END_LICENSE$
    3939**
     
    9191
    9292inline bool Win32MakefileGenerator::findLibraries()
    93 { return findLibraries("QMAKE_LIBS"); }
     93{ return findLibraries("QMAKE_LIBS") && findLibraries("QMAKE_LIBS_PRIVATE"); }
    9494
    9595QT_END_NAMESPACE
  • trunk/qmake/generators/xmloutput.cpp

    r2 r561  
    22**
    33** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
    4 ** Contact: Qt Software Information (qt-info@nokia.com)
     4** All rights reserved.
     5** Contact: Nokia Corporation (qt-info@nokia.com)
    56**
    67** This file is part of the qmake application of the Qt Toolkit.
     
    2122** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
    2223**
    23 ** In addition, as a special exception, Nokia gives you certain
    24 ** additional rights. These rights are described in the Nokia Qt LGPL
    25 ** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
    26 ** package.
     24** In addition, as a special exception, Nokia gives you certain additional
     25** rights.  These rights are described in the Nokia Qt LGPL Exception
     26** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
    2727**
    2828** GNU General Public License Usage
     
    3434** met: http://www.gnu.org/copyleft/gpl.html.
    3535**
    36 ** If you are unsure which license is appropriate for your use, please
    37 ** contact the sales department at qt-sales@nokia.com.
     36** If you have questions regarding the use of this file, please contact
     37** Nokia at qt-info@nokia.com.
    3838** $QT_END_LICENSE$
    3939**
     
    278278{
    279279    bool cont = true;
    280     if (!tagStack.contains(tag) && tag != QString()) {
     280    if (!tagStack.contains(tag) && !tag.isNull()) {
    281281        //warn_msg(WarnLogic, "<%s>: Cannot close to tag <%s>, not on stack", tagStack.last().latin1(), tag.latin1());
    282282        qDebug("<%s>: Cannot close to tag <%s>, not on stack", tagStack.last().toLatin1().constData(), tag.toLatin1().constData());
  • trunk/qmake/generators/xmloutput.h

    r2 r561  
    22**
    33** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
    4 ** Contact: Qt Software Information (qt-info@nokia.com)
     4** All rights reserved.
     5** Contact: Nokia Corporation (qt-info@nokia.com)
    56**
    67** This file is part of the qmake application of the Qt Toolkit.
     
    2122** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
    2223**
    23 ** In addition, as a special exception, Nokia gives you certain
    24 ** additional rights. These rights are described in the Nokia Qt LGPL
    25 ** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
    26 ** package.
     24** In addition, as a special exception, Nokia gives you certain additional
     25** rights.  These rights are described in the Nokia Qt LGPL Exception
     26** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
    2727**
    2828** GNU General Public License Usage
     
    3434** met: http://www.gnu.org/copyleft/gpl.html.
    3535**
    36 ** If you are unsure which license is appropriate for your use, please
    37 ** contact the sales department at qt-sales@nokia.com.
     36** If you have questions regarding the use of this file, please contact
     37** Nokia at qt-info@nokia.com.
    3838** $QT_END_LICENSE$
    3939**
  • trunk/qmake/main.cpp

    r407 r561  
    22**
    33** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
    4 ** Contact: Qt Software Information (qt-info@nokia.com)
     4** All rights reserved.
     5** Contact: Nokia Corporation (qt-info@nokia.com)
    56**
    67** This file is part of the qmake application of the Qt Toolkit.
     
    2122** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
    2223**
    23 ** In addition, as a special exception, Nokia gives you certain
    24 ** additional rights. These rights are described in the Nokia Qt LGPL
    25 ** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
    26 ** package.
     24** In addition, as a special exception, Nokia gives you certain additional
     25** rights.  These rights are described in the Nokia Qt LGPL Exception
     26** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
    2727**
    2828** GNU General Public License Usage
     
    3434** met: http://www.gnu.org/copyleft/gpl.html.
    3535**
    36 ** If you are unsure which license is appropriate for your use, please
    37 ** contact the sales department at qt-sales@nokia.com.
     36** If you have questions regarding the use of this file, please contact
     37** Nokia at qt-info@nokia.com.
    3838** $QT_END_LICENSE$
    3939**
     
    8989int runQMake(int argc, char **argv)
    9090{
    91 #ifndef QT_BUILD_QMAKE
    92     // create application instance so that QLibraryInfo will pick up a qt.conf
    93     // file if there is any in the executable's directory
    94     QCoreApplication coreApp(argc, argv);
    95 #endif
     91    // stderr is unbuffered by default, but stdout buffering depends on whether
     92    // there is a terminal attached. Buffering can make output from stderr and stdout
     93    // appear out of sync, so force stdout to be unbuffered as well.
     94    // This is particularly important for things like QtCreator and scripted builds.
     95    setvbuf(stdout, (char *)NULL, _IONBF, 0);
    9696
    9797    // parse command line
     
    102102        return 0;
    103103    }
    104 
    105     // report Qt usage for commercial customers with a "metered license" (currently experimental)
    106 #if QT_EDITION != QT_EDITION_OPENSOURCE
    107     QString reporterPath = QLibraryInfo::location(QLibraryInfo::BinariesPath) + QDir::separator()
    108                            + "qtusagereporter";
    109 #if defined(Q_OS_WIN) || defined(Q_OS_OS2)
    110     reporterPath += ".exe";
    111 #endif
    112     if (QFile::exists(reporterPath))
    113         system(qPrintable(reporterPath + " qmake"));
    114 #endif
    115104
    116105    QString oldpwd = qmake_getpwd();
     
    184173        }
    185174
    186         MetaMakefileGenerator *mkfile = MetaMakefileGenerator::createMetaGenerator(&project, QString(), false);
     175        bool success = true;
     176        MetaMakefileGenerator *mkfile = MetaMakefileGenerator::createMetaGenerator(&project, QString(), false, &success);
     177        if (!success)
     178            exit_val = 3;
     179
    187180        if(mkfile && !mkfile->write(oldpwd)) {
    188181            if(Option::qmake_mode == Option::QMAKE_GENERATE_PROJECT)
  • trunk/qmake/meta.cpp

    r363 r561  
    22**
    33** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
    4 ** Contact: Qt Software Information (qt-info@nokia.com)
     4** All rights reserved.
     5** Contact: Nokia Corporation (qt-info@nokia.com)
    56**
    67** This file is part of the qmake application of the Qt Toolkit.
     
    2122** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
    2223**
    23 ** In addition, as a special exception, Nokia gives you certain
    24 ** additional rights. These rights are described in the Nokia Qt LGPL
    25 ** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
    26 ** package.
     24** In addition, as a special exception, Nokia gives you certain additional
     25** rights.  These rights are described in the Nokia Qt LGPL Exception
     26** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
    2727**
    2828** GNU General Public License Usage
     
    3434** met: http://www.gnu.org/copyleft/gpl.html.
    3535**
    36 ** If you are unsure which license is appropriate for your use, please
    37 ** contact the sales department at qt-sales@nokia.com.
     36** If you have questions regarding the use of this file, please contact
     37** Nokia at qt-info@nokia.com.
    3838** $QT_END_LICENSE$
    3939**
  • trunk/qmake/meta.h

    r2 r561  
    22**
    33** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
    4 ** Contact: Qt Software Information (qt-info@nokia.com)
     4** All rights reserved.
     5** Contact: Nokia Corporation (qt-info@nokia.com)
    56**
    67** This file is part of the qmake application of the Qt Toolkit.
     
    2122** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
    2223**
    23 ** In addition, as a special exception, Nokia gives you certain
    24 ** additional rights. These rights are described in the Nokia Qt LGPL
    25 ** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
    26 ** package.
     24** In addition, as a special exception, Nokia gives you certain additional
     25** rights.  These rights are described in the Nokia Qt LGPL Exception
     26** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
    2727**
    2828** GNU General Public License Usage
     
    3434** met: http://www.gnu.org/copyleft/gpl.html.
    3535**
    36 ** If you are unsure which license is appropriate for your use, please
    37 ** contact the sales department at qt-sales@nokia.com.
     36** If you have questions regarding the use of this file, please contact
     37** Nokia at qt-info@nokia.com.
    3838** $QT_END_LICENSE$
    3939**
  • trunk/qmake/option.cpp

    r548 r561  
    22**
    33** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
    4 ** Contact: Qt Software Information (qt-info@nokia.com)
     4** All rights reserved.
     5** Contact: Nokia Corporation (qt-info@nokia.com)
    56**
    67** This file is part of the qmake application of the Qt Toolkit.
     
    2122** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
    2223**
    23 ** In addition, as a special exception, Nokia gives you certain
    24 ** additional rights. These rights are described in the Nokia Qt LGPL
    25 ** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
    26 ** package.
     24** In addition, as a special exception, Nokia gives you certain additional
     25** rights.  These rights are described in the Nokia Qt LGPL Exception
     26** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
    2727**
    2828** GNU General Public License Usage
     
    3434** met: http://www.gnu.org/copyleft/gpl.html.
    3535**
    36 ** If you are unsure which license is appropriate for your use, please
    37 ** contact the sales department at qt-sales@nokia.com.
     36** If you have questions regarding the use of this file, please contact
     37** Nokia at qt-info@nokia.com.
    3838** $QT_END_LICENSE$
    3939**
     
    6969QString Option::yacc_ext;
    7070QString Option::pro_ext;
     71QString Option::mmp_ext;
    7172QString Option::dir_sep;
    7273QString Option::dirlist_sep;
     
    102103#elif defined(Q_OS_MAC)
    103104Option::TARG_MODE Option::target_mode = Option::TARG_MACX_MODE;
    104 #elif defined(Q_OS_QNX6)
    105 Option::TARG_MODE Option::target_mode = Option::TARG_QNX6_MODE;
    106105#else
    107106Option::TARG_MODE Option::target_mode = Option::TARG_UNIX_MODE;
     
    155154            "                 be built,\n"
    156155            "                 defaults to %s\n"
     156            "                 Note: The created .pro file probably will \n"
     157            "                 need to be edited. For example add the QT variable to \n"
     158            "                 specify what modules are required.\n"
    157159            "  -makefile      Put qmake into makefile generation mode%s\n"
    158160            "                 In this mode qmake interprets files as project files to\n"
     
    395397    Option::yacc_ext = ".y";
    396398    Option::pro_ext = ".pro";
     399    Option::mmp_ext = ".mmp";
    397400#if defined(Q_OS_WIN) || defined(Q_OS_OS2)
    398401    Option::dirlist_sep = ";";
     
    737740    QString ret;
    738741#if defined(Q_OS_WIN)
    739     QFileInfo filePath;
    740     QT_WA({
    741         unsigned short module_name[256];
    742         GetModuleFileNameW(0, reinterpret_cast<wchar_t *>(module_name), sizeof(module_name));
    743         filePath = QString::fromUtf16(module_name);
    744     }, {
    745         char module_name[256];
    746         GetModuleFileNameA(0, module_name, sizeof(module_name));
    747         filePath = QString::fromLocal8Bit(module_name);
    748     });
     742    wchar_t module_name[MAX_PATH];
     743    GetModuleFileName(0, module_name, MAX_PATH);
     744    QFileInfo filePath = QString::fromWCharArray(module_name);
    749745    ret = filePath.filePath();
    750746#elif defined(Q_OS_OS2)
  • trunk/qmake/option.h

    r27 r561  
    22**
    33** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
    4 ** Contact: Qt Software Information (qt-info@nokia.com)
     4** All rights reserved.
     5** Contact: Nokia Corporation (qt-info@nokia.com)
    56**
    67** This file is part of the qmake application of the Qt Toolkit.
     
    2122** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
    2223**
    23 ** In addition, as a special exception, Nokia gives you certain
    24 ** additional rights. These rights are described in the Nokia Qt LGPL
    25 ** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
    26 ** package.
     24** In addition, as a special exception, Nokia gives you certain additional
     25** rights.  These rights are described in the Nokia Qt LGPL Exception
     26** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
    2727**
    2828** GNU General Public License Usage
     
    3434** met: http://www.gnu.org/copyleft/gpl.html.
    3535**
    36 ** If you are unsure which license is appropriate for your use, please
    37 ** contact the sales department at qt-sales@nokia.com.
     36** If you have questions regarding the use of this file, please contact
     37** Nokia at qt-info@nokia.com.
    3838** $QT_END_LICENSE$
    3939**
     
    9393    static QString sysenv_mod;
    9494    static QString pro_ext;
     95    static QString mmp_ext;
    9596    static QString res_ext;
    9697    static char field_sep;
     
    150151    static bool recursive;
    151152    static QStringList before_user_vars, after_user_vars, user_configs, after_user_configs;
    152     enum TARG_MODE { TARG_UNIX_MODE, TARG_WIN_MODE, TARG_MACX_MODE, TARG_MAC9_MODE, TARG_QNX6_MODE, TARG_OS2_MODE };
     153    enum TARG_MODE { TARG_UNIX_MODE, TARG_WIN_MODE, TARG_MACX_MODE, TARG_MAC9_MODE, TARG_OS2_MODE };
    153154    static TARG_MODE target_mode;
    154155    static QString user_template, user_template_prefix;
  • trunk/qmake/project.cpp

    r405 r561  
    22**
    33** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
    4 ** Contact: Qt Software Information (qt-info@nokia.com)
     4** All rights reserved.
     5** Contact: Nokia Corporation (qt-info@nokia.com)
    56**
    67** This file is part of the qmake application of the Qt Toolkit.
     
    2122** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
    2223**
    23 ** In addition, as a special exception, Nokia gives you certain
    24 ** additional rights. These rights are described in the Nokia Qt LGPL
    25 ** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
    26 ** package.
     24** In addition, as a special exception, Nokia gives you certain additional
     25** rights.  These rights are described in the Nokia Qt LGPL Exception
     26** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
    2727**
    2828** GNU General Public License Usage
     
    3434** met: http://www.gnu.org/copyleft/gpl.html.
    3535**
    36 ** If you are unsure which license is appropriate for your use, please
    37 ** contact the sales department at qt-sales@nokia.com.
     36** If you have questions regarding the use of this file, please contact
     37** Nokia at qt-info@nokia.com.
    3838** $QT_END_LICENSE$
    3939**
     
    4444#include "option.h"
    4545#include "cachekeys.h"
     46
     47#include "epocroot.h"
    4648
    4749#include <qdatetime.h>
     
    5860#include <sys/utsname.h>
    5961#elif defined(Q_OS_WIN32)
    60 #include <Windows.h>
     62#include <windows.h>
    6163#elif defined(Q_OS_OS2)
    6264#include <qt_os2.h>
     
    7981                  E_SPRINTF, E_JOIN, E_SPLIT, E_BASENAME, E_DIRNAME, E_SECTION,
    8082                  E_FIND, E_SYSTEM, E_UNIQUE, E_QUOTE, E_ESCAPE_EXPAND,
    81                   E_UPPER, E_LOWER, E_FILES, E_PROMPT, E_RE_ESCAPE, E_REPLACE };
     83                  E_UPPER, E_LOWER, E_FILES, E_PROMPT, E_RE_ESCAPE, E_REPLACE,
     84                  E_SIZE };
    8285QMap<QString, ExpandFunc> qmake_expandFunctions()
    8386{
     
    110113        qmake_expand_functions->insert("prompt", E_PROMPT);
    111114        qmake_expand_functions->insert("replace", E_REPLACE);
     115        qmake_expand_functions->insert("size", E_SIZE);
    112116    }
    113117    return *qmake_expand_functions;
     
    155159    return *qmake_test_functions;
    156160}
    157 
    158 QT_END_NAMESPACE
    159 
    160 #ifdef QTSCRIPT_SUPPORT
    161 #include "qscriptvalue.h"
    162 #include "qscriptengine.h"
    163 #include "qscriptvalueiterator.h"
    164 
    165 QT_BEGIN_NAMESPACE
    166 
    167 static QScriptValue qscript_projectWrapper(QScriptEngine *eng, QMakeProject *project,
    168                                     const QMap<QString, QStringList> &place);
    169 
    170 static bool qscript_createQMakeProjectMap(QMap<QString, QStringList> &vars, QScriptValue js)
    171 {
    172     QScriptValueIterator it(js);
    173     while(it.hasNext()) {
    174         it.next();
    175         vars[it.name()] = qscriptvalue_cast<QStringList>(it.value());
    176     }
    177     return true;
    178 }
    179 
    180 static QScriptValue qscript_call_testfunction(QScriptContext *context, QScriptEngine *engine)
    181 {
    182     QMakeProject *self = qscriptvalue_cast<QMakeProject*>(context->callee().property("qmakeProject"));
    183     QString func = context->callee().property("functionName").toString();
    184     QStringList args;
    185     for(int i = 0; i < context->argumentCount(); ++i)
    186         args += context->argument(i).toString();
    187     QMap<QString, QStringList> place = self->variables();
    188     qscript_createQMakeProjectMap(place, engine->globalObject().property("qmake"));
    189     QScriptValue ret(engine, self->doProjectTest(func, args, place));
    190     engine->globalObject().setProperty("qmake", qscript_projectWrapper(engine, self, place));
    191     return ret;
    192 }
    193 
    194 static QScriptValue qscript_call_expandfunction(QScriptContext *context, QScriptEngine *engine)
    195 {
    196     QMakeProject *self = qscriptvalue_cast<QMakeProject*>(context->callee().property("qmakeProject"));
    197     QString func = context->callee().property("functionName").toString();
    198     QStringList args;
    199     for(int i = 0; i < context->argumentCount(); ++i)
    200         args += context->argument(i).toString();
    201     QMap<QString, QStringList> place = self->variables();
    202     qscript_createQMakeProjectMap(place, engine->globalObject().property("qmake"));
    203     QScriptValue ret = qScriptValueFromValue(engine, self->doProjectExpand(func, args, place));
    204     engine->globalObject().setProperty("qmake", qscript_projectWrapper(engine, self, place));
    205     return ret;
    206 }
    207 
    208 static QScriptValue qscript_projectWrapper(QScriptEngine *eng, QMakeProject *project,
    209                                            const QMap<QString, QStringList> &place)
    210 {
    211     QScriptValue ret = eng->newObject();
    212     {
    213         QStringList testFuncs = qmake_testFunctions().keys() + project->userTestFunctions();
    214         for(int i = 0; i < testFuncs.size(); ++i) {
    215             QString funcName = testFuncs.at(i);
    216             QScriptValue fun = eng->newFunction(qscript_call_testfunction);
    217             fun.setProperty("qmakeProject", eng->newVariant(qVariantFromValue(project)));
    218             fun.setProperty("functionName", QScriptValue(eng, funcName));
    219             eng->globalObject().setProperty(funcName, fun);
    220         }
    221     }
    222     {
    223         QStringList testFuncs = qmake_expandFunctions().keys() + project->userExpandFunctions();
    224         for(int i = 0; i < testFuncs.size(); ++i) {
    225             QString funcName = testFuncs.at(i);
    226             QScriptValue fun = eng->newFunction(qscript_call_expandfunction);
    227             fun.setProperty("qmakeProject", eng->newVariant(qVariantFromValue(project)));
    228             fun.setProperty("functionName", QScriptValue(eng, funcName));
    229             eng->globalObject().setProperty(funcName, fun);
    230         }
    231     }
    232     for(QMap<QString, QStringList>::ConstIterator it = place.begin(); it != place.end(); ++it)
    233         ret.setProperty(it.key(), qScriptValueFromValue(eng, it.value()));
    234     return ret;
    235 }
    236 
    237 QT_END_NAMESPACE
    238 
    239 #endif
    240 
    241 QT_BEGIN_NAMESPACE
    242161
    243162struct parser_info {
     
    591510}
    592511
     512enum isForSymbian_enum {
     513    isForSymbian_NOT_SET = -1,
     514    isForSymbian_FALSE = 0,
     515    isForSymbian_ABLD = 1,
     516    isForSymbian_SBSV2 = 2,
     517};
     518
     519static isForSymbian_enum isForSymbian_value = isForSymbian_NOT_SET;
     520
     521// Checking for symbian build is primarily determined from the qmake spec,
     522// but if that is not specified, detect if symbian is the default spec
     523// by checking the MAKEFILE_GENERATOR variable value.
     524static void init_symbian(const QMap<QString, QStringList>& vars)
     525{
     526    if (isForSymbian_value != isForSymbian_NOT_SET)
     527        return;
     528
     529    QString spec = QFileInfo(Option::mkfile::qmakespec).fileName();
     530    if (spec.startsWith("symbian-abld", Qt::CaseInsensitive)) {
     531        isForSymbian_value = isForSymbian_ABLD;
     532    } else if (spec.startsWith("symbian-sbsv2", Qt::CaseInsensitive)) {
     533        isForSymbian_value = isForSymbian_SBSV2;
     534    } else {
     535        QStringList generatorList = vars["MAKEFILE_GENERATOR"];
     536
     537        if (!generatorList.isEmpty()) {
     538            QString generator = generatorList.first();
     539            if (generator.startsWith("SYMBIAN_ABLD"))
     540                isForSymbian_value = isForSymbian_ABLD;
     541            else if (generator.startsWith("SYMBIAN_SBSV2"))
     542                isForSymbian_value = isForSymbian_SBSV2;
     543            else
     544                isForSymbian_value = isForSymbian_FALSE;
     545        } else {
     546            isForSymbian_value = isForSymbian_FALSE;
     547        }
     548    }
     549
     550    // Force recursive on Symbian, as non-recursive is not really a viable option there
     551    if (isForSymbian_value != isForSymbian_FALSE)
     552        Option::recursive = true;
     553}
     554
     555bool isForSymbian()
     556{
     557    // If isForSymbian_value has not been initialized explicitly yet,
     558    // call initializer with dummy map to check qmake spec.
     559    if (isForSymbian_value == isForSymbian_NOT_SET)
     560        init_symbian(QMap<QString, QStringList>());
     561
     562    return (isForSymbian_value != isForSymbian_FALSE);
     563}
     564
     565bool isForSymbianSbsv2()
     566{
     567    // If isForSymbian_value has not been initialized explicitly yet,
     568    // call initializer with dummy map to check qmake spec.
     569    if (isForSymbian_value == isForSymbian_NOT_SET)
     570        init_symbian(QMap<QString, QStringList>());
     571
     572    return (isForSymbian_value == isForSymbian_SBSV2);
     573}
     574
    593575/*
    594576   1) environment variable QMAKEFEATURES (as separated by colons)
     
    617599            break;
    618600        case Option::TARG_UNIX_MODE:
    619             concat << base_concat + QDir::separator() + "unix";
    620             break;
     601            {
     602                if (isForSymbian())
     603                    concat << base_concat + QDir::separator() + "symbian";
     604                else
     605                    concat << base_concat + QDir::separator() + "unix";
     606                break;
     607            }
    621608        case Option::TARG_WIN_MODE:
    622             concat << base_concat + QDir::separator() + "win32";
    623             break;
     609            {
     610                if (isForSymbian())
     611                    concat << base_concat + QDir::separator() + "symbian";
     612                else
     613                    concat << base_concat + QDir::separator() + "win32";
     614                break;
     615            }
    624616        case Option::TARG_OS2_MODE:
    625617            concat << base_concat + QDir::separator() + "os2";
     
    628620            concat << base_concat + QDir::separator() + "mac";
    629621            concat << base_concat + QDir::separator() + "mac9";
    630             break;
    631         case Option::TARG_QNX6_MODE: //also a unix
    632             concat << base_concat + QDir::separator() + "qnx6";
    633             concat << base_concat + QDir::separator() + "unix";
    634622            break;
    635623        }
     
    14811469                return false;
    14821470            }
     1471
     1472            init_symbian(base_vars);
     1473
    14831474            if(Option::mkfile::do_cache && !Option::mkfile::cachefile.isEmpty()) {
    14841475                debug_msg(1, "QMAKECACHE file: reading %s", Option::mkfile::cachefile.toLatin1().constData());
     
    15271518    if(cmd & ReadProFile) { // parse project file
    15281519        debug_msg(1, "Project file: reading %s", pfile.toLatin1().constData());
    1529         if(pfile != "-" && !QFile::exists(pfile) && !pfile.endsWith(".pro"))
    1530             pfile += ".pro";
     1520        if(pfile != "-" && !QFile::exists(pfile) && !pfile.endsWith(Option::pro_ext))
     1521            pfile += Option::pro_ext;
    15311522        if(!read(pfile, vars))
    15321523            return false;
     
    16151606        return false;
    16161607
     1608    static QString spec;
     1609    if(spec.isEmpty())
     1610        spec = QFileInfo(Option::mkfile::qmakespec).fileName();
     1611
     1612    // Symbian is an exception to how scopes are resolved. Since we do not
     1613    // have a separate target mode for Symbian, but we expect the scope to resolve
     1614    // on other platforms we base it entirely on the mkspec. This means that
     1615    // using a mkspec starting with 'symbian*' will resolve both the 'symbian'
     1616    // and the 'unix' (because of Open C) scopes to true.
     1617    if(isForSymbian() && (x == "symbian" || x == "unix"))
     1618        return true;
     1619
    16171620    //mkspecs
    1618     if((Option::target_mode == Option::TARG_MACX_MODE || Option::target_mode == Option::TARG_QNX6_MODE ||
     1621    if((Option::target_mode == Option::TARG_MACX_MODE ||
    16191622        Option::target_mode == Option::TARG_UNIX_MODE) && x == "unix")
    1620         return true;
     1623        return !isForSymbian();
    16211624    else if(Option::target_mode == Option::TARG_MACX_MODE && x == "macx")
    1622         return true;
    1623     else if(Option::target_mode == Option::TARG_QNX6_MODE && x == "qnx6")
    1624         return true;
     1625        return !isForSymbian();
    16251626    else if(Option::target_mode == Option::TARG_MAC9_MODE && x == "mac9")
    1626         return true;
     1627        return !isForSymbian();
    16271628    else if((Option::target_mode == Option::TARG_MAC9_MODE || Option::target_mode == Option::TARG_MACX_MODE) &&
    16281629            x == "mac")
    1629         return true;
     1630        return !isForSymbian();
    16301631    else if(Option::target_mode == Option::TARG_WIN_MODE && x == "win32")
    1631         return true;
     1632        return !isForSymbian();
    16321633    else if(Option::target_mode == Option::TARG_OS2_MODE && x == "os2")
    16331634        return true;
    16341635    QRegExp re(x, Qt::CaseSensitive, QRegExp::Wildcard);
    1635     static QString spec;
    1636     if(spec.isEmpty())
    1637         spec = QFileInfo(Option::mkfile::qmakespec).fileName();
    16381636    if((regex && re.exactMatch(spec)) || (!regex && spec == x))
    16391637        return true;
     
    17231721            static QStringList *feature_roots = 0;
    17241722            if(!feature_roots) {
     1723                init_symbian(base_vars);
    17251724                feature_roots = new QStringList(qmake_feature_paths(prop));
    17261725                qmakeAddCacheClear(qmakeDeleteCacheClear_QStringList, (void**)&feature_roots);
     
    18081807    parser_info pi = parser;
    18091808    if(format == JSFormat) {
    1810 #ifdef QTSCRIPT_SUPPORT
    1811         eng.globalObject().setProperty("qmake", qscript_projectWrapper(&eng, this, place));
    1812         QFile f(file);
    1813         if (f.open(QFile::ReadOnly)) {
    1814             QString code = f.readAll();
    1815             QScriptValue r = eng.evaluate(code);
    1816             if(eng.hasUncaughtException()) {
    1817                 const int lineNo = eng.uncaughtExceptionLineNumber();
    1818                 fprintf(stderr, "%s:%d: %s\n", file.toLatin1().constData(), lineNo,
    1819                         r.toString().toLatin1().constData());
    1820             } else {
    1821                 parsed = true;
    1822                 QScriptValue variables = eng.globalObject().property("qmake");
    1823                 if (variables.isValid() && variables.isObject())
    1824                     qscript_createQMakeProjectMap(place, variables);
    1825             }
    1826         }
    1827 #else
    18281809        warn_msg(WarnParser, "%s:%d: QtScript support disabled for %s.",
    18291810                 pi.file.toLatin1().constData(), pi.line_no, orig_file.toLatin1().constData());
    1830 #endif
    18311811    } else {
    18321812        QStack<ScopeBlock> sc = scope_blocks;
     
    21652145            QMakeProjectEnv env(place);
    21662146            char buff[256];
    2167             FILE *proc = QT_POPEN(args[0].toLatin1(), "r");
    21682147            bool singleLine = true;
    21692148            if(args.count() > 1)
    21702149                singleLine = (args[1].toLower() == "true");
    21712150            QString output;
     2151            FILE *proc = QT_POPEN(args[0].toLatin1(), "r");
    21722152            while(proc && !feof(proc)) {
    21732153                int read_in = int(fread(buff, 1, 255, proc));
     
    23182298        }
    23192299        break; }
     2300    case E_SIZE: {
     2301        if(args.count() != 1) {
     2302            fprintf(stderr, "%s:%d: size(var) requires one argument.\n",
     2303                    parser.file.toLatin1().constData(), parser.line_no);
     2304        } else {
     2305            //QString target = args[0];
     2306            int size = values(args[0]).size();
     2307            ret += QString::number(size);
     2308        }
     2309        break; }
    23202310    default: {
    2321 #ifdef QTSCRIPT_SUPPORT
    2322         {
    2323             QScriptValue jsFunc = eng.globalObject().property(func);
    2324             if(jsFunc.isFunction()) {
    2325                 QScriptValueList jsArgs;
    2326                 for(int i = 0; i < args.size(); ++i)
    2327                     jsArgs += QScriptValue(&eng, args.at(i));
    2328                 QScriptValue jsRet = jsFunc.call(eng.globalObject(), jsArgs);
    2329                 ret = qscriptvalue_cast<QStringList>(jsRet);
    2330                 break;
    2331             }
    2332         }
    2333 #endif
    23342311        fprintf(stderr, "%s:%d: Unknown replace function: %s\n",
    23352312                parser.file.toLatin1().constData(), parser.line_no,
     
    24132390            int lhs_int = lhs.toInt(&ok);
    24142391            if(ok) {
    2415                 if(func == "greaterThan")
     2392                if(func_t == T_GREATERTHAN)
    24162393                    return lhs_int > rhs_int;
    24172394                return lhs_int < rhs_int;
     
    27082685        QString parseInto;
    27092686        const bool include_statement = (func_t == T_INCLUDE);
    2710         bool ignore_error = include_statement;
    2711         if(args.count() == 2) {
     2687        bool ignore_error = false;
     2688        if(args.count() >= 2) {
    27122689            if(func_t == T_INCLUDE) {
    27132690                parseInto = args[1];
     2691                if (args.count() == 3){
     2692                    QString sarg = args[2];
     2693                    if (sarg.toLower() == "true" || sarg.toInt())
     2694                        ignore_error = true;
     2695                }
    27142696            } else {
    27152697                QString sarg = args[1];
     
    27532735            warn_msg(WarnParser, "%s:%d: Duplicate of loaded feature %s",
    27542736                     parser.file.toLatin1().constData(), parser.line_no, file.toLatin1().constData());
    2755         } else if(stat == IncludeNoExist && include_statement) {
    2756             warn_msg(WarnParser, "%s:%d: Unable to find file for inclusion %s",
     2737        } else if(stat == IncludeNoExist && !ignore_error) {
     2738            warn_msg(WarnAll, "%s:%d: Unable to find file for inclusion %s",
    27572739                     parser.file.toLatin1().constData(), parser.line_no, file.toLatin1().constData());
    27582740            return false;
     
    27972779        return true; }
    27982780    default:
    2799 #ifdef QTSCRIPT_SUPPORT
    2800         {
    2801             QScriptValue jsFunc = eng.globalObject().property(func);
    2802             if(jsFunc.isFunction()) {
    2803                 QScriptValueList jsArgs;
    2804                 for(int i = 0; i < args.size(); ++i)
    2805                     jsArgs += QScriptValue(&eng, args.at(i));
    2806                 QScriptValue jsRet = jsFunc.call(eng.globalObject(), jsArgs);
    2807                 if(eng.hasUncaughtException())
    2808                     return false;
    2809                 return qscriptvalue_cast<bool>(jsRet);
    2810             }
    2811         }
    2812 #endif
    28132781        fprintf(stderr, "%s:%d: Unknown test function: %s\n", parser.file.toLatin1().constData(), parser.line_no,
    28142782                func.toLatin1().constData());
     
    31263094        } else if(type == "name") {
    31273095            DWORD name_length = 1024;
    3128             TCHAR name[1024];
    3129             if(GetComputerName(name, &name_length))
    3130                 ret = QString::fromUtf16((ushort*)name, name_length);
     3096            wchar_t name[1024];
     3097            if (GetComputerName(name, &name_length))
     3098                ret = QString::fromWCharArray(name);
    31313099        } else if(type == "version" || type == "version_string") {
    31323100            QSysInfo::WinVersion ver = QSysInfo::WindowsVersion;
     
    32253193        if (place[var].isEmpty())
    32263194            return values("DIR_SEPARATOR", place);
     3195    } else if (var == QLatin1String("EPOCROOT")) {
     3196        if (place[var].isEmpty())
     3197            place[var] = QStringList(epocRoot());
    32273198    }
    32283199    //qDebug("REPLACE [%s]->[%s]", qPrintable(var), qPrintable(place[var].join("::")));
  • trunk/qmake/project.h

    r2 r561  
    22**
    33** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
    4 ** Contact: Qt Software Information (qt-info@nokia.com)
     4** All rights reserved.
     5** Contact: Nokia Corporation (qt-info@nokia.com)
    56**
    67** This file is part of the qmake application of the Qt Toolkit.
     
    2122** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
    2223**
    23 ** In addition, as a special exception, Nokia gives you certain
    24 ** additional rights. These rights are described in the Nokia Qt LGPL
    25 ** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
    26 ** package.
     24** In addition, as a special exception, Nokia gives you certain additional
     25** rights.  These rights are described in the Nokia Qt LGPL Exception
     26** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
    2727**
    2828** GNU General Public License Usage
     
    3434** met: http://www.gnu.org/copyleft/gpl.html.
    3535**
    36 ** If you are unsure which license is appropriate for your use, please
    37 ** contact the sales department at qt-sales@nokia.com.
     36** If you have questions regarding the use of this file, please contact
     37** Nokia at qt-info@nokia.com.
    3838** $QT_END_LICENSE$
    3939**
     
    4949#include <qmap.h>
    5050#include <qmetatype.h>
    51 
    52 #ifndef QT_BUILD_QMAKE_LIBRARY
    53 # define QTSCRIPT_SUPPORT
    54 #endif
    55 
    56 #ifdef QTSCRIPT_SUPPORT
    57 # include <qscriptengine.h>
    58 #endif
    5951
    6052QT_BEGIN_NAMESPACE
     
    8173    friend struct FunctionBlock;
    8274
    83 #ifdef QTSCRIPT_SUPPORT
    84     QScriptEngine eng;
    85 #endif
    8675    QStack<ScopeBlock> scope_blocks;
    8776    QStack<FunctionBlock *> function_blocks;
     
    204193{ return vars; }
    205194
     195// Helper functions needed for Symbian
     196bool isForSymbian();
     197bool isForSymbianSbsv2();
     198
    206199QT_END_NAMESPACE
    207200
  • trunk/qmake/property.cpp

    r27 r561  
    22**
    33** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
    4 ** Contact: Qt Software Information (qt-info@nokia.com)
     4** All rights reserved.
     5** Contact: Nokia Corporation (qt-info@nokia.com)
    56**
    67** This file is part of the qmake application of the Qt Toolkit.
     
    2122** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
    2223**
    23 ** In addition, as a special exception, Nokia gives you certain
    24 ** additional rights. These rights are described in the Nokia Qt LGPL
    25 ** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
    26 ** package.
     24** In addition, as a special exception, Nokia gives you certain additional
     25** rights.  These rights are described in the Nokia Qt LGPL Exception
     26** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
    2727**
    2828** GNU General Public License Usage
     
    3434** met: http://www.gnu.org/copyleft/gpl.html.
    3535**
    36 ** If you are unsure which license is appropriate for your use, please
    37 ** contact the sales department at qt-sales@nokia.com.
     36** If you have questions regarding the use of this file, please contact
     37** Nokia at qt-info@nokia.com.
    3838** $QT_END_LICENSE$
    3939**
  • trunk/qmake/property.h

    r2 r561  
    22**
    33** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
    4 ** Contact: Qt Software Information (qt-info@nokia.com)
     4** All rights reserved.
     5** Contact: Nokia Corporation (qt-info@nokia.com)
    56**
    67** This file is part of the qmake application of the Qt Toolkit.
     
    2122** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
    2223**
    23 ** In addition, as a special exception, Nokia gives you certain
    24 ** additional rights. These rights are described in the Nokia Qt LGPL
    25 ** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
    26 ** package.
     24** In addition, as a special exception, Nokia gives you certain additional
     25** rights.  These rights are described in the Nokia Qt LGPL Exception
     26** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
    2727**
    2828** GNU General Public License Usage
     
    3434** met: http://www.gnu.org/copyleft/gpl.html.
    3535**
    36 ** If you are unsure which license is appropriate for your use, please
    37 ** contact the sales department at qt-sales@nokia.com.
     36** If you have questions regarding the use of this file, please contact
     37** Nokia at qt-info@nokia.com.
    3838** $QT_END_LICENSE$
    3939**
  • trunk/qmake/qmake.pri

    r406 r561  
    99           generators/win32/msvc_nmake.cpp generators/projectgenerator.cpp \
    1010           generators/win32/msvc_dsp.cpp generators/win32/msvc_vcproj.cpp \
    11            generators/win32/msvc_objectmodel.cpp generators/os2/gnumake.cpp
     11           generators/win32/msvc_objectmodel.cpp \
     12           generators/symbian/symmake.cpp \
     13           generators/symbian/symmake_abld.cpp \
     14           generators/symbian/symmake_sbsv2.cpp \
     15           generators/symbian/initprojectdeploy_symbian.cpp \
     16           generators/os2/gnumake.cpp
     17
    1218HEADERS += project.h property.h generators/makefile.h \
    1319           generators/unix/unixmake.h meta.h option.h cachekeys.h \
     
    1723           generators/win32/msvc_dsp.h generators/win32/msvc_vcproj.h \
    1824           generators/win32/mingw_make.h generators/win32/msvc_objectmodel.h \
     25           generators/symbian/symmake.h \
     26           generators/symbian/symmake_abld.h \
     27           generators/symbian/symmake_sbsv2.h \
     28           generators/symbian/epocroot.h \
     29           generators/symbian/initprojectdeploy_symbian.h \
    1930           generators/os2/gnumake.h
    2031
     
    4758        qhash.cpp \
    4859        qiodevice.cpp \
    49         qlistdata.cpp \
     60        qlist.cpp \
    5061        qlinkedlist.cpp \
    5162        qlocale.cpp \
     
    5465        qmetatype.cpp \
    5566        qregexp.cpp \
     67        qtextcodec.cpp \
     68        qutfcodec.cpp \
    5669        qstring.cpp \
    5770        qstringlist.cpp \
     
    6477        qvariant.cpp \
    6578        qvector.cpp \
    66         qvsnprintf.cpp
     79        qvsnprintf.cpp \
     80        qxmlstream.cpp \
     81        qxmlutils.cpp
    6782
    6883   HEADERS+= \
     
    8095        qabstractfileengine.h \
    8196        qfileinfo.h \
    82         qfileinfo_p.h \
    8397        qglobal.h \
    8498        qnumeric.h \
     
    92106        qmetatype.h \
    93107        qregexp.h \
     108        qtextcodec.h \
     109        qutfcodec.h \
    94110        qstring.h \
    95111        qstringlist.h \
     
    99115        qurl.h \
    100116        quuid.h \
    101         qvector.h
     117        qvector.h \
     118        qxmlstream.h \
     119        qxmlutils.h
    102120
    103121    unix {
     
    105123        mac {
    106124          SOURCES += qcore_mac.cpp qsettings_mac.cpp
    107           QMAKE_MACOSX_DEPLOYMENT_TARGET = 10.3 #enables weak linking for 10.3 (exported)
     125          QMAKE_MACOSX_DEPLOYMENT_TARGET = 10.4 #enables weak linking for 10.4 (exported)
    108126          LIBS += -framework ApplicationServices
    109127        }
     
    121139    }
    122140    DEFINES *= QT_NO_QOBJECT
    123     include($$QT_SOURCE_TREE/src/script/script.pri)
    124141} else {
    125142    CONFIG += qt
    126     QT = core script
     143    QT = core
    127144}
    128145*-g++:profiling {
  • trunk/qmake/qmake.pro

    r527 r561  
    1616         $$QT_SOURCE_TREE/src/corelib/tools \
    1717         $$QT_SOURCE_TREE/src/corelib/kernel \
     18         $$QT_SOURCE_TREE/src/corelib/codecs \
    1819         $$QT_SOURCE_TREE/src/corelib/plugin \
    19          $$QT_SOURCE_TREE/src/corelib/io \
    20          $$QT_SOURCE_TREE/src/script
    21 INCPATH += generators generators/unix generators/win32 generators/os2 generators/mac \
    22            $$QT_SOURCE_TREE/include $$QT_SOURCE_TREE/include/QtCore \
    23            $$QT_SOURCE_TREE/qmake $$QT_SOURCE_TREE/include/QtScript
     20         $$QT_SOURCE_TREE/src/corelib/xml \
     21         $$QT_SOURCE_TREE/src/corelib/io
     22INCPATH += generators generators/unix generators/win32 generators/mac generators/symbian generators/os2 \
     23           $$QT_SOURCE_TREE/include $$QT_SOURCE_TREE/include/QtCore
    2424include(qmake.pri)
    2525
  • trunk/qmake/qmake_pch.h

    r2 r561  
    22**
    33** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
    4 ** Contact: Qt Software Information (qt-info@nokia.com)
     4** All rights reserved.
     5** Contact: Nokia Corporation (qt-info@nokia.com)
    56**
    67** This file is part of the qmake application of the Qt Toolkit.
     
    2122** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
    2223**
    23 ** In addition, as a special exception, Nokia gives you certain
    24 ** additional rights. These rights are described in the Nokia Qt LGPL
    25 ** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
    26 ** package.
     24** In addition, as a special exception, Nokia gives you certain additional
     25** rights.  These rights are described in the Nokia Qt LGPL Exception
     26** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
    2727**
    2828** GNU General Public License Usage
     
    3434** met: http://www.gnu.org/copyleft/gpl.html.
    3535**
    36 ** If you are unsure which license is appropriate for your use, please
    37 ** contact the sales department at qt-sales@nokia.com.
     36** If you have questions regarding the use of this file, please contact
     37** Nokia at qt-info@nokia.com.
    3838** $QT_END_LICENSE$
    3939**
     
    5454#include <qfile.h>
    5555//#include "winmakefile.h"
    56 #include <qtextstream.h>
     56//#include <qtextstream.h>
    5757//#include "project.h"
    5858#include <qstring.h>
Note: See TracChangeset for help on using the changeset viewer.