Changeset 41890bb in tol for toltcl


Ignore:
Timestamp:
Sep 18, 2015, 11:54:03 AM (11 years ago)
Author:
Jorge Pérez <josp.jorge@…>
Branches:
1941-docker-image-to-test, devel, master
Children:
9e177ec
Parents:
c987a37
Message:

refs #1866, tolsh cortocircuita el procesamiento de argv para evitar que tcl procese e interprete nuestras opciones de linea de comandos, se corrigen algunos aspectos de instalación en Linux

git-svn-id: ​https://www.tol-project.org/svn/tolp/trunk@6859 be4846ae-f051-483a-831f-b64e7d08527f

Location:
toltcl
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • toltcl/CMakeLists.txt

    rc987a37 r41890bb  
    5555  message( STATUS ${TCL_INCLUDE_PATH} )
    5656  message( STATUS ${TCL_LIBRARY_PATH} )
    57   get_filename_component( CMAKE_INSTALL_PREFIX ${TCL_LIBRARY_PATH} PATH )
     57  if ( NOT CMAKE_INSTALL_PREFIX )
     58    get_filename_component( CMAKE_INSTALL_PREFIX ${TCL_LIBRARY_PATH} PATH )
     59  endif( )
    5860  message( STATUS "Using CMAKE_INSTALL_PREFIX = ${CMAKE_INSTALL_PREFIX}" )
    5961else( TCL_FOUND )
  • toltcl/generic/CMakeLists.txt

    rc987a37 r41890bb  
    3232  toltableset.cpp toltime.cpp
    3333)
     34
     35set_target_properties( toltcl PROPERTIES OUTPUT_NAME
     36  toltcl${TOLTCL_VERSION_MAJOR}.${TOLTCL_VERSION_MINOR} )
     37
    3438set_target_properties( toltcl PROPERTIES COMPILE_FLAGS "-DBUILD_TOLTCL -DUSE_TCL_STUBS")
    3539
  • toltcl/generic/tolsh.c

    rc987a37 r41890bb  
    11#include <tcl.h>
    22#include "toltcl.h"
     3
     4static int g_argc = 0;
     5static char **g_argv = NULL;
     6
     7static
     8void SetupArgv( Tcl_Interp *interp )
     9{
     10  Tcl_Obj *argvPtr = Tcl_NewListObj(0, NULL);
     11  int i;
     12  for( i = 1; i < g_argc; i++ )
     13    {
     14      Tcl_DString ds;
     15      Tcl_ExternalToUtfDString(NULL, g_argv[i], -1, &ds);
     16      Tcl_ListObjAppendElement(NULL, argvPtr,
     17                               Tcl_NewStringObj(Tcl_DStringValue(&ds),
     18                                                Tcl_DStringLength(&ds)));
     19      Tcl_DStringFree(&ds);
     20    }
     21    Tcl_SetVar2Ex(interp, "argv", NULL, argvPtr, TCL_GLOBAL_ONLY);
     22    Tcl_SetVar2Ex(interp, "argc", NULL, Tcl_NewIntObj(g_argc-1), TCL_GLOBAL_ONLY);
     23}
    324
    425int AppInit(Tcl_Interp *interp)
    … …  
    829    return TCL_ERROR;
    930    }
     31  SetupArgv( interp );
    1032  Tcl_PkgRequire( interp, "TolshApp", TOLTCL_VERSION, 1);
    1133  return TCL_OK;
    … …  
    1436int main(int argc, char *argv[])
    1537{
    16   Tcl_Main( argc, argv, AppInit );
     38  g_argc = argc;
     39  g_argv = argv;
     40  Tcl_Main( 1, argv, AppInit );
    1741  return 0;
    1842}
  • toltcl/library/tolsh.tcl

    rc987a37 r41890bb  
    592592
    593593puts "voy ::tolsh::run $argv"
    594 ::tolsh::run $argv
     594::tolsh::run $::argv
    595595exit
Note: See TracChangeset for help on using the changeset viewer.