Main Content

Simulink.sfunction.analyzer.BuildInfo Class

Namespace: Simulink.sfunction.analyzer
Superclasses:

Create an object to represent build information

Description

A Simulink.sfunction.analyzer.BuildInfo object captures the build information for S-functions, such as source files, header files, and linking libraries, for use with the Simulink.sfunction.Analyzer class.

Construction

bdInfo= Simulink.sfunction.analyzer.BuildInfo(SfcnFile) creates a Simulink.sfunction.analyzer.BuildInfo object.

bdInfo = Simulink.sfunction.analyzer.BuildInfo(SfcnFile,'SrcPath',{srcpaths},'ExtraSrcFileList',{srcfilelist}) creates a Simulink.sfunction.analyzer.BuildInfo object for a C-MEX S-function source file, a list of extra source files located in the specified path.

bdInfo = Simulink.sfunction.analyzer.BuildInfo(SfcnFile,'ObjFileList',{objfilelist}) creates a Simulink.sfunction.analyzer.BuildInfo object for C-MEX S-function source file and list of extra objective code files.

bdInfo = Simulink.sfunction.analyzer.BuildInfo(SfcnFile,'IncPaths',{incpathslist}) creates a Simulink.sfunction.analyzer.BuildInfo object for C-MEX S-function source file and paths to the folders including header files.

bdInfo = Simulink.sfunction.analyzer.BuildInfo(SfcnFile,'LibFileList',{libfilelist},'LibPaths',{libpaths}) creates a Simulink.sfunction.analyzer.BuildInfo object for C-MEX S-function source file and library files and library file paths used for building.

bdInfo = Simulink.sfunction.analyzer.BuildInfo(SfcnFile,'PreProcDefList',{preprocdir}) creates a Simulink.sfunction.analyzer.BuildInfo object for C-MEX S-function source file and pre-processor directives list.

Input Arguments

expand all

S-function source file, specified as a string or a character vector. The S-function source file must have the same name as the S-function.

Name-Value Arguments

Specify optional pairs of arguments as Name1=Value1,...,NameN=ValueN, where Name is the argument name and Value is the corresponding value. Name-value arguments must appear after other arguments, but the order of the pairs does not matter.

Before R2021a, use commas to separate each name and value, and enclose Name in quotes.

Example: 'SrcPath', {srcpath}

Search paths to extra S-function source files that are referenced by SfcnFile, specified as a cell array or a string.

List of extra S-function source files, specified as a cell array or string.

List of objective files used for building, specified as a cell array.

Specify paths to include folders for header files, specified as a cell array or a string.

List of external library files used for building, specified as a cell array or string.

Search paths for external library files used for building, specified as a cell array or a string.

List of the preprocessor directives, specified as a cell array or a string.

Output Arguments

expand all

Build information, returned as a Simulink.sfunction.analyzer.BuildInfo object.

Examples

Create a Simulink.sfunction.analyzer.BuildInfo object named bdInfo for an S-function named mysfun that includes a source file named mysfun.c.

Basic Use

bdInfo = Simulink.sfunction.analyzer.BuildInfo('mysfun.c');

The output bdInfo has the following fields:

bdInfo = 

  BuildInfo with properties:

            SfcnFile: 'mysfun.c'
            SfcnName: 'mysfun'
             SrcType: 'C'
            SrcPaths: {}
    ExtraSrcFileList: {}
         ObjFileList: {}
            IncPaths: {}
         LibFileList: {}
            LibPaths: {}
      PreProcDefList: {}

Advanced Use

Create a bdInfo object for an S-function mysfun that includes a source file mysfun.c and also includes:

  • List of extra source files, extra1.c and extra2.c

  • Paths to source file folders, /path1 and /path2.

  • List of objective files, o1.obj and o2.obj.

  • List of library files, l1.lib and l2.lib.

  • Library paths, /libpath1.

  • Pre-processor running directives, -DDEBUG.

Simulink.sfunction.analyzer.BuildInfo('mysfun.c',...
                              'ExtraSrcFileList',{extra1.c,extra2.c},...
                              'SrcPaths',{/path1,/path2},...
                              'ObjFileList',{o1.obj,o2.obj},...
                              'LibFileList',{l1.lib,l2.lib},...
                              'LibPaths',{/libpath1},...
                              'PreProcDefList',{DEBUG});

Version History

Introduced in R2017b