[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