{ "info": { "author": "SasView Collaboration", "author_email": "management@sasview.org", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Environment :: Win32 (MS Windows)", "Intended Audience :: Developers", "License :: OSI Approved :: GNU Lesser General Public License v2 (LGPLv2)", "Operating System :: Microsoft :: Windows", "Programming Language :: C", "Programming Language :: Python", "Topic :: Software Development :: Compilers" ], "description": "TinyCC compiler bundle\n======================\n\nTinyCC (or tcc) is a small, fast C compiler capable of compiling python\nextensions that can be loaded as python modules or producing DLLs that\ncan be loaded via ctypes. This version includes compilers for 32-bit and\n64-bit Windows. MacOS and Linux are not supported in this release.\n\nCompiler version: 0.9.26 2013-02-16\n\nInstallation of the compiler and the python interface is simply::\n\n pip install tinycc\n\nFull documentation for the compiler is available at ``_.\nSource and binaries are available from ``_.\nThe tinycc python package is hosted at ``_.\n\n*TCC* is the full path to the tcc.exe executable. Note that the executable\npath may contain spaces so it must be wrapped in quotes when used as part\nof an os.system command.\n\n*TCC_VERSION* is the compiler version.\n\nPython extension\n~~~~~~~~~~~~~~~~\n\nAdding tinycc as a compiler option to setup.py::\n\n import tinycc.distutils\n\nWhen this is done, then you can build your project with::\n\n python setup.py build --compiler=tinycc\n\nNote that tinycc does not support C++ so it cannot be used a replacement\nfor MS Visual C++ for Python or mingw as generic compiler for python\ninstalls.\n\nAlso note that the compiler does not fully support C99, and some constructs\nwhich compile (e. g., returning a structure from a function call) may not\nwork in properly. Be sure to test thoroughly before setting tinycc as a\nrecommended compiler for your python package.\n\nShared library\n~~~~~~~~~~~~~~\n\nBuilding a DLL::\n\n from tinycc import compile\n dll_path = compile(\"hello.c\")\n\nThis creates \"hello.dll\" in the same directory as \"hello.c\", raising\nRuntimeError if the compile fails. The exception contains the compiler\noutput. Use *compile(source, target)* to control the path to the dll.\n\nFor more flexibility, you can call the compiler directly::\n\n import os\n import subprocess\n from tinycc import TCC\n\n source, target = \"hello.c\", \"hello.dll\"\n command = [TCC, \"-shared\", \"-rdynamic\", \"-Wall\", source, \"-o\", target]\n try:\n # need shell=True on windows to keep console box from popping up\n subprocess.check_output(command, shell=True, stderr=subprocess.STDOUT)\n except subprocess.CalledProcessError as exc:\n raise RuntimeError(\"compile failed.\\n%s\\n%s\"%(command_str, exc.output))\n if not os.path.exists(target):\n raise RuntimeError(\"compile failed. File is in %r\"%source)\n\nUse *data_files* to gather the data files required for bundling tinycc\nin a py2exe package. This places the compiler in the tinycc-data directory\nbeside the library.zip generated by py2exe. The following should appear in\nthe setup.py for the py2exe build::\n\n import tinycc\n\n data_files = []\n ...\n data_files.extend(tinycc.data_files())\n ...\n setup(\n ...\n data_files = data_files,\n ...\n )\n\nNote: if you have put tcc.exe somewhere unusual (i.e., not in the tinycc\npackage and not in tinycc-data next to the py2exe generated library or exe),\nthen you can set the environment variable TCC_ROOT to the directory\ncontaining tcc.exe.\n\nRelease Notes\n~~~~~~~~~~~~~\n\n2017-11-20 R 1.1\n\n* support distutils build of python packages\n\n2016-05-31 R 1.0.2\n\n* support build of DLLs for windows 32 and windows 64\n", "description_content_type": null, "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/SasView/tinycc", "keywords": "ctypes compiler", "license": "", "maintainer": "", "maintainer_email": "", "name": "tinycc", "package_url": "https://pypi.org/project/tinycc/", "platform": "", "project_url": "https://pypi.org/project/tinycc/", "project_urls": { "Homepage": "https://github.com/SasView/tinycc" }, "release_url": "https://pypi.org/project/tinycc/1.1/", "requires_dist": null, "requires_python": "", "summary": "TinyCC compiler bundle for windows", "version": "1.1" }, "last_serial": 3352742, "releases": { "1.0": [], "1.0.1": [ { "comment_text": "", "digests": { "md5": "5787889cc8a394c877d04afeed1056b9", "sha256": "ec8226d5f3a527d48ea69dda97c1c6f5d10407dd38a8a27a78dcaed5b5933a5d" }, "downloads": -1, "filename": "tinycc-1.0.1.tar.gz", "has_sig": false, "md5_digest": "5787889cc8a394c877d04afeed1056b9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 487195, "upload_time": "2016-05-31T19:42:57", "url": "https://files.pythonhosted.org/packages/d7/84/9b9ce2ac9d40b5946fb391d668f9ff89d1d045a4f8c4249c1746c6afa5d7/tinycc-1.0.1.tar.gz" } ], "1.0.2": [ { "comment_text": "", "digests": { "md5": "9375956538dad02b73471e5a8dc47773", "sha256": "77593146baf4817c6f669f75404243960014729e77be6ec368448a3edcf1b99b" }, "downloads": -1, "filename": "tinycc-1.0.2.tar.gz", "has_sig": false, "md5_digest": "9375956538dad02b73471e5a8dc47773", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 487203, "upload_time": "2016-05-31T20:03:36", "url": "https://files.pythonhosted.org/packages/64/b8/44504944a8b0cc3480792421945ce727cef8a72e931d021001653f0d3ed0/tinycc-1.0.2.tar.gz" } ], "1.1": [ { "comment_text": "", "digests": { "md5": "411d4f0fc843bf78ead6eafe3d19f8ce", "sha256": "decc99beebdbbd1110bc44e6b2fd2a4531b0f126ac5dd65a3e867dd4ac536f1e" }, "downloads": -1, "filename": "tinycc-1.1.tar.gz", "has_sig": false, "md5_digest": "411d4f0fc843bf78ead6eafe3d19f8ce", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 546210, "upload_time": "2017-11-21T17:10:58", "url": "https://files.pythonhosted.org/packages/aa/5e/f414d24a902fe7616bad19616c326a4463056c1909352c7df99a80b64660/tinycc-1.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "411d4f0fc843bf78ead6eafe3d19f8ce", "sha256": "decc99beebdbbd1110bc44e6b2fd2a4531b0f126ac5dd65a3e867dd4ac536f1e" }, "downloads": -1, "filename": "tinycc-1.1.tar.gz", "has_sig": false, "md5_digest": "411d4f0fc843bf78ead6eafe3d19f8ce", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 546210, "upload_time": "2017-11-21T17:10:58", "url": "https://files.pythonhosted.org/packages/aa/5e/f414d24a902fe7616bad19616c326a4463056c1909352c7df99a80b64660/tinycc-1.1.tar.gz" } ] }