| 
					
				 | 
			
			
				@@ -15,10 +15,63 @@ can't read the file. So we create an empty file for it (the empty file 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 will have Glibc default to using /lib and /usr/lib which is fine right now). 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 </para> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+<para> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+<userinput>sed s/"\$(PERL)"/"\/usr\/bin\/perl"/ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+../glibc-2.2.3/malloc/Makefile > tmp~:</userinput> This sed command 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+searches through <filename>../glibc-2.2.3/malloc/Makefile</filename> and 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+converts all occurances of <filename>$(PERL)</filename> to 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+<filename>/usr/bin/perl</filename>.  The output is then written to the 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+file <filename>tmp~</filename>.  This is done because Glibc can't 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+autodetect perl since it's not installed yet at the time when we install 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+Glibc. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+</para> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+<para> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+<userinput>mv tmp~ ../glibc-2.2.3/malloc/Makefile:</userinput> The file 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+<filename>tmp~</filename> is now moved back to 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+<filename>../glibc-2.2.3/malloc/Makefile</filename>.  We do this because 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+when using sed, we can't write straight back to this file so we need to 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+use a temporary file in between. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+</para> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+<para> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+<userinput>sed "s/root/0" ../glibc-2.2.3/login/Makefile > 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+tmp~:</userinput> This sed command replaces all occurances of 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+<filename>root</filename> in 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+<filename>../glibc-2.2.3/login/Makefile</filename> with 0.  This is 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+because as we don't have glibc on the LFS system yet, usernames can't  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+be resolved to their user id's.  Therefore, we replace the username  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+root with the id 0.  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+</para> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+<para> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+<userinput>mv tmp~ ../glibc-2.2.3/login/Makefile:</userinput> As above, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+we are using a temporary file (<filename>tmp~</filename>) to store the 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+edited Makefile and then copying it back over the original. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+</para> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 <para> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 <userinput>--enable-add-ons:</userinput> This enables the add-on that 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 we install with Glibc: linuxthreads 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 </para> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+<para> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+<userinput>sed s/"cross-compiling = yes"/"cross-compiling = no"/ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+config.make > config.make~:</userinput> This time, we're replacing 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+<filename>cross-compiling = yes</filename> with 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+<filename>cross-compiling = no</filename>.  We do this because we are 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+only building for our own system.  Cross-compiling is used, for 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+instance, to build a package for an Apple Power PC on an Intel system. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+The reason Glibc thinks we're cross-compiling is that it can't compile a 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+test program to determin this, so it automatically default to a 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+cross-compiler. The reason for the failed program is because Glibc 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+hasn't been installed yet. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+</para> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+<para> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+<userinput>mv config.make~ config.make:</userinput> Again, we are moving 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+the temporary file over the original. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+</para> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 </sect2> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 |