Main Page   Modules   Class Hierarchy   Data Structures   File List   Data Fields   Globals   Related Pages  

osclconfig.h

Go to the documentation of this file.
00001 // -*- c++ -*-
00002 // = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
00003 
00004 //     O S C L C O N F I G   ( P L A T F O R M   C O N F I G   I N F O )
00005 
00006 // = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
00007 
00008 
00014 #ifndef OSCLCONFIG_H_INCLUDED
00015 #define OSCLCONFIG_H_INCLUDED
00016 
00017 // system includes for dynamic registry
00018 #include <dirent.h>
00019 #include <dlfcn.h>
00020 
00021 #define OSCL_HAS_ANDROID_SUPPORT 1
00022 #define OSCL_HAS_ANDROID_FILE_IO_SUPPORT 1
00023 
00024 #define OSCL_EXPORT_REF __attribute__ ((visibility("default")))
00025 #define OSCL_IMPORT_REF __attribute__ ((visibility("default")))
00026 
00027 // include common include for determining sizes from limits.h
00028 #include "osclconfig_limits_typedefs.h"
00029 
00030 //This switch turns off some profiling and debug settings
00031 #ifdef NDEBUG
00032 #define OSCL_RELEASE_BUILD 1
00033 #else
00034 #define OSCL_RELEASE_BUILD 0
00035 #endif
00036 
00037 #ifndef PVLOGGER_INST_LEVEL
00038 #if defined(NDEBUG)
00039 //Release mode logging - should be kept minimum
00040 #define PVLOGGER_INST_LEVEL 1
00041 #else
00042 //full logging
00043 #define PVLOGGER_INST_LEVEL 5
00044 #endif
00045 #endif
00046 
00047 // include common unix definitions
00048 #include "osclconfig_unix_android.h"
00049 
00050 // define the suffix for unsigned constants
00051 #define OSCL_UNSIGNED_CONST(x) x##u
00052 
00053 // override the common definition for
00054 #undef OSCL_NATIVE_UINT64_TYPE
00055 #define OSCL_NATIVE_UINT64_TYPE    u_int64_t
00056 
00057 // include the definitions for the processor
00058 #include "osclconfig_ix86.h"
00059 
00060 // the syntax for explicitly calling the destructor varies on some platforms
00061 // below is the default syntax as defined by another ARM project
00062 #define OSCL_TEMPLATED_DESTRUCTOR_CALL(type,simple_type) ~type ()
00063 
00064 
00065 /* The __TFS__ macro is used to optionally expand to "<>" depending on the
00066  * compiler.  Some compilers require it to indicate that the friend function
00067  * is a template function as specified in the standard, but others don't
00068  * like it so it will handled with a macro expansion that depends on the
00069  * compiler.
00070  */
00071 #define __TFS__ <>
00072 
00073 #define OSCL_HAS_PRAGMA_PACK 0
00074 #define OSCL_HAS_PACKED_STRUCT 1
00075 #define OSCL_PACKED_VAR(x)  x __attribute__((packed))
00076 #define OSCL_PACKED_STRUCT_BEGIN
00077 #define OSCL_PACKED_STRUCT_END  __attribute__((packed))
00078 
00079 //set this to 1 to enable OSCL_ASSERT in release builds.
00080 #define OSCL_ASSERT_ALWAYS 0
00081 
00082 
00083 // check all osclconfig required macros are defined
00084 #include "osclconfig_check.h"
00085 
00086 #endif

OSCL API
Posting Version: CORE_8.000.1.1_RC4