Author: lluis
Date: 2007-04-27 11:18:26 -0400 (Fri, 27 Apr 2007)
New Revision: 76388
Modified:
trunk/monodevelop/Extras/MonoDevelop.Autotools/AutotoolsContext.cs
trunk/monodevelop/Extras/MonoDevelop.Autotools/ChangeLog
trunk/monodevelop/Extras/MonoDevelop.Autotools/SimpleProjectMakefileHandler.cs
trunk/monodevelop/Extras/MonoDevelop.Autotools/SolutionDeployer.cs
trunk/monodevelop/Extras/MonoDevelop.Autotools/templates/Makefile.am.project.template
trunk/monodevelop/Extras/MonoDevelop.Autotools/templates/Makefile.include
Log:
* SimpleProjectMakefileHandler.cs, SolutionDeployer.cs,
templates/Makefile.include, templates/Makefile.am.project.template,
AutotoolsContext.cs: Fixed several problems in the autotools file
generation. Files to be deployed are now copied to the build
directory (doing the change name if necessary), and they are
installed from there. Fixes bug #81470.
Modified: trunk/monodevelop/Extras/MonoDevelop.Autotools/AutotoolsContext.cs
===================================================================
--- trunk/monodevelop/Extras/MonoDevelop.Autotools/AutotoolsContext.cs
2007-04-27 15:13:53 UTC (rev 76387)
+++ trunk/monodevelop/Extras/MonoDevelop.Autotools/AutotoolsContext.cs
2007-04-27 15:18:26 UTC (rev 76388)
@@ -25,6 +25,7 @@
using MonoDevelop.Projects;
using MonoDevelop.Deployment;
+using MonoDevelop.Core;
namespace MonoDevelop.Autotools
{
@@ -37,8 +38,9 @@
Set autoconfConfigFiles = new Set ();
Set referencedPackages = new Set();
- Set globalDllReferences = new Set();
+ Set globalFilesReferences = new Set();
Set compilers = new Set ();
+ ArrayList builtFiles = new ArrayList ();
public DeployContext DeployContext {
get { return deployContext; }
@@ -86,7 +88,7 @@
string dir = (string) deployDirs [folderId];
if (dir != null)
return dir;
- dir = folderId.ToUpper ().Replace (".","_").Replace
("/", "_");
+ dir = EscapeStringForAutoconf (folderId.ToUpper
().Replace (".","_").Replace ("/", "_"));
deployDirs [folderId] = dir;
return dir;
}
@@ -107,11 +109,17 @@
{
compilers.Add ( command_name );
}
-
- public string AddReferencedDll ( string dll_name )
+
+ public void AddBuiltFile (string filePath)
{
- globalDllReferences.Add ( dll_name );
- return String.Format ( "{0}/{1}/{2}", base_dir, libdir,
Path.GetFileName (dll_name) );
+ string fpath = Runtime.FileService.GetFullPath
(filePath);
+ string bd = Runtime.FileService.GetFullPath
(BaseDirectory);
+ if (fpath.StartsWith (bd + Path.DirectorySeparatorChar)
|| fpath == bd) {
+ string rel =
Runtime.FileService.AbsoluteToRelativePath (bd, fpath);
+ rel = NormalizeRelativePath (rel);
+ rel = "$(top_builddir)" +
Path.DirectorySeparatorChar + rel;
+ builtFiles.Add (rel);
+ }
}
public IEnumerable GetAutoConfFiles ()
@@ -129,9 +137,13 @@
return compilers;
}
- public IEnumerable GetReferencedDlls ()
+ public IEnumerable GetGlobalReferencedFiles ()
{
- return globalDllReferences;
+ ArrayList list = new ArrayList ();
+ foreach (string f in globalFilesReferences)
+ if (!builtFiles.Contains (f))
+ list.Add (f);
+ return list;
}
public IDictionary GetReferencedTargetDirectories ()
@@ -139,6 +151,46 @@
return deployDirs;
}
+ public string GetRelativePath (Project project, string path,
bool isGenerated)
+ {
+ string fpath = Path.GetFullPath (path);
+ string bd = Path.GetFullPath (project.BaseDirectory);
+ if (fpath.StartsWith (bd + Path.DirectorySeparatorChar)
|| fpath == bd) {
+ string rel =
Runtime.FileService.AbsoluteToRelativePath (bd, fpath);
+ rel = NormalizeRelativePath (rel);
+ if (isGenerated)
+ return rel;
+ else
+ return "$(srcdir)" +
Path.DirectorySeparatorChar + rel;
+ }
+ bd = Path.GetFullPath (BaseDirectory);
+ if (fpath.StartsWith (bd + Path.DirectorySeparatorChar)
|| fpath == bd) {
+ string rel =
Runtime.FileService.AbsoluteToRelativePath (bd, fpath);
+ rel = NormalizeRelativePath (rel);
+ string file = "$(top_builddir)" +
Path.DirectorySeparatorChar + rel;
+ if (builtFiles.Contains (file))
+ return file;
+ else {
+ globalFilesReferences.Add (file);
+ return "$(top_srcdir)" +
Path.DirectorySeparatorChar + rel;
+ }
+ }
+ throw new InvalidOperationException ("The project '" +
project.Name + "' references the file '" + Path.GetFileName (path) + "' which
is located outside the solution directory.");
+ }
+
+ public static string NormalizeRelativePath (string path)
+ {
+ path = path.Trim (Path.DirectorySeparatorChar,' ');
+ while (path.StartsWith ("." +
Path.DirectorySeparatorChar)) {
+ path = path.Substring (2);
+ path = path.Trim (Path.DirectorySeparatorChar,'
');
+ }
+ if (path == ".")
+ return string.Empty;
+ else
+ return path;
+ }
+
// TODO: add an extension point with which addins can implement
// autotools functionality.
public static IMakefileHandler GetMakefileHandler (
CombineEntry entry )
Modified: trunk/monodevelop/Extras/MonoDevelop.Autotools/ChangeLog
===================================================================
--- trunk/monodevelop/Extras/MonoDevelop.Autotools/ChangeLog 2007-04-27
15:13:53 UTC (rev 76387)
+++ trunk/monodevelop/Extras/MonoDevelop.Autotools/ChangeLog 2007-04-27
15:18:26 UTC (rev 76388)
@@ -1,3 +1,12 @@
+2007-04-27 Lluis Sanchez Gual <[EMAIL PROTECTED]>
+
+ * SimpleProjectMakefileHandler.cs, SolutionDeployer.cs,
+ templates/Makefile.include, templates/Makefile.am.project.template,
+ AutotoolsContext.cs: Fixed several problems in the autotools file
+ generation. Files to be deployed are now copied to the build
+ directory (doing the change name if necessary), and they are
+ installed from there. Fixes bug #81470.
+
2007-04-26 Lluis Sanchez Gual <[EMAIL PROTECTED]>
* Handler.cs, SolutionDeployer.cs: Fixed CanBuild method. Any combine
Modified:
trunk/monodevelop/Extras/MonoDevelop.Autotools/SimpleProjectMakefileHandler.cs
===================================================================
---
trunk/monodevelop/Extras/MonoDevelop.Autotools/SimpleProjectMakefileHandler.cs
2007-04-27 15:13:53 UTC (rev 76387)
+++
trunk/monodevelop/Extras/MonoDevelop.Autotools/SimpleProjectMakefileHandler.cs
2007-04-27 15:18:26 UTC (rev 76388)
@@ -73,7 +73,6 @@
// strings for variables
StringWriter references = new StringWriter();
- StringBuilder copy_dlls = new StringBuilder ();
StringWriter dllReferences = new StringWriter();
// grab pkg-config references
@@ -106,24 +105,20 @@
else if (reference.ReferenceType ==
ReferenceType.Assembly)
{
string assemblyPath =
Path.GetFullPath (reference.Reference);
- string libdll_path =
ctx.AddReferencedDll ( assemblyPath );
- string newPath =
"$(BUILD_DIR)/" + Path.GetFileName ( assemblyPath );
- copy_dlls.AppendFormat ( "
cp -f {0} {1}\n",
-
project.GetRelativeChildPath (libdll_path), newPath );
-
dlls.Add ( Path.GetFileName
(assemblyPath) );
dllReferences.WriteLine (" \\");
dllReferences.Write ("\t");
- dllReferences.Write ( newPath );
+ dllReferences.Write (
ctx.GetRelativePath (project, assemblyPath, false) );
}
- else if (reference.ReferenceType ==
ReferenceType.Project) continue; // handled elsewhere
- else throw new Exception (
GettextCatalog.GetString ("Project Reference Type {0} not supported yet",
+ else if (reference.ReferenceType ==
ReferenceType.Project)
+ continue; // handled elsewhere
+ else
+ throw new Exception (
GettextCatalog.GetString ("Project Reference Type {0} not supported yet",
reference.ReferenceType.ToString() ) );
}
templateEngine.Variables["REFERENCES"] =
references.ToString();
- templateEngine.Variables["COPY_DLLS"] =
copy_dlls.ToString();
templateEngine.Variables["DLL_REFERENCES"] =
dllReferences.ToString () ;
templateEngine.Variables["WARNING"] = "Warning:
This is an automatically generated file, do not edit!";
@@ -163,75 +158,88 @@
}
else
res_files.AppendFormat ( "\\\n\t{0} ", pfpath );
break;
+
+ case BuildAction.FileCopy:
+
+ datafiles.AppendFormat
("\\\n\t{0} ", pfpath);
+ break;
}
}
// Handle files to be deployed
- StringBuilder deployBinaries = new
StringBuilder ();
Hashtable deployDirs = new Hashtable ();
+ Hashtable deployFileVars = new Hashtable ();
+ StringBuilder deployFileCopy = new
StringBuilder ();
+ ArrayList builtFiles = new ArrayList ();
DeployFileCollection deployFiles =
DeployService.GetDeployFiles (ctx.DeployContext, new CombineEntry[] { project
});
foreach (DeployFile dfile in deployFiles) {
if (dfile.SourcePath ==
project.GetOutputFileName ())
continue;
+
string fname = null;
+
+ string deployVar = GetDeployVar
(deployFileVars, Path.GetFileName (dfile.RelativeTargetPath));
+
if (dfile.ContainsPathReferences) {
// If the file is a template,
create a .in file for it.
fname = Path.Combine
(project.BaseDirectory, Path.GetFileName (dfile.RelativeTargetPath));
string infname = fname + ".in";
- if (File.Exists (infname)) {
+ if (File.Exists (infname) &&
project.IsFileInProject (infname)) {
string datadir =
Path.Combine (project.BaseDirectory, "data");
if (!Directory.Exists
(datadir))
Directory.CreateDirectory (datadir);
infname = Path.Combine
(datadir, Path.GetFileName (dfile.RelativeTargetPath) + ".in");
}
- File.Copy (dfile.SourcePath,
infname);
- extras.AppendFormat (
"\\\n\t{0} ", Path.GetFileName (infname));
+ File.Copy (dfile.SourcePath,
infname, true);
+ extras.AppendFormat (
"\\\n\t{0} ", Runtime.FileService.AbsoluteToRelativePath
(project.BaseDirectory, infname));
ctx.AddAutoconfFile (fname);
- fname = Path.GetFileName
(fname);
+ fname = ctx.GetRelativePath
(project, fname, true);
} else {
- // If the file is not in the
project directory, copy it there.
- if (!Path.GetFullPath
(dfile.SourcePath).StartsWith (Path.GetFullPath (project.BaseDirectory))) {
- fname = Path.Combine
(project.BaseDirectory, Path.GetFileName (dfile.RelativeTargetPath));
- File.Copy
(dfile.SourcePath, fname);
- fname =
Path.GetFileName (fname);
- }
- else {
- // If the target file
name is different, rename it now
- if (Path.GetFileName
(dfile.RelativeTargetPath) != Path.GetFileName (dfile.SourcePath)) {
- fname =
Path.Combine (Path.GetDirectoryName (dfile.SourcePath), Path.GetFileName
(dfile.RelativeTargetPath));
- File.Copy
(dfile.SourcePath, fname, true);
- }
- else
- fname =
dfile.SourcePath;
-
- fname =
Runtime.FileService.AbsoluteToRelativePath (project.BaseDirectory, fname);
- }
-
- extras.AppendFormat ("\\\n\t{0}
", fname);
+ fname = ctx.GetRelativePath
(project, dfile.SourcePath, false);
}
+ string targetDeployFile =
"$(BUILD_DIR)" + Path.DirectorySeparatorChar + Path.GetFileName
(dfile.RelativeTargetPath);
+ builtFiles.Add (Path.GetFileName
(dfile.RelativeTargetPath));
+ string srcDeployFile = fname;
+
+ deployFileCopy.AppendFormat ("{0} =
{1}\n", deployVar, targetDeployFile);
+ deployFileCopy.AppendFormat ("$({0}):
{1}\n", deployVar, srcDeployFile);
+ deployFileCopy.AppendFormat ("\tmkdir
-p $(BUILD_DIR)\n");
+ deployFileCopy.AppendFormat ("\tcp {0}
$({1})\n", srcDeployFile, deployVar);
+ deployFileCopy.Append ("\n");
+
switch (dfile.TargetDirectoryID) {
- case TargetDirectory.Binaries:
- deployBinaries.AppendFormat
("\\\n\t{0} ", fname);
- break;
- case TargetDirectory.Gac:
- break;
- default:
- string ddir = NormalizeRelPath
(Path.GetDirectoryName (dfile.RelativeTargetPath).Trim ('/',' '));
- if (ddir.Length > 0)
- ddir = "/" + ddir;
- string var =
ctx.GetDeployDirectoryVar (dfile.TargetDirectoryID + ddir);
- StringBuilder sb =
(StringBuilder) deployDirs [var];
- if (sb == null) {
- sb = new StringBuilder
();
- deployDirs [var] = sb;
- }
- sb.AppendFormat ("\\\n\t{0} ",
fname);
- break;
+ case TargetDirectory.Gac:
+ // TODO
+ break;
+ default:
+ string var;
+ if
(dfile.TargetDirectoryID != TargetDirectory.Binaries) {
+ string ddir =
AutotoolsContext.NormalizeRelativePath (Path.GetDirectoryName
(dfile.RelativeTargetPath).Trim ('/',' '));
+ if (ddir.Length
> 0)
+ ddir =
"/" + ddir;
+ var =
ctx.GetDeployDirectoryVar (dfile.TargetDirectoryID + ddir);
+ }
+ else
+ var =
"BINARIES";
+
+ StringBuilder sb =
(StringBuilder) deployDirs [var];
+ if (sb == null) {
+ sb = new
StringBuilder ();
+ deployDirs
[var] = sb;
+ }
+ sb.AppendFormat
("\\\n\t$({0}) ", deployVar);
+ break;
}
}
+ string vars = "";
+ foreach (string s in deployDirs.Keys)
+ vars += "$(" + s + ") ";
+
+ templateEngine.Variables["DEPLOY_FILE_VARS"] =
vars;
+ templateEngine.Variables["COPY_DEPLOY_FILES"] =
deployFileCopy.ToString();
templateEngine.Variables["FILES"] =
files.ToString();
templateEngine.Variables["RESOURCES"] =
res_files.ToString();
templateEngine.Variables["EXTRAS"] =
extras.ToString();
@@ -301,18 +309,23 @@
pref = (PlatformID.Unix ==
Environment.OSVersion.Platform) ? project.GetRelativeChildPath (
config.OutputDirectory ) : project.GetRelativeChildPath (
config.OutputDirectory ).Replace("\\","/");
conf_vars.AppendFormat ( "BUILD_DIR =
{0}\n", pref);
conf_vars.Append ( "endif\n" );
+
+ // Register files built by this
configuration.
+ // Built files won't be distributed.
+ foreach (string bfile in builtFiles)
+ ctx.AddBuiltFile (Path.Combine
(config.OutputDirectory, bfile));
}
+ // Register files generated by the compiler
+ ctx.AddBuiltFile (project.GetOutputFileName ());
+ ctx.AddBuiltFile (project.GetOutputFileName ()
+ ".mdb");
+
conf_vars.Append ('\n');
foreach (DictionaryEntry e in deployDirs) {
conf_vars.AppendFormat ("{0} = {1} \n",
e.Key, e.Value);
}
- if (deployBinaries.Length > 0) {
- conf_vars.AppendFormat ("BINARIES = {0}
\n", deployBinaries);
- }
-
templateEngine.Variables["CONFIG_VARS"] =
conf_vars.ToString ();
// if ( pkgconfig ) CreatePkgConfigFile ( project,
pkgs, dlls, monitor, ctx );
@@ -330,19 +343,23 @@
return makefile;
}
- string NormalizeRelPath (string path)
+ string GetDeployVar (Hashtable hash, string name)
{
- path = path.Trim (Path.DirectorySeparatorChar,' ');
- while (path.StartsWith ("." +
Path.DirectorySeparatorChar)) {
- path = path.Substring (2);
- path = path.Trim (Path.DirectorySeparatorChar,'
');
+ name = name.Replace (Path.DirectorySeparatorChar, '_');
+ name = name.Replace ('.', '_');
+ name = name.ToUpper ();
+ name = AutotoolsContext.EscapeStringForAutoconf
(name).Trim ('_');
+
+ string bname = name;
+ int n = 1;
+ while (hash.Contains (name)) {
+ name = bname + "_" + n;
+ n++;
}
- if (path == ".")
- return string.Empty;
- else
- return path;
+ hash [name] = name;
+ return name;
}
-
+
static string GetExeWrapperFromAssembly ( string assembly )
{
string basename = assembly;
Modified: trunk/monodevelop/Extras/MonoDevelop.Autotools/SolutionDeployer.cs
===================================================================
--- trunk/monodevelop/Extras/MonoDevelop.Autotools/SolutionDeployer.cs
2007-04-27 15:13:53 UTC (rev 76387)
+++ trunk/monodevelop/Extras/MonoDevelop.Autotools/SolutionDeployer.cs
2007-04-27 15:18:26 UTC (rev 76388)
@@ -215,27 +215,14 @@
monitor.Log.WriteLine ( GettextCatalog.GetString
("Adding variables to top-level Makefile.am") );
StringBuilder sb = new StringBuilder ();
- foreach ( string dll in context.GetReferencedDlls() )
- {
- string dll_name = Path.GetFileName ( dll );
-
- string libdir = Path.Combine (solution_dir,
"lib");
- if ( !Directory.Exists ( libdir ) )
Directory.CreateDirectory ( libdir );
-
- string newPath = Path.Combine (libdir,
dll_name);
- Runtime.FileService.CopyFile ( dll, newPath );
-
- newPath =
Runtime.FileService.AbsoluteToRelativePath ( solution_dir, newPath );
- if (PlatformID.Unix !=
Environment.OSVersion.Platform)
- newPath = newPath.Replace ("\\","/");
- sb.Append (' ');
- sb.Append ( newPath );
- }
+ foreach ( string file in
context.GetGlobalReferencedFiles() )
+ sb.Append (' ').Append (file);
+
string vals = sb.ToString ();
- makefile.AppendToVariable ( "DLL_REFERENCES", vals );
- makefile.AppendToVariable ( "EXTRA_DIST",
"$(DLL_REFERENCES)" );
- makefile.AppendToVariable ( "pkglib_DATA",
"$(DLL_REFERENCES)" );
+// makefile.AppendToVariable ( "DLL_REFERENCES", vals );
+ makefile.AppendToVariable ( "EXTRA_DIST", vals );
+// makefile.AppendToVariable ( "pkglib_DATA",
"$(DLL_REFERENCES)" );
}
void CreateAutoGenDotSH (IProgressMonitor monitor)
@@ -286,7 +273,7 @@
// if yes, populate some vars
config_options.AppendFormat ( "if test
\"x${0}\" = \"xyes\" ; then\n", ac_var );
- AppendConfigVariables ( combine, config.Name,
config_options );
+// AppendConfigVariables ( combine, config.Name,
config_options );
config_options.Append ( "
CONFIG_REQUESTED=\"yes\"\nfi\n" );
}
@@ -294,7 +281,7 @@
if (defaultConf != null)
{
config_options.Append ( "if test -z
\"$CONFIG_REQUESTED\" ; then\n" );
- AppendConfigVariables ( combine, defaultConf,
config_options );
+// AppendConfigVariables ( combine, defaultConf,
config_options );
config_options.AppendFormat ( "
AM_CONDITIONAL({0}, true)\nfi\n", "ENABLE_"
+ defaultConf.ToUpper() );
}
@@ -353,7 +340,7 @@
writer.Close();
}
- void AppendConfigVariables ( Combine combine, string config,
StringBuilder options )
+/* void AppendConfigVariables ( Combine combine, string config,
StringBuilder options )
{
string name = config.ToLower();
@@ -392,7 +379,7 @@
options.AppendFormat ( "
AC_SUBST({0}_CONFIG_LIBRARIES)\n", name.ToUpper() );
options.AppendFormat ( "
AC_SUBST({0}_CONFIG_LIBS)\n", name.ToUpper() );
}
-
+*/
void CreateMakefileInclude (IProgressMonitor monitor)
{
monitor.Log.WriteLine ( GettextCatalog.GetString
("Creating Makefile.include") );
@@ -401,6 +388,8 @@
StringBuilder deployDirs = new StringBuilder ();
IDictionary dirs =
context.GetReferencedTargetDirectories ();
+ string deployDirVars = "";
+
foreach (DictionaryEntry e in dirs) {
// It may be a sub-path
string dir = (string) e.Key;
@@ -418,9 +407,11 @@
string dname = var.ToLower ().Replace ("_","");
deployDirs.AppendFormat ("{0}dir = {1}\n",
dname, resolved);
deployDirs.AppendFormat ("{0}_DATA = $({1})\n",
dname, var);
+ deployDirVars += "$(" + var + ") ";
}
templateEngine.Variables["DEPLOY_DIRS"] =
deployDirs.ToString();
+ templateEngine.Variables["DEPLOY_FILES_CLEAN"] =
deployDirVars;
string fileName = solution_dir + "/Makefile.include";
Modified:
trunk/monodevelop/Extras/MonoDevelop.Autotools/templates/Makefile.am.project.template
===================================================================
---
trunk/monodevelop/Extras/MonoDevelop.Autotools/templates/Makefile.am.project.template
2007-04-27 15:13:53 UTC (rev 76387)
+++
trunk/monodevelop/Extras/MonoDevelop.Autotools/templates/Makefile.am.project.template
2007-04-27 15:18:26 UTC (rev 76388)
@@ -2,7 +2,7 @@
%%CONFIG_VARS%%
-all: $(ASSEMBLY)
+all: $(ASSEMBLY) %%DEPLOY_FILE_VARS%%
FILES = %%FILES%%
@@ -16,9 +16,10 @@
DLL_REFERENCES = %%DLL_REFERENCES%%
+%%COPY_DEPLOY_FILES%%
+
$(ASSEMBLY) $(ASSEMBLY).mdb: $(build_sources) $(build_resources)
$(build_datafiles)
mkdir -p $(dir $(ASSEMBLY))
-%%COPY_DLLS%%
$(ASSEMBLY_COMPILER_COMMAND) $(ASSEMBLY_COMPILER_FLAGS) -out:$@
-target:$(COMPILE_TARGET) $(build_sources) $(build_resources_embed)
$(build_references_ref)
include $(top_srcdir)/Makefile.include
Modified:
trunk/monodevelop/Extras/MonoDevelop.Autotools/templates/Makefile.include
===================================================================
--- trunk/monodevelop/Extras/MonoDevelop.Autotools/templates/Makefile.include
2007-04-27 15:13:53 UTC (rev 76387)
+++ trunk/monodevelop/Extras/MonoDevelop.Autotools/templates/Makefile.include
2007-04-27 15:18:26 UTC (rev 76388)
@@ -6,17 +6,11 @@
build_references_ref += $(foreach ref, $(DLL_REFERENCES), -r:$(ref))
build_references_ref += $(foreach ref, $(PROJECT_REFERENCES), -r:$(ref))
-build_datafiles = $(addprefix $(BUILD_DIR)/, $(DATA_FILES))
-
-$(build_datafiles): $(BUILD_DIR)/% : $(addprefix $(srcdir)/, %)
- mkdir -p $(dir $@)
- cp $< $@
-
EXTRA_DIST = $(FILES) $(GENERATED_FILES) $(RESOURCES) $(ASSEMBLY_WRAPPER_IN)
$(EXTRAS) $(DATA_FILES)
-CLEANFILES = $(ASSEMBLY) $(ASSEMBLY).mdb $(DLL_REFERENCES)
-DISTCLEANFILES = $(GENERATED_FILES) $(build_datafiles) $(pc_files)
+CLEANFILES = $(ASSEMBLY) $(ASSEMBLY).mdb $(BINARIES) %%DEPLOY_FILES_CLEAN%%
+DISTCLEANFILES = $(GENERATED_FILES) $(pc_files)
-pkglib_SCRIPTS = $(ASSEMBLY) $(build_datafiles)
+pkglib_SCRIPTS = $(ASSEMBLY)
bin_SCRIPTS = $(BINARIES)
%%DEPLOY_DIRS%%
\ No newline at end of file
_______________________________________________
Mono-patches maillist - [email protected]
http://lists.ximian.com/mailman/listinfo/mono-patches