Does anyone agree with me on this? Maybe I'm missing something here but I
would like to improve it.
_____
From: ros-dev-bounces(a)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.