mkspecs/features/symbian/platform_paths.prf
branchRCL_3
changeset 4 3b1da2848fc7
parent 3 41300fa6a67c
child 8 3f74d0d4af4c
equal deleted inserted replaced
3:41300fa6a67c 4:3b1da2848fc7
    56     load($${EPOCROOT}epoc32/include/platform_paths.prf)
    56     load($${EPOCROOT}epoc32/include/platform_paths.prf)
    57 
    57 
    58 } else {  
    58 } else {  
    59 
    59 
    60     # No platform specific paths provided, use default paths
    60     # No platform specific paths provided, use default paths
    61 
       
    62     exists($${EPOCROOT}epoc32/include/platform) { # New SF structure
       
    63     
    61     
    64         # ---------------------------------------
    62         # ---------------------------------------
    65         # Location, where the applications layer specific public headers are exported
    63         # Location, where the applications layer specific public headers are exported
    66         # ---------------------------------------
    64         # ---------------------------------------
    67 
    65 
   214                                       $$OS_LAYER_PUBLIC_EXPORT_PATH(stdapis/glib-2.0/gObject)
   212                                       $$OS_LAYER_PUBLIC_EXPORT_PATH(stdapis/glib-2.0/gObject)
   215 
   213 
   216         OS_LAYER_SSL_SYSTEMINCLUDE = $$OS_LAYER_PUBLIC_EXPORT_PATH(stdapis/openssl)
   214         OS_LAYER_SSL_SYSTEMINCLUDE = $$OS_LAYER_PUBLIC_EXPORT_PATH(stdapis/openssl)
   217 
   215 
   218         # stlportv5 is preferred over stlport as it has the throwing version of operator new
   216         # stlportv5 is preferred over stlport as it has the throwing version of operator new
   219         # :QTP: detection of stlport not possible in clean build
   217         exists($${EPOCROOT}epoc32/include/stdapis/stlport) \
   220         OS_LAYER_STDCPP_SYSTEMINCLUDE = $$OS_LAYER_PUBLIC_EXPORT_PATH(stdapis/stlportv5)
   218         :!exists($${EPOCROOT}epoc32/include/stdapis/stlportv5) {
       
   219             OS_LAYER_STDCPP_SYSTEMINCLUDE = $$OS_LAYER_PUBLIC_EXPORT_PATH(stdapis/stlport)
       
   220         } else {
       
   221             OS_LAYER_STDCPP_SYSTEMINCLUDE = $$OS_LAYER_PUBLIC_EXPORT_PATH(stdapis/stlportv5)
       
   222         }
   221         
   223         
   222         OS_LAYER_BOOST_SYSTEMINCLUDE = $$OS_LAYER_PUBLIC_EXPORT_PATH(stdapis/boost)
   224         OS_LAYER_BOOST_SYSTEMINCLUDE = $$OS_LAYER_PUBLIC_EXPORT_PATH(stdapis/boost)
   223 
   225 
   224         OS_LAYER_DBUS_SYSTEMINCLUDE = $$OS_LAYER_PUBLIC_EXPORT_PATH(stdapis/dbus-1.0) \
   226         OS_LAYER_DBUS_SYSTEMINCLUDE = $$OS_LAYER_PUBLIC_EXPORT_PATH(stdapis/dbus-1.0) \
   225                                       $$OS_LAYER_PUBLIC_EXPORT_PATH(stdapis/dbus-1.0/dbus)
   227                                       $$OS_LAYER_PUBLIC_EXPORT_PATH(stdapis/dbus-1.0/dbus)
   256         # You need to define the following in pro-file, if you are using the stllib:
   258         # You need to define the following in pro-file, if you are using the stllib:
   257         # QMAKE_CXXFLAGS.CW *= $$STLLIB_USAGE_CW_FLAGS
   259         # QMAKE_CXXFLAGS.CW *= $$STLLIB_USAGE_CW_FLAGS
   258         # DEFINES *= $$STLLIB_USAGE_DEFINES
   260         # DEFINES *= $$STLLIB_USAGE_DEFINES
   259         STLLIB_USAGE_CW_FLAGS = "-wchar_t on"
   261         STLLIB_USAGE_CW_FLAGS = "-wchar_t on"
   260         STLLIB_USAGE_DEFINES = _WCHAR_T_DECLARED
   262         STLLIB_USAGE_DEFINES = _WCHAR_T_DECLARED
   261 
   263     }
   262     } else { # Old pre-SF structure
       
   263 
       
   264         # ---------------------------------------
       
   265         # Location, where the applications layer specific public headers are exported
       
   266         # ---------------------------------------
       
   267 
       
   268         defineReplace(APP_LAYER_SDK_EXPORT_PATH) {
       
   269              return (/epoc32/include/applications/$$1)
       
   270         }
       
   271         defineReplace(APP_LAYER_PUBLIC_EXPORT_PATH) {
       
   272              return (/epoc32/include/applications/$$1)
       
   273         }
       
   274 
       
   275         # ---------------------------------------
       
   276         # Location, where the applications layer specific platform headers are exported
       
   277         # ---------------------------------------
       
   278 
       
   279         defineReplace(APP_LAYER_DOMAIN_EXPORT_PATH) {
       
   280              return (/epoc32/include/domain/applications/$$1)
       
   281         }
       
   282         defineReplace(APP_LAYER_PLATFORM_EXPORT_PATH) {
       
   283              return (/epoc32/include/domain/applications/$$1)
       
   284         }
       
   285 
       
   286         # ---------------------------------------
       
   287         # Location, where the middleware layer specific public headers are exported
       
   288         # ---------------------------------------
       
   289 
       
   290         defineReplace(MW_LAYER_SDK_EXPORT_PATH) {
       
   291              return (/epoc32/include/middleware/$$1)
       
   292         }
       
   293         defineReplace(MW_LAYER_PUBLIC_EXPORT_PATH) {
       
   294              return (/epoc32/include/middleware/$$1)
       
   295         }
       
   296 
       
   297         # ---------------------------------------
       
   298         # Location, where the middleware layer specific platform headers are exported
       
   299         # ---------------------------------------
       
   300 
       
   301         defineReplace(MW_LAYER_DOMAIN_EXPORT_PATH) {
       
   302              return (/epoc32/include/domain/middleware/$$1)
       
   303         }
       
   304         defineReplace(MW_LAYER_PLATFORM_EXPORT_PATH) {
       
   305              return (/epoc32/include/domain/middleware/$$1)
       
   306         }
       
   307 
       
   308         # ---------------------------------------
       
   309         # Location, where the os layer specific public headers are exported
       
   310         # ---------------------------------------
       
   311 
       
   312         defineReplace(OSEXT_LAYER_SDK_EXPORT_PATH) {
       
   313              return (/epoc32/include/osextensions/$$1)
       
   314         }
       
   315         # WARNING: If the following path changes see the exists() function around line 430
       
   316         defineReplace(OS_LAYER_PUBLIC_EXPORT_PATH) {
       
   317              return (/epoc32/include/osextensions/$$1)
       
   318         }
       
   319 
       
   320         # ---------------------------------------
       
   321         # Location, where the os specific platform headers are exported
       
   322         # ---------------------------------------
       
   323 
       
   324         defineReplace(OSEXT_LAYER_DOMAIN_EXPORT_PATH) {
       
   325              return (/epoc32/include/domain/osextensions/$$1)
       
   326         }
       
   327         defineReplace(OS_LAYER_PLATFORM_EXPORT_PATH) {
       
   328              return (/epoc32/include/domain/osextensions/$$1)
       
   329         }
       
   330 
       
   331         # ---------------------------------------
       
   332         #  General comments about the 3 define statements related to include paths:
       
   333         #  1) the /epoc32/include/oem is now defined there for backward compability.
       
   334         #     Once the directory is empty, the directory will be removed. However this 
       
   335         #     enables us to ensure that if you use these define statements => you do 
       
   336         #     not have to remove the statements later on, when the directory no longer 
       
   337         #     exists.
       
   338         #  2) These statements should be enough in normal cases. For certain specific 
       
   339         #     cases you might need to add some specific directory from /epoc32/include
       
   340         #     (for instance /epoc32/include/ecom).
       
   341         #     In normal cases the include staments in code should be relative to one of 
       
   342         #     the system include paths, but in certain cases, the included files requires
       
   343         #     that the subdirectory is also part of the system include paths.
       
   344         # ---------------------------------------
       
   345 
       
   346         # This variable defines the include paths, which are intended to be 
       
   347         # used in the pro-files that are part of the applications-layer. It includes all 
       
   348         # the needed directories from the /epoc32/include, that are valid ones for the 
       
   349         # application-layer components. 
       
   350         #
       
   351         # Applications layer is the last one in the list, since most likely the most of 
       
   352         # the headers come from middleware or os-layer  => thus they are first.
       
   353 
       
   354         APP_LAYER_SYSTEMINCLUDE = \
       
   355          /epoc32/include \
       
   356          /epoc32/include/oem \
       
   357          /epoc32/include/middleware \
       
   358          /epoc32/include/domain/middleware \
       
   359          /epoc32/include/osextensions \
       
   360          /epoc32/include/domain/osextensions \
       
   361          /epoc32/include/applications \
       
   362          /epoc32/include/domain/applications \
       
   363          /epoc32/include/domain/osextensions/loc \
       
   364          /epoc32/include/domain/middleware/loc \
       
   365          /epoc32/include/domain/applications/loc \
       
   366          /epoc32/include/domain/osextensions/loc/sc \
       
   367          /epoc32/include/domain/middleware/loc/sc \
       
   368          /epoc32/include/domain/applications/loc/sc
       
   369 
       
   370         # This define statements defines the include paths, which are intended to be
       
   371         # used in the pro-files that are part of the middleware-layer. It includes all 
       
   372         # the needed directories from the /epoc32/include, that are valid ones for the 
       
   373         # middleware-layer components. 
       
   374 
       
   375         MW_LAYER_SYSTEMINCLUDE = \
       
   376          /epoc32/include \
       
   377          /epoc32/include/oem \
       
   378          /epoc32/include/middleware \
       
   379          /epoc32/include/domain/middleware \
       
   380          /epoc32/include/osextensions \
       
   381          /epoc32/include/domain/osextensions \
       
   382          /epoc32/include/domain/osextensions/loc \
       
   383          /epoc32/include/domain/middleware/loc \
       
   384          /epoc32/include/domain/osextensions/loc/sc \
       
   385          /epoc32/include/domain/middleware/loc/sc
       
   386 
       
   387         # This define statements defines the include paths, which are intended to be
       
   388         # used in the pro-files that are part of the  osextensions-layer. It includes all
       
   389         # the needed directories from the /epoc32/include, that are valid ones for the
       
   390         # os-layer components. 
       
   391 
       
   392         OS_LAYER_SYSTEMINCLUDE = \
       
   393          /epoc32/include \
       
   394          /epoc32/include/oem \
       
   395          /epoc32/include/osextensions \
       
   396          /epoc32/include/domain/osextensions \
       
   397          /epoc32/include/domain/osextensions/loc \
       
   398          /epoc32/include/domain/osextensions/loc/sc
       
   399 
       
   400         # This define statements defines the include paths, which are intended to be
       
   401         # used in the pro-files that are part of the os-layer. This is intended 
       
   402         # to be only used by those components which need to use in their mmp-file either
       
   403         # kern_ext.mmh or nkern_ext.mmh. Reason is that those
       
   404         # 2 files already contain the /epoc32/include  as system include path.
       
   405 
       
   406         OS_LAYER_KERNEL_SYSTEMINCLUDE = \
       
   407          /epoc32/include/oem \
       
   408          /epoc32/include/osextensions \
       
   409          /epoc32/include/domain/osextensions
       
   410 
       
   411 
       
   412         # ---------------------------------------
       
   413         # Definitions that also define the systeminclude paths for various
       
   414         # part of stdapis. Append to INCLUDEPATH in pro-file.
       
   415         # ---------------------------------------
       
   416 
       
   417         OS_LAYER_LIBC_SYSTEMINCLUDE = $$OS_LAYER_PUBLIC_EXPORT_PATH(stdapis) \
       
   418                                       $$OS_LAYER_PUBLIC_EXPORT_PATH(stdapis/sys) \
       
   419                                       /epoc32/include/stdapis \
       
   420                                       /epoc32/include/stdapis/sys
       
   421 
       
   422         OS_LAYER_GLIB_SYSTEMINCLUDE = $$OS_LAYER_PUBLIC_EXPORT_PATH(stdapis/glib-2.0) \
       
   423                                       $$OS_LAYER_PUBLIC_EXPORT_PATH(stdapis/glib-2.0/glib) \
       
   424                                       $$OS_LAYER_PUBLIC_EXPORT_PATH(stdapis/glib-2.0/gObject) \
       
   425                                       /epoc32/include/stdapis/glib-2.0 \
       
   426                                       /epoc32/include/stdapis/glib-2.0/glib \
       
   427                                       /epoc32/include/stdapis/glib-2.0/gObject
       
   428 
       
   429         OS_LAYER_SSL_SYSTEMINCLUDE = $$OS_LAYER_PUBLIC_EXPORT_PATH(stdapis/openssl) \
       
   430                                      /epoc32/include/stdapis/openssl
       
   431 
       
   432         # :QTP: detection of stlport not possible in clean build
       
   433         OS_LAYER_STDCPP_SYSTEMINCLUDE = $$OS_LAYER_PUBLIC_EXPORT_PATH(stdapis/stlportv5) \
       
   434                                             /epoc32/include/stdapis/stlportv5
       
   435         
       
   436         OS_LAYER_BOOST_SYSTEMINCLUDE = $$OS_LAYER_PUBLIC_EXPORT_PATH(stdapis/boost) \
       
   437                                        /epoc32/include/stdapis/boost
       
   438 
       
   439         OS_LAYER_DBUS_SYSTEMINCLUDE = $$OS_LAYER_PUBLIC_EXPORT_PATH(stdapis/dbus-1.0) \
       
   440                                       $$OS_LAYER_PUBLIC_EXPORT_PATH(stdapis/dbus-1.0/dbus) \
       
   441                                       /epoc32/include/stdapis/dbus-1.0 \
       
   442                                       /epoc32/include/stdapis/dbus-1.0/dbus
       
   443 
       
   444         OS_LAYER_LIBUTILITY_SYSTEMINCLUDE = $$OS_LAYER_PLATFORM_EXPORT_PATH(stdapis/utility) \
       
   445                                             /epoc32/include/stdapis/utility
       
   446 
       
   447         # ---------------------------------------
       
   448         # Definitions to export IBY files to different folders where they will be taken 
       
   449         # to ROM image
       
   450         # ---------------------------------------
       
   451               
       
   452         defineReplace(CORE_APP_LAYER_IBY_EXPORT_PATH) {
       
   453             return(/epoc32/rom/include/core/app/$$1)
       
   454         }
       
   455         defineReplace(CORE_MW_LAYER_IBY_EXPORT_PATH) {
       
   456             return(/epoc32/rom/include/core/mw/$$1)
       
   457         }
       
   458         defineReplace(CORE_OSEXT_LAYER_IBY_EXPORT_PATH) {
       
   459             return(/epoc32/rom/include/core/osext/$$1)
       
   460         }
       
   461         defineReplace(CORE_OS_LAYER_IBY_EXPORT_PATH) {
       
   462             return(/epoc32/rom/include/core/osext/$$1)
       
   463         }
       
   464         defineReplace(CORE_ADAPT_LAYER_IBY_EXPORT_PATH) {
       
   465             return(/epoc32/rom/include/$$1)
       
   466         }
       
   467         defineReplace(CORE_TOOLS_LAYER_IBY_EXPORT_PATH) {
       
   468             return(/epoc32/rom/include/core/tools/$$1)
       
   469         }
       
   470         defineReplace(CUSTOMER_VARIANT_APP_LAYER_IBY_EXPORT_PATH) {
       
   471             return(/epoc32/rom/include/customervariant/app/$$1)
       
   472         } 
       
   473         
       
   474         # You need to define the following in pro-file, if you are using the stllib:
       
   475         # QMAKE_CXXFLAGS.CW *= $$STLLIB_USAGE_CW_FLAGS
       
   476         # DEFINES *= $$STLLIB_USAGE_DEFINES
       
   477         STLLIB_USAGE_CW_FLAGS = "-wchar_t on"
       
   478         STLLIB_USAGE_DEFINES = _WCHAR_T_DECLARED
       
   479     
       
   480     } 
       
   481 }
       
   482 
       
   483 
       
   484