|  | @@ -8,14 +8,37 @@ that override default optimizations, such as CFLAGS and CXXFLAGS, we
 | 
	
		
			
				|  |  |  recommend unsetting or modifying them when building binutils. You have been
 | 
	
		
			
				|  |  |  warned.</para>
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -<para>Install Binutils by running the following commands:</para>
 | 
	
		
			
				|  |  | +<para>It is recommended by the Binutils installation documentation to build
 | 
	
		
			
				|  |  | +Binutils outside of the source directory in a dedicated directory:</para>
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +<para><screen><userinput>mkdir ../binutils-build
 | 
	
		
			
				|  |  | +cd ../binutils-build</userinput></screen></para>
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -<para><screen><userinput>mkdir ../binutils-build &&
 | 
	
		
			
				|  |  | -cd ../binutils-build &&
 | 
	
		
			
				|  |  | -../binutils-&binutils-version;/configure --prefix=$LFS/static --disable-nls &&
 | 
	
		
			
				|  |  | -make LDFLAGS="-all-static" &&
 | 
	
		
			
				|  |  | +<para>Next, prepare Binutils to be compiled:</para>
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +<para><screen><userinput>../binutils-&binutils-version;/configure --prefix=$LFS/static --disable-nls</userinput></screen></para>
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +<para>The meaning of the (new) configure switches are:</para>
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +<itemizedlist>
 | 
	
		
			
				|  |  | +<listitem><para><userinput>--disable-nls:</userinput> This option disables
 | 
	
		
			
				|  |  | +internationalization (also known as i18n). We don't need this for our
 | 
	
		
			
				|  |  | +static programs and nls often causes problems when you're linking
 | 
	
		
			
				|  |  | +statically.</para></listitem>
 | 
	
		
			
				|  |  | +</itemizedlist>
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +<para>We'll finish off by compiling and installing the package:</para>
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +<para><screen><userinput>make LDFLAGS="-all-static" &&
 | 
	
		
			
				|  |  |  make install</userinput></screen></para>
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +<para><emphasis>make LDFLAGS="-all-static"</emphasis> is how we tell
 | 
	
		
			
				|  |  | +Binutils that all programs should be statically linked. Setting the
 | 
	
		
			
				|  |  | +<emphasis>LDFLAGS</emphasis> variable is the common way of specifying we
 | 
	
		
			
				|  |  | +want a static link to take place, however, its value and the way it is set
 | 
	
		
			
				|  |  | +is not always the same. You'll see with the remaining packages that there
 | 
	
		
			
				|  |  | +are different ways of setting up the <emphasis>LDFLAGS</emphasis>
 | 
	
		
			
				|  |  | +variable.</para>
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |  </sect2>
 | 
	
		
			
				|  |  |  
 |