/******************************************************************************* * Copyright (c) 2015 ARM Ltd. and others * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: * ARM Ltd and ARM Germany GmbH - Initial API and implementation *******************************************************************************/ package com.arm.cmsis.pack.build.settings; import org.eclipse.cdt.managedbuilder.core.IConfiguration; import org.eclipse.core.runtime.IAdaptable; import com.arm.cmsis.pack.build.IBuildSettings; /** * Interface that sets IConfiguration build options according to IBuildSettings. * It extends IAdapdable interface to allow even more flexibility. */ public interface IRteToolChainAdapter extends IAdaptable { /** * Sets toolchain build options for given IConfiguration according to supplied IRteBuildSettings * @param configuration destination IConfiguration to set options to * @param buildSettings source IBuildSettings */ void setToolChainOptions(IConfiguration configuration, IBuildSettings buildSettings); /** * Sets initial toolchain build options for given IConfiguration according to supplied IRteBuildSettings.<br> * This function is called when device settings are changed (e.g. when new project is created) * @param configuration destination IConfiguration to set options to * @param buildSettings source IBuildSettings */ void setInitialToolChainOptions(IConfiguration configuration, IBuildSettings buildSettings); /** * Returns Linker script generator associated with the adapter * @return ILinkerScriptGenerator or null if no generator is available */ ILinkerScriptGenerator getLinkerScriptGenerator(); }