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