package org.codehaus.mojo.natives.bcc;

/*
 * The MIT License
 *
 * Copyright (c) 2004, The Codehaus
 *
 * Permission is hereby granted, free of charge, to any person obtaining a copy of
 * this software and associated documentation files (the "Software"), to deal in
 * the Software without restriction, including without limitation the rights to
 * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
 * of the Software, and to permit persons to whom the Software is furnished to do
 * so, subject to the following conditions:
 * 
 * The above copyright notice and this permission notice shall be included in all
 * copies or substantial portions of the Software.
 * 
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
 * SOFTWARE.
*/

import org.codehaus.mojo.natives.NativeBuildException;
import org.codehaus.mojo.natives.linker.LinkerConfiguration;
import org.codehaus.plexus.util.cli.Commandline;

import java.util.List;

/**
 * Setup Borland tlib command to create static library with env configure at runtime
 * @author <a href="mailto:dantran@gmail.com">Dan Tran</a>
 * @version $Id$
 */

public class TLibEnvLinker
    extends TLibLinker
{
	protected Commandline createLinkerCommandLine( List objectFiles, LinkerConfiguration config )
       throws NativeBuildException
	{
        Commandline cl = super.createLinkerCommandLine( objectFiles, config );
        
        BCCEnv.setupBCCCommandLineEnv( config.getProviderHome(), cl );
        
        return cl ;
	}

}

@@ -1591,244 +1591,91 @@
 r%0A%7B%0A
-%09protected Commandline createLinkerCommandLine( List objectFiles, LinkerConfiguration config )%0A       throws NativeBuildException%0A%09%7B%0A        Commandline cl = super.createLinkerCommandLine( objectFiles, config );%0A        %0A       
+    %0A    public TLibEnvLinker()%0A    %7B%0A        this.setEnvironmentVariables(
  BCCEnv.
 setu
@@ -1674,95 +1674,60 @@
 Env.
-s
+g
 et
-up
 BCC
-CommandLineEnv( config.getProviderHome(), cl );%0A        %0A        return cl ;%0A%09%7D%0A
+EnvironmentVariables() );                %0A    %7D
 %0A%7D%0A

optimize env setup for each cli