README.txt 2.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  1. TinyCThread v1.2
  2. ================
  3. https://tinycthread.github.io
  4. About
  5. -----
  6. TinyCThread is a minimalist, portable, threading library for C, intended to
  7. make it easy to create multi threaded C applications.
  8. The library is closesly modeled after the C11 standard, but only a subset is
  9. implemented at the moment.
  10. See the documentation in the doc/html directory for more information.
  11. Using TinyCThread
  12. -----------------
  13. To use TinyCThread in your own project, just add tinycthread.c and
  14. tinycthread.h to your project. In your own code, do:
  15. #include <tinycthread.h>
  16. TinyCThread also includes CMake support, so if your project uses CMake
  17. you can just `add_subdirectory(tinycthread)`. Then simply add the
  18. tinycthread target (using `target_link_libraries`) where necessary and
  19. CMake will take care of everything else, including adding the correct
  20. include directory and CTest integration.
  21. Building the test programs
  22. --------------------------
  23. From the test folder, issue one of the following commands:
  24. Linux, Mac OS X, OpenSolaris etc:
  25. make (you may need to use gmake on some systems)
  26. Windows/MinGW:
  27. mingw32-make
  28. Windows/MS Visual Studio:
  29. nmake /f Makefile.msvc
  30. History
  31. -------
  32. v1.2 - Unreleased
  33. - Updated API to better match the final specification (e.g. removed mtx_try)
  34. - Improved Windows support, including TSS destructors
  35. - Added once support
  36. - Improved unit testing
  37. - Added CMake support
  38. - Assorted bug fixes
  39. v1.1 - 2012.9.8
  40. - First release.
  41. - Updated API to better match the final specification (e.g. removed xtime).
  42. - Some functionality still missing (mtx_timedlock, TSS destructors under
  43. Windows, ...).
  44. v1.0 - Never released
  45. - Development version based on C11 specification draft.
  46. License
  47. -------
  48. Copyright (c) 2012 Marcus Geelnard
  49. 2013-2016 Evan Nemerson
  50. This software is provided 'as-is', without any express or implied
  51. warranty. In no event will the authors be held liable for any damages
  52. arising from the use of this software.
  53. Permission is granted to anyone to use this software for any purpose,
  54. including commercial applications, and to alter it and redistribute it
  55. freely, subject to the following restrictions:
  56. 1. The origin of this software must not be misrepresented; you must not
  57. claim that you wrote the original software. If you use this software
  58. in a product, an acknowledgment in the product documentation would be
  59. appreciated but is not required.
  60. 2. Altered source versions must be plainly marked as such, and must not be
  61. misrepresented as being the original software.
  62. 3. This notice may not be removed or altered from any source
  63. distribution.