kernel/eka/kernel/kern_int.mmh
author Tom Cosgrove <tom.cosgrove@nokia.com>
Fri, 28 May 2010 16:29:07 +0100
changeset 30 8aab599e3476
parent 0 a41df078684a
child 23 1df514389a47
permissions -rw-r--r--
Fix for bug 2283 (RVCT 4.0 support is missing from PDK 3.0.h) Have multiple extension sections in the bld.inf, one for each version of the compiler. The RVCT version building the tools will build the runtime libraries for its version, but make sure we extract all the other versions from zip archives. Also add the archive for RVCT4.

// Copyright (c) 1997-2009 Nokia Corporation and/or its subsidiary(-ies).
// 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:
// Nokia Corporation - initial contribution.
//
// Contributors:
//
// Description:
// e32/kernel/kern_int.mmh
// 
//

#if defined(WINS)
#define MM_WIN32
#elif defined(MM_DIRECT)
#elif defined(MM_MULTIPLE)
#elif defined(MM_FLEXIBLE)
#else
#define MM_MOVING
#endif

#ifdef SMP

// Don't build export libraries for SMP since, with the exception of the kernel,
// they would be identical to the non-SMP ones.
noexportlibrary
#endif

#ifdef SMP
#include "../nkernsmp/nkern_int.mmh"
#else
#include "../nkern/nkern_int.mmh"
#endif

#if defined(MM_WIN32)
macro			__MEMMODEL_EMUL_SINGLE_HOST_PROCESS__
#elif defined(MM_DIRECT)
macro			__MEMMODEL_DIRECT__
#elif defined(MM_MULTIPLE)
macro			__MEMMODEL_MULTIPLE__
#elif defined(MM_FLEXIBLE)
macro			__MEMMODEL_FLEXIBLE__
#elif defined(MM_MOVING)
macro			__MEMMODEL_MOVING__
#endif

#if defined(MM_FLEXIBLE)
#define DEMAND_PAGING
#elif defined(MM_MULTIPLE) && defined(MARM)
#define DEMAND_PAGING
#elif defined(MM_MOVING) && defined(MARM)
#define DEMAND_PAGING
#endif

#if defined(DEMAND_PAGING) && defined(DEMAND_PAGING_EMULATION)
macro __SUPPORT_DEMAND_PAGING_EMULATION__
#endif

#if defined(DEMAND_PAGING) && defined(DEMAND_PAGING_BENCHMARKS)
macro __DEMAND_PAGING_BENCHMARKS__
#endif

#ifdef SYMBIAN_OLD_EXPORT_LOCATION
systeminclude		../include/kernel
#endif
USERINCLUDE		../include/kernel

#if defined(MARM)
#ifdef SYMBIAN_OLD_EXPORT_LOCATION
systeminclude		../include/kernel/arm
#endif
SYMBIAN_BASE_SYSTEMINCLUDE(kernel/arm)
#elif defined(X86)
#ifdef SYMBIAN_OLD_EXPORT_LOCATION
systeminclude		../include/kernel/x86
#endif
SYMBIAN_BASE_SYSTEMINCLUDE(kernel/x86)
#elif defined(WINS)
#ifdef SYMBIAN_OLD_EXPORT_LOCATION
systeminclude		../include/kernel/win32
#endif
SYMBIAN_BASE_SYSTEMINCLUDE(kernel/win32)
userinclude			../include/kernel/win32
#endif


#if defined(MM_MOVING)
SYSTEMINCLUDE		../include/memmodel/epoc
SYSTEMINCLUDE		../include/memmodel/epoc/mmubase
SYSTEMINCLUDE		../include/memmodel/epoc/moving

#ifdef MARM
SYSTEMINCLUDE		../include/memmodel/epoc/moving/arm
#endif

#elif defined(MM_DIRECT)
SYSTEMINCLUDE		../include/memmodel/epoc
SYSTEMINCLUDE		../include/memmodel/epoc/direct

#ifdef MARM
SYSTEMINCLUDE		../include/memmodel/epoc/direct/arm
#endif
#ifdef X86
SYSTEMINCLUDE		../include/memmodel/epoc/direct/x86
#endif

#elif defined(MM_MULTIPLE)
SYMBIAN_BASE_SYSTEMINCLUDE(memmodel/epoc/multiple)
SYSTEMINCLUDE		../include/memmodel/epoc
SYSTEMINCLUDE		../include/memmodel/epoc/mmubase
SYSTEMINCLUDE		../include/memmodel/epoc/multiple

#ifdef MARM
SYMBIAN_BASE_SYSTEMINCLUDE(memmodel/epoc/multiple/arm)
SYSTEMINCLUDE		../include/memmodel/epoc/multiple/arm
#endif
#ifdef X86
SYMBIAN_BASE_SYSTEMINCLUDE(memmodel/epoc/multiple/x86)
SYSTEMINCLUDE		../include/memmodel/epoc/multiple/x86
#endif

#elif defined(MM_FLEXIBLE)
macro __KERNEL_APIS_CONTEXT_CHECKS_FAULT__

SYSTEMINCLUDE		../include/memmodel/epoc
SYSTEMINCLUDE		../include/memmodel/epoc/mmubase
SYSTEMINCLUDE		../include/memmodel/epoc/flexible

#ifdef MARM
SYSTEMINCLUDE		../include/memmodel/epoc/flexible/arm
#endif
#ifdef X86
SYSTEMINCLUDE		../include/memmodel/epoc/flexible/x86
#endif

#elif defined(MM_WIN32)
SYMBIAN_BASE_SYSTEMINCLUDE(memmodel/emul)
SYSTEMINCLUDE		../include/memmodel/emul
SYSTEMINCLUDE		../include/memmodel/emul/win32
#endif

#ifdef INCLUDE_EKERN_LIB
#ifdef SMP
library ekernsmp.lib
#else
library ekern.lib
#endif
#endif

OS_LAYER_SYSTEMINCLUDE_SYMBIAN

macro __KERNEL_APIS_CONTEXT_CHECKS_WARNING__
//macro __KERNEL_APIS_CONTEXT_CHECKS_FAULT__