From: Curt A. <ca...@us...> - 2002-03-22 05:24:13
|
Update of /cvsroot/ant-contrib/cpptasks/src/net/sf/antcontrib/cpptasks/gcc In directory usw-pr-cvs1:/tmp/cvs-serv10839/src/net/sf/antcontrib/cpptasks/gcc Modified Files: GccCCompiler.java Log Message: Some, but not all, gcc stuff Index: GccCCompiler.java =================================================================== RCS file: /cvsroot/ant-contrib/cpptasks/src/net/sf/antcontrib/cpptasks/gcc/GccCCompiler.java,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** GccCCompiler.java 21 Mar 2002 06:34:03 -0000 1.6 --- GccCCompiler.java 22 Mar 2002 05:24:10 -0000 1.7 *************** *** 69,72 **** --- 69,73 ---- import java.io.File; import java.util.*; + import java.io.IOException; /** *************** *** 77,83 **** public class GccCCompiler extends CommandLineCCompiler { - private final String[] DEBUG_COMPILER_FLAGS = {"-g", "-Wall"}; - private final String[] RELEASE_COMPILER_FLAGS = {"-Wall", "-DNDEBUG"}; private String identifier; private static final AbstractCompiler instance = new GccCCompiler(); --- 78,83 ---- public class GccCCompiler extends CommandLineCCompiler { private String identifier; + private File[] includePath; private static final AbstractCompiler instance = new GccCCompiler(); *************** *** 103,107 **** protected File[] getEnvironmentIncludePath() { ! return CUtil.getPathFromEnvironment("INCLUDE",";"); } --- 103,126 ---- protected File[] getEnvironmentIncludePath() { ! if(includePath == null) { ! String[] args = new String[] { "gcc", "-print-search-dirs"}; ! // try { ! // String[] cmdout = CaptureStreamHandler.run(args); ! String[] cmdout = new String[0]; ! ! for(int i = 0; i < cmdout.length; i++) { ! if(cmdout[i].startsWith("libraries: ")) { ! includePath = CUtil.parsePath(cmdout[i].substring(11),":"); ! break; ! } ! } ! // } ! // catch(IOException ex) { ! // } ! if(includePath == null) { ! includePath = new File[0]; ! } ! } ! return includePath; } *************** *** 114,122 **** switch(level) { case 0: ! args.addElement("/W0"); break; case 1: ! args.addElement("/W1"); break; --- 133,141 ---- switch(level) { case 0: ! //args.addElement("/W0"); break; case 1: ! //args.addElement("/W1"); break; *************** *** 125,137 **** case 3: ! args.addElement("/W3"); break; case 4: ! args.addElement("/W4"); break; case 5: ! args.addElement("/WX"); break; } --- 144,156 ---- case 3: ! //args.addElement("/W3"); break; case 4: ! //args.addElement("/W4"); break; case 5: ! args.addElement("--fatal-warnings"); break; } *************** *** 142,145 **** --- 161,172 ---- boolean multithreaded, boolean staticLink, boolean exceptions) { args.addElement("-c"); + if(debug) { + args.addElement("-g"); + args.addElement("-Wall"); + } + else { + args.addElement("-Wall"); + args.addElement("-DNDEBUG"); + } } *************** *** 158,190 **** } - /** - * Builds the basic command to compile the source file. - */ - protected void buildInitialCommand(File srcfile, File destfile, Vector cmd) - { - cmd.addElement("gcc"); - cmd.addElement("-c"); - cmd.addElement("-o"); - cmd.addElement(destfile.getAbsolutePath()); - cmd.addElement(srcfile.getAbsolutePath()); - } - /** - * Adds a macro definition to the command. - */ - protected void addDefine(DefineArgument define, Vector cmd) - { - if ( define.isDefine() ) { - if ( define.getValue() != null ) { - cmd.addElement("-D" + define.getName() + "=" + define.getValue()); - } - else { - cmd.addElement("-D" + define.getName()); - } - } - else { - cmd.addElement("-U" + define.getName()); - } - } /** --- 185,189 ---- *************** *** 209,214 **** if(identifier == null) { try { ! String[] cmdout = CaptureStreamHandler.run(new String[] { "gcc","-dumpversion", "-dumpmachine" }); ! identifier = "gcc " + cmdout[0]; } catch(Throwable ex) { --- 208,220 ---- if(identifier == null) { try { ! String[] args = new String[] { "gcc", "-dumpversion" }; ! String[] cmdout = CaptureStreamHandler.run(args); ! StringBuffer buf = new StringBuffer("gcc "); ! buf.append(cmdout[0]); ! args[1] = "-dumpmachine"; ! cmdout = CaptureStreamHandler.run(args); ! buf.append(' '); ! buf.append(cmdout[0]); ! identifier = buf.toString(); } catch(Throwable ex) { |