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 #ifndef OSCL_RELEASE_BUILD
00032 #ifdef NDEBUG
00033 #define OSCL_RELEASE_BUILD 1
00034 #else
00035 #define OSCL_RELEASE_BUILD 0
00036 #endif
00037 #endif
00038 
00039 #ifndef PVLOGGER_INST_LEVEL
00040 #if (OSCL_RELEASE_BUILD)
00041 //Release mode logging - should be kept minimum
00042 #define PVLOGGER_INST_LEVEL 2
00043 #else
00044 //full logging
00045 #define PVLOGGER_INST_LEVEL 5
00046 #endif
00047 #endif
00048 
00049 // include common unix definitions
00050 #include "osclconfig_unix_android.h"
00051 
00052 // define the suffix for unsigned constants
00053 #define OSCL_UNSIGNED_CONST(x) x##u
00054 
00055 // override the common definition for
00056 #undef OSCL_NATIVE_UINT64_TYPE
00057 #define OSCL_NATIVE_UINT64_TYPE    u_int64_t
00058 
00059 // include the definitions for the processor
00060 #include "osclconfig_ix86.h"
00061 
00062 // the syntax for explicitly calling the destructor varies on some platforms
00063 // below is the default syntax as defined by another ARM project
00064 #define OSCL_TEMPLATED_DESTRUCTOR_CALL(type,simple_type) ~type ()
00065 
00066 
00067 /* The __TFS__ macro is used to optionally expand to "<>" depending on the
00068  * compiler.  Some compilers require it to indicate that the friend function
00069  * is a template function as specified in the standard, but others don't
00070  * like it so it will handled with a macro expansion that depends on the
00071  * compiler.
00072  */
00073 #define __TFS__ <>
00074 
00075 #define OSCL_HAS_PRAGMA_PACK 0
00076 #define OSCL_HAS_PACKED_STRUCT 1
00077 #define OSCL_PACKED_VAR(x)  x __attribute__((packed))
00078 #define OSCL_PACKED_STRUCT_BEGIN
00079 #define OSCL_PACKED_STRUCT_END  __attribute__((packed))
00080 
00081 //set this to 1 to enable OSCL_ASSERT in release builds.
00082 #define OSCL_ASSERT_ALWAYS 0
00083 
00084 
00085 // check all osclconfig required macros are defined
00086 #include "osclconfig_check.h"
00087 
00088 #endif

OSCL API
Posting Version: CORE_8.508.1.1