From: Curt A. <ca...@us...> - 2005-02-13 05:58:31
|
Update of /cvsroot/ant-contrib/cpptasks/src/net/sf/antcontrib/cpptasks/borland In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv19816/src/net/sf/antcontrib/cpptasks/borland Modified Files: BorlandLibrarian.java BorlandLinker.java BorlandProcessor.java Log Message: Borland fixes for log4cxx and APR Index: BorlandLibrarian.java =================================================================== RCS file: /cvsroot/ant-contrib/cpptasks/src/net/sf/antcontrib/cpptasks/borland/BorlandLibrarian.java,v retrieving revision 1.18 retrieving revision 1.19 diff -C2 -d -r1.18 -r1.19 *** BorlandLibrarian.java 22 Apr 2004 09:06:54 -0000 1.18 --- BorlandLibrarian.java 13 Feb 2005 05:58:21 -0000 1.19 *************** *** 1,5 **** /* * ! * Copyright 2002-2004 The Ant-Contrib project * * Licensed under the Apache License, Version 2.0 (the "License"); --- 1,5 ---- /* * ! * Copyright 2002-2005 The Ant-Contrib project * * Licensed under the Apache License, Version 2.0 (the "License"); *************** *** 61,66 **** } ! protected String getCommandFileSwitch(String cmdFile) { ! return BorlandProcessor.getCommandFileSwitch(cmdFile); } public File[] getLibraryPath() { --- 61,71 ---- } ! protected String getCommandFileSwitch(String cmdFile) { ! // ! // tlib requires quotes around paths containing - ! // ilink32 doesn't like them ! StringBuffer buf = new StringBuffer("@"); ! BorlandProcessor.quoteFile(buf, cmdFile); ! return buf.toString(); } public File[] getLibraryPath() { *************** *** 177,181 **** protected String[] prepareResponseFile(File outputFile, String[] args) throws IOException { ! return BorlandProcessor.prepareResponseFile(outputFile, args, " & \n"); } --- 182,188 ---- protected String[] prepareResponseFile(File outputFile, String[] args) throws IOException { ! String[] cmdargs = BorlandProcessor.prepareResponseFile(outputFile, args, " & \n"); ! cmdargs[cmdargs.length - 1] = getCommandFileSwitch(cmdargs[cmdargs.length -1]); ! return cmdargs; } *************** *** 197,200 **** super.link(task, outputFile, sourceFiles, config); } ! } --- 204,219 ---- super.link(task, outputFile, sourceFiles, config); } ! ! /** ! * Encloses problematic file names within quotes. ! * @param buf string buffer ! * @param filename source file name ! * @returns filename potentially enclosed in quotes. ! */ ! protected String quoteFilename(StringBuffer buf,String filename) { ! buf.setLength(0); ! BorlandProcessor.quoteFile(buf, filename); ! return buf.toString(); ! } ! } Index: BorlandLinker.java =================================================================== RCS file: /cvsroot/ant-contrib/cpptasks/src/net/sf/antcontrib/cpptasks/borland/BorlandLinker.java,v retrieving revision 1.21 retrieving revision 1.22 diff -C2 -d -r1.21 -r1.22 *** BorlandLinker.java 11 May 2004 04:50:12 -0000 1.21 --- BorlandLinker.java 13 Feb 2005 05:58:21 -0000 1.22 *************** *** 224,233 **** while (libEnum.hasMoreElements()) { String libName = (String) libEnum.nextElement(); ! if (libName.equalsIgnoreCase("import32.lib")) { hasImport32 = true; } ! if (libName.equalsIgnoreCase("cw32.lib")) { ! hasImport32 = true; } execArgs.addElement(quoteFilename(buf, libName)); } --- 224,236 ---- while (libEnum.hasMoreElements()) { String libName = (String) libEnum.nextElement(); ! if (libName.endsWith("import32.lib")) { hasImport32 = true; } ! if (libName.endsWith("cw32.lib")) { ! hasCw32 = true; } + if (libName.endsWith("cw32mt.lib")) { + hasCw32 = true; + } execArgs.addElement(quoteFilename(buf, libName)); } *************** *** 263,267 **** protected String[] prepareResponseFile(File outputFile, String[] args) throws IOException { ! return BorlandProcessor.prepareResponseFile(outputFile, args, " + \n"); } --- 266,272 ---- protected String[] prepareResponseFile(File outputFile, String[] args) throws IOException { ! String[] cmdargs = BorlandProcessor.prepareResponseFile(outputFile, args, " + \n"); ! cmdargs[cmdargs.length - 1] = getCommandFileSwitch(cmdargs[cmdargs.length -1]); ! return cmdargs; } *************** *** 284,288 **** final TargetMatcher matcher) throws IOException { WindowsPlatform.addVersionFiles(versionInfo, linkType, outputFile, isDebug, objDir, matcher); ! } } --- 289,308 ---- final TargetMatcher matcher) throws IOException { WindowsPlatform.addVersionFiles(versionInfo, linkType, outputFile, isDebug, objDir, matcher); ! } ! ! /** ! * Encloses problematic file names within quotes. ! * @param buf string buffer ! * @param filename source file name ! * @returns filename potentially enclosed in quotes. ! * @remarks doesn't override quoteFilename since that would ! * affect response file command line arg which doesn't like it. ! */ ! protected String quoteFilename(StringBuffer buf,String filename) { ! buf.setLength(0); ! BorlandProcessor.quoteFile(buf, filename); ! return buf.toString(); ! } ! } Index: BorlandProcessor.java =================================================================== RCS file: /cvsroot/ant-contrib/cpptasks/src/net/sf/antcontrib/cpptasks/borland/BorlandProcessor.java,v retrieving revision 1.18 retrieving revision 1.19 diff -C2 -d -r1.18 -r1.19 *** BorlandProcessor.java 22 Apr 2004 17:13:17 -0000 1.18 --- BorlandProcessor.java 13 Feb 2005 05:58:21 -0000 1.19 *************** *** 1,5 **** /* * ! * Copyright 2002-2004 The Ant-Contrib project * * Licensed under the Apache License, Version 2.0 (the "License"); --- 1,5 ---- /* * ! * Copyright 2002-2005 The Ant-Contrib project * * Licensed under the Apache License, Version 2.0 (the "License"); *************** *** 22,26 **** import java.io.Reader; import java.util.Vector; ! import java.io.FileWriter; import net.sf.antcontrib.cpptasks.CUtil; --- 22,26 ---- import java.io.Reader; import java.util.Vector; ! import java.io.FileWriter; import net.sf.antcontrib.cpptasks.CUtil; *************** *** 45,53 **** } } - public static String getCommandFileSwitch(String cmdFile) { - StringBuffer buf = new StringBuffer("@"); - quoteFile(buf, cmdFile); - return buf.toString(); - } public static void getDefineSwitch(StringBuffer buffer, String define, String value) { --- 45,48 ---- *************** *** 161,166 **** return false; } ! private static void quoteFile(StringBuffer buf, String outPath) { ! if (outPath.indexOf(' ') >= 0) { buf.append('\"'); buf.append(outPath); --- 156,164 ---- return false; } ! public static void quoteFile(StringBuffer buf, String outPath) { ! if (outPath.charAt(0) != '\"' ! && (outPath.indexOf(' ') >= 0 ! || outPath.indexOf('-') >= 0 ! || outPath.indexOf('/') >= 0)) { buf.append('\"'); buf.append(outPath); *************** *** 185,189 **** throws IOException { String baseName = outputFile.getName(); ! File commandFile = new File(outputFile.getParent(), baseName + ".lnk"); FileWriter writer = new FileWriter(commandFile); for (int i = 1; i < args.length - 1; i++) { --- 183,187 ---- throws IOException { String baseName = outputFile.getName(); ! File commandFile = new File(outputFile.getParent(), baseName + ".rsp"); FileWriter writer = new FileWriter(commandFile); for (int i = 1; i < args.length - 1; i++) { *************** *** 210,215 **** writer.close(); String[] execArgs = new String[2]; ! execArgs[0] = args[0]; ! execArgs[1] = getCommandFileSwitch(commandFile.toString()); return execArgs; } --- 208,215 ---- writer.close(); String[] execArgs = new String[2]; ! execArgs[0] = args[0]; ! // ! // left for the caller to decorate ! execArgs[1] = commandFile.toString(); return execArgs; } |