Difference between revisions of "User:Royce3"
m |
m |
||
Line 46: | Line 46: | ||
using winebuild, it's better to differentiate between libraries and | using winebuild, it's better to differentiate between libraries and | ||
import libraries in a non-ambiguous way | import libraries in a non-ambiguous way | ||
+ | |||
+ | side-by-side building of different ntoskrnl versions, one for UP, | ||
+ | one for SMP, one for Xen etc. Intermediate and output files would | ||
+ | be stored in different directories. Compilation flags could be | ||
+ | different for each version ("-DSMP") | ||
fix taskmgr painting issue: | fix taskmgr painting issue: |
Revision as of 15:58, 20 April 2005
Royce Mitchell III's TODO List ( not necessarily in order )
rbuild
output error if a cyclic reference is detected make ReactOS boot make livecd gcc is hardcoded in -pipe detection code so it don't work on linux gcc is hardcoded in pch detection code so it don't work on linux side-by-side modules:
Bugs/enhancements found by KJK::Hyperion: please auto-detect the name of NASM (nasm vs nasmw)
invoke ld directly, instead of calling it through gcc. We end up overriding all defaults anyway
if you don't want to invoke ld directly, at least pass -nostartfiles -nodefaultlibs, or you'll end up linking drivers to kernel32.dll and msvcrt.dll CH: Can you give an example where this is needed to avoid that?
-D_SEH_NO_NATIVE_NLG for all targets that cannot link to msvcrt.dll, like drivers and system DLLs (the flag itself will be obsoleted, but in the meanwhile it's necessary)
source files should have a dependency on compiler flags, executables on linker flags, etc. or a revision that only changes flags won't cause targets to be rebuilt
the source tree should be 100% read-only, not just 99% - please generate makefile.auto in the output directory
while you're at it, you could split makefile.auto in multiple includes. For example, you could generate three includes for each build file: a master include, an include that sets compiler flags and one that sets linker flags. This way, object files could depend on the compiler flags include
if you don't like the idea, at least make all generated files of each target depend on the build file!
for a number of reasons, it'd better to split required libraries in static libraries and import libraries. The main reason is import libraries only work properly if they are at the end of the command line. Another reason is that if we want to build ReactOS as ELF using winebuild, it's better to differentiate between libraries and import libraries in a non-ambiguous way
side-by-side building of different ntoskrnl versions, one for UP, one for SMP, one for Xen etc. Intermediate and output files would be stored in different directories. Compilation flags could be different for each version ("-DSMP")
fix taskmgr painting issue:
filip0402: implement the WS_EX_TRANSPARENT flag filip0402: it needs to be checked on three places... filip0402: two in VIS_ComputeVisibleRegion and one in IntFindWindowToRepaint
freetype caching
inf parsing
ability to right-click inf file and click "Install" to get it installed filip2307: well, the setup inf can be installed. we just don't have the registry entries for the context menu entry. w3seek: apps\utils\infinst
copy files via gui
desktop context menu
new shortcut display properties
grep all GDI_AllocObj ( check the macros that point to it ) and make sure we handle failure gracefully grep all GDI_LockObj ( again macros... ) and make sure we handle those failures gracefully too ASSERT_KM_POINTER(x) for every x received by an internal kernel function bad examples: NtWriteFile in ntoskrnl/io/rw.c VfatWrite soso examples: MpfsWrite at least null-checks the mdl
eradicate TAG_NONE
msvc6
ms office 2000
figure out why the following can crash reactos cmd: cmd: [CLEAN] *.o precomp.h.gch cmd.sym cmd.a ./cmd.coff cmd.exe cmd.nostrip.exe cmd.o attrib.o alias.o batch.o beep.o call.o chcp.o choice.o cls.o cmdinput.o cmdtable.o color.o console.o copy.o date.o del.o delay.o dir.o dirstack.o echo.o error.o filecomp.o for.o free.o goto.o history.o if.o internal.o label.o locale.o memory.o misc.o move.o msgbox.o path.o pause.o prmopt.o redir.o ren.o screen.o set.o shift.o start.o strtoclr.o time.o timer.o title.o type.o ver.o
ANSWER: Its because windows cmd insert a newline if the echo'ed string is longer than xxx chars thus the echo'ed text is recognized as a typed command, and since the command starts with cmd it executes cmd. Cmd.exe doesnt like all the unknown parameters very much and crash. -Gunnar
http://files.reactsoft.com/bsysbug.png
driver installation
filip2307: Class Installers, UM PnP manager, PnP events, some setupapi SetupDi* APIs, CFGMGR32 + RPC runtime + working WIDL
create libnls so we can get rid of tools/unicode
- DONE IN ReactOS 0.3.0-SVN ***
rbuild
error if module referenced by <library> doesn't exist <include base="kjs">include</include> output error if module referenced by base doesn't exist rename junk.tmp, base.tmp and temp.exp to %module%.jnk, %module%.tmp, %module%.exp put .exe, .o, etc files in $(ROS_INTERMEDIATE) use map instead of vector for factories use map created through ctors for module handlers ( kinda like the backend factories ) implement <xi:fallback>: Exception: how about an <xi:include href="config" failonerror="false" /> ? Exception: <xi:include href="config.template" /> Exception: <xi:include href="config" failonerror="false" /> Exception: then properties in config will override properties in config.template add support for <property>, as opposed to <define> let make do some of the work to reduce makefile size put junk and .a files in $(ROS_TEMPORARY) Exception: ROS_TEMPORARY, ROS_INTERMEDIATE, ROS_INSTALL? create some variables to reduce makefile size, like %modulename%_INCLUDES, and %modulename%_OBJS move module code to a base class where possible ( like the include macro creation ) mingw backend should auto-detect PCH support and use it if detected mingw backend should output <module>_clean target