From: <ai...@us...> - 2010-12-13 01:22:06
|
Revision: 11369 http://plplot.svn.sourceforge.net/plplot/?rev=11369&view=rev Author: airwin Date: 2010-12-13 01:22:00 +0000 (Mon, 13 Dec 2010) Log Message: ----------- Work around an Ada language support issue on Windows. This workaround (suggested by one of our users in his bug report 3081443) works for me on my MinGW/MSYS/wine platform. However, in the long term a more fundamental fix of our Ada language support should be done to take care of this issue. Modified Paths: -------------- trunk/bindings/ada/CMakeLists.txt Modified: trunk/bindings/ada/CMakeLists.txt =================================================================== --- trunk/bindings/ada/CMakeLists.txt 2010-12-12 06:54:25 UTC (rev 11368) +++ trunk/bindings/ada/CMakeLists.txt 2010-12-13 01:22:00 UTC (rev 11369) @@ -56,6 +56,19 @@ add_library(plplotada${LIB_TAG} ${plplotada${LIB_TAG}_LIB_SRCS}) + # 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. + if(WIN32 AND NOT CYGWIN) + add_custom_command( + TARGET plplotada${LIB_TAG} POST_BUILD + COMMAND ${CMAKE_COMMAND} -E copy_if_different + libplplotadad.dll libplplotadad.dll.a + WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/dll + VERBATIM + ) + endif(WIN32 AND NOT CYGWIN) + target_link_libraries(plplotada${LIB_TAG} plplot${LIB_TAG} ${GNAT_LIB} ) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
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. |
From: <ai...@us...> - 2014-01-22 09:03:09
|
Revision: 12947 http://sourceforge.net/p/plplot/code/12947 Author: airwin Date: 2014-01-22 09:03:05 +0000 (Wed, 22 Jan 2014) Log Message: ----------- For the MinGW case, install the *.o files that are created by the plplotada library build. This installation is not required on Linux, and even for the MinGW case gnatmake does not require these *.o files to be installed in order to build the installed Ada examples, but when those built examples are run, they immediately fail with a return code of 3 unless these *.o files are installed. Therefore, I am pretty sure this is a workaround for a MinGW gnatmake issue. Modified Paths: -------------- trunk/bindings/ada/CMakeLists.txt Modified: trunk/bindings/ada/CMakeLists.txt =================================================================== --- trunk/bindings/ada/CMakeLists.txt 2014-01-21 09:10:25 UTC (rev 12946) +++ trunk/bindings/ada/CMakeLists.txt 2014-01-22 09:03:05 UTC (rev 12947) @@ -47,6 +47,22 @@ ${ALI_PREFIX}/plplot_auxiliary.ali ) + # I am pretty sure this is a workaround for a MinGW gnatmake bug + # since the installation of these files is not needed for Linux. + # However, without this workaround the standard examples build on + # MinGW/MSYS platforms without problems (so gnatmake is happy if the + # *.o files are not installed which is another indication we are + # dealing with a bug here), but at run-time the ada examples + # immediately return with a return code of 3. + if(MINGW) + list(APPEND ALI_LIST + ${ALI_PREFIX}/plplot.o + ${ALI_PREFIX}/plplot_thin.o + ${ALI_PREFIX}/plplot_traditional.o + ${ALI_PREFIX}/plplot_auxiliary.o + ) + endif(MINGW) + set(plplotada${LIB_TAG}_LIB_SRCS) foreach(SOURCE_FILE ${SOURCE_LIST}) list(APPEND plplotada${LIB_TAG}_LIB_SRCS @@ -107,7 +123,7 @@ ) # Permissions of *.ali files in accordance with - # http://www.ada-france.org/debian/debian-ada-policy.html + # http://people.debian.org/~lbrenta/debian-ada-policy.html install(FILES ${ALI_LIST} DESTINATION ${ADA_LIB_DIR} PERMISSIONS OWNER_READ GROUP_READ WORLD_READ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ai...@us...> - 2014-03-18 02:55:23
|
Revision: 13082 http://sourceforge.net/p/plplot/code/13082 Author: airwin Date: 2014-03-18 02:55:19 +0000 (Tue, 18 Mar 2014) Log Message: ----------- Replace "d" by ${LIB_TAG} as appropriate so that new scheme with empty LIB_TAG works properly. This issue only affected the Windows case. Modified Paths: -------------- trunk/bindings/ada/CMakeLists.txt Modified: trunk/bindings/ada/CMakeLists.txt =================================================================== --- trunk/bindings/ada/CMakeLists.txt 2014-03-17 19:56:51 UTC (rev 13081) +++ trunk/bindings/ada/CMakeLists.txt 2014-03-18 02:55:19 UTC (rev 13082) @@ -74,7 +74,7 @@ if(NON_TRANSITIVE) # empty list ==> non-transitive linking for everything that links to - # libplplotadad in the shared libraries case. + # libplplotada${LIB_TAG} 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") @@ -90,7 +90,7 @@ add_custom_command( TARGET plplotada${LIB_TAG} POST_BUILD COMMAND ${CMAKE_COMMAND} -E copy_if_different - libplplotadad.dll libplplotadad.dll.a + libplplotada${LIB_TAG}.dll libplplotada${LIB_TAG}.dll.a WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/dll VERBATIM ) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |