From: <ai...@us...> - 2011-11-24 21:33:59
|
Revision: 12041 http://plplot.svn.sourceforge.net/plplot/?rev=12041&view=rev Author: airwin Date: 2011-11-24 21:33:53 +0000 (Thu, 24 Nov 2011) Log Message: ----------- Implement NON_TRANSITIVE case for the Ada bindings. When obvious false positives were discounted, ldd -u showed perfect results for the Ada examples in both the build tree and "traditional" installed examples tree (that was built and tested with make and pkg-config). Build and run tests in the build tree and traditional installed examples tree produced results without obvious errors on Debian stable. However, the latest Linux distributions such as Fedora or Debian unstable have a linker that enforces linking rules much more stringently than Debian stable so additional tests (and likely some fixes) are required before -DNON_TRANSITIVE=ON will work for Ada on those platforms. Modified Paths: -------------- trunk/bindings/ada/CMakeLists.txt Modified: trunk/bindings/ada/CMakeLists.txt =================================================================== --- trunk/bindings/ada/CMakeLists.txt 2011-11-24 21:17:46 UTC (rev 12040) +++ trunk/bindings/ada/CMakeLists.txt 2011-11-24 21:33:53 UTC (rev 12041) @@ -56,6 +56,17 @@ add_library(plplotada${LIB_TAG} ${plplotada${LIB_TAG}_LIB_SRCS}) + if(NON_TRANSITIVE) + # empty list ==> non-transitive linking for everything that links to + # libplplotadad in the shared libraries case. + target_link_libraries(plplotada${LIB_TAG} LINK_INTERFACE_LIBRARIES) + # This configures the pkg-config method to use non-transitive linking. + set(PC_REQUIRES_TAG "Requires.private") + else(NON_TRANSITIVE) + # This configures the pkg-config method to use transitive linking + set(PC_REQUIRES_TAG "Requires") + endif(NON_TRANSITIVE) + # Work around an issue in our CMake Ada language # support for MinGW/Windows. FIXME. This issue should be fixed # at the Ada language support level and not worked around here. This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |