Re: [Xenomai-core] [packaging] Proposal of split source code organization
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
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