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