Well, Tcl 8.5 has finally landed in Fedora Development again. You can
see some results from earlier attempts here:
http://www.mail-archive.com/plplot-devel@lists.sourceforge.net/msg00440.html
I've attached my recreated attempt to patch to handle it. Again, we
compile, but the examples don't actually run:
8/ 14 Testing examples_tcl
Test command: /bin/bash -c
EXAMPLES_DIR=/builddir/build/BUILD/plplot-5.8.0/fedora/examples\
SRC_EXAMPLES_DIR=/builddir/build/BUILD/plplot-5.8.0/examples\
PLPLOT_LIB=/builddir/build/BUILD/plplot-5.8.0/data/\ ./plplot-test.sh\
--device=psc\ --front-end=tcl
Testing front-end tcl
application-specific initialization failed:
invalid command name "plinit"
invalid command name "plgdev"
invalid command name "plgdev"
invalid command name "plgdev"
invalid command name "plgdev"
application-specific initialization failed:
invalid command name "plinit"
invalid command name "matrix"
application-specific initialization failed:
invalid command name "plinit"
while executing
"plinit"
(file "./x01" line 17)
-- Process completed
***Failed
This needs someone knowledgeable with Tcl internals to take a look.
--
Orion Poplawski
Technical Manager 303-415-9701 x222
NWRA/CoRA Division FAX: 303-415-9702
3380 Mitchell Lane [EMAIL PROTECTED]
Boulder, CO 80301 http://www.cora.nwra.com
--- plplot-5.8.0/bindings/tk/tkMain.c.tcl 2007-11-18 13:04:01.000000000 -0700
+++ plplot-5.8.0/bindings/tk/tkMain.c 2008-01-07 10:19:48.000000000 -0700
@@ -66,6 +66,7 @@
#include <stdio.h>
#include <stdlib.h>
#include <tcl.h>
+#include <tclInt.h>
#include <tk.h>
#ifdef HAVE_ITCL
# ifndef HAVE_ITCLDECLS_H
@@ -83,15 +84,6 @@
EXTERN int Itk_Init _ANSI_ARGS_((Tcl_Interp * interp));
-/* From tclIntDecls.h */
-
-EXTERN int Tcl_Import _ANSI_ARGS_((Tcl_Interp * interp,
- Tcl_Namespace * nsPtr, char * pattern,
- int allowOverwrite));
-
-EXTERN Tcl_Namespace * Tcl_GetGlobalNamespace _ANSI_ARGS_((
- Tcl_Interp * interp));
-
/*
* Declarations for various library procedures and variables (don't want
* to include tkInt.h or tkConfig.h here, because people might copy this
--- plplot-5.8.0/cmake/modules/tcl-related.cmake.tcl 2007-11-18 13:03:56.000000000 -0700
+++ plplot-5.8.0/cmake/modules/tcl-related.cmake 2008-01-07 10:31:12.000000000 -0700
@@ -57,6 +57,8 @@
if(ENABLE_tcl)
message(STATUS "Looking for include paths and libraries for Tcl/Tk")
find_package(TCL)
+ # Add Tcl private bindings
+ set(TCL_INCLUDE_PATH ${TCL_INCLUDE_PATH} ${TCL_INCLUDE_PATH}/tcl-private/generic ${TCL_INCLUDE_PATH}/tcl-private/unix)
# Supplement those results with iTcl and iTk include paths and libraries.
if(TCL_FOUND)
message(STATUS
--- plplot-5.8.0/bindings/tcl/CMakeLists.txt.tcl 2007-11-18 13:04:00.000000000 -0700
+++ plplot-5.8.0/bindings/tcl/CMakeLists.txt 2008-01-07 10:58:16.000000000 -0700
@@ -34,9 +34,11 @@
${CMAKE_BINARY_DIR}/include
)
+# Transform TCL_INCLUDE_PATH (which is a list) to blank-delimited flag form.
+string(REGEX REPLACE ";" " -I" TCLLIB_COMPILE_FLAGS "-I${TCL_INCLUDE_PATH}")
set(
libplplottcltk${LIB_TAG}_COMPILE_FLAGS
-"-I${TCL_INCLUDE_PATH}"
+"-I${TCLLIB_COMPILE_FLAGS}"
)
if(WIN32 AND BUILD_SHARED_LIBS)
--- plplot-5.8.0/cmake/modules/tk.cmake.tcl 2007-11-18 13:03:55.000000000 -0700
+++ plplot-5.8.0/cmake/modules/tk.cmake 2008-01-07 13:14:48.000000000 -0700
@@ -54,12 +54,14 @@
endif(PLD_tk OR PLD_ntk OR PLD_tkwin)
endif(NOT ENABLE_tk)
+# Transform TCL_INCLUDE_PATH (which is a list) to blank-delimited flag form.
+string(REGEX REPLACE ";" " -I" TCLLIB_COMPILE_FLAGS "-I${TCL_INCLUDE_PATH}")
# Transform TK_INCLUDE_PATH (which is a list) to blank-delimited flag form.
string(REGEX REPLACE ";" " -I" TKLIB_COMPILE_FLAGS "-I${TK_INCLUDE_PATH}")
if(PLD_tk)
set(tk_COMPILE_FLAGS
- "-I${TCL_INCLUDE_PATH} ${TKLIB_COMPILE_FLAGS} -I${CMAKE_SOURCE_DIR}/bindings/tcl -I${CMAKE_BINARY_DIR}/bindings/tcl -I${CMAKE_SOURCE_DIR}/bindings/tk"
+ "${TCLLIB_COMPILE_FLAGS} ${TKLIB_COMPILE_FLAGS} -I${CMAKE_SOURCE_DIR}/bindings/tcl -I${CMAKE_BINARY_DIR}/bindings/tcl -I${CMAKE_SOURCE_DIR}/bindings/tk"
)
set(tk_LINK_FLAGS plplottcltk${LIB_TAG} ${TCL_LIBRARY} ${TK_LIBRARY})
set(DRIVERS_LINK_FLAGS ${DRIVERS_LINK_FLAGS} ${TCL_LIBRARY} ${TK_LIBRARY})
@@ -98,14 +100,14 @@
endif(PLD_tk)
if(PLD_ntk)
- set(ntk_COMPILE_FLAGS "-I${TCL_INCLUDE_PATH} ${TKLIB_COMPILE_FLAGS}")
+ set(ntk_COMPILE_FLAGS "${TCLLIB_COMPILE_FLAGS} ${TKLIB_COMPILE_FLAGS}")
set(ntk_LINK_FLAGS ${TCL_LIBRARY} ${TK_LIBRARY})
set(DRIVERS_LINK_FLAGS ${DRIVERS_LINK_FLAGS} ${ntk_LINK_FLAGS})
endif(PLD_ntk)
if(PLD_tkwin)
set(tkwin_COMPILE_FLAGS
- "-I${TCL_INCLUDE_PATH} ${TKLIB_COMPILE_FLAGS} -I${CMAKE_SOURCE_DIR}/bindings/tcl -I${CMAKE_BINARY_DIR}/bindings/tcl -I${CMAKE_SOURCE_DIR}/bindings/tk-x-plat -I${CMAKE_SOURCE_DIR}/bindings/tk"
+ "${TCLLIB_COMPILE_FLAGS} ${TKLIB_COMPILE_FLAGS} -I${CMAKE_SOURCE_DIR}/bindings/tcl -I${CMAKE_BINARY_DIR}/bindings/tcl -I${CMAKE_SOURCE_DIR}/bindings/tk-x-plat -I${CMAKE_SOURCE_DIR}/bindings/tk"
)
set(tkwin_LINK_FLAGS plplottcltk${LIB_TAG} ${TCL_LIBRARY} ${TK_LIBRARY})
set(DRIVERS_LINK_FLAGS ${DRIVERS_LINK_FLAGS} ${TCL_LIBRARY} ${TK_LIBRARY})
--- plplot-5.8.0/bindings/tcl/tclMain.c.tcl 2007-11-18 13:04:00.000000000 -0700
+++ plplot-5.8.0/bindings/tcl/tclMain.c 2008-01-07 13:40:01.000000000 -0700
@@ -49,15 +49,12 @@
*/
#include <tcl.h>
+#define HAVE_UNISTD_H
+#include <tclInt.h>
#include "plplot.h"
#define MAKINGPLDLL
#include "pldll.h"
-/* From tclIntDecls.h */
-
-EXTERN int TclFormatInt _ANSI_ARGS_((char * buffer, long n));
-EXTERN int TclObjCommandComplete _ANSI_ARGS_((Tcl_Obj * cmdPtr));
-
# undef TCL_STORAGE_CLASS
# define TCL_STORAGE_CLASS DLLEXPORT
@@ -159,7 +156,7 @@
*
*----------------------------------------------------------------------
*/
-void TclSetStartupScriptFileName(char *fileName)
+void TclSetStartupScriptFileName(const char *fileName)
{
tclStartupScriptFileName = fileName;
}
@@ -181,7 +178,7 @@
*
*----------------------------------------------------------------------
*/
-char *TclGetStartupScriptFileName(void)
+const char *TclGetStartupScriptFileName(void)
{
return tclStartupScriptFileName;
}
-------------------------------------------------------------------------
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services for
just about anything Open Source.
http://ad.doubleclick.net/clk;164216239;13503038;w?http://sf.net/marketplace
_______________________________________________
Plplot-devel mailing list
Plplot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/plplot-devel