If we don't have a ntoskrnl rbuild module for every supported architecture I don't understand why we do have a separate HAL rbuild module for every architecture (X86 , PowePC) and sub architecture (x86-Generic , x86-xbox , PowerPC-Generic)
Currently we have a very complicated logic to compile the appropriate HAL with conditions (IF) and alias that point to the correct module for the target architecture. At the end always two dlls are going to be generated for every architecture hal_up and hal_mp so what's the reason to have a specific module for every architecture and not two generic modules that represent the two possible HAL modes (uniprocessor and multiprocessor) that dynamically include the appropriate source code for the platform (Architecture + Sub Architecture) being build?
For example :
<module name="hal_generic" >
(common code to all architectures, sub architectures , UP and MP HALs)
</module>
<module name="hal_up" installname="halup.dll">
<library>hal_generic</library>
<library>..
(common files to all UP HALs)
<if property="ARCH" value="i386">
(X86 common files to all X86 UP HALs)
<if property="OARCH" value="xbox">
(xbox specific files)
</if>
</if>
</if propery="ARCH" value="powerpc">
(PPC common files)
</if>
</module>
And the same for multiprocessor <module name="hal_mp" installname="halmp.dll" /> both files can be simply copied to the install cd and usetup will install the correct HAL renamed as hal.dll depending on the user selection. IMHO it greatly simplifies the process and is a more elegant solution than the current one.
Does anyone agree with me on this? Maybe I'm missing something here but I would like to improve it.
_____
From: ros-dev-bounces@reactos.org [mailto:ros-dev-bounces@reactos.org] On Behalf Of Marc Piulachs Sent: Sunday, September 16, 2007 6:31 PM To: 'ReactOS Development List' Subject: [ros-dev] rbuild and HALs module optimization
If we don't have a ntoskrnl rbuild module for every supported architecture I don't understand why we do have a separate HAL rbuild module for every architecture (X86 , PowePC) and sub architecture (x86-Generic , x86-xbox , PowerPC-Generic)
Currently we have a very complicated logic to compile the appropriate HAL with conditions (IF) and alias that point to the correct module for the target architecture. At the end always two dlls are going to be generated for every architecture hal_up and hal_mp so what's the reason to have a specific module for every architecture and not two generic modules that represent the two possible HAL modes (uniprocessor and multiprocessor) that dynamically include the appropriate source code for the platform (Architecture + Sub Architecture) being build?
For example :
<module name="hal_generic" >
(common code to all architectures, sub architectures , UP and MP HALs)
</module>
<module name="hal_up" installname="halup.dll">
<library>hal_generic</library>
<library>..
(common files to all UP HALs)
<if property="ARCH" value="i386">
(X86 common files to all X86 UP HALs)
<if property="OARCH" value="xbox">
(xbox specific files)
</if>
</if>
</if propery="ARCH" value="powerpc">
(PPC common files)
</if>
</module>
And the same for multiprocessor <module name="hal_mp" installname="halmp.dll" /> both files can be simply copied to the install cd and usetup will install the correct HAL renamed as hal.dll depending on the user selection. IMHO it greatly simplifies the process and is a more elegant solution than the current one.
Marc Piulachs schrieb:
Does anyone agree with me on this? Maybe I’m missing something here but I would like to improve it.
I don't think you will have much luck getting an answer, as afaik rbuild is currently more or less unmaintained and our kernel-dev left the project.
Maybe arty or hpoussin do have an oppinion regarding your question, but they seem to be rather busy most of the time...
Have you tried asking on irc? Most devs hang out there...
Greets,
David Hinz