Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Applied: Re: [cdt-patch] New Build Targets


Sean Evoy wrote:

Hi All,
I'm just trying to get this into tomorrow's build, so the details are a bit skimpy in the change log. I have added 6 new build targets; an executable, shared library, and static library using Gnu tools on Solaris and Linux. There is a bit of a change in the way the build information deals with targets that do not specify an extension (like executables on POSIX systems). I have not updated the JUnit tests because this doesn't merit it. However, the changes have been tested on Solaris, Linux and Windows, so there's definitely no regression.

Sean Evoy
Rational Software - IBM Software Group
Ottawa, Ontario, Canada

------------------------------------------------------------------------

Index: ChangeLog
===================================================================
RCS file: /home/tools/org.eclipse.cdt.ui/ChangeLog,v
retrieving revision 1.140
diff -u -r1.140 ChangeLog
--- ChangeLog	13 Aug 2003 17:45:37 -0000	1.140
+++ ChangeLog	14 Aug 2003 19:39:24 -0000
@@ -1,3 +1,14 @@
+2003-08-14 Sean Evoy
+	Added initial toolchain description for Solaris and Linux targets using Gnu tools.
+	* plugin.xml
+	
+	Moved tool and option category names into the properties for eventual I18N
+	* plugin.properties
+
+	For build targets without an extension, the new project wizard was appending a 'dot' to the
+	name. It no loonger does this.
+	* build/org/eclipse/cdt/ui/build/wizards/ManagedProjectWizard.java
+
2003-08-13 Sean Evoy
A simple change to add transparency information to the build property page GIFs. They were not being drawn properly on Solaris/Motif and would probably
Index: plugin.properties
===================================================================
RCS file: /home/tools/org.eclipse.cdt.ui/plugin.properties,v
retrieving revision 1.23
diff -u -r1.23 plugin.properties
--- plugin.properties	14 Jul 2003 15:34:57 -0000	1.23
+++ plugin.properties	14 Aug 2003 19:39:24 -0000
@@ -88,11 +88,21 @@
DeleteTaskAction.label=Delete C/C++ Markers

# Build Model Names
+ConfigName.Rel=Release
+ConfigName.Dbg=Debug
ToolName.preprocessor = Preprocessor
ToolName.compiler = Compiler
ToolName.archiver = Archiver
ToolName.linker = Linker
-ToolName.command = Command Line
+OptionCategory.Preproc = Preprocessor
+OptionCategory.Dirs = Directories
+OptionCategory.General = General
+OptionCategory.CLSum = Command Line Summary
+OptionCategory.Optimize=Optimization
+OptionCategory.Debug=Debugging
+OptionCategory.Warn=Warnings
+OptionCategory.Misc=Miscelaneous
+OptionCategory.Libs=Libraries

# C/C++ Search
CSearchPage.label= C/C++ Search
Index: plugin.xml
===================================================================
RCS file: /home/tools/org.eclipse.cdt.ui/plugin.xml,v
retrieving revision 1.40
diff -u -r1.40 plugin.xml
--- plugin.xml	13 Aug 2003 14:57:13 -0000	1.40
+++ plugin.xml	14 Aug 2003 19:39:24 -0000
@@ -268,8 +268,8 @@
         id="org.eclipse.cdt.ui.ceditor"
         point="org.eclipse.ui.editors">
      <editor
-            default="true"
            name="%CEditor.name"
+            default="true"
            icon="icons/full/obj16/c_file_obj.gif"
            extensions="c, h, cc, hh, cpp, cxx, hpp"
            contributorClass="org.eclipse.cdt.internal.ui.editor.CEditorActionContributor"
@@ -638,7 +638,7 @@
               id="org.eclipse.cdt.build.tool.cygwin.compiler">
            <optionCategory
                  owner="org.eclipse.cdt.build.tool.cygwin.compiler"
-                  name="Preprocessor"
+                  name="%OptionCategory.Preproc"
                  id="cygwin.compiler.category.preprocessor">
            </optionCategory>
            <option
@@ -657,7 +657,7 @@
            </option>
            <optionCategory
                  owner="org.eclipse.cdt.build.tool.cygwin.compiler"
-                  name="General"
+                  name="%OptionCategory.General"
                  id="cygwin.compiler.category.general">
            </optionCategory>
            <option
@@ -739,7 +739,7 @@
            </option>
            <optionCategory
                  owner="org.eclipse.cdt.build.tool.cygwin.compiler"
-                  name="Command Line"
+                  name="%OptionCategory.CLSum"
                  id="cygwin.compiler.category.commandline">
            </optionCategory>
            <option
@@ -757,11 +757,11 @@
            isAbstract="false"
            id="cygwin.exec">
         <configuration
-               name="Release"
+               name="%ConfigName.Rel"
               id="cygwin.exec.release">
         </configuration>
         <configuration
-               name="Debug"
+               name="%ConfigName.Dbg"
               id="cygwin.exec.debug">
         </configuration>
         <tool
@@ -772,11 +772,10 @@
               id="org.eclipse.cdt.build.tool.cygwin.link">
            <optionCategory
                  owner="org.eclipse.cdt.build.tool.cygwin.link"
-                  name="General"
+                  name="%OptionCategory.General"
                  id="cygwin.linker.category.general">
            </optionCategory>
            <option
-                  defaultValue="-o"
                  name="Linker Flags"
                  category="cygwin.linker.category.general"
                  valueType="string"
@@ -798,7 +797,7 @@
            </option>
            <optionCategory
                  owner="org.eclipse.cdt.build.tool.cygwin.link"
-                  name="Command Line"
+                  name="%OptionCategory.CLSum"
                  id="cygwin.linker.category.commandline">
            </optionCategory>
            <option
@@ -816,22 +815,23 @@
            isAbstract="false"
            id="cygwin.so">
         <configuration
-               name="Release"
+               name="%ConfigName.Rel"
               id="cygwin.so.release">
         </configuration>
         <configuration
-               name="Debug"
+               name="%ConfigName.Dbg"
               id="cygwin.so.debug">
         </configuration>
         <tool
               name="%ToolName.linker"
               outputFlag="-o"
               outputs="dll"
+               outputPrefix="lib"
               command="g++ -shared"
               id="org.eclipse.cdt.build.tool.cygwin.solink">
            <optionCategory
                  owner="org.eclipse.cdt.build.tool.cygwin.solink"
-                  name="General"
+                  name="%OptionCategory.General"
                  id="cygwin.solink.category.general">
            </optionCategory>
            <option
@@ -865,11 +865,11 @@
            isAbstract="false"
            id="cygwin.exp">
         <configuration
-               name="Release"
+               name="%ConfigName.Rel"
               id="cygwin.exp.release">
         </configuration>
         <configuration
-               name="Debug"
+               name="%ConfigName.Dbg"
               id="cygwin.exp.debug">
         </configuration>
         <tool
@@ -881,7 +881,7 @@
               id="org.eclipse.cdt.build.tool.cygwin.explink">
            <optionCategory
                  owner="org.eclipse.cdt.build.tool.cygwin.explink"
-                  name="General"
+                  name="%OptionCategory.General"
                  id="cygwin.explink.category.general">
            </optionCategory>
            <option
@@ -915,11 +915,11 @@
            isAbstract="false"
            id="cygwin.lib">
         <configuration
-               name="Release"
+               name="%ConfigName.Rel"
               id="cygwin.lib.release">
         </configuration>
         <configuration
-               name="Debug"
+               name="%ConfigName.Dbg"
               id="cygwin.lib.debug">
         </configuration>
         <tool
@@ -930,7 +930,7 @@
               id="org.eclipse.cdt.build.tool.cygwin.ar">
            <optionCategory
                  owner="org.eclipse.cdt.build.tool.cygwin.ar"
-                  name="General"
+                  name="%OptionCategory.General"
                  id="cygwin.ar.category.general">
            </optionCategory>
            <option
@@ -944,154 +944,916 @@
      </target>
      <target
            makeFlags="-k"
-            isTest="true"
+            isTest="false"
            cleanCommand="rm -rf"
            name="Linux"
            isAbstract="true"
            makeCommand="make"
-            id="linux">
+            id="linux.gnu">
         <tool
-               name="Compiler"
+               sources="c,C,cc,cxx,cpp"
+               name="%ToolName.compiler"
               outputFlag="-o"
-               id="linux.compiler">
+               outputs="o"
+               command="g++"
+               id="cdt.build.tool.linux.gnu.compiler">
            <optionCategory
-                  owner="linux.compiler"
-                  name="Optimization Options"
-                  id="linux.compiler.optimization">
+                  owner="cdt.build.tool.linux.gnu.compiler"
+                  name="%OptionCategory.Preproc"
+                  id="linux.gnu.compiler.category.preprocessor">
            </optionCategory>
            <option
-                  name="Compiler Flags"
-                  valueType="string"
-                  id="linux.compiler.flags">
+                  defaultValue="false"
+                  name="Do not search system directories (-nostdinc)"
+                  category="linux.gnu.compiler.category.preprocessor"
+                  command="-nostdinc"
+                  valueType="boolean"
+                  id="linux.gnu.compiler.preprocessor.nostdinc">
            </option>
            <option
-                  name="Optimization Flags"
-                  category="linux.compiler.optimization"
+                  defaultValue="false"
+                  name="Preprocess only (-E)"
+                  category="linux.gnu.compiler.category.preprocessor"
+                  command="-E"
+                  valueType="boolean"
+                  id="linux.gnu.compiler.preprocessor.preprocess">
+            </option>
+            <option
+                  name="Defined Symbols (-D)"
+                  category="linux.gnu.compiler.category.preprocessor"
+                  command="-D"
+                  valueType="definedSymbols"
+                  id="linux.gnu.compiler.preprocessor.def">
+            </option>
+            <optionCategory
+                  owner="cdt.build.tool.linux.gnu.compiler"
+                  name="%OptionCategory.Dirs"
+                  id="linux.gnu.compiler.category.dirs">
+            </optionCategory>
+            <option
+                  name="Include search paths (-I)"
+                  category="linux.gnu.compiler.category.dirs"
+                  command="-I"
+                  valueType="stringList"
+                  id="linux.gnu.compiler.dirs.incpaths">
+            </option>
+            <optionCategory
+                  owner="cdt.build.tool.linux.gnu.compiler"
+                  name="%OptionCategory.Optimize"
+                  id="linux.gnu.compiler.category.optimization">
+            </optionCategory>
+            <option
+                  name="Optimization Level"
+                  category="linux.gnu.compiler.category.optimization"
                  value="-O"
+                  valueType="enumerated"
+                  id="linux.gnu.compiler.optimization.level">
+               <enumeratedOptionValue
+                     name="None (-O0)"
+                     command="-O0"
+                     id="linux.gnu.compiler.optimization.level.none">
+               </enumeratedOptionValue>
+               <enumeratedOptionValue
+                     name="Optimize (-O1)"
+                     command="-O1"
+                     id="linux.gnu.compiler.optimization.level.optimize">
+               </enumeratedOptionValue>
+               <enumeratedOptionValue
+                     name="Optimize more (-O2)"
+                     isDefault="true"
+                     command="-O2"
+                     id="linux.gnu.compiler.optimization.level.more">
+               </enumeratedOptionValue>
+               <enumeratedOptionValue
+                     name="Optimize most (-O3)"
+                     command="-O3"
+                     id="linux.gnu.compiler.optimization.level.most">
+               </enumeratedOptionValue>
+            </option>
+            <option
+                  name="Other optimization flags"
+                  category="linux.gnu.compiler.category.optimization"
+                  valueType="string"
+                  id="linux.compiler.optimization.flags">
+            </option>
+            <optionCategory
+                  owner="cdt.build.tool.linux.gnu.compiler"
+                  name="%OptionCategory.Debug"
+                  id="linux.gnu.compiler.category.debug">
+            </optionCategory>
+            <option
+                  name="Debug Level"
+                  category="linux.gnu.compiler.category.debug"
+                  valueType="enumerated"
+                  id="linux.gnu.compiler.debugging.level">
+               <enumeratedOptionValue
+                     name="None"
+                     isDefault="false"
+                     id="linux.gnu.compiler.debugging.level.none">
+               </enumeratedOptionValue>
+               <enumeratedOptionValue
+                     name="Minimal (-g1)"
+                     command="-g1"
+                     id="linux.gnu.compiler.debugging.level.minimal">
+               </enumeratedOptionValue>
+               <enumeratedOptionValue
+                     name="Default (-g)"
+                     isDefault="true"
+                     command="-g"
+                     id="linux.gnu.compiler.debugging.level.default">
+               </enumeratedOptionValue>
+               <enumeratedOptionValue
+                     name="Maximum (-g3)"
+                     isDefault="false"
+                     command="-g3"
+                     id="linux.gnu.compiler.debugging.level.max">
+               </enumeratedOptionValue>
+            </option>
+            <option
+                  name="Other debugging flags"
+                  category="linux.gnu.compiler.category.debug"
+                  valueType="string"
+                  id="linux.gnu.compiler.debugging.other">
+            </option>
+            <option
+                  defaultValue="false"
+                  name="Generate prof information (-p)"
+                  category="linux.gnu.compiler.category.debug"
+                  command="-p"
+                  valueType="boolean"
+                  id="linux.gnu.compiler.debugging.prof">
+            </option>
+            <option
+                  defaultValue="false"
+                  name="Generate gprof information (-pg)"
+                  category="linux.gnu.compiler.category.debug"
+                  command="-pg"
+                  valueType="boolean"
+                  id="linux.gnu.compiler.debugging.gprof">
+            </option>
+            <optionCategory
+                  owner="cdt.build.tool.linux.gnu.compiler"
+                  name="%OptionCategory.Warn"
+                  id="linux.gnu.compiler.category.warnings">
+            </optionCategory>
+            <option
+                  defaultValue="false"
+                  name="Check syntax only (-fsyntax-only)"
+                  category="linux.gnu.compiler.category.warnings"
+                  command="-fsyntax-only"
+                  valueType="boolean"
+                  id="linux.gnu.compiler.warnings.syntax">
+            </option>
+            <option
+                  defaultValue="false"
+                  name="Pedantic (-pedantic)"
+                  category="linux.gnu.compiler.category.warnings"
+                  command="-pedantic"
+                  valueType="boolean"
+                  id="linux.gnu.compiler.warnings.pedantic">
+            </option>
+            <option
+                  defaultValue="false"
+                  name="Pedantic warnings as errors (-pedantic-errors)"
+                  category="linux.gnu.compiler.category.warnings"
+                  command="-pedantic-errors"
+                  valueType="boolean"
+                  id="linux.gnu.compiler.warnings.pedantic.error">
+            </option>
+            <option
+                  defaultValue="false"
+                  name="Inhibit all warnings (-w)"
+                  category="linux.gnu.compiler.category.warnings"
+                  command="-w"
+                  valueType="boolean"
+                  id="linux.gnu.compiler.warnings.nowarn">
+            </option>
+            <option
+                  defaultValue="true"
+                  name="All warnings (-Wall)"
+                  category="linux.gnu.compiler.category.warnings"
+                  command="-Wall"
+                  valueType="boolean"
+                  id="linux.gnu.compiler.warnings.allwarn">
+            </option>
+            <option
+                  defaultValue="false"
+                  name="Warnings as errors (-werror)"
+                  category="linux.gnu.compiler.category.warnings"
+                  command="-werror"
+                  valueType="boolean"
+                  id="linux.gnu.compiler.warnings.toerrors">
+            </option>
+            <optionCategory
+                  owner="cdt.build.tool.linux.gnu.compiler"
+                  name="%OptionCategory.Misc"
+                  id="linux.gnu.compiler.category.other">
+            </optionCategory>
+            <option
+                  defaultValue="false"
+                  name="Verbose (-v)"
+                  category="linux.gnu.compiler.category.other"
+                  command="-v"
+                  valueType="boolean"
+                  id="linux.gnu.compiler.other.verbose">
+            </option>
+            <option
+                  defaultValue="-c"
+                  name="Other flags"
+                  category="linux.gnu.compiler.category.other"
                  valueType="string"
-                  id="linux.compiler.optimizationFlags">
+                  id="linux.gnu.compiler.other.other">
            </option>
         </tool>
      </target>
      <target
-            isTest="true"
+            isTest="false"
            name="Linux Executable"
-            parent="linux"
+            parent="linux.gnu"
            isAbstract="false"
-            id="linux.exec">
-         <tool
-               name="Linker"
-               outputFlag="-o"
-               id="org.eclipse.cdt.ui.tests.tool.linux.link">
-         </tool>
+            id="linux.gnu.exec">
         <configuration
-               name="Release"
-               id="linux.exec.release">
+               name="%ConfigName.Rel"
+               id="linux.gnu.exec.release">
         </configuration>
         <configuration
-               name="Debug"
-               id="linux.exec.debug">
+               name="%ConfigName.Dbg"
+               id="linux.gnu.exec.debug">
         </configuration>
+         <tool
+               sources="o"
+               name="%ToolName.linker"
+               outputFlag="-o"
+               command="g++"
+               id="cdt.build.tool.linux.gnu.link">
+            <optionCategory
+                  owner="cdt.build.tool.linux.gnu.link"
+                  name="%OptionCategory.General"
+                  id="linux.gnu.linker.category.options">
+            </optionCategory>
+            <option
+                  defaultValue="false"
+                  name="Do not use standard start files (-nostartfiles)"
+                  category="linux.gnu.linker.category.options"
+                  command="-nostartfiles"
+                  valueType="boolean"
+                  id="linux.gnu.linker.options.nostart">
+            </option>
+            <option
+                  defaultValue="false"
+                  name="Do not use default libraries (-nodefaultlibs)"
+                  category="linux.gnu.linker.category.options"
+                  command="-nodefaultlibs"
+                  valueType="boolean"
+                  id="linux.gnu.linker.options.nodeflibs">
+            </option>
+            <option
+                  defaultValue="false"
+                  name="No startup or default libs (-nostdlib)"
+                  category="linux.gnu.linker.category.options"
+                  command="-nostdlib"
+                  valueType="boolean"
+                  id="linux.gnu.linker.options.nostdlibs">
+            </option>
+            <option
+                  defaultValue="false"
+                  name="Remove symbol table (-s)"
+                  category="linux.gnu.linker.category.options"
+                  command="-s"
+                  valueType="boolean"
+                  id="linux.gnu.linker.options.strip">
+            </option>
+            <option
+                  defaultValue="false"
+                  name="No shared libraries (-static)"
+                  category="linux.gnu.linker.category.options"
+                  command="-static"
+                  valueType="boolean"
+                  id="linux.gnu.linker.options.noshared">
+            </option>
+            <option
+                  name="Other options (-Xlinker [option])"
+                  category="linux.gnu.linker.category.options"
+                  command="-Xlinker"
+                  valueType="stringList"
+                  id="linux.gnu.linker.options.other">
+            </option>
+            <optionCategory
+                  owner="cdt.build.tool.linux.gnu.link"
+                  name="%OptionCategory.Libs"
+                  id="linux.gnu.linker.category.libs">
+            </optionCategory>
+            <option
+                  name="Libraries"
+                  category="linux.gnu.linker.category.libs"
+                  command="-l"
+                  valueType="libs"
+                  id="linux.gnu.linker.libs.libs">
+            </option>
+            <option
+                  name="Library search path"
+                  category="linux.gnu.linker.category.libs"
+                  command="-L"
+                  valueType="stringList"
+                  id="linux.gnu.linker.libs.paths">
+            </option>
+         </tool>
      </target>
      <target
-            isTest="true"
+            isTest="false"
            name="Linux Shared Library"
-            parent="linux"
-            defaultExtension=".so"
+            parent="linux.gnu"
+            defaultExtension="so"
            isAbstract="false"
-            id="linux.so">
+            id="linux.gnu.so">
+         <configuration
+               name="%ConfigName.Rel"
+               id="linux.gnu.so.release">
+         </configuration>
+         <configuration
+               name="%ConfigName.Dbg"
+               id="linux.gnu.so.debug">
+         </configuration>
         <tool
-               name="Linker"
+               sources="o"
+               name="%ToolName.linker"
               outputFlag="-o"
-               id="org.eclipse.cdt.ui.tests.tool.linux.solink">
+               outputs="so"
+               outputPrefix="lib"
+               command="g++ -shared"
+               id="cdt.build.tool.linux.gnu.solink">
+            <optionCategory
+                  owner="cdt.build.tool.linux.gnu.solink"
+                  name="%OptionCategory.General"
+                  id="linux.gnu.solink.category.options">
+            </optionCategory>
+            <option
+                  defaultValue="false"
+                  name="Do not use standard start files (-nostartfiles)"
+                  category="linux.gnu.solink.category.options"
+                  command="-nostartfiles"
+                  valueType="boolean"
+                  id="linux.gnu.solink.options.nostart">
+            </option>
+            <option
+                  defaultValue="false"
+                  name="Do not use default libraries (-nodefaultlibs)"
+                  category="linux.gnu.solink.category.options"
+                  command="-nodefaultlibs"
+                  valueType="boolean"
+                  id="linux.gnu.solink.options.nodeflibs">
+            </option>
+            <option
+                  defaultValue="false"
+                  name="No startup or default libs (-nostdlib)"
+                  category="linux.gnu.solink.category.options"
+                  command="-nostdlib"
+                  valueType="boolean"
+                  id="linux.gnu.solink.options.nostdlibs">
+            </option>
+            <option
+                  defaultValue="false"
+                  name="Remove symbol table (-s)"
+                  category="linux.gnu.solink.category.options"
+                  command="-s"
+                  valueType="boolean"
+                  id="linux.gnu.solink.options.strip">
+            </option>
+            <option
+                  defaultValue="false"
+                  name="No shared libraries (-static)"
+                  category="linux.gnu.solink.category.options"
+                  command="-static"
+                  valueType="boolean"
+                  id="linux.gnu.solink.options.noshared">
+            </option>
+            <option
+                  defaultValue="false"
+                  name="Bind global symbol references (-symbolic)"
+                  category="linux.gnu.solink.category.options"
+                  command="-symbolic"
+                  valueType="boolean"
+                  id="linux.gnu.solink.options.symbolic">
+            </option>
+            <option
+                  name="Other options (-Xlinker [option])"
+                  category="linux.gnu.solink.category.options"
+                  command="-Xlinker"
+                  valueType="stringList"
+                  id="linux.gnu.solink.options.other">
+            </option>
+            <optionCategory
+                  owner="cdt.build.tool.linux.gnu.solink"
+                  name="%OptionCategory.Libs"
+                  id="linux.gnu.solink.category.libs">
+            </optionCategory>
+            <option
+                  name="Libraries"
+                  category="linux.gnu.solink.category.libs"
+                  command="-l"
+                  valueType="libs"
+                  id="linux.gnu.solink.libs.libs">
+            </option>
+            <option
+                  name="Library search path"
+                  category="linux.gnu.solink.category.libs"
+                  command="-L"
+                  valueType="stringList"
+                  id="linux.gnu.solink.libs.paths">
+            </option>
         </tool>
      </target>
      <target
-            isTest="true"
+            isTest="false"
            name="Linux Static Library"
-            parent="linux"
-            defaultExtension=".a"
+            parent="linux.gnu"
+            defaultExtension="a"
            isAbstract="false"
-            id="linux.lib">
+            id="linux.gnu.lib">
+         <configuration
+               name="%ConfigName.Rel"
+               id="linux.gnu.lib.release">
+         </configuration>
+         <configuration
+               name="%ConfigName.Dbg"
+               id="linux.gnu.lib.debug">
+         </configuration>
         <tool
-               name="Archiver"
-               id="org.eclipse.cdt.ui.tests.tool.linux.ar">
+               sources="o"
+               name="%ToolName.archiver"
+               outputs="a"
+               outputPrefix="lib"
+               command="ar"
+               id="cdt.build.tool.linux.gnu.lib">
+            <optionCategory
+                  owner="cdt.build.tool.linux.gnu.lib"
+                  name="%OptionCategory.General"
+                  id="linux.gnu.lib.category.general">
+            </optionCategory>
+            <option
+                  defaultValue="-r"
+                  name="Archiver Flags"
+                  category="linux.gnu.lib.category.general"
+                  valueType="string"
+                  id="linux.gnu.lib.flags">
+            </option>
         </tool>
      </target>
      <target
            makeFlags="-k"
-            isTest="true"
+            isTest="false"
            cleanCommand="rm -rf"
            name="Solaris"
            isAbstract="true"
            makeCommand="make"
-            id="solaris">
+            id="solaris.gnu">
         <tool
-               name="Compiler"
+               sources="c,C,cc,cxx,cpp"
+               name="%ToolName.compiler"
               outputFlag="-o"
-               id="solaris.compiler">
+               outputs="o"
+               command="g++"
+               id="cdt.build.tool.solaris.gnu.compiler">
            <optionCategory
-                  owner="solaris.compiler"
-                  name="Optimization Options"
-                  id="solaris.compiler.optimization">
+                  owner="cdt.build.tool.solaris.gnu.compiler"
+                  name="%OptionCategory.Preproc"
+                  id="solaris.gnu.compiler.category.preprocessor">
            </optionCategory>
            <option
-                  name="Compiler Flags"
-                  valueType="string"
-                  id="solaris.compiler.flags">
+                  defaultValue="false"
+                  name="Do not search system directories (-nostdinc)"
+                  category="solaris.gnu.compiler.category.preprocessor"
+                  command="-nostdinc"
+                  valueType="boolean"
+                  id="solaris.gnu.compiler.preprocessor.nostdinc">
            </option>
            <option
-                  name="Optimization Flags"
-                  category="solaris.compiler.optimization"
+                  defaultValue="false"
+                  name="Preprocess only (-E)"
+                  category="solaris.gnu.compiler.category.preprocessor"
+                  command="-E"
+                  valueType="boolean"
+                  id="solaris.gnu.compiler.preprocessor.preprocess">
+            </option>
+            <option
+                  name="Defined Symbols (-D)"
+                  category="solaris.gnu.compiler.category.preprocessor"
+                  command="-D"
+                  valueType="definedSymbols"
+                  id="solaris.gnu.compiler.preprocessor.def">
+            </option>
+            <optionCategory
+                  owner="cdt.build.tool.solaris.gnu.compiler"
+                  name="%OptionCategory.Dirs"
+                  id="solaris.gnu.compiler.category.dirs">
+            </optionCategory>
+            <option
+                  name="Include search paths (-I)"
+                  category="solaris.gnu.compiler.category.dirs"
+                  command="-I"
+                  valueType="stringList"
+                  id="solaris.gnu.compiler.dirs.incpaths">
+            </option>
+            <optionCategory
+                  owner="cdt.build.tool.solaris.gnu.compiler"
+                  name="%OptionCategory.Optimize"
+                  id="solaris.gnu.compiler.category.optimization">
+            </optionCategory>
+            <option
+                  name="Optimization Level"
+                  category="solaris.gnu.compiler.category.optimization"
                  value="-O"
+                  valueType="enumerated"
+                  id="solaris.gnu.compiler.optimization.level">
+               <enumeratedOptionValue
+                     name="None (-O0)"
+                     command="-O0"
+                     id="solaris.gnu.compiler.optimization.level.none">
+               </enumeratedOptionValue>
+               <enumeratedOptionValue
+                     name="Optimize (-O1)"
+                     command="-O1"
+                     id="solaris.gnu.compiler.optimization.level.optimize">
+               </enumeratedOptionValue>
+               <enumeratedOptionValue
+                     name="Optimize more (-O2)"
+                     isDefault="true"
+                     command="-O2"
+                     id="solaris.gnu.compiler.optimization.level.more">
+               </enumeratedOptionValue>
+               <enumeratedOptionValue
+                     name="Optimize most (-O3)"
+                     command="-O3"
+                     id="solaris.gnu.compiler.optimization.level.most">
+               </enumeratedOptionValue>
+            </option>
+            <option
+                  name="Other optimization flags"
+                  category="solaris.gnu.compiler.category.optimization"
+                  valueType="string"
+                  id="solaris.compiler.optimization.flags">
+            </option>
+            <optionCategory
+                  owner="cdt.build.tool.solaris.gnu.compiler"
+                  name="%OptionCategory.Debug"
+                  id="solaris.gnu.compiler.category.debug">
+            </optionCategory>
+            <option
+                  name="Debug Level"
+                  category="solaris.gnu.compiler.category.debug"
+                  valueType="enumerated"
+                  id="solaris.gnu.compiler.debugging.level">
+               <enumeratedOptionValue
+                     name="None"
+                     isDefault="false"
+                     id="solaris.gnu.compiler.debugging.level.none">
+               </enumeratedOptionValue>
+               <enumeratedOptionValue
+                     name="Minimal (-g1)"
+                     command="-g1"
+                     id="solaris.gnu.compiler.debugging.level.minimal">
+               </enumeratedOptionValue>
+               <enumeratedOptionValue
+                     name="Default (-g)"
+                     isDefault="true"
+                     command="-g"
+                     id="solaris.gnu.compiler.debugging.level.default">
+               </enumeratedOptionValue>
+               <enumeratedOptionValue
+                     name="Maximum (-g3)"
+                     isDefault="false"
+                     command="-g3"
+                     id="solaris.gnu.compiler.debugging.level.max">
+               </enumeratedOptionValue>
+            </option>
+            <option
+                  name="Other debugging flags"
+                  category="solaris.gnu.compiler.category.debug"
                  valueType="string"
-                  id="solaris.compiler.optimizationFlags">
+                  id="solaris.gnu.compiler.debugging.other">
+            </option>
+            <option
+                  defaultValue="false"
+                  name="Generate prof information (-p)"
+                  category="solaris.gnu.compiler.category.debug"
+                  command="-p"
+                  valueType="boolean"
+                  id="solaris.gnu.compiler.debugging.prof">
+            </option>
+            <option
+                  defaultValue="false"
+                  name="Generate gprof information (-pg)"
+                  category="solaris.gnu.compiler.category.debug"
+                  command="-pg"
+                  valueType="boolean"
+                  id="solaris.gnu.compiler.debugging.gprof">
+            </option>
+            <optionCategory
+                  owner="cdt.build.tool.solaris.gnu.compiler"
+                  name="%OptionCategory.Warn"
+                  id="solaris.gnu.compiler.category.warnings">
+            </optionCategory>
+            <option
+                  defaultValue="false"
+                  name="Check syntax only (-fsyntax-only)"
+                  category="solaris.gnu.compiler.category.warnings"
+                  command="-fsyntax-only"
+                  valueType="boolean"
+                  id="solaris.gnu.compiler.warnings.syntax">
+            </option>
+            <option
+                  defaultValue="false"
+                  name="Pedantic (-pedantic)"
+                  category="solaris.gnu.compiler.category.warnings"
+                  command="-pedantic"
+                  valueType="boolean"
+                  id="solaris.gnu.compiler.warnings.pedantic">
+            </option>
+            <option
+                  defaultValue="false"
+                  name="Pedantic warnings as errors (-pedantic-errors)"
+                  category="solaris.gnu.compiler.category.warnings"
+                  command="-pedantic-errors"
+                  valueType="boolean"
+                  id="solaris.gnu.compiler.warnings.pedantic.error">
+            </option>
+            <option
+                  defaultValue="false"
+                  name="Inhibit all warnings (-w)"
+                  category="solaris.gnu.compiler.category.warnings"
+                  command="-w"
+                  valueType="boolean"
+                  id="solaris.gnu.compiler.warnings.nowarn">
+            </option>
+            <option
+                  defaultValue="true"
+                  name="All warnings (-Wall)"
+                  category="solaris.gnu.compiler.category.warnings"
+                  command="-Wall"
+                  valueType="boolean"
+                  id="solaris.gnu.compiler.warnings.allwarn">
+            </option>
+            <option
+                  defaultValue="false"
+                  name="Warnings as errors (-werror)"
+                  category="solaris.gnu.compiler.category.warnings"
+                  command="-werror"
+                  valueType="boolean"
+                  id="solaris.gnu.compiler.warnings.toerrors">
+            </option>
+            <optionCategory
+                  owner="cdt.build.tool.solaris.gnu.compiler"
+                  name="%OptionCategory.Misc"
+                  id="solaris.gnu.compiler.category.other">
+            </optionCategory>
+            <option
+                  defaultValue="false"
+                  name="Verbose (-v)"
+                  category="solaris.gnu.compiler.category.other"
+                  command="-v"
+                  valueType="boolean"
+                  id="solaris.gnu.compiler.other.verbose">
+            </option>
+            <option
+                  defaultValue="-c"
+                  name="Other flags"
+                  category="solaris.gnu.compiler.category.other"
+                  valueType="string"
+                  id="solaris.gnu.compiler.other.other">
            </option>
         </tool>
      </target>
      <target
-            isTest="true"
+            isTest="false"
            name="Solaris Executable"
-            parent="solaris"
+            parent="solaris.gnu"
            isAbstract="false"
-            id="solaris.exec">
-         <tool
-               name="Linker"
-               outputFlag="-o"
-               id="solaris.link">
-         </tool>
+            id="solaris.gnu.exec">
         <configuration
-               name="Release"
-               id="Solaris.exec.release">
+               name="%ConfigName.Rel"
+               id="solaris.gnu.exec.release">
         </configuration>
         <configuration
-               name="Debug"
-               id="solaris.exec.debug">
+               name="%ConfigName.Dbg"
+               id="solaris.gnu.exec.debug">
         </configuration>
+         <tool
+               sources="o"
+               name="%ToolName.linker"
+               outputFlag="-o"
+               command="g++"
+               id="cdt.build.tool.solaris.gnu.link">
+            <optionCategory
+                  owner="cdt.build.tool.solaris.gnu.link"
+                  name="%OptionCategory.General"
+                  id="solaris.gnu.linker.category.options">
+            </optionCategory>
+            <option
+                  defaultValue="false"
+                  name="Do not use standard start files (-nostartfiles)"
+                  category="solaris.gnu.linker.category.options"
+                  command="-nostartfiles"
+                  valueType="boolean"
+                  id="solaris.gnu.linker.options.nostart">
+            </option>
+            <option
+                  defaultValue="false"
+                  name="Do not use default libraries (-nodefaultlibs)"
+                  category="solaris.gnu.linker.category.options"
+                  command="-nodefaultlibs"
+                  valueType="boolean"
+                  id="solaris.gnu.linker.options.nodeflibs">
+            </option>
+            <option
+                  defaultValue="false"
+                  name="No startup or default libs (-nostdlib)"
+                  category="solaris.gnu.linker.category.options"
+                  command="-nostdlib"
+                  valueType="boolean"
+                  id="solaris.gnu.linker.options.nostdlibs">
+            </option>
+            <option
+                  defaultValue="false"
+                  name="Remove symbol table (-s)"
+                  category="solaris.gnu.linker.category.options"
+                  command="-s"
+                  valueType="boolean"
+                  id="solaris.gnu.linker.options.strip">
+            </option>
+            <option
+                  defaultValue="false"
+                  name="No shared libraries (-static)"
+                  category="solaris.gnu.linker.category.options"
+                  command="-static"
+                  valueType="boolean"
+                  id="solaris.gnu.linker.options.noshared">
+            </option>
+            <option
+                  name="Other options (-Xlinker [option])"
+                  category="solaris.gnu.linker.category.options"
+                  command="-Xlinker"
+                  valueType="stringList"
+                  id="solaris.gnu.linker.options.other">
+            </option>
+            <optionCategory
+                  owner="cdt.build.tool.solaris.gnu.link"
+                  name="%OptionCategory.Libs"
+                  id="solaris.gnu.linker.category.libs">
+            </optionCategory>
+            <option
+                  name="Libraries"
+                  category="solaris.gnu.linker.category.libs"
+                  command="-l"
+                  valueType="libs"
+                  id="solaris.gnu.linker.libs.libs">
+            </option>
+            <option
+                  name="Library search path"
+                  category="solaris.gnu.linker.category.libs"
+                  command="-L"
+                  valueType="stringList"
+                  id="solaris.gnu.linker.libs.paths">
+            </option>
+         </tool>
      </target>
      <target
-            isTest="true"
+            isTest="false"
            name="Solaris Shared Library"
-            parent="solaris"
-            defaultExtension=".so"
+            parent="solaris.gnu"
+            defaultExtension="so"
            isAbstract="false"
-            id="solaris.so">
+            id="solaris.gnu.so">
+         <configuration
+               name="%ConfigName.Rel"
+               id="solaris.gnu.so.release">
+         </configuration>
+         <configuration
+               name="%ConfigName.Dbg"
+               id="solaris.gnu.so.debug">
+         </configuration>
         <tool
-               name="Linker"
+               sources="o"
+               name="%ToolName.linker"
               outputFlag="-o"
-               id="solaris.solink">
+               outputs="so"
+               outputPrefix="lib"
+               command="g++ -shared"
+               id="cdt.build.tool.solaris.gnu.solink">
+            <optionCategory
+                  owner="cdt.build.tool.solaris.gnu.solink"
+                  name="%OptionCategory.General"
+                  id="solaris.gnu.solink.category.options">
+            </optionCategory>
+            <option
+                  defaultValue="false"
+                  name="Do not use standard start files (-nostartfiles)"
+                  category="solaris.gnu.solink.category.options"
+                  command="-nostartfiles"
+                  valueType="boolean"
+                  id="solaris.gnu.solink.options.nostart">
+            </option>
+            <option
+                  defaultValue="false"
+                  name="Do not use default libraries (-nodefaultlibs)"
+                  category="solaris.gnu.solink.category.options"
+                  command="-nodefaultlibs"
+                  valueType="boolean"
+                  id="solaris.gnu.solink.options.nodeflibs">
+            </option>
+            <option
+                  defaultValue="false"
+                  name="No startup or default libs (-nostdlib)"
+                  category="solaris.gnu.solink.category.options"
+                  command="-nostdlib"
+                  valueType="boolean"
+                  id="solaris.gnu.solink.options.nostdlibs">
+            </option>
+            <option
+                  defaultValue="false"
+                  name="Remove symbol table (-s)"
+                  category="solaris.gnu.solink.category.options"
+                  command="-s"
+                  valueType="boolean"
+                  id="solaris.gnu.solink.options.strip">
+            </option>
+            <option
+                  defaultValue="false"
+                  name="No shared libraries (-static)"
+                  category="solaris.gnu.solink.category.options"
+                  command="-static"
+                  valueType="boolean"
+                  id="solaris.gnu.solink.options.noshared">
+            </option>
+            <option
+                  defaultValue="false"
+                  name="Bind global symbol references (-symbolic)"
+                  category="solaris.gnu.solink.category.options"
+                  command="-symbolic"
+                  valueType="boolean"
+                  id="solaris.gnu.solink.options.symbolic">
+            </option>
+            <option
+                  name="Other options (-Xlinker [option])"
+                  category="solaris.gnu.solink.category.options"
+                  command="-Xlinker"
+                  valueType="stringList"
+                  id="solaris.gnu.solink.options.other">
+            </option>
+            <optionCategory
+                  owner="cdt.build.tool.solaris.gnu.solink"
+                  name="%OptionCategory.Libs"
+                  id="solaris.gnu.solink.category.libs">
+            </optionCategory>
+            <option
+                  name="Libraries"
+                  category="solaris.gnu.solink.category.libs"
+                  command="-l"
+                  valueType="libs"
+                  id="solaris.gnu.solink.libs.libs">
+            </option>
+            <option
+                  name="Library search path"
+                  category="solaris.gnu.solink.category.libs"
+                  command="-L"
+                  valueType="stringList"
+                  id="solaris.gnu.solink.libs.paths">
+            </option>
         </tool>
      </target>
      <target
-            isTest="true"
+            isTest="false"
            name="Solaris Static Library"
-            parent="solaris"
-            defaultExtension=".a"
+            parent="solaris.gnu"
+            defaultExtension="a"
            isAbstract="false"
-            id="solaris.lib">
+            id="solaris.gnu.lib">
+         <configuration
+               name="%ConfigName.Rel"
+               id="solaris.gnu.lib.release">
+         </configuration>
+         <configuration
+               name="%ConfigName.Dbg"
+               id="solaris.gnu.lib.debug">
+         </configuration>
         <tool
-               name="Archiver"
-               id="solaris.ar">
+               sources="o"
+               name="%ToolName.archiver"
+               outputs="a"
+               outputPrefix="lib"
+               command="ar"
+               id="cdt.build.tool.solaris.gnu.lib">
+            <optionCategory
+                  owner="cdt.build.tool.solaris.gnu.lib"
+                  name="%OptionCategory.General"
+                  id="solaris.gnu.lib.category.general">
+            </optionCategory>
+            <option
+                  defaultValue="-r"
+                  name="Archiver Flags"
+                  category="solaris.gnu.lib.category.general"
+                  valueType="string"
+                  id="solaris.gnu.lib.flags">
+            </option>
         </tool>
      </target>
   </extension>
Index: build/org/eclipse/cdt/ui/build/wizards/ManagedProjectWizard.java
===================================================================
RCS file: /home/tools/org.eclipse.cdt.ui/build/org/eclipse/cdt/ui/build/wizards/ManagedProjectWizard.java,v
retrieving revision 1.2
diff -u -r1.2 ManagedProjectWizard.java
--- build/org/eclipse/cdt/ui/build/wizards/ManagedProjectWizard.java	13 Aug 2003 17:45:38 -0000	1.2
+++ build/org/eclipse/cdt/ui/build/wizards/ManagedProjectWizard.java	14 Aug 2003 19:39:24 -0000
@@ -94,7 +94,9 @@
			ITarget newTarget = ManagedBuildManager.createTarget(project, parent);
			if (newTarget != null) {
				// TODO add name entry field to project
-				newTarget.setBuildArtifact(project.getName() + "." + parent.getDefaultExtension());
+				String artifactName = project.getName();
+				artifactName +=  parent.getDefaultExtension().length() == 0 ? "" : "." + parent.getDefaultExtension();
+				newTarget.setBuildArtifact(artifactName);
				IConfiguration [] selectedConfigs = targetConfigurationPage.getSelectedConfigurations();
				for (int i = 0; i < selectedConfigs.length; i++) {
					IConfiguration config = selectedConfigs[i];
------------------------------------------------------------------------

Index: ChangeLog
===================================================================
RCS file: /home/tools/org.eclipse.cdt.core/ChangeLog,v
retrieving revision 1.124
diff -u -r1.124 ChangeLog
--- ChangeLog	13 Aug 2003 17:45:30 -0000	1.124
+++ ChangeLog	14 Aug 2003 19:19:17 -0000
@@ -1,4 +1,19 @@
2003-08-13 Sean Evoy
+ Changed text generated into makefile comments from the rather abstract + term 'module' to the more meaningful 'subdirectory'.
+	* src/org/eclipse/cdt/internal/core/CCorePluginResources.properties
+	
+ Added place-holder macro for LIBS and changed the source file look-up code to + ignore source it finds in generated directories during a build, even if it has a tool + that says it builds for it.
+	* src/org/eclipse/cdt/internal/core/MakefileGenerator.java
+	
+ Changed class to deal with build targets that do not specify an extension + (like POSIX executables). + * build/org/eclipse/cdt/internal/core/build/managed/ManagedBuildInfo.java
+	* build/org/eclipse/cdt/internal/core/build/managed/Tool.java
+
+2003-08-13 Sean Evoy
The major change in the increment of work is the new discovery mechanism that clients will use to find the IScannerInfoProvider for a project. Rather than a simple extension point which requires the client to iterate Index: build/org/eclipse/cdt/internal/core/build/managed/ManagedBuildInfo.java
===================================================================
RCS file: /home/tools/org.eclipse.cdt.core/build/org/eclipse/cdt/internal/core/build/managed/ManagedBuildInfo.java,v
retrieving revision 1.4
diff -u -r1.4 ManagedBuildInfo.java
--- build/org/eclipse/cdt/internal/core/build/managed/ManagedBuildInfo.java	29 Jul 2003 14:28:36 -0000	1.4
+++ build/org/eclipse/cdt/internal/core/build/managed/ManagedBuildInfo.java	14 Aug 2003 19:19:17 -0000
@@ -186,12 +186,15 @@
	 * @see org.eclipse.cdt.core.build.managed.IResourceBuildInfo#getToolFlags(java.lang.String)
	 */
	public String getFlagsForTarget(String extension) {
+		// Treat null extensions as an empty string
+		String ext = extension == null ? new String()  :  extension;
+		
		// Get all the tools for the current config
		IConfiguration config = getDefaultConfiguration(getDefaultTarget());
		ITool[] tools = config.getTools();
		for (int index = 0; index < tools.length; index++) {
			ITool tool = tools[index];
-			if (tool.producesFileType(extension)) {
+			if (tool.producesFileType(ext)) {
				String flags = new String();
				try {
					flags = tool.getToolFlags();
@@ -306,13 +309,16 @@
	 * @see org.eclipse.cdt.core.build.managed.IManagedBuildInfo#getOutputFlag()
	 */
	public String getOutputFlag(String outputExt) {
+		// Treat null extension as an empty string
+		String ext = outputExt == null ? new String() : outputExt;
+		
		// Get all the tools for the current config
		String flags = new String();
		IConfiguration config = getDefaultConfiguration(getDefaultTarget());
		ITool[] tools = config.getTools();
		for (int index = 0; index < tools.length; index++) {
			ITool tool = tools[index];
-			if (tool.producesFileType(outputExt)) {
+			if (tool.producesFileType(ext)) {
				flags = tool.getOutputFlag();
			}
		}
@@ -323,13 +329,16 @@
	 * @see org.eclipse.cdt.core.build.managed.IManagedBuildInfo#getOutputPrefix(java.lang.String)
	 */
	public String getOutputPrefix(String outputExtension) {
+		// Treat null extensions as empty string
+		String ext = outputExtension == null ? new String() : outputExtension;
+		
		// Get all the tools for the current config
		String flags = new String();
		IConfiguration config = getDefaultConfiguration(getDefaultTarget());
		ITool[] tools = config.getTools();
		for (int index = 0; index < tools.length; index++) {
			ITool tool = tools[index];
-			if (tool.producesFileType(outputExtension)) {
+			if (tool.producesFileType(ext)) {
				flags = tool.getOutputPrefix();
			}
		}
@@ -373,12 +382,14 @@
	 * @see org.eclipse.cdt.core.build.managed.IResourceBuildInfo#getToolInvocation(java.lang.String)
	 */
	public String getToolForTarget(String extension) {
+		// Treat a null argument as an empty string
+		String ext = extension == null ? new String() : extension;
		// Get all the tools for the current config
		IConfiguration config = getDefaultConfiguration(getDefaultTarget());
		ITool[] tools = config.getTools();
		for (int index = 0; index < tools.length; index++) {
			ITool tool = tools[index];
-			if (tool.producesFileType(extension)) {
+			if (tool.producesFileType(ext)) {
				return tool.getToolCommand();
			}
		}
Index: build/org/eclipse/cdt/internal/core/build/managed/Tool.java
===================================================================
RCS file: /home/tools/org.eclipse.cdt.core/build/org/eclipse/cdt/internal/core/build/managed/Tool.java,v
retrieving revision 1.9
diff -u -r1.9 Tool.java
--- build/org/eclipse/cdt/internal/core/build/managed/Tool.java	31 Jul 2003 13:20:37 -0000	1.9
+++ build/org/eclipse/cdt/internal/core/build/managed/Tool.java	14 Aug 2003 19:19:17 -0000
@@ -127,6 +127,9 @@
	 * @see org.eclipse.cdt.core.build.managed.ITool#handlesFileType(java.lang.String)
	 */
	public boolean buildsFileType(String extension) {
+ if (extension == null) { + return false;
+		}
		return getInputExtensions().contains(extension);
	}

@@ -350,7 +353,7 @@
	 * @see org.eclipse.cdt.core.build.managed.ITool#producesFileType(java.lang.String)
	 */
	public boolean producesFileType(String outputExtension) {
-		return outputExtension.equals(this.outputExtension);
+		return this.outputExtension.equals(outputExtension);
	}

}
Index: src/org/eclipse/cdt/internal/core/CCorePluginResources.properties
===================================================================
RCS file: /home/tools/org.eclipse.cdt.core/src/org/eclipse/cdt/internal/core/CCorePluginResources.properties,v
retrieving revision 1.3
diff -u -r1.3 CCorePluginResources.properties
--- src/org/eclipse/cdt/internal/core/CCorePluginResources.properties	25 Jul 2003 14:40:04 -0000	1.3
+++ src/org/eclipse/cdt/internal/core/CCorePluginResources.properties	14 Aug 2003 19:19:18 -0000
@@ -13,9 +13,9 @@
MakeBuilder.message.make = Calling {0} for project {1}
MakeBuilder.message.error = Build error
MakeBuilder.message.finished = Build complete for project {0}
-MakeBuilder.comment.module.list = # Every module must be described here
-MakeBuilder.comment.source.list = # Each module must contribute its source files here
-MakeBuilder.comment.build.rule = # Each module must supply rules for building sources it contributes
-MakeBuilder.comment.module.make.includes = # Include the makefiles for each source module
+MakeBuilder.comment.module.list = # Every subdirectory with source files must be described here
+MakeBuilder.comment.source.list = # Each subdirectory must contribute its source files here
+MakeBuilder.comment.build.rule = # Each subdirectory must supply rules for building sources it contributes
+MakeBuilder.comment.module.make.includes = # Include the makefiles for each source subdirectory
MakeBuilder.comment.module.dep.includes = # Include automatically-generated dependency list:
MakeBuilder.comment.autodeps = # Automatically-generated dependency list:
Index: src/org/eclipse/cdt/internal/core/MakefileGenerator.java
===================================================================
RCS file: /home/tools/org.eclipse.cdt.core/src/org/eclipse/cdt/internal/core/MakefileGenerator.java,v
retrieving revision 1.3
diff -u -r1.3 MakefileGenerator.java
--- src/org/eclipse/cdt/internal/core/MakefileGenerator.java	29 Jul 2003 14:28:36 -0000	1.3
+++ src/org/eclipse/cdt/internal/core/MakefileGenerator.java	14 Aug 2003 19:19:18 -0000
@@ -196,12 +196,14 @@
		
		// Get the clean command from the build model
		buffer.append("RM := ");
-		buffer.append(info.getCleanCommand() + NEWLINE);
+		buffer.append(info.getCleanCommand() + NEWLINE + NEWLINE);
		
		buffer.append(CCorePlugin.getResourceString(SRC_LISTS) + NEWLINE);
		buffer.append("C_SRCS := " + NEWLINE);
-		buffer.append("CC_SRCS := " + NEWLINE);
+		buffer.append("CC_SRCS := " + NEWLINE + NEWLINE);
		
+		// Add the libraries this project dependes on
+		buffer.append("LIBS := ");
		buffer.append(NEWLINE + NEWLINE);
		return buffer;
	}
@@ -401,6 +403,14 @@
	public void appendModule(IResource resource) {
		// The build model knows how to build this file
		IContainer container = resource.getParent();
+
+		// But is this a generated directory ...
+		IPath root = new Path(info.getConfigurationName());
+		IPath path = container.getProjectRelativePath();
+		if (root.isPrefixOf(path)) {
+			return;
+		}
+
		if (!getModuleList().contains(container)) {
			getModuleList().add(container);		
		}



Back to the top