{"id":21707791,"url":"https://github.com/flightaware/tcljs","last_synced_at":"2025-03-20T17:22:17.640Z","repository":{"id":66872764,"uuid":"40393672","full_name":"flightaware/tcljs","owner":"flightaware","description":"Tcl extension to execute JavaScript using the SpiderMonkey Javascript interpreter","archived":false,"fork":false,"pushed_at":"2015-08-08T06:26:56.000Z","size":224,"stargazers_count":2,"open_issues_count":0,"forks_count":1,"subscribers_count":8,"default_branch":"master","last_synced_at":"2023-04-18T10:34:10.070Z","etag":null,"topics":["javascript-interpreter","spidermonkey","tcl","tcl-extension"],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/flightaware.png","metadata":{"files":{"readme":"README","changelog":"ChangeLog","contributing":null,"funding":null,"license":"license.terms","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-08-08T06:20:12.000Z","updated_at":"2023-04-18T10:34:10.071Z","dependencies_parsed_at":"2023-02-25T17:31:06.281Z","dependency_job_id":null,"html_url":"https://github.com/flightaware/tcljs","commit_stats":null,"previous_names":[],"tags_count":null,"template":null,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flightaware%2Ftcljs","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flightaware%2Ftcljs/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flightaware%2Ftcljs/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flightaware%2Ftcljs/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/flightaware","download_url":"https://codeload.github.com/flightaware/tcljs/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244657038,"owners_count":20488708,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["javascript-interpreter","spidermonkey","tcl","tcl-extension"],"created_at":"2024-11-25T22:19:17.245Z","updated_at":"2025-03-20T17:22:17.615Z","avatar_url":"https://github.com/flightaware.png","language":"C","readme":"This is a Tcl extension to execute JavaScript using the SpiderMonkey Javascript\ninterpreter from Tcl.\n\nThis package is a freely available open source package.  You can do\nvirtually anything you like with it, such as modifying it, redistributing\nit, and selling it either in whole or in part.  See the file\n\"license.terms\" for complete information.\n\nCONTENTS\n========\nThe following is a short description of the files you will find in\nthe sample extension.\n\nMakefile.in\tMakefile template.  The configure script uses this file to\n\t\tproduce the final Makefile.\n\nREADME\t\tThis file\n\naclocal.m4\tGenerated file.  Do not edit.  Autoconf uses this as input\n\t\twhen generating the final configure script.  See \"tcl.m4\"\n\t\tbelow.\n\nconfigure\tGenerated file.  Do not edit.  This must be regenerated\n\t\tanytime configure.in or tclconfig/tcl.m4 changes.\n\nconfigure.in\tConfigure script template.  Autoconf uses this file as input\n\t\tto produce the final configure script.\n\npkgIndex.tcl.in Package index template.  The configure script will use\n\t\tthis file as input to create pkgIndex.tcl.\n\ntcljs.c\t        Implementation of new Tcl command \"js::interp\"\n\ntclconfig/\tThis directory contains various template files that build\n\t\tthe configure script.  They should not need modification.\n\n\tinstall-sh\tProgram used for copying binaries and script files\n\t\t\tto their install locations.\n\n\ttcl.m4\t\tCollection of Tcl autoconf macros.  Included by\n\t\t\taclocal.m4 to define SC_* macros.\n\nSPIDERMONKEY\n============\n\nThis extension depends on the SpiderMonkey JavaScript interpreter. You can get\nit from here:\n\n    http://www.mozilla.org/js/spidermonkey/\n\nBuild SpiderMonkey before building the TclJs extension.\n\nUNIX BUILD\n==========\n\nBuilding under most UNIX systems is easy, just run the configure script and\nthen run make. You will need to specify 3 configure parameters:\n\n    --with-spidermonkey=\u003cDIR\u003e\n\n        The directory in which SpiderMonkey is extracted and built. When you\n        extracted the SpiderMonkey archive in /tmp, the directory is /tmp/js\n\n    --with-spidermonkey-build-type=\u003cBUILD-TYPE\u003e\n\n        The SpiderMonkey build type. To find this type, go to the src sub\n        directory in the directory in which you extracted SpiderMonkey (this is\n        also the directory in which you built SpiderMonkey). In the example\n        given above this would be directory /tmp/js/src. A new sub-directory\n        was added to this directory, the name of this directory is the required\n        build type. On Linux this looks like: \n\n            Linux_All_DBG.OBJ\n\n    --with-spidermonkey-flags=\u003cFLAGS\u003e\n\n        When building SpiderMonkey, some -D flags are used to selec the\n        appropriate parts of header file. These need to be specified with this\n        configure parameter. On Linux, the following flags was required:\n\n            -DXP_UNIX\n\nThe following minimal example will configure, compile, test and install the\nextension in the /opt/tcl directory when SpiderMonkey was build in /tmp/js for\nLinux:\n\n\t$ cd sampleextension\n\t$ ./configure --prefix=/opt/tcl \\\n\t    --with-spidermonkey=/tmp/js \\\n\t    --with-spidermonkey-build-type=Linux_All_DBG.OBJ \\\n\t    --with-spidermonkey-flags=-DXP_UNIX\n\t$ make\n\t$ make test\n\t$ make install\n\nWINDOWS BUILD\n=============\n\nBuilding on Windows was only tested using Makefile.vc and VC9. Alternative using\ncygwin and/or msys were not tested.\n\nTo build Spidermonkey on Windows this command was used:\n\n \u003e nmake -f js.mak CFG=\"js - Win32 Release\"\n\nYou will need to use 'mt.exe' to add the manifest file to the generated dll. Run\nthis command in the 'Release' directory:\n\n \u003e mt -manifest js32.dll.manifest -outputresource:js32.dll;2\n\nBuilding, test and install the extension with the following commands (int the\nwin directory):\n\n \u003e nmake -f makefile.vc TCLDIR=c:\\Tcl SPIDERMONKEYDIR=c:\\tmp\\js \\\n       SPIDERMONKEYTYPE=Release SPIDERMONKEYFLAGS=/DXP_WIN clean\n \u003e nmake -f makefile.vc TCLDIR=c:\\Tcl SPIDERMONKEYDIR=c:\\tmp\\js \\\n       SPIDERMONKEYTYPE=Release SPIDERMONKEYFLAGS=/DXP_WIN\n \u003e nmake -f makefile.vc TCLDIR=c:\\Tcl SPIDERMONKEYDIR=c:\\tmp\\js \\\n       SPIDERMONKEYTYPE=Release SPIDERMONKEYFLAGS=/DXP_WIN test\n \u003e nmake -f makefile.vc TCLDIR=c:\\Tcl SPIDERMONKEYDIR=c:\\tmp\\js \\\n       SPIDERMONKEYTYPE=Release SPIDERMONKEYFLAGS=/DXP_WIN install\n\nAfter install, copy the js32.dll and required MSVCR* files into the lib\ndirectory where TclJs01.dll is located.\n\nINSTALLATION\n============\n\nThe installation of a TEA package is structure like so:\n\n         $exec_prefix\n          /       \\\n        lib       bin\n         |         |\n   PACKAGEx.y   (dependent .dll files on Windows)\n         |\n  pkgIndex.tcl (.so|.dll files)\n\nThe main .so|.dll library file gets installed in the versioned PACKAGE\ndirectory, which is OK on all platforms because it will be directly\nreferenced with by 'load' in the pkgIndex.tcl file.  Dependent DLL files on\nWindows must go in the bin directory (or other directory on the user's\nPATH) in order for them to be found.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fflightaware%2Ftcljs","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fflightaware%2Ftcljs","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fflightaware%2Ftcljs/lists"}