00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025 #include <eyedbconfig.h>
00026
00027 #include <eyedb/eyedb.h>
00028 #include "lib/compile_builtin.h"
00029
00030 namespace eyedb {
00031
00032 static Architecture *arch_;
00033
00034 void Architecture::init()
00035 {
00036 arch_ = new Architecture(eyedblib::CompileBuiltin::getArch(),
00037 eyedblib::CompileBuiltin::getCpu(),
00038 eyedblib::CompileBuiltin::getOs(),
00039 eyedblib::CompileBuiltin::getCompiler(),
00040 #ifdef WORDS_BIGENDIAN
00041 true
00042 #else
00043 false
00044 #endif
00045 );
00046 }
00047
00048 void Architecture::_release()
00049 {
00050 delete arch_;
00051 }
00052
00053 Architecture *Architecture::getArchitecture()
00054 {
00055 if (!arch_)
00056 init();
00057 return arch_;
00058 }
00059 }