|
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.
|