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".


Attachment: signature.asc
Description: OpenPGP digital signature

Xenomai-core mailing list

Reply via email to