Test C compiler option '-Wno-switch' usability before '-Wextra'
1 file changed
tree: b2caca36a01c271f1e1a67ea53f199fa8fc10451
  1. .gitignore
  2. AUTHORS
  3. Action.c
  4. Action.h
  5. Affinity.c
  6. Affinity.h
  7. AffinityPanel.c
  8. AffinityPanel.h
  9. ArgScreen.c
  10. AvailableColumnsPanel.c
  11. AvailableColumnsPanel.h
  12. AvailableMetersPanel.c
  13. AvailableMetersPanel.h
  14. BatteryMeter.c
  15. BatteryMeter.h
  16. CONTRIBUTING.md
  17. COPYING
  18. CPUMeter.c
  19. CPUMeter.h
  20. CRT.c
  21. CRT.h
  22. CategoriesPanel.c
  23. CategoriesPanel.h
  24. ChangeLog
  25. CheckItem.c
  26. CheckItem.h
  27. ClockMeter.c
  28. ClockMeter.h
  29. ColorsPanel.c
  30. ColorsPanel.h
  31. ColumnsPanel.c
  32. ColumnsPanel.h
  33. ControlOptionsPanel.c
  34. DisplayOptionsPanel.c
  35. DisplayOptionsPanel.h
  36. EnvScreen.c
  37. EnvScreen.h
  38. FunctionBar.c
  39. FunctionBar.h
  40. Hashtable.c
  41. Hashtable.h
  42. Header.c
  43. Header.h
  44. HostnameMeter.c
  45. HostnameMeter.h
  46. IOUtils.c
  47. IncSet.c
  48. IncSet.h
  49. InfoScreen.c
  50. InfoScreen.h
  51. KStat.c
  52. KernelStackTraceScreen.c
  53. ListItem.c
  54. ListItem.h
  55. LoadAverageMeter.c
  56. LoadAverageMeter.h
  57. MainPanel.c
  58. MainPanel.h
  59. Makefile.am
  60. MemoryMeter.c
  61. MemoryMeter.h
  62. Meter.c
  63. Meter.h
  64. MetersPanel.c
  65. MetersPanel.h
  66. NEWS
  67. Object.c
  68. Object.h
  69. OpenFilesScreen.c
  70. OpenFilesScreen.h
  71. Panel.c
  72. Panel.h
  73. Process.c
  74. Process.h
  75. ProcessList.c
  76. ProcessList.h
  77. README
  78. RichString.c
  79. RichString.h
  80. ScreenManager.c
  81. ScreenManager.h
  82. Settings.c
  83. Settings.h
  84. SignalsPanel.c
  85. SignalsPanel.h
  86. StringUtils.c
  87. StringUtils.h
  88. SwapMeter.c
  89. SwapMeter.h
  90. TESTPLAN
  91. TasksMeter.c
  92. TasksMeter.h
  93. TraceScreen.c
  94. TraceScreen.h
  95. UptimeMeter.c
  96. UptimeMeter.h
  97. UsersTable.c
  98. UsersTable.h
  99. Vector.c
  100. Vector.h
  101. XAlloc.c
  102. XAlloc.h
  103. aix/
  104. autogen.sh
  105. bsd/
  106. configure.ac
  107. contrib/
  108. cygwin/
  109. darwin/
  110. dragonflybsd/
  111. dump-builtin-color-scheme.c
  112. freebsd/
  113. haiku/
  114. htop.1.in
  115. htop.c
  116. htop.desktop
  117. htop.h
  118. htop.png
  119. hurd/
  120. interix/
  121. linux/
  122. local-curses.h
  123. openbsd/
  124. scripts/
  125. solaris/
  126. test_spec.lua
  127. unsupported/
README.md

htop

The Rivoreo customized version, forked from commit 402e46bb82964366746b86d77eb5afa69c279539.

The original version made by Hisham Muhammad hisham@gobolinux.org is available at an archived git repository.

Changes from original version

  • System call tracing support via truss(1), which is available in many Unix-like systems
  • Support showing process name in addition to process command line
  • AIX support, by Calvin Buckley calvin@cmpct.info
  • Many Solaris-specific bug fixes
  • Support showing ZFS ARC size on Solaris-kernel-based, Linux-based, kFreeBSD-based and macOS (Mac OS X) platforms
  • Android/Linux support
  • Linux CPU hot-plugging aware
  • Distinguishable effective user and real user of processes
  • Basic Interix support
  • Cygwin support
  • Many OpenBSD-specific bug fixes
  • Thread processes support for OpenBSD
  • Solaris support without libproc(3LIB) (which is a private library of the operating system)
  • Many byte-order related bug fixes
  • Support kFreeBSD-based systems without kvm(3) (which isn't a standard library on GNU/kFreeBSD)
  • FreeBSD 5 support
  • Enhanced kernel process detection logic for Linux-based platforms
  • Build-time detection of available signals
  • Process command line arguments screen (key A) just like the process environment screen (key e)
  • Processor times meter improvements for OpenBSD, by Antoine Motet antoine.motet@gmail.com
  • (hopefully bug-free) vi(1)-style key bindings support
  • Support showing process start time for all supported platforms except Haiku
  • Mouse support can now be disabled in setup
  • Handle circularized process tree(s) that may happening with some kernels
  • User-defined color schemes
  • Consistent process state names
  • Optional case-insensitive sorting
  • GNU/Hurd support
  • Kernel stack tracing of processes for Linux-based and kFreeBSD-based platforms
  • Haiku support

See the commit log for more.

Building environment requirements

  • GNU Make or BSD make.
  • A C99 compiler. Some platform-specific codes may use GNU C extensions; in that case, GCC 3.3+ or a compatible C compiler will be required.

Supported target platforms

Linux-based operating systems

A minimal of Linux 2.0 is required; while version 2.6 or later is recommended.

For GNU/Linux, GNU C Library 2.0 and later versions are supported.

For uC/Linux, only the uClibc 0.9.33.2 is supported.

For Android/Linux, Android 4.0 and later versions are supported.

Linux with other C library will likely work, but not tested.

kFreeBSD-based operating systems

A minimal of kFreeBSD 5.0 is required.

FreeBSD 5 and later releases are supported.

For GNU/kFreeBSD, only the GNU C Library 2.13 is tested and therefore supported.

DragonFly BSD

DragonFly BSD 5.0 and later releases are supported.

macOS (Mac OS X)

Mac OS X 10.4 and later releases are supported.

OpenBSD

OpenBSD 5.0 and later releases are supported.

Solaris

Solaris 9 and later releases are supported.

Currently only tested with GCC, therefore building with Sun C compiler is not supported.

Other Solars-kernel-based operating systems such as GNU/kOpenSolaris are currently not supported.

GNU/Hurd

Currently only tested with GNU C Library 2.19, GNU HURD 0.5 and GNU Mach 1.4. Although unsupported, it is expected to work with newer versions of operating system components.

AIX

Currently only tested on AIX 7.1. Although unsupported, it is expected to work on newer versions of the operating system.

Haiku

Haiku R1/alpha4 and later releases are supported.

Cygwin

Currently only tested on Cygwin 1.7.18.

Interix

Support is incomplete, many features won't work.

Interix 3.5 and later versions are supported.