-rw-r--r-- | qmake/tools/qlibrary.cpp | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/qmake/tools/qlibrary.cpp b/qmake/tools/qlibrary.cpp index 564db30..be1d54b 100644 --- a/qmake/tools/qlibrary.cpp +++ b/qmake/tools/qlibrary.cpp | |||
@@ -1,20 +1,20 @@ | |||
1 | /**************************************************************************** | 1 | /**************************************************************************** |
2 | ** $Id$ | 2 | ** $Id$ |
3 | ** | 3 | ** |
4 | ** Implementation of QLibrary class | 4 | ** Implementation of QLibrary class |
5 | ** | 5 | ** |
6 | ** Created : 2000-01-01 | 6 | ** Created : 000101 |
7 | ** | 7 | ** |
8 | ** Copyright (C) 2000-2002 Trolltech AS. All rights reserved. | 8 | ** Copyright (C) 2000-2003 Trolltech AS. All rights reserved. |
9 | ** | 9 | ** |
10 | ** This file is part of the tools module of the Qt GUI Toolkit. | 10 | ** This file is part of the tools module of the Qt GUI Toolkit. |
11 | ** | 11 | ** |
12 | ** This file may be distributed under the terms of the Q Public License | 12 | ** This file may be distributed under the terms of the Q Public License |
13 | ** as defined by Trolltech AS of Norway and appearing in the file | 13 | ** as defined by Trolltech AS of Norway and appearing in the file |
14 | ** LICENSE.QPL included in the packaging of this file. | 14 | ** LICENSE.QPL included in the packaging of this file. |
15 | ** | 15 | ** |
16 | ** This file may be distributed and/or modified under the terms of the | 16 | ** This file may be distributed and/or modified under the terms of the |
17 | ** GNU General Public License version 2 as published by the Free Software | 17 | ** GNU General Public License version 2 as published by the Free Software |
18 | ** Foundation and appearing in the file LICENSE.GPL included in the | 18 | ** Foundation and appearing in the file LICENSE.GPL included in the |
19 | ** packaging of this file. | 19 | ** packaging of this file. |
20 | ** | 20 | ** |
@@ -62,25 +62,25 @@ | |||
62 | QLibraryPrivate::QLibraryPrivate( QLibrary *lib ) | 62 | QLibraryPrivate::QLibraryPrivate( QLibrary *lib ) |
63 | : pHnd( 0 ), library( lib ) | 63 | : pHnd( 0 ), library( lib ) |
64 | { | 64 | { |
65 | } | 65 | } |
66 | 66 | ||
67 | 67 | ||
68 | /*! | 68 | /*! |
69 | \class QLibrary qlibrary.h | 69 | \class QLibrary qlibrary.h |
70 | \reentrant | 70 | \reentrant |
71 | \brief The QLibrary class provides a wrapper for handling shared libraries. | 71 | \brief The QLibrary class provides a wrapper for handling shared libraries. |
72 | 72 | ||
73 | \mainclass | 73 | \mainclass |
74 | \group plugins | 74 | \ingroup plugins |
75 | 75 | ||
76 | An instance of a QLibrary object can handle a single shared | 76 | An instance of a QLibrary object can handle a single shared |
77 | library and provide access to the functionality in the library in | 77 | library and provide access to the functionality in the library in |
78 | a platform independent way. If the library is a component server, | 78 | a platform independent way. If the library is a component server, |
79 | QLibrary provides access to the exported component and can | 79 | QLibrary provides access to the exported component and can |
80 | directly query this component for interfaces. | 80 | directly query this component for interfaces. |
81 | 81 | ||
82 | QLibrary ensures that the shared library is loaded and stays in | 82 | QLibrary ensures that the shared library is loaded and stays in |
83 | memory whilst it is in use. QLibrary can also unload the library | 83 | memory whilst it is in use. QLibrary can also unload the library |
84 | on destruction and release unused resources. | 84 | on destruction and release unused resources. |
85 | 85 | ||
86 | A typical use of QLibrary is to resolve an exported symbol in a | 86 | A typical use of QLibrary is to resolve an exported symbol in a |
@@ -317,27 +317,28 @@ QString QLibrary::library() const | |||
317 | if ( libfile.isEmpty() ) | 317 | if ( libfile.isEmpty() ) |
318 | return libfile; | 318 | return libfile; |
319 | 319 | ||
320 | QString filename = libfile; | 320 | QString filename = libfile; |
321 | 321 | ||
322 | #if defined(Q_WS_WIN) | 322 | #if defined(Q_WS_WIN) |
323 | if ( filename.findRev( '.' ) <= filename.findRev( '/' ) ) | 323 | if ( filename.findRev( '.' ) <= filename.findRev( '/' ) ) |
324 | filename += ".dll"; | 324 | filename += ".dll"; |
325 | #elif defined(Q_OS_MACX) | 325 | #elif defined(Q_OS_MACX) |
326 | if ( filename.find( ".dylib" ) == -1 ) | 326 | if ( filename.find( ".dylib" ) == -1 ) |
327 | filename += ".dylib"; | 327 | filename += ".dylib"; |
328 | #else | 328 | #else |
329 | if ( filename.find( ".so" ) == -1 ) { | 329 | QString filter = ".so"; |
330 | if ( filename.find(filter) == -1 ) { | ||
330 | const int x = filename.findRev( "/" ); | 331 | const int x = filename.findRev( "/" ); |
331 | if ( x != -1 ) { | 332 | if ( x != -1 ) { |
332 | QString path = filename.left( x + 1 ); | 333 | QString path = filename.left( x + 1 ); |
333 | QString file = filename.right( filename.length() - x - 1 ); | 334 | QString file = filename.right( filename.length() - x - 1 ); |
334 | filename = QString( "%1lib%2.so" ).arg( path ).arg( file ); | 335 | filename = QString( "%1lib%2.%3" ).arg( path ).arg( file ).arg( filter ); |
335 | } else { | 336 | } else { |
336 | filename = QString( "lib%1.so" ).arg( filename ); | 337 | filename = QString( "lib%1.%2" ).arg( filename ).arg( filter ); |
337 | } | 338 | } |
338 | } | 339 | } |
339 | #endif | 340 | #endif |
340 | 341 | ||
341 | return filename; | 342 | return filename; |
342 | } | 343 | } |
343 | #endif //QT_NO_LIBRARY | 344 | #endif //QT_NO_LIBRARY |