Royce Mitchell III [Sat, 15 Jan 2005 23:14:53 +0000 (23:14 +0000)]
remove unnecessary call to c_str()
svn path=/branches/xmlbuildsystem/; revision=13070
Casper Hornstrup [Sat, 15 Jan 2005 23:00:02 +0000 (23:00 +0000)]
Refactor GenerateGlobalCFlagsAndProperties
svn path=/branches/xmlbuildsystem/; revision=13069
Casper Hornstrup [Sat, 15 Jan 2005 22:32:01 +0000 (22:32 +0000)]
Windres support.
svn path=/branches/xmlbuildsystem/; revision=13068
Casper Hornstrup [Sat, 15 Jan 2005 19:00:35 +0000 (19:00 +0000)]
* Use objects rather than archive when linking ntoskrnl
* Remove unused file except.s
* Remove duplicate strtok() in ntoskrnl
svn path=/branches/xmlbuildsystem/; revision=13062
Casper Hornstrup [Sat, 15 Jan 2005 17:59:06 +0000 (17:59 +0000)]
If test
svn path=/branches/xmlbuildsystem/; revision=13061
Casper Hornstrup [Sat, 15 Jan 2005 13:52:36 +0000 (13:52 +0000)]
* LinkerFlag tag support
* Build addsys, libwine.a, user32.dll, advapi32.dll, gdi32.dll, msvcrt.dll, and welcome.exe
svn path=/branches/xmlbuildsystem/; revision=13055
Royce Mitchell III [Fri, 14 Jan 2005 21:40:55 +0000 (21:40 +0000)]
*nix compatibility
svn path=/branches/xmlbuildsystem/; revision=13049
Steven Edwards [Fri, 14 Jan 2005 21:14:48 +0000 (21:14 +0000)]
get the new buildsystem to mostly work for cross-compiling. Thanks Casper, Royce, etc.
svn path=/branches/xmlbuildsystem/; revision=13048
Steven Edwards [Fri, 14 Jan 2005 20:41:45 +0000 (20:41 +0000)]
started working on cross-compile support
svn path=/branches/xmlbuildsystem/; revision=13046
Filip Navara [Fri, 14 Jan 2005 14:11:13 +0000 (14:11 +0000)]
We're not supposed to build elf.c, it's template file.
svn path=/branches/xmlbuildsystem/; revision=13041
Royce Mitchell III [Fri, 14 Jan 2005 14:10:41 +0000 (14:10 +0000)]
better config.template.xml
svn path=/branches/xmlbuildsystem/; revision=13040
Royce Mitchell III [Fri, 14 Jan 2005 13:29:27 +0000 (13:29 +0000)]
add csq library to ntoskrnl
svn path=/branches/xmlbuildsystem/; revision=13039
Royce Mitchell III [Fri, 14 Jan 2005 06:51:37 +0000 (06:51 +0000)]
use ntoskrnl's def file when running dlltool, otherwise not all of ntoskrnl's exports make it into final executable.
svn path=/branches/xmlbuildsystem/; revision=13038
Royce Mitchell III [Thu, 13 Jan 2005 05:10:33 +0000 (05:10 +0000)]
kill the output exe files in a clean, too
svn path=/branches/xmlbuildsystem/; revision=13020
Royce Mitchell III [Thu, 13 Jan 2005 05:01:22 +0000 (05:01 +0000)]
generate clean rules
svn path=/branches/xmlbuildsystem/; revision=13019
Royce Mitchell III [Thu, 13 Jan 2005 04:17:53 +0000 (04:17 +0000)]
create phony targets for each module name, so you can type 'make ntoskrnl' instead of having to type 'make ./ntoskrnl/ntoskrnl.exe'
svn path=/branches/xmlbuildsystem/; revision=13018
Royce Mitchell III [Thu, 13 Jan 2005 04:13:20 +0000 (04:13 +0000)]
generate output rules for files under <if>
svn path=/branches/xmlbuildsystem/; revision=13017
Royce Mitchell III [Thu, 13 Jan 2005 03:43:10 +0000 (03:43 +0000)]
bugfixes to new <if> and related code
svn path=/branches/xmlbuildsystem/; revision=13016
Royce Mitchell III [Thu, 13 Jan 2005 02:46:46 +0000 (02:46 +0000)]
add support for <if> and <property>
svn path=/branches/xmlbuildsystem/; revision=13015
Royce Mitchell III [Thu, 13 Jan 2005 02:26:05 +0000 (02:26 +0000)]
fix variable cases
svn path=/branches/xmlbuildsystem/; revision=13012
Casper Hornstrup [Wed, 12 Jan 2005 19:42:07 +0000 (19:42 +0000)]
* Keep project level includes and defines in PROJECT_CFLAGS
* Win32dll module type support
* Build kernel32.dll
svn path=/branches/xmlbuildsystem/; revision=12985
Royce Mitchell III [Wed, 12 Jan 2005 14:07:55 +0000 (14:07 +0000)]
forgot to recurse If elements when generating macros
svn path=/branches/xmlbuildsystem/; revision=12966
Royce Mitchell III [Wed, 12 Jan 2005 06:02:58 +0000 (06:02 +0000)]
support for <if> tag
.PHONY must be output before the target gets defined
svn path=/branches/xmlbuildsystem/; revision=12944
Royce Mitchell III [Wed, 12 Jan 2005 05:01:49 +0000 (05:01 +0000)]
bugfix - patch by filip navara
svn path=/branches/xmlbuildsystem/; revision=12943
Casper Hornstrup [Tue, 11 Jan 2005 20:02:58 +0000 (20:02 +0000)]
Build ntdll.dll.
svn path=/branches/xmlbuildsystem/; revision=12926
Royce Mitchell III [Tue, 11 Jan 2005 18:20:30 +0000 (18:20 +0000)]
create a couple more variables to reduce makefile size
preparations for <if> support
svn path=/branches/xmlbuildsystem/; revision=12925
Royce Mitchell III [Mon, 10 Jan 2005 14:03:21 +0000 (14:03 +0000)]
make sure parentElement is set properly for <xi:include> elements
svn path=/branches/xmlbuildsystem/; revision=12918
Casper Hornstrup [Sun, 9 Jan 2005 21:26:16 +0000 (21:26 +0000)]
* Nasm support
* Hal, rosrtl, pseh, string modules
* Build ntoskrnl
svn path=/branches/xmlbuildsystem/; revision=12913
Royce Mitchell III [Sun, 9 Jan 2005 19:16:35 +0000 (19:16 +0000)]
added xi:fallback support
fixed some memory leaks in Project
detect and report "end of file looking for end tag" instead of just crashing
svn path=/branches/xmlbuildsystem/; revision=12911
Casper Hornstrup [Sun, 9 Jan 2005 17:24:09 +0000 (17:24 +0000)]
Fix compilation.
svn path=/branches/xmlbuildsystem/; revision=12910
Casper Hornstrup [Sun, 9 Jan 2005 16:36:57 +0000 (16:36 +0000)]
GCC assembler support.
svn path=/branches/xmlbuildsystem/; revision=12908
Royce Mitchell III [Sun, 9 Jan 2005 03:43:26 +0000 (03:43 +0000)]
use enum instead of string in more places
svn path=/branches/xmlbuildsystem/; revision=12902
Royce Mitchell III [Sun, 9 Jan 2005 03:29:46 +0000 (03:29 +0000)]
add 'location' information to a couple exceptions that should have it
fixed bug I introduced in MingwBackend::ProcessModule()
fixed bug in std::map usage, apparently map<const char*,...> is a bad idea
let make do some work, create variables to hold include list for each module
svn path=/branches/xmlbuildsystem/; revision=12901
Royce Mitchell III [Sun, 9 Jan 2005 01:58:53 +0000 (01:58 +0000)]
replaced Backend Factory's vector with a map.
added a map of the MingwModuleHandlers that's created at startup time
svn path=/branches/xmlbuildsystem/; revision=12900
Casper Hornstrup [Sun, 9 Jan 2005 01:25:16 +0000 (01:25 +0000)]
Put global includes last.
svn path=/branches/xmlbuildsystem/; revision=12899
Casper Hornstrup [Sun, 9 Jan 2005 01:13:31 +0000 (01:13 +0000)]
Fix compile error
svn path=/branches/xmlbuildsystem/; revision=12898
Casper Hornstrup [Sun, 9 Jan 2005 01:10:43 +0000 (01:10 +0000)]
Precondition dependencies.
svn path=/branches/xmlbuildsystem/; revision=12897
Casper Hornstrup [Sat, 8 Jan 2005 19:38:51 +0000 (19:38 +0000)]
Invocation of buildtool modules.
svn path=/branches/xmlbuildsystem/; revision=12891
Casper Hornstrup [Sat, 8 Jan 2005 12:54:43 +0000 (12:54 +0000)]
BuildTool module type support.
svn path=/branches/xmlbuildsystem/; revision=12887
Royce Mitchell III [Sat, 8 Jan 2005 06:36:03 +0000 (06:36 +0000)]
use ROS_TEMPORARY and ROS_INTERMEDIATE to allow builder to override locations for created files. Fix name conflict with temporary files
svn path=/branches/xmlbuildsystem/; revision=12882
Royce Mitchell III [Sat, 8 Jan 2005 05:22:02 +0000 (05:22 +0000)]
don't allow duplicate module names
svn path=/branches/xmlbuildsystem/; revision=12881
Royce Mitchell III [Sat, 8 Jan 2005 04:33:01 +0000 (04:33 +0000)]
<include> now has attribute 'base' which allows to specify subdirectory of another module
svn path=/branches/xmlbuildsystem/; revision=12880
Royce Mitchell III [Sat, 8 Jan 2005 03:37:32 +0000 (03:37 +0000)]
xml nodes now store the location they were parsed from; invalidbuildexceptions now required a location of the error; don't allow modules to process xml until all modules are created; don't allow libraries, defines, includes, etc to process xml until all modules have processed; don't allow module to link against itself or a non-existant module; don't allow library to specify non-existant module;
svn path=/branches/xmlbuildsystem/; revision=12879
Royce Mitchell III [Sat, 8 Jan 2005 02:33:09 +0000 (02:33 +0000)]
Don't pass objects ( particularly vectors ) by value unless absolutely necessary. Also applied some const-correctness
svn path=/branches/xmlbuildsystem/; revision=12878
Casper Hornstrup [Sat, 8 Jan 2005 00:25:48 +0000 (00:25 +0000)]
Static library module type.
svn path=/branches/xmlbuildsystem/; revision=12877
Casper Hornstrup [Fri, 7 Jan 2005 21:46:18 +0000 (21:46 +0000)]
Include and define support.
svn path=/branches/xmlbuildsystem/; revision=12876
Martin Fuchs [Fri, 7 Jan 2005 15:36:40 +0000 (15:36 +0000)]
fix case of XML.o
svn path=/branches/xmlbuildsystem/; revision=12870
Royce Mitchell III [Fri, 7 Jan 2005 13:48:53 +0000 (13:48 +0000)]
parse, but ignore, <? ?> tags - eliminated duplicate code ala FixSeparator() - fix path separator issues
svn path=/branches/xmlbuildsystem/; revision=12868
Casper Hornstrup [Thu, 6 Jan 2005 22:22:13 +0000 (22:22 +0000)]
* Generate kernel
* Add static library module type
* Add build script for kjs
svn path=/branches/xmlbuildsystem/; revision=12856
Casper Hornstrup [Thu, 6 Jan 2005 20:38:14 +0000 (20:38 +0000)]
Generate dependencies for kernel module type.
svn path=/branches/xmlbuildsystem/; revision=12855
Martin Fuchs [Thu, 6 Jan 2005 13:34:15 +0000 (13:34 +0000)]
migrate substitution keywords to SVN
svn path=/branches/xmlbuildsystem/; revision=12851
Royce Mitchell III [Thu, 6 Jan 2005 03:52:12 +0000 (03:52 +0000)]
fix gcc warning
svn path=/branches/xmlbuildsystem/; revision=12848
Royce Mitchell III [Thu, 6 Jan 2005 03:49:38 +0000 (03:49 +0000)]
forgot to remove and unneeded #include
svn path=/branches/xmlbuildsystem/; revision=12847
Royce Mitchell III [Thu, 6 Jan 2005 03:27:24 +0000 (03:27 +0000)]
much better factory implementation - thanks art yerkes
svn path=/branches/xmlbuildsystem/; revision=12846
Royce Mitchell III [Thu, 6 Jan 2005 02:55:11 +0000 (02:55 +0000)]
Factories for Backend creation
svn path=/branches/xmlbuildsystem/; revision=12845
Royce Mitchell III [Thu, 6 Jan 2005 02:06:44 +0000 (02:06 +0000)]
file & line # reporting on xml syntax errors
svn path=/branches/xmlbuildsystem/; revision=12844
Royce Mitchell III [Thu, 6 Jan 2005 01:35:01 +0000 (01:35 +0000)]
fixed some warnings, and added some asserts
svn path=/branches/xmlbuildsystem/; revision=12843
Casper Hornstrup [Wed, 5 Jan 2005 22:36:17 +0000 (22:36 +0000)]
Parse libraries.
svn path=/branches/xmlbuildsystem/; revision=12840
Casper Hornstrup [Wed, 5 Jan 2005 21:29:54 +0000 (21:29 +0000)]
Parse module type.
svn path=/branches/xmlbuildsystem/; revision=12839
Casper Hornstrup [Wed, 5 Jan 2005 20:59:10 +0000 (20:59 +0000)]
Generate MinGW makefile in the backend.
svn path=/branches/xmlbuildsystem/; revision=12837
Casper Hornstrup [Wed, 5 Jan 2005 19:47:10 +0000 (19:47 +0000)]
Handle modules.
svn path=/branches/xmlbuildsystem/; revision=12836
Royce Mitchell III [Wed, 5 Jan 2005 19:02:00 +0000 (19:02 +0000)]
beginnings of makefile output
svn path=/branches/xmlbuildsystem/; revision=12826
Royce Mitchell III [Wed, 5 Jan 2005 18:48:45 +0000 (18:48 +0000)]
allow for other build systems
svn path=/branches/xmlbuildsystem/; revision=12824
Royce Mitchell III [Wed, 5 Jan 2005 18:16:55 +0000 (18:16 +0000)]
specify output filename
svn path=/branches/xmlbuildsystem/; revision=12823
Royce Mitchell III [Wed, 5 Jan 2005 18:13:56 +0000 (18:13 +0000)]
assume HOST is set to mingw32-windows until someone who knows how can have make fail when HOST isn't set
svn path=/branches/xmlbuildsystem/; revision=12822
Royce Mitchell III [Wed, 5 Jan 2005 17:59:08 +0000 (17:59 +0000)]
small XMLFile cleanup
svn path=/branches/xmlbuildsystem/; revision=12821
Royce Mitchell III [Wed, 5 Jan 2005 05:09:38 +0000 (05:09 +0000)]
pch.h can be used as pre-compiled header
svn path=/branches/xmlbuildsystem/; revision=12818
Royce Mitchell III [Wed, 5 Jan 2005 03:47:55 +0000 (03:47 +0000)]
handle comments while parsing, instead of returning them to the user
svn path=/branches/xmlbuildsystem/; revision=12816
Royce Mitchell III [Wed, 5 Jan 2005 02:57:58 +0000 (02:57 +0000)]
don't define macros that conflict with MinGW system header files, causes very cryptic error messages
svn path=/branches/xmlbuildsystem/; revision=12815
Casper Hornstrup [Tue, 4 Jan 2005 22:40:08 +0000 (22:40 +0000)]
MinGW backend.
svn path=/branches/xmlbuildsystem/; revision=12805
Casper Hornstrup [Tue, 4 Jan 2005 21:29:09 +0000 (21:29 +0000)]
Add project and module tests.
svn path=/branches/xmlbuildsystem/; revision=12801
Casper Hornstrup [Tue, 4 Jan 2005 20:37:48 +0000 (20:37 +0000)]
Exception handling.
svn path=/branches/xmlbuildsystem/; revision=12797
Royce Mitchell III [Tue, 4 Jan 2005 19:06:48 +0000 (19:06 +0000)]
fix gcc incompatibilities
svn path=/branches/xmlbuildsystem/; revision=12795
Royce Mitchell III [Tue, 4 Jan 2005 18:38:31 +0000 (18:38 +0000)]
ssprintf() family of functions for std::string + printf functionality
svn path=/branches/xmlbuildsystem/; revision=12794
Casper Hornstrup [Tue, 4 Jan 2005 18:24:21 +0000 (18:24 +0000)]
Move project to its own file.
svn path=/branches/xmlbuildsystem/; revision=12793
Royce Mitchell III [Tue, 4 Jan 2005 17:53:26 +0000 (17:53 +0000)]
break XML-parsing stuff into it's own files, and fix 'make test'
svn path=/branches/xmlbuildsystem/; revision=12792
Casper Hornstrup [Tue, 4 Jan 2005 17:19:43 +0000 (17:19 +0000)]
Kill warnings.
svn path=/branches/xmlbuildsystem/; revision=12791
Royce Mitchell III [Tue, 4 Jan 2005 14:46:06 +0000 (14:46 +0000)]
parse a module's files into a vector ( conditions are still a TODO )
svn path=/branches/xmlbuildsystem/; revision=12789
Royce Mitchell III [Tue, 4 Jan 2005 14:27:27 +0000 (14:27 +0000)]
handle xml comments and added handling for some possible error conditions
svn path=/branches/xmlbuildsystem/; revision=12788
Royce Mitchell III [Tue, 4 Jan 2005 14:02:04 +0000 (14:02 +0000)]
each XMLElement now stores a pointer to it's parent node, so the tree can be traversed from the bottom
svn path=/branches/xmlbuildsystem/; revision=12787
Royce Mitchell III [Tue, 4 Jan 2005 13:40:05 +0000 (13:40 +0000)]
create virtual attribute "top_href" for <xi:include> that is a path relative to top level of project to make it easier to generate non-recursive makefiles
svn path=/branches/xmlbuildsystem/; revision=12786
Royce Mitchell III [Tue, 4 Jan 2005 07:05:31 +0000 (07:05 +0000)]
use ntoskrnl/module.xml
svn path=/branches/xmlbuildsystem/; revision=12784
Royce Mitchell III [Tue, 4 Jan 2005 07:05:04 +0000 (07:05 +0000)]
xml file for ntoskrnl module
svn path=/branches/xmlbuildsystem/; revision=12783
Royce Mitchell III [Tue, 4 Jan 2005 07:03:59 +0000 (07:03 +0000)]
support for <xi:include href="foo/foo.xml">, including the "relative path-mucking" necessary
svn path=/branches/xmlbuildsystem/; revision=12782
Royce Mitchell III [Tue, 4 Jan 2005 04:09:04 +0000 (04:09 +0000)]
proper destruction for Project objects
svn path=/branches/xmlbuildsystem/; revision=12778
Royce Mitchell III [Tue, 4 Jan 2005 04:04:32 +0000 (04:04 +0000)]
initial code to step through tree looking for modules, and calculating their relative paths, for now just print out our findings and clean up.
svn path=/branches/xmlbuildsystem/; revision=12777
Royce Mitchell III [Tue, 4 Jan 2005 03:10:07 +0000 (03:10 +0000)]
don't pass vector<pointer> by value unless you are looking for trouble, also fixed Assert() to take stdargs to make it's usage simpler and less error-prone. Also fixed IsTrue(), etc, to take file and line info by args and created macros to pass that info automatically.
svn path=/branches/xmlbuildsystem/; revision=12775
Royce Mitchell III [Mon, 3 Jan 2005 23:24:12 +0000 (23:24 +0000)]
get rid of transitory junk
svn path=/branches/xmlbuildsystem/; revision=12770
Royce Mitchell III [Mon, 3 Jan 2005 23:21:25 +0000 (23:21 +0000)]
1) vector<BaseClass> = bad juju, must use vector<BaseClass*>
2) BaseClass must have virtual dtor
3) make Run() pure virtual
svn path=/branches/xmlbuildsystem/; revision=12769
Casper Hornstrup [Mon, 3 Jan 2005 23:04:52 +0000 (23:04 +0000)]
Add small testing framework.
svn path=/branches/xmlbuildsystem/; revision=12767
Casper Hornstrup [Mon, 3 Jan 2005 20:43:23 +0000 (20:43 +0000)]
Add makefile for rbuild.
svn path=/branches/xmlbuildsystem/; revision=12762
Royce Mitchell III [Mon, 3 Jan 2005 19:29:19 +0000 (19:29 +0000)]
moved rbuild.cpp per Casper's request
svn path=/branches/xmlbuildsystem/; revision=12759
Royce Mitchell III [Mon, 3 Jan 2005 01:02:26 +0000 (01:02 +0000)]
XML parsing working with my local sample build script. Now we need to start coding the makefile-generation
svn path=/branches/xmlbuildsystem/; revision=12743
Casper Hornstrup [Sun, 2 Jan 2005 22:17:02 +0000 (22:17 +0000)]
Add sample build script.
svn path=/branches/xmlbuildsystem/; revision=12739
KJK::Hyperion [Sun, 2 Jan 2005 20:09:39 +0000 (20:09 +0000)]
Relaxed the validity checks for PE executables yet more (no limitation for the file layout anymore, as the memory manager doesn't really care and executables seen in the wild tend to be pretty eccentric). Documented with an ASSERT the fact that the file offset cannot overflow (MAXULONG + MAXULONG < MAXLONGLONG)
svn path=/trunk/; revision=12734
Filip Navara [Sun, 2 Jan 2005 19:27:53 +0000 (19:27 +0000)]
Disable debugging message.
svn path=/trunk/; revision=12732
Filip Navara [Sun, 2 Jan 2005 19:14:52 +0000 (19:14 +0000)]
Rename MmOpenMemoryAreaBy[Address/Region] to MmLocateMemoryAreaBy[Address/Region].
svn path=/trunk/; revision=12731
Filip Navara [Sun, 2 Jan 2005 18:04:59 +0000 (18:04 +0000)]
Implement ExtCreateRegion.
svn path=/trunk/; revision=12730
Filip Navara [Sun, 2 Jan 2005 18:00:31 +0000 (18:00 +0000)]
Allocate enough bytes for the adapter object.
svn path=/trunk/; revision=12729
Filip Navara [Sun, 2 Jan 2005 17:55:06 +0000 (17:55 +0000)]
Change the MEMORY_AREAs to be stored it a binary search tree instead of linked list. Thanks to Royce Mitchell III and Mike Nordell for helping me.
svn path=/trunk/; revision=12728