hi,Hartvig Ekner£¬
Hi,I have finished native-compiling a whole x windows package.
the generated /usr/X11R6 is about 33MB in gzip form.I am afraid
i can't offer it on my website because net traffic is expensive
for me(~$0.3/MB).But I do have some free channel to put it out:)
so if you can offer a place to upload i am willing to help.
This one should work for you.And it includes much more than my
cross-compiled one--I didn't disable anything except fonts and
non-mga non-fbdev drivers(to save some time).
Below I will give out my experience to achieve it(not too difficult):
Work starts from the source rpm at
http://oss.sgi.com/pub/linux/mips/redhat/7.1/SRPM/XFree86-4.1.0-0.9.0.1.src.rpm
1,rpm -i to install it,then cd /usr/src/redhat/SPECS and rpm -bp XFree86.spec
(you may have to resolve some dependency first),then you get a unzip tree under
/usr/src/redhat/BUILD/XFree86-4.1.0/
2.'make World &> out'
... it fails when 'make clean' in fonts dir, saying that no target named 'clean';
so i add a clean target to fonts/IMakefile,disable BuildFonts should work.(config/cf/host.def)
3.'make World &> out' again
(this time it should run till finish but with failures,check the output 'out')
ok ,we find that Several subdirs not make for some reason,lead to link failure
the generating XFree86 and others.(Seach '\*\*\*' in the output to find errors)
and there are some code which need to be patched.
do:
1. disable unnecessary drivers &
SuperProbe(i patched it,but disable will be more convenient)
etc in config/cf/xfree86.cf
2. If you don't need XIE,PEX,GL extension,you can disable it,they are not made for some
reason(Makefile'fault),i manually make them after all other problem resolved
3. patch .../hw/xfree86/common/compiler.h(see the patch)
patch Xserver/cfb/stipmips.s --->add '#define MIPSEL'
4. Xserver/hw/xfree86/input/Makefile
subdirs target is not 'make' before 'all' is 'make',so i add a dependency to 'all':
all:: Congigure all.subdirs
but it is auto-generated,if you use make World later,please modify Imakefile
instead(i am not familiar with imake,you have to figure it out by yourself),or
,see the Notes below.
5.'make World &> out' again.
This time it should run to finish and generates XFree86. If not,check the output
Notes: i resolve most of the problem incrementally,no need to make World too many times
One way i think feasible is like this:
prepare the source
patch the source
edit host.def xfree86.def
edit some Imakefile
make World
This way you may succeed in one time.
good luck.
ÔÚ 2001-12-07 09:26:00 you wrote£º
>Hello Zhang,
>
>Thank you for the files.
>
>one more question: We have everything on the Malta board running
>(with 2.4.3 though, not 2.4.16 yet) except the X-server.
>
>Is there anything that should prevent me from using your binary X-server
>on our setup, when everything else is identical (G200 HW etc)?
>
>If so, could I get my hands on a copy of your X-server (binary preferred,
>but source also welcome!) which works on your system? If not, could you
>let me know exactly which X-server source you started from, and then
>I'll try to build it myself (but native this time).
>
>BTW, why did you cross-compile the Xserver? Once you have the basic
>system up, it seems much less painful to get things compiling native.
>
>/Hartvig
>
>Zhang Fuxin writes:
>>
>>
>> hi,Hartvig Ekner=A3=AC
>> Here are my files.
>> but the build process can't be described in short:(.
>> I started from a rpm package from redhat7(or similar standard=
>> distribution),did
>> everything to make it cross-compile,very ugly and=
>> painful.Basically,
>> repeat if errors
>> make World &> out,
>> read out,correct errors it reports
>> until done
>> beside changes to config files,i remember there were problems=
>> due to the sequence
>> when it cross-builded a problem and wanted to execute it.
>> From the list,I think someone else should have more elegant=
>> way. And i will try
>> H.J.Lu's source in oss.sgi.com when having time.
Regards
Zhang Fuxin
fxzhang@ict.ac.cn
compiler.h.patch
XF86Config-4
XFree86.0.log