Tools of the Trade: Difference between revisions

From FlightGear wiki
Jump to navigation Jump to search
(Added VSCode to list of tools)
 
(16 intermediate revisions by 9 users not shown)
Line 1: Line 1:
= Tools =
= Tools =
== Misc tools (proprietary but freely available) ==
=== IDEs ===
* Microsoft Visual Studio Community [https://visualstudio.microsoft.com/downloads/] - the modern version of Microsoft's IDE. The Community edition is free.
* MSVC++ Express 2008 [http://www.microsoft.com/express/download/] - please note that you'll probably want to download the '''offline''' installation image file (iso) which -unlike the web installation- doesn't require any complicated and long-winded registration process. The direct link to the latest version (as of 11/2008) is [http://download.microsoft.com/download/E/8/E/E8EEB394-7F42-4963-A2D8-29559B738298/VS2008ExpressWithSP1ENUX1504728.iso] - after having downloaded the iso image, you'll either have to burn it or simply mount it in order to execute the installation (there are various tools to mount iso images under windows, you may want to check out daemon tools [http://www.daemon-tools.cc] for a freely available solution).
=== Shader Development ===
* [https://gpuopen.com/archive/gamescgi/rendermonkey-toolsuite/ RenderMonkey]
* [http://developer.nvidia.com/object/fx_composer_home.html FX Composer] (Windows)
=== Debuggers & Profilers ===
* [https://developer.amd.com/tools-and-sdks/ AMD's Developer Tools] (CodeAnalyst, available for free for [http://developer.amd.com/cawin.aspx Win32]/[http://developer.amd.com/calinux.aspx Linux] )
* [http://www.oracle.com/technetwork/testcontent/index-140374.html Sun Thread Analyzer] - for Linux: supports Intel x86 & AMD64 platforms (part of Sun Studio Express)
* [https://software.intel.com/intel-vtune-amplifier-xe Intel VTune] [http://www.intel.com/cd/software/products/asmo-na/eng/download/download/index.htm (free Win32/Linux versions available for non-commercial use:requires an INTEL CPU!)]
* [https://software.intel.com/intel-inspector-xe Intel Thread Analysis & Profiling Tools]
=== OpenGL Debugging ===
* [http://glintercept.nutty.org/ GLIntercept] (Open Source OpenGL Debugger with built-in shader editor)
* [http://www.vis.uni-stuttgart.de/glsldevil/ glslDevil OpenGL GLSL Debugger]


== Free/Open Source ==
== Free/Open Source ==
* [http://www.gnu.org/software/gcc/onlinedocs/ gcc - the GNU compiler (collection)]
* [http://www.gnu.org/software/gcc/onlinedocs/ gcc - the GNU compiler (collection)]
* [https://code.visualstudio.com/ Visual Studio Code - a modern, lightweight, open source code editor]


=== Build related ===
=== Build related ===
* [http://www.gnu.org/software/make/manual/make.html make - GNU make] - build system
* [http://www.gnu.org/software/make/manual/make.html make - GNU make] - build system
* [http://sources.redhat.com/autobook/ autools - autoconf, automake, libtool & co] - build system  
* [http://sources.redhat.com/autobook/ autotools - autoconf, automake, libtool & co] - build system


=== Speeding up compilations ===
=== Speeding up compilations/rebuilds ===
* [http://ccache.samba.org ccache - compiler cache, pre-compiled objects for gcc] - speed up repeated compilations by using a configurable dynamic compiler cache
* [http://distcc.samba.org distcc - distributed (fast!) compilations for any network] - distributing compilations to several nodes
* [http://distcc.samba.org distcc - distributed (fast!) compilations for any network] - distributing compilations to several nodes
* [http://ccache.samba.org ccache - compiler cache, pre-compiled objects for gcc] - speed up repeated compilations by using a configurable dynamic compiler cache
* Using TMPFS-based ram drives to speed up compilations:
** [http://en.wikipedia.org/wiki/TMPFS TMPFS]
** [http://docs.sun.com/app/docs/doc/817-5093/6mkisoqdh?a=view How to Create and Mount a TMPFS File System ]
** [http://kevin.vanzonneveld.net/techblog/article/create_turbocharged_storage_using_tmpfs/ Create turbocharged storage using tmpfs]
* Using the [http://freebsd.stokely.org/2008/04/gnu-gold-linker.html GNU Gold Linker] to speed up link times on ELF platforms by a factor of up to 5:
** [http://lwn.net/Articles/274859/ Striking gold in binutils]
** [http://blog.cafarelli.fr/post/2008/04/09/Testing-the-new-gold-linker-from-binutils Testing the new "gold" linker from binutils]


=== Documentation ===
=== Documentation ===
Line 16: Line 44:


=== Debugging ===
=== Debugging ===
* [http://www.opengl.org/sdk/tools/BuGLe/ BuGLe - OpenGL debugger]
* [https://www.opengl.org/sdk/tools/BuGLe/ BuGLe - OpenGL debugger]
* [http://www.gnu.org/software/gdb/documentation/ gdb - the GNU project debugger] - console debugger
* [https://www.gnu.org/software/gdb/documentation/ gdb - the GNU project debugger] - console debugger
* [http://www.gnu.org/manual/ddd/ddd.html DDD - Data Display Debugger]
* [https://www.gnu.org/software/ddd/ DDD - Data Display Debugger]


=== Memory Usage ===
=== Memory Usage ===
* [http://valgrind.org/ valgrind]
* [http://valgrind.org/ valgrind]
* [http://www.gnome.org/projects/memprof/ memprof]
* [http://www.gnome.org/projects/memprof/ memprof]
* [http://www.memleek.org/ memleek]
* [https://github.com/iovisor/bcc memleak]


=== Profiling ===
=== Profiling ===
* [http://www.gnu.org/software/binutils/manual/gprof-2.9.1/gprof.html gprof - the GNU profiler] - profiling
* [https://sourceware.org/binutils/docs/gprof/ gprof - the GNU profiler] - profiling
* [http://rapido.sourceforge.net/ rapido] x86 profiler
* [http://rapido.sourceforge.net/ rapido] x86 profiler
* [[Built-in_Profiler|Built-in Profiler (using google perftools)]]
* KCacheGrind, front-end for valgrind's callgrind. Very reliable tool, produces nice little colourful graphs too. Linux only.


=== Source Code Management / Revision Control Systems ===
=== Source Code Management / Revision Control Systems ===
Line 36: Line 66:
** http://www.wincvs.org/
** http://www.wincvs.org/
* SVN
* SVN
**http://www.subversion.org
** http://www.subversion.org
* git
* git
** https://git-scm.com/
** http://www.kernel.org/pub/software/scm/git/docs/
** http://www.kernel.org/pub/software/scm/git/docs/


=== fraps-like Output/Video capturing for *nix ===
=== fraps-like Output/Video capturing for *nix ===
* http://pigeond.net/flightgear/screenstreamer/
* http://www.opengl.org/sdk/tools/BuGLe/
* http://www.opengl.org/sdk/tools/BuGLe/
* http://www.neopsis.com/projects/yukon/ [http://en.wikipedia.org/wiki/Yukon_%28software%29]
* https://github.com/wereHamster/yukon [http://en.wikipedia.org/wiki/Yukon_%28software%29]
* http://dbservice.com/projects/seom/
* https://github.com/wereHamster/seom
* http://live.gnome.org/Istanbul
* http://live.gnome.org/Istanbul
* http://xvidcap.sourceforge.net/
* http://xvidcap.sourceforge.net/
* http://gizmothunder.blogspot.com/2006/09/fraps-in-linux.html
* http://gizmothunder.blogspot.com/2006/09/fraps-in-linux.html
== Other tools (proprietary but freely available) ==
=== Debuggers & Profilers ===
* [http://developer.amd.com/downloads.aspx AMD's Developer Tools] (CodeAnalyst, available for free for [http://developer.amd.com/cawin.aspx Win32]/[http://developer.amd.com/calinux.aspx Linux] )
* [http://developers.sun.com/sunstudio/downloads/tha/index.html Sun Thread Analyzer] - for Linux: supports Intel x86 & AMD64 platforms (part of Sun Studio Express)
* [http://www.intel.com/vtune/ Intel VTune] [http://www.intel.com/cd/software/products/asmo-na/eng/download/download/index.htm (free Win32/Linux versions available for non-commercial use:requires an INTEL CPU!)]
=== IDEs ===
* TODO: MSVC++ Express 2005


{{Building}}
{{Building}}


''If you are lost see [[Portal:User]] or [[Portal:Developer]]''
[[Category:Core developer documentation]]

Latest revision as of 22:56, 23 June 2018

Tools

Misc tools (proprietary but freely available)

IDEs

  • Microsoft Visual Studio Community [1] - the modern version of Microsoft's IDE. The Community edition is free.
  • MSVC++ Express 2008 [2] - please note that you'll probably want to download the offline installation image file (iso) which -unlike the web installation- doesn't require any complicated and long-winded registration process. The direct link to the latest version (as of 11/2008) is [3] - after having downloaded the iso image, you'll either have to burn it or simply mount it in order to execute the installation (there are various tools to mount iso images under windows, you may want to check out daemon tools [4] for a freely available solution).

Shader Development


Debuggers & Profilers

OpenGL Debugging

Free/Open Source

Build related

Speeding up compilations/rebuilds

Documentation

Debugging

Memory Usage

Profiling

Source Code Management / Revision Control Systems

fraps-like Output/Video capturing for *nix