aamirali - you are nearly there with your description. In its broadest sense a tool-chain can be any set of tools that you use together to produce something, e.g. schematic capture - auto router - gerber generator is a tool-chain. But assuming you are talking about software development tool chains then...
A compiler takes your source code and compiles it into "machine code" - i.e. a binary representation that a processor can read from memory and execute. In "C" like languages programs are normally made up of several files and some libraries, the compiler generates a binary output file for each C source file. These individual files need to be linked together so that a function call to a library or another C source file actually points to the correct address, A linker does this.
So at the simplest level for C the tool chain is a compiler and linker. But it might include make files to automate the build, a programmer for burning the target, etc.
However, personally I wouldn't say libraries are part of the tool-chain because they become part of the deliverable product. The tool-chain is the things used to build the product but are not part of the finished product.