<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Recent changes to attention-required</title><link>https://sourceforge.net/p/mattise/attention-required/</link><description>Recent changes to attention-required</description><atom:link href="https://sourceforge.net/p/mattise/attention-required/feed.rss" rel="self"/><language>en</language><lastBuildDate>Wed, 22 Aug 2007 23:12:26 -0000</lastBuildDate><atom:link href="https://sourceforge.net/p/mattise/attention-required/feed.rss" rel="self" type="application/rss+xml"/><item><title>/Userland/ata/ata.h (8:02AM(AEST) 23-07-07</title><link>https://sourceforge.net/p/mattise/attention-required/3/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;/Userland/ata/ata.h (8:02AM(AEST) 23-07-07&lt;/p&gt;
&lt;p&gt;The header states a definition and a declaration of the 'Tata_ctl_info' structure. &lt;/p&gt;
&lt;p&gt;The definition is correct placed, however the declaration should be in the/a source file.&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">kmcguire</dc:creator><pubDate>Wed, 22 Aug 2007 23:12:26 -0000</pubDate><guid>https://sourceforge.netb0b2fc6b9a6a60c8ba23c8e4fb9da6f9e86d4155</guid></item><item><title>Build System Using Make  (8:02AM(AEST) 23-07-07</title><link>https://sourceforge.net/p/mattise/attention-required/2/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;Regarding: Changes as of 8:02 AM (AEST) 23-07-07.&lt;/p&gt;
&lt;p&gt;There are current six points that require attention for the build system using make that was just recently changed (8:02AM(AEST) 23-07-07).&lt;/p&gt;
&lt;p&gt;These points are critical in that they completely prevent the build system from becoming functional, unless someone makes some pretty comprehensive fixes. The fixes requires are outlined below:&lt;/p&gt;
&lt;p&gt;---------------------------------------------------&lt;br /&gt;
1. The file link.ld is missing from the root directory when compiling the kernel. (must be missing from the commit)&lt;br /&gt;
---------------------------------------------------&lt;br /&gt;
2. The 'rm_int' directory is still present in your commits, and the make system compiles and links it into the kernel with errors.&lt;br /&gt;
./rm_int/int_v86.o: In function `int_v86(int)':&lt;br /&gt;
rm_int/int_v86.cc:95: undefined reference to `enter_rm'&lt;br /&gt;
---------------------------------------------------&lt;br /&gt;
3. When 'ld' is executed it is looking for a link.ld file in each Userland directory.&lt;br /&gt;
---------------------------------------------------&lt;br /&gt;
4. You still use hard paths (not placed in a central configuration file) --- /Userland/mattise_lib/Makefile&lt;br /&gt;
---------------------------------------------------&lt;br /&gt;
5. In the root /Makefile you do a "make -f Userland/Makefile all" which does not account for having a clean build -- since right afterward you actually change into the mattise_lib directory then build it. (The userland directory need mattise_lib first.)&lt;br /&gt;
5.FIX&lt;br /&gt;
A fixed number five by changing the rule 'all' for the root /Makefile.&lt;br /&gt;
# makes everything&lt;br /&gt;
all:&lt;br /&gt;
@make -f kernel.mk all&lt;br /&gt;
@make -f Userland/Makefile all&lt;br /&gt;
Then I went into /Userland/Makefile and changed the FOLDERS to:&lt;br /&gt;
FOLDERS:=Userland/mattise_lib Userland/ata Userland/devfs Userland/fat Userland/matti.............&lt;/p&gt;
&lt;p&gt;The important part is that Userland/mattise_lib comes first.&lt;br /&gt;
---------------------------------------------------&lt;br /&gt;
6. The kernel.mk makefile will fail during cleaning if certain compiler or linker flags are changed or using a configuration unlike you have. A actual example is the compiler not producing the *.d files which are assumed to exist... &lt;br /&gt;
6.PROBLEM&lt;br /&gt;
The problem is this stops the entire cleaning process. It would be nice if it simply complained about files it wanted to delete but did not exist. This will cause someone trying to compile your kernel a headache since they have to start searching through the Makefiles and figuring out how you build the kernel which may seem very simple to you.. but not others. =\ (It is simple to me.. but I have been looking at it for quite a few weeks)&lt;br /&gt;
(16:31:21) Kevin McGuire: 6.FIX&lt;br /&gt;
(16:31:40) Kevin McGuire:     I fixed 6 by changing the clean rule in the root /Makefile to:&lt;br /&gt;
# cleans everything&lt;br /&gt;
clean:&lt;br /&gt;
rm $(shell find -iname "*.[oda]")&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">kmcguire</dc:creator><pubDate>Wed, 22 Aug 2007 22:41:43 -0000</pubDate><guid>https://sourceforge.net45caa95d55ca520373afedf22c0219c1a9971003</guid></item><item><title>source tree: redundant declaration of critical structures</title><link>https://sourceforge.net/p/mattise/attention-required/1/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;There are redundant declarations of critical structures in the source tree in the user land folder.&lt;/p&gt;
&lt;p&gt;/Userland/devfs/main.c&lt;br /&gt;
struct vfs_Action;&lt;br /&gt;
struct vfs_ReqData;&lt;br /&gt;
struct devfs_Device;&lt;/p&gt;
&lt;p&gt;/Userland/mattisevfs/main.c&lt;br /&gt;
struct vfs_Action;&lt;br /&gt;
struct vfs_ReqData;&lt;br /&gt;
struct devfs_Device;&lt;/p&gt;
&lt;p&gt;One solution, but by no means the only solution, would be to create a directory like so:&lt;br /&gt;
1. /Userland/usr/include&lt;br /&gt;
2. /Userland/shared/include&lt;/p&gt;
&lt;p&gt;Then place all shared declaration in their own header. For an example the file /Userland/shared/include/vfs.h could define/declare all structures used in message communication.&lt;/p&gt;
&lt;p&gt;This should help prevent typos and the need for manual propagation of structure changes (or declaration changes) to multiple units.&lt;/p&gt;
&lt;p&gt;-------------- extra --------------&lt;/p&gt;
&lt;p&gt;So far two major groups of libraries and includes exist:&lt;br /&gt;
1. /newlib/&lt;br /&gt;
2. /Userland/mattise_lib/[lib,include]/&lt;br /&gt;
&amp;lt;&amp;lt;&amp;lt; 3. /Userland/[shared,usr]/include&lt;/p&gt;
&lt;p&gt;I have dubbed (1) as the STDLIB, and (2) as the SYSLIB. The (3) could be dubbed as the USRLIB.&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">kmcguire</dc:creator><pubDate>Sun, 19 Aug 2007 01:13:09 -0000</pubDate><guid>https://sourceforge.net607929f16ab32b55daad3c0fb71884eba6bd161c</guid></item></channel></rss>