/// <summary>
        /// Returns all libs that are included by default both by the compiler and this specific build config
        /// </summary>
        public IEnumerable <string> GetReferencedLibraries(ConfigurationSelector configSelector)
        {
            foreach (var i in Project.Compiler.DefaultLibraries)
            {
                yield return(i);
            }
            foreach (var i in ExtraLibraries)
            {
                yield return(i);
            }

            bool takeDefSelector = configSelector == null;

            foreach (var dep_ in AbstractDProject.GetSortedProjectDependencies(Project, configSelector))
            {
                var dep = dep_ as DProject;
                if (dep == null || dep == Project)
                {
                    continue;
                }

                if (takeDefSelector)
                {
                    configSelector = dep.DefaultConfiguration.Selector;
                }

                var activeConfig = dep.GetConfiguration(configSelector) as DProjectConfiguration;

                if (activeConfig != null)
                {
                    if (activeConfig.CompileTarget == DCompileTarget.StaticLibrary)
                    {
                        yield return(dep.GetOutputFileName(configSelector));
                    }
                    // Assume there is an import lib inside the dll's output directory and add it to the linked-in libs
                    // https://github.com/aBothe/Mono-D/issues/180
                    else if (OS.IsWindows &&
                             activeConfig.CompileTarget == DCompileTarget.SharedLibrary)
                    {
                        var lib = Path.ChangeExtension(dep.GetOutputFileName(configSelector), DCompilerService.StaticLibraryExtension);
                        if (File.Exists(lib))
                        {
                            yield return(lib);
                        }
                    }
                }
            }
        }