Re: [Xenomai-core] [packaging] Proposal of split source code organization

2005-10-21 Thread Philippe Gerum

Romain Lenglet wrote:

Hi,

Here is a proposal of reorganization of the files in Xenomai, to 
make packaging easier. I have moved all the files, and the 
resulting hierarchy of directories in in the attached dirs.txt, 
and the contained files in allfiles.txt.

The GNUmakefiles, etc. are still missing here.

What do you think about that?



Xeno's build scheme is going to be refactored as explained here:
https://mail.gna.org/public/xenomai-core/2005-10/msg00089.html

Your proposal seems to complement the solution, since in a way or another, we 
will need to organize the source tree in order to reflect the kernel / user 
split. Going for a strict Debian approach for doing so is another issue; I'm not 
 opposed to it, but that's not a pre-requisite to split the codebase anyway.


I suggest that we restart this discussion after a prototype of a statically 
embeddable Xenomai core into the Linux kernel has been achieved; from that 
point, it should be easier to progress toward the user-space revamping, since we 
will have the complete picture about what is needed, specifically in terms of 
configuration and file dependencies. This task is #1 on my list after 2.0 is 
out, so the topic is going to be revived quickly.


The idea is to have a ksrc/ directory that is independent from 
all other directories (except include/), to contain all the 
kernel modules code (and only that). It would have its own 
independent configuration mechanism based on Kconfig and/or 
autotools (??).
I would help a lot to have such an independent ksrc/ directory 
for packaging, since in Debian packages this would directly 
become the content of the kernel source package 
(xenomai-source).


In addition, an independent and complete include/ directory would 
directly become the main content of the libxenomai-dev package.



The two non-trivial tasks to reach that organization of files is:
- modify most GNUmakefile.am files (that seems quite easy),
- modify the kernel code configuration mechanism.

If everybody agrees, I propose to adapt most GNUmakefile.am 
files...






xenomai/
xenomai/ksrc
xenomai/ksrc/test
xenomai/ksrc/test/klatency
xenomai/ksrc/test/klatency/latency.h
xenomai/ksrc/test/klatency/latency-module.c
xenomai/ksrc/arch
xenomai/ksrc/arch/generic
xenomai/ksrc/arch/generic/hal
xenomai/ksrc/arch/generic/hal/generic.c
xenomai/ksrc/arch/i386
xenomai/ksrc/arch/i386/hal
xenomai/ksrc/arch/i386/hal/nmi.c
xenomai/ksrc/arch/i386/hal/smi.c
xenomai/ksrc/arch/i386/hal/smi.h
xenomai/ksrc/arch/i386/hal/usercopy.c
xenomai/ksrc/arch/i386/hal/x86.c
xenomai/ksrc/arch/ppc
xenomai/ksrc/arch/ppc/arch
xenomai/ksrc/arch/ppc/arch/ppc.c
xenomai/ksrc/arch/ppc/arch/switch.S
xenomai/ksrc/arch/ppc/arch/fpu.S
xenomai/ksrc/arch/ia64
xenomai/ksrc/arch/ia64/hal
xenomai/ksrc/arch/ia64/hal/ia64.c
xenomai/ksrc/arch/ia64/hal/switch.S
xenomai/ksrc/arch/ppc64
xenomai/ksrc/arch/ppc64/hal
xenomai/ksrc/arch/ppc64/hal/fpu.S
xenomai/ksrc/arch/ppc64/hal/ppc64.c
xenomai/ksrc/arch/ppc64/hal/switch.S
xenomai/ksrc/drivers
xenomai/ksrc/drivers/16550A
xenomai/ksrc/drivers/16550A/16550A.c
xenomai/ksrc/nucleus
xenomai/ksrc/nucleus/heap.c
xenomai/ksrc/nucleus/intr.c
xenomai/ksrc/nucleus/module.c
xenomai/ksrc/nucleus/pod.c
xenomai/ksrc/nucleus/synch.c
xenomai/ksrc/nucleus/thread.c
xenomai/ksrc/nucleus/timer.c
xenomai/ksrc/nucleus/shadow.c
xenomai/ksrc/nucleus/core.c
xenomai/ksrc/nucleus/pipe.c
xenomai/ksrc/nucleus/ltt.c
xenomai/ksrc/nucleus/config.c
xenomai/ksrc/native
xenomai/ksrc/native/syscall.h
xenomai/ksrc/native/module.c
xenomai/ksrc/native/task.c
xenomai/ksrc/native/timer.c
xenomai/ksrc/native/syscall.c
xenomai/ksrc/native/pipe.c
xenomai/ksrc/native/sem.c
xenomai/ksrc/native/event.c
xenomai/ksrc/native/mutex.c
xenomai/ksrc/native/registry.c
xenomai/ksrc/native/cond.c
xenomai/ksrc/native/queue.c
xenomai/ksrc/native/heap.c
xenomai/ksrc/native/alarm.c
xenomai/ksrc/native/intr.c
xenomai/ksrc/psos+
xenomai/ksrc/psos+/module.c
xenomai/ksrc/psos+/asr.c
xenomai/ksrc/psos+/event.c
xenomai/ksrc/psos+/pt.c
xenomai/ksrc/psos+/queue.c
xenomai/ksrc/psos+/rn.c
xenomai/ksrc/psos+/task.c
xenomai/ksrc/psos+/tm.c
xenomai/ksrc/psos+/sem.c
xenomai/ksrc/psos+/asr.h
xenomai/ksrc/psos+/defs.h
xenomai/ksrc/psos+/event.h
xenomai/ksrc/psos+/pt.h
xenomai/ksrc/psos+/queue.h
xenomai/ksrc/psos+/rn.h
xenomai/ksrc/psos+/sem.h
xenomai/ksrc/psos+/task.h
xenomai/ksrc/psos+/tm.h
xenomai/ksrc/psos+/doc
xenomai/ksrc/psos+/doc/psos.txt
xenomai/ksrc/posix
xenomai/ksrc/posix/cancel.c
xenomai/ksrc/posix/clock.c
xenomai/ksrc/posix/cond_attr.c
xenomai/ksrc/posix/cond.c
xenomai/ksrc/posix/intr.c
xenomai/ksrc/posix/module.c
xenomai/ksrc/posix/mq.c
xenomai/ksrc/posix/mutex_attr.c
xenomai/ksrc/posix/mutex.c
xenomai/ksrc/posix/once.c
xenomai/ksrc/posix/registry.c
xenomai/ksrc/posix/sched.c
xenomai/ksrc/posix/sem.c
xenomai/ksrc/posix/signal.c
xenomai/ksrc/posix/syscall.c
xenomai/ksrc/posix/thread_attr.c
xenomai/ksrc/posix/thread.c
xenomai/ksrc/posix/ti

Re: [Xenomai-core] [packaging] Proposal of split source code organization

2005-10-21 Thread Philippe Gerum

Romain Lenglet wrote:

Hi,

Here is a proposal of reorganization of the files in Xenomai, to 
make packaging easier. I have moved all the files, and the 
resulting hierarchy of directories in in the attached dirs.txt, 
and the contained files in allfiles.txt.

The GNUmakefiles, etc. are still missing here.

What do you think about that?



Xeno's build scheme is going to be refactored as explained here:
https://mail.gna.org/public/xenomai-core/2005-10/msg00089.html

Your proposal seems to complement the solution, since in a way or another, we 
will need to organize the source tree in order to reflect the kernel / user 
split. Going for a strict Debian approach for doing so is another issue; I'm not 
 opposed to it, but that's not a pre-requisite to split the codebase anyway.


I suggest that we restart this discussion after a prototype of a statically 
embeddable Xenomai core into the Linux kernel has been achieved; from that 
point, it should be easier to progress toward the user-space revamping, since we 
will have the complete picture about what is needed, specifically in terms of 
configuration and file dependencies. This task is #1 on my list after 2.0 is 
out, so the topic is going to be revived quickly.


The idea is to have a ksrc/ directory that is independent from 
all other directories (except include/), to contain all the 
kernel modules code (and only that). It would have its own 
independent configuration mechanism based on Kconfig and/or 
autotools (??).
I would help a lot to have such an independent ksrc/ directory 
for packaging, since in Debian packages this would directly 
become the content of the kernel source package 
(xenomai-source).


In addition, an independent and complete include/ directory would 
directly become the main content of the libxenomai-dev package.



The two non-trivial tasks to reach that organization of files is:
- modify most GNUmakefile.am files (that seems quite easy),
- modify the kernel code configuration mechanism.

If everybody agrees, I propose to adapt most GNUmakefile.am 
files...






xenomai/
xenomai/ksrc
xenomai/ksrc/test
xenomai/ksrc/test/klatency
xenomai/ksrc/test/klatency/latency.h
xenomai/ksrc/test/klatency/latency-module.c
xenomai/ksrc/arch
xenomai/ksrc/arch/generic
xenomai/ksrc/arch/generic/hal
xenomai/ksrc/arch/generic/hal/generic.c
xenomai/ksrc/arch/i386
xenomai/ksrc/arch/i386/hal
xenomai/ksrc/arch/i386/hal/nmi.c
xenomai/ksrc/arch/i386/hal/smi.c
xenomai/ksrc/arch/i386/hal/smi.h
xenomai/ksrc/arch/i386/hal/usercopy.c
xenomai/ksrc/arch/i386/hal/x86.c
xenomai/ksrc/arch/ppc
xenomai/ksrc/arch/ppc/arch
xenomai/ksrc/arch/ppc/arch/ppc.c
xenomai/ksrc/arch/ppc/arch/switch.S
xenomai/ksrc/arch/ppc/arch/fpu.S
xenomai/ksrc/arch/ia64
xenomai/ksrc/arch/ia64/hal
xenomai/ksrc/arch/ia64/hal/ia64.c
xenomai/ksrc/arch/ia64/hal/switch.S
xenomai/ksrc/arch/ppc64
xenomai/ksrc/arch/ppc64/hal
xenomai/ksrc/arch/ppc64/hal/fpu.S
xenomai/ksrc/arch/ppc64/hal/ppc64.c
xenomai/ksrc/arch/ppc64/hal/switch.S
xenomai/ksrc/drivers
xenomai/ksrc/drivers/16550A
xenomai/ksrc/drivers/16550A/16550A.c
xenomai/ksrc/nucleus
xenomai/ksrc/nucleus/heap.c
xenomai/ksrc/nucleus/intr.c
xenomai/ksrc/nucleus/module.c
xenomai/ksrc/nucleus/pod.c
xenomai/ksrc/nucleus/synch.c
xenomai/ksrc/nucleus/thread.c
xenomai/ksrc/nucleus/timer.c
xenomai/ksrc/nucleus/shadow.c
xenomai/ksrc/nucleus/core.c
xenomai/ksrc/nucleus/pipe.c
xenomai/ksrc/nucleus/ltt.c
xenomai/ksrc/nucleus/config.c
xenomai/ksrc/native
xenomai/ksrc/native/syscall.h
xenomai/ksrc/native/module.c
xenomai/ksrc/native/task.c
xenomai/ksrc/native/timer.c
xenomai/ksrc/native/syscall.c
xenomai/ksrc/native/pipe.c
xenomai/ksrc/native/sem.c
xenomai/ksrc/native/event.c
xenomai/ksrc/native/mutex.c
xenomai/ksrc/native/registry.c
xenomai/ksrc/native/cond.c
xenomai/ksrc/native/queue.c
xenomai/ksrc/native/heap.c
xenomai/ksrc/native/alarm.c
xenomai/ksrc/native/intr.c
xenomai/ksrc/psos+
xenomai/ksrc/psos+/module.c
xenomai/ksrc/psos+/asr.c
xenomai/ksrc/psos+/event.c
xenomai/ksrc/psos+/pt.c
xenomai/ksrc/psos+/queue.c
xenomai/ksrc/psos+/rn.c
xenomai/ksrc/psos+/task.c
xenomai/ksrc/psos+/tm.c
xenomai/ksrc/psos+/sem.c
xenomai/ksrc/psos+/asr.h
xenomai/ksrc/psos+/defs.h
xenomai/ksrc/psos+/event.h
xenomai/ksrc/psos+/pt.h
xenomai/ksrc/psos+/queue.h
xenomai/ksrc/psos+/rn.h
xenomai/ksrc/psos+/sem.h
xenomai/ksrc/psos+/task.h
xenomai/ksrc/psos+/tm.h
xenomai/ksrc/psos+/doc
xenomai/ksrc/psos+/doc/psos.txt
xenomai/ksrc/posix
xenomai/ksrc/posix/cancel.c
xenomai/ksrc/posix/clock.c
xenomai/ksrc/posix/cond_attr.c
xenomai/ksrc/posix/cond.c
xenomai/ksrc/posix/intr.c
xenomai/ksrc/posix/module.c
xenomai/ksrc/posix/mq.c
xenomai/ksrc/posix/mutex_attr.c
xenomai/ksrc/posix/mutex.c
xenomai/ksrc/posix/once.c
xenomai/ksrc/posix/registry.c
xenomai/ksrc/posix/sched.c
xenomai/ksrc/posix/sem.c
xenomai/ksrc/posix/signal.c
xenomai/ksrc/posix/syscall.c
xenomai/ksrc/posix/thread_attr.c
xenomai/ksrc/posix/thread.c
xenomai/ksrc/posix/ti