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