[uClinux-dev] uClinux-dist-test-20050808 released for testing

Phil Wilshire pwilshire at cox.net
Wed Aug 10 08:33:19 EDT 2005


David,
This all sounds cool
Thanks for the reply
   Phil

David McCullough wrote:

>Jivin Phil Wilshire lays it down ...
>  
>
>>Hi All, ( Well David really )
>>Does the use of ucfront mean that we can no longer use ccache ?
>>    
>>
>
>I am pretty sure you can still use ccache,  actually,  I think bits of
>ucfront are based on it,  but the basic compiler premise still works.
>I am fairly sure some of us here are using it,  but I will confirm in
>the office tomorrow.
>
>  
>
>>Can the two work together ?
>>    
>>
>
>If they don't we'll fix it.
>
>  
>
>>Is there any documentation on ucfront ?
>>    
>>
>
>man ./tools/ucfront/ucfront.1
>
>It's fairly simple in concept.  Take all the things we
>learn't about build apps within the dist the used to be coded in
>the config.arch files and consolidate them in one place (ucfront)
>so that when you need to run configure or something similar,  it will
>obey all the correct rules without the need to edit makefiles etc.
>
>The code is mostly simple to look at.
>
>Cheers,
>Davidm
>
>  
>
>>David McCullough wrote:
>>
>>    
>>
>>>Jivin John Williams lays it down ...
>>>
>>>
>>>      
>>>
>>>>Hi Greg, Dave
>>>>
>>>>Greg Ungerer wrote:
>>>>
>>>>  
>>>>
>>>>        
>>>>
>>>>>I have generated an updated test release for testing.
>>>>>You can get it at:
>>>>>    
>>>>>
>>>>>Unfortunately a lot of changes since the last test release,
>>>>>but hopefully we have all the major problems ironed out.
>>>>>    
>>>>>
>>>>>          
>>>>>
>>>>First things first - include/Makefile needs the following patch 
>>>>otherwise it behaves badly on repeat executions:
>>>>
>>>>--- /opt/src/uClinux-dist-test-20050808/include/Makefile 
>>>>2005-07-29 10:45:31.000000000 +1000
>>>>+++ include/Makefile    2005-08-10 13:23:16.000000000 +1000
>>>>@@ -98,8 +98,10 @@
>>>>                      ln -s $$i $$dst/.; \
>>>>              done ; \
>>>>      done
>>>>+       @rm -f gcc
>>>>      @ln -s `$(CC) -print-file-name=include` gcc
>>>>      @echo "Making include/c++ symlink to compiler c++ includes"
>>>>+       @rm -f c++
>>>>      @ln -s /usr/local/include/g++-v3 c++
>>>>      @for i in `$(CXX) -v -xc++ /dev/null 2>&1 | sed -e '/^Reading 
>>>>specs/,/^#include <\.\.\.>/d' -e '/End of search list/Q'`; do \
>>>>              if [ -f $$i/new ]; then rm -f c++; ln -s $$i c++; 
>>>>break; fi; \
>>>>
>>>>Essentially you need to quietly delete those symlinks otherwise bad 
>>>>things happen.
>>>>  
>>>>
>>>>        
>>>>
>>>This target depends on "clean",  which should clean out all the
>>>symlinks.  clean is a PHONY so I don't know why that would be a problem.
>>>Is this being run under linux or something else ?
>>>
>>>I am most certainly not seeing a problem with it :-)
>>>
>>>
>>>
>>>      
>>>
>>>>Moving on - is it my imagination or have you changed the 
>>>>uClinux-dist/include/  symlink structure again in this release?  It used 
>>>>to be include/include, now it's include/gcc and include/c++, right?
>>>>  
>>>>
>>>>        
>>>>
>>>There has been some change,  but not that much IIRC.
>>>
>>>The big change has been the move to the ucfront compiler frontend.
>>>This does a lot of the wrapping,  and as such most of the config.arch
>>>files look very similar now.  You shoujld nearly be able to take the
>>>m68k version and adjust it a little
>>>
>>>
>>>
>>>
>>>      
>>>
>>>>This has broken microblaze builds once again - I tried mirroring the 
>>>>changes in vendors/config/m68knommu/config.arch across to the microblaze 
>>>>version, but there are still issues.
>>>>
>>>>I see the following diff between the m68knommu default config.arch from 
>>>>the previous dist-test to this one:
>>>>
>>>>-       CFLAGS  += -nostdinc -I$(ROOTDIR)/include \
>>>>			-I$(ROOTDIR)/include/include
>>>>
>>>>So, the million dollar question is - now where does your user build get 
>>>>the "-I$(ROOTDIR)/include" parameter from?  And, for that matter, the 
>>>>-nostdinc parameter?
>>>>  
>>>>
>>>>        
>>>>
>>>ucfront,  the compiler frontend for all builds.
>>>
>>>By adding ucfront we can now use configure just like a native compiler,
>>>and configure now works within the tree much more easily than before.
>>>
>>>
>>>
>>>      
>>>
>>>>My libs build OK, but my user compile commands look like this:
>>>>
>>>>mb-gcc  -Os -g -fomit-frame-pointer -fno-common -fno-builtin -Wall 
>>>>-mno-xl-soft-mul -mxl-barrel-shift -mno-xl-soft-div  -DEMBED -Dlinux 
>>>>-D__linux__ -Dunix -D__uClinux__ -D__USE_BSD   -c -o agetty.o agetty.c
>>>>
>>>>
>>>>It's woefully lacking - no -nostdinc, no -I..... and so on.
>>>>
>>>>Any words from the wise?
>>>>  
>>>>
>>>>        
>>>>
>>>It should look like:
>>>
>>>	ucfront-gcc m68k-elf-gcc -m68000 -Os -g -fomit-frame-pointer
>>>	-fno-common -fno-builtin -Wall   -DEMBED -mid-shared-library
>>>	-mshared-library-id=0 -Dlinux -D__linux__ -Dunix -D__uClinux__   -c
>>>	-o tip.o tip.c
>>>
>>>Cheers,
>>>Davidm
>>>
>>>
>>>
>>>      
>>>
>>_______________________________________________
>>uClinux-dev mailing list
>>uClinux-dev at uclinux.org
>>http://mailman.uclinux.org/mailman/listinfo/uclinux-dev
>>This message was resent by uclinux-dev at uclinux.org
>>    
>>
>
>  
>




More information about the uClinux-dev mailing list