Beispiel #1
0
        /// <summary>
        /// Note: the ParseCache's Root package will NOT be copied but simply assigned to the local root package!
        /// Changes made to the local root package will affect o's Root package!!
        /// </summary>
        /// <param name="o"></param>
        public void AssignFrom(DCompilerConfiguration o)
        {
            Vendor  = o.Vendor;
            BinPath = o.BinPath;
            SourceCompilerCommand = o.SourceCompilerCommand;
            ArgumentPatterns.CopyFrom(o.ArgumentPatterns);
            EnableGDCLibPrefixing = o.EnableGDCLibPrefixing;

            IncludePaths.Clear();
            if (o.IncludePaths != null)
            {
                IncludePaths.AddRange(o.IncludePaths);
            }

            DefaultLibraries.Clear();
            DefaultLibraries.AddRange(o.DefaultLibraries);

            LinkTargetConfigurations.Clear();
            foreach (var kv in o.LinkTargetConfigurations)
            {
                var newLt = new LinkTargetConfiguration();
                newLt.CopyFrom(kv.Value);
                LinkTargetConfigurations [kv.Key] = newLt;
            }

            FinishedParsing = o.FinishedParsing;
            HadInitialParse = o.HadInitialParse;
        }
Beispiel #2
0
        /// <summary>
        /// Note: the ParseCache's Root package will NOT be copied but simply assigned to the local root package!
        /// Changes made to the local root package will affect o's Root package!!
        /// </summary>
        /// <param name="o"></param>
        public void AssignFrom(DCompilerConfiguration o)
        {
            Vendor  = o.Vendor;
            BinPath = o.BinPath;
            SourceCompilerCommand = o.SourceCompilerCommand;
            ArgumentPatterns.CopyFrom(o.ArgumentPatterns);
            EnableGDCLibPrefixing = o.EnableGDCLibPrefixing;

            ParseCache.ParsedDirectories.Clear();
            if (o.ParseCache.ParsedDirectories != null)
            {
                ParseCache.ParsedDirectories.AddRange(o.ParseCache.ParsedDirectories);
            }

            ParseCache.Root = o.ParseCache.Root;

            DefaultLibraries.Clear();
            DefaultLibraries.AddRange(o.DefaultLibraries);

            LinkTargetConfigurations.Clear();
            foreach (var kv in o.LinkTargetConfigurations)
            {
                var newLt = new LinkTargetConfiguration();
                newLt.CopyFrom(kv.Value);
                LinkTargetConfigurations [kv.Key] = newLt;
            }
        }
Beispiel #3
0
        public void CopyFrom(LinkTargetConfiguration o)
        {
            TargetType = o.TargetType;
            Linker     = o.Linker;

            DebugArguments.CopyFrom(o.DebugArguments);
            ReleaseArguments.CopyFrom(o.ReleaseArguments);
        }
		public LinkTargetConfiguration GetOrCreateTargetConfiguration (DCompileTarget Target)
		{
			LinkTargetConfiguration ltc = null;

			if (LinkTargetConfigurations.TryGetValue (Target, out ltc))
				return ltc;

			return LinkTargetConfigurations [Target] = new LinkTargetConfiguration { TargetType = Target };
		}
Beispiel #5
0
        public void CopyFrom(LinkTargetConfiguration o)
        {
            TargetType = o.TargetType;
            Compiler   = o.Compiler;
            Linker     = o.Linker;

            ObjectFileLinkPattern = o.ObjectFileLinkPattern;
            IncludePathPattern    = o.IncludePathPattern;

            DebugArguments.CopyFrom(o.DebugArguments);
            ReleaseArguments.CopyFrom(o.ReleaseArguments);
        }
Beispiel #6
0
        public void ReadFrom(System.Xml.XmlReader x)
        {
            XmlReader s = null;

            while (x.Read())
            {
                switch (x.LocalName)
                {
                case "BinaryPath":
                    BinPath = x.ReadString();
                    break;

                case "TargetConfiguration":
                    s = x.ReadSubtree();

                    var t = new LinkTargetConfiguration();
                    t.LoadFrom(s);
                    LinkTargetConfigurations [t.TargetType] = t;

                    s.Close();
                    break;

                case "DefaultLibs":
                    s = x.ReadSubtree();

                    while (s.Read())
                    {
                        if (s.LocalName == "lib")
                        {
                            DefaultLibraries.Add(s.ReadString());
                        }
                    }

                    s.Close();
                    break;

                case "Includes":
                    s = x.ReadSubtree();

                    var paths = new List <string> ();
                    while (s.Read())
                    {
                        if (s.LocalName == "Path")
                        {
                            ParseCache.ParsedDirectories.Add(s.ReadString());
                        }
                    }

                    s.Close();
                    break;
                }
            }
        }
Beispiel #7
0
        public LinkTargetConfiguration GetOrCreateTargetConfiguration(DCompileTarget Target)
        {
            LinkTargetConfiguration ltc = null;

            if (LinkTargetConfigurations.TryGetValue(Target, out ltc))
            {
                return(ltc);
            }

            return(LinkTargetConfigurations [Target] = new LinkTargetConfiguration {
                TargetType = Target
            });
        }
        public void ReadFrom(System.Xml.XmlReader x)
        {
            XmlReader s = null;

            while (x.Read())
            {
                switch (x.LocalName)
                {
                case "TargetConfiguration":
                    s = x.ReadSubtree();

                    var t = new LinkTargetConfiguration();
                    t.LoadFrom(s);
                    LinkTargetConfigurations.Add(t);

                    s.Close();
                    break;

                case "DefaultLibs":
                    s = x.ReadSubtree();

                    while (s.Read())
                    {
                        if (s.LocalName == "lib")
                        {
                            DefaultLibraries.Add(s.ReadString());
                        }
                    }

                    s.Close();
                    break;

                case "Includes":
                    s = x.ReadSubtree();

                    while (s.Read())
                    {
                        if (s.LocalName == "Path")
                        {
                            GlobalParseCache.Add(s.ReadString());
                        }
                    }

                    s.Close();
                    break;
                }
            }
        }
        public LinkTargetConfiguration GetTargetConfiguration(DCompileTarget Target)
        {
            foreach (var t in LinkTargetConfigurations)
            {
                if (t.TargetType == Target)
                {
                    return(t);
                }
            }

            var newTarget = new LinkTargetConfiguration {
                TargetType = Target
            };

            LinkTargetConfigurations.Add(newTarget);
            return(newTarget);
        }
Beispiel #10
0
        /// <summary>
        /// Note: the ParseCache's Root package will NOT be copied but simply assigned to the local root package!
        /// Changes made to the local root package will affect o's Root package!!
        /// </summary>
        /// <param name="o"></param>
        public void AssignFrom(DCompilerConfiguration o)
        {
            Vendor  = o.Vendor;
            BinPath = o.BinPath;

            ParseCache.ParsedDirectories.Clear();
            if (o.ParseCache.ParsedDirectories != null)
            {
                ParseCache.ParsedDirectories.AddRange(o.ParseCache.ParsedDirectories);
            }

            ParseCache.Root = o.ParseCache.Root;

            DefaultLibraries.Clear();
            DefaultLibraries.AddRange(o.DefaultLibraries);

            LinkTargetConfigurations.Clear();
            foreach (var kv in o.LinkTargetConfigurations)
            {
                var newLt = new LinkTargetConfiguration();
                newLt.CopyFrom(kv.Value);
                LinkTargetConfigurations [kv.Key] = newLt;
            }
        }
        public void ReadFrom(System.Xml.XmlReader x)
        {
            XmlReader s = null;

            while(x.Read())
                switch (x.LocalName)
                {
                    case "TargetConfiguration":
                        s = x.ReadSubtree();

                        var t = new LinkTargetConfiguration();
                        t.LoadFrom(s);
                        LinkTargetConfigurations.Add(t);

                        s.Close();
                        break;

                    case "DefaultLibs":
                        s = x.ReadSubtree();

                        while (s.Read())
                            if (s.LocalName == "lib")
                                DefaultLibraries.Add(s.ReadString());

                        s.Close();
                        break;

                    case "Includes":
                        s = x.ReadSubtree();

                        while (s.Read())
                            if (s.LocalName == "Path")
                                GlobalParseCache.Add(s.ReadString());

                        s.Close();
                        break;
                }
        }
        public LinkTargetConfiguration GetTargetConfiguration(DCompileTarget Target)
        {
            foreach (var t in LinkTargetConfigurations)
                if (t.TargetType == Target)
                    return t;

            var newTarget = new LinkTargetConfiguration { TargetType=Target };
            LinkTargetConfigurations.Add(newTarget);
            return newTarget;
        }
		public void CopyFrom (LinkTargetConfiguration o)
		{
			TargetType = o.TargetType;
			Linker = o.Linker;

			DebugArguments.CopyFrom (o.DebugArguments);
			ReleaseArguments.CopyFrom (o.ReleaseArguments);
		}
        public void ReadFrom(System.Xml.XmlReader x)
        {
            XmlReader s = null;

            while (x.Read())
                switch (x.LocalName) {
                case "BinaryPath":
                    BinPath = x.ReadString ();
                    break;

                case "TargetConfiguration":
                    s = x.ReadSubtree ();

                    var t = new LinkTargetConfiguration ();
                    t.LoadFrom (s);
                    LinkTargetConfigurations [t.TargetType] = t;

                    s.Close ();
                    break;

                case "DefaultLibs":
                    s = x.ReadSubtree ();

                    while (s.Read())
                        if (s.LocalName == "lib")
                            DefaultLibraries.Add (s.ReadString ());

                    s.Close ();
                    break;

                case "Includes":
                    s = x.ReadSubtree ();

                    var paths = new List<string> ();
                    while (s.Read())
                        if (s.LocalName == "Path")
                            ParseCache.ParsedDirectories.Add (s.ReadString ());

                    s.Close ();
                    break;
                }
        }
        /// <summary>
        /// Note: the ParseCache's Root package will NOT be copied but simply assigned to the local root package!
        /// Changes made to the local root package will affect o's Root package!!
        /// </summary>
        /// <param name="o"></param>
        public void AssignFrom(DCompilerConfiguration o)
        {
            Vendor = o.Vendor;
            BinPath = o.BinPath;
            SourceCompilerCommand = o.SourceCompilerCommand;
            ArgumentPatterns.CopyFrom(o.ArgumentPatterns);
            EnableGDCLibPrefixing = o.EnableGDCLibPrefixing;

            ParseCache.ParsedDirectories.Clear ();
            if (o.ParseCache.ParsedDirectories != null)
                ParseCache.ParsedDirectories.AddRange (o.ParseCache.ParsedDirectories);

            ParseCache.Root = o.ParseCache.Root;

            DefaultLibraries.Clear ();
            DefaultLibraries.AddRange (o.DefaultLibraries);

            LinkTargetConfigurations.Clear ();
            foreach (var kv in o.LinkTargetConfigurations) {
                var newLt = new LinkTargetConfiguration ();
                newLt.CopyFrom (kv.Value);
                LinkTargetConfigurations [kv.Key] = newLt;
            }
        }
        public void CopyFrom(LinkTargetConfiguration o)
        {
            TargetType = o.TargetType;
            Compiler = o.Compiler;
            Linker = o.Linker;

            ObjectFileLinkPattern = o.ObjectFileLinkPattern;
            IncludePathPattern = o.IncludePathPattern;

            DebugArguments.CopyFrom (o.DebugArguments);
            ReleaseArguments.CopyFrom (o.ReleaseArguments);
        }
Beispiel #17
0
        public void ReadFrom(System.Xml.XmlReader x)
        {
            XmlReader s = null;

            while (x.Read())
            {
                switch (x.LocalName)
                {
                case "BinaryPath":
                    BinPath = x.ReadString();
                    break;

                case "TargetConfiguration":
                    s = x.ReadSubtree();

                    var t = new LinkTargetConfiguration();
                    if (t.LoadFrom(this, s))
                    {
                        LinkTargetConfigurations [t.TargetType] = t;
                    }

                    s.Close();
                    break;

                case "DefaultLibs":
                    s = x.ReadSubtree();

                    while (s.Read())
                    {
                        if (s.LocalName == "lib")
                        {
                            DefaultLibraries.Add(s.ReadString());
                        }
                    }

                    s.Close();
                    break;

                case "Includes":
                    s = x.ReadSubtree();

                    while (s.Read())
                    {
                        if (s.LocalName == "Path")
                        {
                            ParseCache.ParsedDirectories.Add(s.ReadString());
                        }
                    }

                    s.Close();
                    break;

                case "VersionId":
                    PredefinedVersionConstant = x.ReadString();
                    break;

                case "CompilerCommand":
                    SourceCompilerCommand = x.ReadString();
                    break;

                case "Patterns":
                    s = x.ReadSubtree();
                    ArgumentPatterns.ReadFrom(s);
                    s.Close();
                    break;

                case "gdcLibPrefixing":
                    EnableGDCLibPrefixing = x.ReadString() == "true";
                    break;
                }
            }
        }
		/// <summary>
		/// Note: the ParseCache's Root package will NOT be copied but simply assigned to the local root package!
		/// Changes made to the local root package will affect o's Root package!!
		/// </summary>
		/// <param name="o"></param>
		public void AssignFrom (DCompilerConfiguration o)
		{
			Vendor = o.Vendor;
			BinPath = o.BinPath;
			SourceCompilerCommand = o.SourceCompilerCommand;
			ArgumentPatterns.CopyFrom(o.ArgumentPatterns);
			EnableGDCLibPrefixing = o.EnableGDCLibPrefixing;

			IncludePaths.Clear ();
			if (o.IncludePaths != null)
				IncludePaths.AddRange (o.IncludePaths);

			DefaultLibraries.Clear ();
			DefaultLibraries.AddRange (o.DefaultLibraries);

			LinkTargetConfigurations.Clear ();
			foreach (var kv in o.LinkTargetConfigurations) {
				var newLt = new LinkTargetConfiguration ();
				newLt.CopyFrom (kv.Value);
				LinkTargetConfigurations [kv.Key] = newLt;
			}

			FinishedParsing = o.FinishedParsing;
			HadInitialParse = o.HadInitialParse;
		}
		public void ReadFrom (XmlReader x)
		{
			XmlReader s = null;

			while (x.Read())
				switch (x.LocalName) {
				case "BinaryPath":
					BinPath = x.ReadString ();
					break;

				case "TargetConfiguration":
					s = x.ReadSubtree ();

					var t = new LinkTargetConfiguration ();
					if(t.LoadFrom (this,s))
						LinkTargetConfigurations [t.TargetType] = t;

					s.Close ();
					break;

				case "DefaultLibs":
					s = x.ReadSubtree ();

					while (s.Read())
						if (s.LocalName == "lib")
							DefaultLibraries.Add (s.ReadString ());

					s.Close ();
					break;

				case "Includes":
					s = x.ReadSubtree ();

					while (s.Read())
						if (s.LocalName == "Path")
							IncludePaths.Add (s.ReadString ());

					s.Close ();
					break;

				case "VersionId":
					PredefinedVersionConstant = x.ReadString();
					break;
					
				case "CompilerCommand":
					SourceCompilerCommand = x.ReadString ();
					break;
					
				case "Patterns":
					s = x.ReadSubtree ();
					ArgumentPatterns.ReadFrom (s);
					s.Close ();
					break;
					
				case "gdcLibPrefixing":
					EnableGDCLibPrefixing = x.ReadString() == "true";
					break;
				}
		}
        /// <summary>
        /// Note: the ParseCache's Root package will NOT be copied but simply assigned to the local root package!
        /// Changes made to the local root package will affect o's Root package!!
        /// </summary>
        /// <param name="o"></param>
        public void AssignFrom(DCompilerConfiguration o)
        {
            Vendor = o.Vendor;
            BinPath = o.BinPath;

            ParseCache.ParsedDirectories.Clear ();
            if (o.ParseCache.ParsedDirectories != null)
                ParseCache.ParsedDirectories.AddRange (o.ParseCache.ParsedDirectories);

            ParseCache.Root = o.ParseCache.Root;

            DefaultLibraries.Clear ();
            DefaultLibraries.AddRange (o.DefaultLibraries);

            LinkTargetConfigurations.Clear ();
            foreach (var kv in o.LinkTargetConfigurations) {
                var newLt = new LinkTargetConfiguration ();
                newLt.CopyFrom (kv.Value);
                LinkTargetConfigurations [kv.Key] = newLt;
            }
        }