Changeset 2650
- Timestamp:
- 11/11/16 02:49:40 (7 years ago)
- Files:
-
- trunk/libffado/SConstruct (modified) (2 diffs)
- trunk/libffado/src/libutil/serialize_libxml.cpp (modified) (10 diffs)
- trunk/libffado/src/libutil/serialize_libxml.h (modified) (1 diff)
- trunk/libffado/src/SConscript (modified) (1 diff)
- trunk/libffado/support/dbus/SConscript (modified) (1 diff)
- trunk/libffado/support/firmware/SConscript (modified) (1 diff)
- trunk/libffado/support/tools/SConscript (modified) (1 diff)
- trunk/libffado/tests/SConscript (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/libffado/SConstruct
r2628 r2650 277 277 278 278 if not env['SERIALIZE_USE_EXPAT']: 279 pkgs['libxml++-2.6'] = '2.13.0' 279 if conf.CheckPKG('libxml++-3.0'): 280 pkgs['libxml++-3.0'] = '3.0.0' 281 if not('libxml++-3.0' in pkgs): 282 pkgs['libxml++-2.6'] = '2.13.0' 280 283 281 284 # Provide a way for users to compile newer libffado which will work … … 359 362 if conf.CheckPKG('libxml++-2.6 >= 2.39.1'): 360 363 env.Append(CXXFLAGS = '-std=gnu++11') 364 if conf.CheckPKG('libxml++-3.0 >= 3.0.0'): 365 env.Append(CXXFLAGS = '-std=gnu++11') 361 366 362 367 # Check for C99 lrint() and lrintf() functions used to convert from trunk/libffado/src/libutil/serialize_libxml.cpp
r1763 r2650 76 76 Util::XMLSerialize::writeVersion() 77 77 { 78 #if LIBXMLXX_MAJOR_VERSION == 3 79 xmlpp::Element* pElem = m_doc.get_root_node()->add_child_element( "CacheVersion" ); 80 #else 78 81 xmlpp::Node* pNode = m_doc.get_root_node(); 79 82 xmlpp::Element* pElem = pNode->add_child( "CacheVersion" ); 83 #endif 80 84 char* valstr; 81 85 asprintf( &valstr, "%s", CACHE_VERSION ); 86 #if LIBXMLXX_MAJOR_VERSION == 3 87 pElem->set_first_child_text( valstr ); 88 #else 82 89 pElem->set_child_text( valstr ); 90 #endif 83 91 free( valstr ); 84 92 } … … 100 108 } 101 109 102 xmlpp:: Node* pNode = m_doc.get_root_node();110 xmlpp::Element* pNode = m_doc.get_root_node(); 103 111 pNode = getNodePath( pNode, tokens ); 104 112 105 113 // element to be added 114 #if LIBXMLXX_MAJOR_VERSION == 3 115 xmlpp::Element* pElem = pNode->add_child_element( tokens[tokens.size() - 1] ); 116 #else 106 117 xmlpp::Element* pElem = pNode->add_child( tokens[tokens.size() - 1] ); 118 #endif 107 119 char* valstr; 108 120 asprintf( &valstr, "%lld", value ); 121 #if LIBXMLXX_MAJOR_VERSION == 3 122 pElem->set_first_child_text( valstr ); 123 #else 109 124 pElem->set_child_text( valstr ); 125 #endif 110 126 free( valstr ); 111 127 … … 128 144 } 129 145 130 xmlpp:: Node* pNode = m_doc.get_root_node();146 xmlpp::Element* pNode = m_doc.get_root_node(); 131 147 pNode = getNodePath( pNode, tokens ); 132 148 133 149 // element to be added 150 #if LIBXMLXX_MAJOR_VERSION == 3 151 xmlpp::Element* pElem = pNode->add_child_element( tokens[tokens.size() - 1] ); 152 pElem->set_first_child_text( str ); 153 #else 134 154 xmlpp::Element* pElem = pNode->add_child( tokens[tokens.size() - 1] ); 135 155 pElem->set_child_text( str ); 156 #endif 136 157 137 158 return true; 138 159 } 139 160 140 xmlpp:: Node*141 Util::XMLSerialize::getNodePath( xmlpp:: Node* pRootNode,161 xmlpp::Element* 162 Util::XMLSerialize::getNodePath( xmlpp::Element* pRootNode, 142 163 std::vector<string>& tokens ) 143 164 { … … 150 171 151 172 unsigned int iTokenIdx = 0; 152 xmlpp:: Node* pCurNode = pRootNode;173 xmlpp::Element* pCurNode = pRootNode; 153 174 for (bool bFound = false; 154 175 ( iTokenIdx < tokens.size() - 1 ); … … 161 182 { 162 183 if ( ( *it )->get_name() == tokens[iTokenIdx] ) { 163 pCurNode = *it;184 pCurNode = (xmlpp::Element*) *it; 164 185 bFound = true; 165 186 break; … … 172 193 173 194 for ( unsigned int i = iTokenIdx; i < tokens.size() - 1; i++, iTokenIdx++ ) { 195 #if LIBXMLXX_MAJOR_VERSION == 3 196 pCurNode = pCurNode->add_child_element( tokens[iTokenIdx] ); 197 #else 174 198 pCurNode = pCurNode->add_child( tokens[iTokenIdx] ); 199 #endif 175 200 } 176 201 return pCurNode; … … 255 280 debugOutput( DEBUG_LEVEL_VERY_VERBOSE, "pNode = %s\n", pNode->get_name().c_str() ); 256 281 282 #if LIBXMLXX_MAJOR_VERSION == 3 283 xmlpp::Node::NodeSet nodeSet = pNode->find( strMemberName ); 284 for ( xmlpp::Node::NodeSet::iterator it = nodeSet.begin(); 285 it != nodeSet.end(); 286 ++it ) 287 #else 257 288 xmlpp::NodeSet nodeSet = pNode->find( strMemberName ); 258 289 for ( xmlpp::NodeSet::iterator it = nodeSet.begin(); 259 290 it != nodeSet.end(); 260 291 ++it ) 292 #endif 261 293 { 262 294 const xmlpp::Element* pElement = … … 264 296 if ( pElement && pElement->has_child_text() ) { 265 297 char* tail; 298 #if LIBXMLXX_MAJOR_VERSION == 3 299 value = strtoll( pElement->get_first_child_text()->get_content().c_str(), 300 &tail, 0 ); 301 #else 266 302 value = strtoll( pElement->get_child_text()->get_content().c_str(), 267 303 &tail, 0 ); 304 #endif 268 305 debugOutput( DEBUG_LEVEL_VERY_VERBOSE, "found %s = %lld\n", 269 306 strMemberName.c_str(), value ); … … 291 328 xmlpp::Node* pNode = pDoc->get_root_node(); 292 329 330 #if LIBXMLXX_MAJOR_VERSION == 3 331 xmlpp::Node::NodeSet nodeSet = pNode->find( strMemberName ); 332 for ( xmlpp::Node::NodeSet::iterator it = nodeSet.begin(); 333 it != nodeSet.end(); 334 ++it ) 335 #else 293 336 xmlpp::NodeSet nodeSet = pNode->find( strMemberName ); 294 337 for ( xmlpp::NodeSet::iterator it = nodeSet.begin(); 295 338 it != nodeSet.end(); 296 339 ++it ) 340 #endif 297 341 { 298 342 const xmlpp::Element* pElement = dynamic_cast< const xmlpp::Element* >( *it ); 299 343 if ( pElement ) { 300 344 if ( pElement->has_child_text() ) { 345 #if LIBXMLXX_MAJOR_VERSION == 3 346 str = pElement->get_first_child_text()->get_content(); 347 #else 301 348 str = pElement->get_child_text()->get_content(); 349 #endif 302 350 } else { 303 351 str = ""; … … 323 371 } 324 372 xmlpp::Node* pNode = pDoc->get_root_node(); 373 #if LIBXMLXX_MAJOR_VERSION == 3 374 xmlpp::Node::NodeSet nodeSet = pNode->find( strMemberName ); 375 #else 325 376 xmlpp::NodeSet nodeSet = pNode->find( strMemberName ); 377 #endif 326 378 return nodeSet.size() > 0; 327 379 } trunk/libffado/src/libutil/serialize_libxml.h
r1154 r2650 81 81 DECLARE_DEBUG_MODULE; 82 82 83 xmlpp:: Node* getNodePath( xmlpp::Node* pRootNode,83 xmlpp::Element* getNodePath( xmlpp::Element* pRootNode, 84 84 std::vector<std::string>& tokens ); 85 85 }; trunk/libffado/src/SConscript
r2590 r2650 289 289 libenv.MergeFlags( env['LIBCONFIG_FLAGS'] ) 290 290 if not env['SERIALIZE_USE_EXPAT']: 291 if 'LIBXML30_FLAGS' in env : 292 libenv.MergeFlags( env['LIBXML30_FLAGS'] ) 293 if not('LIBXML30_FLAGS' in env) : 291 294 libenv.MergeFlags( env['LIBXML26_FLAGS'] ) 292 295 else: trunk/libffado/support/dbus/SConscript
r2165 r2650 42 42 env.MergeFlags( env['LIBRAW1394_FLAGS'] ) 43 43 if not env['SERIALIZE_USE_EXPAT']: 44 env.MergeFlags( env['LIBXML26_FLAGS'] ) 44 if 'LIBXML30_FLAGS' in env : 45 env.MergeFlags( env['LIBXML30_FLAGS'] ) 46 if not('LIBXML30_FLAGS' in env) : 47 env.MergeFlags( env['LIBXML26_FLAGS'] ) 45 48 else: 46 49 env.PrependUnique( LIBS=["expat"] ) trunk/libffado/support/firmware/SConscript
r2089 r2650 34 34 env.MergeFlags( env['LIBIEC61883_FLAGS'] ) 35 35 if not env['SERIALIZE_USE_EXPAT']: 36 env.MergeFlags( env['LIBXML26_FLAGS'] ) 36 if 'LIBXML30_FLAGS' in env : 37 env.MergeFlags( env['LIBXML30_FLAGS'] ) 38 if not('LIBXML30_FLAGS' in env) : 39 env.MergeFlags( env['LIBXML26_FLAGS'] ) 37 40 else: 38 41 env.PrependUnique( LIBS=["expat"] ) trunk/libffado/support/tools/SConscript
r2321 r2650 34 34 if not e.GetOption( "clean" ): 35 35 if not env['SERIALIZE_USE_EXPAT']: 36 if 'LIBXML30_FLAGS' in env : 37 e.MergeFlags( env['LIBXML30_FLAGS'] ) 38 if not('LIBXML30_FLAGS' in env) : 36 39 e.MergeFlags( env['LIBXML26_FLAGS'] ) 37 40 else: trunk/libffado/tests/SConscript
r2141 r2650 33 33 env.MergeFlags( env['LIBRAW1394_FLAGS'] ) 34 34 if not env['SERIALIZE_USE_EXPAT']: 35 if 'LIBXML30_FLAGS' in env : 36 env.MergeFlags( env['LIBXML30_FLAGS'] ) 37 if not('LIBXML30_FLAGS' in env) : 35 38 env.MergeFlags( env['LIBXML26_FLAGS'] ) 36 39 else: