diff --git a/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/core/IOption.java b/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/core/IOption.java
index 2476b725348..0cfb29d2c3e 100644
--- a/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/core/IOption.java
+++ b/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/core/IOption.java
@@ -344,6 +344,15 @@ public interface IOption extends IBuildObject {
*/
public String[] getLibraries() throws BuildException ;
+ /**
+ * @return an array or String
s containing the library files
+ * that must be linked into the project.
+ *
+ * @throws BuildException
+ * @since 7.0
+ */
+ public String[] getLibraryFiles() throws BuildException ;
+
/**
* Answers a String
containing the unique ID of the selected
* enumeration in an enumerated option. For an option that has not been
diff --git a/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/core/Option.java b/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/core/Option.java
index 4e8d01b716b..b5c3665e3ee 100644
--- a/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/core/Option.java
+++ b/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/core/Option.java
@@ -1337,6 +1337,23 @@ public class Option extends BuildObject implements IOption, IBuildPropertiesRest
}
}
+
+ /* (non-Javadoc)
+ * @see org.eclipse.cdt.managedbuilder.core.IOption#getLibraryFiles()
+ */
+ public String[] getLibraryFiles() throws BuildException {
+ if (getValueType() != LIBRARY_FILES) {
+ throw new BuildException(ManagedMakeMessages.getResourceString("Option.error.bad_value_type")); //$NON-NLS-1$
+ }
+ ArrayList v = (ArrayList)getValue();
+ if (v == null) {
+ return EMPTY_STRING_ARRAY;
+ } else {
+ v.trimToSize();
+ return v.toArray(new String[v.size()]);
+ }
+ }
+
/* (non-Javadoc)
* @see org.eclipse.cdt.managedbuilder.core.IOption#getDefaultEnumValue()
*/
diff --git a/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/core/OptionReference.java b/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/core/OptionReference.java
index 97e6d91cf89..91f28a1f28d 100644
--- a/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/core/OptionReference.java
+++ b/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/core/OptionReference.java
@@ -440,6 +440,20 @@ public class OptionReference implements IOption {
throw new BuildException(ManagedMakeMessages.getResourceString("Option.error.bad_value_type")); //$NON-NLS-1$
}
+ /* (non-Javadoc)
+ * @see org.eclipse.cdt.core.build.managed.IOption#getLibraryFiles()
+ */
+ public String[] getLibraryFiles() throws BuildException {
+ if (value == null)
+ return option.getLibraryFiles();
+ else if (getValueType() == LIBRARY_FILES) {
+ ArrayList list = (ArrayList)value;
+ return list.toArray(new String[list.size()]);
+ }
+ else
+ throw new BuildException(ManagedMakeMessages.getResourceString("Option.error.bad_value_type")); //$NON-NLS-1$
+ }
+
/* (non-Javadoc)
* @see org.eclipse.cdt.core.build.managed.IBuildObject#getName()
*/