You can subscribe to this list here.
2000 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(33) |
Jun
|
Jul
(30) |
Aug
(2) |
Sep
|
Oct
(30) |
Nov
(136) |
Dec
(59) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2001 |
Jan
(255) |
Feb
(169) |
Mar
(322) |
Apr
(185) |
May
(33) |
Jun
(89) |
Jul
(47) |
Aug
(59) |
Sep
(40) |
Oct
(31) |
Nov
(74) |
Dec
(84) |
2002 |
Jan
(163) |
Feb
(78) |
Mar
(23) |
Apr
(5) |
May
(22) |
Jun
(75) |
Jul
(143) |
Aug
(48) |
Sep
(111) |
Oct
(58) |
Nov
(124) |
Dec
(278) |
2003 |
Jan
(106) |
Feb
(276) |
Mar
(354) |
Apr
(97) |
May
(14) |
Jun
(3) |
Jul
(7) |
Aug
(21) |
Sep
(83) |
Oct
(110) |
Nov
(3) |
Dec
(119) |
2004 |
Jan
(318) |
Feb
(409) |
Mar
(68) |
Apr
(23) |
May
(105) |
Jun
(147) |
Jul
(69) |
Aug
(53) |
Sep
(23) |
Oct
(14) |
Nov
(15) |
Dec
(63) |
2005 |
Jan
(146) |
Feb
(69) |
Mar
(157) |
Apr
(127) |
May
(166) |
Jun
(8) |
Jul
(5) |
Aug
(3) |
Sep
(8) |
Oct
(17) |
Nov
(29) |
Dec
(34) |
2006 |
Jan
(3) |
Feb
(4) |
Mar
(1) |
Apr
(70) |
May
(241) |
Jun
(82) |
Jul
(344) |
Aug
(196) |
Sep
(87) |
Oct
(57) |
Nov
(121) |
Dec
(86) |
2007 |
Jan
(60) |
Feb
(67) |
Mar
(102) |
Apr
(28) |
May
(13) |
Jun
(29) |
Jul
(38) |
Aug
(56) |
Sep
(91) |
Oct
(89) |
Nov
(50) |
Dec
(68) |
2008 |
Jan
(87) |
Feb
(47) |
Mar
(100) |
Apr
(34) |
May
(65) |
Jun
(54) |
Jul
(98) |
Aug
(128) |
Sep
(109) |
Oct
(141) |
Nov
(40) |
Dec
(206) |
2009 |
Jan
(176) |
Feb
(226) |
Mar
(134) |
Apr
(84) |
May
(152) |
Jun
(85) |
Jul
(91) |
Aug
(153) |
Sep
(141) |
Oct
(59) |
Nov
(87) |
Dec
(75) |
2010 |
Jan
(58) |
Feb
(41) |
Mar
(51) |
Apr
(74) |
May
(81) |
Jun
(39) |
Jul
(30) |
Aug
(43) |
Sep
(76) |
Oct
(59) |
Nov
(62) |
Dec
(52) |
2011 |
Jan
(125) |
Feb
(41) |
Mar
(96) |
Apr
(53) |
May
(21) |
Jun
(23) |
Jul
(48) |
Aug
(71) |
Sep
(37) |
Oct
(81) |
Nov
(60) |
Dec
(32) |
2012 |
Jan
(51) |
Feb
(23) |
Mar
|
Apr
(8) |
May
(2) |
Jun
|
Jul
(8) |
Aug
(25) |
Sep
(4) |
Oct
(32) |
Nov
(17) |
Dec
(2) |
2013 |
Jan
(8) |
Feb
(2) |
Mar
(9) |
Apr
(9) |
May
(37) |
Jun
(48) |
Jul
(63) |
Aug
(42) |
Sep
(59) |
Oct
(83) |
Nov
(141) |
Dec
(133) |
2014 |
Jan
(57) |
Feb
(58) |
Mar
(58) |
Apr
(25) |
May
(14) |
Jun
(3) |
Jul
(6) |
Aug
(1) |
Sep
|
Oct
|
Nov
|
Dec
|
From: <ai...@us...> - 2013-12-29 02:13:56
|
Revision: 12913 http://sourceforge.net/p/plplot/code/12913 Author: airwin Date: 2013-12-29 02:13:54 +0000 (Sun, 29 Dec 2013) Log Message: ----------- Check Tcl/Tk version consistency by implementing the following: * Determine Tcl version from tclsh * Determine Tcl version from library name (if that is possible) and WARN if it is not consistent with Tcl version from tclsh. * Determine Tk version from wish and confirm it is the same as the Tcl version from tclsh or else disable Tk. * Determine Tcl version from wish and confirm it is the same as the Tcl version from tclsh or else disable Tk. * Determine Tk version from tclsh and confirm it is the same as the Tk version from wish or else disable Tk. * Determine Tk version from library name (if that is possible) and confirm consistent with Tcl version from tclsh or else disable Tk. Tested by: Alan W. Irwin <ai...@us...> using various runs of cmake with wrong results locally imposed to test all the WARNING logic. Modified Paths: -------------- trunk/cmake/modules/tcl-related.cmake Modified: trunk/cmake/modules/tcl-related.cmake =================================================================== --- trunk/cmake/modules/tcl-related.cmake 2013-12-22 22:35:13 UTC (rev 12912) +++ trunk/cmake/modules/tcl-related.cmake 2013-12-29 02:13:54 UTC (rev 12913) @@ -71,7 +71,7 @@ message(STATUS "Start determining consistent system data for Tcl and friends") find_package(TclStub QUIET) if(TCL_FOUND) - message(STATUS "Looking for include paths and libraries for Tcl - found") + message(STATUS "Looking for Tcl - found") message(STATUS "TCL_INCLUDE_PATH = ${TCL_INCLUDE_PATH}") message(STATUS "TCL_LIBRARY = ${TCL_LIBRARY}") message(STATUS "TCL_STUB_LIBRARY = ${TCL_STUB_LIBRARY}") @@ -85,66 +85,117 @@ if(TCL_TCLSH) message(STATUS "Looking for tclsh - found") message(STATUS "TCL_TCLSH = ${TCL_TCLSH}") + if(NOT PLPLOT_TCL_VERSION) + file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/CheckTCL_VERSION.tcl "puts -nonewline [package require Tcl]; exit") + # Find Tcl version via tclsh or fail. + execute_process( + COMMAND ${TCL_TCLSH} ${CMAKE_CURRENT_BINARY_DIR}/CheckTCL_VERSION.tcl + RESULT_VARIABLE TCL_RC + OUTPUT_VARIABLE _plplot_tcl_version + ) + if(NOT TCL_RC) + message(STATUS "Looking for Tcl version with tclsh - found") + # Store result in cached variable so it will be remembered + # when cmake is re-run, but use type of STRING rather than + # INTERNAL to allow users to specify the value with a + # -DPLPLOT_TCL_VERSION:STRING=<whatever> on the command + # line for those rare cases when "package require Tcl" + # would error out due to some tclsh issue. + set(PLPLOT_TCL_VERSION ${_plplot_tcl_version} + CACHE STRING "Tcl version that is available" + ) + else(NOT TCL_RC) + message(STATUS "Looking for Tcl version with tclsh - not found") + message(STATUS "WARNING: setting ENABLE_tcl to OFF") + set(ENABLE_tcl OFF CACHE BOOL "Enable Tcl bindings" FORCE) + endif(NOT TCL_RC) + endif(NOT PLPLOT_TCL_VERSION) else(TCL_TCLSH) message(STATUS "Looking for tclsh - not found") + message(STATUS "WARNING: setting ENABLE_tcl to OFF") + set(ENABLE_tcl OFF CACHE BOOL "Enable Tcl bindings" FORCE) endif(TCL_TCLSH) else(TCL_FOUND) - message(STATUS "Looking for include paths and libraries for Tcl - not found") + message(STATUS "Looking for Tcl - not found") + message(STATUS "WARNING: setting ENABLE_tcl to OFF") + set(ENABLE_tcl OFF CACHE BOOL "Enable Tcl bindings" FORCE) endif(TCL_FOUND) +endif(ENABLE_tcl) - # Initially mark various quantities as as unfound in case that turns out to be the case. +if(ENABLE_tcl) + message(STATUS "PLPLOT_TCL_VERSION = ${PLPLOT_TCL_VERSION}") + + # Sanity checking of Tcl version consistency _if_ a Tcl version string + # can be extracted from the Tcl library name. + string(REGEX MATCH "[0-9]+[.]?[0-9]+" library_version ${TCL_LIBRARY}) + if(library_version) + # If no decimal point in version insert as the second character. + if(NOT library_version MATCHES "[.]") + string(REGEX REPLACE "^([0-9])([0-9]+)$" "\\1.\\2" library_version ${library_version}) + endif(NOT library_version MATCHES "[.]") + #message(STATUS "library_version = ${library_version}") + string(LENGTH ${library_version} length_library_version) + string(SUBSTRING ${PLPLOT_TCL_VERSION} 0 ${length_library_version} truncated_version) + #message(STATUS "truncated_version = ${truncated_version}") + if(NOT truncated_version STREQUAL library_version) + message(STATUS "WARNING: Tcl library version = ${library_version} that is extracted from the + library name is not consistent with PLPLOT_TCL_VERSION = ${PLPLOT_TCL_VERSION}") + endif(NOT truncated_version STREQUAL library_version) + endif(library_version) + + # Initially mark various quantities as unfound in case that turns out to be true. set(HAVE_ITCL OFF) set(HAVE_ITK OFF) - if(TCL_FOUND AND TCL_TCLSH) - if(ENABLE_itcl) - if(USE_INCRTCL_VERSION_4) - set(SUGGESTED_ITCL_VERSION 4) - else(USE_INCRTCL_VERSION_4) - set(SUGGESTED_ITCL_VERSION 3) - endif(USE_INCRTCL_VERSION_4) - if(NOT PLPLOT_ITCL_VERSION) - file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/CheckITCL_Available.tcl "puts -nonewline [package require Itcl ${SUGGESTED_ITCL_VERSION}]; exit") - # Refine SUGGESTED_ITCL_VERSION to exact value or fail. - execute_process( - COMMAND ${TCL_TCLSH} ${CMAKE_CURRENT_BINARY_DIR}/CheckITCL_Available.tcl - RESULT_VARIABLE ITCL_RC - OUTPUT_VARIABLE _plplot_itcl_version + if(ENABLE_itcl) + if(USE_INCRTCL_VERSION_4) + set(SUGGESTED_ITCL_VERSION 4) + else(USE_INCRTCL_VERSION_4) + set(SUGGESTED_ITCL_VERSION 3) + endif(USE_INCRTCL_VERSION_4) + if(NOT PLPLOT_ITCL_VERSION) + file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/CheckITCL_Available.tcl "puts -nonewline [package require Itcl ${SUGGESTED_ITCL_VERSION}]; exit") + # Refine SUGGESTED_ITCL_VERSION to exact value or fail. + execute_process( + COMMAND ${TCL_TCLSH} ${CMAKE_CURRENT_BINARY_DIR}/CheckITCL_Available.tcl + RESULT_VARIABLE ITCL_RC + OUTPUT_VARIABLE _plplot_itcl_version + ) + if(NOT ITCL_RC) + # Store result in cached variable so it will be remembered + # when cmake is re-run, but use type of STRING rather than + # INTERNAL to allow users to specify the value with a + # -DPLPLOT_ITCL_VERSION:STRING=<whatever> on the command + # line for those rare cases when "package require Itcl" + # would error out due to some tclsh issue. + set(PLPLOT_ITCL_VERSION ${_plplot_itcl_version} + CACHE STRING "Itcl version that will be used" ) - if(NOT ITCL_RC) - # Store result in cached variable so it will be remembered - # when cmake is re-run, but use type of STRING rather than - # INTERNAL to allow users to specify the value with a - # -DPLPLOT_ITCL_VERSION:STRING=<whatever> on the command - # line for those rare cases when "package require Itcl" - # would error out due to some tclsh issue. - set(PLPLOT_ITCL_VERSION ${_plplot_itcl_version} - CACHE STRING "Itcl version that will be used" - ) - endif(NOT ITCL_RC) - else(NOT PLPLOT_ITCL_VERSION) - set(ITCL_RC 0) - endif(NOT PLPLOT_ITCL_VERSION) - if(NOT ITCL_RC) - message(STATUS "Looking for itcl.h") - if(NOT USE_INCRTCL_VERSION_4) - # Search first for epa_build install location. - find_path(ITCL_INCLUDE_PATH itcl.h HINTS ${TCL_INCLUDE_PATH}/itcl${PLPLOT_ITCL_VERSION}) - endif(NOT USE_INCRTCL_VERSION_4) - find_path(ITCL_INCLUDE_PATH itcl.h HINTS ${TCL_INCLUDE_PATH}) + endif(NOT ITCL_RC) + else(NOT PLPLOT_ITCL_VERSION) + set(ITCL_RC 0) + endif(NOT PLPLOT_ITCL_VERSION) - if(ITCL_INCLUDE_PATH) - message(STATUS "Looking for itcl.h - found") - message(STATUS "ITCL_INCLUDE_PATH = ${ITCL_INCLUDE_PATH}") - message(STATUS "PLPLOT_ITCL_VERSION = ${PLPLOT_ITCL_VERSION}") + if(NOT ITCL_RC) + message(STATUS "Looking for itcl.h") + if(NOT USE_INCRTCL_VERSION_4) + # Search first for epa_build install location. + find_path(ITCL_INCLUDE_PATH itcl.h HINTS ${TCL_INCLUDE_PATH}/itcl${PLPLOT_ITCL_VERSION}) + endif(NOT USE_INCRTCL_VERSION_4) + find_path(ITCL_INCLUDE_PATH itcl.h HINTS ${TCL_INCLUDE_PATH}) - message(STATUS "Checking for Itcl header version consistency") - string(REGEX REPLACE "^([0-9]*)\\.[0-9]*.*$" "\\1" ITCL_MAJOR_VERSION "${PLPLOT_ITCL_VERSION}") - string(REGEX REPLACE "^[0-9]*\\.([0-9]*).*$" "\\1" ITCL_MINOR_VERSION "${PLPLOT_ITCL_VERSION}") - message(STATUS "ITCL_MAJOR_VERSION = ${ITCL_MAJOR_VERSION}") - message(STATUS "ITCL_MINOR_VERSION = ${ITCL_MINOR_VERSION}") - file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/CheckITCL_VERSION.c - "// #define RC_INVOKED to avoid sucking in lots of additional includes for + if(ITCL_INCLUDE_PATH) + message(STATUS "Looking for itcl.h - found") + message(STATUS "ITCL_INCLUDE_PATH = ${ITCL_INCLUDE_PATH}") + message(STATUS "PLPLOT_ITCL_VERSION = ${PLPLOT_ITCL_VERSION}") + + message(STATUS "Checking for Itcl header version consistency") + string(REGEX REPLACE "^([0-9]*)\\.[0-9]*.*$" "\\1" ITCL_MAJOR_VERSION "${PLPLOT_ITCL_VERSION}") + string(REGEX REPLACE "^[0-9]*\\.([0-9]*).*$" "\\1" ITCL_MINOR_VERSION "${PLPLOT_ITCL_VERSION}") + message(STATUS "ITCL_MAJOR_VERSION = ${ITCL_MAJOR_VERSION}") + message(STATUS "ITCL_MINOR_VERSION = ${ITCL_MINOR_VERSION}") + file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/CheckITCL_VERSION.c + "// #define RC_INVOKED to avoid sucking in lots of additional includes for // efficiency and simplicity. #define RC_INVOKED 1 #include <itcl.h> @@ -153,133 +204,238 @@ #endif void main(void){} " - ) - try_compile(CONSISTENT_HEADER_ITCL_VERSION ${CMAKE_BINARY_DIR} - ${CMAKE_CURRENT_BINARY_DIR}/CheckITCL_VERSION.c - CMAKE_FLAGS "-DINCLUDE_DIRECTORIES:STRING=${ITCL_INCLUDE_PATH};${TCL_INCLUDE_PATH}" - ) - if(CONSISTENT_HEADER_ITCL_VERSION) - message(STATUS "Checking for Itcl header version consistency - true") - else(CONSISTENT_HEADER_ITCL_VERSION) - message(STATUS "Checking for Itcl header version consistency - false") - message(STATUS "WARNING: Disabling Itcl interface code") - set(ENABLE_itcl OFF CACHE BOOL "Enable Itcl interface code" FORCE) - endif(CONSISTENT_HEADER_ITCL_VERSION) - else(ITCL_INCLUDE_PATH) - message(STATUS "Looking for itcl.h - not found") + ) + try_compile(CONSISTENT_HEADER_ITCL_VERSION ${CMAKE_BINARY_DIR} + ${CMAKE_CURRENT_BINARY_DIR}/CheckITCL_VERSION.c + CMAKE_FLAGS "-DINCLUDE_DIRECTORIES:STRING=${ITCL_INCLUDE_PATH};${TCL_INCLUDE_PATH}" + ) + if(CONSISTENT_HEADER_ITCL_VERSION) + message(STATUS "Checking for Itcl header version consistency - true") + else(CONSISTENT_HEADER_ITCL_VERSION) + message(STATUS "Checking for Itcl header version consistency - false") message(STATUS "WARNING: Disabling Itcl interface code") - set(ENABLE_itcl OFF CACHE BOOL "Enable Itcl interface code" FORCE) - endif(ITCL_INCLUDE_PATH) - - if(ENABLE_itcl) - message(STATUS "Looking for itcl library") - # Search first for epa_build install location. - find_library(ITCL_LIBRARY itcl${PLPLOT_ITCL_VERSION} HINTS ${TCL_LIBRARY_PATH}/itcl${PLPLOT_ITCL_VERSION}) - find_library(ITCL_LIBRARY itcl${PLPLOT_ITCL_VERSION} HINTS ${TCL_LIBRARY_PATH}) - if(ITCL_LIBRARY) - message(STATUS "Looking for itcl library - found") - message(STATUS "ITCL_LIBRARY = ${ITCL_LIBRARY}") - get_filename_component(ITCL_LIBRARY_PATH ${ITCL_LIBRARY} PATH) - list(APPEND TCL_TK_ITCL_ITK_RPATH ${ITCL_LIBRARY_PATH}) - set(HAVE_ITCL ON) - find_path(HAVE_ITCLDECLS_H itclDecls.h HINTS ${ITCL_INCLUDE_PATH}) - else(ITCL_LIBRARY) - message(STATUS "Looking for itcl library - not found") - message(STATUS "WARNING: Disabling Itcl interface code") - set(ENABLE_itcl OFF CACHE BOOL "Enable Itcl interface code" FORCE) - endif(ITCL_LIBRARY) - endif(ENABLE_itcl) - else(NOT ITCL_RC) - message(STATUS "Itcl not available or not compatible with current Tcl shell") + set(ENABLE_itcl OFF CACHE BOOL "Enable Itcl interface code" FORCE) + endif(CONSISTENT_HEADER_ITCL_VERSION) + else(ITCL_INCLUDE_PATH) + message(STATUS "Looking for itcl.h - not found") message(STATUS "WARNING: Disabling Itcl interface code") set(ENABLE_itcl OFF CACHE BOOL "Enable Itcl interface code" FORCE) - endif(NOT ITCL_RC) - endif(ENABLE_itcl) + endif(ITCL_INCLUDE_PATH) - if(ENABLE_tk AND NOT TK_FOUND) - message(STATUS "WARNING: Tk not found so disabling Tk interface code") - set(ENABLE_tk OFF CACHE BOOL "Enable Tk interface code" FORCE) - endif(ENABLE_tk AND NOT TK_FOUND) + if(ENABLE_itcl) + message(STATUS "Looking for itcl library") + # Search first for epa_build install location. + find_library(ITCL_LIBRARY itcl${PLPLOT_ITCL_VERSION} HINTS ${TCL_LIBRARY_PATH}/itcl${PLPLOT_ITCL_VERSION}) + find_library(ITCL_LIBRARY itcl${PLPLOT_ITCL_VERSION} HINTS ${TCL_LIBRARY_PATH}) + if(ITCL_LIBRARY) + message(STATUS "Looking for itcl library - found") + message(STATUS "ITCL_LIBRARY = ${ITCL_LIBRARY}") + get_filename_component(ITCL_LIBRARY_PATH ${ITCL_LIBRARY} PATH) + list(APPEND TCL_TK_ITCL_ITK_RPATH ${ITCL_LIBRARY_PATH}) + set(HAVE_ITCL ON) + find_path(HAVE_ITCLDECLS_H itclDecls.h HINTS ${ITCL_INCLUDE_PATH}) + else(ITCL_LIBRARY) + message(STATUS "Looking for itcl library - not found") + message(STATUS "WARNING: Disabling Itcl interface code") + set(ENABLE_itcl OFF CACHE BOOL "Enable Itcl interface code" FORCE) + endif(ITCL_LIBRARY) + endif(ENABLE_itcl) + else(NOT ITCL_RC) + message(STATUS "Itcl not available or not compatible with current Tcl shell") + message(STATUS "WARNING: Disabling Itcl interface code") + set(ENABLE_itcl OFF CACHE BOOL "Enable Itcl interface code" FORCE) + endif(NOT ITCL_RC) + endif(ENABLE_itcl) - if(ENABLE_tk AND NOT X11_FOUND) - if(WIN32 AND NOT CYGWIN) - message(STATUS "WARNING: X11 not found, turning off Tk devices that depend on it") - set(PLD_tk OFF CACHE BOOL "Enable Tk device" FORCE) - set(PLD_tkwin OFF CACHE BOOL "Enable Tk device" FORCE) - else(WIN32 AND NOT CYGWIN) - message(STATUS "WARNING: X11 not found so disabling Tk interface code") - set(ENABLE_tk OFF CACHE BOOL "Enable Tk interface code" FORCE) - endif(WIN32 AND NOT CYGWIN) - endif(ENABLE_tk AND NOT X11_FOUND) + if(ENABLE_tk AND TK_FOUND) + message(STATUS "Looking for Tk - found") + if(X11_FOUND) + list(APPEND TK_INCLUDE_PATH ${X11_INCLUDE_DIR}) + endif(X11_FOUND) + message(STATUS "TK_INCLUDE_PATH = ${TK_INCLUDE_PATH}") + message(STATUS "TK_LIBRARY = ${TK_LIBRARY}") + message(STATUS "TK_STUB_LIBRARY = ${TK_STUB_LIBRARY}") - if(ENABLE_tk) - message(STATUS "Looking for include paths and libraries for Tk - found") - set(TK_INCLUDE_PATH ${TK_INCLUDE_PATH} ${X11_INCLUDE_DIR}) - message(STATUS "TK_INCLUDE_PATH = ${TK_INCLUDE_PATH}") - message(STATUS "TK_LIBRARY = ${TK_LIBRARY}") - message(STATUS "TK_STUB_LIBRARY = ${TK_STUB_LIBRARY}") + get_filename_component(TK_LIBRARY_PATH ${TK_LIBRARY} PATH) + list(APPEND TCL_TK_RPATH ${TK_LIBRARY_PATH}) + list(APPEND TCL_TK_ITCL_ITK_RPATH ${TK_LIBRARY_PATH}) - get_filename_component(TK_LIBRARY_PATH ${TK_LIBRARY} PATH) - message(STATUS "TK_LIBRARY_PATH = ${TK_LIBRARY_PATH}") - if(NOT ${TK_LIBRARY_PATH} STREQUAL ${TCL_LIBRARY_PATH}) - message(STATUS "WARNING: the Tcl and Tk library locations are inconsistent so those libraries are likely not compatible") - endif(NOT ${TK_LIBRARY_PATH} STREQUAL ${TCL_LIBRARY_PATH}) - list(APPEND TCL_TK_RPATH ${TK_LIBRARY_PATH}) - list(APPEND TCL_TK_ITCL_ITK_RPATH ${TK_LIBRARY_PATH}) - else(ENABLE_tk) - message(STATUS "WARNING: Because Tk is disabled must disable Itk as well") - set(ENABLE_itk OFF CACHE BOOL "Enable Itk interface code" FORCE) - endif(ENABLE_tk) + message(STATUS "TK_LIBRARY_PATH = ${TK_LIBRARY_PATH}") + if(NOT ${TK_LIBRARY_PATH} STREQUAL ${TCL_LIBRARY_PATH}) + message(STATUS "WARNING: the Tcl and Tk library locations are inconsistent so those libraries are likely not compatible") + endif(NOT ${TK_LIBRARY_PATH} STREQUAL ${TCL_LIBRARY_PATH}) - if(ENABLE_itk) - if(USE_INCRTCL_VERSION_4) - set(SUGGESTED_ITK_VERSION 4) - else(USE_INCRTCL_VERSION_4) - set(SUGGESTED_ITK_VERSION 3) - endif(USE_INCRTCL_VERSION_4) - if(NOT PLPLOT_ITK_VERSION) - file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/CheckITK_Available.tcl "puts -nonewline [package require Itk ${SUGGESTED_ITK_VERSION}]; exit") - # Refine SUGGESTED_ITK_VERSION to exact value or fail. + if(TK_WISH) + message(STATUS "Looking for wish - found") + message(STATUS "TK_WISH = ${TK_WISH}") + if(NOT PLPLOT_TK_VERSION) + file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/CheckTK_VERSION.tcl "puts -nonewline [package require Tk]; exit") + # Find Tk version via wish or fail. execute_process( - COMMAND ${TCL_TCLSH} ${CMAKE_CURRENT_BINARY_DIR}/CheckITK_Available.tcl - RESULT_VARIABLE ITK_RC - OUTPUT_VARIABLE _plplot_itk_version + COMMAND ${TK_WISH} ${CMAKE_CURRENT_BINARY_DIR}/CheckTK_VERSION.tcl + RESULT_VARIABLE TK_RC + OUTPUT_VARIABLE _plplot_tk_version ) - if(NOT ITK_RC) + if(NOT TK_RC) + message(STATUS "Looking for Tk version with wish - found") # Store result in cached variable so it will be remembered # when cmake is re-run, but use type of STRING rather than # INTERNAL to allow users to specify the value with a - # -DPLPLOT_ITK_VERSION:STRING=<whatever> on the command line - # for those rare cases (e.g., autobuild environment without X) - # when "package require Itk" would error out due to the lack - # of X or some tclsh issue. - set(PLPLOT_ITK_VERSION ${_plplot_itk_version} - CACHE STRING "Itk version that will be used" + # -DPLPLOT_TK_VERSION:STRING=<whatever> on the command + # line for those rare cases when "package require Tk" + # would error out due to some wish issue. + set(PLPLOT_TK_VERSION ${_plplot_tk_version} + CACHE STRING "Tk version found by wish" ) - endif(NOT ITK_RC) - else(NOT PLPLOT_ITK_VERSION) - set(ITCL_RC 0) - endif(NOT PLPLOT_ITK_VERSION) + + if(PLPLOT_TCL_VERSION STREQUAL PLPLOT_TK_VERSION) + # Cross check that wish finds the same Tcl version as tclsh. + execute_process( + COMMAND ${TK_WISH} ${CMAKE_CURRENT_BINARY_DIR}/CheckTCL_VERSION.tcl + RESULT_VARIABLE TCL_RC + OUTPUT_VARIABLE _plplot_tcl_version + ) + + if(NOT TCL_RC AND _plplot_tcl_version STREQUAL PLPLOT_TCL_VERSION) + # Cross check that tclsh finds the same Tk version as wish. + execute_process( + COMMAND ${TCL_TCLSH} ${CMAKE_CURRENT_BINARY_DIR}/CheckTK_VERSION.tcl + RESULT_VARIABLE TK_RC + OUTPUT_VARIABLE _plplot_tk_version + ) + if(NOT TK_RC AND _plplot_tk_version STREQUAL PLPLOT_TK_VERSION) + message(STATUS "Tcl and Tk versions found by both tclsh and wish are identical") + # Sanity checking of Tk version consistency _if_ a Tk + # version string can be extracted from the Tk library + # name. + string(REGEX MATCH "[0-9]+[.]?[0-9]+" library_version ${TK_LIBRARY}) + if(library_version) + # If no decimal point in version insert as the second character. + if(NOT library_version MATCHES "[.]") + string(REGEX REPLACE "^([0-9])([0-9]+)$" "\\1.\\2" library_version ${library_version}) + endif(NOT library_version MATCHES "[.]") + #message(STATUS "library_version = ${library_version}") + string(LENGTH ${library_version} length_library_version) + string(SUBSTRING ${PLPLOT_TK_VERSION} 0 ${length_library_version} truncated_version) + #message(STATUS "truncated_version = ${truncated_version}") + if(NOT truncated_version STREQUAL library_version) + message(STATUS "WARNING: Tk library version = ${library_version} that is extracted from the + library name is not consistent with PLPLOT_TK_VERSION = ${PLPLOT_TK_VERSION}") + endif(NOT truncated_version STREQUAL library_version) + endif(library_version) + elseif(TK_RC) + message(STATUS "Looking for Tk version with tclsh - not found") + message(STATUS "WARNING: setting ENABLE_tk to OFF") + set(ENABLE_tk OFF CACHE BOOL "Enable Tk bindings" FORCE) + else(NOT TK_RC AND _plplot_tk_version STREQUAL PLPLOT_TK_VERSION) + message(STATUS "Tk version = ${_plplot_tk_version} found by tclsh is not consistent with + Tk version = ${PLPLOT_TK_VERSION} found by wish" + ) + message(STATUS "WARNING: setting ENABLE_tk to OFF") + set(ENABLE_tk OFF CACHE BOOL "Enable Tk bindings" FORCE) + endif(NOT TK_RC AND _plplot_tk_version STREQUAL PLPLOT_TK_VERSION) + elseif(TCL_RC) + message(STATUS "Looking for Tcl version with wish - not found") + message(STATUS "WARNING: setting ENABLE_tk to OFF") + set(ENABLE_tk OFF CACHE BOOL "Enable Tk bindings" FORCE) + else(NOT TCL_RC AND _plplot_tcl_version STREQUAL PLPLOT_TCL_VERSION) + message(STATUS "Tcl version = ${_plplot_tcl_version} found by wish is not consistent with + Tcl version = ${PLPLOT_TCL_VERSION} found by tclsh" + ) + message(STATUS "WARNING: setting ENABLE_tk to OFF") + set(ENABLE_tk OFF CACHE BOOL "Enable Tk bindings" FORCE) + endif(NOT TCL_RC AND _plplot_tcl_version STREQUAL PLPLOT_TCL_VERSION) + else(PLPLOT_TCL_VERSION STREQUAL PLPLOT_TK_VERSION) + message(STATUS "Tk version = ${PLPLOT_TK_VERSION} found by wish is not consistent with + Tcl version = ${PLPLOT_TCL_VERSION} found by tclsh" + ) + message(STATUS "WARNING: setting ENABLE_tk to OFF") + set(ENABLE_tk OFF CACHE BOOL "Enable Tk bindings" FORCE) + endif(PLPLOT_TCL_VERSION STREQUAL PLPLOT_TK_VERSION) + else(NOT TK_RC) + message(STATUS "Looking for Tk version with wish - not found") + message(STATUS "WARNING: setting ENABLE_tk to OFF") + set(ENABLE_tk OFF CACHE BOOL "Enable Tk bindings" FORCE) + endif(NOT TK_RC) + else(NOT PLPLOT_TK_VERSION) + set(TK_RC 0) + endif(NOT PLPLOT_TK_VERSION) + else(TK_WISH) + message(STATUS "Looking for wish - not found") + message(STATUS "WARNING: setting ENABLE_tk to OFF") + set(ENABLE_tk OFF CACHE BOOL "Enable Tk bindings" FORCE) + endif(TK_WISH) + elseif(ENABLE_tk AND NOT TK_FOUND) + message(STATUS "Looking for Tk - not found") + message(STATUS "WARNING: setting ENABLE_tk to OFF") + set(ENABLE_tk OFF CACHE BOOL "Enable Tk bindings" FORCE) + endif(ENABLE_tk AND TK_FOUND) + + if(ENABLE_tk AND NOT X11_FOUND) + if(WIN32 AND NOT CYGWIN) + message(STATUS "WARNING: X11 not found, turning off Tk devices that depend on it") + set(PLD_tk OFF CACHE BOOL "Enable Tk device" FORCE) + set(PLD_tkwin OFF CACHE BOOL "Enable Tk device" FORCE) + else(WIN32 AND NOT CYGWIN) + message(STATUS "WARNING: X11 not found so disabling Tk interface code") + set(ENABLE_tk OFF CACHE BOOL "Enable Tk interface code" FORCE) + endif(WIN32 AND NOT CYGWIN) + endif(ENABLE_tk AND NOT X11_FOUND) + + if(NOT ENABLE_tk) + message(STATUS "WARNING: Because Tk is disabled must disable Itk as well") + set(ENABLE_itk OFF CACHE BOOL "Enable Itk interface code" FORCE) + endif(NOT ENABLE_tk) + + if(ENABLE_itk) + if(USE_INCRTCL_VERSION_4) + set(SUGGESTED_ITK_VERSION 4) + else(USE_INCRTCL_VERSION_4) + set(SUGGESTED_ITK_VERSION 3) + endif(USE_INCRTCL_VERSION_4) + if(NOT PLPLOT_ITK_VERSION) + file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/CheckITK_Available.tcl "puts -nonewline [package require Itk ${SUGGESTED_ITK_VERSION}]; exit") + # Refine SUGGESTED_ITK_VERSION to exact value or fail. + execute_process( + COMMAND ${TCL_TCLSH} ${CMAKE_CURRENT_BINARY_DIR}/CheckITK_Available.tcl + RESULT_VARIABLE ITK_RC + OUTPUT_VARIABLE _plplot_itk_version + ) if(NOT ITK_RC) - message(STATUS "Looking for itk.h") - if(NOT USE_INCRTCL_VERSION_4) - # Search first for epa_build install location. - find_path(ITK_INCLUDE_PATH itk.h HINTS ${TCL_INCLUDE_PATH}/itcl${PLPLOT_ITCL_VERSION}) - endif(NOT USE_INCRTCL_VERSION_4) - find_path(ITK_INCLUDE_PATH itk.h HINTS ${TCL_INCLUDE_PATH}) + # Store result in cached variable so it will be remembered + # when cmake is re-run, but use type of STRING rather than + # INTERNAL to allow users to specify the value with a + # -DPLPLOT_ITK_VERSION:STRING=<whatever> on the command line + # for those rare cases (e.g., autobuild environment without X) + # when "package require Itk" would error out due to the lack + # of X or some tclsh issue. + set(PLPLOT_ITK_VERSION ${_plplot_itk_version} + CACHE STRING "Itk version that will be used" + ) + endif(NOT ITK_RC) + else(NOT PLPLOT_ITK_VERSION) + set(ITCL_RC 0) + endif(NOT PLPLOT_ITK_VERSION) + if(NOT ITK_RC) + message(STATUS "Looking for itk.h") + if(NOT USE_INCRTCL_VERSION_4) + # Search first for epa_build install location. + find_path(ITK_INCLUDE_PATH itk.h HINTS ${TCL_INCLUDE_PATH}/itcl${PLPLOT_ITCL_VERSION}) + endif(NOT USE_INCRTCL_VERSION_4) + find_path(ITK_INCLUDE_PATH itk.h HINTS ${TCL_INCLUDE_PATH}) - if(ITK_INCLUDE_PATH) - message(STATUS "Looking for itk.h - found") - message(STATUS "ITK_INCLUDE_PATH = ${ITK_INCLUDE_PATH}") - message(STATUS "PLPLOT_ITK_VERSION = ${PLPLOT_ITK_VERSION}") + if(ITK_INCLUDE_PATH) + message(STATUS "Looking for itk.h - found") + message(STATUS "ITK_INCLUDE_PATH = ${ITK_INCLUDE_PATH}") + message(STATUS "PLPLOT_ITK_VERSION = ${PLPLOT_ITK_VERSION}") - message(STATUS "Checking for Itk header version consistency") - string(REGEX REPLACE "^([0-9]*)\\.[0-9]*.*$" "\\1" ITK_MAJOR_VERSION "${PLPLOT_ITK_VERSION}") - string(REGEX REPLACE "^[0-9]*\\.([0-9]*).*$" "\\1" ITK_MINOR_VERSION "${PLPLOT_ITK_VERSION}") - message(STATUS "ITK_MAJOR_VERSION = ${ITK_MAJOR_VERSION}") - message(STATUS "ITK_MINOR_VERSION = ${ITK_MINOR_VERSION}") - file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/CheckITK_VERSION.c - "// #define RC_INVOKED to avoid sucking in lots of additional includes for + message(STATUS "Checking for Itk header version consistency") + string(REGEX REPLACE "^([0-9]*)\\.[0-9]*.*$" "\\1" ITK_MAJOR_VERSION "${PLPLOT_ITK_VERSION}") + string(REGEX REPLACE "^[0-9]*\\.([0-9]*).*$" "\\1" ITK_MINOR_VERSION "${PLPLOT_ITK_VERSION}") + message(STATUS "ITK_MAJOR_VERSION = ${ITK_MAJOR_VERSION}") + message(STATUS "ITK_MINOR_VERSION = ${ITK_MINOR_VERSION}") + file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/CheckITK_VERSION.c + "// #define RC_INVOKED to avoid sucking in lots of additional includes for // efficiency and simplicity and also to avoid the header file disaster that has long // been a problem for version 3.3 of itk.h #define RC_INVOKED 1 @@ -289,143 +445,134 @@ #endif void main(void){} " - ) - try_compile(CONSISTENT_HEADER_ITK_VERSION ${CMAKE_BINARY_DIR} - ${CMAKE_CURRENT_BINARY_DIR}/CheckITK_VERSION.c - CMAKE_FLAGS -DINCLUDE_DIRECTORIES:PATH=${ITK_INCLUDE_PATH} - ) - if(CONSISTENT_HEADER_ITK_VERSION) - message(STATUS "Checking for Itk header version consistency - true") - else(CONSISTENT_HEADER_ITK_VERSION) - message(STATUS "Checking for Itk header version consistency - false") - message(STATUS "WARNING: Disabling Itk interface code") - set(ENABLE_itk OFF CACHE BOOL "Enable Itk interface code" FORCE) - endif(CONSISTENT_HEADER_ITK_VERSION) - else(ITK_INCLUDE_PATH) - message(STATUS "Looking for itk.h - not found") + ) + try_compile(CONSISTENT_HEADER_ITK_VERSION ${CMAKE_BINARY_DIR} + ${CMAKE_CURRENT_BINARY_DIR}/CheckITK_VERSION.c + CMAKE_FLAGS -DINCLUDE_DIRECTORIES:PATH=${ITK_INCLUDE_PATH} + ) + if(CONSISTENT_HEADER_ITK_VERSION) + message(STATUS "Checking for Itk header version consistency - true") + else(CONSISTENT_HEADER_ITK_VERSION) + message(STATUS "Checking for Itk header version consistency - false") message(STATUS "WARNING: Disabling Itk interface code") - set(ENABLE_itk OFF CACHE BOOL "Enable Itk interface code" FORCE) - endif(ITK_INCLUDE_PATH) + set(ENABLE_itk OFF CACHE BOOL "Enable Itk interface code" FORCE) + endif(CONSISTENT_HEADER_ITK_VERSION) + else(ITK_INCLUDE_PATH) + message(STATUS "Looking for itk.h - not found") + message(STATUS "WARNING: Disabling Itk interface code") + set(ENABLE_itk OFF CACHE BOOL "Enable Itk interface code" FORCE) + endif(ITK_INCLUDE_PATH) - if(ENABLE_itk) - message(STATUS "Looking for itk library") - # Search first for epa_build install location. - find_library(ITK_LIBRARY itk${PLPLOT_ITK_VERSION} HINTS ${TCL_LIBRARY_PATH}/itk${PLPLOT_ITK_VERSION}) - find_library(ITK_LIBRARY itk${PLPLOT_ITK_VERSION} HINTS ${TCL_LIBRARY_PATH}) - if(ITK_LIBRARY) - message(STATUS "Looking for itk library - found") - message(STATUS "ITK_LIBRARY = ${ITK_LIBRARY}") - set(HAVE_ITK ON) - get_filename_component(ITK_LIBRARY_PATH ${ITK_LIBRARY} PATH) - list(APPEND TCL_TK_ITCL_ITK_RPATH ${ITK_LIBRARY_PATH}) + if(ENABLE_itk) + message(STATUS "Looking for itk library") + # Search first for epa_build install location. + find_library(ITK_LIBRARY itk${PLPLOT_ITK_VERSION} HINTS ${TCL_LIBRARY_PATH}/itk${PLPLOT_ITK_VERSION}) + find_library(ITK_LIBRARY itk${PLPLOT_ITK_VERSION} HINTS ${TCL_LIBRARY_PATH}) + if(ITK_LIBRARY) + message(STATUS "Looking for itk library - found") + message(STATUS "ITK_LIBRARY = ${ITK_LIBRARY}") + set(HAVE_ITK ON) + get_filename_component(ITK_LIBRARY_PATH ${ITK_LIBRARY} PATH) + list(APPEND TCL_TK_ITCL_ITK_RPATH ${ITK_LIBRARY_PATH}) - # Test version consistency between iwidgets, itk, and itcl. - if(NOT IWIDGETS_VERSIONS_LIST) - if(USE_INCRTCL_VERSION_4) - set(SUGGESTED_IWIDGETS_VERSION 4.1) - file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/determine_versions.tcl "puts -nonewline \"[package require Iwidgets ${SUGGESTED_IWIDGETS_VERSION}];[package require Itk];[package require Itcl]\";exit") + # Test version consistency between iwidgets, itk, and itcl. + if(NOT IWIDGETS_VERSIONS_LIST) + if(USE_INCRTCL_VERSION_4) + set(SUGGESTED_IWIDGETS_VERSION 4.1) + file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/determine_versions.tcl "puts -nonewline \"[package require Iwidgets ${SUGGESTED_IWIDGETS_VERSION}];[package require Itk];[package require Itcl]\";exit") + execute_process( + COMMAND ${TCL_TCLSH} ${CMAKE_CURRENT_BINARY_DIR}/determine_versions.tcl + RESULT_VARIABLE IWIDGETS_RC + OUTPUT_VARIABLE _iwidgets_versions_list + ) + else(USE_INCRTCL_VERSION_4) + # Find maximum 4.0 version of iwidgets that is + # available. 4.0.1 (released in 2002) is the largest + # version of iwidgets4.0 (as opposed to the recently + # developed iwidgets4.1) I have found on the web in + # tarball form, but I have seen one reference to 4.0.2 + # which may have been publicly released somewhere + # inaccessible to my google searches or privately made + # available before all development of iwidgets4.0 + # stopped. So add 4.0.2 to the list just in case. + foreach(SUGGESTED_IWIDGETS_VERSION 4.0.2 4.0.1 4.0.0) + file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/determine_versions.tcl "puts -nonewline \"[package require -exact Iwidgets ${SUGGESTED_IWIDGETS_VERSION}];[package require Itk];[package require Itcl]\";exit") execute_process( COMMAND ${TCL_TCLSH} ${CMAKE_CURRENT_BINARY_DIR}/determine_versions.tcl RESULT_VARIABLE IWIDGETS_RC OUTPUT_VARIABLE _iwidgets_versions_list + ERROR_QUIET ) - else(USE_INCRTCL_VERSION_4) - # Find maximum 4.0 version of iwidgets that is - # available. 4.0.1 (released in 2002) is the largest - # version of iwidgets4.0 (as opposed to the recently - # developed iwidgets4.1) I have found on the web in - # tarball form, but I have seen one reference to 4.0.2 - # which may have been publicly released somewhere - # inaccessible to my google searches or privately made - # available before all development of iwidgets4.0 - # stopped. So add 4.0.2 to the list just in case. - foreach(SUGGESTED_IWIDGETS_VERSION 4.0.2 4.0.1 4.0.0) - file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/determine_versions.tcl "puts -nonewline \"[package require -exact Iwidgets ${SUGGESTED_IWIDGETS_VERSION}];[package require Itk];[package require Itcl]\";exit") - execute_process( - COMMAND ${TCL_TCLSH} ${CMAKE_CURRENT_BINARY_DIR}/determine_versions.tcl - RESULT_VARIABLE IWIDGETS_RC - OUTPUT_VARIABLE _iwidgets_versions_list - ERROR_QUIET - ) - if(NOT IWIDGETS_RC) - break() - endif(NOT IWIDGETS_RC) - endforeach(SUGGESTED_IWIDGETS_VERSION 4.0.2 4.0.1 4.0.0) - endif(USE_INCRTCL_VERSION_4) - if(NOT IWIDGETS_RC) - # Store result in cached variable so it will be - # remembered when cmake is re-run, but use type of - # STRING rather than INTERNAL to allow users to - # specify the value with a - # -DIWIDGETS_VERSIONS_LIST:STRING=<whatever> on the - # command line for those rare cases (e.g., autobuild - # environment without X) when "package require Itk (or - # Itcl or IWidgets)" would error out due to the lack of - # X or some tclsh issue - set(IWIDGETS_VERSIONS_LIST ${_iwidgets_versions_list} - CACHE STRING "list of Iwidgets; Itk, and Itcl versions (in that order) that will be used" - ) - endif(NOT IWIDGETS_RC) - else(NOT IWIDGETS_VERSIONS_LIST) - set(IWIDGETS_RC 0) - endif(NOT IWIDGETS_VERSIONS_LIST) + if(NOT IWIDGETS_RC) + break() + endif(NOT IWIDGETS_RC) + endforeach(SUGGESTED_IWIDGETS_VERSION 4.0.2 4.0.1 4.0.0) + endif(USE_INCRTCL_VERSION_4) if(NOT IWIDGETS_RC) - message(STATUS "IWIDGETS_VERSIONS_LIST = ${IWIDGETS_VERSIONS_LIST}") - list(GET IWIDGETS_VERSIONS_LIST 0 PLPLOT_IWIDGETS_VERSION) - list(GET IWIDGETS_VERSIONS_LIST 1 CONSISTENT_ITK_VERSION) - list(GET IWIDGETS_VERSIONS_LIST 2 CONSISTENT_ITCL_VERSION) + # Store result in cached variable so it will be + # remembered when cmake is re-run, but use type of + # STRING rather than INTERNAL to allow users to + # specify the value with a + # -DIWIDGETS_VERSIONS_LIST:STRING=<whatever> on the + # command line for those rare cases (e.g., autobuild + # environment without X) when "package require Itk (or + # Itcl or IWidgets)" would error out due to the lack of + # X or some tclsh issue + set(IWIDGETS_VERSIONS_LIST ${_iwidgets_versions_list} + CACHE STRING "list of Iwidgets; Itk, and Itcl versions (in that order) that will be used" + ) + endif(NOT IWIDGETS_RC) + else(NOT IWIDGETS_VERSIONS_LIST) + set(IWIDGETS_RC 0) + endif(NOT IWIDGETS_VERSIONS_LIST) + if(NOT IWIDGETS_RC) + message(STATUS "IWIDGETS_VERSIONS_LIST = ${IWIDGETS_VERSIONS_LIST}") + list(GET IWIDGETS_VERSIONS_LIST 0 PLPLOT_IWIDGETS_VERSION) + list(GET IWIDGETS_VERSIONS_LIST 1 CONSISTENT_ITK_VERSION) + list(GET IWIDGETS_VERSIONS_LIST 2 CONSISTENT_ITCL_VERSION) - message(STATUS "PLPLOT_IWIDGETS_VERSION = ${PLPLOT_IWIDGETS_VERSION}") - message(STATUS "Checking that the Iwidgets, Itk, and Itcl packages are consistent") - if(CONSISTENT_ITCL_VERSION STREQUAL PLPLOT_ITCL_VERSION AND CONSISTENT_ITK_VERSION STREQUAL PLPLOT_ITK_VERSION) - message(STATUS "Checking that the Iwidgets, Itk, and Itcl packages are consistent - true") - else(CONSISTENT_ITCL_VERSION STREQUAL PLPLOT_ITCL_VERSION AND CONSISTENT_ITK_VERSION STREQUAL PLPLOT_ITK_VERSION) - message(STATUS "PLPLOT_ITK_VERSION = ${PLPLOT_ITK_VERSION}") - message(STATUS "CONSISTENT_ITK_VERSION = ${CONSISTENT_ITK_VERSION}") - message(STATUS "PLPLOT_ITCL_VERSION = ${PLPLOT_ITCL_VERSION}") - message(STATUS "CONSISTENT_ITCL_VERSION = ${CONSISTENT_ITCL_VERSION}") - message(STATUS "Checking that the Iwidgets, Itk, and Itcl packages are consistent - false") - message(STATUS "WARNING: Consistent combination of Iwidgets, Itk, and Itcl not found so disabling Itcl and Itk") - set(ENABLE_itcl OFF CACHE BOOL "Enable Itcl interface code" FORCE) - set(ENABLE_itk OFF CACHE BOOL "Enable Itk interface code" FORCE) - endif(CONSISTENT_ITCL_VERSION STREQUAL PLPLOT_ITCL_VERSION AND CONSISTENT_ITK_VERSION STREQUAL PLPLOT_ITK_VERSION) - else(NOT IWIDGETS_RC) - message(STATUS "WARNING: Iwidgets could not be found so disabling Itcl and Itk") + message(STATUS "PLPLOT_IWIDGETS_VERSION = ${PLPLOT_IWIDGETS_VERSION}") + message(STATUS "Checking that the Iwidgets, Itk, and Itcl packages are consistent") + if(CONSISTENT_ITCL_VERSION STREQUAL PLPLOT_ITCL_VERSION AND CONSISTENT_ITK_VERSION STREQUAL PLPLOT_ITK_VERSION) + message(STATUS "Checking that the Iwidgets, Itk, and Itcl packages are consistent - true") + else(CONSISTENT_ITCL_VERSION STREQUAL PLPLOT_ITCL_VERSION AND CONSISTENT_ITK_VERSION STREQUAL PLPLOT_ITK_VERSION) + message(STATUS "PLPLOT_ITK_VERSION = ${PLPLOT_ITK_VERSION}") + message(STATUS "CONSISTENT_ITK_VERSION = ${CONSISTENT_ITK_VERSION}") + message(STATUS "PLPLOT_ITCL_VERSION = ${PLPLOT_ITCL_VERSION}") + message(STATUS "CONSISTENT_ITCL_VERSION = ${CONSISTENT_ITCL_VERSION}") + message(STATUS "Checking that the Iwidgets, Itk, and Itcl packages are consistent - false") + message(STATUS "WARNING: Consistent combination of Iwidgets, Itk, and Itcl not found so disabling Itcl and Itk") set(ENABLE_itcl OFF CACHE BOOL "Enable Itcl interface code" FORCE) set(ENABLE_itk OFF CACHE BOOL "Enable Itk interface code" FORCE) - endif(NOT IWIDGETS_RC) - else(ITK_LIBRARY) - message(STATUS "Looking for itk library - not found") - message(STATUS "WARNING: Disabling Itk interface code") - set(ENABLE_itk OFF CACHE BOOL "Enable Itk interface code" FORCE) - endif(ITK_LIBRARY) - endif(ENABLE_itk) - else(NOT ITK_RC) - message(STATUS "Itk not available or not compatible with current Tcl shell") - message(STATUS "WARNING: Disabling Itk interface code") - set(ENABLE_itk OFF CACHE BOOL "Enable Itk interface code" FORCE) - endif(NOT ITK_RC) - endif(ENABLE_itk) + endif(CONSISTENT_ITCL_VERSION STREQUAL PLPLOT_ITCL_VERSION AND CONSISTENT_ITK_VERSION STREQUAL PLPLOT_ITK_VERSION) + else(NOT IWIDGETS_RC) + message(STATUS "WARNING: Iwidgets could not be found so disabling Itcl and Itk") + set(ENABLE_itcl OFF CACHE BOOL "Enable Itcl interface code" FORCE) + set(ENABLE_itk OFF CACHE BOOL "Enable Itk interface code" FORCE) + endif(NOT IWIDGETS_RC) + else(ITK_LIBRARY) + message(STATUS "Looking for itk library - not found") + message(STATUS "WARNING: Disabling Itk interface code") + set(ENABLE_itk OFF CACHE BOOL "Enable Itk interface code" FORCE) + endif(ITK_LIBRARY) + endif(ENABLE_itk) + else(NOT ITK_RC) + message(STATUS "Itk not available or not compatible with current Tcl shell") + message(STATUS "WARNING: Disabling Itk interface code") + set(ENABLE_itk OFF CACHE BOOL "Enable Itk interface code" FORCE) + endif(NOT ITK_RC) + endif(ENABLE_itk) - # ------------------------------------------------------------------------ - # figure out how to build tclIndex - # ------------------------------------------------------------------------ - set(MKTCLINDEX ${CMAKE_SOURCE_DIR}/scripts/mktclIndex) - if(ENABLE_itcl) - set(MKTCLINDEX_ARGS "-itcl") - else(ENABLE_itcl) - set(MKTCLINDEX_ARGS "-tcl") - endif(ENABLE_itcl) + # ------------------------------------------------------------------------ + # figure out how to build tclIndex + # ------------------------------------------------------------------------ + set(MKTCLINDEX ${CMAKE_SOURCE_DIR}/scripts/mktclIndex) + if(ENABLE_itcl) + set(MKTCLINDEX_ARGS "-itcl") + else(ENABLE_itcl) + set(MKTCLINDEX_ARGS "-tcl") + endif(ENABLE_itcl) - else(TCL_FOUND AND TCL_TCLSH) - message(STATUS "Tcl not found OR tclsh not found") - message(STATUS "WARNING: Disabling everything that is Tcl/Tk related") - set(ENABLE_tcl OFF CACHE BOOL "Enable Tcl bindings" FORCE) - set(ENABLE_itcl OFF CACHE BOOL "Enable Itcl interface code" FORCE) - set(ENABLE_tk OFF CACHE BOOL "Enable Tk interface code" FORCE) - set(ENABLE_itk OFF CACHE BOOL "Enable Itk interface code" FORCE) - endif(TCL_FOUND AND TCL_TCLSH) - filter_rpath(TCL_RPATH) if(TCL_RPATH) message(STATUS "TCL_RPATH = ${TCL_RPATH}") This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ai...@us...> - 2013-12-22 22:35:17
|
Revision: 12912 http://sourceforge.net/p/plplot/code/12912 Author: airwin Date: 2013-12-22 22:35:13 +0000 (Sun, 22 Dec 2013) Log Message: ----------- Prepare release notes for the current (5.10.0) stable release cycle. Modified Paths: -------------- trunk/README.release Modified: trunk/README.release =================================================================== --- trunk/README.release 2013-12-22 22:28:45 UTC (rev 12911) +++ trunk/README.release 2013-12-22 22:35:13 UTC (rev 12912) @@ -1,9 +1,9 @@ -PLplot Release 5.9.11 +PLplot Release 5.10.0 ~~~~~~~~~~~~~~~~~~~~ -This is a development release of PLplot. It represents the ongoing efforts +This is a stable release of PLplot. It represents the ongoing efforts of the community to improve the PLplot plotting package. Development -releases in the 5.9.x series will be available every few months. The next -stable release will be 5.10.0. +releases in the 5.11.x series will be available every few months. The next +stable release will be 5.12.0. If you encounter a problem that is not already documented in the PROBLEMS file or on our bug tracker, then please send bug reports to @@ -18,18 +18,12 @@ INDEX -1. OFFICIAL NOTICES FOR USERS SINCE 5.9.10 (the previous development release) +1. OFFICIAL NOTICES FOR USERS SINCE 5.9.11 (the previous development release) -2. Tests made for release 5.9.11 +2. Tests made for release 5.10.0 -3. Changes relative to PLplot 5.9.10 (the previous development release) +3. Changes relative to PLplot 5.9.11 (the previous development release) -3.1 NUMERIC_INCLUDE_PATH ==> NUMPY_INCLUDE_PATH -3.2 Major overhaul of the build system and bindings for Tcl and friends -3.3 Substantial overhaul of the build system for the Qt-components of PLplot -3.4 The epa_build project has been implemented - - 4. OFFICIAL NOTICES FOR USERS SINCE 5.8.0 (the previous stable release) 5. Changes relative to PLplot 5.8.0 (the previous stable release) @@ -111,60 +105,18 @@ 5.69 Substantial overhaul of the build system for the Qt-components of PLplot 5.70 The epa_build project has been implemented -1. OFFICIAL NOTICES FOR USERS SINCE 5.9.10 (the previous development release) +1. OFFICIAL NOTICES FOR USERS SINCE 5.9.11 (the previous development release) -(5.9.11) Backwards-incompatible API change. The numerical symbolic -constants that are #defined as macros in plplot.h have been -repropagated to the Python, Java, Lua, Octave, Fortran 95, and Tcl -language bindings using scripts. Previously, this propagation was -done by hand in a piece-meal manner so use of the scripts has created -a number of changes in the PLplot symbolic constants for these -languages. These changes are the addition of 25 symbolic constants -that were previously only available for C, no deletions of symbolic -constants, no changes to numerical values, but the following -backwards-incompatible name changes: +None at this time. -PLESC_PLFLTBUFFERING ==> PLESC_DOUBLEBUFFERING -PLESPLFLTBUFFERING_DISABLE ==> PLESC_DOUBLEBUFFERING_ENABLE -PLESPLFLTBUFFERING_ENABLE ==> PLESC_DOUBLEBUFFERING_ENABLE -PLESPLFLTBUFFERING_QUERY ==> PLESC_DOUBLEBUFFERING_QUERY +2. Tests made for release 5.10.0 -So those users who were using the symbolic constants on the left for -the above languages will have to change their source code or scripts -to use the constants on the right. No changes in source code or -scripts should be required of other users. +None at this time. -(5.9.11) Backwards-incompatible API change. The PLplot build system -and bindings for Tcl and friends have had a major overhaul, see below. -Part of this change was to split the former libplplottcltk into two -components. The new libplplottcltk is now a pure Tcl/Tk extension -that can be linked to the stub versions of the Tcl/Tk libraries and -dynamically loaded from a tclsh or wish environment using the -appropriate "package require" command. The new libplplottcltk_Main -library contains code (e.g., pltclMain and pltkMain) required by C -plotting applications (e.g., pltcl, plrender, and xtk0[124].c) that -link to libplplottcltk. +However, to remind testers of what they did in the release cycle +leading up to 5.9.11 here are the notes from those earlier tests: -(5.9.11) Backwards-incompatible change. Our Fortran 77 bindings -and examples have been completely removed because Fortran 95 is just a -much better language which we have been supporting for a long time, -and our judgement call based on user feedback we have received is -nobody is interested in plotting using strict Fortran 77 language -constructs any more. However, if there is still some Fortran 77 -source code out there that uses PLplot, typically the only change you -should have to do to port it to our Fortran 95 bindings is to place -the command "use plplot" as the first line of the source code of the -main routine. -(5.9.11) Deprecation. The functionality of the AGG backend and -FreeType option in the wxwidgets device driver is provided (and in -some cases exceeded) by other backends and options that we have -implemented for this device driver. The AGG backend and Freetype -option are therefore deprecated with the intention to remove them in a -future release. - -2. Tests made for release 5.9.11 - Note that "comprehensive tests" below refers to running scripts/comprehensive_test.sh in default mode (i.e., not dropping any tests). For each of our three major configurations (shared @@ -311,97 +263,10 @@ probably from MacPorts, and did not state anything about the hardware type. -3. Changes relative to PLplot 5.9.10 (the previous development release) +3. Changes relative to PLplot 5.9.11 (the previous development release) -3.1 NUMERIC_INCLUDE_PATH ==> NUMPY_INCLUDE_PATH +None at this time. -We have long since dropped support for the Numeric Python module and -are now exclusively using the numpy Python modules instead. -Therefore, we have changed the CMake variable name used in our build -system that holds the location of the numpy headers from the confusing -misnomer, NUMERIC_INCLUDE_PATH, to NUMPY_INCLUDE_PATH. This change -only impacts PLplot users who in the past have used the cmake option --DNUMERIC_INCLUDE_PATH to set the CMake variable NUMERIC_INCLUDE_PATH -to the location of the numpy header directory. Note we discourage -that method since without that user intervention, the build system -uses python and numpy to find the location which should normally be -foolproof and not subject to the inconsistencies or errors possible -with setting the variable. But if some users still insist on setting -the variable, that variable's name should now be NUMPY_INCLUDE_PATH. - -3.2 Major overhaul of the build system and bindings for Tcl and friends - -After years of neglect we have worked very hard in the release cycle -leading up to the release of 5.9.11 on our build system and code -interfacing Tcl and friends (Tk, Itcl, Itk, and Iwidgets) with PLplot. -The build system now does a much better job of finding a consistent -set of components for Tcl and friends. For example, switching from -the system version of those components to a special build of those -components is typically a matter of simply putting tclsh from the -special build first on the PATH. And after the components of Tcl and -friends are found, the build system does extensive checking to make -sure they are compatible with each other. The plplottcktk library has -now been split (see remarks in the above OFFICIAL NOTICES for more -details). Many bugs have been fixed, and all tests documented in -examples/tcl/README.tcldemos and examples/tk/README.tkdemos have now -been implemented as tests via the build system to help avoid any -regressions in the build system and bindings for Tcl and friends in -the future. - -As a consequence of these activities the ntk device has been enabled -under Windows. The xwin and tkwin devices work under Cygwin. - -3.3 Substantial overhaul of the build system for the Qt-components of PLplot - -As a result of these improvements compiling and linking of our -Qt-related components just got a lot more rational, and the -long-standing memory management issues reported by valgrind for -examples/c++/qt_example for the non-dynamic devices case have been -resolved. - -3.4 The epa_build project has been implemented - -The goal of this project is to make builds of recent versions of -PLplot dependencies (and PLplot itself) much more convenient on all -platforms. Once this goal is realized, it should make the full power -of PLplot (which depends on the existence and quality of its -dependencies) readily available on all platforms. The epa_build -project uses the power of CMake (especially the ExternalProject_Add -command which is why we chose to use the prefix "epa_" in the name of -epa_build) to organize downloading, updating, configuring, building, -testing, and installing of any kind (not just those with CMake-based -build systems) of software project with full dependency support -between all the various builds. For those users who are not -satisified with the PLplot dependencies on their systems, learn how to -use the epa_build project by consulting cmake/epa_build/README. - -The epa_build project is in pretty good shape on Linux; epa_build -configurations work properly for build tools such as Tcl/Tk8.6, Itcl, -Itk, and Iwidgets and for regular packages such as pango (needed for -the cairo device driver), qt4_lite (needed for the qt device driver), -the wxwidgets software package (needed for the wxwidgets device -driver), and many smaller, but useful PLplot dependencies such as -shapelib, libqhull, and libharu. The total build time is roughly an -hour for an ordinary PC which is not much of a price to pay to get -access to up-to-date versions of virtually all dependencies of PLplot. -In fact, the only known dependency of PLplot not currently covered by -epa_build is octave. In principle, it should be straightforward to -add an epa_build configurations for octave and its many dependencies, -but that possibility has not been explored yet. - -In principle, epa_build should work out of the box on Mac OS X -platforms, but we haven't tested on that platform yet. - -Our testing for MinGW/MSYS and Cygwin shows the epa_build project is -still in fairly rough shape on Windows. It is known that the "plplot" -case (PLplot with all its dependencies) fails in various ways on all -Windows platforms. Those issues are being actively worked on. Note, -however, that the "plplot_lite" case (PLplot with all the minor -dependencies but without Tcl etc., build tools and without the pango, -qt4_lite, and wxwidgets dependencies) has been shown to work on -MinGW/MSYS and should probably also work on Cygwin although we haven't -tested that specific case yet. - 4. OFFICIAL NOTICES FOR USERS SINCE 5.8.0 (the previous stable release) (5.9.11) Backwards-incompatible API change. The numerical symbolic This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ai...@us...> - 2013-12-22 22:28:49
|
Revision: 12911 http://sourceforge.net/p/plplot/code/12911 Author: airwin Date: 2013-12-22 22:28:45 +0000 (Sun, 22 Dec 2013) Log Message: ----------- Preserve the historical record of the 5.9.11 release notes by prepending into OLD-README.release. Modified Paths: -------------- trunk/OLD-README.release Modified: trunk/OLD-README.release =================================================================== --- trunk/OLD-README.release 2013-12-22 22:26:29 UTC (rev 12910) +++ trunk/OLD-README.release 2013-12-22 22:28:45 UTC (rev 12911) @@ -1,3 +1,1874 @@ +PLplot Release 5.9.11 +~~~~~~~~~~~~~~~~~~~~ +This is a development release of PLplot. It represents the ongoing efforts +of the community to improve the PLplot plotting package. Development +releases in the 5.9.x series will be available every few months. The next +stable release will be 5.10.0. + +If you encounter a problem that is not already documented in the +PROBLEMS file or on our bug tracker, then please send bug reports to +PLplot developers via the mailing lists at +<http://sourceforge.net/p/plplot/mailman/> (preferred for initial +discussion of issues) and, if no quick resolution is possible, on our +bug tracker at <http://sourceforge.net/p/plplot/bugs/>. + +Please see the license under which this software is distributed +(LGPL), and the disclaimer of all warranties, given in the COPYING.LIB +file. + +INDEX + +1. OFFICIAL NOTICES FOR USERS SINCE 5.9.10 (the previous development release) + +2. Tests made for release 5.9.11 + +3. Changes relative to PLplot 5.9.10 (the previous development release) + +3.1 NUMERIC_INCLUDE_PATH ==> NUMPY_INCLUDE_PATH +3.2 Major overhaul of the build system and bindings for Tcl and friends +3.3 Substantial overhaul of the build system for the Qt-components of PLplot +3.4 The epa_build project has been implemented + + +4. OFFICIAL NOTICES FOR USERS SINCE 5.8.0 (the previous stable release) + +5. Changes relative to PLplot 5.8.0 (the previous stable release) + +5.1 All autotools-related files have now been removed +5.2 Build system bug fixes +5.3 Build system improvements +5.4 Implement build-system infrastructure for installed Ada bindings and +examples +5.5 Code cleanup +5.6 Date / time labels for axes +5.7 Alpha value support +5.8 New PLplot functions +5.9 External libLASi library improvements affecting our psttf device +5.10 Improvements to the cairo driver family +5.11 wxWidgets driver improvements +5.12 pdf driver improvements +5.13 svg driver improvements +5.14 Ada language support +5.15 OCaml language support +5.16 Perl/PDL language support +5.17 Update to various language bindings +5.18 Update to various examples +5.19 Extension of our test framework +5.20 Rename test subdirectory to plplot_test +5.21 Website support files updated +5.22 Internal changes to function visibility +5.23 Dynamic driver support in Windows +5.24 Documentation updates +5.25 libnistcd (a.k.a. libcd) now built internally for -dev cgm +5.26 get-drv-info now changed to test-drv-info +5.27 Text clipping now enabled by default for the cairo devices +5.28 A powerful qt device driver has been implemented +5.29 The PLplot API is now accessible from Qt GUI applications +5.30 NaN / Inf support for some PLplot functions +5.31 Various bug fixes +5.32 Cairo driver improvements +5.33 PyQt changes +5.34 Color Palettes +5.35 Re-implementation of a "soft landing" when a bad/missing compiler is +detected +5.36 Make PLplot aware of LC_NUMERIC locale +5.37 Linear gradients have been implemented +5.38 Cairo Windows driver implemented +5.39 Custom axis labelling implemented +5.40 Universal coordinate transform implemented +5.41 Support for arbitrary storage of 2D user data +5.42 Font improvements +5.42 Alpha value support for plotting in memory. +5.43 Add a Qt device for in memory plotting. +5.44 Add discrete legend capability. +5.45 Add full bindings and examples for the D language. +5.46 The plstring and plstring3 functions have been added +5.47 The pllegend API has been finalized +5.48 Octave bindings now implemented with swig +5.49 Documentation redone for our swig-generated Python and Octave bindings +5.50 Support large polygons +5.51 Complete set of PLplot parameters now available for Fortran +5.52 The plarc function has been added +5.53 The format for map data used by plmap has changed +5.54 Python support for Numeric has been dropped +5.55 Backwards-incompatible API change to non-integer line widths +5.56 Improvements to the build system for the Cygwin case +5.57 The plcolorbar API has been finalized +5.58 Documentation of the new legend and color bar capabilities of PLplot +5.59 The D bindings and examples have been converted from the +old version of D (D1) to the new version of D (D2) +5.60 The DocBook documentation for PLplot is now generated using modern +XML/XSL backend tools for DocBook +5.61 Implement experimental build_projects sub-project +5.62 Implement extremely simple "00" example +5.63 Convert to using the Allura form of SourceForge software +5.64 Use NON_TRANSITIVE linking by default for the shared libraries case for +all non-windows systems +5.65 Update f95 examples to take larger advantage of Fortran 95 capabilities +5.66 Substantial additions to the doxygen documentation +5.67 NUMERIC_INCLUDE_PATH ==> NUMPY_INCLUDE_PATH +5.68 Major overhaul of the build system and bindings for Tcl and friends +5.69 Substantial overhaul of the build system for the Qt-components of PLplot +5.70 The epa_build project has been implemented + +1. OFFICIAL NOTICES FOR USERS SINCE 5.9.10 (the previous development release) + +(5.9.11) Backwards-incompatible API change. The numerical symbolic +constants that are #defined as macros in plplot.h have been +repropagated to the Python, Java, Lua, Octave, Fortran 95, and Tcl +language bindings using scripts. Previously, this propagation was +done by hand in a piece-meal manner so use of the scripts has created +a number of changes in the PLplot symbolic constants for these +languages. These changes are the addition of 25 symbolic constants +that were previously only available for C, no deletions of symbolic +constants, no changes to numerical values, but the following +backwards-incompatible name changes: + +PLESC_PLFLTBUFFERING ==> PLESC_DOUBLEBUFFERING +PLESPLFLTBUFFERING_DISABLE ==> PLESC_DOUBLEBUFFERING_ENABLE +PLESPLFLTBUFFERING_ENABLE ==> PLESC_DOUBLEBUFFERING_ENABLE +PLESPLFLTBUFFERING_QUERY ==> PLESC_DOUBLEBUFFERING_QUERY + +So those users who were using the symbolic constants on the left for +the above languages will have to change their source code or scripts +to use the constants on the right. No changes in source code or +scripts should be required of other users. + +(5.9.11) Backwards-incompatible API change. The PLplot build system +and bindings for Tcl and friends have had a major overhaul, see below. +Part of this change was to split the former libplplottcltk into two +components. The new libplplottcltk is now a pure Tcl/Tk extension +that can be linked to the stub versions of the Tcl/Tk libraries and +dynamically loaded from a tclsh or wish environment using the +appropriate "package require" command. The new libplplottcltk_Main +library contains code (e.g., pltclMain and pltkMain) required by C +plotting applications (e.g., pltcl, plrender, and xtk0[124].c) that +link to libplplottcltk. + +(5.9.11) Backwards-incompatible change. Our Fortran 77 bindings +and examples have been completely removed because Fortran 95 is just a +much better language which we have been supporting for a long time, +and our judgement call based on user feedback we have received is +nobody is interested in plotting using strict Fortran 77 language +constructs any more. However, if there is still some Fortran 77 +source code out there that uses PLplot, typically the only change you +should have to do to port it to our Fortran 95 bindings is to place +the command "use plplot" as the first line of the source code of the +main routine. + +(5.9.11) Deprecation. The functionality of the AGG backend and +FreeType option in the wxwidgets device driver is provided (and in +some cases exceeded) by other backends and options that we have +implemented for this device driver. The AGG backend and Freetype +option are therefore deprecated with the intention to remove them in a +future release. + +2. Tests made for release 5.9.11 + +Note that "comprehensive tests" below refers to running +scripts/comprehensive_test.sh in default mode (i.e., not dropping any +tests). For each of our three major configurations (shared +libraries/dynamic devices, shared libraries/nondynamic devices, and +static libraries/nondynamic devices) this test script runs ctest in +the build tree and runs the test_noninteractive and test_interactive +targets in the build tree, the installed examples tree configured with +a CMake-based build system for the examples, and an installed examples +tree configured with our traditional (Make + pkg-config) build system +for the examples. + +Note that all tests mentioned below were successful ones unless +noted differently. + +* Alan W. Irwin ran comprehensive tests for a complete system build +environment on 64-bit Debian Wheezy Linux for AMD-64 hardware. + +* Alan W. Irwin ran comprehensive testsfor a limited (qt, cairo, wxwidgets, +and octave PLplot components were dropped) epa_build environment on +64-bit Debian Wheezy Linux for AMD-64 hardware. + +* Alan W. Irwin ran comprehensive tests for an almost complete epa_build +environment (only the wxwidgets and octave components of PLplot were +dropped) on 64-bit Debian Wheezy Linux for AMD-64 hardware. + +* Alan W. Irwin ran fairly comprehensive tests (i.e, for the shared +library/dynamic devices case run ctest and also the +test_noninteractive and test_interactive targets in the build tree) +for a quite limited (qt, cairo, wxwidgets, octave, Tcl/Tk, and Java +PLplot components were dropped) epa_build environment for 32-bit +MinGW/MSYS/Wine for AMD-64 hardware. The Wine version was a release +candidate for Wine-1.6 that was built on Debian Wheezy Linux, the +compiler was gcc-4.7.2, the CMake generator was "MSYS Makefiles", and +the build command was "make" (i.e., the MSYS version, not the MinGW +version). An attempt was made to extend this successful test result +to the installed examples built with the CMake-based build system, but +for that case the Ada examples all failed at run time with a return +code of 3 so no further attempt was made to widen the scope of these +MinGW/MSYS/Wine tests. + +* Andrew Ross ran fairly comprehensive tests (i.e., for the shared +library/dynamic devices case use the test_noninteractive and +test_interactive targets in the build tree) for a complete system +build environment on 64-bit Debian unstable Linux for AMD-64 hardware. + +* Andrew Ross ran comprehensive tests for a complete system build +environment on 64-bit Ubuntu Saucy (13.10) Linux for AMD-64 hardware. +The only issue was a segmentation fault on the c++ qt_example for +the nondynamic devices case only. This is reproducible on this +system, but not on other Linux platforms so may be specific to the +Ubuntu version of the Qt libraries. This is unlikely to affect most +users since the default is to use dynamically loaded devices. + +* Andrew Ross ran limited tests with a limited number of nondynamic +devices (mem, null, psc, svg, xfig, xwin) and limited language +bindings (C / C++ / F95) for a CentOS 5.10 system with AMD64 hardware. +The build passed "make test_diff psc". The java version was too old +and java support had to be disabled. Ada support had to be +disabled due to a bug (now fixed). Cairo support also had to be +disabled due to too old a version of the library being installed. + +* Andrew Ross ran limited tests for an epa_build environment on CentOS +5.10. The buildtools and plplot_lite targets were built (with +nondynamic devices), again after disabling java, ada and cairo support. +This build added support for tcl / tk bindings and the pdf and tk based +devices. The build passed make test_noninteractive in the install tree, +but failed make test_interactive due to missing rpath information for the +itcl and itk libraries. This bug can be worked around by setting +LD_LIBRARY_PATH to point to the libraries, in which case the interactive +test works fine. + +* Arjen Markus ran a fairly comprehensive test (i.e., for the shared +library/dynamic devices case use the test_noninteractive target) for a +incomplete system build environment (the Ada, D, itcl/itk, Lua, ocaml, +octave, Java, and wxwidgets components of PLplot were dropped) on +64-bit Cygwin with gcc-4.8.2. That platform was installed on top of +64-bit Windows 7, service pack 1 for AMD-64 hardware. Java and +wxwidgets were dropped because of build errors for those on Cygwin +that have not been resolved yet. The remaining components were +dropped due to lack of time to investigate them so far. There was +close to complete success with the qt and cairo (aside from wincairo) +device drivers which is an excellent Windows result since those +device drivers add a lot of important capability to PLplot. + +* Arjen Markus ran build tests and limited run-time tests (checking by +hand that some components of PLplot worked) for the shared +libraries/dynamic devices case for a limited build environment (the +qt, cairo, wxwidgets, pdf and the components mentioned above of PLplot +were dropped except for Java which was included in this test) on +32-bit MinGW. That platform was installed on top of 64-bit Windows 7, +service pack 1 for AMD-64 hardware. The compiler was gcc-4.7.0, the +CMake generator was "MinGW Makefiles", and the build command was +mingw32-make. + +* Arjen Markus ran build tests and limited run-time tests (checking by +hand that some components of PLplot worked) for the shared +libraries/dynamic devices case for a limited build environment (the +same limitations as for his MinGW tests above) for MSVC/C++ 2010 and Intel +Fortran 2011 compilers on 64-bit Windows 7, service pack 1 for AMD-64 +hardware. In general, the CMake generator "NMake Makefiles" and +the corresponding build command "nmake" worked well for this platform. +The attempted use of Visual Studio generators combined with the +Visual Studio 2010 IDE available on that platform was more problematic. + +* Phil Rosenberg ran build tests and limited run-time tests (checking +by hand that some components of PLplot worked) for the static +libraries/nondynamic devices case for a limited build environment +(virtually all PLplot components dropped other than C, C++ and +wxwidgets 2.8) for the Visual Studio 2008 IDE (with associated MSVC +compiler) on 32-bit Windows 7 for AMD-64 hardware. The "Visual Studio +9 2008" generator yielded good results. + +* Phil Rosenberg ran build tests and limited run-time tests (checking +by hand that some components of PLplot worked) for the static +libraries/nondynamic devices case for a limited build environment +(virtually all PLplot components dropped other than C, CXX, and +wxwidgets 3.0) for the Visual Studio 2012 IDE (with associated MSVC +compiler) on Windows 8 for AMD-64 hardware. Both x86 and x64 builds +were tested. The combination of "NMake Makefiles" generator and MSVC +compiler yielded good build results if CMake patches (available at +http://www.cmake.org/Bug/view.php?id=14587 and +http://www.cmake.org/Bug/view.php?id=14642) to allow use of +wxwidgets-3.0 were applied. With those patches some run-time problems +with the use of Plplot's wxWidgetsApp with wxWidgets 3.0 were observed +in the examples, however plots embedded in wxWidgets apps seem to work +fine. The "Visual Studio 11" and "Visual Studio 11 Win64" generators +had some additional issues which could be worked around but which +nevertheless indicated there are some CMake bugs for those generators +that need to be addressed. + +* Jerry Bauck ran build tests of PLplot for the C core library, the +Ada, C++, Java, Lua, and Python bindings, and a fairly complete list +of device drivers (including qt and cairo) for PLplot on Mac OS X +Mountain Lion for AMD64 hardware. Extremely narrow run-time tests of +the Ada examples were a success, but all the standard testing scripts +failed because for unknown reasons the lena.pgm file that is used in +conjunction with our standard example 20 was not properly copied by +our build and test system from the source tree to the correct +locations in the build tree. + +* Felipe Gonzalez ran build tests of PLplot for the C core library and +the C++, Fortran 95, and OCaml-4.01.0 bindings on Mac OS X Mountain +Lion. The report from Felipe stated the compiler suite used was +probably from MacPorts, and did not state anything about the hardware +type. + +3. Changes relative to PLplot 5.9.10 (the previous development release) + +3.1 NUMERIC_INCLUDE_PATH ==> NUMPY_INCLUDE_PATH + +We have long since dropped support for the Numeric Python module and +are now exclusively using the numpy Python modules instead. +Therefore, we have changed the CMake variable name used in our build +system that holds the location of the numpy headers from the confusing +misnomer, NUMERIC_INCLUDE_PATH, to NUMPY_INCLUDE_PATH. This change +only impacts PLplot users who in the past have used the cmake option +-DNUMERIC_INCLUDE_PATH to set the CMake variable NUMERIC_INCLUDE_PATH +to the location of the numpy header directory. Note we discourage +that method since without that user intervention, the build system +uses python and numpy to find the location which should normally be +foolproof and not subject to the inconsistencies or errors possible +with setting the variable. But if some users still insist on setting +the variable, that variable's name should now be NUMPY_INCLUDE_PATH. + +3.2 Major overhaul of the build system and bindings for Tcl and friends + +After years of neglect we have worked very hard in the release cycle +leading up to the release of 5.9.11 on our build system and code +interfacing Tcl and friends (Tk, Itcl, Itk, and Iwidgets) with PLplot. +The build system now does a much better job of finding a consistent +set of components for Tcl and friends. For example, switching from +the system version of those components to a special build of those +components is typically a matter of simply putting tclsh from the +special build first on the PATH. And after the components of Tcl and +friends are found, the build system does extensive checking to make +sure they are compatible with each other. The plplottcktk library has +now been split (see remarks in the above OFFICIAL NOTICES for more +details). Many bugs have been fixed, and all tests documented in +examples/tcl/README.tcldemos and examples/tk/README.tkdemos have now +been implemented as tests via the build system to help avoid any +regressions in the build system and bindings for Tcl and friends in +the future. + +As a consequence of these activities the ntk device has been enabled +under Windows. The xwin and tkwin devices work under Cygwin. + +3.3 Substantial overhaul of the build system for the Qt-components of PLplot + +As a result of these improvements compiling and linking of our +Qt-related components just got a lot more rational, and the +long-standing memory management issues reported by valgrind for +examples/c++/qt_example for the non-dynamic devices case have been +resolved. + +3.4 The epa_build project has been implemented + +The goal of this project is to make builds of recent versions of +PLplot dependencies (and PLplot itself) much more convenient on all +platforms. Once this goal is realized, it should make the full power +of PLplot (which depends on the existence and quality of its +dependencies) readily available on all platforms. The epa_build +project uses the power of CMake (especially the ExternalProject_Add +command which is why we chose to use the prefix "epa_" in the name of +epa_build) to organize downloading, updating, configuring, building, +testing, and installing of any kind (not just those with CMake-based +build systems) of software project with full dependency support +between all the various builds. For those users who are not +satisified with the PLplot dependencies on their systems, learn how to +use the epa_build project by consulting cmake/epa_build/README. + +The epa_build project is in pretty good shape on Linux; epa_build +configurations work properly for build tools such as Tcl/Tk8.6, Itcl, +Itk, and Iwidgets and for regular packages such as pango (needed for +the cairo device driver), qt4_lite (needed for the qt device driver), +the wxwidgets software package (needed for the wxwidgets device +driver), and many smaller, but useful PLplot dependencies such as +shapelib, libqhull, and libharu. The total build time is roughly an +hour for an ordinary PC which is not much of a price to pay to get +access to up-to-date versions of virtually all dependencies of PLplot. +In fact, the only known dependency of PLplot not currently covered by +epa_build is octave. In principle, it should be straightforward to +add an epa_build configurations for octave and its many dependencies, +but that possibility has not been explored yet. + +In principle, epa_build should work out of the box on Mac OS X +platforms, but we haven't tested on that platform yet. + +Our testing for MinGW/MSYS and Cygwin shows the epa_build project is +still in fairly rough shape on Windows. It is known that the "plplot" +case (PLplot with all its dependencies) fails in various ways on all +Windows platforms. Those issues are being actively worked on. Note, +however, that the "plplot_lite" case (PLplot with all the minor +dependencies but without Tcl etc., build tools and without the pango, +qt4_lite, and wxwidgets dependencies) has been shown to work on +MinGW/MSYS and should probably also work on Cygwin although we haven't +tested that specific case yet. + +4. OFFICIAL NOTICES FOR USERS SINCE 5.8.0 (the previous stable release) + +(5.9.11) Backwards-incompatible API change. The numerical symbolic +constants that are #defined as macros in plplot.h have been +repropagated to the Python, Java, Lua, Octave, Fortran 95, and Tcl +language bindings using scripts. Previously, this propagation was +done by hand in a piece-meal manner so use of the scripts has created +a number of changes in the PLplot symbolic constants for these +languages. These changes are the addition of 25 symbolic constants +that were previously only available for C, no deletions of symbolic +constants, no changes to numerical values, but the following +backwards-incompatible name changes: + +PLESC_PLFLTBUFFERING ==> PLESC_DOUBLEBUFFERING +PLESPLFLTBUFFERING_DISABLE ==> PLESC_DOUBLEBUFFERING_ENABLE +PLESPLFLTBUFFERING_ENABLE ==> PLESC_DOUBLEBUFFERING_ENABLE +PLESPLFLTBUFFERING_QUERY ==> PLESC_DOUBLEBUFFERING_QUERY + +So those users who were using the symbolic constants on the left for +the above languages will have to change their source code or scripts +to use the constants on the right. No changes in source code or +scripts should be required of other users. + +(5.9.11) Backwards-incompatible API change. The PLplot build system +and bindings for Tcl and friends have had a major overhaul, see below. +Part of this change was to split the former libplplottcltk into two +components. The new libplplottcltk is now a pure Tcl/Tk extension +that can be linked to the stub versions of the Tcl/Tk libraries and +dynamically loaded from a tclsh or wish environment using the +appropriate "package require" command. The new libplplottcltk_Main +library contains code (e.g., pltclMain and pltkMain) required by C +plotting applications (e.g., pltcl, plrender, and xtk0[124].c) that +link to libplplottcltk. + +(5.9.11) Backwards-incompatible change. Our Fortran 77 bindings +and examples have been completely removed because Fortran 95 is just a +much better language which we have been supporting for a long time, +and our judgement call based on user feedback we have received is +nobody is interested in plotting using strict Fortran 77 language +constructs any more. However, if there is still some Fortran 77 +source code out there that uses PLplot, typically the only change you +should have to do to port it to our Fortran 95 bindings is to place +the command "use plplot" as the first line of the source code of the +main routine. + +(5.9.11) Deprecation. The functionality of the AGG backend and +FreeType option in the wxwidgets device driver is provided (and in +some cases exceeded) by other backends and options that we have +implemented for this device driver. The AGG backend and Freetype +option are therefore deprecated with the intention to remove them in a +future release. + +(5.9.10) The minimum version of CMake has been bumped to 5.8.9. This +change allows our build system to take advantage of CMake features +introduced in later versions of CMake. Even more importantly it also +updates user's builds to the CMake policy conventions (important +backwards-incompatible changes in CMake behaviour introduced in later +versions of CMake) to the default CMake policy used for 5.8.9. + +(5.9.10) The long deprecated support for the python Numeric package has been +dropped. This is no longer supported and is superseded by numpy. Support for +numpy has been the default in PLplot for a number of years so most users +should notice no difference. + +(5.9.10) The current format for maps used by plmap has been deprecated in +favour of using shapefiles (a standard format widely used for GIS and with +suitable free data sources available). This requires the shapelib library +to be installed. If this library is not installed then by default no map +support will be available. Support for the old binary format is still +available by setting the cmake variable PL_DEPRECATED, however this +support will be removed in a future release of PLplot. + +(5.9.10) Those who use the Python version of plgriddata will have to +change their use of this function for this release as follows (see +examples/xw21.py) + +# old version (which overwrites preexisting zg in place): +zg = reshape(zeros(xp*yp),(xp,yp)) +plgriddata(x, y, z, xg, yg, zg, alg, opt[alg-1]) + +# new version (which uses a properly returned newly created NumPy array +# as per the normal Python expectations): + +zg = plgriddata(x, y, z, xg, yg, alg, opt[alg-1]) + +(5.9.10) Significant efforts have been made to ensure the PLplot code +is standards compliant and free from warnings. Compliance has been +tested using the gcc compiler suite -std, -pedantic and -W flags. The +language standards adopted are +C: ISO C99 with POSIX.1-2001 base specification (required for a number +of C library calls) +C++: ISO C++ 1998 standard plus amendments +F95: Fortran 95 standard + +Specifically, the following gcc / g++ / gfortran flags were used + +CFLAGS='-O3 -std=c99 -pedantic -D_POSIX_C_SOURCE=200112L -Wall \ +-Wextra -Wmissing-prototypes -Wstrict-prototypes -Wnested-externs \ +-Wconversion -Wshadow -Wcast-qual -Wcast-align -Wwrite-strings' + +CXXFLAGS='-O3 -fvisibility=hidden -std=c++98 -pedantic -Wall -Wextra ' + +FFLAGS='-std=f95 -O3 -fall-intrinsics -fvisibility=hidden -pedantic \ +-Wall -Wextra ' + +Note that the code is not yet quite standards compliant or warning free, +but this is our aim. We know that a number of common compilers do not +support these standards "out of the box", so we will continue to develop +and support workarounds to ensure that PLplot remains easily built on +a variety of platforms and compilers. Standards compliance should make +it easier to port to new systems in the future. Using aggressive +warnings flags will help to detect and eliminate errors or problems in +the libraries. + +The gfortran -fall-intrinsics flag is required for a couple of +non-standard intrinsics which are used in the code. In the future +adopting the fortran 2003 or 2008 standard should allow this to be +removed. + +Note: currently this code cleanup does not apply to code generated by +swig (octave, python, java, lua bindings) which gives a large number of +code warnings. + +(5.9.10) For some years now we have had both FORTRAN 77 and Fortran 95 +bindings, but to the best of our knowledge, there are no longer +any maintained FORTRAN 77 compilers left that do not also support +Fortran 95. (g77 for instance has not been maintained for several +years now. Its successor gfortran supports Fortran 95 and later standards +as well all g77's legacy features). + +An important consequence is that we can not test the implementation for +compliance to the FORTRAN 77 standard. +Furthermore, we would prefer to concentrate all our Fortran +development effort on our f95 bindings and strongly encourage all our +Fortran users to use those bindings if they haven't switched from the +f77 version already. Therefore, as of this release we are deprecating +the f77 bindings and examples and plan no further support for them. +We signal this deprecation by disabling f77 by default (although our +users can still get access to these unsupported bindings and examples +for now by specifying the -DENABLE_f77=ON cmake option). + +We plan to completely remove the f77 bindings and examples +two releases after this one. + +(5.9.10) We have found that some distributions of the Windows +MinGW/gfortran compiler (i.e., MinGW/gfortran 4.6.1 and 4.6.2 from +http://www.equation.com) may cause a link error due to duplicate +symbols like __gfortran_setarg_. These errors can be suppressed by +adding the flag -Wl,--allow-multiple-define. It is very likely that +this is a bug in these distributions. + +As building the libraries and the examples succeeds without any problem +if you use most other distributions of Windows MinGW/gfortran, +we have decided not to include this flag in our build system. + +Distributions that are known to work: +- MinGW/gfortran-4.5 from http://www.equation.com, +- MinGW/gfortran-4.5.2-1 that is installed using the latest + mingw-get-inst-20110802 automatic installer available at + http://sourceforge.net/projects/mingw/files/Installer/mingw-get-inst +- MinGW/gfortran-4.6.2 from tdm-gcc.tdragon.net + +(Therefore it is not the 4.5.x versus 4.6.x version of MinGW/gfortran +as such that causes this problem.) + +(5.9.9) This is a quick release to deal with two broken build issues +that were recently discovered for our Windows platform. Windows users should +avoid 5.9.8 because of these problems for that release, and instead use +5.9.9 which has been heavily tested on a number of platforms including +Windows, see "Tests made for release 5.9.9" below. + +(5.9.8) For unicode-aware devices we now follow what is done for the +Hershey font case for epsilon, theta, and phi. This means the #ge, +#gh, and #gf escapes now give users the Greek lunate epsilon, the +ordinary Greek lower case theta, and the Greek symbol phi for Unicode +fonts just like has occurred since the dawn of PLplot history for the +Hershey font case. Previously these legacy escapes were assigned to +ordinary Greek lower-case epsilon, the Greek symbol theta (= script +theta), and the ordinary Greek lower case phi for unicode fonts +inconsistently with what occurred for Hershey fonts. This change gets +rid of this inconsistency, that is the #g escapes should give the best +unicode approximation to the Hershey glyph result that is possible for +unicode-aware devices. + +In general we encourage users of unicode-aware devices who might +dislike the Greek glyph Hershey-lookalike choices they get with the +legacy #g escapes to use instead either PLplot unicode escapes (e.g., +"#[0x03b5]" for ordinary Greek lower-case epsilon, see page 3 of +example 23) or better yet, UTF-8 strings (e.g., "ε") to specify +exactly what unicode glyph they want. + +(5.9.8) The full set of PLplot constants have been made available to +our Fortran 95 users as part of the plplot module. This means those +users will have to remove any parameter statements where they have +previously defined the PLplot constants (whose names typically start +with "PL_" for themselves. For a complete list of the affected +constants, see the #defines in swig-support/plplotcapi.i which are +used internally to help generate the plplot module. See also Index +item 5.51 below. + +(5.9.8) There has been widespread const modifier changes in the API +for libplplotd and libplplotcxxd. Those backwards-incompatible API +changes are indicated in the usual way by a soversion bump in those +two libraries which will force all apps and libraries that depend on +those two libraries to be rebuilt. + +Specifically, we have changed the following arguments in the C library +(libplplotd) case + +type * name1 ==> const type * name1 +type * name2 ==> const type ** name2 + +and the following arguments in the C++ library (libplplotcxxd) case + +type * name1 ==> const type * name1 +type * name1 ==> const type * const * name2 + +where name1 is the name of a singly dimensioned array whose values are +not changed internally by the PLplot libraries and name2 is the name +of a doubly dimensioned array whose values are not changed internally +by the PLplot libraries. + +The general documentation and safety justification for such const +modifier changes to our API is given in +http://www.cprogramming.com/tutorial/const_correctness.html. +Essentially, the above const modifier changes constitute our guarantee +that the associated arrays are not changed internally by the PLplot +libraries. + +Although it is necessary to rebuild all apps and libraries that depend +on libplplotd and/or libplplotcxxd, that rebuild should be possible +with unchanged source code without build errors in all cases. For C +apps and libraries (depending on libplplotd) there will be additional +build warnings due to a limitation in the C standard discussed at +http://c-faq.com/ansi/constmismatch.html unless all doubly dimensioned +arrays (but not singly dimensioned) are explicitly cast to (const type +**). However, such source code changes will not be necessary to avoid +warning messages for the C++ (libplplotcxxd) change because of the +double use of const in the above "const type * const * name2" change. + +(5.9.8) The plarc API has changed in release 5.9.8. The plarc API now +has a rotation parameter which will eventually allow for rotated arcs. +PLplot does not currently support rotated arcs, but the plarc function +signature has been modified to avoid changing the API when this +functionality is added. + +(5.9.6) We have retired the pbm driver containing the pbm (actually +portable pixmap) file device. This device is quite primitive and +poorly maintained. It ignores unicode fonts (i.e., uses the Hershey +font fallback), falls back to ugly software fills, doesn't support +alpha transparency, etc. It also has a serious run-time issue with +example 2 (double free detected by glibc) which probably indicates +some fundamental issue with the 100 colors in cmap0 for that +example. For those who really need portable pixmap results, we suggest +using the ImageMagick convert programme, e.g., "convert +examples/x24c01.pngqt test.ppm" or "convert examples/x24c01.pngcairo +test.ppm" to produce good-looking portable pixmap results from our +best png device results. + +(5.9.6) We have retired the linuxvga driver containing the linuxvga +interactive device. This device is quite primitive, difficult to +test, and poorly maintained. It ignores unicode fonts (i.e., uses the +Hershey font fallback), falls back to ugly software fills, doesn't +support alpha transparency, etc. It is Linux only, can only be run as +root, and svgalib (the library used by linuxsvga) is not supported by +some mainstream (e.g., Intel) chipsets. All of these characteristics +make it difficult to even test this device much less use it for +anything serious. Finally, it has had a well-known issue for years +(incorrect colors) which has never been fixed indicating nobody is +interested in maintaining this device. + +(5.9.6) We have retired our platform support of djgpp that used to +reside in sys/dos/djgpp. The developer (Andrew Roach) who used to +maintain those support files for djgpp feels that the djgpp platform +is no longer actively developed, and he no longer uses djgpp himself. + +(5.9.6) We have changed plpoin results for ascii codes 92, 94, and 95 +from centred dot, degree symbol, and centred dot glyphs to the correct +backslash, caret, and underscore glyphs that are associated with those +ascii indices. This change is consistent with the documentation of +plpoin and solves a long-standing issue with backslash, caret, and +underscore ascii characters in character strings used for example by +pl[mp]tex. Those who need access to a centred dot with plpoin should +use index 1. The degree symbol is no longer accessible with plpoin, +but it is available in ordinary text input to PLplot as Hershey escape +"#(718)", where 718 is the Hershey index of the degree symbol, unicode +escape "#[0x00B0]" where 0x00B0 is the unicode index for the degree +symbol or direct UTF8 unicode string "°". + +(5.9.6) We have retired the gcw device driver and the related gnome2 +and pygcw bindings since these are unmaintained and there are good +replacements. These components of PLplot were deprecated as of +release 5.9.3. A good replacement for the gcw device is either the +xcairo or qtwidget device. A good replacement for the gnome2 bindings +is the externally supplied XDrawable or Cairo context associated with +the xcairo device and the extcairo device (see +examples/c/README.cairo). A good replacement for pygcw is our new +pyqt4 bindings for PLplot. + +(5.9.6) We have deprecated support for the python Numeric array +extensions. Numeric is no longer maintained and users of Numeric are +advised to migrate to numpy. Numpy has been the standard for PLplot +for some time. If numpy is not present PLplot will now disable python +by default. If you still require Numeric support in the short term +then set USE_NUMERIC to ON in cmake. The PLplot support for Numeric +will be dropped in a future release. + +(5.9.5) We have removed pyqt3 access to PLplot and replaced it by +pyqt4 access to PLplot (see details below). + +(5.9.5) The only method of specifying a non-default compiler (and +associated compiler options) that we support is the environment +variable approach, e.g., + +export CC='gcc -g -fvisibility=hidden' +export CXX='g++ -g -fvisibility=hidden' +export FC='gfortran -g -fvisibility=hidden' + +All other CMake methods of specifying a non-default compiler and +associated compiler options will not be supported until CMake bug 9220 +is fixed, see discussion below of the soft-landing re-implementation +for details. + +(5.9.5) We have retired the hpgl driver (containing the hp7470, +hp7580, and lj_hpgl devices), the impress driver (containing the imp +device), the ljii driver (containing the ljii and ljiip devices), and +the tek driver (containing the conex, mskermit, tek4107, tek4107f, +tek4010, tek4010f, versaterm, vlt, and xterm devices). Retirement +means we have removed the build options which would allow these +devices to build and install. Recent tests have shown a number of +run-time issues (hpgl, impress, and ljii) or build-time issues (tek) +with these devices, and as far as we know there is no more user +interest in them. Therefore, we have decided to retire these devices +rather than fix them. + +(5.9.4) We have deprecated the pbm device driver (containing the pbm +device) because glibc detects a catastrophic double free. + +(5.9.3) Our build system requires CMake version 5.6.0 or higher. + +(5.9.3) We have deprecated the gcw device driver and the related +gnome2 and pygcw bindings since these are essentially unmaintained. +For example, the gcw device and associated bindings still depends on +the plfreetype approach for accessing unicode fonts which has known +issues (inconsistent text offsets, inconvenient font setting +capabilities, and incorrect rendering of CTL languages). To avoid +these issues we advise using the xcairo device and the externally +supplied XDrawable or Cairo context associated with the xcairo device +and the extcairo device (see examples/c/README.cairo) instead. If you +still absolutely must use -dev gcw or the related gnome2 or pygcw +bindings despite the known problems, then they can still be accessed +by setting PLD_gcw, ENABLE_gnome2, and/or ENABLE_pygcw to ON. + +(5.9.3) We have deprecated the gd device driver which implements the +png, jpeg, and gif devices. This device driver is essentially +unmaintained. For example, it still depends on the plfreetype approach +for accessing unicode fonts which has known issues (inconsistent text +offsets, inconvenient font setting capabilities, and incorrect +rendering of CTL languages). To avoid these issues for PNG format, we +advise using the pngcairo or pngqt devices. To avoid these issues for +the JPEG format, we advise using the jpgqt device. PNG is normally +considered a better raster format than GIF, but if you absolutely +require GIF format, we advise using the pngcairo or pngqt devices and +then downgrading the results to the GIF format using the ImageMagick +"convert" application. For those platforms where libgd (the +dependency of the gd device driver) is accessible while the required +dependencies of the cairo and/or qt devices are not accessible, you +can still use these deprecated devices by setting PLD_png, PLD_jpeg, +or PLD_gif to ON. + +(5.9.3) We have re-enabled the tk, itk, and itcl components of PLplot +by default that were disabled by default as of release 5.9.1 due to +segfaults. The cause of the segfaults was a bug (now fixed) in how +pthread support was implemented for the Tk-related components of +PLplot. + +(5.9.2) We have set HAVE_PTHREAD (now called PL_HAVE_PTHREAD as of +release 5.9.8) to ON by default for all platforms other than Darwin. +Darwin will follow later once it appears the Apple version of X +supports it. + +(5.9.1) We have removed our previously deprecated autotools-based +build system. Instead, use the CMake-based build system following the +directions in the INSTALL file. + +(5.9.1) We no longer support Octave-5.1.73 which has a variety of +run-time issues in our tests of the Octave examples on different +platforms. In contrast our tests show we get good run-time results +with all our Octave examples for Octave-3.0.1. Also, that is the +recommended stable version of Octave at +http://www.gnu.org/software/octave/download.html so that is the only +version of Octave we support at this time. + +(5.9.1) We have decided for consistency sake to change the PLplot +stream variables plsc->vpwxmi, plsc->vpwxma, plsc->vpwymi, and +plsc->vpwyma and the results returned by plgvpw to reflect the exact +window limit values input by users using plwind. Previously to this +change, the stream variables and the values returned by plgvpw +reflected the internal slightly expanded range of window limits used +by PLplot so that the user's specified limits would be on the graph. +Two users noted this slight difference, and we agree with them it +should not be there. Note that internally, PLplot still uses the +expanded ranges so most users results will be identical. However, you +may notice some small changes to your plot results if you use these +stream variables directly (only possible in C/C++) or use plgvpw. + +5. Changes relative to PLplot 5.8.0 (the previous stable release) + +N.B. This release includes many code cleanups and fixes relative to +5.8.0 that are not mentioned in the list below. + +5.1 All autotools-related files have now been removed + +CMake is now the only supported build system. It has been tested on +Linux / Unix, Mac OS-X and Windows platforms. + +5.2 Build system bug fixes + +Various fixes include the following: + +Ctest will now work correctly when the build tree path includes symlinks. + +Dependencies for swig generated files fixed so they are not rebuilt every +time make is called. + +Various dependency fixes to ensure that parallel builds (using make -j) +work under unix. + +5.3 Build system improvements + +We now transform link flag results delivered to the CMake environment by +pkg-config into the preferred CMake form of library information. The +practical effect of this improvement is that external libraries in +non-standard locations now have their rpath options set correctly for our +build system both for the build tree and the install tree so you don't have +to fiddle with LD_LIBRARY_PATH, etc. + +5.4 Implement build-system infrastructure for installed Ada bindings and +examples + +Install source files, library information files, and the plplotada library +associated with the Ada bindings. Configure and install the pkg-config file +for the plplotada library. Install the Ada examples and a configured Makefile +to build them in the install tree. + +5.5 Code cleanup + +The PLplot source code has been cleaned up to make consistent use of +(const char *) and (char *) throughout. Some API functions have changed +to use const char * instead of char * to make it clear that the strings +are not modified by the function. The C and C++ examples have been updated +consistent with this. These changes fix a large number of warnings +with gcc-4.5. Note: this should not require programs using PLplot to be +recompiled as it is not a binary API change. + +There has also been some cleanup of include files in the C++ examples +so the code will compile with the forthcoming gcc-4.3. + +5.6 Date / time labels for axes + +PLplot now allows date / time labels to be used on axes. A new option +('d') is available for the xopt and yopt arguments to plbox which +indicates that the axis should be interpreted as a date / time. Similarly +there is a new range of options for plenv to select date / time labels. +The time format is seconds since the epoch (usually 1 Jan 1970). This +format is commonly used on most systems. The C gmtime routine can be +used to calculate this for a given date and time. The format for the +labels is controlled using a new pltimefmt function, which takes a +format string. All formatting is done using the C strftime function. +See documentation for available options on your platform. Example 29 +demonstrates the new capabilities. + +N.B. Our reliance on C library POSIX time routines to (1) convert from +broken-down time to time-epoch, (2) to convert from time-epoch to +broken-down time, and (3) to format results with strftime have proved +problematic for non-C languages which have time routines of variable +quality. Also, it is not clear that even the POSIX time routines are +available on Windows. So we have plans afoot to implement high-quality +versions of (1), (2), and (3) with additional functions to get/set the epoch +in the PLplot core library itself. These routines should work on all C +platforms and should also be uniformly accessible for all our language +bindings. + +WARNING..... Therefore, assuming these plans are implemented, the present +part of our date/time PLplot API that uses POSIX time routines will be +changed. + +5.7 Alpha value support + +PLplot core has been modified to support a transparency or alpha value +channel for each color in color map 0 and 1. In addition a number of new +functions were added the PLplot API so that the user can both set and query +alpha values for color in the two color maps. These functions have the same +name as their non-alpha value equivalents, but with a an "a" added to the +end. Example 30 demonstrates some different ways to use these functions +and the effects of alpha values, at least for those drivers that support alpha +values. This change should have no effect on the device drivers that do not +currently support alpha values. Currently only the cairo, qt, gd, wxwidgets and +aquaterm drivers support alpha values. There are some limitations with the gd +driver due to transparency support in the underlying libgd library. + +5.8 New PLplot functions + +An enhanced version of plimage, plimagefr has been added. This allows images +to be plotted using coordinate transformation, and also for the dynamic range +of the plotted values to be altered. Example 20 has been modified to +demonstrate this new functionality. + +To ensure consistent results in example 21 between different platforms and +language bindings PLplot now includes a small random number generator within +the library. plrandd will return a PLFLT random number in the range 0.0-1.0. +plseed will allow the random number generator to be seeded. + +5.9 External libLASi library improvements affecting our psttf device + +Our psttf device depends on the libLASi library. libLASi-1.1.0 has just been +released at http://sourceforge.net/svn/?group_id=187113 . We recommend +using this latest version of libLASi for building PLplot and the psttf +device since this version of libLASi is more robust against glyph +information returned by pango/cairo/fontconfig that on rare occasions is not +suitable for use by libLASi. + +5.10 Improvements to the cairo driver family + +Jonathan Woithe improved the xcairo driver so that it can optionally be +used with an external user supplied X Drawable. This enables a nice +separation of graphing (PLplot) and window management (Gtk, etc..). Doug +Hunt fixed the bugs that broke the memcairo driver and it is now fully +functional. Additionally, a new extcairo driver was added that will plot +into a user supplied cairo context. + +5.11 wxWidgets driver improvements + +Complete reorganization of the driver code. A new backend was added, based +on the wxGraphicsContext class, which is available for wxWidgets 5.8.4 +and later. This backend produces antialiased output similar to the +AGG backend but has no dependency on the AGG library. The basic wxDC +backend and the wxGraphicsContext backend process the text output +on their own, which results in much nicer plots than with the standard +Hershey fonts and is much faster than using the freetype library. New +options were introduced in the wxWidgets driver: + - backend: Choose backend: (0) standard, (1) using AGG library, + (2) using wxGraphicsContext + - hrshsym: Use Hershey symbol set (hrshsym=0|1) + - text: Use own text routines (text=0|1) + - freetype: Use FreeType library (freetype=0|1) +The option "text" changed its meaning, since it enabled the FreeType library +support, while now the option enables the driver's own text routines. + +Some other features were added: + * the wxWidgets driver now correctly clears the background (or parts of it) + * transparency support was added + * the "locate mode" (already available in the xwin and tk driver) was + implemented, where graphics input events are processed and translated + to world coordinates + +5.12 pdf driver improvements + +The pdf driver (which is based on the haru library http://www.libharu.org) +processes the text output now on its own. So far only the Adobe Type1 +fonts are supported. TrueType font support will follow. Full unicode +support will follow after the haru library will support unicode strings. The +driver is now able to produce A4, letter, A5 and A3 pages. The Hershey font +may be used only for symbols. Output can now be compressed, resulting in +much smaller file sizes. +Added new options: + - text: Use own text routines (text=0|1) + - compress: Compress pdf output (compress=0|1) + - hrshsym: Use Hershey symbol set (hrshsym=0|1) + - pagesize: Set page size (pagesize=A4|letter|A3|A5) + +5.13 svg driver improvements + +This device driver has had the following improvements: schema for generated +file now validates properly at http://validator.w3.org/ for the +automatically detected document type of SVG 1.1; -geometry option now works; +alpha channel transparency has been implemented; file familying for +multipage examples has been implemented; coordinate scaling has been +implemented so that full internal PLplot resolution is used; extraneous +whitespace and line endings that were being injected into text in error have +now been removed; and differential correction to string justification is now +applied. + +The result of these improvements is that our SVG device now gives the +best-looking results of all our devices. However, currently you must be +careful of which SVG viewer or editor you try because a number of them have +some bugs that need to be resolved. For example, there is a librsvg bug in +text placement (http://bugzilla.gnome.org/show_bug.cgi?id=525023) that +affects all svg use within GNOME as well as the ImageMagick "display" +application. However, at least the latest konqueror and firefox as well as +inkscape and scribus-ng (but not scribus!) give outstanding looking results +for files generated by our svg device driver. + +5.14 Ada language support + +We now have a complete Ada bindings implemented for PLplot. We also have a +complete set of our standard examples implemented in Ada which give results +that are identical with corresponding results for the C standard examples. +This is an excellent test of a large subset of the Ada bindings. We now +enable Ada by default for our users and request widespread testing of this +new feature. + +5.15 OCaml language support + +Thanks primarily to Hezekiah M. Carty's efforts we now have a complete OCaml +bindings implemented for PLplot. We also have a complete set of our standard +examples implemented in OCaml which give results that are identical with +corresponding results for the C standard examples. This is an excellent test +of a large subset of the OCaml bindings. We now enable OCaml by default for +our users and request widespread testing of this new feature. + +5.16 Perl/PDL language support + +Thanks to Doug Hunt's efforts the external Perl/PDL module, +PDL::Graphics::PLplot version 0.46 available at +http://search.cpan.org/dist/PDL-Graphics-PLplot has been brought up to date +to give access to recently added PLplot API. The instructions for how to +install this module on top of an official PDL release are given in +examples/perl/README.perldemos. Doug has also finished implementing a +complete set of standard examples in Perl/PDL which are part of PLplot and +which produce identical results to their C counterparts if the above updated +module has been installed. Our build system tests the version of +PDL::Graphics::PLplot that is available, and if it is not 0.46 or later, the +list of Perl/PDL examples that are run as part of our standard tests is +substantially reduced to avoid examples that use the new functionality. In +sum, if you use PDL::Graphics::PLplot version 0.46 or later the full +complement of PLplot commands is available to you from Perl/PDL, but +otherwise not. + +5.17 Updates to various language bindings + +A concerted effort has been made to bring all the language bindings up to +date with recently added functions. Ada, C++, f77, f95, Java, OCaml, Octave, +Perl/PDL, Python, and Tcl now all support the common PLplot API (with the +exception of the mapping functions which are not yet implemented for all +bindings due to technical issues.) This is a significant step forward for +those using languages other than C. + +5.18 Updates to various examples + +To help test the updates to the language bindings the examples have been +thoroughly checked. Ada, C, C++, f77, f95, and OCaml now contain a full set +of non-interactive tests (examples 1-31 excluding 14 and 17). Java, Octave, +Python and Tcl are missing example 19 because of the issue with the mapping +functions. The examples have also been checked to ensure consistent results +between different language bindings. Currently there are still some minor +differences in the results for the tcl examples, probably due to rounding +errors. Some of the Tcl examples (example 21) require Tcl version 8.5 for +proper support for NaNs. + +Also new is an option for the plplot_test.sh script to run the examples +using a debugging command. This is enabled using the --debug option. The +default it to use the valgrind memory checker. This has highlighted at +least one memory leaks in PLplot which have been fixed. It is not part +of the standard ctest tests because it can be _very_ slow for a complete +set of language bindings and device drivers. + +5.19 Extension of our test framework + +The standard test suite for PLplot now carries out a comparison of the +stdout output (especially important for example 31 which tests most of our +set and get functions) and PostScript output for different languages as a +check. Thanks to the addition of example 31, the inclusion of examples 14 +and 17 in the test suite and other recent extensions of the other +examples we now have rigorous testing in place for almost the entirety +of our common API. This extensive testing framework has already helped +us track down a number of bugs, and it should make it much easier for us +to maintain high quality for our ongoing PLplot releases. + +5.20 Rename test subdirectory to plplot_test + +This change was necessary to quit clashing with the "make test" target which +now works for the first time ever (by executing ctest). + +5.21 Website support files updated + +Our new website content is generated with PHP and uses CSS (cascaded style +sheets) to implement a consistent style. This new approach demanded lots of +changes in the website support files that are used to generate and upload +our website and which are automatically included with the release. + +5.22 Internal changes to function visibility + +The internal definitions of functions in PLplot have been significantly +tidied up to allow the use of the -fvisibility=hidden option with newer +versions of gcc. This prevents internal functions from being exported +to the user where possible. This extends the existing support for this +on windows. + +5.23 Dynamic driver support in Windows + +An interface based on the ltdl library function calls was established +which allows to open and close dynamic link libraries (DLL) during +run-time and call functions from these libraries. As a consequence +drivers can now be compiled into single DLLs separate from the core +PLplot DLL also in Windows. The cmake option ENABLE_DYNDRIVERS is now +ON by default for Windows if a shared PLplot library is built. + +5.24 Documentation updates + +The DocBook documentation has been updated to include many of the +C-specific functions (for example plAlloc2dGrid) which are not part +of the common API, but are used in the examples and may be helpful +for PLplot users. + +5.25 libnistcd (a.k.a. libcd) now built internally for -dev cgm + +CGM format is a long-established (since 1987) open standard for vector +graphics that is supported by w3c (see http://www.w3.org/Graphics/WebCGM/). +PLplot has long had a cgm device driver which depended on the (mostly) +public domain libcd library that was distributed in the mid 90's by National +Institute of Standards and Technology (NIST) and which is still available +from http://www.pa.msu.edu/ftp/pub/unix/cd1.3.tar.gz. As a convenience +to our -dev cgm users, we have brought that +source code in house under lib/nistcd and now build libnistcd routinely +as part of our ordinary builds. The only changes we have made to the +cd1.3 source code is visibility changes in cd.h and swapping the sense of +the return codes for the test executables so that 0 is returned on success +and 1 on failure. If you want to test libnistcd on your platform, +please run + +make test_nistcd + +in the top-level build tree. (That tests runs all the test executables +that are built as part of cd1.3 and compares the results that are generated +with the *.cgm files that are supplied as part of cd1.3.) + +Two applications that convert and/or display CGM results on Linux are +ralcgm (which is called by the ImageMagick convert and display applications) +and uniconvertor. + +Some additional work on -dev cgm is required to implement antialiasing and +non-Hershey fonts, but both those should be possible using libnistcd according +to the text that is shown by lib/nistcd/cdtext.cgm and lib/nistcd/cdexp1.cgm. + +5.26 get-drv-info now changed to test-drv-info + +To make cross-building much easier for PLplot we now configure the *.rc +files that are used to describe our various dynamic devices rather than +generating the required *.rc files with get-drv-info. We have changed the +name of get-drv-info to test-drv-info. That name is more appropriate +because that executable has always tested dynamic loading of the driver +plug-ins as well as generating the *.rc files fro... [truncated message content] |
From: <ai...@us...> - 2013-12-22 22:26:33
|
Revision: 12910 http://sourceforge.net/p/plplot/code/12910 Author: airwin Date: 2013-12-22 22:26:29 +0000 (Sun, 22 Dec 2013) Log Message: ----------- Tweak directions slightly for the changes I made in the procedure at the last minute before release. Modified Paths: -------------- trunk/README.Release_Manager_Cookbook Modified: trunk/README.Release_Manager_Cookbook =================================================================== --- trunk/README.Release_Manager_Cookbook 2013-12-22 20:19:04 UTC (rev 12909) +++ trunk/README.Release_Manager_Cookbook 2013-12-22 22:26:29 UTC (rev 12910) @@ -290,7 +290,11 @@ /tmp/plplot_install/share/doc/plplot/html/index.html /tmp/plplot_install/share/doc/plplot/plplot-5.9.11.pdf +/tmp/plplot-dist-prep/plplot-5.9.11.tar.gz +In the latter, look carefully for any files that should not be part +of the source tarball. + Look at a few man pages that were generated from the tarball, e.g., nroff -man /tmp/plplot_install/share/man/man3/pllegend.3plplot |less @@ -506,13 +510,18 @@ files ==> plplot ==> 5.9.11 Source ==> view details (the "i" icon) for plplot-5.9.11.tar.gz ==> select "all" for the default -The above spins indefinitely with iceweasel, but it does work. +The above used to spin indefinitely with iceweasel. Now it finishes +with a "properties updated" message, but it doesn't appear to "take" +immediately so check it later. -# Save a local copy of the release tarball for future reference. +# Save a local copy of the release tarball for future reference and +# also check it. cd /home/software/plplot_svn/HEAD/export #(or wherever) cp -a /tmp/plplot-dist-prep/plplot-5.9.11.tar.gz* . gpg --verify plplot-5.9.11.tar.gz.asc +Prepare concatanated release notes + Changelog. + cd plplot_tags_5.9.11 echo " @@ -540,9 +549,6 @@ For now I simply make all paragraphs one giant line which seems to give reasonable default results. - - - (15) Publicize the release announcement Jerry: macresearch.org This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ai...@us...> - 2013-12-22 20:19:07
|
Revision: 12909 http://sourceforge.net/p/plplot/code/12909 Author: airwin Date: 2013-12-22 20:19:04 +0000 (Sun, 22 Dec 2013) Log Message: ----------- Create tag for 5.9.11 release. Added Paths: ----------- tags/v5_9_11/ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ai...@us...> - 2013-12-22 20:17:29
|
Revision: 12908 http://sourceforge.net/p/plplot/code/12908 Author: airwin Date: 2013-12-22 20:17:24 +0000 (Sun, 22 Dec 2013) Log Message: ----------- Commit ChangeLog for the duration of the 5.9.11 release cycle. Modified Paths: -------------- trunk/ChangeLog.release Modified: trunk/ChangeLog.release =================================================================== --- trunk/ChangeLog.release 2013-12-22 20:15:07 UTC (rev 12907) +++ trunk/ChangeLog.release 2013-12-22 20:17:24 UTC (rev 12908) @@ -1,7628 +1,4653 @@ ------------------------------------------------------------------------ -r12557 | airwin | 2013-09-30 15:57:22 -0700 (Mon, 30 Sep 2013) | 2 lines +r12907 | airwin | 2013-12-22 12:15:07 -0800 (Sun, 22 Dec 2013) | 2 lines Changed paths: M /trunk/README.Release_Manager_Cookbook -This may be the final version of this file for this release. +Update cookbook of release instructions to what was done for 5.9.11. ------------------------------------------------------------------------ -r12556 | airwin | 2013-09-30 14:46:24 -0700 (Mon, 30 Sep 2013) | 2 lines +r12906 | airwin | 2013-12-21 22:28:09 -0800 (Sat, 21 Dec 2013) | 7 lines Changed paths: M /trunk/cmake/modules/plplot_version.cmake + M /trunk/www/examples.php -Bump the release date by one day. +The release of 5.9.11 should be tomorrow (Sunday). In anticipation of +that release, bump the release date and PLplot version information. +Also bump the soversions of the Fortran 95 and Tcl libraries (the only +libraries contained in this release where there are known backwards +incompatibilities in the API). + ------------------------------------------------------------------------ -r12555 | airwin | 2013-09-30 13:49:54 -0700 (Mon, 30 Sep 2013) | 14 lines +r12905 | airwin | 2013-12-21 18:44:37 -0800 (Sat, 21 Dec 2013) | 12 lines Changed paths: - M /trunk/cmake/modules/docbook.cmake M /trunk/doc/docbook/src/CMakeLists.txt + M /trunk/www/documentation.php.in -Fix build-system bug in configuration and installation of -stylesheet.css for the case where the documentation is prebuilt. +Propagate decision to drop PostScript form of documentation to one +last bit of CMake logic in the build system where I forgot to make the +change, and also for the generated website. -Tested by Alan W. Irwin <ai...@us...> by running +Tested by: Alan W. Irwin <ai...@us...> on Linux by +running the scripts/generate_website.sh script described in +README.Release_Manager_Cookbook, and by carefully checking the +local website (especially the html and pdf forms of the docbook +documentation and the html form of the doxygen documentation +that is generated by that script) using the konqueror browser. -scripts/make_tarball.sh -c -i /tmp/plplot_install -find /tmp/plplot-dist-prep -name "*.out" |xargs grep -i error -and browsing the resulting documentation that was installed from the -generated preliminary version of the release tarball in -/tmp/plplot_install/share/doc/plplot/html while looking carefully -for stylesheet issues. - - ------------------------------------------------------------------------ -r12554 | airwin | 2013-09-30 00:01:15 -0700 (Mon, 30 Sep 2013) | 8 lines +r12904 | airwin | 2013-12-21 18:36:53 -0800 (Sat, 21 Dec 2013) | 3 lines Changed paths: - M /trunk/scripts/make_tarball.sh + M /trunk/www/examples.php -Drop -t and -w options and modify script to create a release tarball -from the parent directory of wherever the script resides. Thus, it can -create preliminary test tarballs from the local copy of svn trunk -(where this script resides) or a final release tarball from a local -copy of the appropriate tags release directory (where this script also -resides). +Change to 5 pages with the 4th one used for the thumbprint for example +22. - ------------------------------------------------------------------------ -r12553 | airwin | 2013-09-29 17:07:44 -0700 (Sun, 29 Sep 2013) | 4 lines +r12903 | airwin | 2013-12-21 17:13:23 -0800 (Sat, 21 Dec 2013) | 2 lines Changed paths: - M /trunk/README.Release_Manager_Cookbook + M /trunk/README.release -Interim snapshot commit of the many changes I have made to the release -process. However, there is still more edits that will need to be -made before this is ready for release. +Tweak. ------------------------------------------------------------------------ -r12552 | airwin | 2013-09-29 13:59:14 -0700 (Sun, 29 Sep 2013) | 9 lines +r12902 | airwin | 2013-12-21 16:25:16 -0800 (Sat, 21 Dec 2013) | 5 lines Changed paths: - M /trunk/cmake/build_projects/CMakeLists.txt - M /trunk/cmake/build_projects/README - M /trunk/cmake/build_projects/docbook-xml/CMakeLists.txt - M /trunk/cmake/build_projects/docbook-xml/bp.cmake - M /trunk/cmake/build_projects/docbook-xsl/bp.cmake - M /trunk/cmake/build_projects/gtk-doc/bp.cmake - M /trunk/cmake/build_projects/gtk_packages_add.xml - M /trunk/cmake/build_projects/libxml2/bp.cmake - M /trunk/cmake/build_projects/patch_gtk_packages.xml + M /trunk/bindings/swig-support/swig_documentation.i -In the interests of committing what I have on my disk to the svn -repository, commit the current snapshot of build_projects for this -PLplot release. Note, it has actually been a while since I have been -working on this subproject so this result should be considered -experimental and may not even currently work. But at least -it preserves a snapshot of my work and will provide a starting -point for the next time I work on build_projects. +Make bindings/swig-support/swig_documentation.i consistent with +automatically generated version of that file generated from +doc/docbook/src/api.xml using the check_swig_documentation target. ------------------------------------------------------------------------ -r12551 | airwin | 2013-09-29 13:54:34 -0700 (Sun, 29 Sep 2013) | 2 lines +r12901 | airwin | 2013-12-21 16:15:08 -0800 (Sat, 21 Dec 2013) | 2 lines Changed paths: - A /trunk/cmake/build_projects/subversion - A /trunk/cmake/build_projects/subversion/bp.cmake + M /trunk/drivers/tk.c -Preliminary commit of incomplete subversion build subproject. +Style previous commit. ------------------------------------------------------------------------ -r12550 | airwin | 2013-09-29 13:53:06 -0700 (Sun, 29 Sep 2013) | 2 lines +r12900 | airwin | 2013-12-21 16:10:13 -0800 (Sat, 21 Dec 2013) | 2 lines Changed paths: - M /trunk/cmake/build_projects/itstool/bp.cmake - A /trunk/cmake/build_projects/itstool/itstool-1.2.0-python-location-fixes.patch - -Patch itstool with reconfigured autotools-based build system - ------------------------------------------------------------------------- -r12549 | airwin | 2013-09-29 13:41:52 -0700 (Sun, 29 Sep 2013) | 2 lines -Changed paths: M /trunk/README.release -Report (good) test results for this release. +Add Jerry's contribution to the testing. ------------------------------------------------------------------------ -r12548 | airwin | 2013-09-29 13:41:21 -0700 (Sun, 29 Sep 2013) | 8 lines +r12899 | airwin | 2013-12-21 13:34:30 -0800 (Sat, 21 Dec 2013) | 2 lines Changed paths: - M /trunk/examples/CMakeLists.txt + M /trunk/cmake/epa_build/README + A /trunk/cmake/epa_build/setup/setup_mingw_msys_wine_toolchain + A /trunk/cmake/epa_build/setup/setup_msys_makefiles -Fix rpath issue (couldn't find shapelib) with qt_example for -traditional build system of installed examples. +Update instructions for the Windows case. -Tested by: Alan W. Irwin <ai...@us...> using -scripts/comprehensive_test.sh for case where shapelib had -a non-standard location. - - ------------------------------------------------------------------------ -r12547 | airwin | 2013-09-29 03:21:53 -0700 (Sun, 29 Sep 2013) | 4 lines +r12898 | andrewross | 2013-12-20 12:40:34 -0800 (Fri, 20 Dec 2013) | 3 lines Changed paths: - M /trunk/scripts/comprehensive_test.sh - -Adjust script so that it can handle version numbers where the major -number is one numerical digit, the minor number one or more numerical -digits, and the patch number is one or more numerical digits. - ------------------------------------------------------------------------- -r12546 | airwin | 2013-09-29 01:17:29 -0700 (Sun, 29 Sep 2013) | 8 lines -Changed paths: - M /trunk/cmake/modules/plplot_version.cmake - -Update release date to 2013-09-29 and version to 5.9.10 in preparation -for the planned release later today. - -Soversion bump for most PLplot libraries in preparation for the -release because of substantial backwards incompatible API changes -concerning integer to floating point line width parameters. - - ------------------------------------------------------------------------- -r12545 | airwin | 2013-09-29 00:42:37 -0700 (Sun, 29 Sep 2013) | 8 lines -Changed paths: M /trunk/README.release -Substantial update to reflect all important changes (as revealed by -the commit messages) since the last release. +Updated notes on my Ubunutu / CentOS tests. -Spell check using -aspell check README.release - - ------------------------------------------------------------------------ -r12544 | airwin | 2013-09-28 10:52:22 -0700 (Sat, 28 Sep 2013) | 4 lines +r12897 | airwin | 2013-12-20 11:06:46 -0800 (Fri, 20 Dec 2013) | 3 lines Changed paths: - M /trunk/bindings/octave/CMakeLists.txt + M /trunk/cmake/epa_build/tcl/CMakeLists.txt + M /trunk/cmake/epa_build/tk/CMakeLists.txt -Only define the check_plplot_octave_def custom target when using the -matwrapped bindings (which should probably be removed in any case during the -next release cycle). +Properly escape the "\" character for MSYS_PLATFORM builds. That is, +\unix ==> \\unix ------------------------------------------------------------------------ -r12543 | airwin | 2013-09-28 10:50:13 -0700 (Sat, 28 Sep 2013) | 8 lines +r12896 | airwin | 2013-12-20 10:13:59 -0800 (Fri, 20 Dec 2013) | 2 lines Changed paths: - M /trunk/bindings/octave/plplot_octave_def + M /trunk/doc/docbook/src/api.xml -Regenerate this file (only used for the legacy matwrapped bindings) -to make it consistent with the updated #defines in -bindings/swig-support/plplotcapi.i. This regeneration is accomplished -by running the check_plplot_octave_def target and copying the -comparison file generated in the build tree on top of this source-tree -file. +The width argument of plwidth is of type PLFLT and not PLINT. Fixes bug 136. - ------------------------------------------------------------------------ -r12542 | airwin | 2013-09-28 10:30:43 -0700 (Sat, 28 Sep 2013) | 2 lines +r12895 | airwin | 2013-12-20 10:10:11 -0800 (Fri, 20 Dec 2013) | 5 lines Changed paths: - M /trunk/bindings/swig-support/CMakeLists.txt + M /trunk/doc/docbook/src/ada.xml -Implement run-time explanatory message for the check_swig_documentation target. +"DOCTYPE" declaration not allowed in chapters that are a subset of the +whole document. The removal of this line fixed the validation error +generated by "make validate". ------------------------------------------------------------------------- -r12541 | airwin | 2013-09-28 10:25:21 -0700 (Sat, 28 Sep 2013) | 7 lines -Changed paths: - M /trunk/bindings/f95/plplot_parameters.h -Regenerate this file to make it consistent with the updated #defines -in bindings/swig-support/plplotcapi.i. This regeneration is -accomplished by running the check_f95_parameters target and copying -the comparison file generated in the build tree on top of this -source-tree file. - - ------------------------------------------------------------------------ -r12540 | airwin | 2013-09-28 10:18:21 -0700 (Sat, 28 Sep 2013) | 6 lines +r12894 | airwin | 2013-12-20 09:44:12 -0800 (Fri, 20 Dec 2013) | 2 lines Changed paths: - M /trunk/bindings/swig-support/swig_documentation.i + M /trunk/README.release -Regenerate this file to make it consistent with the updated -doc/docbook/src/api.xml. This regeneration is accomplished by running -the check_swig_documentation target and copying the comparison file -generated in the build tree on top of this source-tree file. +Fix one other minor typo in the summary of Arjen's test results. - ------------------------------------------------------------------------ -r12539 | airwin | 2013-09-28 09:52:20 -0700 (Sat, 28 Sep 2013) | 2 lines +r12893 | airwin | 2013-12-20 09:41:21 -0800 (Fri, 20 Dec 2013) | 2 lines Changed paths: - M /trunk/bindings/ocaml/CMakeLists.txt + M /trunk/README.release -Make check_plplot_h.inc target to check consistency of plplot_h.inc. +Add Felipe Gonzalez's test report. ------------------------------------------------------------------------ -r12538 | airwin | 2013-09-27 08:53:14 -0700 (Fri, 27 Sep 2013) | 4 lines +r12892 | arjenmarkus | 2013-12-20 01:39:49 -0800 (Fri, 20 Dec 2013) | 1 line Changed paths: - A /trunk/doc/README.doxygen + M /trunk/README.release -Initial commit of documentation concerning how to implement, -configure, build, and test our doxygen form of documentation. - - +Correctly a typo and added a few sentences on new devices available/tested for Windows/Cygwin. ------------------------------------------------------------------------ -r12537 | airwin | 2013-09-26 16:28:30 -0700 (Thu, 26 Sep 2013) | 2 lines +r12891 | airwin | 2013-12-19 12:56:26 -0800 (Thu, 19 Dec 2013) | 2 lines Changed paths: - M /trunk/www/credits.php + M /trunk/plplot_test/CMakeLists.txt -Update broken or redirected links. +Replace cmake -E copy with more appropriate cmake -E copy_if_different. ------------------------------------------------------------------------ -r12536 | airwin | 2013-09-26 16:07:02 -0700 (Thu, 26 Sep 2013) | 10 lines +r12890 | jbauck | 2013-12-19 12:45:09 -0800 (Thu, 19 Dec 2013) | 1 line Changed paths: - M /trunk/www/examples.php + M /trunk/bindings/ada/plplot_auxiliary.ads -Implement a method (used just for example 33 right now) for selecting -a subset of the pages to display on our website. - -Tested by Alan W. Irwin <ai...@us...> by running -the scripts/generate_website.sh script and looking at the -website results for each example to make sure all pages -are displayed except for example 33 where, as expected, the -correct subset of pages was displayed. - - +Correct type declarations to once again allow building Ada with an Ada 95 compiler. ------------------------------------------------------------------------ -r12535 | airwin | 2013-09-26 14:59:56 -0700 (Thu, 26 Sep 2013) | 15 lines +r12889 | airwin | 2013-12-19 12:13:08 -0800 (Thu, 19 Dec 2013) | 2 lines Changed paths: - M /trunk/www/examples.php + M /trunk/README.release -Add an additional array to demoArray which contains flags to store -which pages of each example are displayed on the website. But for -now this extra array is not used (see ToDo below). +Add Arjen's test contributions. -Add an entry in demoArray for example 00 - -Change demoArray to allow 100 pages for example 33 - -Drop f77 and Perl/PDL from list of languages whose source code is -displayed for each example. - -ToDo. Implement using the extra array in demoArray to control which -pages are displayed on the website. - - ------------------------------------------------------------------------ -r12534 | airwin | 2013-09-26 14:51:35 -0700 (Thu, 26 Sep 2013) | 8 lines +r12888 | airwin | 2013-12-19 11:13:32 -0800 (Thu, 19 Dec 2013) | 11 lines Changed paths: - M /trunk/scripts/htdocs-gen_plot-examples.sh + M /trunk/cmake/epa_build/ExternalProject.cmake -Drop f77 and Perl/PDL example source code from being copied to website. +I have just proved CMake 2.8.11.2 can unpack *.xz archives using the -Include source code and pngcairo results for x00. +cmake -E tar zxf *.xz -For generated results, allow more than 99 pages. (N.B. example 33 -currently has 100 pages). +command. Therefore, drop using a system tar workaround for this +special case which reduces the differences between the epa_build +version of ExternalProject.cmake and the CMake version (which is +a good direction to go because eventually we may be able to +completely drop the epa_build variant of ExternalProject.cmake ------------------------------------------------------------------------ -r12533 | andrewross | 2013-09-26 08:32:18 -0700 (Thu, 26 Sep 2013) | 4 lines +r12887 | airwin | 2013-12-19 09:24:09 -0800 (Thu, 19 Dec 2013) | 2 lines Changed paths: - M /trunk/cmake/modules/wxwidgets.cmake + M /trunk/README.release +Give testers personal credit for all their hard work. -Potential fix for wxWidgets problem on windows. - - ------------------------------------------------------------------------ -r12532 | andrewross | 2013-09-26 08:18:37 -0700 (Thu, 26 Sep 2013) | 5 lines +r12886 | andrewross | 2013-12-19 05:17:16 -0800 (Thu, 19 Dec 2013) | 3 lines Changed paths: - M /trunk/examples/ada/x19a.adb - M /trunk/examples/ada/xthick19a.adb - M /trunk/examples/c/x19c.c - M /trunk/examples/c++/x19.cc - M /trunk/examples/d/x19d.d - M /trunk/examples/f77/x19f.fm4 - M /trunk/examples/f95/x19f.f90 - M /trunk/examples/java/x19.java - M /trunk/examples/lua/x19.lua - M /trunk/examples/ocaml/x19.ml - M /trunk/examples/octave/x19c.m - M /trunk/examples/perl/x19.pl - M /trunk/examples/python/xw19.py - M /trunk/examples/tcl/x19.tcl + M /trunk/cmake/epa_build/qt4_lite/CMakeLists.txt -Fix from Phil Rosenberg for the missing land in example 19, propagated to all languages. +Comment out Alan's debugging code prior to the release. -Also, further small fix to f95 example 19 to get the latitude label length right for the case where it is 0. - ------------------------------------------------------------------------ -r12531 | andrewross | 2013-09-25 23:44:36 -0700 (Wed, 25 Sep 2013) | 3 lines +r12885 | andrewross | 2013-12-19 03:43:30 -0800 (Thu, 19 Dec 2013) | 3 lines Changed paths: - M /trunk/debian/changelog - M /trunk/debian/control - M /trunk/debian/control.in + M /trunk/bindings/c++/plstream.cc + M /trunk/bindings/c++/plstream.h -Debian packages - bump standards version. +cont_width argument for plcolorbar should be PLFLT not PLINT. ------------------------------------------------------------------------ -r12530 | andrewross | 2013-09-25 15:31:44 -0700 (Wed, 25 Sep 2013) | 4 lines +r12884 | airwin | 2013-12-18 17:40:05 -0800 (Wed, 18 Dec 2013) | 9 lines Changed paths: - M /trunk/bindings/d/plplot.d - M /trunk/examples/d/x33d.d + M /trunk/cmake/epa_build/CMakeLists.txt + M /trunk/cmake/epa_build/plplot/CMakeLists.txt + M /trunk/cmake/epa_build/plplot_lite/CMakeLists.txt -Update d bindings for pllegend to allow null arrays. -Update d example 33 consistent with the C version. +Temporarily drop wxwidgets from epa_build because it is not required +for the plplot_lite epa_build configuration on Windows and Unix, the +plplot epa_build configuration does not work yet on Windows (because +of issues building the full set of PLplot dependencies), and the +plplot epa_build configuration on Unix of wxwidgets requires a +complete epa_build of the entire stack of gtk libraries in order to +have access to a consistent set of those libraries. ------------------------------------------------------------------------ -r12529 | airwin | 2013-09-25 11:07:21 -0700 (Wed, 25 Sep 2013) | 3 lines +r12883 | airwin | 2013-12-18 17:35:00 -0800 (Wed, 18 Dec 2013) | 3 lines Changed paths: - M /trunk/www/corefunctions.php + M /trunk/bindings/wxwidgets/CMakeLists.txt + M /trunk/cmake/modules/wxwidgets.cmake -Make clear distinction between the copyright of the contents and the copyright -of the design. +Correctly handle rpath issues for builds of all wxwidgets-related PLplot +components. ------------------------------------------------------------------------ -r12528 | airwin | 2013-09-24 22:44:57 -0700 (Tue, 24 Sep 2013) | 8 lines +r12882 | airwin | 2013-12-18 17:32:58 -0800 (Wed, 18 Dec 2013) | 6 lines Changed paths: - M /trunk/www/corefunctions.php + M /trunk/cmake/epa_build/wxwidgets/CMakeLists.txt -Update news feed location to be consistent with Allura version -of SourceForge. +Try some different toolkit options for the wxwidgets build, but +ultimately none of those worked on Linux except for the gtk +toolkit that is the default (because the other cannot handle +the required (by PLplot) unicode capability). So comment out the +toolkit options. -N.B. This change does not deal with the remaining news sidebar issues -mentioned on list (too many news items, broken rendering of each -webpage with the sidebar, old version of simplepie software). - - ------------------------------------------------------------------------ -r12527 | jbauck | 2013-09-24 21:34:57 -0700 (Tue, 24 Sep 2013) | 1 line +r12881 | airwin | 2013-12-18 17:25:14 -0800 (Wed, 18 Dec 2013) | 3 lines Changed paths: - M /trunk/doc/docbook/src/ada.xml + M /trunk/bindings/tk/tkMain.c -Update Ada docs. ------------------------------------------------------------------------- -r12526 | jbauck | 2013-09-24 19:16:25 -0700 (Tue, 24 Sep 2013) | 1 line -Changed paths: - M /trunk/bindings/ada/plplot_thin.adb - M /trunk/bindings/ada/plplot_thin.ads - M /trunk/doc/docbook/src/api.xml +Comment out debug print statements that somehow got into a recent +commit. -Update copyright dates for Ada binding. Fix "redacted" form in docs for plcolorbar. ------------------------------------------------------------------------ -r12525 | airwin | 2013-09-24 15:21:20 -0700 (Tue, 24 Sep 2013) | 3 lines +r12880 | airwin | 2013-12-18 16:46:00 -0800 (Wed, 18 Dec 2013) | 5 lines Changed paths: - M /trunk/doc/docbook/src/ada.xml - M /trunk/doc/docbook/src/deploying.xml - M /trunk/doc/docbook/src/drivers.xml - M /trunk/doc/docbook/src/intro.xml - M /trunk/doc/docbook/src/os_notes.xml - M /trunk/doc/docbook/src/perl.xml - M /trunk/doc/docbook/src/wish.xml + M /trunk/README.release -Fix broken URL's contained inside ulink elements of our DocBook -documentation. +Add descriptions of some (AWI, Andrew, and Phil) test results. The +summary of Arjen's and Jerry's test results have not been included yet +since that description needs some editing from them. ------------------------------------------------------------------------- -r12524 | airwin | 2013-09-24 09:51:13 -0700 (Tue, 24 Sep 2013) | 4 lines -Changed paths: - M /trunk/www/corefunctions.php - M /trunk/www/download.php - M /trunk/www/index.php -Fix broken links for the sidebar that occurs for all pages and for the principal -page and the download page. - - ------------------------------------------------------------------------ -r12523 | jbauck | 2013-09-24 03:27:16 -0700 (Tue, 24 Sep 2013) | 1 line +r12879 | andrewross | 2013-12-18 13:56:15 -0800 (Wed, 18 Dec 2013) | 3 lines Changed paths: - M /trunk/bindings/ada/plplot.adb - M /trunk/bindings/ada/plplot.ads - M /trunk/bindings/ada/plplot_thin.adb - M /trunk/bindings/ada/plplot_thin.ads - M /trunk/bindings/ada/plplot_traditional.adb - M /trunk/bindings/ada/plplot_traditional.ads - M /trunk/examples/ada/x16a.adb - M /trunk/examples/ada/x33a.adb - M /trunk/examples/ada/xthick16a.adb - M /trunk/examples/ada/xthick33a.adb + M /trunk/drivers/tk.c -Update Ada bindings and examples 16 and 33 for plcolorbar capability. Also add support for plscmap1_range and plgcmap1_range. ------------------------------------------------------------------------- -r12522 | airwin | 2013-09-23 22:27:13 -0700 (Mon, 23 Sep 2013) | 2 lines -Changed paths: - M /trunk/www/credits.php - M /trunk/www/development.php - M /trunk/www/documentation.php.in +Cast pointer to (void *) in call to free to suppress gcc warning. -Spelling updates generated by aspell check <filename>. ------------------------------------------------------------------------ -r12521 | airwin | 2013-09-23 22:21:15 -0700 (Mon, 23 Sep 2013) | 2 lines +r12878 | andrewross | 2013-12-18 13:53:52 -0800 (Wed, 18 Dec 2013) | 3 lines Changed paths: - M /trunk/doc/docbook/src/ada.xml - M /trunk/doc/docbook/src/advanced.xml - M /trunk/doc/docbook/src/api-c.xml - M /trunk/doc/docbook/src/api-compat.xml - M /trunk/doc/docbook/src/api.xml - M /trunk/doc/docbook/src/bibliography.xml - M /trunk/doc/docbook/src/c.xml - M /trunk/doc/docbook/src/cplus.xml - M /trunk/doc/docbook/src/deploying.xml - M /trunk/doc/docbook/src/drivers.xml - M /trunk/doc/docbook/src/intro.xml - M /trunk/doc/docbook/src/libraries.xml - M /trunk/doc/docbook/src/ocaml.xml - M /trunk/doc/docbook/src/simple.xml - M /trunk/doc/docbook/src/tcl.xml - M /trunk/doc/docbook/src/wish.xml + M /trunk/drivers/tk.c -A large number of spelling fixes generated by "aspell check <filename>". +Fix failure to free memory in tk driver allocated by pl_create_tempfifo. ------------------------------------------------------------------------- -r12520 | airwin | 2013-09-23 15:07:57 -0700 (Mon, 23 Sep 2013) | 2 lines -Changed paths: - M /trunk/doc/docbook/bin/api2man.pl.in -Update "AUTHORS" and "SEE ALSO" sections of the generated man pages. - ------------------------------------------------------------------------ -r12519 | airwin | 2013-09-23 14:52:25 -0700 (Mon, 23 Sep 2013) | 3 lines +r12877 | airwin | 2013-12-17 18:14:25 -0800 (Tue, 17 Dec 2013) | 3 lines Changed paths: - M /trunk/cmake/modules/docbook.cmake - M /trunk/doc/docbook/src/CMakeLists.txt - M /trunk/www/documentation.php.in + M /trunk/cmake/modules/plplot_functions.cmake -Disable generation of DVI form of documentation and drop references to -it on the generated website. +Refine the filter_rpath function a little more by removing empty +elements from the rpath list. ------------------------------------------------------------------------ -r12518 | airwin | 2013-09-23 12:30:11 -0700 (Mon, 23 Sep 2013) | 8 lines +r12876 | airwin | 2013-12-17 14:45:28 -0800 (Tue, 17 Dec 2013) | 12 lines Changed paths: - M /trunk/README.release + M /trunk/examples/d/Makefile.examples.in -Add sections describing work on plcolorbar and the pllegend and plcolorbar -documentation. +Separate the previous one-step traditional build of D examples into a +compile step and link step. This reduces the amount of work per step +that gdc has to do and works around a bug in Debian Wheezy gdc which +sometimes segfaults otherwise. The segfaults were consistently +observed (until this workaround was made) for the +ENABLE_DYNDRIVERS=OFF case for the epa_build environment where there +are both extensive compile flags and link flags. gdc did not segfault +for the traditional build for the epa_build environment when +ENABLE_DYNDRIVERS=ON (presumably because the compile flags and link +flags are much less extensive in that case). -Reword the section describing the width changes. -colour ==> color. - - ------------------------------------------------------------------------ -r12517 | airwin | 2013-09-23 12:22:13 -0700 (Mon, 23 Sep 2013) | 2 lines +r12875 | airwin | 2013-12-17 13:03:14 -0800 (Tue, 17 Dec 2013) | 2 lines Changed paths: - M /trunk/doc/docbook/src/advanced.xml + M /trunk/bindings/tk/CMakeLists.txt -colour ==> color. +Fix an rpath issue for plserver ------------------------------------------------------------------------ -r12516 | airwin | 2013-09-23 11:24:27 -0700 (Mon, 23 Sep 2013) | 3 lines +r12874 | airwin | 2013-12-16 21:32:16 -0800 (Mon, 16 Dec 2013) | 9 lines Changed paths: - M /trunk/doc/docbook/src/advanced.xml + M /trunk/drivers/ps.c + M /trunk/drivers/psttf.cc -Add section in advanced.xml concerning the pllegend and plcolorbar -capabilities. +Turn cast from "const char *" to "char *" from implicit (which in the +psttf.cc case ended up as a build error) to explicit form. This build +error was found as a result of running the comprehensive_test.sh +script, but as far as I can tell nothing was changed for psttf.cc from +when this script ran without errors not that long ago for exactly +the same (normal build as opposed to epa_build) environment. So I +do not have a clue why we suddenly have this build error, but I +have now fixed it with the explicit casts. ------------------------------------------------------------------------ -r12515 | arjenmarkus | 2013-09-22 03:01:44 -0700 (Sun, 22 Sep 2013) | 1 line +r12873 | airwin | 2013-12-16 17:27:14 -0800 (Mon, 16 Dec 2013) | 2 lines Changed paths: - M /trunk/README.release - -Changed the general reference to the Wiki to the specific page regarding Cygwin. ------------------------------------------------------------------------- -r12514 | airwin | 2013-09-21 22:46:07 -0700 (Sat, 21 Sep 2013) | 5 lines -Changed paths: + M /trunk/bindings/tcl/tclAPI.c + M /trunk/bindings/tk/plframe.c + M /trunk/bindings/tk/pltkd.h + M /trunk/bindings/tk/tcpip.c + M /trunk/bindings/tk/tkMain.c + M /trunk/drivers/pdf.c + M /trunk/examples/c/x04c.c + M /trunk/examples/c++/x31.cc + M /trunk/src/plctrl.c M /trunk/src/pllegend.c -Implement sanity check that plcolorbar caller does not specify NULL -array pointers for one of the label_opts or labels arrays when -n_labels > 0. +Style previous commits. - ------------------------------------------------------------------------ -r12513 | airwin | 2013-09-21 19:20:12 -0700 (Sat, 21 Sep 2013) | 2 lines +r12872 | airwin | 2013-12-16 17:25:27 -0800 (Mon, 16 Dec 2013) | 3 lines Changed paths: - M /trunk/drivers/cairo.c + M /trunk/bindings/tcl/CMakeLists.txt + M /trunk/cmake/modules/tcl-related.cmake + M /trunk/cmake/modules/tk.cmake + M /trunk/examples/CMakeLists.txt + M /trunk/examples/tk/Makefile.examples.in + M /trunk/src/CMakeLists.txt -Style a previous commit. +Many rpath fixups for the case where Tcl/Tk is not installed in a +system location. ------------------------------------------------------------------------ -r12512 | airwin | 2013-09-21 19:19:29 -0700 (Sat, 21 Sep 2013) | 2 lines +r12871 | airwin | 2013-12-16 17:18:23 -0800 (Mon, 16 Dec 2013) | 3 lines Changed paths: - M /trunk/bindings/d/plplot.d - M /trunk/examples/d/x16d.d + M /trunk/cmake/epa_build/setup/setup_linux -Style a previous commit. +Drop setting LD_LIBRARY_PATH since this is no longer necessary +to deal with the epa_build swig/libpcre case. ------------------------------------------------------------------------ -r12511 | airwin | 2013-09-21 19:17:11 -0700 (Sat, 21 Sep 2013) | 6 lines +r12870 | airwin | 2013-12-16 17:15:22 -0800 (Mon, 16 Dec 2013) | 4 lines Changed paths: - M /trunk/src/pllegend.c + M /trunk/cmake/epa_build/swig/CMakeLists.txt -Implement sanity check that pllegend caller does not specify NULL -array pointers for one of the box, line, or symbol arrays when -opt_array contains the relevant bit which would force the array to be -used. +Set rpath so that when the epa_build version of swig is loaded by the +run-time loader, the epa_build version of libpcre is found. ------------------------------------------------------------------------ -r12510 | airwin | 2013-09-21 14:19:22 -0700 (Sat, 21 Sep 2013) | 2 lines +r12869 | airwin | 2013-12-16 15:51:43 -0800 (Mon, 16 Dec 2013) | 4 lines Changed paths: - M /trunk/README.release + M /trunk/cmake/modules/plplot.cmake -Note added concerning recent breakthroughs for the Cygwin platform. +Tweak commentary concerning placement of certain includes which use +the filter_rpath function which depends on languages being defined. + ------------------------------------------------------------------------ -r12509 | airwin | 2013-09-18 12:12:42 -0700 (Wed, 18 Sep 2013) | 4 lines +r12868 | airwin | 2013-12-15 16:14:36 -0800 (Sun, 15 Dec 2013) | 7 lines Changed paths: - M /trunk/src/plctrl.c + M /trunk/cmake/epa_build/CMakeLists.txt + M /trunk/cmake/epa_build/README + M /trunk/cmake/epa_build/plplot/CMakeLists.txt + M /trunk/cmake/epa_build/plplot_lite/CMakeLists.txt -In doxygen documentation of plcol1, use the correct (col1 rather than -icol1) parameter name. +Add the ENABLE_COMPREHENSIVE_PLPLOT_TEST option to epa_build which +runs the PLplot comprehensive test script for the exact same build +environment (i.e., cmake options, environment variables, buildtools +that have been built, and dependencies that have been built) as used +for the epa_build of plplot and plplot_lite. ------------------------------------------------------------------------ -r12508 | airwin | 2013-09-18 11:51:03 -0700 (Wed, 18 Sep 2013) | 5 lines +r12867 | airwin | 2013-12-15 16:03:10 -0800 (Sun, 15 Dec 2013) | 10 lines Changed paths: - M /trunk/src/pdfutils.c - M /trunk/src/plargs.c - M /trunk/src/plot3d.c + M /trunk/cmake/modules/pkg-config.cmake -Update doxygen documentation of PL_UNUSED function parameters to -eliminate doxygen warning messages concerning such parameters and to -produce reasonable looking doxygen results for those parameters. +For the traditional build system for the installed examples which +depends on Make and pkg-config, honor the PKG_CONFIG_PATH environment +variable to be more consistent with what CMake does. +In certain cases the previous inconsistency between what CMake found +via pkg-config and what was found by the traditional build system via +pkg-config caused build errors for the traditional build system. +Those errors have now been solved by this fix. + ------------------------------------------------------------------------ -r12507 | airwin | 2013-09-18 00:26:10 -0700 (Wed, 18 Sep 2013) | 5 lines +r12866 | airwin | 2013-12-15 15:56:37 -0800 (Sun, 15 Dec 2013) | 10 lines Changed paths: - M /trunk/doc/docbook/src/api.xml - M /trunk/doc/docbook/src/plplotdoc.xml.in + M /trunk/cmake/modules/tcl-related.cmake -Update API documentation of pllegend and plcolorbar consistent with -the corresponding doxygen documentation of the same functions. I plan -no further changes in this API documentation at the present time. +USE_TCL_TK_STUBS option temporarily set to OFF by default for this +release since using the the stubs versions of libTcl and libTk (which +is recommended by Tcl/Tk developers) has proven not to be reliable +(-dev tk segfaults) for version 8.6 of Tcl/Tk. The stubs versions of +libTcl and libTk work fine for version 8.5 of Tcl/Tk. Moving from the +deprecated Tcl/Tk API we currently use to the recommended Tcl/Tk API +may allow us to reliably use the stubs versions of libTcl and libTk +for all versions of Tcl/Tk post-release. ------------------------------------------------------------------------ -r12506 | airwin | 2013-09-18 00:23:49 -0700 (Wed, 18 Sep 2013) | 5 lines +r12865 | airwin | 2013-12-14 13:23:33 -0800 (Sat, 14 Dec 2013) | 5 lines Changed paths: - M /trunk/src/pllegend.c + M /trunk/cmake/modules/plplot_functions.cmake -Update doxgyen documentation of pllegend and plcolorbar and associated -internal functions. I plan no further changes in this documentation -at the present time. +FORTRAN ==> Fortran. This bug fix should make no difference on Linux +where all three C, CXX, and Fortran variables are identical, but +it will make a (slight) difference on platforms where Fortran has +a different set of system locations than the C and C++ compilers. - ------------------------------------------------------------------------ -r12505 | jbauck | 2013-09-12 21:19:42 -0700 (Thu, 12 Sep 2013) | 1 line +r12864 | airwin | 2013-12-13 11:27:57 -0800 (Fri, 13 Dec 2013) | 11 lines Changed paths: - M /trunk/bindings/ada/plplot.adb + M /trunk/cmake/modules/plplot_functions.cmake -Test. Ignore. ------------------------------------------------------------------------- -r12504 | andrewross | 2013-09-09 15:32:36 -0700 (Mon, 09 Sep 2013) | 6 lines -Changed paths: - M /trunk/drivers/cairo.c +Make filter_rpath function robust against the case where none of +CMAKE_C_IMPLICIT_LINK_DIRECTORIES, +CMAKE_CXX_IMPLICIT_LINK_DIRECTORIES, or +CMAKE_FORTRAN_IMPLICIT_LINK_DIRECTORIES are defined. This should +never happen according to the CMake documentation, but Phil apparently +found a case where it did happen for the "Visual Studio 11" generator +(for VS2012). My conclusion is that generator is severely broken, but +nevertheless making this function robust for the case when none of +these variables are defined cannot be a bad thing to do. -Modify xcairo driver to honour the -display option to set the display. - -Also exit if opening the display fails since continuing will lead to a crash anyway. - - ------------------------------------------------------------------------ -r12503 | andrewross | 2013-09-09 07:41:12 -0700 (Mon, 09 Sep 2013) | 5 lines +r12863 | airwin | 2013-12-13 10:27:43 -0800 (Fri, 13 Dec 2013) | 6 lines Changed paths: - M /trunk/bindings/d/plplot.d - M /trunk/examples/d/x16d.d + M /trunk/plplot_test/CMakeLists.txt -Update D bindings for latest version of plcolorbar. Also add plscmap1_range and plgcmap1_range. +Reinstate all tests again. -Update example 16 to use plcolorbar as in the C version. +Fixed some bogus logic I recently introduced concerning PLD_psc (which +of course does not exist and PLD_ps should be used instead). ------------------------------------------------------------------------ -r12502 | arjenmarkus | 2013-09-07 01:29:45 -0700 (Sat, 07 Sep 2013) | 3 lines +r12862 | jbauck | 2013-12-13 02:18:08 -0800 (Fri, 13 Dec 2013) | 1 line Changed paths: - M /trunk/cmake/modules/cairo.cmake - M /trunk/drivers/cairo.c + M /trunk/bindings/ada/plplot.adb + M /trunk/bindings/ada/plplot.ads + M /trunk/bindings/ada/plplot_thin.ads + M /trunk/bindings/ada/plplot_traditional.adb + M /trunk/bindings/ada/plplot_traditional.ads + M /trunk/examples/ada/x22a.adb + M /trunk/examples/ada/xthick22a.adb -Rearrange the order of including header files to avoid a conflict between the Windows header and the X11 header - the latter defines the macro Status which the first uses as an argument name. - -Furthermore, because of the routine cairo_win32_surface_create is missing from the cairo library, we can not build the wincairo device. For now this is turned off under Cygwin. +Merge my edits with Andrew's from 12852. ------------------------------------------------------------------------ -r12501 | airwin | 2013-08-30 12:13:41 -0700 (Fri, 30 Aug 2013) | 21 lines +r12861 | airwin | 2013-12-12 21:28:03 -0800 (Thu, 12 Dec 2013) | 2 lines Changed paths: - M /trunk/doc/docbook/src/CMakeLists.txt + M /trunk/bindings/tcl/tclAPI.c -CMake code fixups. +More useful debug printout of TCL_DIR. -Move creation of jadetex.cfg from a place that is always executed -to the appropriate Boolean block. - -Do not remove info directory that is initially created at cmake time. -This solves a bug when the info target is reinvoked at make time after -a change to the docbook source. - -Specifically ignore environment variable DESTDIR when xmlto --with-fop -is invoked. This works around a bug in xmlto which (on Debian at -least) craps out when DESTDIR is specified. - -Tested by: Alan W. Irwin <ai...@us...> using the --DBUILD_DOC=ON -DBUILD_DOX_DOC=ON cmake options and the install -target invoked in the following ways: - -make -j4 install -make DESTDIR=whatever -j4 install - - ------------------------------------------------------------------------ -r12500 | airwin | 2013-08-30 09:41:29 -0700 (Fri, 30 Aug 2013) | 7 lines +r12860 | airwin | 2013-12-12 14:09:07 -0800 (Thu, 12 Dec 2013) | 5 lines Changed paths: - M /trunk/doc/docbook/src/CMakeLists.txt + M /trunk/src/CMakeLists.txt -install(CODE ... changes. +Fix build system bug recently introduced for combination of disabled +qt and disabled dynamic devices. (Thanks to Phil Rosenberg for +spotting this.) -Attempt to deal with issues found recently by Orion Poplawski on Fedora. -Suppress warnings about setting policy and change from undocumented to -documented form of the file(INSTALL ... signature. - ------------------------------------------------------------------------ -r12499 | airwin | 2013-08-27 18:05:27 -0700 (Tue, 27 Aug 2013) | 3 lines +r12859 | airwin | 2013-12-12 13:51:56 -0800 (Thu, 12 Dec 2013) | 2 lines Changed paths: - M /trunk/src/pllegend.c + M /trunk/README.release -Systematic commentary (including special doxygen commentary) changes -to replace the word "colorbar" by "color bar". +Describe epa_build. ------------------------------------------------------------------------ -r12498 | airwin | 2013-08-27 16:03:51 -0700 (Tue, 27 Aug 2013) | 8 lines +r12858 | andrewross | 2013-12-12 13:29:52 -0800 (Thu, 12 Dec 2013) | 3 lines Changed paths: - M /trunk/src/pllegend.c + M /trunk/src/plctrl.c -Add doxygen documentation of plcolorbar arguments that were previously -undocumented. This change should finalize the plcolorbar API -documentation in preparation for copying it to the DocBook API -chapter. In addition, this change and a few other minor doxygen -changes eliminated the last of the argument inconsistency warnings -previously generated for pllegend.c by doxygen. +Fix from Phil Rosenberg for compile errors in plplot versions of snprintf and snscanf if the library versions are not available. ------------------------------------------------------------------------ -r12497 | airwin | 2013-08-24 15:39:23 -0700 (Sat, 24 Aug 2013) | 4 lines +r12857 | airwin | 2013-12-12 11:53:59 -0800 (Thu, 12 Dec 2013) | 3 lines Changed paths: - M /trunk/doc/docbook/README.developers + M /trunk/README.release -Update these developer directions based on the current xmlto backend -tools that are being used. Also include some plans about further -changes once we allow UTF-8 strings in our documentation. +Official announcement of Agg backend and freetype deprecation for the +wxwidgets device driver. ------------------------------------------------------------------------ -r12496 | airwin | 2013-08-24 15:36:57 -0700 (Sat, 24 Aug 2013) | 5 lines +r12856 | andrewross | 2013-12-12 11:51:12 -0800 (Thu, 12 Dec 2013) | 3 lines Changed paths: - M /trunk/doc/docbook/NEWS + M /trunk/cmake/modules/fortran.cmake -Substantial update (including some history that has not been mentioned -before as well as recent events) of news for PLplot's documentation -project. +Fix case of variable name in cmake fortran support. ------------------------------------------------------------------------ -r12495 | airwin | 2013-08-23 22:34:58 -0700 (Fri, 23 Aug 2013) | 10 lines +r12855 | airwin | 2013-12-12 10:49:15 -0800 (Thu, 12 Dec 2013) | 13 lines Changed paths: - M /trunk/cmake/modules/docbook.cmake - M /trunk/doc/docbook/src/CMakeLists.txt - D /trunk/doc/docbook/src/inline-print.ent - A /trunk/doc/docbook/src/inline-print_dsl.ent (from /trunk/doc/docbook/src/inline-print.ent:12492) - A /trunk/doc/docbook/src/inline-print_xsl.ent + M /trunk/cmake/modules/qt.cmake -For default -DDOCBOOK_XML_BACKEND=ON case, implement a dvi build. +Provide soft landing when Qt is not available and when Qt is available +but not with a version number that meets our minimum requirements and/or +not with the components that are required. -N.B. This dvi build only works if the patch given at -http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=720624 is applied -to /usr/share/pyshared/dbtexmf/dblatex/unient.py to fix a bug -in the dblatex package. +(Thanks to Phil Rosenberg for reporting this issue.) -Use different inline-print_???.ent files depending on whether --DDOCBOOK_XML_BACKEND=ON or OFF. +Tested by Alan W. Irwin <ai...@us...> by locally +changing the minimum version required and/or the required components +to non-existent ones to make sure that cmake drops all the Qt-related +devices and the qt bindings and finishes without +errors in those cases. ------------------------------------------------------------------------- -r12494 | airwin | 2013-08-21 15:10:51 -0700 (Wed, 21 Aug 2013) | 7 lines -Changed paths: - M /trunk/doc/docbook/src/CMakeLists.txt - A /trunk/doc/docbook/src/plplotdoc-print.xsl.in -Implement XSL configuration method for print results for the default --DDOCBOOK_XML_BACKEND=ON case. Use this configuration method to -establish ansi style for funcsynopsis for pdf and ps results. - -Tested by Alan W. Irwin <ai...@us...> using -the -DBUILD_DOC=ON cmake option and the pdf_target target. - ------------------------------------------------------------------------ -r12493 | airwin | 2013-08-21 14:18:36 -0700 (Wed, 21 Aug 2013) | 23 lines +r12854 | airwin | 2013-12-12 10:03:36 -0800 (Thu, 12 Dec 2013) | 3 lines Changed paths: - M /trunk/doc/docbook/src/plplotdoc-html.xsl.in - M /trunk/doc/docbook/src/stylesheet.css.xsl.in + M /trunk/cmake/modules/qt.cmake -Change funcsynopsis style to ansi and configure widths of the -resulting html table to auto (which gives nice looking spacing for the -arguments). These changes make the new XML/XSL backend tools produce -the html form of the API chapter with a style comparable to what was -produced with the deprecated SGML/DSSSL backend tools. +Fix one issue recently reported by Phil Rosenberg; -DENABLE_qt=OFF now +skips everything to do with Qt detection. -Make some progress toward the goal of representing the overlined "S" and -underlined "freq" in S(freq) correctly represented in html. However, -the final step of inserting the correct form of html needs additional -XSLT expertise that I currently don't have as mentioned in the -/plplotdoc-html.xsl.in comments. So the result validates -fine but is currently rendered as a blank. - -So aside from this one overline/underline issue (which appears just -before the Table of Greek letters), the complete html -results for the new XML/XSL backend tools are better (Table of Greek -letters) or similar (API chapter) to what they were before for the -deprecated SGML/DSSSL backend tools. - -Tested by Alan W. Irwin <ai...@us...> using -the -DBUILD_DOC=ON cmake option and the "html" target. - - ------------------------------------------------------------------------ -r12492 | airwin | 2013-08-20 12:10:05 -0700 (Tue, 20 Aug 2013) | 12 lines +r12853 | andrewross | 2013-12-11 12:35:24 -0800 (Wed, 11 Dec 2013) | 3 lines Changed paths: - M /trunk/doc/docbook/src/CMakeLists.txt - M /trunk/doc/docbook/src/plplotdoc-html.xsl.in - D /trunk/doc/docbook/src/stylesheet.css - A /trunk/doc/docbook/src/stylesheet.css.dsssl.in (from /trunk/doc/docbook/src/stylesheet.css:12482) - A /trunk/doc/docbook/src/stylesheet.css.xsl.in + M /trunk/src/pllegend.c -Make stylesheet.css configurable with a separate template file for -the -DDOCBOOK_XML_BACKEND=OFF and (default) -DDOCBOOK_XML_BACKEND=ON -cases. The -DDOCBOOK_XML_BACKEND=OFF case is untested but should work -since the changes are pretty trivial. The -DDOCBOOK_XML_BACKEND=ON -case has been tested and shows the desired coloured output for -the TABLE.funcprototype-table and .variablelist parts of the -api documentation that occurs in the many links from the API chapter. +Alternative implementation of remove_characters which avoids the valgrind warnings when the code is compiled with -O3. -Tested by Alan W. Irwin <ai...@us...> using the -scripts/generate_website.sh scripts. - ------------------------------------------------------------------------ -r12491 | airwin | 2013-08-20 10:16:26 -0700 (Tue, 20 Aug 2013) | 8 lines +r12852 | andrewross | 2013-12-11 04:06:41 -0800 (Wed, 11 Dec 2013) | 3 lines Changed paths: - M /trunk/doc/docbook/src/CMakeLists.txt - A /trunk/doc/docbook/src/plplotdoc-html.xsl.in + M /trunk/bindings/ada/plplot.adb + M /trunk/bindings/ada/plplot.ads + M /trunk/bindings/ada/plplot_thin.ads + M /trunk/bindings/ada/plplot_traditional.adb + M /trunk/bindings/ada/plplot_traditional.ads + M /trunk/examples/ada/x22a.adb + M /trunk/examples/ada/xthick22a.adb -Initial XSL customization of docbook html backend output following -ideas in http://www.sagehill.net/docbookxsl. +Implement plpath for Ada bindings and update example 22 to remove the remaining differences. -The meaningful (rather than numerical) HTML chunk filenames are now -(quietly) formed from the DocBook id using the chunk.quietly and -use.id.as.filename parameters. - ------------------------------------------------------------------------ -r12490 | airwin | 2013-08-19 19:41:28 -0700 (Mon, 19 Aug 2013) | 15 lines +r12851 | andrewross | 2013-12-11 02:11:54 -0800 (Wed, 11 Dec 2013) | 3 lines Changed paths: - M /trunk/cmake/modules/docbook.cmake - M /trunk/doc/docbook/src/CMakeLists.txt + M /trunk/examples/c++/x33.cc -Generate (by default) our html, pdf, and ps results from our DocBook -source using XML/XSLT backend tools (i.e., the xmlto script). +Fix an inconsistent call to delete. -Tested by Alan W. Irwin <ai...@us...> using (1) the --DBUILD_DOC=ON cmake option and the install target in doc/docbook/src, -and (2) using scripts/generate_website.sh (which includes using the --DBUILD_DOC=ON cmake option and the prebuild_dist www-install-base, -and www-install targets, but which does not test the -DPREBUILT_DOC=ON -case). -ToDo: (1) xmlto does not work correctly to generate dvi results so must explore -other alternatives for that case. (2) Must explore XSLT opportunities to -style present results since the current default style is bland. - - ------------------------------------------------------------------------ -r12489 | airwin | 2013-08-19 14:55:31 -0700 (Mon, 19 Aug 2013) | 3 lines +r12850 | airwin | 2013-12-11 01:44:26 -0800 (Wed, 11 Dec 2013) | 3 lines Changed paths: - M /trunk/www/documentation.php.in + M /trunk/README.release -Reorder so that doxygen-generated documentation is last in the list on -our website. +Advertise the recent improvements in our build system for the +Qt-related components of the build. ------------------------------------------------------------------------ -r12488 | airwin | 2013-08-19 13:42:06 -0700 (Mon, 19 Aug 2013) | 13 lines +r12849 | airwin | 2013-12-11 01:35:08 -0800 (Wed, 11 Dec 2013) | 51 lines Changed paths: - M /trunk/cmake/modules/docbook.cmake - M /trunk/doc/docbook/src/CMakeLists.txt + M /trunk/bindings/qt_gui/CMakeLists.txt + M /trunk/bindings/qt_gui/pyqt4/CMakeLists.txt + A /trunk/cmake/modules/ndp_UseQt4.cmake + M /trunk/cmake/modules/qt.cmake + M /trunk/drivers/CMakeLists.txt + M /trunk/examples/CMakeLists.txt + M /trunk/examples/Makefile.examples.in + M /trunk/examples/c++/CMakeLists.txt + M /trunk/src/CMakeLists.txt -Implement BUILD_DVI variable in anticipation of the case where -the dvi build of documentation may not be implemented (for the future -XML backend case). +Sort out a large number of small issues with the Qt-related parts of +our build system. -Improve build system logic for the case where a component -of the documentatin build is missing. +Implement ndp_UseQt4.cmake which is a greatly modified form of +UseQt4.cmake that replaces all instances of add_definitions and +include_directories (both of which set directory properties which +causes all kinds of undesireable/unneeded extra compile flags for +non-qt PLplot components) with collecting the information in +variables. In that module, define a new function called +set_qt_target_properties to update target COMPILE_DEFINITIONS and +INCLUDE_DIRECTORIES with the appropriate variables where that +information has been stored. -Improve build system logic for install of info, man, and html -documentation files so that there is exact consistency between -what is in the manifest files and what is installed that than -relying on file(GLOB... +Use set_qt_target_properties (rather than include(UseQt4)) everywhere +a Qt-component of PLplot is being built. +Fix a test_interactive bug (bad Makefile dependency for the qt_example +part of that test) for the traditional build case for the installed +examples. ------------------------------------------------------------------------- -r12487 | airwin | 2013-08-19 11:37:30 -0700 (Mon, 19 Aug 2013) | 10 lines -Changed paths: - M /trunk/cmake/modules/docbook.cmake - M /trunk/doc/docbook/src/CMakeLists.txt +Bump the minimum Qt4 version to 4.8.2 and limit the number +of components to the minumum (QtCore, QtGui, and QtSvg) required +by PLplot. -More changes to improve (i.e., make less obfuscated/more modular) the -build system for the documentation in preparation for implementing XML -backend tools. +Refine the compile flags configured in the plplotd-qt.pc file +to make a better traditional installed-examples build of qt_example. -Tested by Alan W. Irwin <ai...@us...> using -scripts/generate_website.sh (which includes using the -DBUILD_DOC=ON -cmake option and the prebuild_dist www-install-base, and www-install -targets, but which does not test the -DPREBUILT_DOC=ON case). +The constraint of disabling Qt-related parts of PLplot whenever +dynamic drivers were turned off has now been removed. +Tested by Alan W. Irwin <ai...@us...> on Linux +using ------------------------------------------------------------------------- -r12486 | airwin | 2013-08-17 22:56:52 -0700 (Sat, 17 Aug 2013) | 29 lines -Changed paths: - M /trunk/doc/docbook/src/CMakeLists.txt - M /trunk/doc/docbook/src/plplotdoc.xml.in +scripts/comprehensive_test.sh --cmake_added_options +"-DDEFAULT_NO_DEVICES=ON -DDEFAULT_NO_BINDINGS=ON -DENABLE_qt=ON +-DENABLE_pyqt4=ON -DENABLE_python=ON -DENABLE_cxx=ON -DPLD_epsqt=ON +-DPLD_pdfqt=ON -DPLD_qtwidget=ON -DPLD_bmpqt=ON -DPLD_jpgqt=ON +-DPLD_pngqt=ON -DPLD_ppmqt=ON -DPLD_tiffqt=ON -DPLD_extqt=ON +-DPLD_memqt=ON -DPLD_svgqt=ON" -Improve CMake logic for building DocBook documentation. +where those extra options were just to limit the tests to all the Qt +possibilities and not much more (to make the tests go faster while +still keeping their comprehensive nature). -Replace destroying and creating the inline.ent symlink idea for -various forms of the inline entities with properly configured info, -print, and html variants of plplotdoc-?.xml. This change removes the -dependencies of the various backend documentation between each other -since there is no longer the parallel build race condition to be -avoided for the various kinds of inline.ent symlinks. +For the critical static and nondynamic cases, I used valgrind on +qt_example to show all these fixups for the Qt components of the +PLplot build have solved the major valgrind issues that occurred +before for that example when dynamic devices were turned off. -Non-configured *.xml and *.ent files are referred to directly in the -source tree rather than as symlinks in the build tree. This makes -establishing file dependencies much more straightforward. -Drop if(PERL_FOUND) logic since that is redundant. (Earlier in build -process, BUILD_DOC is set to OFF if perl cannot be found.) -Use actual Linux filesystem commands (like mv) rather than relying on -FindUnixCommands.cmake to define the ${MV} equivalent of mv. (ToDo, -replace Linux filesystem commmands used for the documentation build -such as "mv" with their cmake -E equivalents just on general -principles.) - -Use slightly improved naming conventions for intermediate files created by info -target. - -Tested by Alan W. Irwin <ai...@us...> using the --DBUILD_DOC cmake option and the "all" target in doc/docbook/src. - - ------------------------------------------------------------------------ -r12485 | airwin | 2013-08-16 12:36:39 -0700 (Fri, 16 Aug 2013) | 4 lines +r12848 | airwin | 2013-12-11 01:01:35 -0800 (Wed, 11 Dec 2013) | 17 lines Changed paths: - M /trunk/cmake/modules/docbook.cmake + M /trunk/cmake/modules/plplot.cmake + M /trunk/cmake/modules/plplot_functions.cmake -If perl cannot be found, then do not allow a build of the docbook -documentation since all backends for that build require perl. +Improve filter_rpath function by taking advantage of the +well-documented and maintained CMAKE_C_IMPLICIT_LINK_DIRECTORIES, +CMAKE_CXX_IMPLICIT_LINK_DIRECTORIES, and +CMAKE_FORTRAN_IMPLICIT_LINK_DIRECTORIES variables to clean rpath +information of standard directory locations instead of using the +undocumented/poorly maintained internal variable +CMAKE_PLATFORM_IMPLICIT_LINK_DIRECTORIES for the same task. +The new set of variables is only available after C, CXX, and FORTRAN +have been enabled so move include of shapelib module (which uses +filter_rpath) to after when all the languages are defined. ------------------------------------------------------------------------- -r12484 | airwin | 2013-08-16 11:02:59 -0700 (Fri, 16 Aug 2013) | 7 lines -Changed paths: - M /trunk/cmake/modules/docbook.cmake +This fix sorted out an issue with the rpath used for qt_example which +was being contaminated by a system location and thus giving the wrong +location when a non-standard Qt location is used. -Reorganize CMake logic in preparation for implementing -DOCBOOK_XML_BACKEND option. -Tested by Alan W. Irwin <ai...@us...> using --DBUILD_DOC=ON cmake option and clean followed by all target in doc/docbook/src. - - ------------------------------------------------------------------------ -r12483 | airwin | 2013-08-14 13:58:11 -0700 (Wed, 14 Aug 2013) | 12 lines +r12847 | airwin | 2013-12-11 00:37:43 -0800 (Wed, 11 Dec 2013) | 8 lines Changed paths: - M /trunk/doc/docbook/bin/info-clean.pl - M /trunk/doc/docbook/src/CMakeLists.txt - M /trunk/doc/docbook/src/inline-info.ent + M /trunk/cmake/epa_build/CMakeLists.txt + M /trunk/cmake/epa_build/plplot/CMakeLists.txt + A /trunk/cmake/epa_build/qt4_lite + A /trunk/cmake/epa_build/qt4_lite/CMakeLists.txt -Generate info form of documentation using utf-8 encoding rather than -us-ascii encoding. +Add a qt4_lite epa_build configuration. -This change means we don't have to replace the entities defined in -math.ent by their written out (in ascii) equivalents for the info -case, and Table 3-4 looks correct (for the first time ever) in the generated -info form of our documentation. +Tested by Alan W. Irwin <ai...@us...> on Linux +for epa_build with the build_epa_lite target which took ~15 minutes +to complete on my ordinary PC. Since that build I have done +extensive comprehensive testing of PLplot for the qt case using +these qt4_lite install results, and no issues were found at all. -Tested by: Alan W. Irwin <ai...@us...> using the -cmake -DBUILD_DOC=ON option and the "info" target. - - ------------------------------------------------------------------------ -r12482 | airwin | 2013-08-13 04:40:19 -0700 (Tue, 13 Aug 2013) | 20 lines +r12846 | jbauck | 2013-12-10 23:49:35 -0800 (Tue, 10 Dec 2013) | 1 line Changed paths: - M /trunk/doc/docbook/bin/api2man.pl.in - M /trunk/doc/docbook/bin/api2swigdoc.pl - M /trunk/doc/docbook/bin/api2text.pl - M /trunk/doc/docbook/bin/info-clean.pl + M /trunk/doc/docbook/src/ada.xml -Remove fake system identifiers imposed by the perl scripts that parse -our DocBook XML source documentation. - -Those identifiers were required before to work around the issue that -our source documentation incorrectly did not have a system identifier. -That has now been rectified with revision 12481 so the fake system -identifiers imposed by the perl scripts are no longer needed, and, in -fact, they must be removed because they conflict with the real system -identifier - -"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" - -which is now configured into plplotdoc.xml(.in) so that -xmllint validation produces a good result. - -Tested by Alan W. Irwin <ai...@us...> using the -cmake options -DBUILD_TEST=ON -DBUILD_DOC=ON and with the targets -check_swig_documentation, make_documentation, and all. - - +Update Ada documentation for new arrow-resetting feature and variant Ada-specific implementations ------------------------------------------------------------------------ -r12481 | airwin | 2013-08-12 16:11:08 -0700 (Mon, 12 Aug 2013) | 13 lines +r12845 | andrewross | 2013-12-10 23:26:37 -0800 (Tue, 10 Dec 2013) | 3 lines Changed paths: - M /trunk/cmake/modules/docbook.cmake - M /trunk/doc/docbook/src/advanced.xml - M /trunk/doc/docbook/src/plplotdoc.xml.in + M /trunk/examples/c/x04c.c -Change DocBook configuration and source files so that +Fix typo in variable name. -xmllint --noout --nonet --xinclude --postvalid --noent plplotdoc.xml -validates without errors. - -It appears this validation comm... [truncated message content] |
From: <ai...@us...> - 2013-12-22 20:15:11
|
Revision: 12907 http://sourceforge.net/p/plplot/code/12907 Author: airwin Date: 2013-12-22 20:15:07 +0000 (Sun, 22 Dec 2013) Log Message: ----------- Update cookbook of release instructions to what was done for 5.9.11. Modified Paths: -------------- trunk/README.Release_Manager_Cookbook Modified: trunk/README.Release_Manager_Cookbook =================================================================== --- trunk/README.Release_Manager_Cookbook 2013-12-22 06:28:09 UTC (rev 12906) +++ trunk/README.Release_Manager_Cookbook 2013-12-22 20:15:07 UTC (rev 12907) @@ -69,6 +69,7 @@ in the build tree. The current such list of targets is +... check_plplotcapi_defines ... check_swig_documentation ... check_f95_parameters ... check_tcl_parameters @@ -288,8 +289,7 @@ tarball: /tmp/plplot_install/share/doc/plplot/html/index.html -/tmp/plplot_install/share/doc/plplot/plplot-5.9.10.pdf -/tmp/plplot_install/share/doc/plplot/plplot-5.9.10.ps.gz +/tmp/plplot_install/share/doc/plplot/plplot-5.9.11.pdf Look at a few man pages that were generated from the tarball, e.g., @@ -310,7 +310,9 @@ results. scripts/comprehensive_test.sh --do_ctest no --do_test_noninteractive no +find ../comprehensive_test_disposeable -name "*.out" |grep -v a.out |xargs grep -i error scripts/comprehensive_test.sh --do_test_interactive no +find ../comprehensive_test_disposeable -name "*.out" |grep -v a.out |xargs grep -i error Enter results of these and all other tests of this release into README.release. @@ -353,7 +355,7 @@ /branches/?? For the release, you will be using svn to copy the /trunk version to -/tags/vX_Y_Z (v5_9_10 for example to follow the previous naming +/tags/vX_Y_Z (v5_9_11 for example to follow the previous naming conventions). To do this strictly on the server side with no local files involved at all @@ -365,11 +367,11 @@ svn status # Complete server side copy using new SourceForge Allura version of repository. # This is _much_ faster than copying from the local version. -svn copy https://svn.code.sf.net/p/plplot/code/trunk https://svn.code.sf.net/p/plplot/code/tags/v5_9_10 +svn copy https://svn.code.sf.net/p/plplot/code/trunk https://svn.code.sf.net/p/plplot/code/tags/v5_9_11 # Check out this release tag -svn checkout https://svn.code.sf.net/p/plplot/code/tags/v5_9_10 plplot_tags_5.9.10 +svn checkout https://svn.code.sf.net/p/plplot/code/tags/v5_9_11 plplot_tags_5.9.11 In the event that problems are found in the release tarball generated from the release tag, then trunk should be fixed, the trunk @@ -386,7 +388,7 @@ # IMPORTANT: use this tagged version to create the website and tarball -cd plplot_tags_5.9.10 +cd plplot_tags_5.9.11 (11a) Install and test a local copy of the PLplot website @@ -405,7 +407,7 @@ Follow the exact steps given above in "Install and test a (preliminary) local copy of the PLplot website" but this time with the correct RELEASE_DATE and VERSION and also do this -using the files from the tagged release directory, e.g., plplot_tags_5.9.10 +using the files from the tagged release directory, e.g., plplot_tags_5.9.11 (11b) Upload the local website to SourceForge @@ -492,26 +494,26 @@ sftp airwin,pl...@fr... cd /home/frs/project/p/pl/plplot/plplot -mkdir 5.9.10\ Source -cd 5.9.10\ Source -put plplot-5.9.10.tar.gz.asc -put plplot-5.9.10.tar.gz +mkdir 5.9.11\ Source +cd 5.9.11\ Source +put plplot-5.9.11.tar.gz.asc +put plplot-5.9.11.tar.gz exit -Make, e.g., plplot-5.9.10.tar.gz, the "latest" version. +Make, e.g., plplot-5.9.11.tar.gz, the "latest" version. login to SF website -files ==> plplot ==> 5.9.10 Source ==> view details (the "i" icon) for -plplot-5.9.10.tar.gz ==> select "all" for the default +files ==> plplot ==> 5.9.11 Source ==> view details (the "i" icon) for +plplot-5.9.11.tar.gz ==> select "all" for the default The above spins indefinitely with iceweasel, but it does work. # Save a local copy of the release tarball for future reference. cd /home/software/plplot_svn/HEAD/export #(or wherever) -cp -a /tmp/plplot-dist-prep/plplot-5.9.10.tar.gz* . -gpg --verify plplot-5.9.10.tar.gz.asc +cp -a /tmp/plplot-dist-prep/plplot-5.9.11.tar.gz* . +gpg --verify plplot-5.9.11.tar.gz.asc -cd plplot_tags_5.9.10 +cd plplot_tags_5.9.11 echo " DETAILED CHANGELOG FOR THIS RELEASE @@ -520,7 +522,7 @@ cd /tmp sftp airwin,pl...@fr... -cd /home/frs/project/p/pl/plplot/plplot/5.9.10\ Source +cd /home/frs/project/p/pl/plplot/plplot/5.9.11\ Source put /tmp/README.release exit @@ -531,7 +533,7 @@ news item will then be available on the menu bar. Click that, then "new post". -Enter the title (e.g., PLplot Release 5.9.10) and the text. Surround +Enter the title (e.g., PLplot Release 5.9.11) and the text. Surround the URL's in the text with angle brackets, e.g. <http://sourceforge.net/projects/plplot/files/plplot>. @@ -551,7 +553,7 @@ a. Preserve the historical record of the significant changes between versions of PLplot in one file by - prepending README.release for 5.9.10 to OLD-README.release + prepending README.release for 5.9.11 to OLD-README.release cat README.release OLD-README.release > OLD-README.release_new mv OLD-README.release_new OLD-README.release This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ai...@us...> - 2013-12-22 06:28:13
|
Revision: 12906 http://sourceforge.net/p/plplot/code/12906 Author: airwin Date: 2013-12-22 06:28:09 +0000 (Sun, 22 Dec 2013) Log Message: ----------- The release of 5.9.11 should be tomorrow (Sunday). In anticipation of that release, bump the release date and PLplot version information. Also bump the soversions of the Fortran 95 and Tcl libraries (the only libraries contained in this release where there are known backwards incompatibilities in the API). Modified Paths: -------------- trunk/cmake/modules/plplot_version.cmake trunk/www/examples.php Modified: trunk/cmake/modules/plplot_version.cmake =================================================================== --- trunk/cmake/modules/plplot_version.cmake 2013-12-22 02:44:37 UTC (rev 12905) +++ trunk/cmake/modules/plplot_version.cmake 2013-12-22 06:28:09 UTC (rev 12906) @@ -1,16 +1,16 @@ # For now, must set this by hand before each release. This value affects # at least the documentation build and perhaps other parts of the release. -set(RELEASE_DATE "2013-09-30") +set(RELEASE_DATE "2013-12-22") # Version data that need review and possible modification for each release. # Overall PLplot version number. -set(PLPLOT_VERSION 5.9.10) +set(PLPLOT_VERSION 5.9.11) # CPack version numbers for release tarball name. set(CPACK_PACKAGE_VERSION_MAJOR 5) set(CPACK_PACKAGE_VERSION_MINOR 9) -set(CPACK_PACKAGE_VERSION_PATCH 10) +set(CPACK_PACKAGE_VERSION_PATCH 11) # PLplot library version information. @@ -52,7 +52,7 @@ set(plplotdmd_SOVERSION 1) set(plplotdmd_VERSION ${plplotdmd_SOVERSION}.0.0) -set(plplotf95_SOVERSION 10) +set(plplotf95_SOVERSION 11) set(plplotf95_VERSION ${plplotf95_SOVERSION}.0.0) set(plplotgnome2_SOVERSION 0) @@ -61,7 +61,7 @@ set(tclmatrix_SOVERSION 9) set(tclmatrix_VERSION ${tclmatrix_SOVERSION}.2.0) -set(plplottcltk_SOVERSION 10) +set(plplottcltk_SOVERSION 11) set(plplottcltk_VERSION ${plplottcltk_SOVERSION}.0.0) set(plplottcltk_Main_SOVERSION 0) Modified: trunk/www/examples.php =================================================================== --- trunk/www/examples.php 2013-12-22 02:44:37 UTC (rev 12905) +++ trunk/www/examples.php 2013-12-22 06:28:09 UTC (rev 12906) @@ -230,7 +230,7 @@ echo <<<END <h3>Examples</h3> <p>These examples were generated with the pngcairo device and - reflect the status of PLplot-5.9.10.</p> + reflect the status of PLplot-5.9.11.</p> <p>Select a thumbnail to view full-size image and source code.</p> <p> END; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ai...@us...> - 2013-12-22 02:44:39
|
Revision: 12905 http://sourceforge.net/p/plplot/code/12905 Author: airwin Date: 2013-12-22 02:44:37 +0000 (Sun, 22 Dec 2013) Log Message: ----------- Propagate decision to drop PostScript form of documentation to one last bit of CMake logic in the build system where I forgot to make the change, and also for the generated website. Tested by: Alan W. Irwin <ai...@us...> on Linux by running the scripts/generate_website.sh script described in README.Release_Manager_Cookbook, and by carefully checking the local website (especially the html and pdf forms of the docbook documentation and the html form of the doxygen documentation that is generated by that script) using the konqueror browser. Modified Paths: -------------- trunk/doc/docbook/src/CMakeLists.txt trunk/www/documentation.php.in Modified: trunk/doc/docbook/src/CMakeLists.txt =================================================================== --- trunk/doc/docbook/src/CMakeLists.txt 2013-12-22 02:36:53 UTC (rev 12904) +++ trunk/doc/docbook/src/CMakeLists.txt 2013-12-22 02:44:37 UTC (rev 12905) @@ -884,13 +884,19 @@ if(BUILD_PRINT) list(APPEND tarball_list - ${BASE}.ps.gz ${BASE}.pdf ) list(APPEND tarball_depends_list - ${BASE}.ps.gz ${BASE}.pdf ) + if(NOT DOCBOOK_XML_BACKEND) + list(APPEND tarball_list + ${BASE}.ps.gz + ) + list(APPEND tarball_depends_list + ${BASE}.ps.gz + ) + endif(NOT DOCBOOK_XML_BACKEND) if(BUILD_DVI) list(APPEND tarball_list ${BASE}.dvi) list(APPEND tarball_depends_list ${BASE}.dvi) Modified: trunk/www/documentation.php.in =================================================================== --- trunk/www/documentation.php.in 2013-12-22 02:36:53 UTC (rev 12904) +++ trunk/www/documentation.php.in 2013-12-22 02:44:37 UTC (rev 12905) @@ -15,7 +15,6 @@ <h3>PLplot Documentation</h3> <ul class="arrowlist"> <li> <a href="docbook-manual/@BASE_HTML@">Browse the latest on-line documentation</a> </li> - <li> <a href="docbook-manual/@BASE@.ps.gz">PostScript form of documentation (<?php $size = number_format((filesize("docbook-manual/@BASE@.ps.gz")/1024/1024),2); echo $size;?> MB)</a> </li> <li> <a href="docbook-manual/@BASE@.pdf">PDF form of documentation (<?php $size = number_format((filesize("docbook-manual/@BASE@.pdf")/1024/1024),2); echo $size;?> MB)</a> </li> <li> <a href="docbook-manual/@BASE_INFO@.tar.gz">Info documentation tarball (<?php $size = number_format((filesize("docbook-manual/@BASE_INFO@.tar.gz")/1024/1024),2); echo $size;?> MB)</a> </li> <li> <a href="docbook-manual/@BASE_MAN@.tar.gz">Man pages tarball (API chapter in nroff format) (<?php $size = number_format((filesize("docbook-manual/@BASE_MAN@.tar.gz")/1024/1024),2); echo $size;?> MB)</a> </li> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ai...@us...> - 2013-12-22 02:36:56
|
Revision: 12904 http://sourceforge.net/p/plplot/code/12904 Author: airwin Date: 2013-12-22 02:36:53 +0000 (Sun, 22 Dec 2013) Log Message: ----------- Change to 5 pages with the 4th one used for the thumbprint for example 22. Modified Paths: -------------- trunk/www/examples.php Modified: trunk/www/examples.php =================================================================== --- trunk/www/examples.php 2013-12-22 01:13:23 UTC (rev 12903) +++ trunk/www/examples.php 2013-12-22 02:36:53 UTC (rev 12904) @@ -71,9 +71,9 @@ array(21, 3, 3, " <p>Grid data demo.</p> \n", array_fill( 0, 3, 1)), - array(22, 4, 3, " + array(22, 5, 4, " <p>Demo of simple vector plotting.</p> - \n", array_fill( 0, 4, 1)), + \n", array_fill( 0, 5, 1)), array(23, 16, 1, " <p>Font demo for unicode encodings which shows Greek letters and math symbols.</p> \n", array_fill( 0, 16, 1)), This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ai...@us...> - 2013-12-22 01:13:28
|
Revision: 12903 http://sourceforge.net/p/plplot/code/12903 Author: airwin Date: 2013-12-22 01:13:23 +0000 (Sun, 22 Dec 2013) Log Message: ----------- Tweak. Modified Paths: -------------- trunk/README.release Modified: trunk/README.release =================================================================== --- trunk/README.release 2013-12-22 00:25:16 UTC (rev 12902) +++ trunk/README.release 2013-12-22 01:13:23 UTC (rev 12903) @@ -367,7 +367,7 @@ of PLplot (which depends on the existence and quality of its dependencies) readily available on all platforms. The epa_build project uses the power of CMake (especially the ExternalProject_Add -command which is why we chose to use the suffix "epa_" in the name of +command which is why we chose to use the prefix "epa_" in the name of epa_build) to organize downloading, updating, configuring, building, testing, and installing of any kind (not just those with CMake-based build systems) of software project with full dependency support @@ -1835,7 +1835,7 @@ of PLplot (which depends on the existence and quality of its dependencies) readily available on all platforms. The epa_build project uses the power of CMake (especially the ExternalProject_Add -command which is why we chose to use the suffix "epa_" in the name of +command which is why we chose to use the prefix "epa_" in the name of epa_build) to organize downloading, updating, configuring, building, testing, and installing of any kind (not just those with CMake-based build systems) of software project with full dependency support This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ai...@us...> - 2013-12-22 00:25:20
|
Revision: 12902 http://sourceforge.net/p/plplot/code/12902 Author: airwin Date: 2013-12-22 00:25:16 +0000 (Sun, 22 Dec 2013) Log Message: ----------- Make bindings/swig-support/swig_documentation.i consistent with automatically generated version of that file generated from doc/docbook/src/api.xml using the check_swig_documentation target. Modified Paths: -------------- trunk/bindings/swig-support/swig_documentation.i Modified: trunk/bindings/swig-support/swig_documentation.i =================================================================== --- trunk/bindings/swig-support/swig_documentation.i 2013-12-22 00:15:08 UTC (rev 12901) +++ trunk/bindings/swig-support/swig_documentation.i 2013-12-22 00:25:16 UTC (rev 12902) @@ -3454,7 +3454,7 @@ Redacted form: plpath(n,x1,y1,x2,y2) - This function is not used in any examples. + This function is used in example 22. @@ -4249,7 +4249,7 @@ Redacted form: plscol0(icol0, r, g, b) - This function is not used in any examples. + This function is used in any example 31. @@ -4653,7 +4653,7 @@ DESCRIPTION: Set the escape character for text strings. From C (in contrast to - Fortran 77, see plsescfortran77) you pass esc as a character. Only + Fortran 95, see plsescfortran95) you pass esc as a character. Only selected characters are allowed to prevent the user from shooting himself in the foot (For example, a \ isn't allowed since it conflicts with C's use of backslash as a character escape). Here are the @@ -5610,7 +5610,7 @@ Redacted form: General: plstransform(transform_fun, data) - This function is used in example 19. + This function is used in examples 19 and 22. @@ -5622,7 +5622,8 @@ transform_fun (void (*) (PLFLT, PLFLT, PLFLT*, PLFLT*, PLPointer) , input) : Pointer to a function that defines a transformation - from the input (x, y) coordinate to a new plot world coordinate. + from the input (x, y) coordinate to a new plot world coordinate. A + NULL pointer means that no transform is applied. data (PLPointer, input) : Optional extra data for transform_fun. @@ -6045,7 +6046,8 @@ containing the x and y points which make up the arrow. The arrow is plotted by joining these points to form a polygon. The scaling assumes that the x and y points in the arrow lie in the range -0.5 - <= x,y <= 0.5. + <= x,y <= 0.5. If both arrowx and arrowy are NULL then the arrow + style will be reset to its default. npts (PLINT,input) : Number of points in the arrays arrowx and arrowy. @@ -6537,8 +6539,8 @@ ARGUMENTS: - width (PLINT, input) : The desired pen width. If width is negative - or the same as the previous value no action is taken. width = 0 + width (PLFLT, input) : The desired pen width. If width is negative + or the same as the previous value no action is taken. width = 0. should be interpreted as as the minimum valid pen width for the device. The interpretation of positive width values is also device dependent. This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ai...@us...> - 2013-12-22 00:15:16
|
Revision: 12901 http://sourceforge.net/p/plplot/code/12901 Author: airwin Date: 2013-12-22 00:15:08 +0000 (Sun, 22 Dec 2013) Log Message: ----------- Style previous commit. Modified Paths: -------------- trunk/drivers/tk.c Modified: trunk/drivers/tk.c =================================================================== --- trunk/drivers/tk.c 2013-12-22 00:10:13 UTC (rev 12900) +++ trunk/drivers/tk.c 2013-12-22 00:15:08 UTC (rev 12901) @@ -1558,11 +1558,11 @@ if ( unlink( iodev->fileName ) == -1 ) abort_session( pls, "Error removing fifo" ); - free( (void *) iodev->fileName); + free( (void *) iodev->fileName ); iodev->fileName = NULL; if ( rmdir( dirname ) == -1 ) abort_session( pls, "Error removing temporary directory" ); - free( (void *) dirname); + free( (void *) dirname ); } // Create socket for data transfer to the plframe widget This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ai...@us...> - 2013-12-22 00:10:16
|
Revision: 12900 http://sourceforge.net/p/plplot/code/12900 Author: airwin Date: 2013-12-22 00:10:13 +0000 (Sun, 22 Dec 2013) Log Message: ----------- Add Jerry's contribution to the testing. Modified Paths: -------------- trunk/README.release Modified: trunk/README.release =================================================================== --- trunk/README.release 2013-12-21 21:34:30 UTC (rev 12899) +++ trunk/README.release 2013-12-22 00:10:13 UTC (rev 12900) @@ -176,6 +176,9 @@ tree configured with our traditional (Make + pkg-config) build system for the examples. +Note that all tests mentioned below were successful ones unless +noted differently. + * Alan W. Irwin ran comprehensive tests for a complete system build environment on 64-bit Debian Wheezy Linux for AMD-64 hardware. @@ -187,29 +190,36 @@ environment (only the wxwidgets and octave components of PLplot were dropped) on 64-bit Debian Wheezy Linux for AMD-64 hardware. -* Alan W. Irwin ran comprehensive tests for a limited (qt, cairo, -wxwidgets, and octave PLplot components were dropped) epa_build -environment for 32-bit MinGW/MSYS/Wine for AMD-64 hardware. The Wine -version was a release candidate for Wine-1.6 that was built on Debian -Wheezy Linux, the compiler was gcc-4.7.2, the CMake generator was -"MSYS Makefiles", and the build command was "make" (i.e., the MSYS -version, not the MinGW version). +* Alan W. Irwin ran fairly comprehensive tests (i.e, for the shared +library/dynamic devices case run ctest and also the +test_noninteractive and test_interactive targets in the build tree) +for a quite limited (qt, cairo, wxwidgets, octave, Tcl/Tk, and Java +PLplot components were dropped) epa_build environment for 32-bit +MinGW/MSYS/Wine for AMD-64 hardware. The Wine version was a release +candidate for Wine-1.6 that was built on Debian Wheezy Linux, the +compiler was gcc-4.7.2, the CMake generator was "MSYS Makefiles", and +the build command was "make" (i.e., the MSYS version, not the MinGW +version). An attempt was made to extend this successful test result +to the installed examples built with the CMake-based build system, but +for that case the Ada examples all failed at run time with a return +code of 3 so no further attempt was made to widen the scope of these +MinGW/MSYS/Wine tests. * Andrew Ross ran fairly comprehensive tests (i.e., for the shared -library/dynamic drivers case use the test_noninteractive and +library/dynamic devices case use the test_noninteractive and test_interactive targets in the build tree) for a complete system build environment on 64-bit Debian unstable Linux for AMD-64 hardware. * Andrew Ross ran comprehensive tests for a complete system build environment on 64-bit Ubuntu Saucy (13.10) Linux for AMD-64 hardware. The only issue was a segmentation fault on the c++ qt_example for -the nondynamic drivers case only. This is reproducible on this +the nondynamic devices case only. This is reproducible on this system, but not on other Linux platforms so may be specific to the Ubuntu version of the Qt libraries. This is unlikely to affect most -users since the default is to use dynamically loaded drivers. +users since the default is to use dynamically loaded devices. * Andrew Ross ran limited tests with a limited number of nondynamic -drivers (mem, null, psc, svg, xfig, xwin) and limited language +devices (mem, null, psc, svg, xfig, xwin) and limited language bindings (C / C++ / F95) for a CentOS 5.10 system with AMD64 hardware. The build passed "make test_diff psc". The java version was too old and java support had to be disabled. Ada support had to be @@ -218,16 +228,16 @@ * Andrew Ross ran limited tests for an epa_build environment on CentOS 5.10. The buildtools and plplot_lite targets were built (with -nondynamic drivers), again after disabling java, ada and cairo support. +nondynamic devices), again after disabling java, ada and cairo support. This build added support for tcl / tk bindings and the pdf and tk based -drivers. The build passed make test_noninteractive in the install tree, +devices. The build passed make test_noninteractive in the install tree, but failed make test_interactive due to missing rpath information for the itcl and itk libraries. This bug can be worked around by setting LD_LIBRARY_PATH to point to the libraries, in which case the interactive test works fine. * Arjen Markus ran a fairly comprehensive test (i.e., for the shared -library/dynamic drivers case use the test_noninteractive target) for a +library/dynamic devices case use the test_noninteractive target) for a incomplete system build environment (the Ada, D, itcl/itk, Lua, ocaml, octave, Java, and wxwidgets components of PLplot were dropped) on 64-bit Cygwin with gcc-4.8.2. That platform was installed on top of @@ -265,7 +275,7 @@ (virtually all PLplot components dropped other than C, C++ and wxwidgets 2.8) for the Visual Studio 2008 IDE (with associated MSVC compiler) on 32-bit Windows 7 for AMD-64 hardware. The "Visual Studio -9 2008" generator yielded good results. Only x86 builds were tested. +9 2008" generator yielded good results. * Phil Rosenberg ran build tests and limited run-time tests (checking by hand that some components of PLplot worked) for the static @@ -285,11 +295,22 @@ nevertheless indicated there are some CMake bugs for those generators that need to be addressed. -* Felipe Gonzalez ran successful build tests for the C, C++, Fortran -95, and OCaml-4.01.0 PLplot bindings on Mac OS X Mountain Lion. The -report from Felipe stated the compiler suite used was probably from -MacPorts, and did not state anything about the hardware type. +* Jerry Bauck ran build tests of PLplot for the C core library, the +Ada, C++, Java, Lua, and Python bindings, and a fairly complete list +of device drivers (including qt and cairo) for PLplot on Mac OS X +Mountain Lion for AMD64 hardware. Extremely narrow run-time tests of +the Ada examples were a success, but all the standard testing scripts +failed because for unknown reasons the lena.pgm file that is used in +conjunction with our standard example 20 was not properly copied by +our build and test system from the source tree to the correct +locations in the build tree. +* Felipe Gonzalez ran build tests of PLplot for the C core library and +the C++, Fortran 95, and OCaml-4.01.0 bindings on Mac OS X Mountain +Lion. The report from Felipe stated the compiler suite used was +probably from MacPorts, and did not state anything about the hardware +type. + 3. Changes relative to PLplot 5.9.10 (the previous development release) 3.1 NUMERIC_INCLUDE_PATH ==> NUMPY_INCLUDE_PATH @@ -335,7 +356,7 @@ As a result of these improvements compiling and linking of our Qt-related components just got a lot more rational, and the long-standing memory management issues reported by valgrind for -examples/c++/qt_example for the non-dynamic drivers case have been +examples/c++/qt_example for the non-dynamic devices case have been resolved. 3.4 The epa_build project has been implemented This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ai...@us...> - 2013-12-21 21:34:33
|
Revision: 12899 http://sourceforge.net/p/plplot/code/12899 Author: airwin Date: 2013-12-21 21:34:30 +0000 (Sat, 21 Dec 2013) Log Message: ----------- Update instructions for the Windows case. Modified Paths: -------------- trunk/cmake/epa_build/README Added Paths: ----------- trunk/cmake/epa_build/setup/setup_mingw_msys_wine_toolchain trunk/cmake/epa_build/setup/setup_msys_makefiles Modified: trunk/cmake/epa_build/README =================================================================== --- trunk/cmake/epa_build/README 2013-12-20 20:40:34 UTC (rev 12898) +++ trunk/cmake/epa_build/README 2013-12-21 21:34:30 UTC (rev 12899) @@ -15,10 +15,11 @@ Installing the Required Windows Toolchain: N.B. There is a good possibility that epa_build will work with the -Microsoft proprietary toolchain, and I would be happy to accept -patches to make that so (including a patch for this file), but my only -experience is with free software so until I receive such patches, the -instructions below refer only to free software toolchains. +Microsoft proprietary toolchain, and I (which refers to Alan W. Irwin +throughout this file) would be happy to accept patches to make that so +(including a patch for this file), but my only experience is with free +software so until I receive such patches, the instructions below refer +only to free software toolchains. 1. Install latest MinGW/MSYS using the automatic installer @@ -50,7 +51,7 @@ 4. Download a recent cmake.exe version from http://www.cmake.org/files. I am currently using -v2.8/cmake-2.8.10.2-win32-x86.zip. Unpack this using the unzip +v2.8/cmake-2.8.12.1-win32-x86.zip. Unpack this using the unzip command you just installed and put cmake.exe on your PATH. 5. [OPTIONAL] Copy the MinGW-4.7.2/msys/1.0/bin directory to @@ -78,23 +79,73 @@ =============================================================================== Set up instructions for epa_build -1. Linux or Mac OS X. +I. Unix platforms: +* Linux + Tailor the indicated values in setup/setup_linux for your own system, then source that file, e.g., source <Top directory of PLplot source tree>/cmake/epa_build/setup/setup_linux -2. Windows platforms +* Mac OS X -Similar instructions about tailoring and sourcing relevant files to be -done later after I update and test the files in question. +This has not been tried yet, but something similar to setup_linux should +do the job. +* Cygwin on Windows + +Some experiments with this have just been started with nothing written +down with regards to setup. But ultimately it should be very similar +to the Linux case. + +II. Non-Cygwin Windows platforms: + +* MinGW/MSYS for the Wine version of Windows + +Tailor the indicated values in setup_mingw_msys_wine_toolchain and +setup/setup_msys_makefiles for your own system. Then execute something +similar to the following from Linux to get into the bash.exe shell +on Wine: + +wineserver -p +nice -19 wineconsole --backend=curses MinGW-4.7.2/msys/1.0/bin/bash.exe + +Then from that bash.exe shell execute + +bash.exe-3.1$ pushd /z/home/software/plplot_svn/HEAD/plplot_allura/cmake/epa_build/setup;source setup_msys_makefiles;popd + +(You need to pushd or cd above to the setup directory because the the +setup_msys_makefiles file that is sourced, automatically executes +"source setup_mingw_msys_wine_toolchain", and that only works if it is +done from the setup directory.) + +* MinGW/MSYS for the Microsoft version of Windows + +This has not been tried yet but the setup should work very similarly +to the MinGW/MSYS/Wine case above. + +* Other non-Cygwin Windows platforms: + +Non-Cygwin windows epa_builds absolutely rely on MSYS tools such as +bash.exe. But so long as Windows users download MSYS and put it on +the PATH, then in theory epa_build should work. For example, I have +tried epa_build on Wine with some success for the "MSYS Makefiles" +CMake generator (those results are referred to above) as well as the +"MinGW Makefiles", "Ninja", and "NMake Makefiles JOM" generators. All +of these results were with the gcc compiler suite from the MinGW +project. I see no reason why that success could not be extended to +other command-line generators as well such as "NMake Makefiles" and +other compilers such as MSVC/Ifort, but the epa_build project needs +more volunteers to debug the platforms that interest them. + =============================================================================== Build directions for epa_build -1. Linux +I. Unix platforms +* Linux + Note that setup_linux sets up all the important environment variables you need including GENERATOR_STRING, INSTALL_PREFIX, and EPA_BUILD_SOURCE_PATH. @@ -162,7 +213,46 @@ # developers) requires substantial extra CPU time and ~4GB of extra # disk space to run. -2. Windows platforms +* Mac OS X and Cygwin -Very similar to above, but I will fill in variations that I used -on Wine when I get a chance to test them again. +These epa_builds should be very similar to the Linux case. I suggest +you use system versions of build tools (i.e., skip the +-DBUILD_THE_BUILDTOOLS=ON case above) to start until you start having +success with ordinary epa_builds. And I would start small there with, +e.g., attempting to build shapelib, then plplot_lite before moving on +to a full plplot build (including builds of all its dependencies). + +II. Non-Cygwin Windows platforms + +For the MinGW/MSYS/Wine case, I (AWI) essentially followed the same +instructions as above for the Linux case. However, some of the +buildtools (e.g., Tcl/Tk/Itcl/Itk/Iwidgets variants) don't yet build +on Windows and although CMake builds fine on MinGW/MSYS, the result +does not have the power (supplied only by a fully configured curl +library and not by the internal curl alternative that the CMake build +can use as a backup) to download from "https" archives which is +essential for some of the epa_builds. The Linux and Cygwin platforms +do give the required access to a full-featured Curl library for the +cmake build to link to, but on MinGW/MSYS the only alternative is to +build your own curl library, and the epa_build configuration for that +has not been implemented yet although it is on my ToDo list. The net +result of these considerations is I only built pkg-config and swig for +the -DBUILD_THE_BUILDTOOLS=ON case which in turn implied I dropped +everything that was Tcl related from the PLplot build and relied on +the pre-built (and fully powered) binary version of CMake downloaded +from Kitware (see above setup instructions). Also, for ordinary +epa_builds (with -DBUILD_THE_BUILDTOOLS=OFF), I only had success with +plplot_lite and not plplot. The reason was the extra pango and qt +dependencies of plplot which had dependent packages of their own that +could not yet be built on Windows. + +N.B. the tweaks required to make all epa_builds work on Windows should +be few per project since many others have had success building all +projects on Windows that are covered by epa_build. But there are a +lot of such projects in, for example, the dependency list for pango, +and often the Windows build tweaks are not well publicized. Thus, +some substantial and sustained effort (but not an impossibly difficult +effort) will be required to get all of the epa_build configurations to +work for the Windows case, and the success I have achieved with a +limited group of projects for the MinGW/MSYS/Wine case is a good +start. Added: trunk/cmake/epa_build/setup/setup_mingw_msys_wine_toolchain =================================================================== --- trunk/cmake/epa_build/setup/setup_mingw_msys_wine_toolchain (rev 0) +++ trunk/cmake/epa_build/setup/setup_mingw_msys_wine_toolchain 2013-12-21 21:34:30 UTC (rev 12899) @@ -0,0 +1,58 @@ +# This script should be sourced from an MSYS bash environment. Its +# purpose is to setup environment variables controlling the tool chain +# that is used for MinGW/MSYS builds on a Wine platform. + +# Tailor these values to be appropriate for your local Windows platform. + +CMAKE_VERSION=2.8.12.1 + +# This is the downloaded version we are testing rather than a bootstrapped +# version. +CMAKE_PATH=/z/home/wine/newstart/cmake-${CMAKE_VERSION}-win32-x86/bin + +MINGW_VERSION=4.7.2 +MINGW_PREFIX=/z/home/wine/newstart/MinGW-$MINGW_VERSION + +# MinGW gcc, g++, and gfortran flags you might want to tailor to +# different values. +export CFLAGS='-O3 -fvisibility=hidden -Wuninitialized' +export CXXFLAGS='-O3 -fvisibility=hidden -Wuninitialized' +export FFLAGS='-O3 -Wuninitialized' + +# Note $WINEVERSION propagates as an environment +# variable from the Linux to Wine environment. +BUILDTOOLS_PREFIX=/z/home/wine/newstart/build_script/install-${WINEVERSION}_buildtools + +# Directory where python.exe can be found +PYTHON_PATH=/z/home/wine/newstart/python/python-2.7.5 + +# Directory for top of source tree for epa_build +export EPA_BUILD_SOURCE_PATH=/z/home/software/plplot_svn/HEAD/plplot_allura/cmake/epa_build + +# End of tailored values. + +# For MinGW on Wine, set up CMAKE_INCLUDE_PATH to find the +# the MinGW, MSYS, and standard system headers. +# N.B. $MINGW_PREFIX/msys/1.0/include is equivalent to /usr/include on bash. +export CMAKE_INCLUDE_PATH=$MINGW_PREFIX/msys/1.0/include:$MINGW_PREFIX/include:$MINGW_PREFIX/lib/gcc/mingw32/$MINGW_VERSION/include:/z/home/wine/wine_build/install-$WINEVERSION/include/wine/msvcrt:/z/home/wine/wine_build/install-$WINEVERSION/include/wine/windows + +# For MinGW on Wine, no help is required to find mingw, msys, or wine libraries +# because the appropriate dll's are on the PATH. +export CMAKE_LIBRARY_PATH= + +# Help CMake find Python headers and library. +CMAKE_INCLUDE_PATH=$PYTHON_PATH/include:$CMAKE_INCLUDE_PATH +CMAKE_LIBRARY_PATH=$PYTHON_PATH/libs:$CMAKE_LIBRARY_PATH + +# Put CMake, Python, subversion and MinGW on the PATH. + +PATH=$CMAKE_PATH:$PATH +PATH=$PYTHON_PATH:$PATH +PATH=$CMAKE_PATH:$PATH +PATH=$MINGW_PREFIX/bin/:$PATH + +# pkg-config setup. +PATH=$BUILDTOOLS_PREFIX/bin:$PATH + +export PKG_CONFIG_PATH=/z/home/wine/newstart/MinGW-4.7.2/msys/1.0/lib/pkgconfig:$BUILDTOOLS_PREFIX/share/pkgconfig:$BUILDTOOLS_PREFIX/lib/pkgconfig + Added: trunk/cmake/epa_build/setup/setup_msys_makefiles =================================================================== --- trunk/cmake/epa_build/setup/setup_msys_makefiles (rev 0) +++ trunk/cmake/epa_build/setup/setup_msys_makefiles 2013-12-21 21:34:30 UTC (rev 12899) @@ -0,0 +1,37 @@ +# This script should be sourced from an MSYS bash environment. Its +# purpose is to setup environment variables needed to run any standard +# cmake "MSYS Makefiles" build on a Windows platform. + +source setup_mingw_msys_wine_toolchain + +# Tailor this install location for "MSYS Makefiles" builds to your local needs: +export INSTALL_PREFIX=/z/home/wine/newstart/build_script/install-$WINEVERSION + +# End of tailored values. + +# Put buildtools that have been built and installed by build_packages on PATH. +PATH=${INSTALL_PREFIX}_buildtools/bin:$PATH + +# Put install directory on PATH (so that, e.g., the wxwidgets +# configuration tool will be found. +PATH=${INSTALL_PREFIX}/bin:$PATH + +# Put appropriate buildtools areas on these. +CMAKE_INCLUDE_PATH=${INSTALL_PREFIX}_buildtools/include:$CMAKE_INCLUDE_PATH +CMAKE_LIBRARY_PATH=${INSTALL_PREFIX}_buildtools/lib:$CMAKE_LIBRARY_PATH + +# Put version 3 of itcl and friends higher on CMAKE_INCLUDE_PATH then +# the above default. +CMAKE_INCLUDE_PATH=${INSTALL_PREFIX}_buildtools/include/itcl3.4:$CMAKE_INCLUDE_PATH + +# Put appropriate install areas on these. +CMAKE_INCLUDE_PATH=${INSTALL_PREFIX}/include:$CMAKE_INCLUDE_PATH +CMAKE_LIBRARY_PATH=${INSTALL_PREFIX}/lib:$CMAKE_LIBRARY_PATH + +# Put install-location pkg-config directories at top of PKG_CONFIG_PATH +PKG_CONFIG_PATH=$INSTALL_PREFIX/share/pkgconfig:$INSTALL_PREFIX/lib/pkgconfig:$PKG_CONFIG_PATH + +# Put MSYS at the top of the PATH +PATH=$MINGW_PREFIX/msys/1.0/bin/:$PATH + +export GENERATOR_STRING="MSYS Makefiles" This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <and...@us...> - 2013-12-20 20:40:36
|
Revision: 12898 http://sourceforge.net/p/plplot/code/12898 Author: andrewross Date: 2013-12-20 20:40:34 +0000 (Fri, 20 Dec 2013) Log Message: ----------- Updated notes on my Ubunutu / CentOS tests. Modified Paths: -------------- trunk/README.release Modified: trunk/README.release =================================================================== --- trunk/README.release 2013-12-20 19:06:46 UTC (rev 12897) +++ trunk/README.release 2013-12-20 20:40:34 UTC (rev 12898) @@ -200,11 +200,32 @@ test_interactive targets in the build tree) for a complete system build environment on 64-bit Debian unstable Linux for AMD-64 hardware. -* Andrew Ross ran fairly comprehensive tests (i.e., for the shared library/dynamic -drivers case use the test_noninteractive and test_interactive targets -in the build tree) for a complete system build environment on -64-bit Ubuntu Saucy (13.10) Linux for AMD-64 hardware. +* Andrew Ross ran comprehensive tests for a complete system build +environment on 64-bit Ubuntu Saucy (13.10) Linux for AMD-64 hardware. +The only issue was a segmentation fault on the c++ qt_example for +the nondynamic drivers case only. This is reproducible on this +system, but not on other Linux platforms so may be specific to the +Ubuntu version of the Qt libraries. This is unlikely to affect most +users since the default is to use dynamically loaded drivers. +* Andrew Ross ran limited tests with a limited number of nondynamic +drivers (mem, null, psc, svg, xfig, xwin) and limited language +bindings (C / C++ / F95) for a CentOS 5.10 system with AMD64 hardware. +The build passed "make test_diff psc". The java version was too old +and java support had to be disabled. Ada support had to be +disabled due to a bug (now fixed). Cairo support also had to be +disabled due to too old a version of the library being installed. + +* Andrew Ross ran limited tests for an epa_build environment on CentOS +5.10. The buildtools and plplot_lite targets were built (with +nondynamic drivers), again after disabling java, ada and cairo support. +This build added support for tcl / tk bindings and the pdf and tk based +drivers. The build passed make test_noninteractive in the install tree, +but failed make test_interactive due to missing rpath information for the +itcl and itk libraries. This bug can be worked around by setting +LD_LIBRARY_PATH to point to the libraries, in which case the interactive +test works fine. + * Arjen Markus ran a fairly comprehensive test (i.e., for the shared library/dynamic drivers case use the test_noninteractive target) for a incomplete system build environment (the Ada, D, itcl/itk, Lua, ocaml, This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ai...@us...> - 2013-12-20 19:06:49
|
Revision: 12897 http://sourceforge.net/p/plplot/code/12897 Author: airwin Date: 2013-12-20 19:06:46 +0000 (Fri, 20 Dec 2013) Log Message: ----------- Properly escape the "\" character for MSYS_PLATFORM builds. That is, \unix ==> \\unix Modified Paths: -------------- trunk/cmake/epa_build/tcl/CMakeLists.txt trunk/cmake/epa_build/tk/CMakeLists.txt Modified: trunk/cmake/epa_build/tcl/CMakeLists.txt =================================================================== --- trunk/cmake/epa_build/tcl/CMakeLists.txt 2013-12-20 18:13:59 UTC (rev 12896) +++ trunk/cmake/epa_build/tcl/CMakeLists.txt 2013-12-20 19:06:46 UTC (rev 12897) @@ -48,7 +48,7 @@ # version of configure may be good enough for our needs for all # platforms. if(MSYS_PLATFORM) - set(source_PATH ${source_PATH}\unix) + set(source_PATH ${source_PATH}\\unix) else(MSYS_PLATFORM) set(source_PATH ${source_PATH}/unix) endif(MSYS_PLATFORM) Modified: trunk/cmake/epa_build/tk/CMakeLists.txt =================================================================== --- trunk/cmake/epa_build/tk/CMakeLists.txt 2013-12-20 18:13:59 UTC (rev 12896) +++ trunk/cmake/epa_build/tk/CMakeLists.txt 2013-12-20 19:06:46 UTC (rev 12897) @@ -48,7 +48,7 @@ # version of configure may be good enough for our needs for all # platforms. if(MSYS_PLATFORM) - set(source_PATH ${source_PATH}\unix) + set(source_PATH ${source_PATH}\\unix) else(MSYS_PLATFORM) set(source_PATH ${source_PATH}/unix) endif(MSYS_PLATFORM) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ai...@us...> - 2013-12-20 18:14:04
|
Revision: 12896 http://sourceforge.net/p/plplot/code/12896 Author: airwin Date: 2013-12-20 18:13:59 +0000 (Fri, 20 Dec 2013) Log Message: ----------- The width argument of plwidth is of type PLFLT and not PLINT. Fixes bug 136. Modified Paths: -------------- trunk/doc/docbook/src/api.xml Modified: trunk/doc/docbook/src/api.xml =================================================================== --- trunk/doc/docbook/src/api.xml 2013-12-20 18:10:11 UTC (rev 12895) +++ trunk/doc/docbook/src/api.xml 2013-12-20 18:13:59 UTC (rev 12896) @@ -16770,13 +16770,13 @@ <varlistentry> <term> <parameter>width</parameter> - (<literal>PLINT</literal>, input) + (<literal>PLFLT</literal>, input) </term> <listitem> <para> The desired pen width. If <literal><parameter>width</parameter></literal> is negative or the same as the previous value no action is taken. - <literal><parameter>width</parameter> = 0</literal> should be interpreted as + <literal><parameter>width</parameter> = 0.</literal> should be interpreted as as the minimum valid pen width for the device. The interpretation of positive <literal><parameter>width</parameter></literal> values is also device dependent. This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ai...@us...> - 2013-12-20 18:10:15
|
Revision: 12895 http://sourceforge.net/p/plplot/code/12895 Author: airwin Date: 2013-12-20 18:10:11 +0000 (Fri, 20 Dec 2013) Log Message: ----------- "DOCTYPE" declaration not allowed in chapters that are a subset of the whole document. The removal of this line fixed the validation error generated by "make validate". Modified Paths: -------------- trunk/doc/docbook/src/ada.xml Modified: trunk/doc/docbook/src/ada.xml =================================================================== --- trunk/doc/docbook/src/ada.xml 2013-12-20 17:44:12 UTC (rev 12894) +++ trunk/doc/docbook/src/ada.xml 2013-12-20 18:10:11 UTC (rev 12895) @@ -32,7 +32,6 @@ EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. --><!-- Note to self: Uncomment these lines when editing with Serna or XMLmind or whatever, a validity check doesn't always fail. --><!-- This document was created with Syntext Serna Free. --> -<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" []> <chapter id="ada"> <title>Ada Language</title> <para>This document describes the Ada bindings to the PLplot technical This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ai...@us...> - 2013-12-20 17:44:16
|
Revision: 12894 http://sourceforge.net/p/plplot/code/12894 Author: airwin Date: 2013-12-20 17:44:12 +0000 (Fri, 20 Dec 2013) Log Message: ----------- Fix one other minor typo in the summary of Arjen's test results. Modified Paths: -------------- trunk/README.release Modified: trunk/README.release =================================================================== --- trunk/README.release 2013-12-20 17:41:21 UTC (rev 12893) +++ trunk/README.release 2013-12-20 17:44:12 UTC (rev 12894) @@ -214,7 +214,7 @@ wxwidgets were dropped because of build errors for those on Cygwin that have not been resolved yet. The remaining components were dropped due to lack of time to investigate them so far. There was -close to complete success with the qt and cairo (asided from wincairo) +close to complete success with the qt and cairo (aside from wincairo) device drivers which is an excellent Windows result since those device drivers add a lot of important capability to PLplot. This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ai...@us...> - 2013-12-20 17:41:24
|
Revision: 12893 http://sourceforge.net/p/plplot/code/12893 Author: airwin Date: 2013-12-20 17:41:21 +0000 (Fri, 20 Dec 2013) Log Message: ----------- Add Felipe Gonzalez's test report. Modified Paths: -------------- trunk/README.release Modified: trunk/README.release =================================================================== --- trunk/README.release 2013-12-20 09:39:49 UTC (rev 12892) +++ trunk/README.release 2013-12-20 17:41:21 UTC (rev 12893) @@ -264,6 +264,10 @@ nevertheless indicated there are some CMake bugs for those generators that need to be addressed. +* Felipe Gonzalez ran successful build tests for the C, C++, Fortran +95, and OCaml-4.01.0 PLplot bindings on Mac OS X Mountain Lion. The +report from Felipe stated the compiler suite used was probably from +MacPorts, and did not state anything about the hardware type. 3. Changes relative to PLplot 5.9.10 (the previous development release) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <arj...@us...> - 2013-12-20 09:39:51
|
Revision: 12892 http://sourceforge.net/p/plplot/code/12892 Author: arjenmarkus Date: 2013-12-20 09:39:49 +0000 (Fri, 20 Dec 2013) Log Message: ----------- Correctly a typo and added a few sentences on new devices available/tested for Windows/Cygwin. Modified Paths: -------------- trunk/README.release Modified: trunk/README.release =================================================================== --- trunk/README.release 2013-12-19 20:56:26 UTC (rev 12891) +++ trunk/README.release 2013-12-20 09:39:49 UTC (rev 12892) @@ -214,7 +214,7 @@ wxwidgets were dropped because of build errors for those on Cygwin that have not been resolved yet. The remaining components were dropped due to lack of time to investigate them so far. There was -close to complete success with the qt amd cairo (asided from wincairo) +close to complete success with the qt and cairo (asided from wincairo) device drivers which is an excellent Windows result since those device drivers add a lot of important capability to PLplot. @@ -302,6 +302,9 @@ regressions in the build system and bindings for Tcl and friends in the future. +As a consequence of these activities the ntk device has been enabled +under Windows. The xwin and tkwin devices work under Cygwin. + 3.3 Substantial overhaul of the build system for the Qt-components of PLplot As a result of these improvements compiling and linking of our This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ai...@us...> - 2013-12-19 20:56:29
|
Revision: 12891 http://sourceforge.net/p/plplot/code/12891 Author: airwin Date: 2013-12-19 20:56:26 +0000 (Thu, 19 Dec 2013) Log Message: ----------- Replace cmake -E copy with more appropriate cmake -E copy_if_different. Modified Paths: -------------- trunk/plplot_test/CMakeLists.txt Modified: trunk/plplot_test/CMakeLists.txt =================================================================== --- trunk/plplot_test/CMakeLists.txt 2013-12-19 20:45:09 UTC (rev 12890) +++ trunk/plplot_test/CMakeLists.txt 2013-12-19 20:56:26 UTC (rev 12891) @@ -521,7 +521,7 @@ # tree so that example 20 will run from there. add_custom_command( OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/lena.pgm - COMMAND ${CMAKE_COMMAND} -E copy + COMMAND ${CMAKE_COMMAND} -E copy_if_different ${CMAKE_SOURCE_DIR}/examples/lena.pgm ${CMAKE_CURRENT_BINARY_DIR}/lena.pgm DEPENDS ${CMAKE_SOURCE_DIR}/examples/lena.pgm @@ -531,7 +531,7 @@ # Also need a copy of lena.img for the octave bindings add_custom_command( OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/lena.img - COMMAND ${CMAKE_COMMAND} -E copy + COMMAND ${CMAKE_COMMAND} -E copy_if_different ${CMAKE_SOURCE_DIR}/examples/octave/lena.img ${CMAKE_CURRENT_BINARY_DIR}/lena.img DEPENDS ${CMAKE_SOURCE_DIR}/examples/octave/lena.img This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <jb...@us...> - 2013-12-19 20:45:12
|
Revision: 12890 http://sourceforge.net/p/plplot/code/12890 Author: jbauck Date: 2013-12-19 20:45:09 +0000 (Thu, 19 Dec 2013) Log Message: ----------- Correct type declarations to once again allow building Ada with an Ada 95 compiler. Modified Paths: -------------- trunk/bindings/ada/plplot_auxiliary.ads Modified: trunk/bindings/ada/plplot_auxiliary.ads =================================================================== --- trunk/bindings/ada/plplot_auxiliary.ads 2013-12-19 20:13:08 UTC (rev 12889) +++ trunk/bindings/ada/plplot_auxiliary.ads 2013-12-19 20:45:09 UTC (rev 12890) @@ -29,7 +29,7 @@ Ada.Strings.Bounded, Ada.Strings.Unbounded; - with Ada.Numerics.Long_Real_Arrays; +-- with Ada.Numerics.Long_Real_Arrays; package PLplot_Auxiliary is @@ -39,8 +39,8 @@ -- Declarations for Ada 95 and Ada 2005 when it is desired to _not_ invoke -- the numerical capability of Annex G.3. --- type Real_Vector is array (Integer range <>) of Long_Float; --- type Real_Matrix is array (Integer range <>, Integer range <>) of Long_Float; + type Real_Vector is array (Integer range <>) of Long_Float; + type Real_Matrix is array (Integer range <>, Integer range <>) of Long_Float; -- Declarations when using Ada 2005 and it is desired to invoke the numerics @@ -50,8 +50,8 @@ -- Using Annex G.3 requires linking to BLAS and LAPACK libraries or the -- PLplot build process will fail when attempting to link the Ada examples -- e.g. x01a.adb. - subtype Real_Vector is Ada.Numerics.Long_Real_Arrays.Real_Vector; - subtype Real_Matrix is Ada.Numerics.Long_Real_Arrays.Real_Matrix; +-- subtype Real_Vector is Ada.Numerics.Long_Real_Arrays.Real_Vector; +-- subtype Real_Matrix is Ada.Numerics.Long_Real_Arrays.Real_Matrix; ---------------------------------------------------------------------------- -- Implementation note: The easy ability to switch to Ada 2005 Annex G.3 This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ai...@us...> - 2013-12-19 20:13:11
|
Revision: 12889 http://sourceforge.net/p/plplot/code/12889 Author: airwin Date: 2013-12-19 20:13:08 +0000 (Thu, 19 Dec 2013) Log Message: ----------- Add Arjen's test contributions. Modified Paths: -------------- trunk/README.release Modified: trunk/README.release =================================================================== --- trunk/README.release 2013-12-19 19:13:32 UTC (rev 12888) +++ trunk/README.release 2013-12-19 20:13:08 UTC (rev 12889) @@ -187,9 +187,13 @@ environment (only the wxwidgets and octave components of PLplot were dropped) on 64-bit Debian Wheezy Linux for AMD-64 hardware. -* Alan W. Irwin ran comprehensive tests for a limited (qt, cairo, wxwidgets, -and octave PLplot components were dropped) epa_build environment for -32-bit MinGW/MSYS/Wine for AMD-64 hardware. +* Alan W. Irwin ran comprehensive tests for a limited (qt, cairo, +wxwidgets, and octave PLplot components were dropped) epa_build +environment for 32-bit MinGW/MSYS/Wine for AMD-64 hardware. The Wine +version was a release candidate for Wine-1.6 that was built on Debian +Wheezy Linux, the compiler was gcc-4.7.2, the CMake generator was +"MSYS Makefiles", and the build command was "make" (i.e., the MSYS +version, not the MinGW version). * Andrew Ross ran fairly comprehensive tests (i.e., for the shared library/dynamic drivers case use the test_noninteractive and @@ -201,22 +205,55 @@ in the build tree) for a complete system build environment on 64-bit Ubuntu Saucy (13.10) Linux for AMD-64 hardware. +* Arjen Markus ran a fairly comprehensive test (i.e., for the shared +library/dynamic drivers case use the test_noninteractive target) for a +incomplete system build environment (the Ada, D, itcl/itk, Lua, ocaml, +octave, Java, and wxwidgets components of PLplot were dropped) on +64-bit Cygwin with gcc-4.8.2. That platform was installed on top of +64-bit Windows 7, service pack 1 for AMD-64 hardware. Java and +wxwidgets were dropped because of build errors for those on Cygwin +that have not been resolved yet. The remaining components were +dropped due to lack of time to investigate them so far. There was +close to complete success with the qt amd cairo (asided from wincairo) +device drivers which is an excellent Windows result since those +device drivers add a lot of important capability to PLplot. + +* Arjen Markus ran build tests and limited run-time tests (checking by +hand that some components of PLplot worked) for the shared +libraries/dynamic devices case for a limited build environment (the +qt, cairo, wxwidgets, pdf and the components mentioned above of PLplot +were dropped except for Java which was included in this test) on +32-bit MinGW. That platform was installed on top of 64-bit Windows 7, +service pack 1 for AMD-64 hardware. The compiler was gcc-4.7.0, the +CMake generator was "MinGW Makefiles", and the build command was +mingw32-make. + +* Arjen Markus ran build tests and limited run-time tests (checking by +hand that some components of PLplot worked) for the shared +libraries/dynamic devices case for a limited build environment (the +same limitations as for his MinGW tests above) for MSVC/C++ 2010 and Intel +Fortran 2011 compilers on 64-bit Windows 7, service pack 1 for AMD-64 +hardware. In general, the CMake generator "NMake Makefiles" and +the corresponding build command "nmake" worked well for this platform. +The attempted use of Visual Studio generators combined with the +Visual Studio 2010 IDE available on that platform was more problematic. + * Phil Rosenberg ran build tests and limited run-time tests (checking by hand that some components of PLplot worked) for the static libraries/nondynamic devices case for a limited build environment -(most PLplot components dropped other than wxwidgets 2.8) for the -Visual Studio 2008 IDE (with associated MSVC compiler) on 32-bit -Windows 7 for AMD-64 hardware. The "Visual Studio 9 2008" generator -yielded good results. Only x86 builds were tested. +(virtually all PLplot components dropped other than C, C++ and +wxwidgets 2.8) for the Visual Studio 2008 IDE (with associated MSVC +compiler) on 32-bit Windows 7 for AMD-64 hardware. The "Visual Studio +9 2008" generator yielded good results. Only x86 builds were tested. * Phil Rosenberg ran build tests and limited run-time tests (checking by hand that some components of PLplot worked) for the static libraries/nondynamic devices case for a limited build environment -(most PLplot components dropped other than wxwidgets 3.0) for the -Visual Studio 2012 IDE (with associated MSVC compiler) on Windows 8 -for AMD-64 hardware. Both x86 and x64 builds were tested. The -combination of "NMake Makefiles" generator and MSVC compiler yielded -good build results if CMake patches (available at +(virtually all PLplot components dropped other than C, CXX, and +wxwidgets 3.0) for the Visual Studio 2012 IDE (with associated MSVC +compiler) on Windows 8 for AMD-64 hardware. Both x86 and x64 builds +were tested. The combination of "NMake Makefiles" generator and MSVC +compiler yielded good build results if CMake patches (available at http://www.cmake.org/Bug/view.php?id=14587 and http://www.cmake.org/Bug/view.php?id=14642) to allow use of wxwidgets-3.0 were applied. With those patches some run-time problems @@ -227,6 +264,7 @@ nevertheless indicated there are some CMake bugs for those generators that need to be addressed. + 3. Changes relative to PLplot 5.9.10 (the previous development release) 3.1 NUMERIC_INCLUDE_PATH ==> NUMPY_INCLUDE_PATH This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |