build/Makefile.project
changeset 21 2a9601315dfc
child 23 98ccebc37403
child 24 0fd27995241b
equal deleted inserted replaced
18:e8e63152f320 21:2a9601315dfc
       
     1 #
       
     2 # Copyright (c) 2009-2010 Nokia Corporation and/or its subsidiary(-ies).
       
     3 # All rights reserved.
       
     4 # This component and the accompanying materials are made available
       
     5 # under the terms of "Eclipse Public License v1.0"
       
     6 # which accompanies this distribution, and is available
       
     7 # at the URL "http://www.eclipse.org/legal/epl-v10.html".
       
     8 #
       
     9 # Initial Contributors:
       
    10 # Nokia Corporation - initial contribution.
       
    11 #
       
    12 # Contributors:
       
    13 #
       
    14 # Description:
       
    15 #
       
    16 
       
    17 # This (gnu) makefile has the general project defines. Plain variable
       
    18 # definitions are usable as such in subsystem makefiles, e.g. for
       
    19 # conditionally including some subcomponent based on the variable.
       
    20 
       
    21 # All contents of variable "PROJECT_DEFINES" are added to the C/C++
       
    22 # compilations as preprocessor macros. The PROJECT_DEFINES is also
       
    23 # usable in qmake, as conditional scope parameter.
       
    24 
       
    25 
       
    26 
       
    27 # NOTE! Unnecessary flags should be removed after the implementation has been
       
    28 # finalized.
       
    29 
       
    30 ifeq ($(BUILDENV),symbian)
       
    31   USE_INSTALLERUI = 1
       
    32   USE_PREWARM = 1
       
    33   #SHOW_MIDP_EXIT_FAILURE = 1
       
    34   OPENC_BETA_PATCH = 1
       
    35   PROJECT_DEFINES += RD_JAVA_SYMBIAN_TARGET
       
    36 endif
       
    37 
       
    38 ifeq ($(BUILDENV),linux)
       
    39   PROJECT_DEFINES += RD_JAVA_LINUX_TARGET
       
    40 endif
       
    41 
       
    42 # Determine S60 release being built
       
    43 ifeq ($(BUILDENV),symbian)
       
    44   S60_STUBSIS_DIRS = $(EPOCROOT)epoc32/release/winscw/udeb/z/system/install/ $(EPOCROOT)epoc32/data/z/system/install/
       
    45 
       
    46   ifeq ($(RD_JAVA_S60_RELEASE),)
       
    47     # S60 release is not set, autodetermine
       
    48     ifneq ($(wildcard $(RD_JAVA_S60_RELEASE_FILE)),)
       
    49       # Use release written in file
       
    50       include $(RD_JAVA_S60_RELEASE_FILE)
       
    51     else
       
    52     ifneq ($(wildcard $(addsuffix Series60v5.2.sis,$(S60_STUBSIS_DIRS))),)
       
    53       RD_JAVA_S60_RELEASE = 9.2
       
    54     else
       
    55     ifneq ($(wildcard $(addsuffix Series60v5.1.sis,$(S60_STUBSIS_DIRS))),)
       
    56       RD_JAVA_S60_RELEASE = 9.1
       
    57     else
       
    58     ifneq ($(wildcard $(addsuffix Series60v5.0.sis,$(S60_STUBSIS_DIRS))),)
       
    59       RD_JAVA_S60_RELEASE = 5.0
       
    60     else
       
    61       $(error Cannot determine S60 release, no known stub files in $(S60_STUBSIS_DIRS))
       
    62     endif
       
    63     endif
       
    64     endif
       
    65     endif
       
    66     # Export the release info, so that no autodetermination is needed after this
       
    67     export RD_JAVA_S60_RELEASE
       
    68   endif
       
    69 
       
    70   ifeq ($(RD_JAVA_S60_RELEASE),10.1)
       
    71     RD_JAVA_S60_RELEASE_10_1 = 1
       
    72     RD_JAVA_S60_RELEASE_10_1_ONWARDS = 1
       
    73     RD_JAVA_S60_RELEASE_9_2_ONWARDS = 1
       
    74     RD_JAVA_S60_RELEASE_5_0_ONWARDS = 1
       
    75     PROJECT_DEFINES += RD_JAVA_S60_RELEASE_10_1 RD_JAVA_S60_RELEASE_10_1_ONWARDS RD_JAVA_S60_RELEASE_9_2_ONWARDS RD_JAVA_S60_RELEASE_5_0_ONWARDS
       
    76   else
       
    77   ifeq ($(RD_JAVA_S60_RELEASE),9.2)
       
    78     RD_JAVA_S60_RELEASE_9_2 = 1
       
    79     RD_JAVA_S60_RELEASE_9_2_ONWARDS = 1
       
    80     RD_JAVA_S60_RELEASE_5_0_ONWARDS = 1
       
    81     PROJECT_DEFINES += RD_JAVA_S60_RELEASE_9_2 RD_JAVA_S60_RELEASE_9_2_ONWARDS RD_JAVA_S60_RELEASE_5_0_ONWARDS
       
    82   else
       
    83   ifeq ($(RD_JAVA_S60_RELEASE),5.0)
       
    84     RD_JAVA_S60_RELEASE_5_0 = 1
       
    85     RD_JAVA_S60_RELEASE_5_0_ONWARDS = 1
       
    86     PROJECT_DEFINES += RD_JAVA_S60_RELEASE_5_0 RD_JAVA_S60_RELEASE_5_0_ONWARDS
       
    87   else
       
    88     $(error RD_JAVA_S60_RELEASE not set)
       
    89   endif
       
    90   endif
       
    91   endif
       
    92 endif
       
    93 
       
    94 # By default use Raptor on non-5.0 builds
       
    95 ifndef RD_JAVA_S60_RELEASE_5_0
       
    96   export USESBS = 1
       
    97 endif
       
    98 
       
    99 ifeq ($(BUILDENV),symbian)
       
   100    ifdef RD_JAVA_S60_RELEASE_10_1
       
   101      UI = QT
       
   102    else
       
   103      UI = AVKON
       
   104    endif
       
   105 else
       
   106   UI = QT
       
   107 endif
       
   108 
       
   109 ifeq ($(UI),QT)
       
   110   RD_JAVA_UI_QT = 1
       
   111   PROJECT_DEFINES += RD_JAVA_UI_QT
       
   112 endif
       
   113 
       
   114 # Define IAD flags
       
   115 ifdef RD_JAVA_S60_RELEASE_5_0
       
   116   # IAD is the default on 5.0 releases
       
   117   RD_JAVA_S60_RELEASE_5_0_IAD = 1
       
   118   PROJECT_DEFINES += RD_JAVA_S60_RELEASE_5_0_IAD
       
   119 endif
       
   120 
       
   121 # Define stdcpp version
       
   122 ifneq ($(wildcard $(EPOCROOT)epoc32/release/armv5/urel/libstdcppv5.dll),)
       
   123   RD_JAVA_STDCPPV5 = 1
       
   124 endif
       
   125 ifeq ($(RD_JAVA_STDCPPV5),1)
       
   126   PROJECT_DEFINES += RD_JAVA_STDCPPV5
       
   127 endif
       
   128 
       
   129 # Workaround for 9.1 and 9.2 OpenC problem with static data on Raptor
       
   130 ifndef RD_JAVA_S60_RELEASE_5_0
       
   131   RD_JAVA_EPOCALLOWDLLDATA_FIX = 1
       
   132 endif
       
   133 ifdef RD_JAVA_EPOCALLOWDLLDATA_FIX
       
   134   PROJECT_DEFINES += RD_JAVA_EPOCALLOWDLLDATA_FIX
       
   135 endif
       
   136 
       
   137 # Variation for the potential CDMA support in 5.0 based devices
       
   138 ifdef RD_JAVA_S60_RELEASE_5_0
       
   139   RD_JAVA_SUPPORT_CDMA = 1
       
   140 endif
       
   141 ifdef RD_JAVA_SUPPORT_CDMA
       
   142   PROJECT_DEFINES += RD_JAVA_SUPPORT_CDMA
       
   143 endif
       
   144 
       
   145 # Variation for the SIDChecker library, old library used in 5.0 and 9.1
       
   146 ifdef RD_JAVA_S60_RELEASE_5_0
       
   147   RD_JAVA_OLD_SIDCHECKER_LIBRARY = 1
       
   148 endif
       
   149 ifdef RD_JAVA_OLD_SIDCHECKER_LIBRARY
       
   150   PROJECT_DEFINES += RD_JAVA_OLD_SIDCHECKER_LIBRARY
       
   151 endif
       
   152 
       
   153 # HttpStreaming uses EMC API in MMAPI and AMMS if platform is 9.1 or 9.2 only(can not be used if 5.0)
       
   154 ifndef RD_JAVA_S60_RELEASE_5_0
       
   155   RD_JAVA_HTTP_EMC_ENABLED = 1
       
   156 endif
       
   157 ifdef RD_JAVA_HTTP_EMC_ENABLED
       
   158   PROJECT_DEFINES += RD_JAVA_HTTP_EMC_ENABLED
       
   159 endif
       
   160 
       
   161 # NGA changes, 9.2 and onwards only
       
   162 ifndef RD_JAVA_S60_RELEASE_5_0
       
   163   RD_JAVA_NGA_ENABLED =1
       
   164 endif
       
   165 ifdef RD_JAVA_NGA_ENABLED
       
   166   PROJECT_DEFINES += RD_JAVA_NGA_ENABLED
       
   167 endif
       
   168 
       
   169 # Uiaccelerator AlfDrawer is supported since 9.2
       
   170 ifndef RD_JAVA_S60_RELEASE_5_0
       
   171   ifneq ($(wildcard $(EPOCROOT)epoc32/include/platform/mw/alf/alfdrawer.h),)
       
   172     RD_JAVA_UI_ALFDRAWER_ENABLED = 1
       
   173   endif
       
   174 endif
       
   175 ifdef RD_JAVA_UI_ALFDRAWER_ENABLED
       
   176   PROJECT_DEFINES += RD_JAVA_UI_ALFDRAWER_ENABLED
       
   177 endif
       
   178 
       
   179 # Check if USIF is supported
       
   180 ifneq ($(wildcard $(EPOCROOT:\=/)epoc32/include/mw/usif/scr/scr.h),)
       
   181   RD_JAVA_USIF_ENABLED = 1
       
   182 endif
       
   183 
       
   184 ifdef RD_JAVA_USIF_ENABLED
       
   185   SYMBIAN_UNIVERSAL_INSTALL_FRAMEWORK = 1
       
   186   PROJECT_DEFINES += SYMBIAN_UNIVERSAL_INSTALL_FRAMEWORK
       
   187   # Following flag enables application registrations to USIF
       
   188   # and disables application registrations to AppArc.
       
   189   PROJECT_DEFINES += RD_JAVA_USIF_APP_REG
       
   190   # Following flag enables application notifications to AppArc.
       
   191   #PROJECT_DEFINES += RD_JAVA_USIF_NOTIFY_APP_ARC
       
   192 endif
       
   193 
       
   194 # Java proximity Listener support exsist in 9.2 only(can not be used if 5.0 untill IAD dependecy mentioned)
       
   195 ifndef RD_JAVA_S60_RELEASE_5_0
       
   196   RD_JAVA_PROXIMITY_LISTENER_ENABLED = 1
       
   197 endif
       
   198 ifdef RD_JAVA_PROXIMITY_LISTENER_ENABLED
       
   199   PROJECT_DEFINES += RD_JAVA_PROXIMITY_LISTENER_ENABLED
       
   200 endif
       
   201 
       
   202 ifeq ($(OPENC_BETA_PATCH),1)
       
   203   PROJECT_DEFINES += RD_JAVA_OPENC_BETA_PATCH
       
   204 endif
       
   205 
       
   206 ifeq ($(S60_50_REL2),1)
       
   207   PROJECT_DEFINES += RD_JAVA_S60_50_REL2
       
   208 endif
       
   209 
       
   210 ifeq ($(UI),QT)
       
   211   PROJECT_DEFINES += OPENLCDUI_ENABLED RD_JAVA_OPENLCDUI_ENABLED
       
   212 endif
       
   213 
       
   214 ifeq ($(COMPILE_LEGACY_UI),0)
       
   215   PROJECT_DEFINES += OPENLCDUI_ENABLED RD_JAVA_OPENLCDUI_ENABLED
       
   216 endif
       
   217 
       
   218 ifdef USE_INSTALLERUI
       
   219   PROJECT_DEFINES += RD_JAVA_INSTALLERUI_ENABLED
       
   220 endif
       
   221 
       
   222 # Enables emma instrumentation for Java code coverage measurement.
       
   223 ifdef EMMA
       
   224   ANT_EMMA_DEFINES += -Dset.emma.enabled=true
       
   225 endif
       
   226 
       
   227 #ifdef SHOW_MIDP_EXIT_FAILURE
       
   228   PROJET_DEFINES += RD_JAVA_EXIT_ERROR_DIALOG
       
   229 #endif
       
   230 
       
   231 ifdef USE_PREWARM
       
   232 PROJECT_DEFINES += RD_JAVA_PREWARM
       
   233 endif
       
   234 
       
   235 ifdef USE_INI_FILE
       
   236 PROJECT_DEFINES += RD_JAVA_INI_FILE_ACCESS_IN_USE
       
   237 endif
       
   238 
       
   239 # Enables advanced tactile feedback for Java UI
       
   240 ifdef RD_JAVA_S60_RELEASE_9_2
       
   241   RD_JAVA_ADVANCED_TACTILE_FEEDBACK = 1
       
   242   PROJECT_DEFINES += RD_JAVA_ADVANCED_TACTILE_FEEDBACK
       
   243 endif
       
   244 ifdef RD_JAVA_S60_RELEASE_10_1
       
   245   RD_JAVA_ADVANCED_TACTILE_FEEDBACK = 1
       
   246   PROJECT_DEFINES += RD_JAVA_ADVANCED_TACTILE_FEEDBACK
       
   247 endif
       
   248 
       
   249 # Skip the following targets in 10.1 build
       
   250 ifdef RD_JAVA_S60_RELEASE_10_1
       
   251   SKIPTARGETS=pim
       
   252 endif
       
   253 
       
   254 ifdef RD_JAVA_S60_RELEASE_10_1
       
   255   RD_JAVA_APPLICATION_SETTINGS_QT = 1
       
   256   PROJECT_DEFINES += RD_JAVA_APPLICATION_SETTINGS_QT
       
   257 endif
       
   258 
       
   259 # selects RMS implementation (file or db)
       
   260 ifndef RD_JAVA_S60_RELEASE_5_0
       
   261   RD_JAVA_MIDPRMS_DB = 1
       
   262 endif
       
   263 ifdef RD_JAVA_MIDPRMS_DB
       
   264   PROJECT_DEFINES += RD_JAVA_MIDPRMS_DB
       
   265 endif