Wolfgang Grandegger wrote: > Hi Jan, > > Jan Kiszka wrote: >> Wolfgang Grandegger wrote: >> >>> Jan Kiszka wrote: >>> >>>> Wolfgang Grandegger wrote: >>>> >>>>> Jan Kiszka wrote: >>>>> >>>>>> Hi, >>>>>> the new Xenomai example repository has been created. I >>>>>> don't want to >>>>>> repeat here what is explained already on the related wiki >>>>>> page, please >>>>>> have a look at >>>>>> http://www.xenomai.org/index.php/Examples >>>>>> Instead, let me sketch what could be done next: >>>>>> o Port existing examples, snippets, demos from >>>>>> ksrc/skins/* over, make >>>>>> them compilable and runnable if required. >>>>>> o Identify what kind of examples are lacking. You, the >>>>>> user, is needed >>>>>> here. What do *you* think is missing, what would be >>>>>> helpful to show? >>>>>> o Check what is needed to compile kernel-based examples >>>>>> over PPC 2.4. >>>>>> Philippe indicated that some switches are likely >>>>>> missing (x86 is fine >>>>>> already, other archs are 2.6-only). >>>>>> >>>>> Some time ago I sent a patch for RTnet using the "kernel CFLAGS >>>>> capturing" trick to get proper switches for 2.4: >>>>> >>>>> http://sourceforge.net/mailarchive/forum.php?thread_id=9493711&forum_id=24610 >>>>> >>>>> We could do the same trick here. >>>>> >>>> Yeah, I had a look at this before. The point is that I would prefer to >>>> keep things _simple_ and self-contained. This capturing requires >>>> some >>>> helper Makefile and complex call nestings that likely only >>>> people with >>>> advanced make and shell skills can understand and adopt to their >>>> projects. >>>> But maybe things are that complicated already, and this is just >>>> different complexity. How do you compile simple out-of-tree modules >>>> against 2.4 PPC kernels? Are there any standard flags? Or is it >>>> different for each board or each compiler version or whatever? >>>> >>> I just cut and paste the flags from a kernel module make. For PPC, >>> there are plenty of flags, not board but some are processor depended, >>> but I'm unable to tell which one are really required. For this reason >>> I like the module capturing trick. >>> >> What about this patch? I /seems/ to work (yeah, only tested on >> x86...), merging the >> whole capturing stuff into the same Makefile. Please give it hell on PPC. > > The attached Makefile works. I had to fix two problems. First, cross > compilation was not supported. I now take the CC from "xeno-config --cc" > for user space applications. I think "xeno-config" is intended only for > making user space applications and therefore CC should be specified on > the command line for kernel modules: > > $ make KSRC=/devel/linuxppc_2_4_devel ARCH=ppc CC=ppc-linux-gcc
Yes, this is the intended usage. I also have to apply this here to build against good-old gcc3 (looking forward to 2.4.34 supporting gcc4). > ppc-linux-gcc -D__KERNEL__ -I/devel/linuxppc_2_4_devel/include -Wall > -Wstrict-prototypes -Wno-trigraphs -O2 -fno-strict-aliasing -fno-common > -fomit-frame-pointer -I/devel/linuxppc_2_4_devel/arch/ppc -fsigned-char > -msoft-float -pipe -ffixed-r2 -Wno-uninitialized -mmultiple -mstring -g > -ggdb -DMODULE > -I/devel/linuxppc_2_4_devel-2006_11_21_1134/include/xenomai > -I/devel/linuxppc_2_4_devel-2006_11_21_1134/include/xenomai/compat > -I/devel/linuxppc_2_4_devel-2006_11_21_1134/include/xenomai/posix -c > -o heartbeat-x86.o heartbeat-x86.c > > Furthermore I removed "-I$(KSRC)/include", it is already included in the > captured CFLAGS. Good point. Ok, I will merge these changes into all existing Makefiles and commit the stuff "later". Thanks, Jan
signature.asc
Description: OpenPGP digital signature
_______________________________________________ Xenomai-help mailing list [email protected] https://mail.gna.org/listinfo/xenomai-help
