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-07-28 04:22:26
|
Revision: 12439
http://sourceforge.net/p/plplot/code/12439
Author: airwin
Date: 2013-07-28 04:22:21 +0000 (Sun, 28 Jul 2013)
Log Message:
-----------
Drop all gtk-doc dependencies as a temporary? measure.
Modified Paths:
--------------
trunk/cmake/build_projects/gtk_transform.py
Modified: trunk/cmake/build_projects/gtk_transform.py
===================================================================
--- trunk/cmake/build_projects/gtk_transform.py 2013-07-28 04:20:14 UTC (rev 12438)
+++ trunk/cmake/build_projects/gtk_transform.py 2013-07-28 04:22:21 UTC (rev 12439)
@@ -141,6 +141,14 @@
for dep_element in package.findall("after/dep"):
after[dep_element.get("package")] = None
+ # As a temporary? measure drop all references to gtk-doc
+ if dependencies.has_key("gtk-doc"):
+ del dependencies["gtk-doc"]
+ if suggests.has_key("gtk-doc"):
+ del suggests["gtk-doc"]
+ if after.has_key("gtk-doc"):
+ del after["gtk-doc"]
+
if if_dependencies:
overall_dependencies = {}
overall_dependencies.update(dependencies)
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ai...@us...> - 2013-07-28 04:20:18
|
Revision: 12438
http://sourceforge.net/p/plplot/code/12438
Author: airwin
Date: 2013-07-28 04:20:14 +0000 (Sun, 28 Jul 2013)
Log Message:
-----------
First working version that configures template.bp.in to create a
number of different */bp.cmake build_package configurations for GTK+
component builds as documented in the README file.
This version has created a libffi/bp.cmake file that configures the
libffit build correctly, but glib/bp.cmake needs additional
configuration to account for a required CFLAGS option.
Modified Paths:
--------------
trunk/cmake/build_projects/configure_bp.cmake
Added Paths:
-----------
trunk/cmake/build_projects/template.bp.in
Modified: trunk/cmake/build_projects/configure_bp.cmake
===================================================================
--- trunk/cmake/build_projects/configure_bp.cmake 2013-07-28 04:02:04 UTC (rev 12437)
+++ trunk/cmake/build_projects/configure_bp.cmake 2013-07-28 04:20:14 UTC (rev 12438)
@@ -9,22 +9,38 @@
math(EXPR max_index "(${nlines}/${group_size}) - 1")
foreach(index RANGE 0 ${max_index})
list(GET lines 0 package)
- message("${package}")
list(GET lines 1 config_type)
- message("${config_type}")
list(GET lines 2 config_arguments)
- message("${config_arguments}")
list(GET lines 3 download_hash_type)
- message("${download_hash_type}")
list(GET lines 4 download_hash)
- message("${download_hash}")
list(GET lines 5 download_href)
- message("${download_href}")
list(GET lines 6 dependencies)
- message("${dependencies}")
list(GET lines 7 suggests)
- message("${suggests}")
list(GET lines 8 after)
- message("${after}")
list(REMOVE_AT lines ${remove_indices})
+
+ # Turn colon-separated lists into official CMake lists.
+ string(REGEX REPLACE ":" ";" dependencies "${dependencies}")
+ string(REGEX REPLACE ":" ";" suggests "${suggests}")
+ string(REGEX REPLACE ":" ";" after "${after}")
+
+ # For now, ignore "after" and treat "dependencies" and "suggests" the same
+ if(suggests)
+ list(APPEND dependencies "${suggests}")
+ endif(suggests)
+
+ # Configure the package file using the appropriate template file.
+ if(config_type STREQUAL "autotools" OR config_type STREQUAL "tarball" OR config_type STREQUAL "cmake")
+ set(template_file template.bp.in)
+ else(config_type STREQUAL "autotools" OR config_type STREQUAL "tarball" OR config_type STREQUAL "cmake")
+ message(FATAL_ERROR "incorrect config_type = ${config_type}")
+ endif(config_type STREQUAL "autotools" OR config_type STREQUAL "tarball" OR config_type STREQUAL "cmake")
+
+ if(NOT package)
+ message(FATAL_ERROR "bad package = ${package}")
+ endif(NOT package)
+
+ file(MAKE_DIRECTORY ${package})
+ configure_file(${template_file} ${package}/bp.cmake @ONLY)
+
endforeach(index RANGE 0 ${max_index})
Added: trunk/cmake/build_projects/template.bp.in
===================================================================
--- trunk/cmake/build_projects/template.bp.in (rev 0)
+++ trunk/cmake/build_projects/template.bp.in 2013-07-28 04:20:14 UTC (rev 12438)
@@ -0,0 +1,77 @@
+# @package@/bp.cmake
+# This file should be included directly or indirectly from a top-level
+# CMakeLists.txt file to configure the build of @package@.
+
+# Copyright (C) 2013 Alan W. Irwin
+
+# This file is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Lesser General Public
+# License as published by the Free Software Foundation; either
+# version 2.1 of the License, or (at your option) any later version.
+
+# This file is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# Lesser General Public License for more details.
+
+# You should have received a copy of the GNU Lesser General Public
+# License along with this file; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+
+# The top-level CMakeLists.txt file that includes this file should
+# have run "include(ExternalProject)" and set EP_BASE variable (and
+# corresponding directory property) as well as various BP variables
+# used below that configure how the External_Project functions
+# operate.
+
+# Protect against configuring a build twice in one CMake call
+if(@package@_configured)
+ return()
+endif(@package@_configured)
+set(@package@_configured ON)
+
+set(@package@_dependencies_LIST @dependencies@)
+
+foreach(build_configuration ${@package@_dependencies_LIST})
+ include(${build_configuration}/bp.cmake)
+endforeach(build_configuration ${@package@_dependences_LIST})
+
+# This can be safely done only after above includes.
+set(BP_PACKAGE @package@)
+
+set(${BP_PACKAGE}_dependencies_targets)
+foreach(build_configuration ${${BP_PACKAGE}_dependencies_LIST})
+ list(APPEND ${BP_PACKAGE}_dependencies_targets build_${build_configuration})
+endforeach(build_configuration ${${BP_PACKAGE}_dependences_LIST})
+
+# Data that is related to downloads.
+set(${BP_PACKAGE}_URL @download_href@)
+set(${BP_PACKAGE}_DOWNLOAD_HASH_TYPE @download_hash_type@)
+set(${BP_PACKAGE}_DOWNLOAD_HASH @download_hash@)
+
+# Data that is related to the PATH that must be used.
+if(MSYS_PLATFORM)
+ #set(BP_PATH_NODLL "${BP_PATH}")
+ #set(BP_PATH "${EP_BASE}/Build/build_${BP_PACKAGE}/dll;${BP_PATH_NODLL}")
+ determine_msys_path(BP_PATH "${BP_PATH}")
+ # Must have all elements of env command in MSYS platform form
+ determine_msys_path(source_PATH "${EP_BASE}/Source/build_${BP_PACKAGE}")
+else(MSYS_PLATFORM)
+ set(source_PATH "${EP_BASE}/Source/build_${BP_PACKAGE}")
+endif(MSYS_PLATFORM)
+#message(STATUS "modified BP_PATH for ${BP_PACKAGE} = ${BP_PATH}")
+
+ExternalProject_Add(
+ build_${BP_PACKAGE}
+ DEPENDS ${${BP_PACKAGE}_dependencies_targets}
+ URL ${${BP_PACKAGE}_URL}
+ URL_HASH ${${BP_PACKAGE}_DOWNLOAD_HASH_TYPE}=${${BP_PACKAGE}_DOWNLOAD_HASH}
+ CONFIGURE_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${source_PATH}/${BP_CONFIGURE_COMMAND}
+ BUILD_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${BP_PARALLEL_MAKE_COMMAND}
+ INSTALL_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${BP_PARALLEL_MAKE_COMMAND} install
+ )
+
+list(APPEND build_target_LIST build_${BP_PACKAGE})
+# Restore BP_PATH to original state.
+set(BP_PATH "${BP_ORIGINAL_NATIVE_PATH}")
+#message(STATUS "${BP_PACKAGE} restored original BP_PATH = ${BP_PATH}")
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ai...@us...> - 2013-07-28 04:02:16
|
Revision: 12437
http://sourceforge.net/p/plplot/code/12437
Author: airwin
Date: 2013-07-28 04:02:04 +0000 (Sun, 28 Jul 2013)
Log Message:
-----------
As a temporary workaround, replace cmake -E tar <options> by the
equivalent tar <options> command to unpack *.tar.xz files in the
ExternalProject.cmake module.
This workaround should be left in place until the current CMake fix by
Brad King (import the latest version of the libarchive source code
into CMake) that finally allows cmake -E tar ... to work on *.tar.xz
files gets propagated to a CMake release.
Modified Paths:
--------------
trunk/cmake/build_projects/ExternalProject.cmake
Modified: trunk/cmake/build_projects/ExternalProject.cmake
===================================================================
--- trunk/cmake/build_projects/ExternalProject.cmake 2013-07-26 23:13:38 UTC (rev 12436)
+++ trunk/cmake/build_projects/ExternalProject.cmake 2013-07-28 04:02:04 UTC (rev 12437)
@@ -543,9 +543,18 @@
# Extract it:
#
message(STATUS \"extracting... [tar ${args}]\")
-execute_process(COMMAND \${CMAKE_COMMAND} -E tar ${args} \${filename}
- WORKING_DIRECTORY \${ut_dir}
- RESULT_VARIABLE rv)
+if(filename MATCHES \"tar\\\\.xz$\")
+ # --force-local required so that drive-letter colon for filename on
+ # Windows platforms is not interpreted as a remote host.
+ find_program(TAR_EXECUTABLE tar)
+ execute_process(COMMAND \${TAR_EXECUTABLE} --force-local -Jxf \${filename}
+ WORKING_DIRECTORY \${ut_dir}
+ RESULT_VARIABLE rv)
+else(filename MATCHES \"tar\\\\.xz$\")
+ execute_process(COMMAND \${CMAKE_COMMAND} -E tar ${args} \${filename}
+ WORKING_DIRECTORY \${ut_dir}
+ RESULT_VARIABLE rv)
+endif(filename MATCHES \"tar\\\\.xz$\")
if(NOT rv EQUAL 0)
message(STATUS \"extracting... [error clean up]\")
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ai...@us...> - 2013-07-26 23:13:40
|
Revision: 12436
http://sourceforge.net/p/plplot/code/12436
Author: airwin
Date: 2013-07-26 23:13:38 +0000 (Fri, 26 Jul 2013)
Log Message:
-----------
Make ExternalProject module correctly unpack *.tar.xz files.
ToDo:
This change works fine on Linux, but for MSYS/Windows there is an
additional CMake/libarchive issue that leads to an error which I
initially spotted for MSYS/Wine which is now confirmed by Brad King on
MSYS/Microsoft Windows. This issue has now been fixed privately by
Brad King by importing the latest libarchive into CMake, and he plans
to incorporate that change into the mainstream git version of CMake
for eventual release. As a workaround until that happens, my next
move is to replace cmake -E tar <options> by the equivalent tar
<options> command in ExternalProject.cmake. That workaround plus the
current change should finally allow unpacking of *.tar.xz files to
work properly for ExternalProject_Add, and that projected breakthrough
is expected to have a large impact on the build_projects project since
essentially _all_ GTK source project tarballs are in *.tar.xz form.
Modified Paths:
--------------
trunk/cmake/build_projects/ExternalProject.cmake
Modified: trunk/cmake/build_projects/ExternalProject.cmake
===================================================================
--- trunk/cmake/build_projects/ExternalProject.cmake 2013-07-20 22:04:11 UTC (rev 12435)
+++ trunk/cmake/build_projects/ExternalProject.cmake 2013-07-26 23:13:38 UTC (rev 12436)
@@ -504,7 +504,7 @@
function(_ep_write_extractfile_script script_filename name filename directory)
set(args "")
- if(filename MATCHES "(\\.|=)(bz2|tar\\.gz|tgz|zip)$")
+ if(filename MATCHES "(\\.|=)(bz2|tar\\.gz|tar\\.xz|tgz|zip)$")
set(args xfz)
endif()
@@ -513,7 +513,7 @@
endif()
if(args STREQUAL "")
- message(SEND_ERROR "error: do not know how to extract '${filename}' -- known types are .bz2, .tar, .tar.gz, .tgz and .zip")
+ message(SEND_ERROR "error: do not know how to extract '${filename}' -- known types are .bz2, .tar, .tar.gz, tar.xz, .tgz and .zip")
return()
endif()
@@ -1301,11 +1301,11 @@
if("x${fname}" STREQUAL "x")
string(REGEX MATCH "[^/\\?]*$" fname "${url}")
endif()
- if(NOT "${fname}" MATCHES "(\\.|=)(bz2|tar|tgz|tar\\.gz|zip)$")
- string(REGEX MATCH "([^/\\?]+(\\.|=)(bz2|tar|tgz|tar\\.gz|zip))/.*$" match_result "${url}")
+ if(NOT "${fname}" MATCHES "(\\.|=)(bz2|tar|tgz|tar\\.gz|tar\\.xz|zip)$")
+ string(REGEX MATCH "([^/\\?]+(\\.|=)(bz2|tar|tgz|tar\\.gz|tar\\.xz|zip))/.*$" match_result "${url}")
set(fname "${CMAKE_MATCH_1}")
endif()
- if(NOT "${fname}" MATCHES "(\\.|=)(bz2|tar|tgz|tar\\.gz|zip)$")
+ if(NOT "${fname}" MATCHES "(\\.|=)(bz2|tar|tgz|tar\\.gz|tar\\.xz|zip)$")
message(FATAL_ERROR "Could not extract tarball filename from url:\n ${url}")
endif()
string(REPLACE ";" "-" fname "${fname}")
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ai...@us...> - 2013-07-20 22:04:16
|
Revision: 12435
http://sourceforge.net/p/plplot/code/12435
Author: airwin
Date: 2013-07-20 22:04:11 +0000 (Sat, 20 Jul 2013)
Log Message:
-----------
Update internals to be consistent with new libffi name of build
configuration.
Modified Paths:
--------------
trunk/cmake/build_projects/libffi/bp.cmake
Modified: trunk/cmake/build_projects/libffi/bp.cmake
===================================================================
--- trunk/cmake/build_projects/libffi/bp.cmake 2013-07-20 22:01:12 UTC (rev 12434)
+++ trunk/cmake/build_projects/libffi/bp.cmake 2013-07-20 22:04:11 UTC (rev 12435)
@@ -1,6 +1,6 @@
-# ffi/bp.cmake
+# libffi/bp.cmake
# This file should be included directly or indirectly from a top-level
-# CMakeLists.txt file to configure the build of ffi.
+# CMakeLists.txt file to configure the build of libffi.
# Copyright (C) 2013 Alan W. Irwin
@@ -24,7 +24,7 @@
# used below that configure how the External_Project functions
# operate.
-set(BP_PACKAGE ffi)
+set(BP_PACKAGE libffi)
# Protect against configuring a build twice in one CMake call
if(${BP_PACKAGE}_configured)
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ai...@us...> - 2013-07-20 22:01:16
|
Revision: 12434
http://sourceforge.net/p/plplot/code/12434
Author: airwin
Date: 2013-07-20 22:01:12 +0000 (Sat, 20 Jul 2013)
Log Message:
-----------
Rename ffi ==>libffi
Added Paths:
-----------
trunk/cmake/build_projects/libffi/
Removed Paths:
-------------
trunk/cmake/build_projects/ffi/
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ai...@us...> - 2013-07-20 19:08:30
|
Revision: 12433
http://sourceforge.net/p/plplot/code/12433
Author: airwin
Date: 2013-07-20 19:08:25 +0000 (Sat, 20 Jul 2013)
Log Message:
-----------
Initial commit of the ffi build configuration. libffi is a hard
dependency of modern glib which is not mentioned in the jhbuild
configuration of glib. So adding this build configuration for
libffi is a workaround for that jhbuild configuration bug for glib.
Tested by Alan W. Irwin <ai...@us...> using the
build_ffi target for both the "Unix Makefiles" generator on Linux and
the "MSYS Makefiles" generator on Wine. Note the latter was a factor
of 35 (!) slower than the former. (5 minutes versus 9 seconds.) My
guess is most of this extra time is taken up running the configure
script. That is, that part of the build is strongly subject to
startup latency costs for Wine so that for builds of much larger
autotooled packages, the Wine slowdown factor will generally be
substantially smaller than 35.
Modified Paths:
--------------
trunk/cmake/build_projects/CMakeLists.txt
Added Paths:
-----------
trunk/cmake/build_projects/ffi/
trunk/cmake/build_projects/ffi/bp.cmake
Modified: trunk/cmake/build_projects/CMakeLists.txt
===================================================================
--- trunk/cmake/build_projects/CMakeLists.txt 2013-07-19 12:41:03 UTC (rev 12432)
+++ trunk/cmake/build_projects/CMakeLists.txt 2013-07-20 19:08:25 UTC (rev 12433)
@@ -246,6 +246,7 @@
shapelib
wxwidgets
#glib
+ ffi
)
endif(BUILD_THE_BUILDTOOLS)
Added: trunk/cmake/build_projects/ffi/bp.cmake
===================================================================
--- trunk/cmake/build_projects/ffi/bp.cmake (rev 0)
+++ trunk/cmake/build_projects/ffi/bp.cmake 2013-07-20 19:08:25 UTC (rev 12433)
@@ -0,0 +1,64 @@
+# ffi/bp.cmake
+# This file should be included directly or indirectly from a top-level
+# CMakeLists.txt file to configure the build of ffi.
+
+# Copyright (C) 2013 Alan W. Irwin
+
+# This file is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Lesser General Public
+# License as published by the Free Software Foundation; either
+# version 2.1 of the License, or (at your option) any later version.
+
+# This file is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# Lesser General Public License for more details.
+
+# You should have received a copy of the GNU Lesser General Public
+# License along with this file; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+
+# The top-level CMakeLists.txt file that includes this file should
+# have run "include(ExternalProject)" and set EP_BASE variable (and
+# corresponding directory property) as well as various BP variables
+# used below that configure how the External_Project functions
+# operate.
+
+set(BP_PACKAGE ffi)
+
+# Protect against configuring a build twice in one CMake call
+if(${BP_PACKAGE}_configured)
+ return()
+endif(${BP_PACKAGE}_configured)
+set(${BP_PACKAGE}_configured ON)
+
+# Data that is related to downloads.
+set(${BP_PACKAGE}_URL ftp://sourceware.org/pub/libffi/libffi-3.0.13.tar.gz)
+set(${BP_PACKAGE}_DOWNLOAD_HASH_TYPE SHA256)
+set(${BP_PACKAGE}_DOWNLOAD_HASH 1dddde1400c3bcb7749d398071af88c3e4754058d2d4c0b3696c2f82dc5cf11c)
+
+# Data that is related to the PATH that must be used.
+if(MSYS_PLATFORM)
+ #set(BP_PATH_NODLL "${BP_PATH}")
+ #set(BP_PATH "${EP_BASE}/Build/build_${BP_PACKAGE}/dll;${BP_PATH_NODLL}")
+ determine_msys_path(BP_PATH "${BP_PATH}")
+ # Must have all elements of env command in MSYS platform form
+ determine_msys_path(source_PATH "${EP_BASE}/Source/build_${BP_PACKAGE}")
+else(MSYS_PLATFORM)
+ set(source_PATH "${EP_BASE}/Source/build_${BP_PACKAGE}")
+endif(MSYS_PLATFORM)
+#message(STATUS "modified BP_PATH for ${BP_PACKAGE} = ${BP_PATH}")
+
+ExternalProject_Add(
+ build_${BP_PACKAGE}
+ URL ${${BP_PACKAGE}_URL}
+ URL_HASH ${${BP_PACKAGE}_DOWNLOAD_HASH_TYPE}=${${BP_PACKAGE}_DOWNLOAD_HASH}
+ CONFIGURE_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${source_PATH}/${BP_CONFIGURE_COMMAND}
+ BUILD_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${BP_PARALLEL_MAKE_COMMAND}
+ INSTALL_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${BP_PARALLEL_MAKE_COMMAND} install
+ )
+
+list(APPEND build_target_LIST build_${BP_PACKAGE})
+# Restore BP_PATH to original state.
+set(BP_PATH "${BP_ORIGINAL_NATIVE_PATH}")
+#message(STATUS "${BP_PACKAGE} restored original BP_PATH = ${BP_PATH}")
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <arj...@us...> - 2013-07-19 12:41:06
|
Revision: 12432
http://sourceforge.net/p/plplot/code/12432
Author: arjenmarkus
Date: 2013-07-19 12:41:03 +0000 (Fri, 19 Jul 2013)
Log Message:
-----------
Change the logic for defining the _plplotc module, because Cygwin requires an extension .dll
Modified Paths:
--------------
trunk/bindings/python/CMakeLists.txt
Modified: trunk/bindings/python/CMakeLists.txt
===================================================================
--- trunk/bindings/python/CMakeLists.txt 2013-07-19 09:53:51 UTC (rev 12431)
+++ trunk/bindings/python/CMakeLists.txt 2013-07-19 12:41:03 UTC (rev 12432)
@@ -86,14 +86,21 @@
)
endif(USE_RPATH)
- if(WIN32_OR_CYGWIN)
+ if(WIN32_AND_NOT_CYGWIN)
set_target_properties(
_plplotcmodule
PROPERTIES
SUFFIX ".pyd"
OUTPUT_NAME "_plplotc"
)
- endif(WIN32_OR_CYGWIN)
+ elseif(CYGWIN)
+ set_target_properties(
+ _plplotcmodule
+ PROPERTIES
+ SUFFIX ".dll"
+ OUTPUT_NAME "_plplotc"
+ )
+ endif(WIN32_AND_NOT_CYGWIN)
add_library(plplot_widgetmodule MODULE plplot_widgetmodule.c)
set_target_properties(plplot_widgetmodule PROPERTIES PREFIX "")
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <arj...@us...> - 2013-07-19 09:53:56
|
Revision: 12431
http://sourceforge.net/p/plplot/code/12431
Author: arjenmarkus
Date: 2013-07-19 09:53:51 +0000 (Fri, 19 Jul 2013)
Log Message:
-----------
Solve the remaining difference in Tcl example 16. Now the result is exactly
the same as for the C example.
Modified Paths:
--------------
trunk/examples/tcl/x16.tcl
Modified: trunk/examples/tcl/x16.tcl
===================================================================
--- trunk/examples/tcl/x16.tcl 2013-07-18 19:22:12 UTC (rev 12430)
+++ trunk/examples/tcl/x16.tcl 2013-07-19 09:53:51 UTC (rev 12431)
@@ -248,7 +248,7 @@
$w cmd plcolorbar \
[expr {$::PLPLOT::PL_COLORBAR_SHADE | $::PLPLOT::PL_COLORBAR_SHADE_LABEL}] 0 \
0.005 0.0 0.0375 0.875 0 1 1 0.0 0.0 \
- $cont_color $cont_width \
+ 2 3.0 \
$label_opts $labels \
$axis_opts \
$axis_ticks $axis_subticks \
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <arj...@us...> - 2013-07-18 19:22:16
|
Revision: 12430
http://sourceforge.net/p/plplot/code/12430
Author: arjenmarkus
Date: 2013-07-18 19:22:12 +0000 (Thu, 18 Jul 2013)
Log Message:
-----------
Extend example 33 to reproduce the plots from the C example. This appears to
be exact - only example 16 still requires some work now.
Modified Paths:
--------------
trunk/examples/tcl/x33.tcl
Modified: trunk/examples/tcl/x33.tcl
===================================================================
--- trunk/examples/tcl/x33.tcl 2013-07-18 19:21:06 UTC (rev 12429)
+++ trunk/examples/tcl/x33.tcl 2013-07-18 19:22:12 UTC (rev 12430)
@@ -86,7 +86,59 @@
"✽" \
"✦" ]
- set colorbar 0 ;# By default do not plot plcolorbar pages
+ # plcolorbar options
+
+ # Colorbar type options
+
+ set ::colorbar_option_kinds [list \
+ $::PLPLOT::PL_COLORBAR_SHADE \
+ [expr {$::PLPLOT::PL_COLORBAR_SHADE | $::PLPLOT::PL_COLORBAR_SHADE_LABEL}] \
+ $::PLPLOT::PL_COLORBAR_IMAGE \
+ $::PLPLOT::PL_COLORBAR_GRADIENT]
+
+ set ::colorbar_option_kind_labels [list \
+ "Shade colorbars" \
+ "Shade colorbars with custom labels" \
+ "Image colorbars" \
+ "Gradient colorbars"]
+
+ # Which side of the page are we positioned relative to?
+ set ::colorbar_position_options [list \
+ $::PLPLOT::PL_POSITION_LEFT \
+ $::PLPLOT::PL_POSITION_RIGHT \
+ $::PLPLOT::PL_POSITION_TOP \
+ $::PLPLOT::PL_POSITION_BOTTOM]
+ set ::colorbar_position_option_labels [list \
+ "Left" \
+ "Right" \
+ "Top" \
+ "Bottom"]
+
+ # Colorbar label positioning options
+ set ::colorbar_label_options [list \
+ $::PLPLOT::PL_COLORBAR_LABEL_LEFT \
+ $::PLPLOT::PL_COLORBAR_LABEL_RIGHT \
+ $::PLPLOT::PL_COLORBAR_LABEL_TOP \
+ $::PLPLOT::PL_COLORBAR_LABEL_BOTTOM]
+ set ::colorbar_label_option_labels [list \
+ "Label left" \
+ "Label right" \
+ "Label top" \
+ "Label bottom"]
+
+ # Colorbar cap options
+ set ::colorbar_cap_options [list \
+ $::PLPLOT::PL_COLORBAR_CAP_NONE \
+ $::PLPLOT::PL_COLORBAR_CAP_LOW \
+ $::PLPLOT::PL_COLORBAR_CAP_HIGH \
+ [expr {$::PLPLOT::PL_COLORBAR_CAP_LOW | $::PLPLOT::PL_COLORBAR_CAP_HIGH}]]
+ set ::colorbar_cap_option_labels [list \
+ "No caps" \
+ "Low cap" \
+ "High cap" \
+ "Low and high caps"]
+
+ set colorbar 1 ;# By default do not plot plcolorbar pages
# for now while we are working out the API.
set notes { "Make sure you get it right!" NULL }
@@ -775,8 +827,153 @@
{} {} {} {}]
foreach {legend_width legend_height} $legend_data {break}
set max_height [max $max_height $legend_height]
+
+ if {$colorbar} {
+ # Color bar examples
+ matrix values_small f 2
+ matrix values_uneven f 9
+ matrix values_even f 9
+ foreach i {0 1} v {-1.0e-200 1.0e-200 } {
+ values_small $i = $v
+ }
+ foreach i {0 1 2 3 4 5 6 7 8} vu {-1.0e-200 2.0e-200 2.6e-200 3.4e-200 6.0e-200 7.0e-200 8.0e-200 9.0e-200 10.0e-200 } \
+ ve {-2.0e-200 -1.0e-200 0.0e-200 1.0e-200 2.0e-200 3.0e-200 4.0e-200 5.0e-200 6.0e-200 } {
+ values_uneven $i = $vu
+ values_even $i = $ve
+ }
+
+ # Use unsaturated green background colour to contrast with black caps.
+ $w cmd plscolbg 70 185 70
+ # Cut out the greatest and smallest bits of the color spectrum to
+ # leave colors for the end caps.
+ $w cmd plscmap1_range 0.01 0.99
+
+ # We can only test image and gradient colorbars with two element arrays
+ #
+ # Note: we pass the name of the matrices!
+ #
+ for {set i 2} {$i < [llength $::colorbar_option_kinds]} {incr i} {
+ plcolorbar_example $w "cmap1_blue_yellow.pal" $i 0 0 values_small
+ }
+ # Test shade colorbars with larger arrays
+ for {set i 0} {$i < 2} {incr i} {
+ plcolorbar_example $w "cmap1_blue_yellow.pal" $i 4 2 values_even
+ }
+ for {set i 0} {$i < 2} {incr i} {
+ plcolorbar_example $w "cmap1_blue_yellow.pal" $i 0 0 values_uneven
+ }
+ }
}
+proc plcolorbar_example_page {w kind_i label_i cap_i cont_color cont_width values} {
+
+ global colorbar_position
+ global colorbar_position_options
+ global colorbar_position_option_labels
+ global colorbar_option_kinds
+ global colorbar_option_kind_labels
+ global colorbar_label_options
+ global colorbar_label_option_labels
+ global colorbar_cap_options
+ global colorbar_cap_option_labels
+
+ # Parameters for the colorbars on this page
+ set ticks { 0.0 }
+ set sub_ticks { 0 }
+ set label_opts { 0 }
+
+ set low_cap_color 0.0
+ set high_cap_color 1.0
+
+ # Start a new page
+ $w cmd pladv 0
+
+ # Draw one colorbar relative to each side of the page
+ for {set position_i 0} {$position_i < [llength $colorbar_position_options]} {incr position_i} {
+ set position [lindex $colorbar_position_options $position_i]
+ set opt [expr {[lindex $colorbar_option_kinds $kind_i] |
+ [lindex $colorbar_label_options $label_i] |
+ [lindex $colorbar_cap_options $cap_i]}]
+
+ set vertical [expr {($position & $::PLPLOT::PL_POSITION_LEFT) || ($position & $::PLPLOT::PL_POSITION_RIGHT) }]
+ set ifn [expr {($position & $::PLPLOT::PL_POSITION_LEFT) || ($position & $::PLPLOT::PL_POSITION_BOTTOM)}]
+
+ # Set the offset position on the page
+ if {$vertical} {
+ set x 0.0
+ set y 0.0
+ set x_length 0.05
+ set y_length 0.5
+ } else {
+ set x 0.0
+ set y 0.0
+ set x_length 0.5
+ set y_length 0.05
+ }
+
+ # Set appropriate labelling options.
+ if {$ifn} {
+ if {$cont_color == 0 || $cont_width == 0.} {
+ set axis_opts [list "uwtivn"]
+ } else {
+ set axis_opts [list "uwxvn"]
+ }
+ } else {
+ if {$cont_color == 0 || $cont_width == 0.} {
+ set axis_opts [list "uwtivm"]
+ } else {
+ set axis_opts [list "uwxvm"]
+ }
+ }
+
+ set label [list "[lindex $colorbar_position_option_labels $position_i], [lindex $colorbar_label_option_labels $label_i]"]
+
+ # Smaller text
+ $w cmd plschr 0.0 0.75
+ # Small ticks on the vertical axis
+ $w cmd plsmaj 0.0 0.5
+ $w cmd plsmin 0.0 0.5
+
+ $w cmd plvpor 0.20 0.80 0.20 0.80
+ $w cmd plwind 0.0 1.0, 0.0, 1.0
+ # Set interesting background colour.
+ $w cmd plscol0a 15 0 0 0 0.20
+ $w cmd plcolorbar \
+ [expr {$opt | $::PLPLOT::PL_COLORBAR_BOUNDING_BOX | $::PLPLOT::PL_COLORBAR_BACKGROUND}] $position \
+ $x $y $x_length $y_length \
+ 15 1 1 \
+ $low_cap_color $high_cap_color \
+ $cont_color $cont_width \
+ $label_opts $label \
+ $axis_opts \
+ $ticks $sub_ticks \
+ $values
+
+ # Reset text and tick sizes
+ $w cmd plschr 0.0 1.0
+ $w cmd plsmaj 0.0 1.0
+ $w cmd plsmin 0.0 1.0
+ }
+
+ # Draw a page title
+ set title "[lindex $colorbar_option_kind_labels $kind_i] - [lindex $colorbar_cap_option_labels $cap_i]"
+ $w cmd plvpor 0.0 1.0 0.0 1.0
+ $w cmd plwind 0.0 1.0 0.0 1.0
+ $w cmd plptex 0.5 0.5 0.0 0.0 0.5 $title
+}
+
+proc plcolorbar_example {w palette kind_i cont_color cont_width values} {
+
+ # Load the color palette
+ $w cmd plspal1 $palette 1
+
+ for { set label_i 0} { $label_i < [llength $::colorbar_label_options] } { incr label_i } {
+ for { set cap_i 0 } { $cap_i < [llength $::colorbar_cap_options] } { incr cap_i } {
+ plcolorbar_example_page $w $kind_i $label_i $cap_i $cont_color $cont_width $values
+ }
+ }
+}
+
# Auxiliary routines
proc max {a b} {
expr {$a > $b? $a : $b}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <arj...@us...> - 2013-07-18 19:21:09
|
Revision: 12429
http://sourceforge.net/p/plplot/code/12429
Author: arjenmarkus
Date: 2013-07-18 19:21:06 +0000 (Thu, 18 Jul 2013)
Log Message:
-----------
Implement two missing functions (surfaced when extending example 33): plscmap1_range and plgcmap1_range
Modified Paths:
--------------
trunk/bindings/tcl/plapi.tpl
Modified: trunk/bindings/tcl/plapi.tpl
===================================================================
--- trunk/bindings/tcl/plapi.tpl 2013-07-18 19:01:09 UTC (rev 12428)
+++ trunk/bindings/tcl/plapi.tpl 2013-07-18 19:21:06 UTC (rev 12429)
@@ -272,6 +272,12 @@
def PLFLT&
ht PLFLT&
+# Get the range for cmap1
+
+pltclcmd plgcmap1_range void
+min_color PLFLT&
+max_color PLFLT&
+
# Returns 8 bit RGB values for given color from color map 0.
pltclcmd plgcol0 void
@@ -729,6 +735,13 @@
pltclcmd plscmap1n void
ncol1 PLINT
+# Set the range for cmap1
+
+pltclcmd plscmap1_range void
+min_color PLFLT
+max_color PLFLT
+
+
# Set a given color from color map 0 by 8 bit RGB value.
pltclcmd plscol0 void
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <arj...@us...> - 2013-07-18 19:01:10
|
Revision: 12428
http://sourceforge.net/p/plplot/code/12428
Author: arjenmarkus
Date: 2013-07-18 19:01:09 +0000 (Thu, 18 Jul 2013)
Log Message:
-----------
Add a dummy argument to the invocation of bash. The Windows format of the
x01, x02, ... files to run the Tcl examples causes an awkward character (CR) to
be added to the extension of the output file.
It is not clear why it is not recognized as a _separate_ option as seems to
be the case with a simple C program. This dummy option is however ignored
and therefore the _proper_ file name is passed to the Tcl program.
Modified Paths:
--------------
trunk/plplot_test/test_tcl.sh.in
Modified: trunk/plplot_test/test_tcl.sh.in
===================================================================
--- trunk/plplot_test/test_tcl.sh.in 2013-07-17 12:50:49 UTC (rev 12427)
+++ trunk/plplot_test/test_tcl.sh.in 2013-07-18 19:01:09 UTC (rev 12428)
@@ -84,12 +84,12 @@
echo "${results}"/x${index}a${lang}%n.$dsuffix | \
@SH_EXECUTABLE@ x${index} -dev $device \
-o "$results"/x${index}${lang}%n.$dsuffix \
- $options 2> test.error >| "${results}"/x${index}${lang}_${dsuffix}.txt
+ $options "" 2> test.error >| "${results}"/x${index}${lang}_${dsuffix}.txt
status_code=$?
else
@SH_EXECUTABLE@ x${index} -dev $device \
-o "$results"/x${index}${lang}%n.$dsuffix \
- $options 2> test.error >| "${results}"/x${index}${lang}_${dsuffix}.txt
+ $options "" 2> test.error >| "${results}"/x${index}${lang}_${dsuffix}.txt
status_code=$?
fi
cat test.error
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <arj...@us...> - 2013-07-17 12:50:54
|
Revision: 12427
http://sourceforge.net/p/plplot/code/12427
Author: arjenmarkus
Date: 2013-07-17 12:50:49 +0000 (Wed, 17 Jul 2013)
Log Message:
-----------
Print the error message if for some reason the script does fail, however
unlikely this is.
Modified Paths:
--------------
trunk/scripts/mktclIndex
Modified: trunk/scripts/mktclIndex
===================================================================
--- trunk/scripts/mktclIndex 2013-07-16 19:20:07 UTC (rev 12426)
+++ trunk/scripts/mktclIndex 2013-07-17 12:50:49 UTC (rev 12427)
@@ -20,7 +20,7 @@
}
# Catch errors in case there are no tcl files, although this shouldn't happen
-catch {
+if { [catch {
if { $HAVE_ITCL && ![catch {package require Itcl}] } {
# Include all itcl, itk files.
auto_mkindex . *.tcl *.itcl *.itk *.ith *.itm
@@ -28,6 +28,8 @@
# Just include tcl files
auto_mkindex . *.tcl
}
+} msg] } {
+ puts "An error occurred, generating the tclIndex file: $msg"
}
exit
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <arj...@us...> - 2013-07-16 19:20:11
|
Revision: 12426
http://sourceforge.net/p/plplot/code/12426
Author: arjenmarkus
Date: 2013-07-16 19:20:07 +0000 (Tue, 16 Jul 2013)
Log Message:
-----------
Update the list of PLplot parameters for Tcl
Expand Tcl example 16 with the rest of the calls to colorbar.
Note: there remains a small difference in the PS file for this example
with the PS file for the C example. I have not been able to trace the cause
yet.
Modified Paths:
--------------
trunk/bindings/tcl/plplot_parameters.h
trunk/examples/tcl/x16.tcl
Modified: trunk/bindings/tcl/plplot_parameters.h
===================================================================
--- trunk/bindings/tcl/plplot_parameters.h 2013-07-16 16:42:32 UTC (rev 12425)
+++ trunk/bindings/tcl/plplot_parameters.h 2013-07-16 19:20:07 UTC (rev 12426)
@@ -186,35 +186,56 @@
variable PL_LEGEND_ROW_MAJOR 128\n\
\n\
\n\
-variable PL_COLORBAR_LABEL_LEFT 1\n\
+variable PL_COLORBAR_LABEL_LEFT 0x1\n\
\n\
\n\
-variable PL_COLORBAR_LABEL_RIGHT 2\n\
+variable PL_COLORBAR_LABEL_RIGHT 0x2\n\
\n\
\n\
-variable PL_COLORBAR_LABEL_TOP 4\n\
+variable PL_COLORBAR_LABEL_TOP 0x4\n\
\n\
\n\
-variable PL_COLORBAR_LABEL_BOTTOM 8\n\
+variable PL_COLORBAR_LABEL_BOTTOM 0x8\n\
\n\
\n\
-variable PL_COLORBAR_IMAGE 16\n\
+variable PL_COLORBAR_IMAGE 0x10\n\
\n\
\n\
-variable PL_COLORBAR_SHADE 32\n\
+variable PL_COLORBAR_SHADE 0x20\n\
\n\
\n\
-variable PL_COLORBAR_GRADIENT 64\n\
+variable PL_COLORBAR_GRADIENT 0x40\n\
\n\
\n\
-variable PL_COLORBAR_CAP_LOW 128\n\
+variable PL_COLORBAR_CAP_NONE 0x80\n\
\n\
\n\
-variable PL_COLORBAR_CAP_HIGH 256\n\
+variable PL_COLORBAR_CAP_LOW 0x100\n\
\n\
\n\
-variable PL_COLORBAR_SHADE_LABEL 512\n\
+variable PL_COLORBAR_CAP_HIGH 0x200\n\
\n\
+\n\
+variable PL_COLORBAR_SHADE_LABEL 0x400\n\
+\n\
+\n\
+variable PL_COLORBAR_ORIENT_RIGHT 0x800\n\
+\n\
+\n\
+variable PL_COLORBAR_ORIENT_TOP 0x1000\n\
+\n\
+\n\
+variable PL_COLORBAR_ORIENT_LEFT 0x2000\n\
+\n\
+\n\
+variable PL_COLORBAR_ORIENT_BOTTOM 0x4000\n\
+\n\
+\n\
+variable PL_COLORBAR_BACKGROUND 0x8000\n\
+\n\
+\n\
+variable PL_COLORBAR_BOUNDING_BOX 0x10000\n\
+\n\
# device coordinates\n\
variable PLSWIN_DEVICE 1\n\
\n\
Modified: trunk/examples/tcl/x16.tcl
===================================================================
--- trunk/examples/tcl/x16.tcl 2013-07-16 16:42:32 UTC (rev 12425)
+++ trunk/examples/tcl/x16.tcl 2013-07-16 19:20:07 UTC (rev 12426)
@@ -99,7 +99,6 @@
shedge $fill_width $cont_color $cont_width \
1 "NULL"
-
# Colorbar:
# We draw only one bar, so use single values, not lists
#
@@ -123,7 +122,6 @@
$w cmd plsmaj 0.0 1.0
$w cmd plsmin 0.0 1.0
-
$w cmd plcol0 1
$w cmd plbox "bcnst" 0.0 0 "bcnstv" 0.0 0
$w cmd plcol0 2
@@ -147,6 +145,29 @@
shedge $fill_width $cont_color $cont_width \
1 pltr1 xg1 yg1
+ # Colorbar:
+ # We draw only one bar, so use single values, not lists
+ #
+ # Smaller text
+ $w cmd plschr 0.0 0.75
+ # Small ticks on the vertical axis
+ $w cmd plsmaj 0.0 0.5
+ $w cmd plsmin 0.0 0.5
+
+ $w cmd plcolorbar \
+ [expr {$::PLPLOT::PL_COLORBAR_SHADE | $::PLPLOT::PL_COLORBAR_SHADE_LABEL}] 0 \
+ 0.005 0.0 0.0375 0.875 0 1 1 0.0 0.0 \
+ $cont_color $cont_width \
+ $label_opts $labels \
+ $axis_opts \
+ $axis_ticks $axis_subticks \
+ shedge
+
+ # Reset text and tick sizes
+ $w cmd plschr 0.0 1.0
+ $w cmd plsmaj 0.0 1.0
+ $w cmd plsmin 0.0 1.0
+
$w cmd plcol0 1
$w cmd plbox "bcnst" 0.0 0 "bcnstv" 0.0 0
$w cmd plcol0 2
@@ -170,6 +191,29 @@
shedge $fill_width $cont_color $cont_width \
0 pltr2 xg2 yg2
+ # Colorbar:
+ # We draw only one bar, so use single values, not lists
+ #
+ # Smaller text
+ $w cmd plschr 0.0 0.75
+ # Small ticks on the vertical axis
+ $w cmd plsmaj 0.0 0.5
+ $w cmd plsmin 0.0 0.5
+
+ $w cmd plcolorbar \
+ [expr {$::PLPLOT::PL_COLORBAR_SHADE | $::PLPLOT::PL_COLORBAR_SHADE_LABEL}] 0 \
+ 0.005 0.0 0.0375 0.875 0 1 1 0.0 0.0 \
+ $cont_color $cont_width \
+ $label_opts $labels \
+ $axis_opts \
+ $axis_ticks $axis_subticks \
+ shedge
+
+ # Reset text and tick sizes
+ $w cmd plschr 0.0 1.0
+ $w cmd plsmaj 0.0 1.0
+ $w cmd plsmin 0.0 1.0
+
$w cmd plcol0 1
$w cmd plbox "bcnst" 0.0 0 "bcnstv" 0.0 0
$w cmd plcol0 2
@@ -192,6 +236,29 @@
shedge $fill_width 2 3 \
0 pltr2 xg2 yg2
+ # Colorbar:
+ # We draw only one bar, so use single values, not lists
+ #
+ # Smaller text
+ $w cmd plschr 0.0 0.75
+ # Small ticks on the vertical axis
+ $w cmd plsmaj 0.0 0.5
+ $w cmd plsmin 0.0 0.5
+
+ $w cmd plcolorbar \
+ [expr {$::PLPLOT::PL_COLORBAR_SHADE | $::PLPLOT::PL_COLORBAR_SHADE_LABEL}] 0 \
+ 0.005 0.0 0.0375 0.875 0 1 1 0.0 0.0 \
+ $cont_color $cont_width \
+ $label_opts $labels \
+ $axis_opts \
+ $axis_ticks $axis_subticks \
+ shedge
+
+ # Reset text and tick sizes
+ $w cmd plschr 0.0 1.0
+ $w cmd plsmaj 0.0 1.0
+ $w cmd plsmin 0.0 1.0
+
$w cmd plcol0 1
$w cmd plbox "bcnst" 0.0 0 "bcnstv" 0.0 0
$w cmd plcol0 2
@@ -247,6 +314,29 @@
shedge $fill_width $cont_color $cont_width \
0 pltr2 xg yg $wrap
+ # Colorbar:
+ # We draw only one bar, so use single values, not lists
+ #
+ # Smaller text
+ $w cmd plschr 0.0 0.75
+ # Small ticks on the vertical axis
+ $w cmd plsmaj 0.0 0.5
+ $w cmd plsmin 0.0 0.5
+
+ $w cmd plcolorbar \
+ [expr {$::PLPLOT::PL_COLORBAR_SHADE | $::PLPLOT::PL_COLORBAR_SHADE_LABEL}] 0 \
+ 0.005 0.0 0.0375 0.875 0 1 1 0.0 0.0 \
+ $cont_color $cont_width \
+ $label_opts $labels \
+ $axis_opts \
+ $axis_ticks $axis_subticks \
+ shedge
+
+ # Reset text and tick sizes
+ $w cmd plschr 0.0 1.0
+ $w cmd plsmaj 0.0 1.0
+ $w cmd plsmin 0.0 1.0
+
# Hold perimeter
matrix px f 100; matrix py f 100
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ai...@us...> - 2013-07-16 16:42:35
|
Revision: 12425
http://sourceforge.net/p/plplot/code/12425
Author: airwin
Date: 2013-07-16 16:42:32 +0000 (Tue, 16 Jul 2013)
Log Message:
-----------
Drop "set(CMAKE_LEGACY_CYGWIN_WIN32 0)" to follow the directions
precisely which are that you should only set that variable if the
minimum version (currently 2.8.9) is less than 2.8.4.
Modified Paths:
--------------
trunk/CMakeLists.txt
Modified: trunk/CMakeLists.txt
===================================================================
--- trunk/CMakeLists.txt 2013-07-15 19:43:05 UTC (rev 12424)
+++ trunk/CMakeLists.txt 2013-07-16 16:42:32 UTC (rev 12425)
@@ -32,9 +32,6 @@
cmake_minimum_required(VERSION 2.8.9 FATAL_ERROR)
-# Force CMake to _NOT_ define 'WIN32' on Cygwin
-set(CMAKE_LEGACY_CYGWIN_WIN32 0)
-
# It is a fatal error if no working C compiler is available to build
# the PLplot core C library and core C examples. All other compilers
# required by our bindings are optional in that if no working compiler
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ai...@us...> - 2013-07-15 19:43:19
|
Revision: 12424
http://sourceforge.net/p/plplot/code/12424
Author: airwin
Date: 2013-07-15 19:43:05 +0000 (Mon, 15 Jul 2013)
Log Message:
-----------
Add a buildtools build configuration for pkg-config and propagate
CMAKE_VERBOSE_MAKEFILE to build configurations.
Tested by Alan W. Irwin <ai...@us...> using
the build_pkg-config target for the "Unix Makefiles" (on Linux)
and "MSYS Makefiles" (on Wine-1.6.rc4) CMake generators with
-DBUILD_THE_BUILDTOOLS=ON
Note, if you uncomment the test in pkg-config/bp.cmake, then
all is well on Linux, but four of the tests fail on Wine.
I have no idea how serious these test failures are, but
I have created a bug report at
<https://bugs.freedesktop.org/show_bug.cgi?id=66939> concerning these
test failures.
Modified Paths:
--------------
trunk/cmake/build_projects/CMakeLists.txt
Added Paths:
-----------
trunk/cmake/build_projects/pkg-config/
trunk/cmake/build_projects/pkg-config/bp.cmake
Modified: trunk/cmake/build_projects/CMakeLists.txt
===================================================================
--- trunk/cmake/build_projects/CMakeLists.txt 2013-07-15 17:25:08 UTC (rev 12423)
+++ trunk/cmake/build_projects/CMakeLists.txt 2013-07-15 19:43:05 UTC (rev 12424)
@@ -136,11 +136,11 @@
determine_msys_path(BP_BUILD_COMMAND "${BP_BUILD_COMMAND}")
determine_msys_path(BP_MAKE_COMMAND "${BP_MAKE_COMMAND}")
determine_msys_path(BP_CTEST_COMMAND "${BP_CTEST_COMMAND}")
- determine_msys_path(MSYS_CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}")
+ determine_msys_path(BP_CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}")
determine_msys_path(MSYS_CMAKE_COMMAND "${CMAKE_COMMAND}")
# Propagate the overall CMake generator and install prefix to all CMake-based
# software project builds.
- set(BP_CMAKE_COMMAND ${MSYS_CMAKE_COMMAND} "-G${CMAKE_GENERATOR}" -DCMAKE_INSTALL_PREFIX:PATH=${MSYS_CMAKE_INSTALL_PREFIX})
+ set(BP_CMAKE_COMMAND ${MSYS_CMAKE_COMMAND} "-G${CMAKE_GENERATOR}" -DCMAKE_INSTALL_PREFIX:PATH=${BP_CMAKE_INSTALL_PREFIX})
# Propagate CMAKE_C_COMPILER, CMAKE_CXX_COMPILER, and
# CMAKE_RC_COMPILER to all CMake-based software project builds.
# (jom currently requires this as a workaround).
@@ -157,15 +157,26 @@
list(APPEND BP_CMAKE_COMMAND -DCMAKE_RC_COMPILER:FILEPATH=${MSYS_CMAKE_RC_COMPILER})
endif(CMAKE_RC_COMPILER)
# Propagate the install prefix to autotools-based builds
- set(BP_CONFIGURE_COMMAND configure --prefix=${MSYS_CMAKE_INSTALL_PREFIX})
+ set(BP_CONFIGURE_COMMAND configure --prefix=${BP_CMAKE_INSTALL_PREFIX})
else(MSYS_PLATFORM)
# Propagate the overall CMake generator and install prefix to all CMake-based
# software project builds.
set(BP_CMAKE_COMMAND ${CMAKE_COMMAND} "-G${CMAKE_GENERATOR}" -DCMAKE_INSTALL_PREFIX:PATH=${CMAKE_INSTALL_PREFIX})
+ set(BP_CMAKE_INSTALL_PREFIX ${CMAKE_INSTALL_PREFIX})
# Propagate the install prefix to autotools-based builds
- set(BP_CONFIGURE_COMMAND configure --prefix=${CMAKE_INSTALL_PREFIX})
+ set(BP_CONFIGURE_COMMAND configure --prefix=${BP_CMAKE_INSTALL_PREFIX})
endif(MSYS_PLATFORM)
+if(CMAKE_VERBOSE_MAKEFILE)
+ # Not sure whether all contemplated back-ends support this or not, but
+ # most should.
+ list(APPEND BP_CMAKE_COMMAND -DCMAKE_VERBOSE_MAKEFILE=ON)
+ # Some autotools build projects give verbose make results when V=1
+ # and I don't think it will interfere with the rest.
+ list(APPEND BP_MAKE_COMMAND V=1)
+endif(CMAKE_VERBOSE_MAKEFILE)
+
+
# The parallel versions are for software packages that
# do not have race conditions for parallel builds or tests.
set(BP_PARALLEL_BUILD_COMMAND "${BP_BUILD_COMMAND}" -j4)
@@ -220,6 +231,8 @@
set(build_configuration_LIST
cmake
+ pkg-config
+ #subversion
)
else(BUILD_THE_BUILDTOOLS)
# List of all configurations. Order doesn't matter because multiple
@@ -232,6 +245,7 @@
plplot
shapelib
wxwidgets
+ #glib
)
endif(BUILD_THE_BUILDTOOLS)
Added: trunk/cmake/build_projects/pkg-config/bp.cmake
===================================================================
--- trunk/cmake/build_projects/pkg-config/bp.cmake (rev 0)
+++ trunk/cmake/build_projects/pkg-config/bp.cmake 2013-07-15 19:43:05 UTC (rev 12424)
@@ -0,0 +1,80 @@
+# pkg-config/bp.cmake
+# This file should be included directly or indirectly from a top-level
+# CMakeLists.txt file to configure the build of pkg-config.
+
+# Copyright (C) 2013 Alan W. Irwin
+
+# This file is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Lesser General Public
+# License as published by the Free Software Foundation; either
+# version 2.1 of the License, or (at your option) any later version.
+
+# This file is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# Lesser General Public License for more details.
+
+# You should have received a copy of the GNU Lesser General Public
+# License along with this file; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+
+# The top-level CMakeLists.txt file that includes this file should
+# have run "include(ExternalProject)" and set EP_BASE variable (and
+# corresponding directory property) as well as various BP variables
+# used below that configure how the External_Project functions
+# operate.
+
+set(BP_PACKAGE pkg-config)
+
+# Protect against configuring a build twice in one CMake call
+if(${BP_PACKAGE}_configured)
+ return()
+endif(${BP_PACKAGE}_configured)
+set(${BP_PACKAGE}_configured ON)
+
+# Data that is related to downloads.
+set(${BP_PACKAGE}_URL http://pkgconfig.freedesktop.org/releases/pkg-config-0.28.tar.gz)
+set(${BP_PACKAGE}_DOWNLOAD_HASH_TYPE MD5)
+set(${BP_PACKAGE}_DOWNLOAD_HASH aa3c86e67551adc3ac865160e34a2a0d)
+
+
+# Data that is related to the PATH that must be used.
+if(MSYS_PLATFORM)
+ #set(BP_PATH_NODLL "${BP_PATH}")
+ #set(BP_PATH "${EP_BASE}/Build/build_${BP_PACKAGE}/dll;${BP_PATH_NODLL}")
+ determine_msys_path(BP_PATH "${BP_PATH}")
+ # Must have all elements of env command in MSYS platform form
+ determine_msys_path(source_PATH "${EP_BASE}/Source/build_${BP_PACKAGE}")
+ # configure (for glib subpackage) dies without this.
+ set(${BP_PACKAGE}_SET_CFLAGS "CFLAGS=-march=native $ENV{CFLAGS}")
+else(MSYS_PLATFORM)
+ set(source_PATH "${EP_BASE}/Source/build_${BP_PACKAGE}")
+ set(${BP_PACKAGE}_SET_CFLAGS "CFLAGS=$ENV{CFLAGS}")
+endif(MSYS_PLATFORM)
+#message(STATUS "modified BP_PATH for ${BP_PACKAGE} = ${BP_PATH}")
+
+ExternalProject_Add(
+ build_${BP_PACKAGE}
+ URL ${${BP_PACKAGE}_URL}
+ URL_HASH ${${BP_PACKAGE}_DOWNLOAD_HASH_TYPE}=${${BP_PACKAGE}_DOWNLOAD_HASH}
+ CONFIGURE_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${${BP_PACKAGE}_SET_CFLAGS} ${source_PATH}/${BP_CONFIGURE_COMMAND} --with-internal-glib
+ BUILD_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${BP_PARALLEL_MAKE_COMMAND}
+# 4 of 25 tests fail for the MinGW/MSYS/Wine platform so comment out
+# the next two lines for now.
+# TEST_BEFORE_INSTALL ON
+# TEST_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${BP_PARALLEL_MAKE_COMMAND} check
+ INSTALL_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${BP_PARALLEL_MAKE_COMMAND} install
+ )
+
+ExternalProject_Add_Step(
+ build_${BP_PACKAGE} preinstall_fix
+ COMMENT "remove pkg-config binaries from the install tree"
+ DEPENDEES build
+ DEPENDERS install
+ COMMAND ${CMAKE_COMMAND} -DFILE_WILDCARD:STRING=${BP_CMAKE_INSTALL_PREFIX}/bin/*-pkg-config* -P ${CMAKE_SOURCE_DIR}/wildcard_remove.cmake
+ )
+
+list(APPEND build_target_LIST build_${BP_PACKAGE})
+# Restore BP_PATH to original state.
+set(BP_PATH "${BP_ORIGINAL_NATIVE_PATH}")
+#message(STATUS "${BP_PACKAGE} restored original BP_PATH = ${BP_PATH}")
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ai...@us...> - 2013-07-15 17:25:14
|
Revision: 12423
http://sourceforge.net/p/plplot/code/12423
Author: airwin
Date: 2013-07-15 17:25:08 +0000 (Mon, 15 Jul 2013)
Log Message:
-----------
Initial commit of a CMake script to remove files specified by a wildcard
pattern.
Added Paths:
-----------
trunk/cmake/build_projects/wildcard_remove.cmake
Added: trunk/cmake/build_projects/wildcard_remove.cmake
===================================================================
--- trunk/cmake/build_projects/wildcard_remove.cmake (rev 0)
+++ trunk/cmake/build_projects/wildcard_remove.cmake 2013-07-15 17:25:08 UTC (rev 12423)
@@ -0,0 +1,6 @@
+# CMake script to remove files corressponding to a
+# FILE_WILDCARD pattern specified (before the -P option) with
+# -DFILE_WILDCARD:STRING=<whatever>
+file(GLOB file_list ${FILE_WILDCARD})
+message(STATUS "file_list to be removed = ${file_list}")
+file(REMOVE "${file_list}")
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <arj...@us...> - 2013-07-15 06:45:32
|
Revision: 12422
http://sourceforge.net/p/plplot/code/12422
Author: arjenmarkus
Date: 2013-07-15 06:45:29 +0000 (Mon, 15 Jul 2013)
Log Message:
-----------
First shot at implementing plcolorbar. The result is not quite like the C
example yet - also only one plot has any colorbar sofar. More tweaking required.
Modified Paths:
--------------
trunk/examples/tcl/x16.tcl
Modified: trunk/examples/tcl/x16.tcl
===================================================================
--- trunk/examples/tcl/x16.tcl 2013-07-15 06:44:11 UTC (rev 12421)
+++ trunk/examples/tcl/x16.tcl 2013-07-15 06:45:29 UTC (rev 12422)
@@ -21,6 +21,14 @@
matrix zz f $nx $ny
matrix ww f $nx $ny
+# Colorbar - note: single values, as we have only one bar
+ set n_axis_opts 1
+ set axis_opts "bcvtm"
+ set axis_ticks 0.0
+ set axis_subticks 0
+ set label_opts $::PLPLOT::PL_COLORBAR_LABEL_BOTTOM
+ set labels "Magnitude"
+
# Set up data array
for {set i 0} {$i < $nx} {incr i} {
@@ -91,6 +99,31 @@
shedge $fill_width $cont_color $cont_width \
1 "NULL"
+
+ # Colorbar:
+ # We draw only one bar, so use single values, not lists
+ #
+ # Smaller text
+ $w cmd plschr 0.0 0.75
+ # Small ticks on the vertical axis
+ $w cmd plsmaj 0.0 0.5
+ $w cmd plsmin 0.0 0.5
+
+ $w cmd plcolorbar \
+ [expr {$::PLPLOT::PL_COLORBAR_SHADE | $::PLPLOT::PL_COLORBAR_SHADE_LABEL}] 0 \
+ 0.005 0.0 0.0375 0.875 0 1 1 0.0 0.0 \
+ $cont_color $cont_width \
+ $label_opts $labels \
+ $axis_opts \
+ $axis_ticks $axis_subticks \
+ shedge
+
+ # Reset text and tick sizes
+ $w cmd plschr 0.0 1.0
+ $w cmd plsmaj 0.0 1.0
+ $w cmd plsmin 0.0 1.0
+
+
$w cmd plcol0 1
$w cmd plbox "bcnst" 0.0 0 "bcnstv" 0.0 0
$w cmd plcol0 2
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <arj...@us...> - 2013-07-15 06:44:15
|
Revision: 12421
http://sourceforge.net/p/plplot/code/12421
Author: arjenmarkus
Date: 2013-07-15 06:44:11 +0000 (Mon, 15 Jul 2013)
Log Message:
-----------
First shot at implementing a Tcl binding for plcolorbar. Given that example 16
does not look like the C example yet, there may still be some tweaking left.
Modified Paths:
--------------
trunk/bindings/tcl/tclAPI.c
Modified: trunk/bindings/tcl/tclAPI.c
===================================================================
--- trunk/bindings/tcl/tclAPI.c 2013-07-12 19:22:25 UTC (rev 12420)
+++ trunk/bindings/tcl/tclAPI.c 2013-07-15 06:44:11 UTC (rev 12421)
@@ -50,6 +50,7 @@
// PLplot/Tcl API handlers. Prototypes must come before Cmds struct
static int loopbackCmd( ClientData, Tcl_Interp *, int, const char ** );
+static int plcolorbarCmd( ClientData, Tcl_Interp *, int, const char ** );
static int plcontCmd( ClientData, Tcl_Interp *, int, const char ** );
static int pllegendCmd( ClientData, Tcl_Interp *, int, const char ** );
static int plmeshCmd( ClientData, Tcl_Interp *, int, const char ** );
@@ -100,6 +101,7 @@
static CmdInfo Cmds[] = {
{ "loopback", loopbackCmd },
#include "tclgen_s.h"
+ { "plcolorbar", plcolorbarCmd },
{ "plcont", plcontCmd },
{ "pllegend", pllegendCmd },
{ "plmap", plmapCmd },
@@ -4246,3 +4248,156 @@
return TCL_OK;
}
+
+//--------------------------------------------------------------------------
+// plcolorbarCmd
+//
+// Processes plcolorbar Tcl command.
+//--------------------------------------------------------------------------
+
+static int
+plcolorbarCmd( ClientData PL_UNUSED( clientData ), Tcl_Interp *interp,
+ int argc, const char *argv[] )
+{
+ PLFLT colorbar_width, colorbar_height;
+ PLINT opt, position;
+ PLFLT x, y, x_length, y_length;
+ PLINT bg_color, bb_color, bb_style;
+ PLFLT low_cap_color, high_cap_color;
+ PLINT cont_color;
+ PLFLT cont_width;
+ PLINT n_label_opts;
+ PLINT n_labels;
+ PLINT *label_opts;
+ char **labels;
+ PLINT n_axis_opts;
+ PLINT n_ticks;
+ PLINT n_sub_ticks;
+ PLINT n_axes;
+ char **axis_opts;
+ PLFLT *ticks;
+ PLINT *sub_ticks;
+ Tcl_Obj *list_vectors;
+ int n_vectors;
+ PLINT *vector_sizes;
+ PLFLT **vector_values;
+ int retcode;
+ int i;
+ int length;
+ Tcl_Obj *vector;
+ tclMatrix *vectorPtr;
+
+ double value;
+
+ Tcl_Obj *data[2];
+
+ if ( argc != 20 )
+ {
+ Tcl_AppendResult( interp, "bogus syntax for plcolorbar, see doc.",
+ (char *) NULL );
+ return TCL_ERROR;
+ }
+
+ // The first two arguments, the resulting width and height are returned via Tcl_SetObjResult()
+ sscanf( argv[1], "%d", &opt );
+ sscanf( argv[2], "%d", &position );
+ sscanf( argv[3], "%lg", &value ); x = (PLFLT) value;
+ sscanf( argv[4], "%lg", &value ); y = (PLFLT) value;
+ sscanf( argv[5], "%lg", &value ); x_length = (PLFLT) value;
+ sscanf( argv[6], "%lg", &value ); y_length = (PLFLT) value;
+ sscanf( argv[7], "%d", &bg_color );
+ sscanf( argv[8], "%d", &bb_color );
+ sscanf( argv[9], "%d", &bb_style );
+ sscanf( argv[10], "%lg", &value ); low_cap_color = (PLFLT) value;
+ sscanf( argv[11], "%lg", &value ); high_cap_color = (PLFLT) value;
+ sscanf( argv[12], "%d", &cont_color );
+ sscanf( argv[13], "%lg", &value ); cont_width = (PLFLT) value;
+ label_opts = argv_to_ints( interp, argv[14], &n_label_opts );
+ labels = argv_to_chars( interp, argv[15], &n_labels );
+ axis_opts = argv_to_chars( interp, argv[16], &n_axis_opts );
+ ticks = argv_to_doubles( interp, argv[17], &n_ticks );
+ sub_ticks = argv_to_ints( interp, argv[18], &n_sub_ticks );
+ list_vectors = Tcl_NewStringObj( argv[19], ( -1 ) );
+
+ // Check consistency
+ if ( n_label_opts != n_labels )
+ {
+ Tcl_AppendResult( interp, "number of label options must equal number of labels.",
+ (char *) NULL );
+ return TCL_ERROR;
+ }
+ if ( n_axis_opts != n_ticks || n_axis_opts != n_sub_ticks )
+ {
+ Tcl_AppendResult( interp, "number of axis, tick and subtick options must be equal.",
+ (char *) NULL );
+ return TCL_ERROR;
+ }
+ n_axes = n_axis_opts;
+
+ retcode = Tcl_ListObjLength( interp, list_vectors, &n_vectors );
+ if ( retcode != TCL_OK || n_vectors == 0 )
+ {
+ Tcl_AppendResult( interp, "malformed list of vectors or no vector at all.",
+ (char *) NULL );
+ return TCL_ERROR;
+ }
+ else
+ {
+ vector_sizes = (int *) malloc( sizeof( int ) * (size_t) n_vectors );
+ vector_values = (PLFLT **) malloc( sizeof( PLFLT * ) * (size_t) n_vectors );
+ for ( i = 0; i < n_vectors; i++ )
+ {
+ Tcl_ListObjIndex( interp, list_vectors, i, &vector );
+ vectorPtr = Tcl_GetMatrixPtr( interp, Tcl_GetStringFromObj( vector, &length ) );
+ if ( vectorPtr == NULL || vectorPtr->dim != 1 )
+ {
+ Tcl_AppendResult( interp, "element in list of vectors is not a vector.",
+ (char *) NULL );
+ return TCL_ERROR;
+ }
+ vector_sizes[i] = vectorPtr->n[0];
+ vector_values[i] = vectorPtr->fdata;
+ }
+ }
+
+ c_plcolorbar( &colorbar_width, &colorbar_height,
+ opt, position, x, y,
+ x_length, y_length,
+ bg_color, bb_color, bb_style,
+ low_cap_color, high_cap_color,
+ cont_color, cont_width,
+ n_labels, label_opts, (const char * const *)labels,
+ n_axes, (const char * const *)axis_opts,
+ ticks, sub_ticks,
+ vector_sizes, (const PLFLT * const *)vector_values );
+
+ if ( label_opts != NULL )
+ free( label_opts );
+ if ( labels != NULL )
+ {
+ free( labels[0] ) ;
+ free( labels ) ;
+ }
+ if ( axis_opts != NULL )
+ {
+ free( axis_opts[0] ) ;
+ free( axis_opts ) ;
+ }
+ if ( ticks != NULL )
+ free( ticks ) ;
+ if ( sub_ticks != NULL )
+ free( sub_ticks ) ;
+ if ( vector_values != NULL )
+ {
+ free( vector_sizes ) ;
+ free( vector_values ) ;
+ }
+
+ Tcl_DecrRefCount( list_vectors );
+
+ data[0] = Tcl_NewDoubleObj( colorbar_width );
+ data[1] = Tcl_NewDoubleObj( colorbar_height );
+ Tcl_SetObjResult( interp, Tcl_NewListObj( 2, data ) );
+
+ return TCL_OK;
+}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ai...@us...> - 2013-07-12 19:22:29
|
Revision: 12420
http://sourceforge.net/p/plplot/code/12420
Author: airwin
Date: 2013-07-12 19:22:25 +0000 (Fri, 12 Jul 2013)
Log Message:
-----------
All use of the dll subdirectory workaround is now controlled by
the USE_DLL_SUBDIRECTORY variable. That variable is set to true
only for the case of shared libraries and either WIN32 or Cygwin.
We do this for Cygwin only because CMake currently does not use the
-rpath linker capability (which apparently works according to
anecedotal evidence) on that platform. But we should review this
Cygwin decision in the future if/when CMake changes to use the -rpath
linker capability on that platform.
Modified Paths:
--------------
trunk/CMakeLists.txt
trunk/bindings/ada/CMakeLists.txt
trunk/drivers/CMakeLists.txt
trunk/examples/lua/CMakeLists.txt
trunk/examples/python/CMakeLists.txt
Modified: trunk/CMakeLists.txt
===================================================================
--- trunk/CMakeLists.txt 2013-07-12 18:08:01 UTC (rev 12419)
+++ trunk/CMakeLists.txt 2013-07-12 19:22:25 UTC (rev 12420)
@@ -118,12 +118,6 @@
add_definitions("/D_CRT_SECURE_NO_DEPRECATE")
endif(MSVC_VERSION GREATER 1399)
-# in windows all created dlls are gathered in the dll directory
-# if you add this directory to your PATH all shared libraries are available
-if(BUILD_SHARED_LIBS AND WIN32_AND_NOT_CYGWIN)
- set(LIBRARY_OUTPUT_PATH ${CMAKE_CURRENT_BINARY_DIR}/dll)
-endif(BUILD_SHARED_LIBS AND WIN32_AND_NOT_CYGWIN)
-
# Borland Compiler must compile in ANSII mode
if(BORLAND)
add_definitions(-A)
@@ -144,6 +138,22 @@
)
install(FILES ${top_level_DOCFILES} DESTINATION ${DOC_DIR})
+if(BUILD_SHARED_LIBS AND WIN32_OR_CYGWIN)
+ # For platforms (currently WIN32 or Cygwin, although the Cygwin version
+ # of CMake may support this in future since -rpath apparently does work
+ # on that platform) where CMake does not use -rpath, use a workaround
+ # where all dll's are collected in the dll subdirectory of the build tree.
+ set(USE_DLL_SUBDIRECTORY ON)
+else(BUILD_SHARED_LIBS AND WIN32_OR_CYGWIN)
+ set(USE_DLL_SUBDIRECTORY OFF)
+endif(BUILD_SHARED_LIBS AND WIN32_OR_CYGWIN)
+
+# in windows all created dlls are gathered in the dll directory
+# if you add this directory to your PATH all shared libraries are available
+if(USE_DLL_SUBDIRECTORY)
+ set(LIBRARY_OUTPUT_PATH ${CMAKE_CURRENT_BINARY_DIR}/dll)
+endif(USE_DLL_SUBDIRECTORY)
+
# Process other directories including using configured variables to
# process configurable files in those directories.
# N.B. Order is important here at the cmake stage because targets must
Modified: trunk/bindings/ada/CMakeLists.txt
===================================================================
--- trunk/bindings/ada/CMakeLists.txt 2013-07-12 18:08:01 UTC (rev 12419)
+++ trunk/bindings/ada/CMakeLists.txt 2013-07-12 19:22:25 UTC (rev 12420)
@@ -70,7 +70,7 @@
# Work around an issue in our CMake Ada language
# support for MinGW/Windows. FIXME. This issue should be fixed
# at the Ada language support level and not worked around here.
- if(WIN32_AND_NOT_CYGWIN)
+ if(USE_DLL_SUBDIRECTORY)
add_custom_command(
TARGET plplotada${LIB_TAG} POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy_if_different
@@ -78,7 +78,7 @@
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/dll
VERBATIM
)
- endif(WIN32_AND_NOT_CYGWIN)
+ endif(USE_DLL_SUBDIRECTORY)
target_link_libraries(plplotada${LIB_TAG}
plplot${LIB_TAG} ${GNAT_LIB}
Modified: trunk/drivers/CMakeLists.txt
===================================================================
--- trunk/drivers/CMakeLists.txt 2013-07-12 18:08:01 UTC (rev 12419)
+++ trunk/drivers/CMakeLists.txt 2013-07-12 19:22:25 UTC (rev 12420)
@@ -50,12 +50,12 @@
# in windows we move test-drv-info to the dll directory
# otherwise we use the RPATH functionality
- if(WIN32_AND_NOT_CYGWIN)
+ if(USE_DLL_SUBDIRECTORY)
set_target_properties(
test-drv-info
PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/dll
)
- else(WIN32_AND_NOT_CYGWIN)
+ else(USE_DLL_SUBDIRECTORY)
set(test-drv-info_RPATH
${CMAKE_CURRENT_BINARY_DIR}
${CMAKE_BINARY_DIR}/src
@@ -71,7 +71,7 @@
INSTALL_RPATH "${test-drv-info_RPATH}"
BUILD_WITH_INSTALL_RPATH ON
)
- endif(WIN32_AND_NOT_CYGWIN)
+ endif(USE_DLL_SUBDIRECTORY)
get_target_property(test-drv-info_LOCATION test-drv-info LOCATION)
set(test_dyndrivers_TDEPENDS test-drv-info)
Modified: trunk/examples/lua/CMakeLists.txt
===================================================================
--- trunk/examples/lua/CMakeLists.txt 2013-07-12 18:08:01 UTC (rev 12419)
+++ trunk/examples/lua/CMakeLists.txt 2013-07-12 19:22:25 UTC (rev 12420)
@@ -102,11 +102,11 @@
set_property(GLOBAL PROPERTY FILES_examples_lua ${command_DEPENDS})
endif(BUILD_TEST)
- if(WIN32_AND_NOT_CYGWIN)
+ if(USE_DLL_SUBDIRECTORY)
set(lua_lib_location ${CMAKE_BINARY_DIR}/dll)
- else(WIN32_AND_NOT_CYGWIN)
+ else(USE_DLL_SUBDIRECTORY)
set(lua_lib_location ${CMAKE_BINARY_DIR}/bindings/lua)
- endif(WIN32_AND_NOT_CYGWIN)
+ endif(USE_DLL_SUBDIRECTORY)
configure_file(
${CMAKE_CURRENT_SOURCE_DIR}/plplot_examples.lua.in
${CMAKE_CURRENT_BINARY_DIR}/plplot_examples.lua
Modified: trunk/examples/python/CMakeLists.txt
===================================================================
--- trunk/examples/python/CMakeLists.txt 2013-07-12 18:08:01 UTC (rev 12419)
+++ trunk/examples/python/CMakeLists.txt 2013-07-12 19:22:25 UTC (rev 12420)
@@ -232,11 +232,11 @@
set(python_location1 ${CMAKE_SOURCE_DIR}/bindings/python)
set(python_location2 ${CMAKE_BINARY_DIR}/bindings/python)
set(python_location3 ${CMAKE_BINARY_DIR}/examples/python)
- if(WIN32_AND_NOT_CYGWIN)
+ if(USE_DLL_SUBDIRECTORY)
set(python_location4 ${CMAKE_BINARY_DIR}/dll)
- else(WIN32_AND_NOT_CYGWIN)
- set(python_location3)
- endif(WIN32_AND_NOT_CYGWIN)
+ else(USE_DLL_SUBDIRECTORY)
+ set(python_location4)
+ endif(USE_DLL_SUBDIRECTORY)
set(python_location5 ${CMAKE_BINARY_DIR}/bindings/qt_gui/pyqt4)
set(python_location6 ${CMAKE_BINARY_DIR}/bindings/gnome2/python)
configure_file(
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ai...@us...> - 2013-07-12 18:08:05
|
Revision: 12419
http://sourceforge.net/p/plplot/code/12419
Author: airwin
Date: 2013-07-12 18:08:01 +0000 (Fri, 12 Jul 2013)
Log Message:
-----------
Follow the build of CMake itself so that the initial order of commands is
cmake_minimum_required(...
set(CMAKE_LEGACY_CYGWIN_WIN32 0)
project(...
This reordering should (hopefully) solve a current Cygwin issue where
there is a warning about CMAKE_LEGACY_CYGWIN_WIN32 not being set.
This reordering means that the variable CMAKE_SYSTEM_NAME is not
defined when cmake_minimum_required is called so we must use the same
minimum CMake version for all platforms. In retrospect this is a good
thing since the value of the minimum version sets a number of CMake
policies, and we want those policies (how CMake logic is interpreted)
to be identical on all platforms.
I also took this opportunity to update the minimum version from 2.8.2
on Linux and 2.8.6 on all other platforms to a uniform 2.8.9. I chose
that minimum to be consistent with the CMake version available on
Debian Wheezy (released a few months ago, and typically more
conservative about CMake versions than other modern Linux
distributions). What this means is modern Linux distribution users
(and presumably users of modern Mac versions) should be able to build
PLplot without having to build or download a modern CMake version as
well. As always, Windows users and legacy Linux distribution users
will have to download a binary CMake or build CMake with
a version that satisifies the version requirements (currently 2.8.9).
Tested by: Alan W. Irwin <ai...@us...> using the
install target (for -DBUILD_TEST=ON) and also by running ctest.
Note, I view this testing as the minimum acceptable for such a
fundamental build-system change where some of the CMake policies
(interpretations of CMake logic) have been updated on Linux from those
policies in effect for 2.8.2 to the policies in effect for 2.8.9.
Modified Paths:
--------------
trunk/CMakeLists.txt
Modified: trunk/CMakeLists.txt
===================================================================
--- trunk/CMakeLists.txt 2013-07-11 20:29:33 UTC (rev 12418)
+++ trunk/CMakeLists.txt 2013-07-12 18:08:01 UTC (rev 12419)
@@ -30,6 +30,11 @@
${CMAKE_SOURCE_DIR}/cmake/UserOverride.cmake
)
+cmake_minimum_required(VERSION 2.8.9 FATAL_ERROR)
+
+# Force CMake to _NOT_ define 'WIN32' on Cygwin
+set(CMAKE_LEGACY_CYGWIN_WIN32 0)
+
# It is a fatal error if no working C compiler is available to build
# the PLplot core C library and core C examples. All other compilers
# required by our bindings are optional in that if no working compiler
@@ -40,26 +45,6 @@
message(STATUS "CMake version = ${CMAKE_VERSION}")
message(STATUS "CMAKE_SYSTEM_NAME = ${CMAKE_SYSTEM_NAME}")
-if(CMAKE_SYSTEM_NAME STREQUAL "Linux")
- # We prefer to support only the latest CMake version because it
- # tends to be more free of issues and more consistent with recent
- # software releases of software that PLplot depends on than earlier versions.
- # However, as a special concession to our modern (not enterprise or
- # LTS) Linux distro users so they can avoid a download of recent CMake,
- # we allow them to use the system version of
- # CMake which at this time (2011-10) is typically 2.8.2 or later.
- cmake_minimum_required(VERSION 2.8.2 FATAL_ERROR)
-else(CMAKE_SYSTEM_NAME STREQUAL "Linux")
- # For non-Linux platforms we prefer to support only the most recent
- # CMake version since that tends to be most free of issues and most
- # consistent with releases of software that PLplot depends on. The
- # most recently released CMake is 2.8.6 at this time (2011-10).
- cmake_minimum_required(VERSION 2.8.6 FATAL_ERROR)
-endif(CMAKE_SYSTEM_NAME STREQUAL "Linux")
-
-# Force CMake to _NOT_ define 'WIN32' on Cygwin
-set(CMAKE_LEGACY_CYGWIN_WIN32 OFF)
-
# Set unambiguous names for these variables as a reminder.
set(WIN32_AND_NOT_CYGWIN ${WIN32})
if(WIN32 OR CYGWIN)
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ai...@us...> - 2013-07-11 20:29:36
|
Revision: 12418
http://sourceforge.net/p/plplot/code/12418
Author: airwin
Date: 2013-07-11 20:29:33 +0000 (Thu, 11 Jul 2013)
Log Message:
-----------
Mention the usefulness of the schema file generated by trang.
Modified Paths:
--------------
trunk/cmake/build_projects/README
Modified: trunk/cmake/build_projects/README
===================================================================
--- trunk/cmake/build_projects/README 2013-07-11 20:23:16 UTC (rev 12417)
+++ trunk/cmake/build_projects/README 2013-07-11 20:29:33 UTC (rev 12418)
@@ -196,6 +196,13 @@
Where GNOME-3.4.1 comes fairly close to the individual
package versions that currently work well together for Debian wheezy.
+To create the schema for gtk_packages.xml use
+
+trang -I xml gtk_packages.xml gtk_packages_xml.rnc
+
+# That resulting schema file is quite helpful in figuring out
+# how to process gtk_packages.xml as below.
+
# Transform the xml form to a form that can be used by a cmake script.
# Note, there will be some information messages sent to stderr by this
# script that typically relate to good packages (ones that can be
@@ -212,9 +219,10 @@
# (hard) dependencies to a minimum.
./gtk_transform.py "pango" 1 <gtk_packages.xml 1>| pango_packages.data
-# N.B. there are no plans to keep gtk_packages.xml or pango_packages.data
-# under version control. However, if a patch is necessary for gtk_packages.xml
-# created as above, we will keep that patch under version control.
+# N.B. there are no plans to keep gtk_packages.xml, gtk_packages.rnc,
+# or pango_packages.data under version control. However, if a patch
+# is necessary for gtk_packages.xml created as above, we will keep
+# that patch under version control.
# Finally to actually generate build configurations for build_packages run
# the following command.
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ai...@us...> - 2013-07-11 20:23:18
|
Revision: 12417
http://sourceforge.net/p/plplot/code/12417
Author: airwin
Date: 2013-07-11 20:23:16 +0000 (Thu, 11 Jul 2013)
Log Message:
-----------
Add description of the commands used to generate build_projects
configurations for pango and all its dependencies.
Note this documentation will become valid only in the future
when configure_bp.cmake is updated to actually output build_projects
configurations from the input results that it currently just parses.
Modified Paths:
--------------
trunk/cmake/build_projects/README
Modified: trunk/cmake/build_projects/README
===================================================================
--- trunk/cmake/build_projects/README 2013-07-11 20:17:38 UTC (rev 12416)
+++ trunk/cmake/build_projects/README 2013-07-11 20:23:16 UTC (rev 12417)
@@ -177,3 +177,47 @@
N.B. All of the above have been run without issues on a Wine platform
(wine-git close to wine-1.6-rc1) and therefore should also work for
the Microsoft version of Windows.
+
+===============================================================================
+Build configuration for the special case of GTK. The GNOME Tool Kit stack
+of libraries is normally built by jhbuild which keeps its configuration
+files in xml form. Here is how you convert that form of build-configuration
+data to the build_projects form.
+
+pushd <tmpdir>
+# This downloads all the relevant xml build configuration files
+# for the given version of GTK
+wget -nd ftp://ftp.acc.umu.se/pub/GNOME/teams/releng/3.4.1/*
+popd
+./gtk_xml_recursive_process.py \
+<tmpdir>/gnome-apps-3.4.1.modules \
+>gtk_packages.xml
+
+Where GNOME-3.4.1 comes fairly close to the individual
+package versions that currently work well together for Debian wheezy.
+
+# Transform the xml form to a form that can be used by a cmake script.
+# Note, there will be some information messages sent to stderr by this
+# script that typically relate to good packages (ones that can be
+# transformed by this script) and bad packages. Currently the list of
+# bad packages are confined just to those which are completely missing
+# from the jhbuild data for gtk. The first command-line argument is
+# the starting package name and the second command-line argument is a
+# control variable where the least significant bit is ON for following (hard)
+# "dependencies" dependencies, the next least significant bit is ON
+# for following (soft) "suggests", dependencies, and the next least
+# significant bit is ON for following (would be nice) "after"
+# dependencies. Currently I use a command variable of 1 to keep
+# the number of packages configured for building pango and
+# (hard) dependencies to a minimum.
+./gtk_transform.py "pango" 1 <gtk_packages.xml 1>| pango_packages.data
+
+# N.B. there are no plans to keep gtk_packages.xml or pango_packages.data
+# under version control. However, if a patch is necessary for gtk_packages.xml
+# created as above, we will keep that patch under version control.
+
+# Finally to actually generate build configurations for build_packages run
+# the following command.
+
+cmake -DFILENAME:FILEPATH=pango_packages.data -P configure_bp.cmake
+
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ai...@us...> - 2013-07-11 20:17:41
|
Revision: 12416
http://sourceforge.net/p/plplot/code/12416
Author: airwin
Date: 2013-07-11 20:17:38 +0000 (Thu, 11 Jul 2013)
Log Message:
-----------
Update the initial script so that it
(1) finds all valid direct and indirect dependencies of the
starting_package specified on the command-line by the user according
to a command integer also given on the command line (1 bit ON ==> follow
hard dependencies (jhbuild "dependencies"), 2 bit ON ==> follows soft
dependencies (jhbuild "suggests"), 4 bit ON
==> follow "would be nice" run-time dependencies (jhbuild "after")).
(2) Dump to stdout all relevant build configuration information for the
starting package and all valid dependencies that are found.
This should be the final form of this script or close to it.
Modified Paths:
--------------
trunk/cmake/build_projects/gtk_transform.py
Modified: trunk/cmake/build_projects/gtk_transform.py
===================================================================
--- trunk/cmake/build_projects/gtk_transform.py 2013-07-11 19:59:37 UTC (rev 12415)
+++ trunk/cmake/build_projects/gtk_transform.py 2013-07-11 20:17:38 UTC (rev 12416)
@@ -23,11 +23,14 @@
import sys
import xml.etree.ElementTree as ET
-def parse_jhbuild(root, id, if_dependencies):
+def parse_jhbuild(root, id, depend_track, if_dependencies, called):
# find all necessary data to build. If xml is in slightly non-standard
# form or if there is any other trouble, then immediately return
# with no output to stdout.
- print("id = %s" % id)
+ if called.has_key(id):
+ raise RuntimeError, "parse_jhbuild recursively called with the same id"
+ called[id] = None
+ #sys.stderr.write("id = %s\n" % id)
package = root.findall(".//*[@id='%s']" % id)
if len(package) < 1:
# Cannot find this package. Do nothing.
@@ -44,14 +47,20 @@
# packages.
config_type = package.tag
if config_type == "autotools":
- config_arguments = package.get("autogenargs")
+ config_arguments = package.get("autogenargs")
elif config_type == "cmake":
- config_arguments = package.get("cmakeargs")
+ config_arguments = package.get("cmakeargs")
+ elif config_type == "tarball":
+ config_arguments = ""
else:
return None
-
- # Parse branch element of package
- branch = package.findall("branch[@hash]")
+ if config_arguments == None:
+ config_arguments = ""
+ # Parse branch or source element of package
+ if config_type == "tarball":
+ branch = package.findall("source[@hash]")
+ else:
+ branch = package.findall("branch[@hash]")
if len(branch) < 1:
# Cannot find branch so do nothing.
return None
@@ -65,17 +74,32 @@
download_hash = branch.get("hash")
if len(download_hash) == 0:
return None
- index = download_hash.index(":")
- download_hash_type = download_hash[0:index].upper()
- download_hash = download_hash[index+1:]
+ index = download_hash.find(":")
+ if index <= 0:
+ download_hash_type = "UNKNOWN"
+ else:
+ download_hash_type = download_hash[0:index].upper()
+ if index >= 0:
+ download_hash = download_hash[index+1:]
- download_repo = branch.get("repo")
- if len(download_repo) == 0:
- return None
+ if config_type == "tarball":
+ download_href = branch.get("href")
+ else:
+ download_repo = branch.get("repo")
+ if len(download_repo) == 0:
+ return None
- download_module = branch.get("module")
- if len(download_module) == 0:
- return None
+ download_module = branch.get("module")
+ if len(download_module) == 0:
+ return None
+ if repository_dictionary.has_key(download_repo):
+ download_repo = repository_dictionary[download_repo]
+
+ # Make sure there is a trailing "/" on the repo
+ index = download_repo.rfind("/")
+ if len(download_repo)-1 != index:
+ download_repo = download_rep + "/"
+ download_href = download_repo + download_module
# Parse various kinds of jhbuild dependencies.
# Note from
@@ -92,51 +116,79 @@
# features. For instance, metacity is needed by mutter to have
# key binding settings in mutter."
- # Create overall_dependencies dictionary and populate it as needed.
- overall_dependencies={}
# Create dependencies dictionary and populate it as needed.
dependencies={}
- # Add a dependency for pkg-config if there is a subelement named that.
- if package.find("pkg-config") != None:
- dependencies["pkg-config"] = None
- overall_dependencies["pkg-config"] = None
- for dep_element in package.findall("dependencies/dep"):
- dependencies[dep_element.get("package")] = None
- overall_dependencies[dep_element.get("package")] = None
+ if depend_track&1:
+ # Add a dependency for pkg-config if there is a subelement named that.
+ if package.find("pkg-config") != None:
+ dependencies["pkg-config"] = None
+ for dep_element in package.findall("dependencies/dep"):
+ dependencies[dep_element.get("package")] = None
# Create suggests dictionary and populate it as needed.
suggests={}
- for dep_element in package.findall("suggests/dep"):
- suggests[dep_element.get("package")] = None
- overall_dependencies[dep_element.get("package")] = None
- # Repeat for suggest target name (a mistake for one package
- # with id=gdm).
- for dep_element in package.findall("suggest/dep"):
- suggests[dep_element.get("package")] = None
- overall_dependencies[dep_element.get("package")] = None
+ if depend_track&2:
+ for dep_element in package.findall("suggests/dep"):
+ suggests[dep_element.get("package")] = None
+ # Repeat for suggest target name (a mistake for one package
+ # with id=gdm).
+ for dep_element in package.findall("suggest/dep"):
+ suggests[dep_element.get("package")] = None
# Create after dictionary and populate it as needed.
after={}
- for dep_element in package.findall("after/dep"):
- after[dep_element.get("package")] = None
- overall_dependencies[dep_element.get("package")] = None
+ if depend_track&4:
+ for dep_element in package.findall("after/dep"):
+ after[dep_element.get("package")] = None
- if not if_dependencies:
- pass
- else:
+ if if_dependencies:
+ overall_dependencies = {}
+ overall_dependencies.update(dependencies)
+ overall_dependencies.update(suggests)
+ overall_dependencies.update(after)
+
+ good_packages = {}
+ good_packages[id] = None
+ bad_packages = {}
dependencies_list = overall_dependencies.keys()
- bad_dependencies = {}
for dep in dependencies_list:
- extra = parse_jhbuild(root, dep, True)
+ if called.has_key(dep):
+ # ignore any package that has already been processed
+ # by parse_jhbuild. This avoids calling parse_jhbuild
+ # twice for the case of two dependent packages
+ # depending on a common third package and also ignores
+ # circular dependencies.
+ continue
+ extra = parse_jhbuild(root, dep, depend_track, if_dependencies, called)
if extra == None:
- bad_dependencies[dep] = None
- del overall_dependencies[dep]
+ bad_packages[dep] = None
else:
- overall_dependencies.update(extra[0])
- bad_dependencies.update(extra[1])
+ good_packages.update(extra[0])
+ bad_packages.update(extra[1])
- return (overall_dependencies, bad_dependencies)
+ return (good_packages, bad_packages)
+ else:
+ sys.stdout.write(id + "\n")
+ sys.stdout.write(config_type + "\n")
+ sys.stdout.write(config_arguments + "\n")
+ sys.stdout.write(download_hash_type + "\n")
+ sys.stdout.write(download_hash + "\n")
+ sys.stdout.write(download_href + "\n")
+ # Output dependency lists as sorted colon-separated strings
+ dependencies_list = dependencies.keys()
+ dependencies_list.sort()
+ dependencies_string = ":".join(dependencies_list)
+ sys.stdout.write(dependencies_string + "\n")
+ suggests_list = suggests.keys()
+ suggests_list.sort()
+ suggests_string = ":".join(suggests_list)
+ sys.stdout.write(suggests_string + "\n")
+ after_list = after.keys()
+ after_list.sort()
+ after_string = ":".join(after_list)
+ sys.stdout.write(after_string + "\n")
+
tree = ET.parse(sys.stdin)
root = tree.getroot()
@@ -144,13 +196,34 @@
# one definition. Eyeballing the file, it appears those definitions
# are completely redundant so it is fine to take the last definition
# (which we do here).
-repository_dict={}
+repository_dictionary={}
for repository in root.findall("repository"):
- repository_dict[repository.get("name")] = repository.get("href")
+ repository_dictionary[repository.get("name")] = repository.get("href")
-dependency_dictionary = parse_jhbuild(root, "pango", True)
-if not dependency_dictionary == None:
- print("good dependencies =")
- print(dependency_dictionary[0].keys())
- print("bad dependencies =")
- print(dependency_dictionary[1].keys())
+if len(sys.argv) < 3:
+ raise RuntimeError, "must specify a starting package name as the first argument and dependency tracking flag as the second argument on the command line"
+start_package = sys.argv[1]
+# Important!
+# The least significant bit of depend_track shows whether to pay
+# attention to the dependencies attribute.
+# The next least significant bit of depend_track shows whether to pay
+# attention to the suggests attribute.
+# The next least significant bit of depend_track shows whether to pay
+# attention to the after attribute.
+depend_track = int(sys.argv[2])
+dependency_dictionary = parse_jhbuild(root, start_package, depend_track, True, {})
+if dependency_dictionary == None:
+ sys.stderr.write("some failure for start_package = %s or else no dependencies for that start_package\n" % start_package)
+else:
+ good_packages_list = dependency_dictionary[0].keys()
+ bad_packages_list = dependency_dictionary[1].keys()
+ good_packages_list.sort()
+ bad_packages_list.sort()
+ sys.stderr.write("number of good packages = %s\n" % len(good_packages_list))
+ sys.stderr.write("good packages = " + ":".join(good_packages_list) + "\n")
+ sys.stderr.write("number of bad packages = %s\n" % len(bad_packages_list))
+ sys.stderr.write("bad packages = " + ":".join(bad_packages_list) + "\n")
+
+ # Output on stdout good package results.
+ for id in good_packages_list:
+ parse_jhbuild(root, id, depend_track, False, {})
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ai...@us...> - 2013-07-11 19:59:41
|
Revision: 12415
http://sourceforge.net/p/plplot/code/12415
Author: airwin
Date: 2013-07-11 19:59:37 +0000 (Thu, 11 Jul 2013)
Log Message:
-----------
Initial commit of a file with CMake logic to parse a file created by
gtk_transform.py (see README for how to use gtk_transform.py).
Currently, that parsing simply outputs the parsed results in the same
form as the input file so that, e.g.,
cmake -DFILENAME:FILEPATH=pango_packages.data -P \
configure_bp.cmake 2>| diff pango_packages.data -
shows no differences indicating the parsing is working.
ToDo: Use these correctly parsed results to configure corresponding
bp.cmake files for each package that is found by gtk_transform.py.
Added Paths:
-----------
trunk/cmake/build_projects/configure_bp.cmake
Added: trunk/cmake/build_projects/configure_bp.cmake
===================================================================
--- trunk/cmake/build_projects/configure_bp.cmake (rev 0)
+++ trunk/cmake/build_projects/configure_bp.cmake 2013-07-11 19:59:37 UTC (rev 12415)
@@ -0,0 +1,30 @@
+cmake_policy(SET CMP0007 NEW)
+file(STRINGS ${FILENAME} lines)
+list(LENGTH lines nlines)
+# There are currently groups of 9 lines for each
+# gtk software package specifying the required
+# build-configuration information.
+set(group_size 9)
+set(remove_indices 0 1 2 3 4 5 6 7 8)
+math(EXPR max_index "(${nlines}/${group_size}) - 1")
+foreach(index RANGE 0 ${max_index})
+ list(GET lines 0 package)
+ message("${package}")
+ list(GET lines 1 config_type)
+ message("${config_type}")
+ list(GET lines 2 config_arguments)
+ message("${config_arguments}")
+ list(GET lines 3 download_hash_type)
+ message("${download_hash_type}")
+ list(GET lines 4 download_hash)
+ message("${download_hash}")
+ list(GET lines 5 download_href)
+ message("${download_href}")
+ list(GET lines 6 dependencies)
+ message("${dependencies}")
+ list(GET lines 7 suggests)
+ message("${suggests}")
+ list(GET lines 8 after)
+ message("${after}")
+ list(REMOVE_AT lines ${remove_indices})
+endforeach(index RANGE 0 ${max_index})
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|