# HG changeset patch # User sl # Date 1402403522 -7200 # Node ID 260cb5ec6c197b4a4fd0642934db0c4391060608 # Parent bde4ae8d615e5f48ddf7c6086eed1e62af3b2eaf Update contrib. diff -r bde4ae8d615e -r 260cb5ec6c19 CMakeLists.txt --- a/CMakeLists.txt Fri Jun 15 03:10:57 2012 +0200 +++ b/CMakeLists.txt Tue Jun 10 14:32:02 2014 +0200 @@ -36,6 +36,7 @@ set_property(TARGET elocal PROPERTY FOLDER "Symbian/FileServer") set_property(TARGET erofs PROPERTY FOLDER "Symbian/FileServer") set_property(TARGET emulator PROPERTY FOLDER "Symbian/Emulator") +set_property(TARGET econsnogui PROPERTY FOLDER "Symbian/Emulator") set_property(TARGET ecust PROPERTY FOLDER "Symbian/Emulator") set_property(TARGET exstart PROPERTY FOLDER "Symbian/Boot") set_property(TARGET e32strt PROPERTY FOLDER "Symbian/Boot") diff -r bde4ae8d615e -r 260cb5ec6c19 os/boardsupport/emulator/emulatorbsp/CMakeLists.txt --- a/os/boardsupport/emulator/emulatorbsp/CMakeLists.txt Fri Jun 15 03:10:57 2012 +0200 +++ b/os/boardsupport/emulator/emulatorbsp/CMakeLists.txt Tue Jun 10 14:32:02 2014 +0200 @@ -15,4 +15,7 @@ include(estart.cmake) +include(econsnogui.cmake) + + diff -r bde4ae8d615e -r 260cb5ec6c19 os/boardsupport/emulator/emulatorbsp/econsnogui.cmake --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/os/boardsupport/emulator/emulatorbsp/econsnogui.cmake Tue Jun 10 14:32:02 2014 +0200 @@ -0,0 +1,69 @@ +# Copyright (c) 2009-2012 Stéphane Lenclud. +# All rights reserved. +# This component and the accompanying materials are made available +# under the terms of the License "Eclipse Public License v1.0" +# which accompanies this distribution, and is available +# at the URL "http://www.eclipse.org/legal/epl-v10.html". +# +# Initial Contributors: +# Stéphane Lenclud. +# + +#################### +push_target(econsnogui) +#################### + +#------------------------------------------------------------------- +#Add this *.cmake file to our source tree +#------------------------------------------------------------------- +add_cmake_source() +#Make sure all the output from all projects will go in one place +set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin) +#Visual Studio IDE folders +source_group(Sources REGULAR_EXPRESSION ".+\\.cpp$") +source_group(Includes REGULAR_EXPRESSION ".+\\.h$") +source_group(Def REGULAR_EXPRESSION ".+\\.def$") +#------------------------------------------------------------------- + +#------------------------------------------------------------------- +#Add project source files +#------------------------------------------------------------------- +set (sourcepath ./) +add_source(econsnogui_uid.cpp) + +set (sourcepath ./specific/) +add_source(econsnogui.cpp) +#Def +set (sourcepath ./bwins/) +add_source(econsnoguiU.def) +#------------------------------------------------------------------- + +#------------------------------------------------------------------- +#Define our source and target +#------------------------------------------------------------------- +get_source(source) +add_library (econsnogui SHARED ${source}) +target_link_libraries(econsnogui edll euser) +#Following is needed to be able to load our DLL dynamically +set_target_properties(econsnogui PROPERTIES LINK_FLAGS "/INCLUDE:__E32Dll") +#WIN32 libraries +#target_link_libraries(econsnogui kernel32 user32 winmm) +#------------------------------------------------------------------- + +#------------------------------------------------------------------- +#Fix up include directories +#------------------------------------------------------------------- +system_include(/epoc32/include) +system_include(/epoc32/include/platform) +#------------------------------------------------------------------- + +#------------------------------------------------------------------- +#Fix up compiler defines +#------------------------------------------------------------------- +#add_define(__DLL__) +#------------------------------------------------------------------- + + +#################### +pop_target(econsnogui) +#################### \ No newline at end of file diff -r bde4ae8d615e -r 260cb5ec6c19 os/boardsupport/emulator/emulatorbsp/econsnogui_uid.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/os/boardsupport/emulator/emulatorbsp/econsnogui_uid.cpp Tue Jun 10 14:32:02 2014 +0200 @@ -0,0 +1,20 @@ +/** +Define PE file .SYMBIAN section. +Notably provides UIDs. +@file econsnogui_uid.cpp +*/ + +#include +#include +#include + +//const TInt KDynamicLibraryUidValue=0x10000079; +//const TInt KExecutableImageUidValue=0x1000007a; + +// VENDORID 0x70000001 + +#pragma data_seg(push,".SYMBIAN") +__EMULATOR_IMAGE_HEADER2(KDynamicLibraryUidValue,0x1000008d,0x100039e7,EPrioritySupervisor,0x00000000u,0x00000000u,0x00000000,0x70000001,0x00010000,0) +#pragma data_seg(pop) + + \ No newline at end of file diff -r bde4ae8d615e -r 260cb5ec6c19 os/boardsupport/emulator/emulatorbsp/ecust.cmake --- a/os/boardsupport/emulator/emulatorbsp/ecust.cmake Fri Jun 15 03:10:57 2012 +0200 +++ b/os/boardsupport/emulator/emulatorbsp/ecust.cmake Tue Jun 10 14:32:02 2014 +0200 @@ -14,7 +14,7 @@ #Add current file to our source tree add_cmake_source() #Make sure all the output from all projects will go in one place -set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/../bin) +set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin) include_directories(./inc) diff -r bde4ae8d615e -r 260cb5ec6c19 os/boardsupport/emulator/emulatorbsp/estart.cmake --- a/os/boardsupport/emulator/emulatorbsp/estart.cmake Fri Jun 15 03:10:57 2012 +0200 +++ b/os/boardsupport/emulator/emulatorbsp/estart.cmake Tue Jun 10 14:32:02 2014 +0200 @@ -18,7 +18,7 @@ #------------------------------------------------------------------- add_cmake_source() #Make sure all the output from all projects will go in one place -set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/../bin) +set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin) #Visual Studio IDE folders source_group(Sources REGULAR_EXPRESSION ".+\\.cpp$") source_group(Includes REGULAR_EXPRESSION ".+\\.h$") diff -r bde4ae8d615e -r 260cb5ec6c19 os/boardsupport/emulator/emulatorbsp/hal/config.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/os/boardsupport/emulator/emulatorbsp/hal/config.cpp Tue Jun 10 14:32:02 2014 +0200 @@ -0,0 +1,423 @@ +// ./os/boardsupport/emulator/emulatorbsp/hal/config.cpp +// +// Copyright (c) 1999-2014 Nokia Corporation and/or its subsidiary(-ies).// All rights reserved. +// +// GENERATED FILE - DO NOT EDIT +// + +#include + +GLREF_C TInt ProcessCPUSpeed(TInt, TInt, TBool, TAny*); // ECPUSpeed +GLREF_C TInt GetRAMSize(TInt, TInt, TBool, TAny*); // EMemoryRAM +GLREF_C TInt GetFreeRAM(TInt, TInt, TBool, TAny*); // EMemoryRAMFree +GLREF_C TInt GetROMSize(TInt, TInt, TBool, TAny*); // EMemoryROM +GLREF_C TInt ProcessKeyboardClickState(TInt, TInt, TBool, TAny*); // EKeyboardClickState +GLREF_C TInt ProcessKeyboardClickVolume(TInt, TInt, TBool, TAny*); // EKeyboardClickVolume +GLREF_C TInt ProcessDisplayCurrentModeInfo(TInt, TInt, TBool, TAny*); // EDisplayXPixels +GLREF_C TInt ProcessDisplayCurrentModeInfo(TInt, TInt, TBool, TAny*); // EDisplayYPixels +GLREF_C TInt ProcessDisplayCurrentModeInfo(TInt, TInt, TBool, TAny*); // EDisplayXTwips +GLREF_C TInt ProcessDisplayCurrentModeInfo(TInt, TInt, TBool, TAny*); // EDisplayYTwips +GLREF_C TInt ProcessDisplayColors(TInt, TInt, TBool, TAny*); // EDisplayColors +GLREF_C TInt ProcessDisplayState(TInt, TInt, TBool, TAny*); // EDisplayState +GLREF_C TInt ProcessDisplayContrast(TInt, TInt, TBool, TAny*); // EDisplayContrast +GLREF_C TInt ProcessDisplayMaxContrast(TInt, TInt, TBool, TAny*); // EDisplayContrastMax +GLREF_C TInt ProcessMouseState(TInt, TInt, TBool, TAny*); // EMouseState +GLREF_C TInt ProcessMouseSpeed(TInt, TInt, TBool, TAny*); // EMouseSpeed +GLREF_C TInt ProcessMouseAcceleration(TInt, TInt, TBool, TAny*); // EMouseAcceleration +GLREF_C TInt GetMouseButtonState(TInt, TInt, TBool, TAny*); // EMouseButtonState +GLREF_C TInt ProcessLEDMask(TInt, TInt, TBool, TAny*); // ELEDmask +GLREF_C TInt ProcessDisplaySpecifiedModeInfo(TInt, TInt, TBool, TAny*); // EDisplayIsMono +GLREF_C TInt ProcessDisplaySpecifiedModeInfo(TInt, TInt, TBool, TAny*); // EDisplayIsPalettized +GLREF_C TInt ProcessDisplaySpecifiedModeInfo(TInt, TInt, TBool, TAny*); // EDisplayBitsPerPixel +GLREF_C TInt ProcessDisplayNumModes(TInt, TInt, TBool, TAny*); // EDisplayNumModes +GLREF_C TInt ProcessDisplayCurrentModeInfo(TInt, TInt, TBool, TAny*); // EDisplayMemoryAddress +GLREF_C TInt ProcessDisplaySpecifiedModeInfo(TInt, TInt, TBool, TAny*); // EDisplayOffsetToFirstPixel +GLREF_C TInt ProcessDisplaySpecifiedModeInfo(TInt, TInt, TBool, TAny*); // EDisplayOffsetBetweenLines +GLREF_C TInt ProcessDisplayCurrentModeInfo(TInt, TInt, TBool, TAny*); // EDisplayIsPixelOrderRGB +GLREF_C TInt ProcessDisplayCurrentModeInfo(TInt, TInt, TBool, TAny*); // EDisplayIsPixelOrderLandscape +GLREF_C TInt ProcessDisplayMode(TInt, TInt, TBool, TAny*); // EDisplayMode +GLREF_C TInt ProcessCustomRestart(TInt, TInt, TBool, TAny*); // ECustomRestart +GLREF_C TInt ProcessCustomRestartReason(TInt, TInt, TBool, TAny*); // ECustomRestartReason +GLREF_C TInt GetDisplayNumberOfScreens(TInt, TInt, TBool, TAny*); // EDisplayNumberOfScreens +GLREF_C TInt ProcessNanoTickPeriod(TInt, TInt, TBool, TAny*); // ENanoTickPeriod +GLREF_C TInt ProcessFastCounterFrequency(TInt, TInt, TBool, TAny*); // EFastCounterFrequency +GLREF_C TInt NonsecureClockOffset(TInt, TInt, TBool, TAny*); // ETimeNonSecureOffset +GLREF_C TInt GetDisplayMemoryHandle(TInt, TInt, TBool, TAny*); // EDisplayMemoryHandle +GLREF_C TInt GetNumCpus(TInt, TInt, TBool, TAny*); // ENumCpus + +const TUint8 HalInternal::Properties[]= + { + HAL::EValid, // EManufacturer + HAL::EValid, // EManufacturerHardwareRev + HAL::EValid, // EManufacturerSoftwareRev + HAL::EValid, // EManufacturerSoftwareBuild + HAL::EValid, // EModel + HAL::EValid, // EMachineUid + HAL::EValid, // EDeviceFamily + HAL::EValid, // EDeviceFamilyRev + HAL::EValid, // ECPU + HAL::EValid, // ECPUArch + HAL::EValid, // ECPUABI + HAL::EValid|HAL::ESettable, // ECPUSpeed + 0, // ESystemStartupReason + 0, // ESystemException + HAL::EValid, // ESystemTickPeriod + HAL::EValid, // EMemoryRAM + HAL::EValid, // EMemoryRAMFree + HAL::EValid, // EMemoryROM + HAL::EValid, // EMemoryPageSize + HAL::EValid, // EPowerGood + 0, // EPowerBatteryStatus + HAL::EValid, // EPowerBackup + 0, // EPowerBackupStatus + HAL::EValid, // EPowerExternal + HAL::EValid, // EKeyboard + HAL::EValid, // EKeyboardDeviceKeys + HAL::EValid, // EKeyboardAppKeys + HAL::EValid, // EKeyboardClick + HAL::EValid|HAL::ESettable, // EKeyboardClickState + HAL::EValid|HAL::ESettable, // EKeyboardClickVolume + HAL::EValid, // EKeyboardClickVolumeMax + HAL::EValid, // EDisplayXPixels + HAL::EValid, // EDisplayYPixels + HAL::EValid, // EDisplayXTwips + HAL::EValid, // EDisplayYTwips + HAL::EValid, // EDisplayColors + HAL::EValid|HAL::ESettable, // EDisplayState + HAL::EValid|HAL::ESettable, // EDisplayContrast + HAL::EValid, // EDisplayContrastMax + HAL::EValid, // EBacklight + 0, // EBacklightState + HAL::EValid, // EPen + 0, // EPenX + 0, // EPenY + 0, // EPenDisplayOn + 0, // EPenClick + 0, // EPenClickState + 0, // EPenClickVolume + 0, // EPenClickVolumeMax + HAL::EValid, // EMouse + 0, // EMouseX + 0, // EMouseY + HAL::EValid|HAL::ESettable, // EMouseState + HAL::EValid|HAL::ESettable, // EMouseSpeed + HAL::EValid|HAL::ESettable, // EMouseAcceleration + HAL::EValid, // EMouseButtons + HAL::EValid, // EMouseButtonState + 0, // ECaseState + HAL::EValid, // ECaseSwitch + 0, // ECaseSwitchDisplayOn + 0, // ECaseSwitchDisplayOff + HAL::EValid, // ELEDs + HAL::EValid|HAL::ESettable, // ELEDmask + HAL::EValid, // EIntegratedPhone + 0, // EDisplayBrightness + 0, // EDisplayBrightnessMax + 0, // EKeyboardBacklightState + 0, // EAccessoryPower + HAL::EValid|HAL::ESettable, // ELanguageIndex + 0, // EKeyboardIndex + HAL::EValid, // EMaxRAMDriveSize + 0, // EKeyboardState + HAL::EValid|HAL::ESettable, // ESystemDrive + 0, // EPenState + HAL::EValid, // EDisplayIsMono + HAL::EValid, // EDisplayIsPalettized + HAL::EValid, // EDisplayBitsPerPixel + HAL::EValid, // EDisplayNumModes + HAL::EValid, // EDisplayMemoryAddress + HAL::EValid, // EDisplayOffsetToFirstPixel + HAL::EValid, // EDisplayOffsetBetweenLines + 0, // EDisplayPaletteEntry + HAL::EValid, // EDisplayIsPixelOrderRGB + HAL::EValid, // EDisplayIsPixelOrderLandscape + HAL::EValid|HAL::ESettable, // EDisplayMode + 0, // ESwitches + 0, // EDebugPort + 0, // ELocaleLoaded + HAL::EValid, // EClipboardDrive + HAL::EValid|HAL::ESettable, // ECustomRestart + HAL::EValid, // ECustomRestartReason + HAL::EValid, // EDisplayNumberOfScreens + HAL::EValid, // ENanoTickPeriod + HAL::EValid, // EFastCounterFrequency + HAL::EValid, // EFastCounterCountsUp + HAL::EValid, // EPointer3D + HAL::EValid|HAL::ESettable, // EPointer3DMaxProximity + HAL::EValid, // EPointer3DThetaSupported + HAL::EValid, // EPointer3DPhiSupported + HAL::EValid, // EPointer3DRotationSupported + HAL::EValid, // EPointer3DPressureSupported + 0, // EHardwareFloatingPoint + HAL::EValid|HAL::ESettable, // ETimeNonSecureOffset + 0, // EPersistStartupModeKernel + 0, // EMaximumCustomRestartReasons + 0, // EMaximumRestartStartupModes + HAL::EValid|HAL::ESettable, // ECustomResourceDrive + HAL::EValid, // EPointer3DProximityStep + HAL::EValid, // EPointerMaxPointers + HAL::EValid|HAL::ESettable, // EPointerNumberOfPointers + HAL::EValid, // EPointer3DMaxPressure + HAL::EValid, // EPointer3DPressureStep + HAL::EValid|HAL::ESettable, // EPointer3DEnterHighPressureThreshold + HAL::EValid|HAL::ESettable, // EPointer3DExitHighPressureThreshold + HAL::EValid|HAL::ESettable, // EPointer3DEnterCloseProximityThreshold + HAL::EValid|HAL::ESettable, // EPointer3DExitCloseProximityThreshold + HAL::EValid, // EDisplayMemoryHandle + 0, // ESerialNumber + 0, // ECpuProfilingDefaultInterruptBase + HAL::EValid // ENumCpus + }; + +#if 0 +const TInt HalInternal::Offset[]= + { + 0, // EManufacturer + 4, // EManufacturerHardwareRev + 8, // EManufacturerSoftwareRev + 12, // EManufacturerSoftwareBuild + 16, // EModel + 20, // EMachineUid + 24, // EDeviceFamily + 28, // EDeviceFamilyRev + 32, // ECPU + 36, // ECPUArch + 40, // ECPUABI + -1, // ECPUSpeed + -1, // ESystemStartupReason + -1, // ESystemException + 44, // ESystemTickPeriod + -1, // EMemoryRAM + -1, // EMemoryRAMFree + -1, // EMemoryROM + 48, // EMemoryPageSize + 52, // EPowerGood + -1, // EPowerBatteryStatus + 56, // EPowerBackup + -1, // EPowerBackupStatus + 60, // EPowerExternal + 64, // EKeyboard + 68, // EKeyboardDeviceKeys + 72, // EKeyboardAppKeys + 76, // EKeyboardClick + -1, // EKeyboardClickState + -1, // EKeyboardClickVolume + 80, // EKeyboardClickVolumeMax + -1, // EDisplayXPixels + -1, // EDisplayYPixels + -1, // EDisplayXTwips + -1, // EDisplayYTwips + -1, // EDisplayColors + -1, // EDisplayState + -1, // EDisplayContrast + -1, // EDisplayContrastMax + 84, // EBacklight + -1, // EBacklightState + 88, // EPen + -1, // EPenX + -1, // EPenY + -1, // EPenDisplayOn + -1, // EPenClick + -1, // EPenClickState + -1, // EPenClickVolume + -1, // EPenClickVolumeMax + 92, // EMouse + -1, // EMouseX + -1, // EMouseY + -1, // EMouseState + -1, // EMouseSpeed + -1, // EMouseAcceleration + 96, // EMouseButtons + -1, // EMouseButtonState + -1, // ECaseState + 100, // ECaseSwitch + -1, // ECaseSwitchDisplayOn + -1, // ECaseSwitchDisplayOff + 104, // ELEDs + -1, // ELEDmask + 108, // EIntegratedPhone + -1, // EDisplayBrightness + -1, // EDisplayBrightnessMax + -1, // EKeyboardBacklightState + -1, // EAccessoryPower + 112, // ELanguageIndex + -1, // EKeyboardIndex + 116, // EMaxRAMDriveSize + -1, // EKeyboardState + 120, // ESystemDrive + -1, // EPenState + -1, // EDisplayIsMono + -1, // EDisplayIsPalettized + -1, // EDisplayBitsPerPixel + -1, // EDisplayNumModes + -1, // EDisplayMemoryAddress + -1, // EDisplayOffsetToFirstPixel + -1, // EDisplayOffsetBetweenLines + -1, // EDisplayPaletteEntry + -1, // EDisplayIsPixelOrderRGB + -1, // EDisplayIsPixelOrderLandscape + -1, // EDisplayMode + -1, // ESwitches + -1, // EDebugPort + -1, // ELocaleLoaded + 124, // EClipboardDrive + -1, // ECustomRestart + -1, // ECustomRestartReason + -1, // EDisplayNumberOfScreens + -1, // ENanoTickPeriod + -1, // EFastCounterFrequency + 128, // EFastCounterCountsUp + 132, // EPointer3D + 136, // EPointer3DMaxProximity + 140, // EPointer3DThetaSupported + 144, // EPointer3DPhiSupported + 148, // EPointer3DRotationSupported + 152, // EPointer3DPressureSupported + -1, // EHardwareFloatingPoint + -1, // ETimeNonSecureOffset + -1, // EPersistStartupModeKernel + -1, // EMaximumCustomRestartReasons + -1, // EMaximumRestartStartupModes + 156, // ECustomResourceDrive + 160, // EPointer3DProximityStep + 164, // EPointerMaxPointers + 168, // EPointerNumberOfPointers + 172, // EPointer3DMaxPressure + 176, // EPointer3DPressureStep + 180, // EPointer3DEnterHighPressureThreshold + 184, // EPointer3DExitHighPressureThreshold + 188, // EPointer3DEnterCloseProximityThreshold + 192, // EPointer3DExitCloseProximityThreshold + -1, // EDisplayMemoryHandle + -1, // ESerialNumber + -1, // ECpuProfilingDefaultInterruptBase + -1 // ENumCpus + }; + +#endif +const TInt HalInternal::HalDataSize=196; + +const THalImplementation HalInternal::Implementation[]= + { + NULL, // EManufacturer + NULL, // EManufacturerHardwareRev + NULL, // EManufacturerSoftwareRev + NULL, // EManufacturerSoftwareBuild + NULL, // EModel + NULL, // EMachineUid + NULL, // EDeviceFamily + NULL, // EDeviceFamilyRev + NULL, // ECPU + NULL, // ECPUArch + NULL, // ECPUABI + ProcessCPUSpeed, // ECPUSpeed + NULL, // ESystemStartupReason + NULL, // ESystemException + NULL, // ESystemTickPeriod + GetRAMSize, // EMemoryRAM + GetFreeRAM, // EMemoryRAMFree + GetROMSize, // EMemoryROM + NULL, // EMemoryPageSize + NULL, // EPowerGood + NULL, // EPowerBatteryStatus + NULL, // EPowerBackup + NULL, // EPowerBackupStatus + NULL, // EPowerExternal + NULL, // EKeyboard + NULL, // EKeyboardDeviceKeys + NULL, // EKeyboardAppKeys + NULL, // EKeyboardClick + ProcessKeyboardClickState, // EKeyboardClickState + ProcessKeyboardClickVolume, // EKeyboardClickVolume + NULL, // EKeyboardClickVolumeMax + ProcessDisplayCurrentModeInfo, // EDisplayXPixels + ProcessDisplayCurrentModeInfo, // EDisplayYPixels + ProcessDisplayCurrentModeInfo, // EDisplayXTwips + ProcessDisplayCurrentModeInfo, // EDisplayYTwips + ProcessDisplayColors, // EDisplayColors + ProcessDisplayState, // EDisplayState + ProcessDisplayContrast, // EDisplayContrast + ProcessDisplayMaxContrast, // EDisplayContrastMax + NULL, // EBacklight + NULL, // EBacklightState + NULL, // EPen + NULL, // EPenX + NULL, // EPenY + NULL, // EPenDisplayOn + NULL, // EPenClick + NULL, // EPenClickState + NULL, // EPenClickVolume + NULL, // EPenClickVolumeMax + NULL, // EMouse + NULL, // EMouseX + NULL, // EMouseY + ProcessMouseState, // EMouseState + ProcessMouseSpeed, // EMouseSpeed + ProcessMouseAcceleration, // EMouseAcceleration + NULL, // EMouseButtons + GetMouseButtonState, // EMouseButtonState + NULL, // ECaseState + NULL, // ECaseSwitch + NULL, // ECaseSwitchDisplayOn + NULL, // ECaseSwitchDisplayOff + NULL, // ELEDs + ProcessLEDMask, // ELEDmask + NULL, // EIntegratedPhone + NULL, // EDisplayBrightness + NULL, // EDisplayBrightnessMax + NULL, // EKeyboardBacklightState + NULL, // EAccessoryPower + NULL, // ELanguageIndex + NULL, // EKeyboardIndex + NULL, // EMaxRAMDriveSize + NULL, // EKeyboardState + NULL, // ESystemDrive + NULL, // EPenState + ProcessDisplaySpecifiedModeInfo, // EDisplayIsMono + ProcessDisplaySpecifiedModeInfo, // EDisplayIsPalettized + ProcessDisplaySpecifiedModeInfo, // EDisplayBitsPerPixel + ProcessDisplayNumModes, // EDisplayNumModes + ProcessDisplayCurrentModeInfo, // EDisplayMemoryAddress + ProcessDisplaySpecifiedModeInfo, // EDisplayOffsetToFirstPixel + ProcessDisplaySpecifiedModeInfo, // EDisplayOffsetBetweenLines + NULL, // EDisplayPaletteEntry + ProcessDisplayCurrentModeInfo, // EDisplayIsPixelOrderRGB + ProcessDisplayCurrentModeInfo, // EDisplayIsPixelOrderLandscape + ProcessDisplayMode, // EDisplayMode + NULL, // ESwitches + NULL, // EDebugPort + NULL, // ELocaleLoaded + NULL, // EClipboardDrive + ProcessCustomRestart, // ECustomRestart + ProcessCustomRestartReason, // ECustomRestartReason + GetDisplayNumberOfScreens, // EDisplayNumberOfScreens + ProcessNanoTickPeriod, // ENanoTickPeriod + ProcessFastCounterFrequency, // EFastCounterFrequency + NULL, // EFastCounterCountsUp + NULL, // EPointer3D + NULL, // EPointer3DMaxProximity + NULL, // EPointer3DThetaSupported + NULL, // EPointer3DPhiSupported + NULL, // EPointer3DRotationSupported + NULL, // EPointer3DPressureSupported + NULL, // EHardwareFloatingPoint + NonsecureClockOffset, // ETimeNonSecureOffset + NULL, // EPersistStartupModeKernel + NULL, // EMaximumCustomRestartReasons + NULL, // EMaximumRestartStartupModes + NULL, // ECustomResourceDrive + NULL, // EPointer3DProximityStep + NULL, // EPointerMaxPointers + NULL, // EPointerNumberOfPointers + NULL, // EPointer3DMaxPressure + NULL, // EPointer3DPressureStep + NULL, // EPointer3DEnterHighPressureThreshold + NULL, // EPointer3DExitHighPressureThreshold + NULL, // EPointer3DEnterCloseProximityThreshold + NULL, // EPointer3DExitCloseProximityThreshold + GetDisplayMemoryHandle, // EDisplayMemoryHandle + NULL, // ESerialNumber + NULL, // ECpuProfilingDefaultInterruptBase + GetNumCpus // ENumCpus + }; + diff -r bde4ae8d615e -r 260cb5ec6c19 os/boardsupport/emulator/emulatorbsp/hal/hal.cmake --- a/os/boardsupport/emulator/emulatorbsp/hal/hal.cmake Fri Jun 15 03:10:57 2012 +0200 +++ b/os/boardsupport/emulator/emulatorbsp/hal/hal.cmake Tue Jun 10 14:32:02 2014 +0200 @@ -18,7 +18,7 @@ #------------------------------------------------------------------- add_cmake_source() #Make sure all the output from all projects will go in one place -set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/../bin) +set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin) #Visual Studio IDE folders source_group(Sources REGULAR_EXPRESSION ".+\\.cpp$") source_group(Includes REGULAR_EXPRESSION ".+\\.h$") diff -r bde4ae8d615e -r 260cb5ec6c19 os/boardsupport/emulator/emulatorbsp/hal/values.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/os/boardsupport/emulator/emulatorbsp/hal/values.cpp Tue Jun 10 14:32:02 2014 +0200 @@ -0,0 +1,137 @@ +// ./os/boardsupport/emulator/emulatorbsp/hal/values.cpp +// +// Copyright (c) 1999-2014 Nokia Corporation and/or its subsidiary(-ies).// All rights reserved. +// +// GENERATED FILE - DO NOT EDIT +// + +#include +#ifdef __CW32__ +// CodeWarrior requires EXPORT_C on the definiton here, as well as the declaration (in hal_int.h) +EXPORT_C const TInt HalInternal::InitialValue[]= +#else +EXPORT_D const TInt HalInternal::InitialValue[]= +#endif + { + 4, // EManufacturer + 1, // EManufacturerHardwareRev + 256, // EManufacturerSoftwareRev + 592, // EManufacturerSoftwareBuild + 19748, // EModel + 268459874, // EMachineUid + 0, // EDeviceFamily + 1, // EDeviceFamilyRev + 2, // ECPU + 1792, // ECPUArch + 4, // ECPUABI + 0, // ECPUSpeed + 0, // ESystemStartupReason + 0, // ESystemException + 15625, // ESystemTickPeriod + 128, // EMemoryRAM + 128, // EMemoryRAMFree + 16, // EMemoryROM + 4096, // EMemoryPageSize + 1, // EPowerGood + 0, // EPowerBatteryStatus + 0, // EPowerBackup + 0, // EPowerBackupStatus + 1, // EPowerExternal + 2, // EKeyboard + 3, // EKeyboardDeviceKeys + 9, // EKeyboardAppKeys + 1, // EKeyboardClick + 1, // EKeyboardClickState + 0, // EKeyboardClickVolume + 1, // EKeyboardClickVolumeMax + 0, // EDisplayXPixels + 0, // EDisplayYPixels + 0, // EDisplayXTwips + 0, // EDisplayYTwips + 0, // EDisplayColors + 1, // EDisplayState + 0, // EDisplayContrast + 0, // EDisplayContrastMax + 0, // EBacklight + 0, // EBacklightState + 0, // EPen + 0, // EPenX + 0, // EPenY + 1, // EPenDisplayOn + 0, // EPenClick + 0, // EPenClickState + 0, // EPenClickVolume + 0, // EPenClickVolumeMax + 1, // EMouse + 0, // EMouseX + 0, // EMouseY + 1, // EMouseState + 1, // EMouseSpeed + 1, // EMouseAcceleration + 2, // EMouseButtons + 0, // EMouseButtonState + 0, // ECaseState + 0, // ECaseSwitch + 1, // ECaseSwitchDisplayOn + 1, // ECaseSwitchDisplayOff + 2, // ELEDs + 0, // ELEDmask + 0, // EIntegratedPhone + 0, // EDisplayBrightness + 0, // EDisplayBrightnessMax + 0, // EKeyboardBacklightState + 0, // EAccessoryPower + 0, // ELanguageIndex + 0, // EKeyboardIndex + 4194304, // EMaxRAMDriveSize + 0, // EKeyboardState + 4294967295, // ESystemDrive + 0, // EPenState + 0, // EDisplayIsMono + 0, // EDisplayIsPalettized + 0, // EDisplayBitsPerPixel + 0, // EDisplayNumModes + 0, // EDisplayMemoryAddress + 0, // EDisplayOffsetToFirstPixel + 0, // EDisplayOffsetBetweenLines + 0, // EDisplayPaletteEntry + 0, // EDisplayIsPixelOrderRGB + 0, // EDisplayIsPixelOrderLandscape + 0, // EDisplayMode + 0, // ESwitches + 0, // EDebugPort + 0, // ELocaleLoaded + 2, // EClipboardDrive + 0, // ECustomRestart + 0, // ECustomRestartReason + 1, // EDisplayNumberOfScreens + 0, // ENanoTickPeriod + 0, // EFastCounterFrequency + 1, // EFastCounterCountsUp + 1, // EPointer3D + -100, // EPointer3DMaxProximity + 1, // EPointer3DThetaSupported + 1, // EPointer3DPhiSupported + 1, // EPointer3DRotationSupported + 1, // EPointer3DPressureSupported + 0, // EHardwareFloatingPoint + 0, // ETimeNonSecureOffset + 0, // EPersistStartupModeKernel + 0, // EMaximumCustomRestartReasons + 0, // EMaximumRestartStartupModes + 65535, // ECustomResourceDrive + 5, // EPointer3DProximityStep + 8, // EPointerMaxPointers + 6, // EPointerNumberOfPointers + 5000, // EPointer3DMaxPressure + 500, // EPointer3DPressureStep + 2147483647, // EPointer3DEnterHighPressureThreshold + -2147483647, // EPointer3DExitHighPressureThreshold + 2147483647, // EPointer3DEnterCloseProximityThreshold + -2147483647, // EPointer3DExitCloseProximityThreshold + 0, // EDisplayMemoryHandle + 0, // ESerialNumber + 0, // ECpuProfilingDefaultInterruptBase + 1 // ENumCpus + }; + diff -r bde4ae8d615e -r 260cb5ec6c19 os/boardsupport/emulator/emulatorbsp/soundsc.cmake --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/os/boardsupport/emulator/emulatorbsp/soundsc.cmake Tue Jun 10 14:32:02 2014 +0200 @@ -0,0 +1,75 @@ +# Copyright (c) 2009-2012 Stéphane Lenclud. +# All rights reserved. +# This component and the accompanying materials are made available +# under the terms of the License "Eclipse Public License v1.0" +# which accompanies this distribution, and is available +# at the URL "http://www.eclipse.org/legal/epl-v10.html". +# +# Initial Contributors: +# Stéphane Lenclud. +# + +push_target(soundsc) + +#Add current file to our source tree +add_cmake_source() +#Make sure all the output from all projects will go in one place +set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin) + + +include_directories(./inc) +include_directories(../../../kernelhwsrv/kernel/eka/include/kernel/win32) +include_directories(../../../kernelhwsrv/kernel/eka/include/memmodel/emul) +include_directories(../../../kernelhwsrv/kernel/eka/include) +include_directories(../../../kernelhwsrv/kernel/eka/include/nkern) +include_directories(../../../kernelhwsrv/kernel/eka/include/nkern/win32) + + +#Hoping we include the right entry point +set (sourcepath ../../../kernelhwsrv/kernel/eka/kernel/win32/) +add_source(v_entry.cpp) + +set (sourcepath ../../../kernelhwsrv/kernel/eka/drivers/power/binary/) +add_source( +bpower.cpp +) + +set (sourcepath ./specific/) +add_source( +variant.cpp timer.cpp property.cpp +) + +#Hoping we include the right entry point +set (sourcepath ./bwins/) +add_source(vwinsu.def) + +get_source(source) +add_library (ecust SHARED ${source}) +target_link_libraries(ecust emulator ekern) +#WIN32 libraries +target_link_libraries(ecust kernel32 user32 winmm) +# +add_define(__EXPORT_MEMCPY__) +add_define(__IN_KERNEL__) +add_define(__KERNEL_MODE__) +add_define(__MEMMODEL_EMUL_SINGLE_HOST_PROCESS__) + + +#Create our data directory for the emulator +#See +#file(MAKE_DIRECTORY ${CMAKE_BINARY_DIR}/\${BUILD_TYPE}/data) +#execute_process(COMMAND ${CMAKE_COMMAND} -E make_directory ${CMAKE_BINARY_DIR}/${BUILD_TYPE}/data) + +#add_custom_command ( +# TARGET ecust +# PRE_BUILD +# COMMAND ${CMAKE_COMMAND} -E make_directory ${CMAKE_BINARY_DIR}${CMAKE_CFG_INTDIR}/data +# ) + + +add_custom_target ( + createEmuDataFolder + COMMAND ${CMAKE_COMMAND} -E make_directory ${CMAKE_BINARY_DIR}/${CMAKE_CFG_INTDIR}/data + ) + +pop_target(ecust) \ No newline at end of file diff -r bde4ae8d615e -r 260cb5ec6c19 os/boardsupport/emulator/emulatorbsp/specific/property.cpp --- a/os/boardsupport/emulator/emulatorbsp/specific/property.cpp Fri Jun 15 03:10:57 2012 +0200 +++ b/os/boardsupport/emulator/emulatorbsp/specific/property.cpp Tue Jun 10 14:32:02 2014 +0200 @@ -28,6 +28,21 @@ #define _DUMP_PROPERTY #endif + +//SL: added this to support relative paths +#include +#ifdef WIN32 +#include +#define GetCurrentDir _getcwd +#define FullPath _fullpath +#else +#include +#define GetCurrentDir getcwd +#define FullPath fullpath +#endif + + + const char* KDefaultMachineName = "epoc"; const char* KDefaultTestMachineName = "defaulttest"; @@ -1164,6 +1179,7 @@ return mpath; } + TInt Wins::SetupDrive(int aDrive, const char* aPath) // // set up emulated drives @@ -1208,8 +1224,15 @@ } else - // otherwise, aPath is fully qualified path name. Use that. - return iProperties.Replace(prop, aPath) ? KErrNone : KErrNoMemory; + { + //Otherwise aPath is potentially a relative path + char path[FILENAME_MAX+1]; + //Resolve relative path + FullPath(path,aPath,sizeof(path)/sizeof(char)); + //Now path is fully qualified path name. Use that. + return iProperties.Replace(prop, path) ? KErrNone : KErrNoMemory; + } + } diff -r bde4ae8d615e -r 260cb5ec6c19 os/kernelhwsrv/kernel/eka/drivers/locmedia/elocd.cmake --- a/os/kernelhwsrv/kernel/eka/drivers/locmedia/elocd.cmake Fri Jun 15 03:10:57 2012 +0200 +++ b/os/kernelhwsrv/kernel/eka/drivers/locmedia/elocd.cmake Tue Jun 10 14:32:02 2014 +0200 @@ -18,7 +18,7 @@ #------------------------------------------------------------------- add_cmake_source() #Make sure all the output from all projects will go in one place -set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/../bin) +set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin) #Visual Studio IDE folders source_group(Sources REGULAR_EXPRESSION ".+\\.cpp$") source_group(Includes REGULAR_EXPRESSION ".+\\.h$") diff -r bde4ae8d615e -r 260cb5ec6c19 os/kernelhwsrv/kernel/eka/drivers/trace/btracec.cmake --- a/os/kernelhwsrv/kernel/eka/drivers/trace/btracec.cmake Fri Jun 15 03:10:57 2012 +0200 +++ b/os/kernelhwsrv/kernel/eka/drivers/trace/btracec.cmake Tue Jun 10 14:32:02 2014 +0200 @@ -18,7 +18,7 @@ #------------------------------------------------------------------- add_cmake_source() #Make sure all the output from all projects will go in one place -set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/../bin) +set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin) #Visual Studio IDE folders source_group(Sources REGULAR_EXPRESSION ".+\\.cpp$") source_group(Includes REGULAR_EXPRESSION ".+\\.h$") diff -r bde4ae8d615e -r 260cb5ec6c19 os/kernelhwsrv/kernel/eka/drivers/trace/btracex.cmake --- a/os/kernelhwsrv/kernel/eka/drivers/trace/btracex.cmake Fri Jun 15 03:10:57 2012 +0200 +++ b/os/kernelhwsrv/kernel/eka/drivers/trace/btracex.cmake Tue Jun 10 14:32:02 2014 +0200 @@ -18,7 +18,7 @@ #------------------------------------------------------------------- add_cmake_source() #Make sure all the output from all projects will go in one place -set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/../bin) +set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin) #Visual Studio IDE folders source_group(Sources REGULAR_EXPRESSION ".+\\.cpp$") source_group(Includes REGULAR_EXPRESSION ".+\\.h$") diff -r bde4ae8d615e -r 260cb5ec6c19 os/kernelhwsrv/kernel/eka/eka.cmake --- a/os/kernelhwsrv/kernel/eka/eka.cmake Fri Jun 15 03:10:57 2012 +0200 +++ b/os/kernelhwsrv/kernel/eka/eka.cmake Tue Jun 10 14:32:02 2014 +0200 @@ -12,7 +12,7 @@ #Add current file to our source tree add_cmake_source() #Make sure all the output from all projects will go in one place -set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/../bin) +set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin) add_definitions(-D__SYMC__) diff -r bde4ae8d615e -r 260cb5ec6c19 os/kernelhwsrv/kernel/eka/euser/edll.cmake --- a/os/kernelhwsrv/kernel/eka/euser/edll.cmake Fri Jun 15 03:10:57 2012 +0200 +++ b/os/kernelhwsrv/kernel/eka/euser/edll.cmake Tue Jun 10 14:32:02 2014 +0200 @@ -18,7 +18,7 @@ #------------------------------------------------------------------- add_cmake_source() #Make sure all the output from all projects will go in one place -set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/../bin) +set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin) #Visual Studio IDE folders source_group(Sources REGULAR_EXPRESSION ".+\\.cpp$") source_group(Includes REGULAR_EXPRESSION ".+\\.h$") diff -r bde4ae8d615e -r 260cb5ec6c19 os/kernelhwsrv/kernel/eka/euser/eexe.cmake --- a/os/kernelhwsrv/kernel/eka/euser/eexe.cmake Fri Jun 15 03:10:57 2012 +0200 +++ b/os/kernelhwsrv/kernel/eka/euser/eexe.cmake Tue Jun 10 14:32:02 2014 +0200 @@ -18,7 +18,7 @@ #------------------------------------------------------------------- add_cmake_source() #Make sure all the output from all projects will go in one place -set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/../bin) +set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin) #Visual Studio IDE folders source_group(Sources REGULAR_EXPRESSION ".+\\.cpp$") source_group(Includes REGULAR_EXPRESSION ".+\\.h$") diff -r bde4ae8d615e -r 260cb5ec6c19 os/kernelhwsrv/kernel/eka/euser/emulator.cmake --- a/os/kernelhwsrv/kernel/eka/euser/emulator.cmake Fri Jun 15 03:10:57 2012 +0200 +++ b/os/kernelhwsrv/kernel/eka/euser/emulator.cmake Tue Jun 10 14:32:02 2014 +0200 @@ -18,7 +18,7 @@ #------------------------------------------------------------------- add_cmake_source() #Make sure all the output from all projects will go in one place -set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/../bin) +set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin) #Visual Studio IDE folders source_group(Sources REGULAR_EXPRESSION ".+\\.cpp$") source_group(Includes REGULAR_EXPRESSION ".+\\.h$") diff -r bde4ae8d615e -r 260cb5ec6c19 os/kernelhwsrv/kernel/eka/euser/epoc.cmake --- a/os/kernelhwsrv/kernel/eka/euser/epoc.cmake Fri Jun 15 03:10:57 2012 +0200 +++ b/os/kernelhwsrv/kernel/eka/euser/epoc.cmake Tue Jun 10 14:32:02 2014 +0200 @@ -18,7 +18,7 @@ #------------------------------------------------------------------- add_cmake_source() #Make sure all the output from all projects will go in one place -set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/../bin) +set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin) #Visual Studio IDE folders source_group(Sources REGULAR_EXPRESSION ".+\\.cpp$") source_group(Includes REGULAR_EXPRESSION ".+\\.h$") diff -r bde4ae8d615e -r 260cb5ec6c19 os/kernelhwsrv/kernel/eka/euser/estub.cmake --- a/os/kernelhwsrv/kernel/eka/euser/estub.cmake Fri Jun 15 03:10:57 2012 +0200 +++ b/os/kernelhwsrv/kernel/eka/euser/estub.cmake Tue Jun 10 14:32:02 2014 +0200 @@ -18,7 +18,7 @@ #------------------------------------------------------------------- add_cmake_source() #Make sure all the output from all projects will go in one place -set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/../bin) +set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin) #Visual Studio IDE folders source_group(Sources REGULAR_EXPRESSION ".+\\.cpp$") source_group(Includes REGULAR_EXPRESSION ".+\\.h$") diff -r bde4ae8d615e -r 260cb5ec6c19 os/kernelhwsrv/kernel/eka/euser/euser.cmake --- a/os/kernelhwsrv/kernel/eka/euser/euser.cmake Fri Jun 15 03:10:57 2012 +0200 +++ b/os/kernelhwsrv/kernel/eka/euser/euser.cmake Tue Jun 10 14:32:02 2014 +0200 @@ -15,7 +15,7 @@ #Add current file to our source tree add_cmake_source() #Make sure all the output from all projects will go in one place -set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/../bin) +set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin) #Visual Studio IDE folders source_group(Sources REGULAR_EXPRESSION ".+\\.cpp$") source_group(Includes REGULAR_EXPRESSION ".+\\.h$") diff -r bde4ae8d615e -r 260cb5ec6c19 os/kernelhwsrv/kernel/eka/euser/scppnwdl.cmake --- a/os/kernelhwsrv/kernel/eka/euser/scppnwdl.cmake Fri Jun 15 03:10:57 2012 +0200 +++ b/os/kernelhwsrv/kernel/eka/euser/scppnwdl.cmake Tue Jun 10 14:32:02 2014 +0200 @@ -15,7 +15,7 @@ #Add current file to our source tree add_cmake_source() #Make sure all the output from all projects will go in one place -set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/../bin) +set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin) #Visual Studio IDE folders source_group(Sources REGULAR_EXPRESSION ".+\\.cpp$") source_group(Includes REGULAR_EXPRESSION ".+\\.h$") diff -r bde4ae8d615e -r 260cb5ec6c19 os/kernelhwsrv/kernel/eka/euser/scppnwdl_kern.cmake --- a/os/kernelhwsrv/kernel/eka/euser/scppnwdl_kern.cmake Fri Jun 15 03:10:57 2012 +0200 +++ b/os/kernelhwsrv/kernel/eka/euser/scppnwdl_kern.cmake Tue Jun 10 14:32:02 2014 +0200 @@ -15,7 +15,7 @@ #Add current file to our source tree add_cmake_source() #Make sure all the output from all projects will go in one place -set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/../bin) +set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin) #Visual Studio IDE folders source_group(Sources REGULAR_EXPRESSION ".+\\.cpp$") source_group(Includes REGULAR_EXPRESSION ".+\\.h$") diff -r bde4ae8d615e -r 260cb5ec6c19 os/kernelhwsrv/kernel/eka/euser/us_des.cpp --- a/os/kernelhwsrv/kernel/eka/euser/us_des.cpp Fri Jun 15 03:10:57 2012 +0200 +++ b/os/kernelhwsrv/kernel/eka/euser/us_des.cpp Tue Jun 10 14:32:02 2014 +0200 @@ -360,15 +360,18 @@ const TInt KAlignTRealX = 4; const TInt KAlignTInt64 = 4; #else + #ifndef __VC32__ // MSVC generates an internal compiler error with the following code struct TReal_align {char c; TReal a;}; const TInt KAlignTReal = _FOFF(TReal_align,a); - #ifndef __VC32__ // MSVC generates an internal compiler error with the following code + struct TRealX_align {char c; TRealX a;}; const TInt KAlignTRealX = _FOFF(TRealX_align,a); struct TInt64_align {char c; TInt64 a;}; const TInt KAlignTInt64 = _FOFF(TInt64_align,a); #else + //SL: Now also hardcoding KAlignTReal + const TInt KAlignTReal = 4; const TInt KAlignTRealX = 4; // Hard code value for MSVC const TInt KAlignTInt64 = 4; // Hard code value for MSVC #endif diff -r bde4ae8d615e -r 260cb5ec6c19 os/kernelhwsrv/kernel/eka/include/emulator.h --- a/os/kernelhwsrv/kernel/eka/include/emulator.h Fri Jun 15 03:10:57 2012 +0200 +++ b/os/kernelhwsrv/kernel/eka/include/emulator.h Tue Jun 10 14:32:02 2014 +0200 @@ -25,7 +25,9 @@ #define __EMULATOR_H__ #include -#define WIN32_LEAN_AND_MEAN +#ifndef WIN32_LEAN_AND_MEAN +# define WIN32_LEAN_AND_MEAN +#endif #pragma warning( disable : 4201 ) // nonstandard extension used : nameless struct/union #include #pragma warning( default : 4201 ) // nonstandard extension used : nameless struct/union diff -r bde4ae8d615e -r 260cb5ec6c19 os/kernelhwsrv/kernel/eka/include/nkern/win32/nk_plat.h --- a/os/kernelhwsrv/kernel/eka/include/nkern/win32/nk_plat.h Fri Jun 15 03:10:57 2012 +0200 +++ b/os/kernelhwsrv/kernel/eka/include/nkern/win32/nk_plat.h Tue Jun 10 14:32:02 2014 +0200 @@ -26,9 +26,20 @@ #ifndef __NK_WIN32_H__ #define __NK_WIN32_H__ +//SL: Avoid warnings +#ifdef _CRTIMP +#undef _CRTIMP +#endif + #define _CRTIMP // we want to use the win32 static runtime library #define WIN32_LEAN_AND_MEAN + +//SL: Avoid warnings +#ifdef _WIN32_WINNT +#undef _WIN32_WINNT +#endif + #define _WIN32_WINNT 0x0400 #include diff -r bde4ae8d615e -r 260cb5ec6c19 os/kernelhwsrv/kernel/eka/kernel/ekern.cmake --- a/os/kernelhwsrv/kernel/eka/kernel/ekern.cmake Fri Jun 15 03:10:57 2012 +0200 +++ b/os/kernelhwsrv/kernel/eka/kernel/ekern.cmake Tue Jun 10 14:32:02 2014 +0200 @@ -15,7 +15,7 @@ #Add current file to our source tree add_cmake_source() #Make sure all the output from all projects will go in one place -set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/../bin) +set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin) #Visual Studio IDE folders source_group(Sources REGULAR_EXPRESSION ".+\\.cpp$") source_group(Includes REGULAR_EXPRESSION ".+\\.h$") diff -r bde4ae8d615e -r 260cb5ec6c19 os/kernelhwsrv/kernel/eka/kernel/ekll.cmake --- a/os/kernelhwsrv/kernel/eka/kernel/ekll.cmake Fri Jun 15 03:10:57 2012 +0200 +++ b/os/kernelhwsrv/kernel/eka/kernel/ekll.cmake Tue Jun 10 14:32:02 2014 +0200 @@ -18,7 +18,7 @@ #------------------------------------------------------------------- add_cmake_source() #Make sure all the output from all projects will go in one place -set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/../bin) +set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin) #Visual Studio IDE folders source_group(Sources REGULAR_EXPRESSION ".+\\.cpp$") source_group(Includes REGULAR_EXPRESSION ".+\\.h$") diff -r bde4ae8d615e -r 260cb5ec6c19 os/kernelhwsrv/kernel/eka/kernel/exstart.cmake --- a/os/kernelhwsrv/kernel/eka/kernel/exstart.cmake Fri Jun 15 03:10:57 2012 +0200 +++ b/os/kernelhwsrv/kernel/eka/kernel/exstart.cmake Tue Jun 10 14:32:02 2014 +0200 @@ -18,7 +18,7 @@ #------------------------------------------------------------------- add_cmake_source() #Make sure all the output from all projects will go in one place -set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/../bin) +set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin) #Visual Studio IDE folders source_group(Sources REGULAR_EXPRESSION ".+\\.cpp$") source_group(Includes REGULAR_EXPRESSION ".+\\.h$") diff -r bde4ae8d615e -r 260cb5ec6c19 os/kernelhwsrv/kernel/eka/nkern/win32/vectors.cpp --- a/os/kernelhwsrv/kernel/eka/nkern/win32/vectors.cpp Fri Jun 15 03:10:57 2012 +0200 +++ b/os/kernelhwsrv/kernel/eka/nkern/win32/vectors.cpp Tue Jun 10 14:32:02 2014 +0200 @@ -29,15 +29,9 @@ EXPORT_C TInt __fastcall Dispatch(TInt aFunction, TInt* aArgs) { NThread& me = *static_cast(TheScheduler.iCurrentThread); - //SL: Can't figure out why this fails at times + //SL: If you panic here its probably because you forgot to Emulator::Lock() when doing system calls. + //@see: http://www.developer.nokia.com/Community/Wiki/Symbian_OS_Internals/03._Threads,_Processes_and_Libraries#Forced_exit_-_diverting_threads __NK_ASSERT_ALWAYS(!me.iDiverted); - - /* - if (me.iDiverted) - { - __KTRACE_OPT(KSCHED,DEBUGPRINT("WARNING: not diverted!")); - } - */ EnterKernel(); diff -r bde4ae8d615e -r 260cb5ec6c19 os/kernelhwsrv/kerneltest/e32test/symc/tsymc.cmake --- a/os/kernelhwsrv/kerneltest/e32test/symc/tsymc.cmake Fri Jun 15 03:10:57 2012 +0200 +++ b/os/kernelhwsrv/kerneltest/e32test/symc/tsymc.cmake Tue Jun 10 14:32:02 2014 +0200 @@ -18,7 +18,7 @@ #------------------------------------------------------------------- add_cmake_source() #Make sure all the output from all projects will go in one place -set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/../bin) +set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin) #Visual Studio IDE folders source_group(Sources REGULAR_EXPRESSION ".+\\.cpp$") source_group(Includes REGULAR_EXPRESSION ".+\\.h$") @@ -53,7 +53,7 @@ #Copy test files install( FILES ${PROJECT_SOURCE_DIR}/os/kernelhwsrv/kerneltest/e32test/symc/tsymc.txt - DESTINATION ${CMAKE_BINARY_DIR}/\${BUILD_TYPE}/c/tsymc ) + DESTINATION ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/\${BUILD_TYPE}/c/tsymc ) #------------------------------------------------------------------- diff -r bde4ae8d615e -r 260cb5ec6c19 os/kernelhwsrv/kerneltest/e32test/symc/tsymc.cpp --- a/os/kernelhwsrv/kerneltest/e32test/symc/tsymc.cpp Fri Jun 15 03:10:57 2012 +0200 +++ b/os/kernelhwsrv/kerneltest/e32test/symc/tsymc.cpp Tue Jun 10 14:32:02 2014 +0200 @@ -7,6 +7,11 @@ #include #include +#define TEST_SUSTAIN + +TTime startTime; + + TInt IdleCallBack(TAny* aParam) { @@ -14,16 +19,10 @@ count++; - if (count>5) - { - //Stop it there - CActiveScheduler::Stop(); - return EFalse; - } - - + //Only do this on first run if (count==1) { + startTime.HomeTime(); //Quick file system test RFs fs; User::LeaveIfError(fs.Connect()); @@ -48,11 +47,11 @@ //file.Close(); } - //Test write + //Test write TInt writeErr=file.Write(KWriteThat); file.Close(); } - + //Test file creation TInt createErr=file.Create(fs,KFileNameToCreate,EFileWrite); if (!createErr) @@ -66,9 +65,23 @@ CleanupStack::PopAndDestroy(1,&fs); } + //Check our exit condition + TTime time; + time.HomeTime(); + TTimeIntervalSeconds seconds; + User::LeaveIfError(time.SecondsFrom(startTime,seconds)); + + //Just run for a few seconds + if (seconds.Int()>5) + { + //Stop it there + CActiveScheduler::Stop(); + return EFalse; + } + //Keep playing - return ETrue; + return ETrue; } @@ -89,7 +102,7 @@ CleanupStack::PushL(base); CleanupStack::PopAndDestroy(2,other); //delete base; - + //Testing cleanup stack TRAPD(err, base=new(ELeave) CBase(); @@ -121,14 +134,14 @@ //TODO: //RHashSet hash; - + //Testing AOs //Install an active scheduler CActiveScheduler* activeScheduler = new(ELeave) CActiveScheduler; CActiveScheduler::Install(activeScheduler); CleanupStack::PushL(activeScheduler); - CIdle* idle = CIdle::NewL(CActive::EPriorityIdle); + CIdle* idle = CIdle::NewL(CActive::EPriorityIdle); CleanupStack::PushL(idle); idle->Start(TCallBack(IdleCallBack,NULL)); @@ -150,7 +163,7 @@ { //What do we do then //SetReturnedHandle - + __UHEAP_MARK; //CBase* base=new(ELeave) CBase(); @@ -177,11 +190,10 @@ TInt err=KErrNone; TRAP(err,MainL()); - + delete cleanupStack; __UHEAP_MARKEND; return err; - } - + } \ No newline at end of file diff -r bde4ae8d615e -r 260cb5ec6c19 os/kernelhwsrv/userlibandfileserver/domainmgr/group/domaincli.cmake --- a/os/kernelhwsrv/userlibandfileserver/domainmgr/group/domaincli.cmake Fri Jun 15 03:10:57 2012 +0200 +++ b/os/kernelhwsrv/userlibandfileserver/domainmgr/group/domaincli.cmake Tue Jun 10 14:32:02 2014 +0200 @@ -18,7 +18,7 @@ #------------------------------------------------------------------- add_cmake_source() #Make sure all the output from all projects will go in one place -set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/../bin) +set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin) #Visual Studio IDE folders source_group(Sources REGULAR_EXPRESSION ".+\\.cpp$") source_group(Includes REGULAR_EXPRESSION ".+\\.h$") diff -r bde4ae8d615e -r 260cb5ec6c19 os/kernelhwsrv/userlibandfileserver/domainmgr/group/domainpolicy.cmake --- a/os/kernelhwsrv/userlibandfileserver/domainmgr/group/domainpolicy.cmake Fri Jun 15 03:10:57 2012 +0200 +++ b/os/kernelhwsrv/userlibandfileserver/domainmgr/group/domainpolicy.cmake Tue Jun 10 14:32:02 2014 +0200 @@ -18,7 +18,7 @@ #------------------------------------------------------------------- add_cmake_source() #Make sure all the output from all projects will go in one place -set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/../bin) +set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin) #Visual Studio IDE folders source_group(Sources REGULAR_EXPRESSION ".+\\.cpp$") source_group(Includes REGULAR_EXPRESSION ".+\\.h$") diff -r bde4ae8d615e -r 260cb5ec6c19 os/kernelhwsrv/userlibandfileserver/domainmgr/group/domainsrv.cmake --- a/os/kernelhwsrv/userlibandfileserver/domainmgr/group/domainsrv.cmake Fri Jun 15 03:10:57 2012 +0200 +++ b/os/kernelhwsrv/userlibandfileserver/domainmgr/group/domainsrv.cmake Tue Jun 10 14:32:02 2014 +0200 @@ -18,7 +18,7 @@ #------------------------------------------------------------------- add_cmake_source() #Make sure all the output from all projects will go in one place -set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/../bin) +set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin) #Visual Studio IDE folders source_group(Sources REGULAR_EXPRESSION ".+\\.cpp$") source_group(Includes REGULAR_EXPRESSION ".+\\.h$") diff -r bde4ae8d615e -r 260cb5ec6c19 os/kernelhwsrv/userlibandfileserver/fileserver/group/efile.cmake --- a/os/kernelhwsrv/userlibandfileserver/fileserver/group/efile.cmake Fri Jun 15 03:10:57 2012 +0200 +++ b/os/kernelhwsrv/userlibandfileserver/fileserver/group/efile.cmake Tue Jun 10 14:32:02 2014 +0200 @@ -18,7 +18,7 @@ #------------------------------------------------------------------- add_cmake_source() #Make sure all the output from all projects will go in one place -set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/../bin) +set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin) #Visual Studio IDE folders source_group(Sources REGULAR_EXPRESSION ".+\\.cpp$") source_group(Includes REGULAR_EXPRESSION ".+\\.h$") diff -r bde4ae8d615e -r 260cb5ec6c19 os/kernelhwsrv/userlibandfileserver/fileserver/group/efsrv.cmake --- a/os/kernelhwsrv/userlibandfileserver/fileserver/group/efsrv.cmake Fri Jun 15 03:10:57 2012 +0200 +++ b/os/kernelhwsrv/userlibandfileserver/fileserver/group/efsrv.cmake Tue Jun 10 14:32:02 2014 +0200 @@ -18,7 +18,7 @@ #------------------------------------------------------------------- add_cmake_source() #Make sure all the output from all projects will go in one place -set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/../bin) +set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin) #Visual Studio IDE folders source_group(Sources REGULAR_EXPRESSION ".+\\.cpp$") source_group(Includes REGULAR_EXPRESSION ".+\\.h$") diff -r bde4ae8d615e -r 260cb5ec6c19 os/kernelhwsrv/userlibandfileserver/fileserver/scomp/ecomp.cmake --- a/os/kernelhwsrv/userlibandfileserver/fileserver/scomp/ecomp.cmake Fri Jun 15 03:10:57 2012 +0200 +++ b/os/kernelhwsrv/userlibandfileserver/fileserver/scomp/ecomp.cmake Tue Jun 10 14:32:02 2014 +0200 @@ -18,7 +18,7 @@ #------------------------------------------------------------------- add_cmake_source() #Make sure all the output from all projects will go in one place -set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/../bin) +set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin) #Visual Studio IDE folders source_group(Sources REGULAR_EXPRESSION ".+\\.cpp$") source_group(Includes REGULAR_EXPRESSION ".+\\.h$") diff -r bde4ae8d615e -r 260cb5ec6c19 os/kernelhwsrv/userlibandfileserver/fileserver/sfat/elocal.cmake --- a/os/kernelhwsrv/userlibandfileserver/fileserver/sfat/elocal.cmake Fri Jun 15 03:10:57 2012 +0200 +++ b/os/kernelhwsrv/userlibandfileserver/fileserver/sfat/elocal.cmake Tue Jun 10 14:32:02 2014 +0200 @@ -18,7 +18,7 @@ #------------------------------------------------------------------- add_cmake_source() #Make sure all the output from all projects will go in one place -set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/../bin) +set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin) #Visual Studio IDE folders source_group(Sources REGULAR_EXPRESSION ".+\\.cpp$") source_group(Includes REGULAR_EXPRESSION ".+\\.h$") diff -r bde4ae8d615e -r 260cb5ec6c19 os/kernelhwsrv/userlibandfileserver/fileserver/srofs/erofs.cmake --- a/os/kernelhwsrv/userlibandfileserver/fileserver/srofs/erofs.cmake Fri Jun 15 03:10:57 2012 +0200 +++ b/os/kernelhwsrv/userlibandfileserver/fileserver/srofs/erofs.cmake Tue Jun 10 14:32:02 2014 +0200 @@ -18,7 +18,7 @@ #------------------------------------------------------------------- add_cmake_source() #Make sure all the output from all projects will go in one place -set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/../bin) +set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin) #Visual Studio IDE folders source_group(Sources REGULAR_EXPRESSION ".+\\.cpp$") source_group(Includes REGULAR_EXPRESSION ".+\\.h$") diff -r bde4ae8d615e -r 260cb5ec6c19 os/ossrv/lowlevellibsandfws/apputils/group/bafl.cmake --- a/os/ossrv/lowlevellibsandfws/apputils/group/bafl.cmake Fri Jun 15 03:10:57 2012 +0200 +++ b/os/ossrv/lowlevellibsandfws/apputils/group/bafl.cmake Tue Jun 10 14:32:02 2014 +0200 @@ -18,7 +18,7 @@ #------------------------------------------------------------------- add_cmake_source() #Make sure all the output from all projects will go in one place -set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/../bin) +set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin) #Visual Studio IDE folders source_group(Sources REGULAR_EXPRESSION ".+\\.cpp$") source_group(Sources REGULAR_EXPRESSION ".+\\.CPP$") diff -r bde4ae8d615e -r 260cb5ec6c19 os/persistentdata/persistentstorage/centralrepository/group/cenrepcli.cmake --- a/os/persistentdata/persistentstorage/centralrepository/group/cenrepcli.cmake Fri Jun 15 03:10:57 2012 +0200 +++ b/os/persistentdata/persistentstorage/centralrepository/group/cenrepcli.cmake Tue Jun 10 14:32:02 2014 +0200 @@ -18,7 +18,7 @@ #------------------------------------------------------------------- add_cmake_source() #Make sure all the output from all projects will go in one place -set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/../bin) +set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin) #Visual Studio IDE folders source_group(Sources REGULAR_EXPRESSION ".+\\.cpp$") source_group(Includes REGULAR_EXPRESSION ".+\\.h$") diff -r bde4ae8d615e -r 260cb5ec6c19 os/persistentdata/persistentstorage/store/BMAKE/estor.cmake --- a/os/persistentdata/persistentstorage/store/BMAKE/estor.cmake Fri Jun 15 03:10:57 2012 +0200 +++ b/os/persistentdata/persistentstorage/store/BMAKE/estor.cmake Tue Jun 10 14:32:02 2014 +0200 @@ -18,7 +18,7 @@ #------------------------------------------------------------------- add_cmake_source() #Make sure all the output from all projects will go in one place -set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/../bin) +set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin) #Visual Studio IDE folders source_group(Sources REGULAR_EXPRESSION ".+\\.cpp$") source_group(Sources REGULAR_EXPRESSION ".+\\.CPP$") diff -r bde4ae8d615e -r 260cb5ec6c19 symbian.cmake --- a/symbian.cmake Fri Jun 15 03:10:57 2012 +0200 +++ b/symbian.cmake Tue Jun 10 14:32:02 2014 +0200 @@ -11,7 +11,7 @@ #Make sure all the output from all projects will go in one place -set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/../bin) +set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin) #------------------------------------------------------------------ project (symbian) @@ -25,6 +25,8 @@ add_definitions(-D__LEAVE_EQUALS_THROW__) add_definitions(-D__SUPPORT_CPP_EXCEPTIONS__) add_definitions(-D__PLATSEC_UNLOCKED__) +add_definitions(-DMONITOR_THREAD_CPU_TIME) +add_definitions(-DSYMBIAN_FIX_TDESC_CONSTRUCTORS) # TODO: I guess public stuff should also define SYMBIAN_ENABLE_SPLIT_HEADERS @@ -68,14 +70,44 @@ add_subdirectory(./os/kernelhwsrv/kerneltest) #------------------------------------------------------------- +#Copy epoc.ini to binary directory +#Not used anymore we are using configure instead, see below +#install( FILES +# ${PROJECT_SOURCE_DIR}/symc/epoc.ini +# DESTINATION ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/\${BUILD_TYPE}/data ) + + +#If SYMC_DRIVE_C is not defined we default to parent folder +if (NOT DEFINED SYMC_DRIVE_C) + set(SYMC_DRIVE_C_NOT_DEFINED ON) +endif() + + +###### Configure epoc.ini +set(DEBUG_EPOC_INI "${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/Debug/data/epoc.ini") +set(RELEASE_EPOC_INI "${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/Release/data/epoc.ini") + +#Specify default C drive root for debug build +if (DEFINED SYMC_DRIVE_C_NOT_DEFINED) + set(SYMC_DRIVE_C "${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/Debug/c" ) +endif() + +#Configure epoc.ini for debug build +configure_file( ${PROJECT_SOURCE_DIR}/symc/epoc.ini ${DEBUG_EPOC_INI}) + +#Specify default C drive root for release build +if (DEFINED SYMC_DRIVE_C_NOT_DEFINED) + set(SYMC_DRIVE_C "${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/Release/c" ) +endif() + +#Configure epoc.ini for release build +configure_file( ${PROJECT_SOURCE_DIR}/symc/epoc.ini ${RELEASE_EPOC_INI}) + #Add a custom target just to group our cmake files together file(GLOB_RECURSE DotCMakeFiles "./*.cmake") -add_custom_target(symbian SOURCES ${source} ${DotCMakeFiles} ./symc/epoc.ini ) +add_custom_target(symbian SOURCES ${source} ${DotCMakeFiles} ./symc/epoc.ini ${DEBUG_EPOC_INI} ${RELEASE_EPOC_INI}) source_group(CMake FILES ${DotCMakeFiles} ${CMAKE_CURRENT_LIST_FILE} ) -source_group(Data FILES ./symc/epoc.ini) - -#Copy epoc.ini to binary directory -install( FILES - ${PROJECT_SOURCE_DIR}/symc/epoc.ini - DESTINATION ${CMAKE_BINARY_DIR}/\${BUILD_TYPE}/data ) +source_group(Data FILES ./symc/epoc.ini) +source_group(Data\\Debug FILES ${DEBUG_EPOC_INI}) +source_group(Data\\Release FILES ${RELEASE_EPOC_INI}) diff -r bde4ae8d615e -r 260cb5ec6c19 symc/epoc.ini --- a/symc/epoc.ini Fri Jun 15 03:10:57 2012 +0200 +++ b/symc/epoc.ini Tue Jun 10 14:32:02 2014 +0200 @@ -13,9 +13,14 @@ ;Default drives are from the binary directory \c and \d ;Specify the C drive root ;_epoc_drive_c=d:\dev\epoc_drive_c +;Default to the project directory which is typically the parent folder from the current directory +_epoc_drive_c=@SYMC_DRIVE_C@ ;Specify the Z drive root ;_epoc_drive_z=d:\dev\tsymc\z +;Default is 63 MB, Zero sets it to 1GB +MegabytesOfFreeMemory=128 + ;Debug mode JustInTime=1 diff -r bde4ae8d615e -r 260cb5ec6c19 utils.cmake --- a/utils.cmake Fri Jun 15 03:10:57 2012 +0200 +++ b/utils.cmake Tue Jun 10 14:32:02 2014 +0200 @@ -126,15 +126,16 @@ #Use those include path macro instead of cmake built-in include_directories as it allows us to set include directories per target instead of per directory. macro(system_include path) get_target(targetName) - get_target_property(value ${targetName} COMPILE_FLAGS) - #MS CL compiler specific. I guess gcc should use -I instead of /I - if (${value} STREQUAL "value-NOTFOUND") - set(value "/I ${PROJECT_SOURCE_DIR}${path}") - else (${value} STREQUAL "value-NOTFOUND") - set(value "${value} /I ${PROJECT_SOURCE_DIR}${path}") - endif (${value} STREQUAL "value-NOTFOUND") + #get_target_property(value ${targetName} COMPILE_FLAGS) + ##MS CL compiler specific. I guess gcc should use -I instead of /I + #if (${value} STREQUAL "value-NOTFOUND") + # set(value "/I ${PROJECT_SOURCE_DIR}${path}") + #else (${value} STREQUAL "value-NOTFOUND") + # set(value "${value} /I ${PROJECT_SOURCE_DIR}${path}") + #endif (${value} STREQUAL "value-NOTFOUND") #message("Add system include: ${value}") - set_target_properties(${targetName} PROPERTIES COMPILE_FLAGS "${value}") + #set_target_properties(${targetName} PROPERTIES COMPILE_FLAGS "${value}") + set_property(TARGET ${targetName} APPEND PROPERTY INCLUDE_DIRECTORIES ${PROJECT_SOURCE_DIR}${path}) endmacro(system_include) #----------------------------------------------------- @@ -143,14 +144,15 @@ #TODO: Is this working with releative path? macro(user_include path) get_target(targetName) - get_target_property(value ${targetName} COMPILE_FLAGS) - #MS CL compiler specific. I guess gcc should use -I instead of /I - if (${value} STREQUAL "value-NOTFOUND") - set(value "/I ${CMAKE_CURRENT_LIST_DIR}/${path}") - else (${value} STREQUAL "value-NOTFOUND") - set(value "${value} /I ${CMAKE_CURRENT_LIST_DIR}/${path}") - endif (${value} STREQUAL "value-NOTFOUND") - set_target_properties(${targetName} PROPERTIES COMPILE_FLAGS "${value}") + #get_target_property(value ${targetName} COMPILE_FLAGS) + ##MS CL compiler specific. I guess gcc should use -I instead of /I + #if (${value} STREQUAL "value-NOTFOUND") + # set(value "/I ${CMAKE_CURRENT_LIST_DIR}/${path}") + #else (${value} STREQUAL "value-NOTFOUND") + # set(value "${value} /I ${CMAKE_CURRENT_LIST_DIR}/${path}") + #endif (${value} STREQUAL "value-NOTFOUND") + #set_target_properties(${targetName} PROPERTIES COMPILE_FLAGS "${value}") + set_property(TARGET ${targetName} APPEND PROPERTY INCLUDE_DIRECTORIES ${CMAKE_CURRENT_LIST_DIR}/${path}) endmacro(user_include)