Author: ankit Date: 2008-01-18 13:43:06 -0500 (Fri, 18 Jan 2008) New Revision: 93282
Modified: branches/monodevelop/main/1.0/src/addins/MonoDevelop.Autotools/ChangeLog branches/monodevelop/main/1.0/src/addins/MonoDevelop.Autotools/SimpleProjectMakefileHandler.cs branches/monodevelop/main/1.0/src/addins/MonoDevelop.Autotools/SolutionDeployer.cs branches/monodevelop/main/1.0/src/addins/MonoDevelop.Autotools/SolutionMakefileHandler.cs branches/monodevelop/main/1.0/src/addins/MonoDevelop.Autotools/templates/Makefile.include branches/monodevelop/main/1.0/src/addins/MonoDevelop.Autotools/templates/Makefile.noauto.project.template Log: * SimpleProjectMakefileHandler.cs: Ensure that custom-hooks.make is included after the first target (all:). If the file exists then add it to EXTRA_DIST. Track change in emit-deploy-wrapper macro. * SolutionDeployer.cs: Emit sed script to generate wrapper only for simple makefiles. * SolutionMakefileHandler.cs: Use AppendToVariable for EXTRA_DIST, to allow a project to add to EXTRA_DIST. * templates/Makefile.include: sed is not required for autotools based makefiles. * templates/Makefile.auto.project.template: Add INCLUDE_CUSTOM_HOOKS after 'all:' target. Modified: branches/monodevelop/main/1.0/src/addins/MonoDevelop.Autotools/ChangeLog =================================================================== --- branches/monodevelop/main/1.0/src/addins/MonoDevelop.Autotools/ChangeLog 2008-01-18 18:31:59 UTC (rev 93281) +++ branches/monodevelop/main/1.0/src/addins/MonoDevelop.Autotools/ChangeLog 2008-01-18 18:43:06 UTC (rev 93282) @@ -1,3 +1,18 @@ +2008-01-19 Ankit Jain <[EMAIL PROTECTED]> + + * SimpleProjectMakefileHandler.cs: Ensure that custom-hooks.make is + included after the first target (all:). If the file exists then add it + to EXTRA_DIST. + Track change in emit-deploy-wrapper macro. + * SolutionDeployer.cs: Emit sed script to generate wrapper only for + simple makefiles. + * SolutionMakefileHandler.cs: Use AppendToVariable for EXTRA_DIST, to + allow a project to add to EXTRA_DIST. + * templates/Makefile.include: sed is not required for autotools based + makefiles. + * templates/Makefile.auto.project.template: Add INCLUDE_CUSTOM_HOOKS + after 'all:' target. + 2008-01-16 Ankit Jain <[EMAIL PROTECTED]> * SolutionDeployer.cs: Sort the list of common and required packages Modified: branches/monodevelop/main/1.0/src/addins/MonoDevelop.Autotools/SimpleProjectMakefileHandler.cs =================================================================== --- branches/monodevelop/main/1.0/src/addins/MonoDevelop.Autotools/SimpleProjectMakefileHandler.cs 2008-01-18 18:31:59 UTC (rev 93281) +++ branches/monodevelop/main/1.0/src/addins/MonoDevelop.Autotools/SimpleProjectMakefileHandler.cs 2008-01-18 18:43:06 UTC (rev 93282) @@ -128,6 +128,7 @@ extras = new StringBuilder (); datafiles = new StringBuilder (); + string include_custom_hooks = String.Empty; string references, dllReferences; ProcessProjectReferences (project, out references, out dllReferences, ctx); @@ -215,15 +216,15 @@ conf_vars.AppendFormat ("include $(top_srcdir)/Makefile.include\n"); conf_vars.AppendFormat ("include $(top_srcdir)/config.make\n\n"); - // Don't emit for top level project makefile(eg. pdn.make), as it would be // included by top level solution makefile if (ctx.TargetCombine.BaseDirectory != project.BaseDirectory){ string customhooks = Path.Combine (project.BaseDirectory, "custom-hooks.make"); bool include = File.Exists (customhooks); - Console.WriteLine ("------ {0} for {1}", include, customhooks); - conf_vars.AppendFormat ("{0}include $(srcdir)/custom-hooks.make\n\n", include ? "" : "#"); + include_custom_hooks = String.Format ("{0}include $(srcdir)/custom-hooks.make\n\n", include ? "" : "#"); + if (include) + makefile.SetVariable ("EXTRA_DIST", "$(srcdir)/custom-hooks.make"); } } @@ -428,6 +429,7 @@ templateEngine.Variables["COPY_DEPLOY_FILES_VARS"] = deployFileCopyVars.ToString(); templateEngine.Variables["COPY_DEPLOY_FILES_TARGETS"] = deployFileCopyTargets.ToString(); templateEngine.Variables["ALL_TARGET"] = (ctx.TargetCombine.BaseDirectory == project.BaseDirectory) ? "all-local" : "all"; + templateEngine.Variables["INCLUDE_CUSTOM_HOOKS"] = include_custom_hooks; templateEngine.Variables["FILES"] = files.ToString(); templateEngine.Variables["RESOURCES"] = res_files.ToString(); @@ -582,7 +584,10 @@ builtFiles.Add (Path.GetFileName (dfile.RelativeTargetPath)); if (dfile.ContainsPathReferences) - deployFileCopyTargets.AppendFormat ("$(eval $(call emit-deploy-wrapper,{0},{1}))\n", targetDeployVar, dependencyDeployFile); + deployFileCopyTargets.AppendFormat ("$(eval $(call emit-deploy-wrapper,{0},{1}{2}))\n", + targetDeployVar, + dependencyDeployFile, + (dfile.FileAttributes & DeployFileAttributes.Executable) != 0 ? ",x" : String.Empty); else deployFileCopyTargets.AppendFormat ("$(eval $(call emit-deploy-target,{0}))\n", targetDeployVar); Modified: branches/monodevelop/main/1.0/src/addins/MonoDevelop.Autotools/SolutionDeployer.cs =================================================================== --- branches/monodevelop/main/1.0/src/addins/MonoDevelop.Autotools/SolutionDeployer.cs 2008-01-18 18:31:59 UTC (rev 93281) +++ branches/monodevelop/main/1.0/src/addins/MonoDevelop.Autotools/SolutionDeployer.cs 2008-01-18 18:43:06 UTC (rev 93282) @@ -458,6 +458,13 @@ templateEngine.Variables["DEPLOY_DIRS"] = deployDirs.ToString(); templateEngine.Variables["DEPLOY_FILES_CLEAN"] = deployDirVars; + templateEngine.Variables["CONFIG_MAKE_DEP"] = generateAutotools ? String.Empty : "$(top_srcdir)/config.make"; + if (generateAutotools) + templateEngine.Variables["WRAPPER_SED"] = String.Empty; + else + templateEngine.Variables["WRAPPER_SED"] = + "\n$2: $2.in $(top_srcdir)/config.make\n" + + "\tsed -e \"s,@prefix@,$(prefix),\" -e \"s,@PACKAGE@,$(PACKAGE),\" < $2.in > $2"; string fileName = Path.Combine (solution_dir, "Makefile.include"); Modified: branches/monodevelop/main/1.0/src/addins/MonoDevelop.Autotools/SolutionMakefileHandler.cs =================================================================== --- branches/monodevelop/main/1.0/src/addins/MonoDevelop.Autotools/SolutionMakefileHandler.cs 2008-01-18 18:31:59 UTC (rev 93281) +++ branches/monodevelop/main/1.0/src/addins/MonoDevelop.Autotools/SolutionMakefileHandler.cs 2008-01-18 18:43:06 UTC (rev 93282) @@ -127,7 +127,7 @@ if (!generateAutotools) solutionMakefile.SetVariable ("EXTRA_DIST", projectMakefileName); } else { - makefile.SetVariable ("EXTRA_DIST", generateAutotools ? String.Empty : "Makefile"); + makefile.AppendToVariable ("EXTRA_DIST", generateAutotools ? String.Empty : "Makefile"); outpath = Path.Combine (Path.GetDirectoryName(ce.FileName), "Makefile"); if (generateAutotools) { ctx.AddAutoconfFile (outpath); Modified: branches/monodevelop/main/1.0/src/addins/MonoDevelop.Autotools/templates/Makefile.include =================================================================== --- branches/monodevelop/main/1.0/src/addins/MonoDevelop.Autotools/templates/Makefile.include 2008-01-18 18:31:59 UTC (rev 93281) +++ branches/monodevelop/main/1.0/src/addins/MonoDevelop.Autotools/templates/Makefile.include 2008-01-18 18:43:06 UTC (rev 93282) @@ -40,16 +40,13 @@ cp '$$<' '$$@' endef -# $(call emit-deploy-wrapper,wrapper-variable-name,wrapper-sourcefile) +# $(call emit-deploy-wrapper,wrapper-variable-name,wrapper-sourcefile,x) # assumes that for a wrapper foo.pc its source template is foo.pc.in +# if $3 is non-empty then wrapper is marked exec define emit-deploy-wrapper -$($1): $2 $(top_srcdir)/config.make - mkdir -p $$(BUILD_DIR) +$($1): $2 %%CONFIG_MAKE_DEP%% + mkdir -p $$(dir $($1)) cp '$$<' '$$@' - chmod +x '$$@' - -$2: $2.in $(top_srcdir)/config.make - sed -e "s,@prefix@,$(prefix)," -e "s,@PACKAGE@,$(PACKAGE)," < $2.in > $2 - + test -z '$3' || chmod +x '$$@' +%%WRAPPER_SED%% endef - Modified: branches/monodevelop/main/1.0/src/addins/MonoDevelop.Autotools/templates/Makefile.noauto.project.template =================================================================== --- branches/monodevelop/main/1.0/src/addins/MonoDevelop.Autotools/templates/Makefile.noauto.project.template 2008-01-18 18:31:59 UTC (rev 93281) +++ branches/monodevelop/main/1.0/src/addins/MonoDevelop.Autotools/templates/Makefile.noauto.project.template 2008-01-18 18:43:06 UTC (rev 93282) @@ -3,7 +3,6 @@ %%CONFIG_VARS%% %%COPY_DEPLOY_FILES_VARS%% - FILES = %%FILES%% DATA_FILES = %%DATA_FILES%% @@ -21,18 +20,16 @@ #Targets %%ALL_TARGET%%: $(ASSEMBLY) %%DEPLOY_FILE_VARS%% $(top_srcdir)/config.make -%%COPY_DEPLOY_FILES_TARGETS%% +%%INCLUDE_CUSTOM_HOOKS%% +%%COPY_DEPLOY_FILES_TARGETS%% %%TEMPLATE_FILES_TARGETS%% - $(build_xamlg_list): %.xaml.g.cs: %.xaml xamlg '$<' $(build_resx_resources) : %.resources: %.resx %%RESGEN%% '$<' '$@' - %%CUSTOM_COMMAND_TARGETS%% - $(ASSEMBLY) $(ASSEMBLY_MDB): $(build_sources) $(build_resources) $(build_datafiles) $(DLL_REFERENCES) $(PROJECT_REFERENCES) $(build_xamlg_list) make pre-all-local-hook prefix=$(prefix) mkdir -p $(dir $(ASSEMBLY)) @@ -41,6 +38,5 @@ make $(CONFIG)_AfterBuild make post-all-local-hook prefix=$(prefix) - %%INSTALL_TARGET%% %%UNINSTALL_TARGET%% _______________________________________________ Mono-patches maillist - Mono-patches@lists.ximian.com http://lists.ximian.com/mailman/listinfo/mono-patches