Compilers, Make and SubVersion UNIX/LINUX Tool Chain Compilers, Make and SubVersion Copyright © 2017 – Curt Hill
Introduction As Software Engineers we need several things Competency in the OS commands Ability to create and manipulate text files Compilers Make Version control This presentation is about the last three of these Copyright © 2017 – Curt Hill
Execution A command that is typed must be on the path The installation of most commands puts the executable on the path The output of a compiler is not usually on the path So to test X we must specify ./X This directs to the current directory Copyright © 2017 – Curt Hill
Compilers There are two standard GNU compilers gcc is the C compiler g++ is the C++ compiler The default behavior is to create an executable called a.out This will be executed with ./a.out See next page Copyright © 2017 – Curt Hill
Copyright © 2017 – Curt Hill
Compile Options -c – compile only -o file – output file name Many others as well Most of these we will not need Copyright © 2017 – Curt Hill
Make Make was invented on a UNIX system We used GNU make on Windows Not too much new here The windows make needed more path information since a Windows program may execute things not on the path Copyright © 2017 – Curt Hill
SubVersion Commands Our approach previously used a Windows File Explorer plugin None of that anymore Now we have to use the console SubVersion commands There is only one command: svn It is the options that make it do different things Copyright © 2017 – Curt Hill
SVN Options svn checkout url svn update url svn add url svn delete url Checkout can be abbreviated co svn update url Update can be abbreviated up svn add url Announces the SubVersion a new file to be added Must be followed by a commit svn delete url Also requires a delete svn commit url Commit abbreviation ci Copyright © 2017 – Curt Hill
SVN URL In the previous screen the URLs refers to the repository This may be either: svn://… http://... https://... For example either of these: svn checkout https://svn.code.sf.net/p/cppunit/code/trunk cppunit-code svn checkout svn://svn.code.sf.net/p/cppunit/code/trunk cppunit-code Copyright © 2017 – Curt Hill
Finally We should now be ready for a project on UNIX Then we will be real software engineers Copyright © 2017 – Curt Hill