[Gd-chatter] r11539 - in trunk/fundev/sources/project-manager: projects user-projects
andreas at gwydiondylan.org
andreas at gwydiondylan.org
Fri Dec 14 00:08:30 CET 2007
Author: andreas
Date: Fri Dec 14 00:08:30 2007
New Revision: 11539
Modified:
trunk/fundev/sources/project-manager/projects/lid-projects.dylan
trunk/fundev/sources/project-manager/user-projects/add-file.dylan
trunk/fundev/sources/project-manager/user-projects/save-project.dylan
trunk/fundev/sources/project-manager/user-projects/user-projects.dylan
Log:
job: fd
Pass around jam-includes in the project manager.
Modified: trunk/fundev/sources/project-manager/projects/lid-projects.dylan
==============================================================================
--- trunk/fundev/sources/project-manager/projects/lid-projects.dylan (original)
+++ trunk/fundev/sources/project-manager/projects/lid-projects.dylan Fri Dec 14 00:08:30 2007
@@ -27,7 +27,8 @@
#"rc-files",
#"major-version",
#"minor-version",
- #"library-pack"];
+ #"library-pack",
+ #"jam-includes"];
define constant $simple-build-keyword = #[#"executable",
#"base-address",
@@ -49,7 +50,8 @@
#"c-libraries",
#"rc-files",
#"other-files",
- #"broken-files"];
+ #"broken-files",
+ #"jam-includes"];
define open generic project-lid-library-name
(p :: <project>) => (name :: <symbol>);
@@ -502,6 +504,8 @@
if (c-libs) add-setting(c-libraries: c-libs) end;
let rc-names = element(properties, #"rc-files", default: #f);
if (rc-names) add-setting(rc-files: map(source-dir, rc-names)) end;
+ let jam-names = element(properties, #"jam-includes", default: #f);
+ if (jam-names) add-setting(rc-files: map(source-dir, jam-names)) end;
//
//---*** NOTE: Gwydion uses Executable: as well to name the file but,
//---*** in their implementation, its presence also indicates that
Modified: trunk/fundev/sources/project-manager/user-projects/add-file.dylan
==============================================================================
--- trunk/fundev/sources/project-manager/user-projects/add-file.dylan (original)
+++ trunk/fundev/sources/project-manager/user-projects/add-file.dylan Fri Dec 14 00:08:30 2007
@@ -25,7 +25,7 @@
let filenames = project-build-property(project, keyword) | #[];
add-sources(filenames)
end method add-project-filenames;
- for (key in #[#"c-source-files", #"c-header-files", #"c-object-files",
+ for (key in #[#"c-source-files", #"c-header-files", #"jam-includes", #"c-object-files",
#"c-libraries", #"rc-files", #"other-files", #"broken-files"])
add-project-filenames(key)
end;
@@ -111,6 +111,12 @@
project-add-list-property(p, #"rc-files", as(<string>, file-locator))
end;
+define method project-add-file-of-type(type == $jam-file-type,
+ p :: <user-project>,
+ file-locator :: <file-locator>)
+ project-add-list-property(p, #"jam-includes", as(<string>, file-locator))
+end;
+
define method project-add-file-of-type(type :: $project-file-types,
project :: <user-project>,
file-locator :: <file-locator>)
@@ -232,6 +238,13 @@
project-relative-file(p, file-locator))
end;
+define method project-remove-file-of-type(type == $jam-file-type,
+ p :: <user-project>,
+ file-locator :: <file-locator>)
+ project-remove-list-property(p, #"jam-includes",
+ project-relative-file(p, file-locator))
+end;
+
define method project-remove-file-of-type(type,
p :: <user-project>,
file-locator :: <file-locator>)
Modified: trunk/fundev/sources/project-manager/user-projects/save-project.dylan
==============================================================================
--- trunk/fundev/sources/project-manager/user-projects/save-project.dylan (original)
+++ trunk/fundev/sources/project-manager/user-projects/save-project.dylan Fri Dec 14 00:08:30 2007
@@ -22,7 +22,8 @@
c-header-files :: <sequence>,
c-object-files :: <sequence>,
c-libraries :: <sequence>,
- rc-files :: <sequence>)
+ rc-files :: <sequence>,
+ jam-includes :: <sequence>)
// extend this function if you don't want to save default values,
// i.e. values that were never explicitly set
@@ -36,11 +37,12 @@
project-build-property(p, #"linker-options") | #[],
project-build-property(p, #"c-source-files") |
- project-build-property(p, #"c-files") | #[],
+ project-build-property(p, #"c-files") | #[],
project-build-property(p, #"c-header-files") | #[],
project-build-property(p, #"c-object-files") | #[],
project-build-property(p, #"c-libraries") | #[],
- project-build-property(p, #"rc-files") | #[])
+ project-build-property(p, #"rc-files") | #[],
+ project-build-property(p, #"jam-includes") | #[])
end function lid-project-build-settings;
/// Generate a list of all C libraries used by this Dylan library and all used
@@ -139,7 +141,7 @@
let (executable, base-address-string,
debug-command, debug-arguments-string, debug-machine, debug-directory,
start-function, linker-options, c-source-files,
- c-header-files, c-object-files, c-libraries, rc-files)
+ c-header-files, c-object-files, c-libraries, rc-files, jam-includes)
= lid-project-build-settings(p);
let relative = if (flatten-extras?)
curry(map, convert-path-to-filename)
@@ -161,6 +163,7 @@
save-list-value(stream, #"c-object-files", relative(c-object-files));
save-list-value(stream, #"c-libraries", c-libraries);
save-list-value(stream, #"rc-files", relative(rc-files));
+ save-list-value(stream, #"jam-includes", relative(jam-includes));
save-single-value(stream, #"major-version", p.project-major-version);
save-single-value(stream, #"minor-version", p.project-minor-version);
save-single-value(stream, #"library-pack", p.project-library-pack);
Modified: trunk/fundev/sources/project-manager/user-projects/user-projects.dylan
==============================================================================
--- trunk/fundev/sources/project-manager/user-projects/user-projects.dylan (original)
+++ trunk/fundev/sources/project-manager/user-projects/user-projects.dylan Fri Dec 14 00:08:30 2007
@@ -21,6 +21,8 @@
define constant $ico-file-type = #"ico";
define constant $bmp-file-type = #"bmp";
+define constant $jam-file-type = #"jam";
+
define constant $include-file-types = type-union(singleton($C-header-file-type),
singleton($ico-file-type),
singleton($bmp-file-type));
More information about the chatter
mailing list