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-11-06 00:35:18
|
Revision: 12664
http://sourceforge.net/p/plplot/code/12664
Author: airwin
Date: 2013-11-06 00:35:15 +0000 (Wed, 06 Nov 2013)
Log Message:
-----------
Implement USE_INCRTCL_VERSION_4 option which allows users to express a
preference for version 4 of itcl and friends of both version 3 and
version 4 are available. This option is OFF by default (i.e., the
default preference is version 3 of itcl and friends when both version
3 and 4 are available).
Modified Paths:
--------------
trunk/cmake/modules/tcl-related.cmake
Modified: trunk/cmake/modules/tcl-related.cmake
===================================================================
--- trunk/cmake/modules/tcl-related.cmake 2013-11-05 20:25:06 UTC (rev 12663)
+++ trunk/cmake/modules/tcl-related.cmake 2013-11-06 00:35:15 UTC (rev 12664)
@@ -32,6 +32,8 @@
option(ENABLE_itk "Enable incr TK interface code" ON)
endif(DEFAULT_NO_BINDINGS)
+option(USE_INCRTCL_VERSION_4 "Use [incr Tcl] version 4" OFF)
+
# Depending on these above options and system resources may also determine
# the following variables which are largely self-explanatory unless documented
# further.
@@ -94,7 +96,10 @@
message(STATUS "Looking for itcl.h - found")
message(STATUS "Looking for itcl library")
get_filename_component(TCL_LIBRARY_PATH ${TCL_LIBRARY} PATH)
- set(itcl_library_versions 4.0.0 3.4 3.3 3.2 3.1 3.0 2.1 2.0)
+ set(itcl_library_versions 3.4 3.3 3.2 3.1 3.0 2.1 2.0)
+ if(USE_INCRTCL_VERSION_4)
+ set(itcl_library_versions 4.0.0 ${itcl_library_versions})
+ endif(USE_INCRTCL_VERSION_4)
foreach(version ${itcl_library_versions})
find_library(ITCL_LIBRARY itcl${version} PATHS ${TCL_LIBRARY_PATH}
PATH_SUFFIXES itcl${version})
@@ -161,7 +166,10 @@
if(ITK_INCLUDE_PATH)
message(STATUS "Looking for itk.h - found")
message(STATUS "Looking for itk library")
- set(itk_library_versions 4.0.0 3.4 3.3 3.2 3.1 3.0 2.1 2.0)
+ set(itk_library_versions 3.4 3.3 3.2 3.1 3.0 2.1 2.0)
+ if(USE_INCRTCL_VERSION_4)
+ set(itk_library_versions 4.0.0 ${itk_library_versions})
+ endif(USE_INCRTCL_VERSION_4)
foreach(version ${itk_library_versions})
find_library(ITK_LIBRARY itk${version} PATHS ${TCL_LIBRARY_PATH}
PATH_SUFFIXES itk${version})
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ai...@us...> - 2013-11-05 20:25:14
|
Revision: 12663
http://sourceforge.net/p/plplot/code/12663
Author: airwin
Date: 2013-11-05 20:25:06 +0000 (Tue, 05 Nov 2013)
Log Message:
-----------
Make tkdemos.tcl work under wish.
Caveats:
(1) The logic for deducing whether tkdemos.tcl is
sourced under plserver or wish is pretty shaky and needs
replacing by a better method.
(2) The constants available from libplotd
are not available for unknown reasons under wish (since
the libplplot library should automatically be loaded by
package require Pltk). So examples 10 and 12 work (since
they do not require library constants), but many other
examples (e.g., 1 and 2) do not currently work because
of this issue.
Modified Paths:
--------------
trunk/examples/tk/README.tkdemos
trunk/examples/tk/tkdemos.tcl
Modified: trunk/examples/tk/README.tkdemos
===================================================================
--- trunk/examples/tk/README.tkdemos 2013-11-05 16:36:59 UTC (rev 12662)
+++ trunk/examples/tk/README.tkdemos 2013-11-05 20:25:06 UTC (rev 12663)
@@ -20,10 +20,19 @@
# from "plserver" to "../../bindings/plserver"
./xtk04 -f tk04
-There are two ways to run tkdemos.tcl which exercises all the x??.tcl
+There are two ways to run the examples below, where the alternatives
+are indicated by "|". The first alternative should only be used if
+you have changed directories to
+$prefix/share/plplot$VERSION/examples/tk where $prefix is the PLplot
+install prefix and $VERSION is the PLplot release version, e.g.,
+5.9.10. (That is, the first alternative should be used if you have
+changed directories to the installed tk examples directory.) The
+second alternative should only be used if you have changed directories
+to bindings/examples/tk in the build tree.
+
+(1) Run tkdemos.tcl from plserver. This potentially exercises all the x??.tcl
examples using the plframe widget:
-(1)
plserver | ../../bindings/tk/plserver
source tkdemos.tcl
1
@@ -33,33 +42,40 @@
Note the plserver command has normal PLplot command-line options (run
plserver -h to find out what they are).
-(2) Note, fill in $prefix below with whatever you configured for the install
-prefix (/usr/local/plplot or whatever) and $VERSION with the plplot VERSION
-you are running at this time (5.2.0 or whatever).
+(2) Run tkdemos.tcl from wish.
-wish
-lappend auto_path $prefix/share/plplot$VERSION | ../../bindings/tk
+wish -geometry 600x400
+lappend auto_path $prefix/share/plplot$VERSION ../../bindings/tk-x-plat ../../bindings/tk
package require Pltk
source tkdemos.tcl
1
2
....
+FIXME: Note the ../../bindings/tk-x-plat in auto_path is a temporary
+measure to support the hacked tkdemos.tcl logic which invokes package
+require Plplotter to distinguish between the plserver case (where that
+package is not available) and the current wish case (where that
+package can be successfully loaded because of ../../bindings/tk-x-plat
+in auto_path).
+
+FIXME: Try examples 10 and 12 which should work. Most of the rest
+(e.g., 1, 2,) currently do not work because PLplot library constants
+are not available under wish for some unknown reason.
+
To find out more about the wish command (which comes as part of the Tk
package) use man wish.
Both the plserver and wish methods execute the various x??.tcl examples
-corresponding to the numbers specified by the user. A few of the x??.tcl
-examples will return the message that they have not been implemented, but
-the rest should work smoothly without problems.
+corresponding to the numbers specified by the user.
+(3) Run runAllDemos.tcl from plserver.
-runAllDemos.tcl now works both under plserver
-and wish
-
-plserver
+plserver | ../../bindings/tk/plserver
source runAllDemos.tcl
+(4) Run runAllDemos.tcl from wish.
+
wish
lappend auto_path $prefix/share/plplot$VERSION | ../../bindings/tk-x-plat ../../bindings/tk
package require Plplotter
Modified: trunk/examples/tk/tkdemos.tcl
===================================================================
--- trunk/examples/tk/tkdemos.tcl 2013-11-05 16:36:59 UTC (rev 12662)
+++ trunk/examples/tk/tkdemos.tcl 2013-11-05 20:25:06 UTC (rev 12663)
@@ -42,8 +42,18 @@
set utf8_examples {4 18 24 26 33}
-plstdwin .
-plxframe .plw
+# This is hacked logic for distinguishing between the plserver
+# and wish cases which requires an extra directory be lappended in
+# the build tree for the Pltk case. FIXME.
+if {[catch {package require Plplotter}]} {
+ # use 'plserver' method
+ plstdwin .
+ plxframe .plw
+ set plwin .plw.plwin
+} else {
+ plframe .plw
+ set plwin .plw
+}
pack append . .plw {left expand fill}
for {set i 0} {$i <= 33} {incr i} {
@@ -62,13 +72,14 @@
}
proc $i {} "
- .plw.plwin cmd plspause 0
- $demo .plw.plwin
- .plw.plwin cmd plcol0 1
- .plw.plwin cmd plsori 0
- .plw.plwin cmd plspal0 cmap0_default.pal
- .plw.plwin cmd plspal1 cmap1_default.pal 1
- .plw.plwin cmd plstransform NULL
+ global plwin
+ $plwin cmd plspause 0
+ $demo $plwin
+ $plwin cmd plcol0 1
+ $plwin cmd plsori 0
+ $plwin cmd plspal0 cmap0_default.pal
+ $plwin cmd plspal1 cmap1_default.pal 1
+ $plwin cmd plstransform NULL
"
}
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ai...@us...> - 2013-11-05 16:37:05
|
Revision: 12662
http://sourceforge.net/p/plplot/code/12662
Author: airwin
Date: 2013-11-05 16:36:59 +0000 (Tue, 05 Nov 2013)
Log Message:
-----------
Increase NDEV from 20 (which errored out with a message about too many
devices) to a more generous 100. That value solved the error and is
consistent with the NDEV value used in other parts of our code, e.g.,
bindings/tk/plframe.c and drivers/wxwidgets.cpp.
Modified Paths:
--------------
trunk/bindings/tk-x-plat/plplotter.c
Modified: trunk/bindings/tk-x-plat/plplotter.c
===================================================================
--- trunk/bindings/tk-x-plat/plplotter.c 2013-11-05 16:24:11 UTC (rev 12661)
+++ trunk/bindings/tk-x-plat/plplotter.c 2013-11-05 16:36:59 UTC (rev 12662)
@@ -91,7 +91,7 @@
// plplot_tkwin_ccmap is statically defined in pltkwd.h. Note that
// tkwin.c also includes that header and uses that variable.
-#define NDEV 20 // Max number of output device types
+#define NDEV 100 // Max number of output device types
//
// A data structure of the following type is kept for each
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ai...@us...> - 2013-11-05 16:24:15
|
Revision: 12661
http://sourceforge.net/p/plplot/code/12661
Author: airwin
Date: 2013-11-05 16:24:11 +0000 (Tue, 05 Nov 2013)
Log Message:
-----------
Style previous commits.
Modified Paths:
--------------
trunk/bindings/f95/scstubs.c
trunk/bindings/java/plplotjavac.i
trunk/bindings/python/plplot_widgetmodule.c
trunk/bindings/python/plplotcmodule.i
trunk/examples/c/x22c.c
trunk/src/plfreetype.c
trunk/src/plmap.c
trunk/src/plvect.c
Modified: trunk/bindings/f95/scstubs.c
===================================================================
--- trunk/bindings/f95/scstubs.c 2013-11-05 15:16:33 UTC (rev 12660)
+++ trunk/bindings/f95/scstubs.c 2013-11-05 16:24:11 UTC (rev 12661)
@@ -414,10 +414,10 @@
PLFLT **a;
int i, j;
- a = (PLFLT **) malloc( sizeof ( PLFLT * ) * ( size_t ) ( *n_axes ) );
+ a = (PLFLT **) malloc( sizeof ( PLFLT * ) * (size_t) ( *n_axes ) );
for ( i = 0; i < *n_axes; i++ )
{
- a[i] = (PLFLT *) malloc( sizeof ( PLFLT ) * ( size_t ) n_values[i] );
+ a[i] = (PLFLT *) malloc( sizeof ( PLFLT ) * (size_t) n_values[i] );
for ( j = 0; j < n_values[i]; j++ )
{
a[i][j] = values[i + j * ( *n_axes )];
@@ -1019,7 +1019,7 @@
}
void
-PLPATH( PLINT *n, PLFLT *x1, PLFLT *y1, PLFLT *x2, PLFLT *y2 )
+PLPATH( PLINT *n, PLFLT *x1, PLFLT *y1, PLFLT *x2, PLFLT *y2 )
{
c_plpath( *n, *x1, *y1, *x2, *y2 );
}
Modified: trunk/bindings/java/plplotjavac.i
===================================================================
--- trunk/bindings/java/plplotjavac.i 2013-11-05 15:16:33 UTC (rev 12660)
+++ trunk/bindings/java/plplotjavac.i 2013-11-05 16:24:11 UTC (rev 12661)
@@ -197,7 +197,7 @@
setup_array_1d_b( PLBOOL **pa, jboolean *adat, int n )
{
int i;
- *pa = (PLBOOL *) malloc( ( size_t ) n * sizeof ( PLBOOL ) );
+ *pa = (PLBOOL *) malloc( (size_t) n * sizeof ( PLBOOL ) );
for ( i = 0; i < n; i++ )
{
( *pa )[i] = adat[i] ? 1 : 0;
@@ -210,7 +210,7 @@
setup_array_1d_i( PLINT **pa, jint *adat, int n )
{
int i;
- *pa = (PLINT *) malloc( ( size_t ) n * sizeof ( PLINT ) );
+ *pa = (PLINT *) malloc( (size_t) n * sizeof ( PLINT ) );
for ( i = 0; i < n; i++ )
{
( *pa )[i] = adat[i];
@@ -223,7 +223,7 @@
setup_array_1d_f( PLFLT **pa, jfloat *adat, int n )
{
int i;
- *pa = (PLFLT *) malloc( ( size_t ) n * sizeof ( PLFLT ) );
+ *pa = (PLFLT *) malloc( (size_t) n * sizeof ( PLFLT ) );
for ( i = 0; i < n; i++ )
{
( *pa )[i] = adat[i];
@@ -236,7 +236,7 @@
setup_array_1d_d( PLFLT **pa, jdouble *adat, int n )
{
int i;
- *pa = (PLFLT *) malloc( ( size_t ) n * sizeof ( PLFLT ) );
+ *pa = (PLFLT *) malloc( (size_t) n * sizeof ( PLFLT ) );
for ( i = 0; i < n; i++ )
{
( *pa )[i] = adat[i];
@@ -251,8 +251,8 @@
{
int i, j;
- *pa = (PLFLT **) malloc( ( size_t ) nx * sizeof ( PLFLT * ) );
- ( *pa )[0] = (PLFLT *) malloc( ( size_t ) ( nx * ny ) * sizeof ( PLFLT ) );
+ *pa = (PLFLT **) malloc( (size_t) nx * sizeof ( PLFLT * ) );
+ ( *pa )[0] = (PLFLT *) malloc( (size_t) ( nx * ny ) * sizeof ( PLFLT ) );
for ( i = 0; i < nx; i++ )
{
@@ -270,8 +270,8 @@
{
int i, j;
- *pa = (PLFLT **) malloc( ( size_t ) nx * sizeof ( PLFLT * ) );
- ( *pa )[0] = (PLFLT *) malloc( ( size_t ) ( nx * ny ) * sizeof ( PLFLT ) );
+ *pa = (PLFLT **) malloc( (size_t) nx * sizeof ( PLFLT * ) );
+ ( *pa )[0] = (PLFLT *) malloc( (size_t) ( nx * ny ) * sizeof ( PLFLT ) );
for ( i = 0; i < nx; i++ )
{
@@ -292,7 +292,7 @@
#ifdef PL_DOUBLE
x = (double *) dat;
#else
- x = (double *) malloc( ( size_t ) n * sizeof ( double ) );
+ x = (double *) malloc( (size_t) n * sizeof ( double ) );
for ( i = 0; i < n; i++ )
{
x[i] = (double) dat[i];
@@ -915,8 +915,8 @@
int nx = ( *jenv )->GetArrayLength( jenv, $input );
int ny = -1;
int i, j;
- ai = (jobject *) malloc( ( size_t ) nx * sizeof ( jobject ) );
- adat = (jPLFLT **) malloc( ( size_t ) nx * sizeof ( jPLFLT * ) );
+ ai = (jobject *) malloc( (size_t) nx * sizeof ( jobject ) );
+ adat = (jPLFLT **) malloc( (size_t) nx * sizeof ( jPLFLT * ) );
( *jenv )->EnsureLocalCapacity( jenv, nx );
@@ -982,8 +982,8 @@
int nx = ( *jenv )->GetArrayLength( jenv, $input );
int ny = -1;
int i, j;
- ai = (jobject *) malloc( ( size_t ) nx * sizeof ( jobject ) );
- adat = (jPLFLT **) malloc( ( size_t ) nx * sizeof ( jPLFLT * ) );
+ ai = (jobject *) malloc( (size_t) nx * sizeof ( jobject ) );
+ adat = (jPLFLT **) malloc( (size_t) nx * sizeof ( jPLFLT * ) );
( *jenv )->EnsureLocalCapacity( jenv, nx );
@@ -1040,8 +1040,8 @@
int nx = ( *jenv )->GetArrayLength( jenv, $input );
int ny = -1;
int i, j;
- ai = (jobject *) malloc( ( size_t ) nx * sizeof ( jobject ) );
- adat = (jPLFLT **) malloc( ( size_t ) nx * sizeof ( jPLFLT * ) );
+ ai = (jobject *) malloc( (size_t) nx * sizeof ( jobject ) );
+ adat = (jPLFLT **) malloc( (size_t) nx * sizeof ( jPLFLT * ) );
( *jenv )->EnsureLocalCapacity( jenv, nx );
@@ -1094,8 +1094,8 @@
int nx = ( *jenv )->GetArrayLength( jenv, $input );
int ny = -1;
int i, j;
- ai = (jobject *) malloc( ( size_t ) nx * sizeof ( jobject ) );
- adat = (jPLFLT **) malloc( ( size_t ) nx * sizeof ( jPLFLT * ) );
+ ai = (jobject *) malloc( (size_t) nx * sizeof ( jobject ) );
+ adat = (jPLFLT **) malloc( (size_t) nx * sizeof ( jPLFLT * ) );
( *jenv )->EnsureLocalCapacity( jenv, nx );
@@ -1178,8 +1178,8 @@
return;
}
- ptr = (PLFLT **) malloc( ( size_t ) nx * sizeof ( PLFLT * ) );
- ptr[0] = (PLFLT *) malloc( ( size_t ) nx * ny * sizeof ( PLFLT ) );
+ ptr = (PLFLT **) malloc( (size_t) nx * sizeof ( PLFLT * ) );
+ ptr[0] = (PLFLT *) malloc( (size_t) nx * ny * sizeof ( PLFLT ) );
for ( i = 0; i < nx; i++ )
{
ptr[i] = ptr[0] + i * ny;
@@ -1197,8 +1197,8 @@
ptr = $1;
- ai = (jobject *) malloc( ( size_t ) nx * sizeof ( jobject ) );
- adat = (jPLFLT **) malloc( ( size_t ) nx * sizeof ( jPLFLT * ) );
+ ai = (jobject *) malloc( (size_t) nx * sizeof ( jobject ) );
+ adat = (jPLFLT **) malloc( (size_t) nx * sizeof ( jPLFLT * ) );
for ( i = 0; i < nx; i++ )
{
@@ -1254,8 +1254,8 @@
int nx = ( *jenv )->GetArrayLength( jenv, $input );
int ny = -1;
int i, j;
- ai = (jobject *) malloc( ( size_t ) nx * sizeof ( jobject ) );
- adat = (jPLFLT **) malloc( ( size_t ) nx * sizeof ( jPLFLT * ) );
+ ai = (jobject *) malloc( (size_t) nx * sizeof ( jobject ) );
+ adat = (jPLFLT **) malloc( (size_t) nx * sizeof ( jPLFLT * ) );
( *jenv )->EnsureLocalCapacity( jenv, nx );
@@ -1569,8 +1569,8 @@
int nx = ( *jenv )->GetArrayLength( jenv, $input );
int ny = -1;
int i, j;
- ai = (jobject *) malloc( ( size_t ) nx * sizeof ( jobject ) );
- adat = (jPLFLT **) malloc( ( size_t ) nx * sizeof ( jPLFLT * ) );
+ ai = (jobject *) malloc( (size_t) nx * sizeof ( jobject ) );
+ adat = (jPLFLT **) malloc( (size_t) nx * sizeof ( jPLFLT * ) );
( *jenv )->EnsureLocalCapacity( jenv, nx );
@@ -1645,8 +1645,8 @@
int nx = ( *jenv )->GetArrayLength( jenv, $input );
int ny = -1;
int i, j;
- ai = (jobject *) malloc( ( size_t ) nx * sizeof ( jobject ) );
- adat = (jPLFLT **) malloc( ( size_t ) nx * sizeof ( jPLFLT * ) );
+ ai = (jobject *) malloc( (size_t) nx * sizeof ( jobject ) );
+ adat = (jPLFLT **) malloc( (size_t) nx * sizeof ( jPLFLT * ) );
( *jenv )->EnsureLocalCapacity( jenv, nx );
@@ -1713,8 +1713,8 @@
int nx = ( *jenv )->GetArrayLength( jenv, $input );
int ny = -1;
int i, j;
- ai = (jobject *) malloc( ( size_t ) nx * sizeof ( jobject ) );
- adat = (jPLFLT **) malloc( ( size_t ) nx * sizeof ( jPLFLT * ) );
+ ai = (jobject *) malloc( (size_t) nx * sizeof ( jobject ) );
+ adat = (jPLFLT **) malloc( (size_t) nx * sizeof ( jPLFLT * ) );
( *jenv )->EnsureLocalCapacity( jenv, nx );
@@ -1807,7 +1807,7 @@
// Take a copy of the C string as the typemap is for a non const C string
jmethodID capacityID = ( *jenv )->GetMethodID( jenv, sbufClass, "capacity", "()I" );
jint capacity = ( *jenv )->CallIntMethod( jenv, $input, capacityID );
- $1 = (char *) malloc( ( size_t ) ( capacity + 1 ) );
+ $1 = (char *) malloc( (size_t) ( capacity + 1 ) );
// Zero the original StringBuffer, so we can replace it with the result
setLengthID = ( *jenv )->GetMethodID( jenv, sbufClass, "setLength", "(I)V" );
@@ -1852,7 +1852,7 @@
int i = 0;
size = (int) ( ( *jenv )->GetArrayLength( jenv, $input ) );
$1 = &size;
- $2 = (char **) malloc( ( size_t ) ( size + 1 ) * sizeof ( char * ) );
+ $2 = (char **) malloc( (size_t) ( size + 1 ) * sizeof ( char * ) );
// make a copy of each string
for ( i = 0; i < size; i++ )
{
@@ -1931,7 +1931,7 @@
printf( "Arrays must be the same length\n" );
return;
}
- $1 = (char **) malloc( ( size_t ) Alen * sizeof ( char * ) );
+ $1 = (char **) malloc( (size_t) Alen * sizeof ( char * ) );
// make a copy of each string
for ( i = 0; i < Alen; i++ )
{
@@ -1977,7 +1977,7 @@
int size = ( *jenv )->GetArrayLength( jenv, $input );
Alen = size;
$1 = size;
- $2 = (char **) malloc( ( size_t ) Alen * sizeof ( char * ) );
+ $2 = (char **) malloc( (size_t) Alen * sizeof ( char * ) );
// make a copy of each string
for ( i = 0; i < Alen; i++ )
{
Modified: trunk/bindings/python/plplot_widgetmodule.c
===================================================================
--- trunk/bindings/python/plplot_widgetmodule.c 2013-11-05 15:16:33 UTC (rev 12660)
+++ trunk/bindings/python/plplot_widgetmodule.c 2013-11-05 16:24:11 UTC (rev 12661)
@@ -12,7 +12,7 @@
#endif
void initplplot_widget( void );
-
+
#define TRY( E ) if ( !( E ) ) return NULL
#ifdef ENABLE_tk
Modified: trunk/bindings/python/plplotcmodule.i
===================================================================
--- trunk/bindings/python/plplotcmodule.i 2013-11-05 15:16:33 UTC (rev 12660)
+++ trunk/bindings/python/plplotcmodule.i 2013-11-05 16:24:11 UTC (rev 12661)
@@ -113,8 +113,7 @@
#if SIZEOF_LONG != 4
%wrapper
%{
-
- PyArrayObject* myIntArray_ContiguousFromObject( PyObject* in, int type, int mindims, int maxdims );
+ PyArrayObject* myIntArray_ContiguousFromObject( PyObject* in, int type, int mindims, int maxdims );
// some really twisted stuff to allow calling a single precision library from python
PyArrayObject* myIntArray_ContiguousFromObject( PyObject* in, int PL_UNUSED( type ), int mindims, int maxdims )
@@ -481,7 +480,7 @@
$2 = PyArray_DIMS( tmp )[0];
$3 = PyArray_DIMS( tmp )[1];
size = $3;
- $1 = (PLFLT **) malloc( sizeof ( PLFLT* ) * ( size_t ) $2 );
+ $1 = (PLFLT **) malloc( sizeof ( PLFLT* ) * (size_t) $2 );
for ( i = 0; i < $2; i++ )
$1[i] = ( (PLFLT *) PyArray_DATA( tmp ) + i * size );
}
@@ -501,7 +500,7 @@
Xlen = $2 = PyArray_DIMS( tmp )[0];
Ylen = $3 = PyArray_DIMS( tmp )[1];
size = $3;
- $1 = (PLFLT **) malloc( sizeof ( PLFLT* ) * ( size_t ) $2 );
+ $1 = (PLFLT **) malloc( sizeof ( PLFLT* ) * (size_t) $2 );
for ( i = 0; i < $2; i++ )
$1[i] = ( (PLFLT *) PyArray_DATA( tmp ) + i * size );
}
@@ -521,7 +520,7 @@
Xlen = PyArray_DIMS( tmp )[0];
Ylen = PyArray_DIMS( tmp )[1];
size = Ylen;
- $1 = (PLFLT **) malloc( sizeof ( PLFLT* ) * ( size_t ) Xlen );
+ $1 = (PLFLT **) malloc( sizeof ( PLFLT* ) * (size_t) Xlen );
for ( i = 0; i < Xlen; i++ )
$1[i] = ( (PLFLT *) PyArray_DATA( tmp ) + i * size );
}
@@ -558,7 +557,7 @@
return NULL;
}
size = Ylen;
- $1 = (PLFLT **) malloc( sizeof ( PLFLT* ) * ( size_t ) Xlen );
+ $1 = (PLFLT **) malloc( sizeof ( PLFLT* ) * (size_t) Xlen );
for ( i = 0; i < Xlen; i++ )
$1[i] = ( (PLFLT *) PyArray_DATA( tmp ) + i * size );
}
@@ -581,7 +580,7 @@
return NULL;
}
size = Ylen;
- $1 = (PLFLT **) malloc( sizeof ( PLFLT* ) * ( size_t ) Xlen );
+ $1 = (PLFLT **) malloc( sizeof ( PLFLT* ) * (size_t) Xlen );
for ( i = 0; i < Xlen; i++ )
$1[i] = ( (PLFLT *) PyArray_DATA( tmp ) + i * size );
}
@@ -611,7 +610,7 @@
if ( !array )
return NULL;
size = Ylen;
- $3 = (double **) malloc( sizeof ( double * ) * ( size_t ) Xlen );
+ $3 = (double **) malloc( sizeof ( double * ) * (size_t) Xlen );
for ( i = 0; i < Xlen; i++ )
$3[i] = ( (double *) PyArray_DATA( (PyArrayObject *) array ) + i * size );
}
@@ -640,7 +639,7 @@
PyErr_SetString( PyExc_ValueError, "Vectors must be same length." );
return NULL;
}
- $1 = (char **) malloc( sizeof ( char* ) * ( size_t ) Alen );
+ $1 = (char **) malloc( sizeof ( char* ) * (size_t) Alen );
for ( i = 0; i < Alen; i++ )
{
$1[i] = (char *) PyArray_DATA( tmp ) + i * PyArray_STRIDES( tmp )[0];
@@ -662,7 +661,7 @@
return NULL;
Alen = PyArray_DIMS( tmp )[0];
$1 = Alen;
- $2 = (char **) malloc( sizeof ( char* ) * ( size_t ) Alen );
+ $2 = (char **) malloc( sizeof ( char* ) * (size_t) Alen );
for ( i = 0; i < Alen; i++ )
{
$2[i] = (char *) PyArray_DATA( tmp ) + i * PyArray_STRIDES( tmp )[0];
@@ -744,8 +743,8 @@
PyErr_SetString( PyExc_ValueError, "Expected a sequence to two 1D arrays." );
return NULL;
}
- tmpGrid1.nx = ( PLINT ) PyArray_DIMS( pltr_xg )[0];
- tmpGrid1.ny = ( PLINT ) PyArray_DIMS( pltr_yg )[0];
+ tmpGrid1.nx = (PLINT) PyArray_DIMS( pltr_xg )[0];
+ tmpGrid1.ny = (PLINT) PyArray_DIMS( pltr_yg )[0];
if ( isimg == 0 )
{
if ( Xlen != tmpGrid1.nx || Ylen != tmpGrid1.ny )
@@ -798,8 +797,8 @@
PyErr_SetString( PyExc_ValueError, "Arrays must be same size." );
return NULL;
}
- tmpGrid2.nx = ( PLINT ) PyArray_DIMS( pltr_xg )[0];
- tmpGrid2.ny = ( PLINT ) PyArray_DIMS( pltr_xg )[1];
+ tmpGrid2.nx = (PLINT) PyArray_DIMS( pltr_xg )[0];
+ tmpGrid2.ny = (PLINT) PyArray_DIMS( pltr_xg )[1];
if ( isimg == 0 )
{
if ( Xlen != tmpGrid2.nx || Ylen != tmpGrid2.ny )
@@ -817,10 +816,10 @@
}
}
size = tmpGrid2.ny;
- tmpGrid2.xg = (PLFLT **) malloc( sizeof ( PLFLT* ) * ( size_t ) tmpGrid2.nx );
+ tmpGrid2.xg = (PLFLT **) malloc( sizeof ( PLFLT* ) * (size_t) tmpGrid2.nx );
for ( i = 0; i < tmpGrid2.nx; i++ )
tmpGrid2.xg[i] = ( (PLFLT *) PyArray_DATA( pltr_xg ) + i * size );
- tmpGrid2.yg = (PLFLT **) malloc( sizeof ( PLFLT* ) * ( size_t ) tmpGrid2.nx );
+ tmpGrid2.yg = (PLFLT **) malloc( sizeof ( PLFLT* ) * (size_t) tmpGrid2.nx );
for ( i = 0; i < tmpGrid2.nx; i++ )
tmpGrid2.yg[i] = ( (PLFLT *) PyArray_DATA( pltr_yg ) + i * size );
return &tmpGrid2;
@@ -1524,7 +1523,7 @@
}
tmp = PyList_Size( $input );
$1 = &tmp;
- $2 = (char **) malloc( ( size_t ) ( tmp + 1 ) * sizeof ( char * ) );
+ $2 = (char **) malloc( (size_t) ( tmp + 1 ) * sizeof ( char * ) );
for ( i = 0; i < tmp; i++ )
{
PyObject *s = PyList_GetItem( $input, i );
Modified: trunk/examples/c/x22c.c
===================================================================
--- trunk/examples/c/x22c.c 2013-11-05 15:16:33 UTC (rev 12660)
+++ trunk/examples/c/x22c.c 2013-11-05 16:24:11 UTC (rev 12661)
@@ -143,7 +143,7 @@
if ( fabs( y ) < b )
{
dbdx = ymax / 4.0 * sin( M_PI * x / xmax ) *
- M_PI / xmax * y / b;
+ M_PI / xmax * y / b;
u[i][j] = Q * ymax / b;
v[i][j] = dbdx * u[i][j];
}
@@ -175,14 +175,14 @@
void
transform( PLFLT x, PLFLT y, PLFLT *xt, PLFLT *yt, PLPointer data )
{
- PLFLT *trdata;
- PLFLT xmax;
+ PLFLT *trdata;
+ PLFLT xmax;
- trdata = (PLFLT *) data;
- xmax = *trdata;
+ trdata = (PLFLT *) data;
+ xmax = *trdata;
- *xt = x;
- *yt = y / 4.0 * ( 3 - cos( M_PI * x / xmax ) );
+ *xt = x;
+ *yt = y / 4.0 * ( 3 - cos( M_PI * x / xmax ) );
}
//
@@ -198,9 +198,9 @@
PLFLT Q, b, dbdx;
PLcGrid2 cgrid2;
PLFLT **u, **v;
- const int nx = 20;
- const int ny = 20;
- const int nc = 11;
+ const int nx = 20;
+ const int ny = 20;
+ const int nc = 11;
const int nseg = 20;
PLFLT clev[nc];
@@ -212,7 +212,7 @@
ymin = -ny / 2 * dy;
ymax = ny / 2 * dy;
- plstransform(transform, (PLPointer) &xmax);
+ plstransform( transform, ( PLPointer ) & xmax );
plAlloc2dGrid( &cgrid2.xg, nx, ny );
plAlloc2dGrid( &cgrid2.yg, nx, ny );
@@ -231,27 +231,28 @@
y = ( j - ny / 2 + 0.5 ) * dy;
cgrid2.xg[i][j] = x;
cgrid2.yg[i][j] = y;
- b = ymax / 4.0 * ( 3 - cos( M_PI * x / xmax ) );
- u[i][j] = Q * ymax / b;
- v[i][j] = 0.0;
+ b = ymax / 4.0 * ( 3 - cos( M_PI * x / xmax ) );
+ u[i][j] = Q * ymax / b;
+ v[i][j] = 0.0;
}
}
- for ( i=0; i<nc; i++ ) {
- clev[i] = Q + i * Q / (nc-1);
+ for ( i = 0; i < nc; i++ )
+ {
+ clev[i] = Q + i * Q / ( nc - 1 );
}
-
+
plenv( xmin, xmax, ymin, ymax, 0, 0 );
pllab( "(x)", "(y)", "#frPLplot Example 22 - constriction" );
plcol0( 2 );
- plshades( (const PLFLT * const *) u, nx, ny, NULL,
- xmin+dx/2, xmax-dx/2, ymin+dy/2, ymax-dy/2,
- clev, nc, 0, 1, 1.0, plfill, 1, NULL, NULL);
- plvect( (const PLFLT * const *) u, (const PLFLT * const *) v, nx, ny,
- -0.5, pltr2, (void *) &cgrid2 );
+ plshades( (const PLFLT * const *) u, nx, ny, NULL,
+ xmin + dx / 2, xmax - dx / 2, ymin + dy / 2, ymax - dy / 2,
+ clev, nc, 0, 1, 1.0, plfill, 1, NULL, NULL );
+ plvect( (const PLFLT * const *) u, (const PLFLT * const *) v, nx, ny,
+ -0.5, pltr2, (void *) &cgrid2 );
// Plot edges using plpath (which accounts for coordinate transformation) rather than plline
- plpath(nseg,xmin,ymax,xmax,ymax);
- plpath(nseg,xmin,ymin,xmax,ymin);
+ plpath( nseg, xmin, ymax, xmax, ymax );
+ plpath( nseg, xmin, ymin, xmax, ymin );
plcol0( 1 );
plFree2dGrid( cgrid2.xg, nx, ny );
@@ -259,8 +260,7 @@
plFree2dGrid( u, nx, ny );
plFree2dGrid( v, nx, ny );
- plstransform(NULL, NULL);
-
+ plstransform( NULL, NULL );
}
Modified: trunk/src/plfreetype.c
===================================================================
--- trunk/src/plfreetype.c 2013-11-05 15:16:33 UTC (rev 12660)
+++ trunk/src/plfreetype.c 2013-11-05 16:24:11 UTC (rev 12661)
@@ -225,7 +225,7 @@
{
// FCI in text stream; change font accordingly.
FT_SetFace( pls, text[i] );
- *yy = (int) (FT->face->size->metrics.height > -*yy ? -FT->face->size->metrics.height : *yy);
+ *yy = (int) ( FT->face->size->metrics.height > -*yy ? -FT->face->size->metrics.height : *yy );
}
else
{
Modified: trunk/src/plmap.c
===================================================================
--- trunk/src/plmap.c 2013-11-05 15:16:33 UTC (rev 12660)
+++ trunk/src/plmap.c 2013-11-05 16:24:11 UTC (rev 12661)
@@ -169,8 +169,8 @@
}
#endif
- bufx = malloc( ( size_t ) ncopies * sizeof ( PLFLT* ) );
- bufy = malloc( ( size_t ) ncopies * sizeof ( PLFLT* ) );
+ bufx = malloc( (size_t) ncopies * sizeof ( PLFLT* ) );
+ bufy = malloc( (size_t) ncopies * sizeof ( PLFLT* ) );
for ( i = 0; i < ncopies; i++ )
{
bufx[i] = NULL;
@@ -206,8 +206,8 @@
free( bufx[i] );
if ( bufy[i] )
free( bufy[i] );
- bufx[i] = malloc( ( size_t ) bufsize * sizeof ( double ) );
- bufy[i] = malloc( ( size_t ) bufsize * sizeof ( double ) );
+ bufx[i] = malloc( (size_t) bufsize * sizeof ( double ) );
+ bufy[i] = malloc( (size_t) bufsize * sizeof ( double ) );
}
}
Modified: trunk/src/plvect.c
===================================================================
--- trunk/src/plvect.c 2013-11-05 15:16:33 UTC (rev 12660)
+++ trunk/src/plvect.c 2013-11-05 16:24:11 UTC (rev 12661)
@@ -191,7 +191,7 @@
vmax = ( v[i][j] > vmax ) ? v[i][j] : vmax;
}
}
- lscale = 1.5*MIN(dxmin / umax, dymin / vmax);
+ lscale = 1.5 * MIN( dxmin / umax, dymin / vmax );
if ( scale < 0.0 )
{
scale = -scale * lscale;
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <and...@us...> - 2013-11-05 15:16:38
|
Revision: 12660
http://sourceforge.net/p/plplot/code/12660
Author: andrewross
Date: 2013-11-05 15:16:33 +0000 (Tue, 05 Nov 2013)
Log Message:
-----------
Fix up uninitialized variable warnings in python bindings. This is a genuine error, although not an uninitialized variable. As set up the mapform func argument could be omitted from plmap / plmeridians, but this is not allowed since subsequent arguments are mandatory. Swig doesn't allow this since not all languages that swig supports can handle this.
Modified Paths:
--------------
trunk/bindings/python/plplotcmodule.i
Modified: trunk/bindings/python/plplotcmodule.i
===================================================================
--- trunk/bindings/python/plplotcmodule.i 2013-11-05 15:04:47 UTC (rev 12659)
+++ trunk/bindings/python/plplotcmodule.i 2013-11-05 15:16:33 UTC (rev 12660)
@@ -1376,12 +1376,13 @@
cleanup_mapform();
}
-// you can omit the mapform func
-%typemap( default ) mapform_func mapform {
- python_mapform = 0;
- $1 = NULL;
-}
+// you cannot omit the mapform func since it appears at the beginning of API calls, before compulsory arguments
+//%typemap( default ) mapform_func mapform {
+// python_mapform = 0;
+// $1 = NULL;
+//}
+
// convert an arbitrary Python object into the void* pointer they want
%typemap( in ) PLPointer PYOBJECT_DATA {
if ( $input == Py_None )
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <and...@us...> - 2013-11-05 15:04:51
|
Revision: 12659
http://sourceforge.net/p/plplot/code/12659
Author: andrewross
Date: 2013-11-05 15:04:47 +0000 (Tue, 05 Nov 2013)
Log Message:
-----------
Fix potential uninitialized variable warning in lua bindings.
Modified Paths:
--------------
trunk/bindings/lua/plplotluac.i
Modified: trunk/bindings/lua/plplotluac.i
===================================================================
--- trunk/bindings/lua/plplotluac.i 2013-11-05 14:56:10 UTC (rev 12658)
+++ trunk/bindings/lua/plplotluac.i 2013-11-05 15:04:47 UTC (rev 12659)
@@ -1229,6 +1229,7 @@
free( $1 ); $1 = NULL;
}
}
+%typemap( default ) const char *legline[4] { $1 = NULL; }
// No count but check consistency with previous
%typemap( in, checkfn = "lua_istable" ) const char **ArrayCk {
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <and...@us...> - 2013-11-05 14:56:14
|
Revision: 12658
http://sourceforge.net/p/plplot/code/12658
Author: andrewross
Date: 2013-11-05 14:56:10 +0000 (Tue, 05 Nov 2013)
Log Message:
-----------
Further plpath updates for tcl/tk, java and lua bindings.
Modified Paths:
--------------
trunk/bindings/java/PLStream.java
trunk/bindings/lua/plplotluac.i
trunk/bindings/tcl/plapi.tpl
trunk/bindings/tk/PLWin.itk
Modified: trunk/bindings/java/PLStream.java
===================================================================
--- trunk/bindings/java/PLStream.java 2013-11-05 14:27:16 UTC (rev 12657)
+++ trunk/bindings/java/PLStream.java 2013-11-05 14:56:10 UTC (rev 12658)
@@ -695,6 +695,12 @@
plplotjavac.plpat( inc, del );
}
+ public void path( int n, double x1, double y1, double x2, double y2 )
+ {
+ if ( set_stream() == -1 ) return;
+ plplotjavac.plpath( n, x1, y1, x2, y2 );
+ }
+
public void poin( double[] x, double[] y, int code )
{
if ( set_stream() == -1 ) return;
Modified: trunk/bindings/lua/plplotluac.i
===================================================================
--- trunk/bindings/lua/plplotluac.i 2013-11-05 14:27:16 UTC (rev 12657)
+++ trunk/bindings/lua/plplotluac.i 2013-11-05 14:56:10 UTC (rev 12658)
@@ -1434,6 +1434,7 @@
%rename( plot3dcl ) plot3dcl;
%rename( parseopts ) plparseopts;
%rename( pat ) plpat;
+%rename( path ) plpath;
%rename( poin ) plpoin;
%rename( poin3 ) plpoin3;
%rename( poly3 ) plpoly3;
Modified: trunk/bindings/tcl/plapi.tpl
===================================================================
--- trunk/bindings/tcl/plapi.tpl 2013-11-05 14:27:16 UTC (rev 12657)
+++ trunk/bindings/tcl/plapi.tpl 2013-11-05 14:56:10 UTC (rev 12658)
@@ -560,6 +560,15 @@
inc PLINT *
del PLINT *
+# Draw a line connecting two points, accounting for coordinate transforms
+
+pltclcmd plpath void
+n PLINT
+x1 PLFLT
+y1 PLFLT
+x2 PLFLT
+y2 PLFLT
+
# Plots array y against x for n points using ASCII code "code".
# The original tclAPI.c version of this had a defaultable n capability,
# which we don't have...
Modified: trunk/bindings/tk/PLWin.itk
===================================================================
--- trunk/bindings/tk/PLWin.itk 2013-11-05 14:27:16 UTC (rev 12657)
+++ trunk/bindings/tk/PLWin.itk 2013-11-05 14:56:10 UTC (rev 12658)
@@ -222,6 +222,10 @@
eval $plwin cmd plpat $args
}
+ method plpath {args} {
+ eval $plwin cmd plpath $args
+ }
+
method plpoin {args} {
eval $plwin cmd plpoin $args
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <and...@us...> - 2013-11-05 14:27:19
|
Revision: 12657
http://sourceforge.net/p/plplot/code/12657
Author: andrewross
Date: 2013-11-05 14:27:16 +0000 (Tue, 05 Nov 2013)
Log Message:
-----------
Add plpath to f95 bindings.
Modified Paths:
--------------
trunk/bindings/f95/plstubs.h
trunk/bindings/f95/scstubs.c
trunk/bindings/f95/sfstubsf95.f90
Modified: trunk/bindings/f95/plstubs.h
===================================================================
--- trunk/bindings/f95/plstubs.h 2013-11-05 14:23:03 UTC (rev 12656)
+++ trunk/bindings/f95/plstubs.h 2013-11-05 14:27:16 UTC (rev 12657)
@@ -272,6 +272,7 @@
#define PLPARSEOPTS7 FNAME( PLPARSEOPTS7, plparseopts7 )
#define PLPAT FNAME( PLPAT, plpat )
+#define PLPATH FNAME( PLPATH, plpath )
#define PLPOIN FNAME( PLPOINF77, plpoinf77 )
#define PLPOIN3 FNAME( PLPOIN3F77, plpoin3f77 )
#define PLPOLY3 FNAME( PLPOLY3F77, plpoly3f77 )
Modified: trunk/bindings/f95/scstubs.c
===================================================================
--- trunk/bindings/f95/scstubs.c 2013-11-05 14:23:03 UTC (rev 12656)
+++ trunk/bindings/f95/scstubs.c 2013-11-05 14:27:16 UTC (rev 12657)
@@ -1019,6 +1019,12 @@
}
void
+PLPATH( PLINT *n, PLFLT *x1, PLFLT *y1, PLFLT *x2, PLFLT *y2 )
+{
+ c_plpath( *n, *x1, *y1, *x2, *y2 );
+}
+
+void
PLPOIN( PLINT *n, PLFLT *x, PLFLT *y, PLINT *code )
{
c_plpoin( *n, x, y, *code );
Modified: trunk/bindings/f95/sfstubsf95.f90
===================================================================
--- trunk/bindings/f95/sfstubsf95.f90 2013-11-05 14:23:03 UTC (rev 12656)
+++ trunk/bindings/f95/sfstubsf95.f90 2013-11-05 14:27:16 UTC (rev 12657)
@@ -524,6 +524,14 @@
end subroutine plpat
end interface
+ interface
+ subroutine plpath( n, x1, y1, x2, y2 )
+ use plplot_flt
+ integer :: n
+ real(kind=plflt) :: x1, y1, x2, y2
+ end subroutine plpath
+ end interface
+
interface plot3d
module procedure plot3d
end interface
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <and...@us...> - 2013-11-05 14:23:10
|
Revision: 12656
http://sourceforge.net/p/plplot/code/12656
Author: andrewross
Date: 2013-11-05 14:23:03 +0000 (Tue, 05 Nov 2013)
Log Message:
-----------
Add plpath to C++, and all swig-generated bindings.
Modified Paths:
--------------
trunk/bindings/c++/plstream.cc
trunk/bindings/c++/plstream.h
trunk/bindings/swig-support/plplotcapi.i
Modified: trunk/bindings/c++/plstream.cc
===================================================================
--- trunk/bindings/c++/plstream.cc 2013-11-05 14:21:38 UTC (rev 12655)
+++ trunk/bindings/c++/plstream.cc 2013-11-05 14:23:03 UTC (rev 12656)
@@ -1232,6 +1232,15 @@
plpat( nlin, inc, del );
}
+// Draw a line connecting two points, accounting for coordinate transforms
+
+void plstream::path( PLINT n, PLFLT x1, PLFLT y1, PLFLT x2, PLFLT y2 )
+{
+ set_stream();
+
+ plpath( n, x1, y1, x2, y2 );
+}
+
// Plots array y against x for n points using ASCII code "code".
void plstream::poin( PLINT n, const PLFLT *x, const PLFLT *y, PLINT code )
Modified: trunk/bindings/c++/plstream.h
===================================================================
--- trunk/bindings/c++/plstream.h 2013-11-05 14:21:38 UTC (rev 12655)
+++ trunk/bindings/c++/plstream.h 2013-11-05 14:23:03 UTC (rev 12656)
@@ -547,6 +547,10 @@
void pat( PLINT nlin, const PLINT *inc, const PLINT *del );
+// Draw a line connecting two points, accounting for coordinate transforms
+
+ void path( PLINT n, PLFLT x1, PLFLT y1, PLFLT x2, PLFLT y2 );
+
// Plots array y against x for n points using ASCII code "code".
void poin( PLINT n, const PLFLT *x, const PLFLT *y, PLINT code );
Modified: trunk/bindings/swig-support/plplotcapi.i
===================================================================
--- trunk/bindings/swig-support/plplotcapi.i 2013-11-05 14:21:38 UTC (rev 12655)
+++ trunk/bindings/swig-support/plplotcapi.i 2013-11-05 14:23:03 UTC (rev 12656)
@@ -553,6 +553,9 @@
plpat( PLINT n, const PLINT *Array, const PLINT *ArrayCk );
void
+plpath( PLINT n, PLFLT x1, PLFLT y1, PLFLT x2, PLFLT y2 );
+
+void
plpoin( PLINT n, const PLFLT *Array, const PLFLT *ArrayCk, PLINT code );
void
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <and...@us...> - 2013-11-05 14:21:42
|
Revision: 12655
http://sourceforge.net/p/plplot/code/12655
Author: andrewross
Date: 2013-11-05 14:21:38 +0000 (Tue, 05 Nov 2013)
Log Message:
-----------
Initialize variables to zero to suppress spurious compiler warning about uninitialized variables.
Modified Paths:
--------------
trunk/bindings/octave/plplot_octave.i
Modified: trunk/bindings/octave/plplot_octave.i
===================================================================
--- trunk/bindings/octave/plplot_octave.i 2013-11-05 14:10:28 UTC (rev 12654)
+++ trunk/bindings/octave/plplot_octave.i 2013-11-05 14:21:38 UTC (rev 12655)
@@ -923,7 +923,7 @@
Cell temp_cell;
char *tmp_cstring;
std::string str;
- size_t max_length, non_blank_length;
+ size_t max_length = 0, non_blank_length;
int i, ifcell;
if ( _n_dims( $input ) > 2 )
{
@@ -1031,7 +1031,7 @@
Cell temp_cell;
char *tmp_cstring;
std::string str;
- size_t max_length, non_blank_length;
+ size_t max_length = 0, non_blank_length;
int i, ifcell;
if ( _n_dims( $input ) > 2 )
{
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <and...@us...> - 2013-11-05 14:10:31
|
Revision: 12654
http://sourceforge.net/p/plplot/code/12654
Author: andrewross
Date: 2013-11-05 14:10:28 +0000 (Tue, 05 Nov 2013)
Log Message:
-----------
Update example 22 to include calls to plpath with a global transformation since this function is not used in any of the other examples.
Modified Paths:
--------------
trunk/examples/c/x22c.c
Modified: trunk/examples/c/x22c.c
===================================================================
--- trunk/examples/c/x22c.c 2013-11-05 13:48:33 UTC (rev 12653)
+++ trunk/examples/c/x22c.c 2013-11-05 14:10:28 UTC (rev 12654)
@@ -201,6 +201,7 @@
const int nx = 20;
const int ny = 20;
const int nc = 11;
+ const int nseg = 20;
PLFLT clev[nc];
dx = 1.0;
@@ -248,6 +249,9 @@
clev, nc, 0, 1, 1.0, plfill, 1, NULL, NULL);
plvect( (const PLFLT * const *) u, (const PLFLT * const *) v, nx, ny,
-0.5, pltr2, (void *) &cgrid2 );
+ // Plot edges using plpath (which accounts for coordinate transformation) rather than plline
+ plpath(nseg,xmin,ymax,xmax,ymax);
+ plpath(nseg,xmin,ymin,xmax,ymin);
plcol0( 1 );
plFree2dGrid( cgrid2.xg, nx, ny );
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <and...@us...> - 2013-11-05 13:48:36
|
Revision: 12653
http://sourceforge.net/p/plplot/code/12653
Author: andrewross
Date: 2013-11-05 13:48:33 +0000 (Tue, 05 Nov 2013)
Log Message:
-----------
Update C example 22 to include a vector plot with a global coordinate transformation to check recent fix. Also include a filled contour plot on this page to check that plshade works ok with global transformations.
This needs discussing on list before propagating to other languages.
Modified Paths:
--------------
trunk/examples/c/x22c.c
Modified: trunk/examples/c/x22c.c
===================================================================
--- trunk/examples/c/x22c.c 2013-11-05 13:47:05 UTC (rev 12652)
+++ trunk/examples/c/x22c.c 2013-11-05 13:48:33 UTC (rev 12653)
@@ -143,7 +143,7 @@
if ( fabs( y ) < b )
{
dbdx = ymax / 4.0 * sin( M_PI * x / xmax ) *
- y / b;
+ M_PI / xmax * y / b;
u[i][j] = Q * ymax / b;
v[i][j] = dbdx * u[i][j];
}
@@ -168,8 +168,99 @@
}
+//
+// Global transform function for a constriction using data passed in
+// This is the same transformation used in constriction.
+//
+void
+transform( PLFLT x, PLFLT y, PLFLT *xt, PLFLT *yt, PLPointer data )
+{
+ PLFLT *trdata;
+ PLFLT xmax;
+ trdata = (PLFLT *) data;
+ xmax = *trdata;
+
+ *xt = x;
+ *yt = y / 4.0 * ( 3 - cos( M_PI * x / xmax ) );
+}
+
+//
+// Vector plot of flow through a constricted pipe
+// with a coordinate transform
+//
void
+constriction2( void )
+{
+ int i, j;
+ PLFLT dx, dy, x, y;
+ PLFLT xmin, xmax, ymin, ymax;
+ PLFLT Q, b, dbdx;
+ PLcGrid2 cgrid2;
+ PLFLT **u, **v;
+ const int nx = 20;
+ const int ny = 20;
+ const int nc = 11;
+ PLFLT clev[nc];
+
+ dx = 1.0;
+ dy = 1.0;
+
+ xmin = -nx / 2 * dx;
+ xmax = nx / 2 * dx;
+ ymin = -ny / 2 * dy;
+ ymax = ny / 2 * dy;
+
+ plstransform(transform, (PLPointer) &xmax);
+
+ plAlloc2dGrid( &cgrid2.xg, nx, ny );
+ plAlloc2dGrid( &cgrid2.yg, nx, ny );
+ plAlloc2dGrid( &u, nx, ny );
+ plAlloc2dGrid( &v, nx, ny );
+
+ cgrid2.nx = nx;
+ cgrid2.ny = ny;
+
+ Q = 2.0;
+ for ( i = 0; i < nx; i++ )
+ {
+ x = ( i - nx / 2 + 0.5 ) * dx;
+ for ( j = 0; j < ny; j++ )
+ {
+ y = ( j - ny / 2 + 0.5 ) * dy;
+ cgrid2.xg[i][j] = x;
+ cgrid2.yg[i][j] = y;
+ b = ymax / 4.0 * ( 3 - cos( M_PI * x / xmax ) );
+ u[i][j] = Q * ymax / b;
+ v[i][j] = 0.0;
+ }
+ }
+
+ for ( i=0; i<nc; i++ ) {
+ clev[i] = Q + i * Q / (nc-1);
+ }
+
+ plenv( xmin, xmax, ymin, ymax, 0, 0 );
+ pllab( "(x)", "(y)", "#frPLplot Example 22 - constriction" );
+ plcol0( 2 );
+ plshades( (const PLFLT * const *) u, nx, ny, NULL,
+ xmin+dx/2, xmax-dx/2, ymin+dy/2, ymax-dy/2,
+ clev, nc, 0, 1, 1.0, plfill, 1, NULL, NULL);
+ plvect( (const PLFLT * const *) u, (const PLFLT * const *) v, nx, ny,
+ -0.5, pltr2, (void *) &cgrid2 );
+ plcol0( 1 );
+
+ plFree2dGrid( cgrid2.xg, nx, ny );
+ plFree2dGrid( cgrid2.yg, nx, ny );
+ plFree2dGrid( u, nx, ny );
+ plFree2dGrid( v, nx, ny );
+
+ plstransform(NULL, NULL);
+
+}
+
+
+void
f2mnmx( PLFLT **f, PLINT nx, PLINT ny, PLFLT *fnmin, PLFLT *fnmax )
{
int i, j;
@@ -336,6 +427,8 @@
plsvect( arrow2_x, arrow2_y, narr, fill );
constriction();
+ constriction2();
+
potential();
plend();
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <and...@us...> - 2013-11-05 13:47:09
|
Revision: 12652
http://sourceforge.net/p/plplot/code/12652
Author: andrewross
Date: 2013-11-05 13:47:05 +0000 (Tue, 05 Nov 2013)
Log Message:
-----------
Apply modified version of patch from Phil Rosenberg so that global coordinate transformations are applied to vector plots.
Also fix bug in autoscaling of vectors for the case where vectors were all parallel to one of the coordinate axes.
Modified Paths:
--------------
trunk/src/plvect.c
Modified: trunk/src/plvect.c
===================================================================
--- trunk/src/plvect.c 2013-11-05 11:31:45 UTC (rev 12651)
+++ trunk/src/plvect.c 2013-11-05 13:47:05 UTC (rev 12652)
@@ -68,6 +68,7 @@
plP_plotvect( PLFLT x, PLFLT y, PLFLT u, PLFLT v, PLFLT scale )
{
PLFLT uu, vv, px0, py0, dpx, dpy;
+ PLFLT xt, yt;
// Unnecessarily initialize a_y to quiet a -O1 -Wuninitialized warning
// which is a false alarm. (If something goes wrong with the
// a_x malloc below any further use of a_y does not occur.)
@@ -86,13 +87,16 @@
plexit( "plP_plotvect: Insufficient memory" );
}
- px0 = plP_wcpcx( x );
- py0 = plP_wcpcy( y );
+ TRANSFORM( x, y, &xt, &yt );
+ px0 = plP_wcpcx( xt );
+ py0 = plP_wcpcy( yt );
pldebug( "plP_plotvect", "%f %f %d %d\n", x, y, px0, py0 );
- dpx = plP_wcpcx( x + 0.5 * uu ) - px0;
- dpy = plP_wcpcy( y + 0.5 * vv ) - py0;
+ TRANSFORM( x + 0.5 * uu, y + 0.5 * vv, &xt, &yt );
+ //printf("plvect: %f %f %f %f %f %f %f\n",scale, x,0.5*uu, y,0.5*vv, xt, yt);
+ dpx = plP_wcpcx( xt ) - px0;
+ dpy = plP_wcpcy( yt ) - py0;
// transform arrow -> a
@@ -187,10 +191,7 @@
vmax = ( v[i][j] > vmax ) ? v[i][j] : vmax;
}
}
- umax = umax / dxmin;
- vmax = vmax / dymin;
- lscale = ( umax < vmax ) ? umax : vmax;
- lscale = 1.5 / lscale;
+ lscale = 1.5*MIN(dxmin / umax, dymin / vmax);
if ( scale < 0.0 )
{
scale = -scale * lscale;
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <and...@us...> - 2013-11-05 11:31:49
|
Revision: 12651
http://sourceforge.net/p/plplot/code/12651
Author: andrewross
Date: 2013-11-05 11:31:45 +0000 (Tue, 05 Nov 2013)
Log Message:
-----------
Updates to Debian packages for 5.9.10
Modified Paths:
--------------
trunk/debian/changelog
trunk/debian/compat
trunk/debian/control
trunk/debian/control.in
trunk/debian/rules
Modified: trunk/debian/changelog
===================================================================
--- trunk/debian/changelog 2013-11-05 08:11:15 UTC (rev 12650)
+++ trunk/debian/changelog 2013-11-05 11:31:45 UTC (rev 12651)
@@ -1,5 +1,17 @@
-plplot (5.9.10-1) unstable; urgency=low
+plplot (5.9.10-2) experimental; urgency=low
+ * debian/changelog: Upload to experimental not unstable.
+ * debian/compat, debian/control.in: Update to compatibility version 9
+ for debhelper to remove lintian warning.
+ * debian/rules: Fix bug in rules for case where ada is not supported.
+ * debian/control.in: Fix short description for plplot-tcl-bin package.
+ * debian/rules: For tcl scripts in the tk examples then make symlinks rather
+ than duplicating files in the tck examples.
+
+ -- Andrew Ross <and...@us...> Tue, 05 Nov 2013 08:56:45 +0000
+
+plplot (5.9.10-1) UNRELEASED; urgency=low
+
* New upstream release
* debian/patches/series: Remove backported patches no longer need with
current release and update remaining patches.
Modified: trunk/debian/compat
===================================================================
--- trunk/debian/compat 2013-11-05 08:11:15 UTC (rev 12650)
+++ trunk/debian/compat 2013-11-05 11:31:45 UTC (rev 12651)
@@ -1 +1 @@
-7
+9
Modified: trunk/debian/control
===================================================================
--- trunk/debian/control 2013-11-05 08:11:15 UTC (rev 12650)
+++ trunk/debian/control 2013-11-05 11:31:45 UTC (rev 12651)
@@ -238,7 +238,7 @@
Package: plplot-tcl-bin
Architecture: any
Depends: plplot-tcl, ${shlibs:Depends}, ${misc:Depends}
-Description: Tcl/Tk support for PLplot, a plotting library
+Description: Tcl/Tk tools for PLplot, a plotting library
PLplot is relatively small, portable, freely distributable, and is rich
enough to satisfy most users. It has a wide range of plot types including
line (linear, log), contour, 3D, fill, and almost 1000 characters
Modified: trunk/debian/control.in
===================================================================
--- trunk/debian/control.in 2013-11-05 08:11:15 UTC (rev 12650)
+++ trunk/debian/control.in 2013-11-05 11:31:45 UTC (rev 12651)
@@ -238,7 +238,7 @@
Package: plplot-tcl-bin
Architecture: any
Depends: plplot-tcl, ${shlibs:Depends}, ${misc:Depends}
-Description: Tcl/Tk support for PLplot, a plotting library
+Description: Tcl/Tk tools for PLplot, a plotting library
PLplot is relatively small, portable, freely distributable, and is rich
enough to satisfy most users. It has a wide range of plot types including
line (linear, log), contour, 3D, fill, and almost 1000 characters
Modified: trunk/debian/rules
===================================================================
--- trunk/debian/rules 2013-11-05 08:11:15 UTC (rev 12650)
+++ trunk/debian/rules 2013-11-05 11:31:45 UTC (rev 12651)
@@ -86,7 +86,7 @@
control:
ifeq ($(BUILD_ADA),no)
- slice -o UNDEF+ADA:debian/control debian/control.in
+ slice -o UNDEF:debian/control debian/control.in
else
slice -o UNDEF+ADA:debian/control debian/control.in
endif
@@ -244,6 +244,10 @@
-l $(debbase)/$(libpkg)/usr/lib/$(DEB_HOST_MULTIARCH):$(debbase)/plplot-tcl/usr/lib/$(DEB_HOST_MULTIARCH)
dpkg-shlibdeps -Tdebian/octave-plplot.substvars -S$(debbase)/$(libpkg)/usr/lib/*.so* -S/usr/lib/$(octver)/*.so* $(debbase)/octave-plplot/$(OCTDIR)/plplot_octave.oct
dh_installdeb -a
+
+ # Replace tk copied files with symlinks
+ (cd $(debbase)/plplot-tcl-dev/usr/share/doc/${libpkg}/examples/tk ; for file in x??.tcl plgrid.tcl ; do rm -f $${file} ; ln -s ../tcl/$${file} . ; done)
+
dh_lintian -a
dh_gencontrol -a -- -VF:OCamlABI="$(OCAMLABI)"
dh_md5sums -a
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ai...@us...> - 2013-11-05 08:11:19
|
Revision: 12650
http://sourceforge.net/p/plplot/code/12650
Author: airwin
Date: 2013-11-05 08:11:15 +0000 (Tue, 05 Nov 2013)
Log Message:
-----------
Use a more sensible PLPLOT_TCL_VERSION value to quiet a warning message.
Modified Paths:
--------------
trunk/cmake/modules/plplot_version.cmake
Modified: trunk/cmake/modules/plplot_version.cmake
===================================================================
--- trunk/cmake/modules/plplot_version.cmake 2013-11-05 06:12:52 UTC (rev 12649)
+++ trunk/cmake/modules/plplot_version.cmake 2013-11-05 08:11:15 UTC (rev 12650)
@@ -6,6 +6,14 @@
set(VERSION 5.9.10)
+# According to man package, PLPLOT_TCL_VERSION (used in the various
+# pkgIndex.tcl scripts) should be strictly numbers alternating with
+# decimal points with the first number (the major number) signifying
+# incompatible changes in the scripts. To keep our life simple, let us
+# use the same as the VERSION above so long as it is strictly numerical.
+
+set(PLPLOT_TCL_VERSION ${VERSION})
+
# CPack version numbers for release tarball name.
set(CPACK_PACKAGE_VERSION_MAJOR 5)
set(CPACK_PACKAGE_VERSION_MINOR 9)
@@ -71,11 +79,3 @@
set(plplotada_SOVERSION 1)
set(plplotada_VERSION ${plplotada_SOVERSION}.0.0)
-
-# According to man package, PLPLOT_TCL_VERSION (used in the various
-# pkgIndex.tcl scripts) should be strictly numbers alternativing with
-# decimal points with the first number (the major number) signifying
-# incompatible changes in the scripts. To keep our life simple, let us
-# use the major number from the package version for now.
-
-set(PLPLOT_TCL_VERSION 5)
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ai...@us...> - 2013-11-05 06:12:59
|
Revision: 12649
http://sourceforge.net/p/plplot/code/12649
Author: airwin
Date: 2013-11-05 06:12:52 +0000 (Tue, 05 Nov 2013)
Log Message:
-----------
Use the correct build-tree location for the tk device.
This gets rid of some bit rot left over from the autotools days!
The result is that the tk device driver can once again be found in the
build tree following the wish directions in
examples/tk/README.tkdemos, e.g.,
cd <top-directory in build tree>
cd examples/tk
wish
lappend auto_path ../../bindings/tk
package require Pltk
N.B. the subsequent suggested command "source tkdemos.tcl" segfaults
so there is still work to do here to get this PLplot Tk test to work
again.
Modified Paths:
--------------
trunk/bindings/tk/pkgIndex.tcl.in
Modified: trunk/bindings/tk/pkgIndex.tcl.in
===================================================================
--- trunk/bindings/tk/pkgIndex.tcl.in 2013-11-05 00:48:39 UTC (rev 12648)
+++ trunk/bindings/tk/pkgIndex.tcl.in 2013-11-05 06:12:52 UTC (rev 12649)
@@ -38,7 +38,7 @@
set buildDir "@BUILD_DIR@"
set bLen [string length $buildDir]
if {![string compare -length $bLen $buildDir $thisDir]} then {
- set searchdirs "../../drivers/.libs"} else {
+ set searchdirs "../../drivers"} else {
set searchdirs [list "@DRV_HARDDIR@"]}
#puts $searchdirs
set suf [info sharedlibextension]
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ai...@us...> - 2013-11-05 00:48:43
|
Revision: 12648
http://sourceforge.net/p/plplot/code/12648
Author: airwin
Date: 2013-11-05 00:48:39 +0000 (Tue, 05 Nov 2013)
Log Message:
-----------
Initial commit of iwidgets-4.0.1 build configuration.
Tested by Alan W. Irwin <ai...@us...> on Linux using
the -DBUILD_THE_BUILDTOOLS=ON cmake option for build_projects and
the build_iwidgets4.0 target. The build and install succeeded without
obvious issues and "package require Iwidgets 4.0" worked fine afterwards
under wish.
Modified Paths:
--------------
trunk/cmake/build_projects/CMakeLists.txt
Added Paths:
-----------
trunk/cmake/build_projects/iwidgets4.0/
trunk/cmake/build_projects/iwidgets4.0/bp.cmake
trunk/cmake/build_projects/iwidgets4.0/iwidgets4.0_build_system.patch
Modified: trunk/cmake/build_projects/CMakeLists.txt
===================================================================
--- trunk/cmake/build_projects/CMakeLists.txt 2013-11-04 00:53:10 UTC (rev 12647)
+++ trunk/cmake/build_projects/CMakeLists.txt 2013-11-05 00:48:39 UTC (rev 12648)
@@ -298,6 +298,8 @@
itcl3
# itk version 3 is an independent project
itk3
+ # iwidgets version 4.0 is an independent project
+ iwidgets4.0
)
else(BUILD_THE_BUILDTOOLS)
# List of all configurations. Order doesn't matter because multiple
Added: trunk/cmake/build_projects/iwidgets4.0/bp.cmake
===================================================================
--- trunk/cmake/build_projects/iwidgets4.0/bp.cmake (rev 0)
+++ trunk/cmake/build_projects/iwidgets4.0/bp.cmake 2013-11-05 00:48:39 UTC (rev 12648)
@@ -0,0 +1,134 @@
+# iwidgets4.0/bp.cmake
+# CMakeLists.txt file to configure the build of iwidgets4.0.
+
+# 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(iwidgets4.0_configured)
+ return()
+endif(iwidgets4.0_configured)
+set(iwidgets4.0_configured ON)
+
+# List of dependencies (most of which are build tools) which should be
+# ignored.
+set(BP_ignored_dependencies_LIST ${extra_ignored_dependencies_list})
+
+set(iwidgets4.0_dependencies_LIST itk3 itcl3 tk tcl)
+# Remove dependencies that should be ignored.
+if(iwidgets4.0_dependencies_LIST)
+ list(REMOVE_ITEM iwidgets4.0_dependencies_LIST ${BP_ignored_dependencies_LIST})
+endif(iwidgets4.0_dependencies_LIST)
+
+set(iwidgets4.0_dependencies_targets)
+foreach(build_configuration ${iwidgets4.0_dependencies_LIST})
+ if(EXISTS ${CMAKE_SOURCE_DIR}/${build_configuration}/bp.cmake)
+ include(${build_configuration}/bp.cmake)
+ list(APPEND iwidgets4.0_dependencies_targets build_${build_configuration})
+ else(EXISTS ${CMAKE_SOURCE_DIR}/${build_configuration}/bp.cmake)
+ message(STATUS "Warning: A build_configuration for ${build_configuration} does not exist so it is assumed this dependency of iwidgets4.0 has been installed another way.")
+ endif(EXISTS ${CMAKE_SOURCE_DIR}/${build_configuration}/bp.cmake)
+endforeach(build_configuration ${iwidgets4.0_dependences_LIST})
+
+# This can be safely done only after above includes.
+set(BP_PACKAGE iwidgets4.0)
+
+# Data that is related to downloads.
+set(IWIDGETS4.0_VERSION 4.0.1)
+set(IWIDGETS4.0_LIBVERSION 4.0)
+set(${BP_PACKAGE}_URL http://downloads.sourceforge.net/project/incrtcl/%5bIncr%20Widgets%5d/${IWIDGETS4.0_VERSION}/iwidgets${IWIDGETS4.0_VERSION}.tar.gz)
+set(${BP_PACKAGE}_DOWNLOAD_HASH_TYPE MD5)
+set(${BP_PACKAGE}_DOWNLOAD_HASH 0e9c140e81ea6015b56130127c7deb03)
+
+# 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}")
+ set(${BP_PACKAGE}_SET_CFLAGS "CFLAGS=$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}")
+
+# Eliminate this option which gives bad results for this package.
+string(REGEX REPLACE "-fvisibility=hidden" "" ${BP_PACKAGE}_SET_CFLAGS "${${BP_PACKAGE}_SET_CFLAGS}")
+
+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}
+ # Because of severe Itcl/Itk bit rot since 2002 the iwidgets4.0 build system
+ # is substantially broken so must patch it. This patch taken from
+ # the Debian build of iwidgets4.0.
+ PATCH_COMMAND ${PATCH_EXECUTABLE} -p1 < ${CMAKE_SOURCE_DIR}/${BP_PACKAGE}/${BP_PACKAGE}_build_system.patch
+ # Order of CPPFLAGS is important since want to access the version 3
+ # itcl header.
+ CONFIGURE_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${${BP_PACKAGE}_SET_CFLAGS} "CPPFLAGS=-I${INCRTCL3_PREFIX}/include/itcl${ITCL3_LIBVERSION} -I${BP_CMAKE_INSTALL_PREFIX}/include" ${source_PATH}/configure --prefix=${INCRTCL3_PREFIX} --exec-prefix=${INCRTCL3_PREFIX} --includedir=${INCRTCL3_PREFIX}/include/itcl${ITCL3_LIBVERSION} --mandir=${INCRTCL3_PREFIX}/share/man --with-tcl=${BP_CMAKE_INSTALL_PREFIX}/lib --with-tk=${BP_CMAKE_INSTALL_PREFIX}/lib
+ # Possible make race conditions so use non-parallel make
+ BUILD_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${BP_MAKE_COMMAND}
+ INSTALL_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${BP_MAKE_COMMAND} install
+ )
+
+add_custom_command(
+ OUTPUT
+ ${EP_BASE}/Stamp/build_${BP_PACKAGE}/build_${BP_PACKAGE}-patch
+ COMMAND echo "Permissions fixup after patch"
+ COMMAND ${CHMOD_EXECUTABLE} -v ugo+x ${EP_BASE}/Source/build_${BP_PACKAGE}/mkinstalldirs
+ APPEND
+ )
+
+if(0)
+add_custom_command(
+ OUTPUT
+ ${EP_BASE}/Stamp/build_${BP_PACKAGE}/build_${BP_PACKAGE}-build
+ COMMAND echo "Replace build-tree locations by install-tree locations"
+ COMMAND ${SED_EXECUTABLE}
+ # Cover two different patterns of uppercasing.
+ -e "s@^\\(itk_SRC_DIR='\\).*@\\1${INCRTCL3_PREFIX}/include/itcl${ITCL3_LIBVERSION}'@"
+ -e "s@^\\(ITK_SRC_DIR='\\).*@\\1${INCRTCL3_PREFIX}/include/itcl${ITCL3_LIBVERSION}'@"
+ # Cover two different patterns of uppercasing.
+ -e "/itk_B/s@='\\(-L\\)\\?.*build_itk3@='\\1${INCRTCL3_PREFIX}/lib/itk${ITK3_LIBVERSION}@"
+ -e "/ITK_B/s@='\\(-L\\)\\?.*build_itk3@='\\1${INCRTCL3_PREFIX}/lib/itk${ITK3_LIBVERSION}@"
+ # Overwrite original file.
+ -i itkConfig.sh
+ APPEND
+ )
+
+add_custom_command(
+ OUTPUT
+ ${EP_BASE}/Stamp/build_${BP_PACKAGE}/build_${BP_PACKAGE}-install
+ COMMAND echo "Install-tree fixups"
+ COMMAND ${CHMOD_EXECUTABLE} -v ${SO_NUMERICAL_PERMISSIONS} ${INCRTCL3_PREFIX}/lib/itk${ITK3_LIBVERSION}/libitk${ITK3_LIBVERSION}.so
+ APPEND
+ )
+endif(0)
+
+
+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}")
Added: trunk/cmake/build_projects/iwidgets4.0/iwidgets4.0_build_system.patch
===================================================================
--- trunk/cmake/build_projects/iwidgets4.0/iwidgets4.0_build_system.patch (rev 0)
+++ trunk/cmake/build_projects/iwidgets4.0/iwidgets4.0_build_system.patch 2013-11-05 00:48:39 UTC (rev 12648)
@@ -0,0 +1,263 @@
+--- iwidgets4-4.0.1.orig/mkinstalldirs
++++ iwidgets4-4.0.1/mkinstalldirs
+@@ -0,0 +1,32 @@
++#! /bin/sh
++# mkinstalldirs --- make directory hierarchy
++# Author: Noah Friedman <fri...@pr...>
++# Created: 1993-05-16
++# Last modified: 1994-03-25
++# Public domain
++
++errstatus=0
++
++for file in ${1+"$@"} ; do
++ set fnord `echo ":$file" | sed -ne 's/^:\//#/;s/^://;s/\// /g;s/^#/\//;p'`
++ shift
++
++ pathcomp=
++ for d in ${1+"$@"} ; do
++ pathcomp="$pathcomp$d"
++ case "$pathcomp" in
++ -* ) pathcomp=./$pathcomp ;;
++ esac
++
++ if test ! -d "$pathcomp"; then
++ echo "mkdir $pathcomp" 1>&2
++ mkdir "$pathcomp" || errstatus=$?
++ fi
++
++ pathcomp="$pathcomp/"
++ done
++done
++
++exit $errstatus
++
++# mkinstalldirs ends here
+--- iwidgets4-4.0.1.orig/configure.in
++++ iwidgets4-4.0.1/configure.in
+@@ -63,18 +63,18 @@
+ ITCL_LIB_DIR=""
+ if test -r $itcl_search/itcl/library/itcl.tcl; then
+ if test -r $itcl_search/itk/library/itk.tcl; then
+- if test -r $itcl_search/config/mkinstalldirs; then
+- ITCL_LIB_DIR=$itcl_search/itcl/library
+- ITCL_SRC_DIR=$itcl_search/itcl
+- ITK_LIB_DIR=$itcl_search/itk/library
+- ITK_SRC_DIR=$itcl_search/itk
+- fi
++ ITCL_LIB_DIR=$itcl_search/itcl/library
++ ITCL_SRC_DIR=$itcl_search/itcl
++ ITK_LIB_DIR=$itcl_search/itk/library
++ ITK_SRC_DIR=$itcl_search/itk
+ fi
+ fi
+
+-if test -z "$ITCL_LIB_DIR"; then
+- AC_MSG_ERROR(Can't find Itcl source. Use --with-itcl to specify the the toplevel [incr Tcl] directory on your system. (This directory should contain itcl/library/itcl.tcl, itk/library/itk.tcl, and config/mkinstalldirs.))
+-fi
++# Quick hack, comment out following, breaks tests, but oh well.
++#if test -z "$ITCL_LIB_DIR"; then
++# AC_MSG_ERROR(Can't find Itcl source. Use --with-itcl to specify the the toplevel [incr Tcl] directory on your system. (This directory should contain itcl/library/itcl.tcl, itk/library/itk.tcl.))
++#fi
++
+
+
+ #--------------------------------------------------------------------
+--- iwidgets4-4.0.1.orig/configure
++++ iwidgets4-4.0.1/configure
+@@ -808,18 +808,18 @@
+ ITCL_LIB_DIR=""
+ if test -r $itcl_search/itcl/library/itcl.tcl; then
+ if test -r $itcl_search/itk/library/itk.tcl; then
+- if test -r $itcl_search/config/mkinstalldirs; then
+- ITCL_LIB_DIR=$itcl_search/itcl/library
+- ITCL_SRC_DIR=$itcl_search/itcl
+- ITK_LIB_DIR=$itcl_search/itk/library
+- ITK_SRC_DIR=$itcl_search/itk
+- fi
++ ITCL_LIB_DIR=$itcl_search/itcl/library
++ ITCL_SRC_DIR=$itcl_search/itcl
++ ITK_LIB_DIR=$itcl_search/itk/library
++ ITK_SRC_DIR=$itcl_search/itk
+ fi
+ fi
+
+-if test -z "$ITCL_LIB_DIR"; then
+- { echo "configure: error: Can't find Itcl source. Use --with-itcl to specify the the toplevel incr Tcl directory on your system. (This directory should contain itcl/library/itcl.tcl, itk/library/itk.tcl, and config/mkinstalldirs.)" 1>&2; exit 1; }
+-fi
++# Quick hack, comment out following, breaks tests, but oh well.
++#if test -z "$ITCL_LIB_DIR"; then
++# AC_MSG_ERROR(Can't find Itcl source. Use --with-itcl to specify the the toplevel [incr Tcl] directory on your system. (This directory should contain itcl/library/itcl.tcl, itk/library/itk.tcl.))
++#fi
++
+
+
+ #--------------------------------------------------------------------
+--- iwidgets4-4.0.1.orig/Makefile.in
++++ iwidgets4-4.0.1/Makefile.in
+@@ -50,12 +50,6 @@
+ # Top-level directory in which to install manual entries:
+ MAN_INSTALL_DIR = $(INSTALL_ROOT)$(prefix)/man/mann
+
+-# Directory containing Tcl source code (for library used during test):
+-TCL_SRC_DIR = @TCL_SRC_DIR@
+-
+-# Directory containing Tk source code (for library used during test):
+-TK_SRC_DIR = @TK_SRC_DIR@
+-
+ # Itcl libraries can be found here:
+ ITCL_LIB_DIR = @ITCL_LIB_DIR@
+
+@@ -78,11 +72,11 @@
+ # modify any of this stuff by hand.
+ #----------------------------------------------------------------
+
+-INSTALL = $(TCLSH_PROG) `$(CYGPATH) $(ITCL_SRC_DIR)/../config/installFile.tcl` -c
++INSTALL = $(TCLSH_PROG) `$(CYGPATH) $(srcdir)/installFile.tcl` -c
+ INSTALL_PROGRAM = $(INSTALL)
+ INSTALL_DATA = $(INSTALL) -m 644
+ INSTALL_SCRIPT = $(INSTALL) -m 555
+-MKINSTALLDIRS = $(ITCL_SRC_DIR)/../config/mkinstalldirs
++MKINSTALLDIRS = $(srcdir)/mkinstalldirs
+ RANLIB = @RANLIB@
+ LN_S = ln -s
+ TOP_DIR = $(srcdir)
+@@ -109,14 +103,11 @@
+ install: install-libraries install-doc install-demos
+
+ test:
+- LD_LIBRARY_PATH=$(ITCL_LIB_DIR):$(ITK_LIB_DIR):$(LD_LIBRARY_PATH); export LD_LIBRARY_PATH ; \
+- TCL_LIBRARY=$(TCL_SRC_DIR)/library; export TCL_LIBRARY; \
++# removed LD_LIBRARY_PATH - if you have to set that, your system is broken
+ ITCL_LIBRARY=$(ITCL_LIB_DIR); export ITCL_LIBRARY; \
+- TK_LIBRARY=$(TK_SRC_DIR)/library; export TK_LIBRARY; \
+ ITK_LIBRARY=$(ITK_LIB_DIR); export ITK_LIBRARY; \
+ IWIDGETS_LIBRARY=@IWIDGETS_SRC_DIR@; export IWIDGETS_LIBRARY; \
+- $(TCLSH_PROG) `@CYGPATH@ $(srcdir)/tests/all.tcl` \
+- -exedir `@CYGPATH@ $(TK_SRC_DIR)/unix` $(TESTFLAGS)
++ $(TCLSH_PROG) `@CYGPATH@ $(srcdir)/tests/all.tcl` $(TESTFLAGS)
+
+ install-libraries:
+ @$(MKINSTALLDIRS) $(SCRIPT_INSTALL_DIR) $(LIB_INSTALL_DIR)
+--- iwidgets4-4.0.1.orig/installFile.tcl
++++ iwidgets4-4.0.1/installFile.tcl
+@@ -0,0 +1,119 @@
++#!/bin/sh
++#
++# installFile.tcl - a Tcl version of install-sh
++# that copies a file and preserves its permission bits.
++# This also optimizes out installation of existing files
++# that have the same size and time stamp as the source.
++#
++# \
++exec tclsh "$0" ${1+"$@"}
++
++set doCopy 0 ;# Rename files instead of copy
++set doStrip 0 ;# Strip the symbols from installed copy
++set verbose 0
++set src ""
++set dst ""
++
++# Process command line arguments, compatible with install-sh
++
++for {set i 0} {$i < $argc} {incr i} {
++ set arg [lindex $argv $i]
++ switch -- $arg {
++ -c {
++ set doCopy 1
++ }
++ -m {
++ incr i
++ # Assume UNIX standard "644", etc, so force Tcl to think octal
++ set permissions 0[lindex $argv $i]
++ }
++ -o {
++ incr i
++ set owner [lindex $argv $i]
++ }
++ -g {
++ incr i
++ set group [lindex $argv $i]
++ }
++ -s {
++ set doStrip 1
++ }
++ -v {
++ set verbose 1
++ }
++ default {
++ set src $arg
++ incr i
++ set dst [lindex $argv $i]
++ break
++ }
++ }
++}
++if {[string length $src] == 0} {
++ puts stderr "$argv0: no input file specified"
++ exit 1
++}
++if {[string length $dst] == 0} {
++ puts stderr "$argv0: no destination file specified"
++ exit 1
++}
++
++# Compatibility with CYGNUS-style pathnames
++regsub {^/(cygdrive)?/(.)/(.*)} $src {\2:/\3} src
++regsub {^/(cygdrive)?/(.)/(.*)} $dst {\2:/\3} dst
++
++if {$verbose && $doStrip} {
++ puts stderr "Ignoring -s (strip) option for $dst"
++}
++if {[file isdirectory $dst]} {
++ set dst [file join $dst [file tail $src]]
++}
++
++# Temporary file name
++
++set dsttmp [file join [file dirname $dst] #inst.[pid]#]
++
++# Optimize out install if the file already exists
++
++set actions ""
++if {[file exists $dst] &&
++ ([file mtime $src] == [file mtime $dst]) &&
++ ([file size $src] == [file size $dst])} {
++
++ # Looks like the same file, so don't bother to copy.
++ # Set dsttmp in case we still need to tweak mode, group, etc.
++
++ set dsttmp $dst
++ lappend actions "already installed"
++} else {
++ file copy -force $src $dsttmp
++ lappend actions copied
++}
++
++# At this point "$dsttmp" is installed, but might not have the
++# right permissions and may need to be renamed.
++
++
++foreach attrName {owner group permissions} {
++ upvar 0 $attrName attr
++
++ if {[info exists attr]} {
++ if {![catch {file attributes $dsttmp -$attrName} dstattr]} {
++
++ # This system supports "$attrName" kind of attributes
++
++ if {($attr != $dstattr)} {
++ file attributes $dsttmp -$attrName $attr
++ lappend actions "set $attrName to $attr"
++ }
++ }
++ }
++}
++
++if {[string compare $dst $dsttmp] != 0} {
++ file rename -force $dsttmp $dst
++}
++if {$verbose} {
++ puts stderr "$dst: [join $actions ", "]"
++}
++exit 0
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ai...@us...> - 2013-11-04 00:53:13
|
Revision: 12647
http://sourceforge.net/p/plplot/code/12647
Author: airwin
Date: 2013-11-04 00:53:10 +0000 (Mon, 04 Nov 2013)
Log Message:
-----------
Use versioned location for header files and itclConfig.sh to avoid
filename clashes with the 4.0 versions.
Modified Paths:
--------------
trunk/cmake/build_projects/itcl3/bp.cmake
trunk/cmake/build_projects/itk3/bp.cmake
Modified: trunk/cmake/build_projects/itcl3/bp.cmake
===================================================================
--- trunk/cmake/build_projects/itcl3/bp.cmake 2013-11-03 20:03:15 UTC (rev 12646)
+++ trunk/cmake/build_projects/itcl3/bp.cmake 2013-11-04 00:53:10 UTC (rev 12647)
@@ -83,14 +83,14 @@
set(ITCL3_ENABLE_64_BIT --enable-64bit)
endif(BP_HAVE_64_BIT_OS)
-set(INCRTCL3_PREFIX ${BP_CMAKE_INSTALL_PREFIX}_incrtcl3)
+set(INCRTCL3_PREFIX ${BP_CMAKE_INSTALL_PREFIX}/lib/incrtcl3)
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} ${${BP_PACKAGE}_SET_CFLAGS} ${source_PATH}/configure --prefix=${INCRTCL3_PREFIX} --exec-prefix=${INCRTCL3_PREFIX} --mandir=${INCRTCL3_PREFIX}/share/man ${ITCL3_ENABLE_64_BIT} --with-tcl=${BP_CMAKE_INSTALL_PREFIX}/lib --with-tclinclude=${BP_CMAKE_INSTALL_PREFIX}/include
+ CONFIGURE_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${${BP_PACKAGE}_SET_CFLAGS} ${source_PATH}/configure --prefix=${INCRTCL3_PREFIX} --exec-prefix=${INCRTCL3_PREFIX} --includedir=${INCRTCL3_PREFIX}/include/itcl${ITCL3_LIBVERSION} --mandir=${INCRTCL3_PREFIX}/share/man ${ITCL3_ENABLE_64_BIT} --with-tcl=${BP_CMAKE_INSTALL_PREFIX}/lib --with-tclinclude=${BP_CMAKE_INSTALL_PREFIX}/include
BUILD_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${BP_PARALLEL_MAKE_COMMAND}
INSTALL_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${BP_PARALLEL_MAKE_COMMAND} install
)
@@ -101,8 +101,8 @@
COMMAND echo "Replace build-tree locations by install-tree locations"
COMMAND ${SED_EXECUTABLE}
# Cover two different patterns of uppercasing.
- -e "s@^\\(itcl_SRC_DIR='\\).*@\\1${INCRTCL3_PREFIX}/include'@"
- -e "s@^\\(ITCL_SRC_DIR='\\).*@\\1${INCRTCL3_PREFIX}/include'@"
+ -e "s@^\\(itcl_SRC_DIR='\\).*@\\1${INCRTCL3_PREFIX}/include/itcl${ITCL3_LIBVERSION}'@"
+ -e "s@^\\(ITCL_SRC_DIR='\\).*@\\1${INCRTCL3_PREFIX}/include/itcl${ITCL3_LIBVERSION}'@"
# Cover two different patterns of uppercasing.
-e "/itcl_B/s@='\\(-L\\)\\?.*build_itcl3@='\\1${INCRTCL3_PREFIX}/lib/itcl${ITCL3_LIBVERSION}@"
-e "/ITCL_B/s@='\\(-L\\)\\?.*build_itcl3@='\\1${INCRTCL3_PREFIX}/lib/itcl${ITCL3_LIBVERSION}@"
@@ -114,12 +114,12 @@
add_custom_command(
OUTPUT
${EP_BASE}/Stamp/build_${BP_PACKAGE}/build_${BP_PACKAGE}-install
- COMMAND echo "Install-tree fixups"
+ COMMAND ${CMAKE_COMMAND} -E echo "Install-tree fixups"
COMMAND ${CHMOD_EXECUTABLE} -v ${SO_NUMERICAL_PERMISSIONS} ${INCRTCL3_PREFIX}/lib/itcl${ITCL3_LIBVERSION}/libitcl${ITCL3_LIBVERSION}.so
+ COMMAND ${CMAKE_COMMAND} -E rename ${INCRTCL3_PREFIX}/lib/itclConfig.sh ${INCRTCL3_PREFIX}/lib/itcl${ITCL3_LIBVERSION}/itclConfig.sh
APPEND
)
-
list(APPEND build_target_LIST build_${BP_PACKAGE})
# Restore BP_PATH to original state.
set(BP_PATH "${BP_ORIGINAL_NATIVE_PATH}")
Modified: trunk/cmake/build_projects/itk3/bp.cmake
===================================================================
--- trunk/cmake/build_projects/itk3/bp.cmake 2013-11-03 20:03:15 UTC (rev 12646)
+++ trunk/cmake/build_projects/itk3/bp.cmake 2013-11-04 00:53:10 UTC (rev 12647)
@@ -90,7 +90,7 @@
URL_HASH ${${BP_PACKAGE}_DOWNLOAD_HASH_TYPE}=${${BP_PACKAGE}_DOWNLOAD_HASH}
# Order of CPPFLAGS is important since want to access the version 3
# itcl header.
- CONFIGURE_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${${BP_PACKAGE}_SET_CFLAGS} "CPPFLAGS=-I${INCRTCL3_PREFIX}/include -I${BP_CMAKE_INSTALL_PREFIX}/include" ${source_PATH}/configure --prefix=${INCRTCL3_PREFIX} --exec-prefix=${INCRTCL3_PREFIX} --mandir=${INCRTCL3_PREFIX}/share/man ${ITK3_ENABLE_64_BIT} --with-tcl=${BP_CMAKE_INSTALL_PREFIX}/lib --with-tk=${BP_CMAKE_INSTALL_PREFIX}/lib --with-itcl=${INCRTCL3_PREFIX}/lib
+ CONFIGURE_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${${BP_PACKAGE}_SET_CFLAGS} "CPPFLAGS=-I${INCRTCL3_PREFIX}/include/itcl${ITCL3_LIBVERSION} -I${BP_CMAKE_INSTALL_PREFIX}/include" ${source_PATH}/configure --prefix=${INCRTCL3_PREFIX} --exec-prefix=${INCRTCL3_PREFIX} --includedir=${INCRTCL3_PREFIX}/include/itcl${ITCL3_LIBVERSION} --mandir=${INCRTCL3_PREFIX}/share/man ${ITK3_ENABLE_64_BIT} --with-tcl=${BP_CMAKE_INSTALL_PREFIX}/lib --with-tk=${BP_CMAKE_INSTALL_PREFIX}/lib --with-itcl=${INCRTCL3_PREFIX}/lib/itcl${ITCL3_LIBVERSION}
BUILD_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${BP_PARALLEL_MAKE_COMMAND}
INSTALL_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${BP_PARALLEL_MAKE_COMMAND} install
)
@@ -101,8 +101,8 @@
COMMAND echo "Replace build-tree locations by install-tree locations"
COMMAND ${SED_EXECUTABLE}
# Cover two different patterns of uppercasing.
- -e "s@^\\(itk_SRC_DIR='\\).*@\\1${INCRTCL3_PREFIX}/include'@"
- -e "s@^\\(ITK_SRC_DIR='\\).*@\\1${INCRTCL3_PREFIX}/include'@"
+ -e "s@^\\(itk_SRC_DIR='\\).*@\\1${INCRTCL3_PREFIX}/include/itcl${ITCL3_LIBVERSION}'@"
+ -e "s@^\\(ITK_SRC_DIR='\\).*@\\1${INCRTCL3_PREFIX}/include/itcl${ITCL3_LIBVERSION}'@"
# Cover two different patterns of uppercasing.
-e "/itk_B/s@='\\(-L\\)\\?.*build_itk3@='\\1${INCRTCL3_PREFIX}/lib/itk${ITK3_LIBVERSION}@"
-e "/ITK_B/s@='\\(-L\\)\\?.*build_itk3@='\\1${INCRTCL3_PREFIX}/lib/itk${ITK3_LIBVERSION}@"
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ai...@us...> - 2013-11-03 20:03:18
|
Revision: 12646
http://sourceforge.net/p/plplot/code/12646
Author: airwin
Date: 2013-11-03 20:03:15 +0000 (Sun, 03 Nov 2013)
Log Message:
-----------
Add itk3 build configuration.
Tested by Alan W. Irwin <ai...@us...> on Linux
using build_projects with -DBUILD_THE_BUILDTOOLS=ON and the
build_itk3 target.
N.B. although the result builds without issues for the separate
non-standard INCRTCL3_PREFIX itcl3 install location, at run-time
nothing works unless you set the ITCL_LIBRARY and ITK_LIBRARY
environment variables to the appropriate versioned directories where
the libraries are installed, and also lappend INCRTCL3_PREFIX/lib to
auto_path. So the plan is to set INCRTCL3_PREFIX to a more standard
location as soon as a way is figured out to get rid of the critical
filename clashes (e.g., header files) with the version 4 results for
itcl and itk, and version 4.1 results for iwidgets.
Modified Paths:
--------------
trunk/cmake/build_projects/CMakeLists.txt
Added Paths:
-----------
trunk/cmake/build_projects/itk3/
trunk/cmake/build_projects/itk3/bp.cmake
Modified: trunk/cmake/build_projects/CMakeLists.txt
===================================================================
--- trunk/cmake/build_projects/CMakeLists.txt 2013-11-02 22:16:31 UTC (rev 12645)
+++ trunk/cmake/build_projects/CMakeLists.txt 2013-11-03 20:03:15 UTC (rev 12646)
@@ -296,6 +296,8 @@
iwidgets
# itcl version 3 is an independent project
itcl3
+ # itk version 3 is an independent project
+ itk3
)
else(BUILD_THE_BUILDTOOLS)
# List of all configurations. Order doesn't matter because multiple
Added: trunk/cmake/build_projects/itk3/bp.cmake
===================================================================
--- trunk/cmake/build_projects/itk3/bp.cmake (rev 0)
+++ trunk/cmake/build_projects/itk3/bp.cmake 2013-11-03 20:03:15 UTC (rev 12646)
@@ -0,0 +1,126 @@
+# itk3/bp.cmake
+# CMakeLists.txt file to configure the build of itk3.
+
+# 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.
+
+# These build configuration details for itk3 adapted from
+# the fink build
+# <http://www.mail-archive.com/fin...@li.../msg113511.html>
+# Protect against configuring a build twice in one CMake call
+if(itk3_configured)
+ return()
+endif(itk3_configured)
+set(itk3_configured ON)
+
+# List of dependencies (most of which are build tools) which should be
+# ignored.
+set(BP_ignored_dependencies_LIST ${extra_ignored_dependencies_list})
+
+set(itk3_dependencies_LIST itcl3 tk tcl)
+# Remove dependencies that should be ignored.
+if(itk3_dependencies_LIST)
+ list(REMOVE_ITEM itk3_dependencies_LIST ${BP_ignored_dependencies_LIST})
+endif(itk3_dependencies_LIST)
+
+set(itk3_dependencies_targets)
+foreach(build_configuration ${itk3_dependencies_LIST})
+ if(EXISTS ${CMAKE_SOURCE_DIR}/${build_configuration}/bp.cmake)
+ include(${build_configuration}/bp.cmake)
+ list(APPEND itk3_dependencies_targets build_${build_configuration})
+ else(EXISTS ${CMAKE_SOURCE_DIR}/${build_configuration}/bp.cmake)
+ message(STATUS "Warning: A build_configuration for ${build_configuration} does not exist so it is assumed this dependency of itk3 has been installed another way.")
+ endif(EXISTS ${CMAKE_SOURCE_DIR}/${build_configuration}/bp.cmake)
+endforeach(build_configuration ${itk3_dependences_LIST})
+
+# This can be safely done only after above includes.
+set(BP_PACKAGE itk3)
+
+# Data that is related to downloads.
+set(ITK3_VERSION 3.3)
+set(ITK3_LIBVERSION 3.3)
+set(${BP_PACKAGE}_URL http://downloads.sourceforge.net/project/incrtcl/%5bIncr%20Tcl_Tk%5d-source/${ITK3_VERSION}-RC/itk${ITK3_VERSION}.tar.gz)
+set(${BP_PACKAGE}_DOWNLOAD_HASH_TYPE MD5)
+set(${BP_PACKAGE}_DOWNLOAD_HASH a97c17f3cfa5e377f43073c653c501b5)
+
+# 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}")
+ set(${BP_PACKAGE}_SET_CFLAGS "CFLAGS=$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}")
+
+# Eliminate this option which gives bad results for this package.
+string(REGEX REPLACE "-fvisibility=hidden" "" ${BP_PACKAGE}_SET_CFLAGS "${${BP_PACKAGE}_SET_CFLAGS}")
+
+if(BP_HAVE_64_BIT_OS)
+ set(ITK3_ENABLE_64_BIT --enable-64bit)
+endif(BP_HAVE_64_BIT_OS)
+
+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}
+ # Order of CPPFLAGS is important since want to access the version 3
+ # itcl header.
+ CONFIGURE_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${${BP_PACKAGE}_SET_CFLAGS} "CPPFLAGS=-I${INCRTCL3_PREFIX}/include -I${BP_CMAKE_INSTALL_PREFIX}/include" ${source_PATH}/configure --prefix=${INCRTCL3_PREFIX} --exec-prefix=${INCRTCL3_PREFIX} --mandir=${INCRTCL3_PREFIX}/share/man ${ITK3_ENABLE_64_BIT} --with-tcl=${BP_CMAKE_INSTALL_PREFIX}/lib --with-tk=${BP_CMAKE_INSTALL_PREFIX}/lib --with-itcl=${INCRTCL3_PREFIX}/lib
+ BUILD_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${BP_PARALLEL_MAKE_COMMAND}
+ INSTALL_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${BP_PARALLEL_MAKE_COMMAND} install
+ )
+
+add_custom_command(
+ OUTPUT
+ ${EP_BASE}/Stamp/build_${BP_PACKAGE}/build_${BP_PACKAGE}-build
+ COMMAND echo "Replace build-tree locations by install-tree locations"
+ COMMAND ${SED_EXECUTABLE}
+ # Cover two different patterns of uppercasing.
+ -e "s@^\\(itk_SRC_DIR='\\).*@\\1${INCRTCL3_PREFIX}/include'@"
+ -e "s@^\\(ITK_SRC_DIR='\\).*@\\1${INCRTCL3_PREFIX}/include'@"
+ # Cover two different patterns of uppercasing.
+ -e "/itk_B/s@='\\(-L\\)\\?.*build_itk3@='\\1${INCRTCL3_PREFIX}/lib/itk${ITK3_LIBVERSION}@"
+ -e "/ITK_B/s@='\\(-L\\)\\?.*build_itk3@='\\1${INCRTCL3_PREFIX}/lib/itk${ITK3_LIBVERSION}@"
+ # Overwrite original file.
+ -i itkConfig.sh
+ APPEND
+ )
+
+add_custom_command(
+ OUTPUT
+ ${EP_BASE}/Stamp/build_${BP_PACKAGE}/build_${BP_PACKAGE}-install
+ COMMAND echo "Install-tree fixups"
+ COMMAND ${CHMOD_EXECUTABLE} -v ${SO_NUMERICAL_PERMISSIONS} ${INCRTCL3_PREFIX}/lib/itk${ITK3_LIBVERSION}/libitk${ITK3_LIBVERSION}.so
+ APPEND
+ )
+
+
+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-11-02 22:16:33
|
Revision: 12645
http://sourceforge.net/p/plplot/code/12645
Author: airwin
Date: 2013-11-02 22:16:31 +0000 (Sat, 02 Nov 2013)
Log Message:
-----------
Use a separate install prefix (with appended suffix "_incrtcl3") for itcl3
(and eventually the other [incr Tcl] version 3 components) because of name clashes with
[incr Tcl] version 4 components.
Modified Paths:
--------------
trunk/cmake/build_projects/itcl3/bp.cmake
Modified: trunk/cmake/build_projects/itcl3/bp.cmake
===================================================================
--- trunk/cmake/build_projects/itcl3/bp.cmake 2013-11-01 22:05:55 UTC (rev 12644)
+++ trunk/cmake/build_projects/itcl3/bp.cmake 2013-11-02 22:16:31 UTC (rev 12645)
@@ -76,16 +76,21 @@
endif(MSYS_PLATFORM)
#message(STATUS "modified BP_PATH for ${BP_PACKAGE} = ${BP_PATH}")
+# Eliminate this option which gives bad results for this package.
+string(REGEX REPLACE "-fvisibility=hidden" "" ${BP_PACKAGE}_SET_CFLAGS "${${BP_PACKAGE}_SET_CFLAGS}")
+
if(BP_HAVE_64_BIT_OS)
set(ITCL3_ENABLE_64_BIT --enable-64bit)
endif(BP_HAVE_64_BIT_OS)
+set(INCRTCL3_PREFIX ${BP_CMAKE_INSTALL_PREFIX}_incrtcl3)
+
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} ${${BP_PACKAGE}_SET_CFLAGS} ${source_PATH}/${BP_CONFIGURE_COMMAND} --mandir=${BP_CMAKE_INSTALL_PREFIX}/share/man ${ITCL3_ENABLE_64_BIT} --with-tcl=${BP_CMAKE_INSTALL_PREFIX}/lib --with-tclinclude=${BP_CMAKE_INSTALL_PREFIX}/include
+ CONFIGURE_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${${BP_PACKAGE}_SET_CFLAGS} ${source_PATH}/configure --prefix=${INCRTCL3_PREFIX} --exec-prefix=${INCRTCL3_PREFIX} --mandir=${INCRTCL3_PREFIX}/share/man ${ITCL3_ENABLE_64_BIT} --with-tcl=${BP_CMAKE_INSTALL_PREFIX}/lib --with-tclinclude=${BP_CMAKE_INSTALL_PREFIX}/include
BUILD_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${BP_PARALLEL_MAKE_COMMAND}
INSTALL_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${BP_PARALLEL_MAKE_COMMAND} install
)
@@ -96,11 +101,11 @@
COMMAND echo "Replace build-tree locations by install-tree locations"
COMMAND ${SED_EXECUTABLE}
# Cover two different patterns of uppercasing.
- -e "s@^\\(itcl_SRC_DIR='\\).*@\\1${BP_CMAKE_INSTALL_PREFIX}/include'@"
- -e "s@^\\(ITCL_SRC_DIR='\\).*@\\1${BP_CMAKE_INSTALL_PREFIX}/include'@"
+ -e "s@^\\(itcl_SRC_DIR='\\).*@\\1${INCRTCL3_PREFIX}/include'@"
+ -e "s@^\\(ITCL_SRC_DIR='\\).*@\\1${INCRTCL3_PREFIX}/include'@"
# Cover two different patterns of uppercasing.
- -e "/itcl_B/s@='\\(-L\\)\\?.*build_itcl3@='\\1${BP_CMAKE_INSTALL_PREFIX}/lib/itcl${ITCL3_LIBVERSION}@"
- -e "/ITCL_B/s@='\\(-L\\)\\?.*build_itcl3@='\\1${BP_CMAKE_INSTALL_PREFIX}/lib/itcl${ITCL3_LIBVERSION}@"
+ -e "/itcl_B/s@='\\(-L\\)\\?.*build_itcl3@='\\1${INCRTCL3_PREFIX}/lib/itcl${ITCL3_LIBVERSION}@"
+ -e "/ITCL_B/s@='\\(-L\\)\\?.*build_itcl3@='\\1${INCRTCL3_PREFIX}/lib/itcl${ITCL3_LIBVERSION}@"
# Overwrite original file.
-i itclConfig.sh
APPEND
@@ -110,7 +115,7 @@
OUTPUT
${EP_BASE}/Stamp/build_${BP_PACKAGE}/build_${BP_PACKAGE}-install
COMMAND echo "Install-tree fixups"
- COMMAND ${CHMOD_EXECUTABLE} -v ${SO_NUMERICAL_PERMISSIONS} ${BP_CMAKE_INSTALL_PREFIX}/lib/itcl${ITCL3_LIBVERSION}/libitcl${ITCL3_LIBVERSION}.so
+ COMMAND ${CHMOD_EXECUTABLE} -v ${SO_NUMERICAL_PERMISSIONS} ${INCRTCL3_PREFIX}/lib/itcl${ITCL3_LIBVERSION}/libitcl${ITCL3_LIBVERSION}.so
APPEND
)
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ai...@us...> - 2013-11-01 22:06:00
|
Revision: 12644
http://sourceforge.net/p/plplot/code/12644
Author: airwin
Date: 2013-11-01 22:05:55 +0000 (Fri, 01 Nov 2013)
Log Message:
-----------
Initial implementation of itcl3 build.
Tested by: Alan W. Irwin <ai...@us...> on Linux using the
-DBUILD_THE_BUILDTOOLS=ON option for build_projects and the
build_itcl3 target.
Modified Paths:
--------------
trunk/cmake/build_projects/CMakeLists.txt
Added Paths:
-----------
trunk/cmake/build_projects/itcl3/
trunk/cmake/build_projects/itcl3/bp.cmake
Modified: trunk/cmake/build_projects/CMakeLists.txt
===================================================================
--- trunk/cmake/build_projects/CMakeLists.txt 2013-10-31 18:38:23 UTC (rev 12643)
+++ trunk/cmake/build_projects/CMakeLists.txt 2013-11-01 22:05:55 UTC (rev 12644)
@@ -289,11 +289,13 @@
swig
tcl
tk
- # itcl is integrated into tcl
- # itk is not integrated into tk (or tcl).
+ # itcl version 4 is integrated into tcl
+ # itk version 4 is not integrated into tk (or tcl).
itk
- # iwidgets is not integrated into itcl
+ # iwidgets version 4.1 is not integrated into itcl
iwidgets
+ # itcl version 3 is an independent project
+ itcl3
)
else(BUILD_THE_BUILDTOOLS)
# List of all configurations. Order doesn't matter because multiple
Added: trunk/cmake/build_projects/itcl3/bp.cmake
===================================================================
--- trunk/cmake/build_projects/itcl3/bp.cmake (rev 0)
+++ trunk/cmake/build_projects/itcl3/bp.cmake 2013-11-01 22:05:55 UTC (rev 12644)
@@ -0,0 +1,121 @@
+# itcl3/bp.cmake
+# CMakeLists.txt file to configure the build of itcl3.
+
+# 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.
+
+# These build configuration details for itcl3 adapted from
+# the fink build
+# <http://www.mail-archive.com/fin...@li.../msg113511.html>
+# Protect against configuring a build twice in one CMake call
+if(itcl3_configured)
+ return()
+endif(itcl3_configured)
+set(itcl3_configured ON)
+
+# List of dependencies (most of which are build tools) which should be
+# ignored.
+set(BP_ignored_dependencies_LIST ${extra_ignored_dependencies_list})
+
+set(itcl3_dependencies_LIST tk tcl)
+# Remove dependencies that should be ignored.
+if(itcl3_dependencies_LIST)
+ list(REMOVE_ITEM itcl3_dependencies_LIST ${BP_ignored_dependencies_LIST})
+endif(itcl3_dependencies_LIST)
+
+set(itcl3_dependencies_targets)
+foreach(build_configuration ${itcl3_dependencies_LIST})
+ if(EXISTS ${CMAKE_SOURCE_DIR}/${build_configuration}/bp.cmake)
+ include(${build_configuration}/bp.cmake)
+ list(APPEND itcl3_dependencies_targets build_${build_configuration})
+ else(EXISTS ${CMAKE_SOURCE_DIR}/${build_configuration}/bp.cmake)
+ message(STATUS "Warning: A build_configuration for ${build_configuration} does not exist so it is assumed this dependency of itcl3 has been installed another way.")
+ endif(EXISTS ${CMAKE_SOURCE_DIR}/${build_configuration}/bp.cmake)
+endforeach(build_configuration ${itcl3_dependences_LIST})
+
+# This can be safely done only after above includes.
+set(BP_PACKAGE itcl3)
+
+# Data that is related to downloads.
+set(ITCL3_VERSION 3.4.1)
+set(ITCL3_LIBVERSION 3.4)
+set(${BP_PACKAGE}_URL http://downloads.sourceforge.net/project/incrtcl/%5bIncr%20Tcl_Tk%5d-source/${ITCL3_VERSION}/itcl${ITCL3_VERSION}.tar.gz)
+set(${BP_PACKAGE}_DOWNLOAD_HASH_TYPE MD5)
+set(${BP_PACKAGE}_DOWNLOAD_HASH e7c98e0f69df1a675073ddd3344f0b7f)
+
+# 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}")
+ set(${BP_PACKAGE}_SET_CFLAGS "CFLAGS=$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}")
+
+if(BP_HAVE_64_BIT_OS)
+ set(ITCL3_ENABLE_64_BIT --enable-64bit)
+endif(BP_HAVE_64_BIT_OS)
+
+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} ${${BP_PACKAGE}_SET_CFLAGS} ${source_PATH}/${BP_CONFIGURE_COMMAND} --mandir=${BP_CMAKE_INSTALL_PREFIX}/share/man ${ITCL3_ENABLE_64_BIT} --with-tcl=${BP_CMAKE_INSTALL_PREFIX}/lib --with-tclinclude=${BP_CMAKE_INSTALL_PREFIX}/include
+ BUILD_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${BP_PARALLEL_MAKE_COMMAND}
+ INSTALL_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${BP_PARALLEL_MAKE_COMMAND} install
+ )
+
+add_custom_command(
+ OUTPUT
+ ${EP_BASE}/Stamp/build_${BP_PACKAGE}/build_${BP_PACKAGE}-build
+ COMMAND echo "Replace build-tree locations by install-tree locations"
+ COMMAND ${SED_EXECUTABLE}
+ # Cover two different patterns of uppercasing.
+ -e "s@^\\(itcl_SRC_DIR='\\).*@\\1${BP_CMAKE_INSTALL_PREFIX}/include'@"
+ -e "s@^\\(ITCL_SRC_DIR='\\).*@\\1${BP_CMAKE_INSTALL_PREFIX}/include'@"
+ # Cover two different patterns of uppercasing.
+ -e "/itcl_B/s@='\\(-L\\)\\?.*build_itcl3@='\\1${BP_CMAKE_INSTALL_PREFIX}/lib/itcl${ITCL3_LIBVERSION}@"
+ -e "/ITCL_B/s@='\\(-L\\)\\?.*build_itcl3@='\\1${BP_CMAKE_INSTALL_PREFIX}/lib/itcl${ITCL3_LIBVERSION}@"
+ # Overwrite original file.
+ -i itclConfig.sh
+ APPEND
+ )
+
+add_custom_command(
+ OUTPUT
+ ${EP_BASE}/Stamp/build_${BP_PACKAGE}/build_${BP_PACKAGE}-install
+ COMMAND echo "Install-tree fixups"
+ COMMAND ${CHMOD_EXECUTABLE} -v ${SO_NUMERICAL_PERMISSIONS} ${BP_CMAKE_INSTALL_PREFIX}/lib/itcl${ITCL3_LIBVERSION}/libitcl${ITCL3_LIBVERSION}.so
+ APPEND
+ )
+
+
+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-10-31 18:38:26
|
Revision: 12643
http://sourceforge.net/p/plplot/code/12643
Author: airwin
Date: 2013-10-31 18:38:23 +0000 (Thu, 31 Oct 2013)
Log Message:
-----------
Add iwidgets build configuration which does nothing but download
the iwidgets41.tgz tarball, check its md5sum, unpack it to the
source tree and copy that source tree to the appropriate location
in the install tree.
Tested by Alan W. Irwin <ai...@us...> using the
build_projects -DBUILD_THE_BUILDTOOLS=ON configuration and the
build_iwidgets target. As expected, the resulting installed directory was
identical to a directory created by unpacking the iwidgets41.tgz
tarball by hand.
Modified Paths:
--------------
trunk/cmake/build_projects/CMakeLists.txt
Added Paths:
-----------
trunk/cmake/build_projects/iwidgets/
trunk/cmake/build_projects/iwidgets/bp.cmake
Modified: trunk/cmake/build_projects/CMakeLists.txt
===================================================================
--- trunk/cmake/build_projects/CMakeLists.txt 2013-10-31 18:32:37 UTC (rev 12642)
+++ trunk/cmake/build_projects/CMakeLists.txt 2013-10-31 18:38:23 UTC (rev 12643)
@@ -287,11 +287,13 @@
pkg-config
#subversion
swig
- # itcl is integrated into tcl
tcl
tk
+ # itcl is integrated into tcl
# itk is not integrated into tk (or tcl).
itk
+ # iwidgets is not integrated into itcl
+ iwidgets
)
else(BUILD_THE_BUILDTOOLS)
# List of all configurations. Order doesn't matter because multiple
Added: trunk/cmake/build_projects/iwidgets/bp.cmake
===================================================================
--- trunk/cmake/build_projects/iwidgets/bp.cmake (rev 0)
+++ trunk/cmake/build_projects/iwidgets/bp.cmake 2013-10-31 18:38:23 UTC (rev 12643)
@@ -0,0 +1,92 @@
+# iwidgets/bp.cmake
+# CMakeLists.txt file to configure the build of iwidgets.
+
+# 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.
+
+# These build configuration details for iwidgets adapted from
+# <http://www.mail-archive.com/fin...@li.../msg113511.html>
+
+# Protect against configuring a build twice in one CMake call
+if(iwidgets_configured)
+ return()
+endif(iwidgets_configured)
+set(iwidgets_configured ON)
+
+# List of dependencies (most of which are build tools) which should be
+# ignored.
+set(BP_ignored_dependencies_LIST ${extra_ignored_dependencies_list})
+
+set(iwidgets_dependencies_LIST tk tcl itk)
+# Remove dependencies that should be ignored.
+if(iwidgets_dependencies_LIST)
+ list(REMOVE_ITEM iwidgets_dependencies_LIST ${BP_ignored_dependencies_LIST})
+endif(iwidgets_dependencies_LIST)
+
+set(iwidgets_dependencies_targets)
+foreach(build_configuration ${iwidgets_dependencies_LIST})
+ if(EXISTS ${CMAKE_SOURCE_DIR}/${build_configuration}/bp.cmake)
+ include(${build_configuration}/bp.cmake)
+ list(APPEND iwidgets_dependencies_targets build_${build_configuration})
+ else(EXISTS ${CMAKE_SOURCE_DIR}/${build_configuration}/bp.cmake)
+ message(STATUS "Warning: A build_configuration for ${build_configuration} does not exist so it is assumed this dependency of iwidgets has been installed another way.")
+ endif(EXISTS ${CMAKE_SOURCE_DIR}/${build_configuration}/bp.cmake)
+endforeach(build_configuration ${iwidgets_dependences_LIST})
+
+# This can be safely done only after above includes.
+set(BP_PACKAGE iwidgets)
+
+# Data that is related to downloads.
+set(IWIDGETS_VERSION 41)
+set(IWIDGETS_LIBVERSION 4.1)
+set(${BP_PACKAGE}_URL http://downloads.sourceforge.net/project/kbskit/itk/iwidgets${IWIDGETS_VERSION}.tgz)
+set(${BP_PACKAGE}_DOWNLOAD_HASH_TYPE MD5)
+set(${BP_PACKAGE}_DOWNLOAD_HASH 5a60ec284bd8095c665287215ff2a69f)
+
+# 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}")
+ set(${BP_PACKAGE}_SET_CFLAGS "CFLAGS=$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}
+ DEPENDS ${${BP_PACKAGE}_dependencies_targets}
+ URL ${${BP_PACKAGE}_URL}
+ URL_HASH ${${BP_PACKAGE}_DOWNLOAD_HASH_TYPE}=${${BP_PACKAGE}_DOWNLOAD_HASH}
+ CONFIGURE_COMMAND ""
+ BUILD_COMMAND ""
+ INSTALL_COMMAND ${CMAKE_COMMAND} -E copy_directory ${EP_BASE}/Source/build_${BP_PACKAGE} ${BP_CMAKE_INSTALL_PREFIX}/lib/iwidgets${IWIDGETS_LIBVERSION}
+ )
+
+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-10-31 18:32:40
|
Revision: 12642
http://sourceforge.net/p/plplot/code/12642
Author: airwin
Date: 2013-10-31 18:32:37 +0000 (Thu, 31 Oct 2013)
Log Message:
-----------
Minor cmake logic tweaks.
Modified Paths:
--------------
trunk/cmake/build_projects/itk/bp.cmake
trunk/cmake/build_projects/tcl/bp.cmake
trunk/cmake/build_projects/tk/bp.cmake
Modified: trunk/cmake/build_projects/itk/bp.cmake
===================================================================
--- trunk/cmake/build_projects/itk/bp.cmake 2013-10-30 20:12:17 UTC (rev 12641)
+++ trunk/cmake/build_projects/itk/bp.cmake 2013-10-31 18:32:37 UTC (rev 12642)
@@ -56,6 +56,8 @@
set(BP_PACKAGE itk)
# Data that is related to downloads.
+set(ITCL_ITK_VERSION 4.0.0)
+set(ITCL_ITK_LIBVERSION ${ITCL_ITK_VERSION})
set(${BP_PACKAGE}_URL http://downloads.sourceforge.net/project/incrtcl/%5bincr%20Tcl_Tk%5d-4-source/Itcl%20${ITCL_ITK_VERSION}/itk${ITCL_ITK_VERSION}.tar.gz)
set(${BP_PACKAGE}_DOWNLOAD_HASH_TYPE MD5)
set(${BP_PACKAGE}_DOWNLOAD_HASH e3600a9ad0fcdcbbc4138af5a4893b7e)
Modified: trunk/cmake/build_projects/tcl/bp.cmake
===================================================================
--- trunk/cmake/build_projects/tcl/bp.cmake 2013-10-30 20:12:17 UTC (rev 12641)
+++ trunk/cmake/build_projects/tcl/bp.cmake 2013-10-31 18:32:37 UTC (rev 12642)
@@ -55,12 +55,10 @@
# This can be safely done only after above includes.
set(BP_PACKAGE tcl)
-# These variables are also used by tk and itk (and accessible to those
-# build configurations because they both depend on this one in any case).
+# These variables are also used by tk (and accessible to that
+# build configuration because it depends on this one).
set(TCL_TK_VERSION 8.6.1)
string(REGEX REPLACE "\\.[0-9]$" "" TCL_TK_LIBVERSION ${TCL_TK_VERSION})
-set(ITCL_ITK_VERSION 4.0.0)
-set(ITCL_ITK_LIBVERSION ${ITCL_ITK_VERSION})
# Data that is related to downloads.
set(${BP_PACKAGE}_URL http://downloads.sourceforge.net/project/tcl/Tcl/${TCL_TK_VERSION}/tcl${TCL_TK_VERSION}-src.tar.gz)
Modified: trunk/cmake/build_projects/tk/bp.cmake
===================================================================
--- trunk/cmake/build_projects/tk/bp.cmake 2013-10-30 20:12:17 UTC (rev 12641)
+++ trunk/cmake/build_projects/tk/bp.cmake 2013-10-31 18:32:37 UTC (rev 12642)
@@ -56,6 +56,8 @@
set(BP_PACKAGE tk)
# Data that is related to downloads.
+# Note that TCL_TK_VERSION and TCL_TK_LIBVERSION variables supplied
+# by tcl/bp.cmake which is included above.
set(${BP_PACKAGE}_URL http://downloads.sourceforge.net/project/tcl/Tcl/${TCL_TK_VERSION}/tk${TCL_TK_VERSION}-src.tar.gz)
set(${BP_PACKAGE}_DOWNLOAD_HASH_TYPE MD5)
set(${BP_PACKAGE}_DOWNLOAD_HASH 63f21c3a0e0cefbd854b4eb29b129ac6)
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ai...@us...> - 2013-10-30 20:12:20
|
Revision: 12641
http://sourceforge.net/p/plplot/code/12641
Author: airwin
Date: 2013-10-30 20:12:17 +0000 (Wed, 30 Oct 2013)
Log Message:
-----------
Replace all BOZ constants by their decimal equivalents to reestablish
the standards compliance lost by the last commit (since Fortran 95,
2003, and 2008 standards all do not allow BOZ constants to initialize
integers for some strange reason).
Modified Paths:
--------------
trunk/bindings/f95/global_defines.sed
trunk/bindings/f95/plplot_parameters.h
Modified: trunk/bindings/f95/global_defines.sed
===================================================================
--- trunk/bindings/f95/global_defines.sed 2013-10-30 17:29:31 UTC (rev 12640)
+++ trunk/bindings/f95/global_defines.sed 2013-10-30 20:12:17 UTC (rev 12641)
@@ -40,6 +40,25 @@
/^#define/ s?^#define *\(PL_NOTSET\)[ (]*\([^ ]*\)[ )]*\(.*\)$? real(kind=plflt), parameter :: \1 = \2.0_plflt\3\n real(kind=plflt), parameter :: PL_PI = 3.1415926535897932384_plflt\n real(kind=plflt), parameter :: PL_TWOPI = 2.0_plflt*PL_PI?
+# Replace all hexadecimal BOZ constants by their decimal equivalents to maintain
+# standards compliance rather than relying on an extension from the
+# Fortran standards which allows BOZ constants in this context.
+# (This extension is likely implemented by each different Fortran
+# compiler, but you can never be sure.)
+
+/^#define/ s?z'0*\([0-9]\)'?\1?
+/^#define/ s?z'0*f'?15?
+/^#define/ s?z'0*\([0-9]\)0'?\1*16?
+/^#define/ s?z'0*\([0-9]\)00'?\1*16*16?
+/^#define/ s?z'0*\([0-9]\)000'?\1*16*16*16?
+/^#define/ s?z'0*\([0-9]\)0000'?\1*16*16*16*16?
+# This last one is one more than we currently need.
+/^#define/ s?z'0*\([0-9]\)00000'?\1*16*16*16*16*16?
+
+# Note we could do the same transformation for octal BOZ constants, but we
+# don't have any at present.
+
+
# Comment the following line so that we do not use a special form for BOZ constants.
#/^#define/ s?^#define *\([^ ]*\)[ (]*\([oz][^ ]*\)[ )]*\(.*\)$? integer :: \1 \3\n data \1 / \2 /?
/^#define/ s?^#define *\([^ ]*\)[ (]*\([^ ]*\)[ )]*\(.*\)$? integer, parameter :: \1 = \2 \3?
Modified: trunk/bindings/f95/plplot_parameters.h
===================================================================
--- trunk/bindings/f95/plplot_parameters.h 2013-10-30 17:29:31 UTC (rev 12640)
+++ trunk/bindings/f95/plplot_parameters.h 2013-10-30 20:12:17 UTC (rev 12641)
@@ -29,16 +29,16 @@
integer, parameter :: PLESC_HAS_TEXT = 20 ! driver draws text
integer, parameter :: PLESC_IMAGE = 21 ! handle image
integer, parameter :: PLESC_IMAGEOPS = 22 ! plimage related operations
- integer, parameter :: DRAW_LINEX = z'01' ! draw lines parallel to the X axis
- integer, parameter :: DRAW_LINEY = z'02' ! draw lines parallel to the Y axis
- integer, parameter :: DRAW_LINEXY = z'03' ! draw lines parallel to both the X and Y axes
- integer, parameter :: MAG_COLOR = z'04' ! draw the mesh with a color dependent of the magnitude
- integer, parameter :: BASE_CONT = z'08' ! draw contour plot at bottom xy plane
- integer, parameter :: TOP_CONT = z'10' ! draw contour plot at top xy plane
- integer, parameter :: SURF_CONT = z'20' ! draw contour plot at surface
- integer, parameter :: DRAW_SIDES = z'40' ! draw sides
- integer, parameter :: FACETED = z'80' ! draw outline for each square that makes up the surface
- integer, parameter :: MESH = z'100' ! draw mesh
+ integer, parameter :: DRAW_LINEX = 1 ! draw lines parallel to the X axis
+ integer, parameter :: DRAW_LINEY = 2 ! draw lines parallel to the Y axis
+ integer, parameter :: DRAW_LINEXY = 3 ! draw lines parallel to both the X and Y axes
+ integer, parameter :: MAG_COLOR = 4 ! draw the mesh with a color dependent of the magnitude
+ integer, parameter :: BASE_CONT = 8 ! draw contour plot at bottom xy plane
+ integer, parameter :: TOP_CONT = 1*16 ! draw contour plot at top xy plane
+ integer, parameter :: SURF_CONT = 2*16 ! draw contour plot at surface
+ integer, parameter :: DRAW_SIDES = 4*16 ! draw sides
+ integer, parameter :: FACETED = 8*16 ! draw outline for each square that makes up the surface
+ integer, parameter :: MESH = 1*16*16 ! draw mesh
integer, parameter :: PL_BIN_DEFAULT = 0
integer, parameter :: PL_BIN_CENTRED = 1
integer, parameter :: PL_BIN_NOEXPAND = 2
@@ -64,65 +64,65 @@
integer, parameter :: PL_LEGEND_BACKGROUND = 32
integer, parameter :: PL_LEGEND_BOUNDING_BOX = 64
integer, parameter :: PL_LEGEND_ROW_MAJOR = 128
- integer, parameter :: PL_COLORBAR_LABEL_LEFT = z'1'
- integer, parameter :: PL_COLORBAR_LABEL_RIGHT = z'2'
- integer, parameter :: PL_COLORBAR_LABEL_TOP = z'4'
- integer, parameter :: PL_COLORBAR_LABEL_BOTTOM = z'8'
- integer, parameter :: PL_COLORBAR_IMAGE = z'10'
- integer, parameter :: PL_COLORBAR_SHADE = z'20'
- integer, parameter :: PL_COLORBAR_GRADIENT = z'40'
- integer, parameter :: PL_COLORBAR_CAP_NONE = z'80'
- integer, parameter :: PL_COLORBAR_CAP_LOW = z'100'
- integer, parameter :: PL_COLORBAR_CAP_HIGH = z'200'
- integer, parameter :: PL_COLORBAR_SHADE_LABEL = z'400'
- integer, parameter :: PL_COLORBAR_ORIENT_RIGHT = z'800'
- integer, parameter :: PL_COLORBAR_ORIENT_TOP = z'1000'
- integer, parameter :: PL_COLORBAR_ORIENT_LEFT = z'2000'
- integer, parameter :: PL_COLORBAR_ORIENT_BOTTOM = z'4000'
- integer, parameter :: PL_COLORBAR_BACKGROUND = z'8000'
- integer, parameter :: PL_COLORBAR_BOUNDING_BOX = z'10000'
+ integer, parameter :: PL_COLORBAR_LABEL_LEFT = 1
+ integer, parameter :: PL_COLORBAR_LABEL_RIGHT = 2
+ integer, parameter :: PL_COLORBAR_LABEL_TOP = 4
+ integer, parameter :: PL_COLORBAR_LABEL_BOTTOM = 8
+ integer, parameter :: PL_COLORBAR_IMAGE = 1*16
+ integer, parameter :: PL_COLORBAR_SHADE = 2*16
+ integer, parameter :: PL_COLORBAR_GRADIENT = 4*16
+ integer, parameter :: PL_COLORBAR_CAP_NONE = 8*16
+ integer, parameter :: PL_COLORBAR_CAP_LOW = 1*16*16
+ integer, parameter :: PL_COLORBAR_CAP_HIGH = 2*16*16
+ integer, parameter :: PL_COLORBAR_SHADE_LABEL = 4*16*16
+ integer, parameter :: PL_COLORBAR_ORIENT_RIGHT = 8*16*16
+ integer, parameter :: PL_COLORBAR_ORIENT_TOP = 1*16*16*16
+ integer, parameter :: PL_COLORBAR_ORIENT_LEFT = 2*16*16*16
+ integer, parameter :: PL_COLORBAR_ORIENT_BOTTOM = 4*16*16*16
+ integer, parameter :: PL_COLORBAR_BACKGROUND = 8*16*16*16
+ integer, parameter :: PL_COLORBAR_BOUNDING_BOX = 1*16*16*16*16
integer, parameter :: PLSWIN_DEVICE = 1 ! device coordinates
integer, parameter :: PLSWIN_WORLD = 2 ! world coordinates
integer, parameter :: PL_X_AXIS = 1 ! The x-axis
integer, parameter :: PL_Y_AXIS = 2 ! The y-axis
integer, parameter :: PL_Z_AXIS = 3 ! The z-axis
- integer, parameter :: PL_OPT_ENABLED = z'0001' ! Obsolete
- integer, parameter :: PL_OPT_ARG = z'0002' ! Option has an argment
- integer, parameter :: PL_OPT_NODELETE = z'0004' ! Don't delete after processing
- integer, parameter :: PL_OPT_INVISIBLE = z'0008' ! Make invisible
- integer, parameter :: PL_OPT_DISABLED = z'0010' ! Processing is disabled
- integer, parameter :: PL_OPT_FUNC = z'0100' ! Call handler function
- integer, parameter :: PL_OPT_BOOL = z'0200' ! Set *var = 1
- integer, parameter :: PL_OPT_INT = z'0400' ! Set *var = atoi(optarg)
- integer, parameter :: PL_OPT_FLOAT = z'0800' ! Set *var = atof(optarg)
- integer, parameter :: PL_OPT_STRING = z'1000' ! Set var = optarg
- integer, parameter :: PL_PARSE_PARTIAL = z'0000' ! For backward compatibility
- integer, parameter :: PL_PARSE_FULL = z'0001' ! Process fully & exit if error
- integer, parameter :: PL_PARSE_QUIET = z'0002' ! Don't issue messages
- integer, parameter :: PL_PARSE_NODELETE = z'0004' ! Don't delete options after
- integer, parameter :: PL_PARSE_SHOWALL = z'0008' ! Show invisible options
- integer, parameter :: PL_PARSE_OVERRIDE = z'0010' ! Obsolete
- integer, parameter :: PL_PARSE_NOPROGRAM = z'0020' ! Program name NOT in *argv[0]..
- integer, parameter :: PL_PARSE_NODASH = z'0040' ! Set if leading dash NOT required
- integer, parameter :: PL_PARSE_SKIP = z'0080' ! Skip over unrecognized args
+ integer, parameter :: PL_OPT_ENABLED = 1 ! Obsolete
+ integer, parameter :: PL_OPT_ARG = 2 ! Option has an argment
+ integer, parameter :: PL_OPT_NODELETE = 4 ! Don't delete after processing
+ integer, parameter :: PL_OPT_INVISIBLE = 8 ! Make invisible
+ integer, parameter :: PL_OPT_DISABLED = 1*16 ! Processing is disabled
+ integer, parameter :: PL_OPT_FUNC = 1*16*16 ! Call handler function
+ integer, parameter :: PL_OPT_BOOL = 2*16*16 ! Set *var = 1
+ integer, parameter :: PL_OPT_INT = 4*16*16 ! Set *var = atoi(optarg)
+ integer, parameter :: PL_OPT_FLOAT = 8*16*16 ! Set *var = atof(optarg)
+ integer, parameter :: PL_OPT_STRING = 1*16*16*16 ! Set var = optarg
+ integer, parameter :: PL_PARSE_PARTIAL = 0 ! For backward compatibility
+ integer, parameter :: PL_PARSE_FULL = 1 ! Process fully & exit if error
+ integer, parameter :: PL_PARSE_QUIET = 2 ! Don't issue messages
+ integer, parameter :: PL_PARSE_NODELETE = 4 ! Don't delete options after
+ integer, parameter :: PL_PARSE_SHOWALL = 8 ! Show invisible options
+ integer, parameter :: PL_PARSE_OVERRIDE = 1*16 ! Obsolete
+ integer, parameter :: PL_PARSE_NOPROGRAM = 2*16 ! Program name NOT in *argv[0]..
+ integer, parameter :: PL_PARSE_NODASH = 4*16 ! Set if leading dash NOT required
+ integer, parameter :: PL_PARSE_SKIP = 8*16 ! Skip over unrecognized args
integer, parameter :: PL_FCI_MARK = ishft(1,31)
- integer, parameter :: PL_FCI_IMPOSSIBLE = z'00000000'
- integer, parameter :: PL_FCI_HEXDIGIT_MASK = z'f'
- integer, parameter :: PL_FCI_HEXPOWER_MASK = z'7'
- integer, parameter :: PL_FCI_HEXPOWER_IMPOSSIBLE = z'f'
- integer, parameter :: PL_FCI_FAMILY = z'0'
- integer, parameter :: PL_FCI_STYLE = z'1'
- integer, parameter :: PL_FCI_WEIGHT = z'2'
- integer, parameter :: PL_FCI_SANS = z'0'
- integer, parameter :: PL_FCI_SERIF = z'1'
- integer, parameter :: PL_FCI_MONO = z'2'
- integer, parameter :: PL_FCI_SCRIPT = z'3'
- integer, parameter :: PL_FCI_SYMBOL = z'4'
- integer, parameter :: PL_FCI_UPRIGHT = z'0'
- integer, parameter :: PL_FCI_ITALIC = z'1'
- integer, parameter :: PL_FCI_OBLIQUE = z'2'
- integer, parameter :: PL_FCI_MEDIUM = z'0'
- integer, parameter :: PL_FCI_BOLD = z'1'
+ integer, parameter :: PL_FCI_IMPOSSIBLE = 0
+ integer, parameter :: PL_FCI_HEXDIGIT_MASK = 15
+ integer, parameter :: PL_FCI_HEXPOWER_MASK = 7
+ integer, parameter :: PL_FCI_HEXPOWER_IMPOSSIBLE = 15
+ integer, parameter :: PL_FCI_FAMILY = 0
+ integer, parameter :: PL_FCI_STYLE = 1
+ integer, parameter :: PL_FCI_WEIGHT = 2
+ integer, parameter :: PL_FCI_SANS = 0
+ integer, parameter :: PL_FCI_SERIF = 1
+ integer, parameter :: PL_FCI_MONO = 2
+ integer, parameter :: PL_FCI_SCRIPT = 3
+ integer, parameter :: PL_FCI_SYMBOL = 4
+ integer, parameter :: PL_FCI_UPRIGHT = 0
+ integer, parameter :: PL_FCI_ITALIC = 1
+ integer, parameter :: PL_FCI_OBLIQUE = 2
+ integer, parameter :: PL_FCI_MEDIUM = 0
+ integer, parameter :: PL_FCI_BOLD = 1
integer, parameter :: PL_MAXKEY = 16
integer, parameter :: PL_MAXWINDOWS = 64 ! Max number of windows/page tracked
real(kind=plflt), parameter :: PL_NOTSET = -42.0_plflt
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ai...@us...> - 2013-10-30 17:29:34
|
Revision: 12640
http://sourceforge.net/p/plplot/code/12640
Author: airwin
Date: 2013-10-30 17:29:31 +0000 (Wed, 30 Oct 2013)
Log Message:
-----------
Change from Fortran 95 "data" form of specifying constants in the BOZ
(z'....') form, e.g.,
integer :: PL_FCI_SANS
data PL_FCI_SANS / z'0' /
to treating such constants just like integers, e.g.,
integer, parameter :: PL_FCI_SANS = z'0'
The latter form is allowed by the Fortran 2003 standard, and also
from Arjen's research implemented by most/all Fortran compilers.
Modified Paths:
--------------
trunk/bindings/f95/global_defines.sed
trunk/bindings/f95/plplot_parameters.h
Modified: trunk/bindings/f95/global_defines.sed
===================================================================
--- trunk/bindings/f95/global_defines.sed 2013-10-29 00:18:45 UTC (rev 12639)
+++ trunk/bindings/f95/global_defines.sed 2013-10-30 17:29:31 UTC (rev 12640)
@@ -40,5 +40,6 @@
/^#define/ s?^#define *\(PL_NOTSET\)[ (]*\([^ ]*\)[ )]*\(.*\)$? real(kind=plflt), parameter :: \1 = \2.0_plflt\3\n real(kind=plflt), parameter :: PL_PI = 3.1415926535897932384_plflt\n real(kind=plflt), parameter :: PL_TWOPI = 2.0_plflt*PL_PI?
-/^#define/ s?^#define *\([^ ]*\)[ (]*\([oz][^ ]*\)[ )]*\(.*\)$? integer :: \1 \3\n data \1 / \2 /?
+# Comment the following line so that we do not use a special form for BOZ constants.
+#/^#define/ s?^#define *\([^ ]*\)[ (]*\([oz][^ ]*\)[ )]*\(.*\)$? integer :: \1 \3\n data \1 / \2 /?
/^#define/ s?^#define *\([^ ]*\)[ (]*\([^ ]*\)[ )]*\(.*\)$? integer, parameter :: \1 = \2 \3?
Modified: trunk/bindings/f95/plplot_parameters.h
===================================================================
--- trunk/bindings/f95/plplot_parameters.h 2013-10-29 00:18:45 UTC (rev 12639)
+++ trunk/bindings/f95/plplot_parameters.h 2013-10-30 17:29:31 UTC (rev 12640)
@@ -29,26 +29,16 @@
integer, parameter :: PLESC_HAS_TEXT = 20 ! driver draws text
integer, parameter :: PLESC_IMAGE = 21 ! handle image
integer, parameter :: PLESC_IMAGEOPS = 22 ! plimage related operations
- integer :: DRAW_LINEX ! draw lines parallel to the X axis
- data DRAW_LINEX / z'01' /
- integer :: DRAW_LINEY ! draw lines parallel to the Y axis
- data DRAW_LINEY / z'02' /
- integer :: DRAW_LINEXY ! draw lines parallel to both the X and Y axes
- data DRAW_LINEXY / z'03' /
- integer :: MAG_COLOR ! draw the mesh with a color dependent of the magnitude
- data MAG_COLOR / z'04' /
- integer :: BASE_CONT ! draw contour plot at bottom xy plane
- data BASE_CONT / z'08' /
- integer :: TOP_CONT ! draw contour plot at top xy plane
- data TOP_CONT / z'10' /
- integer :: SURF_CONT ! draw contour plot at surface
- data SURF_CONT / z'20' /
- integer :: DRAW_SIDES ! draw sides
- data DRAW_SIDES / z'40' /
- integer :: FACETED ! draw outline for each square that makes up the surface
- data FACETED / z'80' /
- integer :: MESH ! draw mesh
- data MESH / z'100' /
+ integer, parameter :: DRAW_LINEX = z'01' ! draw lines parallel to the X axis
+ integer, parameter :: DRAW_LINEY = z'02' ! draw lines parallel to the Y axis
+ integer, parameter :: DRAW_LINEXY = z'03' ! draw lines parallel to both the X and Y axes
+ integer, parameter :: MAG_COLOR = z'04' ! draw the mesh with a color dependent of the magnitude
+ integer, parameter :: BASE_CONT = z'08' ! draw contour plot at bottom xy plane
+ integer, parameter :: TOP_CONT = z'10' ! draw contour plot at top xy plane
+ integer, parameter :: SURF_CONT = z'20' ! draw contour plot at surface
+ integer, parameter :: DRAW_SIDES = z'40' ! draw sides
+ integer, parameter :: FACETED = z'80' ! draw outline for each square that makes up the surface
+ integer, parameter :: MESH = z'100' ! draw mesh
integer, parameter :: PL_BIN_DEFAULT = 0
integer, parameter :: PL_BIN_CENTRED = 1
integer, parameter :: PL_BIN_NOEXPAND = 2
@@ -74,118 +64,65 @@
integer, parameter :: PL_LEGEND_BACKGROUND = 32
integer, parameter :: PL_LEGEND_BOUNDING_BOX = 64
integer, parameter :: PL_LEGEND_ROW_MAJOR = 128
- integer :: PL_COLORBAR_LABEL_LEFT
- data PL_COLORBAR_LABEL_LEFT / z'1' /
- integer :: PL_COLORBAR_LABEL_RIGHT
- data PL_COLORBAR_LABEL_RIGHT / z'2' /
- integer :: PL_COLORBAR_LABEL_TOP
- data PL_COLORBAR_LABEL_TOP / z'4' /
- integer :: PL_COLORBAR_LABEL_BOTTOM
- data PL_COLORBAR_LABEL_BOTTOM / z'8' /
- integer :: PL_COLORBAR_IMAGE
- data PL_COLORBAR_IMAGE / z'10' /
- integer :: PL_COLORBAR_SHADE
- data PL_COLORBAR_SHADE / z'20' /
- integer :: PL_COLORBAR_GRADIENT
- data PL_COLORBAR_GRADIENT / z'40' /
- integer :: PL_COLORBAR_CAP_NONE
- data PL_COLORBAR_CAP_NONE / z'80' /
- integer :: PL_COLORBAR_CAP_LOW
- data PL_COLORBAR_CAP_LOW / z'100' /
- integer :: PL_COLORBAR_CAP_HIGH
- data PL_COLORBAR_CAP_HIGH / z'200' /
- integer :: PL_COLORBAR_SHADE_LABEL
- data PL_COLORBAR_SHADE_LABEL / z'400' /
- integer :: PL_COLORBAR_ORIENT_RIGHT
- data PL_COLORBAR_ORIENT_RIGHT / z'800' /
- integer :: PL_COLORBAR_ORIENT_TOP
- data PL_COLORBAR_ORIENT_TOP / z'1000' /
- integer :: PL_COLORBAR_ORIENT_LEFT
- data PL_COLORBAR_ORIENT_LEFT / z'2000' /
- integer :: PL_COLORBAR_ORIENT_BOTTOM
- data PL_COLORBAR_ORIENT_BOTTOM / z'4000' /
- integer :: PL_COLORBAR_BACKGROUND
- data PL_COLORBAR_BACKGROUND / z'8000' /
- integer :: PL_COLORBAR_BOUNDING_BOX
- data PL_COLORBAR_BOUNDING_BOX / z'10000' /
+ integer, parameter :: PL_COLORBAR_LABEL_LEFT = z'1'
+ integer, parameter :: PL_COLORBAR_LABEL_RIGHT = z'2'
+ integer, parameter :: PL_COLORBAR_LABEL_TOP = z'4'
+ integer, parameter :: PL_COLORBAR_LABEL_BOTTOM = z'8'
+ integer, parameter :: PL_COLORBAR_IMAGE = z'10'
+ integer, parameter :: PL_COLORBAR_SHADE = z'20'
+ integer, parameter :: PL_COLORBAR_GRADIENT = z'40'
+ integer, parameter :: PL_COLORBAR_CAP_NONE = z'80'
+ integer, parameter :: PL_COLORBAR_CAP_LOW = z'100'
+ integer, parameter :: PL_COLORBAR_CAP_HIGH = z'200'
+ integer, parameter :: PL_COLORBAR_SHADE_LABEL = z'400'
+ integer, parameter :: PL_COLORBAR_ORIENT_RIGHT = z'800'
+ integer, parameter :: PL_COLORBAR_ORIENT_TOP = z'1000'
+ integer, parameter :: PL_COLORBAR_ORIENT_LEFT = z'2000'
+ integer, parameter :: PL_COLORBAR_ORIENT_BOTTOM = z'4000'
+ integer, parameter :: PL_COLORBAR_BACKGROUND = z'8000'
+ integer, parameter :: PL_COLORBAR_BOUNDING_BOX = z'10000'
integer, parameter :: PLSWIN_DEVICE = 1 ! device coordinates
integer, parameter :: PLSWIN_WORLD = 2 ! world coordinates
integer, parameter :: PL_X_AXIS = 1 ! The x-axis
integer, parameter :: PL_Y_AXIS = 2 ! The y-axis
integer, parameter :: PL_Z_AXIS = 3 ! The z-axis
- integer :: PL_OPT_ENABLED ! Obsolete
- data PL_OPT_ENABLED / z'0001' /
- integer :: PL_OPT_ARG ! Option has an argment
- data PL_OPT_ARG / z'0002' /
- integer :: PL_OPT_NODELETE ! Don't delete after processing
- data PL_OPT_NODELETE / z'0004' /
- integer :: PL_OPT_INVISIBLE ! Make invisible
- data PL_OPT_INVISIBLE / z'0008' /
- integer :: PL_OPT_DISABLED ! Processing is disabled
- data PL_OPT_DISABLED / z'0010' /
- integer :: PL_OPT_FUNC ! Call handler function
- data PL_OPT_FUNC / z'0100' /
- integer :: PL_OPT_BOOL ! Set *var = 1
- data PL_OPT_BOOL / z'0200' /
- integer :: PL_OPT_INT ! Set *var = atoi(optarg)
- data PL_OPT_INT / z'0400' /
- integer :: PL_OPT_FLOAT ! Set *var = atof(optarg)
- data PL_OPT_FLOAT / z'0800' /
- integer :: PL_OPT_STRING ! Set var = optarg
- data PL_OPT_STRING / z'1000' /
- integer :: PL_PARSE_PARTIAL ! For backward compatibility
- data PL_PARSE_PARTIAL / z'0000' /
- integer :: PL_PARSE_FULL ! Process fully & exit if error
- data PL_PARSE_FULL / z'0001' /
- integer :: PL_PARSE_QUIET ! Don't issue messages
- data PL_PARSE_QUIET / z'0002' /
- integer :: PL_PARSE_NODELETE ! Don't delete options after
- data PL_PARSE_NODELETE / z'0004' /
- integer :: PL_PARSE_SHOWALL ! Show invisible options
- data PL_PARSE_SHOWALL / z'0008' /
- integer :: PL_PARSE_OVERRIDE ! Obsolete
- data PL_PARSE_OVERRIDE / z'0010' /
- integer :: PL_PARSE_NOPROGRAM ! Program name NOT in *argv[0]..
- data PL_PARSE_NOPROGRAM / z'0020' /
- integer :: PL_PARSE_NODASH ! Set if leading dash NOT required
- data PL_PARSE_NODASH / z'0040' /
- integer :: PL_PARSE_SKIP ! Skip over unrecognized args
- data PL_PARSE_SKIP / z'0080' /
+ integer, parameter :: PL_OPT_ENABLED = z'0001' ! Obsolete
+ integer, parameter :: PL_OPT_ARG = z'0002' ! Option has an argment
+ integer, parameter :: PL_OPT_NODELETE = z'0004' ! Don't delete after processing
+ integer, parameter :: PL_OPT_INVISIBLE = z'0008' ! Make invisible
+ integer, parameter :: PL_OPT_DISABLED = z'0010' ! Processing is disabled
+ integer, parameter :: PL_OPT_FUNC = z'0100' ! Call handler function
+ integer, parameter :: PL_OPT_BOOL = z'0200' ! Set *var = 1
+ integer, parameter :: PL_OPT_INT = z'0400' ! Set *var = atoi(optarg)
+ integer, parameter :: PL_OPT_FLOAT = z'0800' ! Set *var = atof(optarg)
+ integer, parameter :: PL_OPT_STRING = z'1000' ! Set var = optarg
+ integer, parameter :: PL_PARSE_PARTIAL = z'0000' ! For backward compatibility
+ integer, parameter :: PL_PARSE_FULL = z'0001' ! Process fully & exit if error
+ integer, parameter :: PL_PARSE_QUIET = z'0002' ! Don't issue messages
+ integer, parameter :: PL_PARSE_NODELETE = z'0004' ! Don't delete options after
+ integer, parameter :: PL_PARSE_SHOWALL = z'0008' ! Show invisible options
+ integer, parameter :: PL_PARSE_OVERRIDE = z'0010' ! Obsolete
+ integer, parameter :: PL_PARSE_NOPROGRAM = z'0020' ! Program name NOT in *argv[0]..
+ integer, parameter :: PL_PARSE_NODASH = z'0040' ! Set if leading dash NOT required
+ integer, parameter :: PL_PARSE_SKIP = z'0080' ! Skip over unrecognized args
integer, parameter :: PL_FCI_MARK = ishft(1,31)
- integer :: PL_FCI_IMPOSSIBLE
- data PL_FCI_IMPOSSIBLE / z'00000000' /
- integer :: PL_FCI_HEXDIGIT_MASK
- data PL_FCI_HEXDIGIT_MASK / z'f' /
- integer :: PL_FCI_HEXPOWER_MASK
- data PL_FCI_HEXPOWER_MASK / z'7' /
- integer :: PL_FCI_HEXPOWER_IMPOSSIBLE
- data PL_FCI_HEXPOWER_IMPOSSIBLE / z'f' /
- integer :: PL_FCI_FAMILY
- data PL_FCI_FAMILY / z'0' /
- integer :: PL_FCI_STYLE
- data PL_FCI_STYLE / z'1' /
- integer :: PL_FCI_WEIGHT
- data PL_FCI_WEIGHT / z'2' /
- integer :: PL_FCI_SANS
- data PL_FCI_SANS / z'0' /
- integer :: PL_FCI_SERIF
- data PL_FCI_SERIF / z'1' /
- integer :: PL_FCI_MONO
- data PL_FCI_MONO / z'2' /
- integer :: PL_FCI_SCRIPT
- data PL_FCI_SCRIPT / z'3' /
- integer :: PL_FCI_SYMBOL
- data PL_FCI_SYMBOL / z'4' /
- integer :: PL_FCI_UPRIGHT
- data PL_FCI_UPRIGHT / z'0' /
- integer :: PL_FCI_ITALIC
- data PL_FCI_ITALIC / z'1' /
- integer :: PL_FCI_OBLIQUE
- data PL_FCI_OBLIQUE / z'2' /
- integer :: PL_FCI_MEDIUM
- data PL_FCI_MEDIUM / z'0' /
- integer :: PL_FCI_BOLD
- data PL_FCI_BOLD / z'1' /
+ integer, parameter :: PL_FCI_IMPOSSIBLE = z'00000000'
+ integer, parameter :: PL_FCI_HEXDIGIT_MASK = z'f'
+ integer, parameter :: PL_FCI_HEXPOWER_MASK = z'7'
+ integer, parameter :: PL_FCI_HEXPOWER_IMPOSSIBLE = z'f'
+ integer, parameter :: PL_FCI_FAMILY = z'0'
+ integer, parameter :: PL_FCI_STYLE = z'1'
+ integer, parameter :: PL_FCI_WEIGHT = z'2'
+ integer, parameter :: PL_FCI_SANS = z'0'
+ integer, parameter :: PL_FCI_SERIF = z'1'
+ integer, parameter :: PL_FCI_MONO = z'2'
+ integer, parameter :: PL_FCI_SCRIPT = z'3'
+ integer, parameter :: PL_FCI_SYMBOL = z'4'
+ integer, parameter :: PL_FCI_UPRIGHT = z'0'
+ integer, parameter :: PL_FCI_ITALIC = z'1'
+ integer, parameter :: PL_FCI_OBLIQUE = z'2'
+ integer, parameter :: PL_FCI_MEDIUM = z'0'
+ integer, parameter :: PL_FCI_BOLD = z'1'
integer, parameter :: PL_MAXKEY = 16
integer, parameter :: PL_MAXWINDOWS = 64 ! Max number of windows/page tracked
real(kind=plflt), parameter :: PL_NOTSET = -42.0_plflt
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|