SVN commit 1037699 by mjansen: Use SOPRANO_LIB_SUFFIX (=LIB_SUFFIX) to decide where to look for plugins and libraries. It makes no sense to look into 'lib' and 'lib64'. A system needing that is broken.
CCMAIL:[email protected] CCMAIL:[email protected] M +3 -2 pluginmanager.cpp M +20 -13 sopranodirs.cpp --- trunk/kdesupport/soprano/soprano/pluginmanager.cpp #1037698:1037699 @@ -40,10 +40,10 @@ QString findPluginLib( const Soprano::SopranoPluginFile& file ) { QStringList fileSearchPaths; // the folder the plugin file is in - fileSearchPaths << file.fileName().section( '/', 0, -2, QString::SectionIncludeTrailingSep ); + fileSearchPaths << file.fileName().section( '/', 0, -2 ); #ifndef Q_OS_WIN // the lib folder in the same prefix - fileSearchPaths << file.fileName().section( "/", 0, -5, QString::SectionIncludeTrailingSep ) + QLatin1String( "lib" ); + fileSearchPaths << file.fileName().section( "/", 0, -5, QString::SectionIncludeTrailingSep ) + QLatin1String( "lib"SOPRANO_LIB_SUFFIX ); #endif return Soprano::findLibraryPath( file.library(), fileSearchPaths, QStringList() << QLatin1String( "soprano" ) ); } @@ -287,6 +287,7 @@ void Soprano::PluginManager::loadPlugin( const QString& path ) { SopranoPluginFile f; +// qDebug() << path; if ( f.open( path ) ) { // qDebug() << "(Soprano::PluginManager) found plugin file" << path; if ( f.sopranoVersion().left( f.sopranoVersion().indexOf( '.' ) ).toUInt() == Soprano::versionMajor() ) { --- trunk/kdesupport/soprano/soprano/sopranodirs.cpp #1037698:1037699 @@ -70,11 +70,11 @@ // paths to search for libs QStringList dirs = libDirs() + extraDirs; - // suffixes to search - QStringList suffixes; - suffixes << QLatin1String( SOPRANO_LIB_SUFFIX"/" ) - << QString( '/' ) - << QLatin1String( "64/" ); +#ifndef NDEBUG + foreach( const QString& dir, dirs ) { + Q_ASSERT(!dir.endsWith('/')); + } +#endif // subdirs to search QStringList subDirs; @@ -87,6 +87,15 @@ // we add the empty string to be able to handle all in one loop below subDirs << QString(); +#ifndef NDEBUG + foreach( const QString& dir, subDirs ) { + if (!dir.isEmpty()) { + Q_ASSERT(dir.endsWith('/')); + Q_ASSERT(!dir.startsWith('/')); + } + } +#endif + QStringList libs = makeLibNames( libName ); Q_FOREACH( const QString& lib, libs ) { if ( lib.startsWith( '/' ) ) { @@ -97,11 +106,9 @@ else { foreach( const QString& dir, dirs ) { foreach( const QString& subDir, subDirs ) { - foreach( const QString& suffix, suffixes ) { - QFileInfo fi( dir + suffix + subDir + lib ); - if ( fi.isFile() ) { - return fi.absoluteFilePath(); - } + QFileInfo fi( dir + '/' + subDir + lib ); + if ( fi.isFile() ) { + return fi.absoluteFilePath(); } } } @@ -128,12 +135,12 @@ QStringList Soprano::libDirs() { QStringList paths = QCoreApplication::libraryPaths(); - paths << QLatin1String( SOPRANO_PREFIX"/lib" ); + paths << QLatin1String( SOPRANO_PREFIX"/lib"SOPRANO_LIB_SUFFIX ); #ifdef Q_OS_WIN paths << QLatin1String( SOPRANO_PREFIX"/bin" ); #else - paths << QLatin1String( "/usr/lib" ); - paths << QLatin1String( "/usr/local/lib" ); + paths << QLatin1String( "/usr/lib"SOPRANO_LIB_SUFFIX ); + paths << QLatin1String( "/usr/local/lib"SOPRANO_LIB_SUFFIX ); paths += Soprano::envDirList( "LD_LIBRARY_PATH" ); #endif return paths; _______________________________________________ Kde-buildsystem mailing list [email protected] https://mail.kde.org/mailman/listinfo/kde-buildsystem
