Changes in / [9fa0ed1:482641d]


Ignore:
Files:
7 edited

Legend:

Unmodified
Added
Removed
  • doc/web.cfg

    r9fa0ed1 r482641d  
    1 # Doxyfile 1.8.13
     1# Doxyfile 1.8.8
    22
    33# This file describes the settings to be used by the documentation system
     
    4747PROJECT_BRIEF          =
    4848
    49 # With the PROJECT_LOGO tag one can specify a logo or an icon that is included
    50 # in the documentation. The maximum height of the logo should not exceed 55
    51 # pixels and the maximum width should not exceed 200 pixels. Doxygen will copy
    52 # the logo to the output directory.
     49# With the PROJECT_LOGO tag one can specify an logo or icon that is included in
     50# the documentation. The maximum height of the logo should not exceed 55 pixels
     51# and the maximum width should not exceed 200 pixels. Doxygen will copy the logo
     52# to the output directory.
    5353
    5454PROJECT_LOGO           =
     
    6161OUTPUT_DIRECTORY       = web
    6262
    63 # If the CREATE_SUBDIRS tag is set to YES then doxygen will create 4096 sub-
     63# If the CREATE_SUBDIRS tag is set to YES, then doxygen will create 4096 sub-
    6464# directories (in 2 levels) under the output directory of each output format and
    6565# will distribute the generated files over these directories. Enabling this
     
    9494OUTPUT_LANGUAGE        = English
    9595
    96 # If the BRIEF_MEMBER_DESC tag is set to YES, doxygen will include brief member
     96# If the BRIEF_MEMBER_DESC tag is set to YES doxygen will include brief member
    9797# descriptions after the members that are listed in the file and class
    9898# documentation (similar to Javadoc). Set to NO to disable this.
     
    101101BRIEF_MEMBER_DESC      = YES
    102102
    103 # If the REPEAT_BRIEF tag is set to YES, doxygen will prepend the brief
     103# If the REPEAT_BRIEF tag is set to YES doxygen will prepend the brief
    104104# description of a member or function before the detailed description
    105105#
     
    136136INLINE_INHERITED_MEMB  = NO
    137137
    138 # If the FULL_PATH_NAMES tag is set to YES, doxygen will prepend the full path
     138# If the FULL_PATH_NAMES tag is set to YES doxygen will prepend the full path
    139139# before files name in the file list and in the header files. If set to NO the
    140140# shortest path that makes the file name unique will be used
     
    206206INHERIT_DOCS           = YES
    207207
    208 # If the SEPARATE_MEMBER_PAGES tag is set to YES then doxygen will produce a new
    209 # page for each member. If set to NO, the documentation of a member will be part
    210 # of the file/class/namespace that contains it.
     208# If the SEPARATE_MEMBER_PAGES tag is set to YES, then doxygen will produce a
     209# new page for each member. If set to NO, the documentation of a member will be
     210# part of the file/class/namespace that contains it.
    211211# The default value is: NO.
    212212
     
    277277# and .f files as C (default is Fortran), use: inc=Fortran f=C.
    278278#
    279 # Note: For files without extension you can use no_extension as a placeholder.
     279# Note For files without extension you can use no_extension as a placeholder.
    280280#
    281281# Note that for custom extensions you also need to set FILE_PATTERNS otherwise
     
    294294MARKDOWN_SUPPORT       = YES
    295295
    296 # When the TOC_INCLUDE_HEADINGS tag is set to a non-zero value, all headings up
    297 # to that level are automatically included in the table of contents, even if
    298 # they do not have an id attribute.
    299 # Note: This feature currently applies only to Markdown headings.
    300 # Minimum value: 0, maximum value: 99, default value: 0.
    301 # This tag requires that the tag MARKDOWN_SUPPORT is set to YES.
    302 
    303 TOC_INCLUDE_HEADINGS   = 0
    304 
    305296# When enabled doxygen tries to link words that correspond to documented
    306297# classes, or namespaces to their corresponding documentation. Such a link can
    307 # be prevented in individual cases by putting a % sign in front of the word or
    308 # globally by setting AUTOLINK_SUPPORT to NO.
     298# be prevented in individual cases by by putting a % sign in front of the word
     299# or globally by setting AUTOLINK_SUPPORT to NO.
    309300# The default value is: YES.
    310301
     
    346337
    347338# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC
    348 # tag is set to YES then doxygen will reuse the documentation of the first
     339# tag is set to YES, then doxygen will reuse the documentation of the first
    349340# member in the group (if any) for the other members of the group. By default
    350341# all members of a group must be documented explicitly.
     
    352343
    353344DISTRIBUTE_GROUP_DOC   = NO
    354 
    355 # If one adds a struct or class to a group and this option is enabled, then also
    356 # any nested class or struct is added to the same group. By default this option
    357 # is disabled and one has to add nested compounds explicitly via \ingroup.
    358 # The default value is: NO.
    359 
    360 GROUP_NESTED_COMPOUNDS = NO
    361345
    362346# Set the SUBGROUPING tag to YES to allow class member groups of the same type
     
    418402#---------------------------------------------------------------------------
    419403
    420 # If the EXTRACT_ALL tag is set to YES, doxygen will assume all entities in
     404# If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in
    421405# documentation are documented, even if no documentation was available. Private
    422406# class members and static file members will be hidden unless the
     
    428412EXTRACT_ALL            = NO
    429413
    430 # If the EXTRACT_PRIVATE tag is set to YES, all private members of a class will
     414# If the EXTRACT_PRIVATE tag is set to YES all private members of a class will
    431415# be included in the documentation.
    432416# The default value is: NO.
     
    434418EXTRACT_PRIVATE        = NO
    435419
    436 # If the EXTRACT_PACKAGE tag is set to YES, all members with package or internal
     420# If the EXTRACT_PACKAGE tag is set to YES all members with package or internal
    437421# scope will be included in the documentation.
    438422# The default value is: NO.
     
    440424EXTRACT_PACKAGE        = NO
    441425
    442 # If the EXTRACT_STATIC tag is set to YES, all static members of a file will be
     426# If the EXTRACT_STATIC tag is set to YES all static members of a file will be
    443427# included in the documentation.
    444428# The default value is: NO.
     
    446430EXTRACT_STATIC         = NO
    447431
    448 # If the EXTRACT_LOCAL_CLASSES tag is set to YES, classes (and structs) defined
    449 # locally in source files will be included in the documentation. If set to NO,
     432# If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs) defined
     433# locally in source files will be included in the documentation. If set to NO
    450434# only classes defined in header files are included. Does not have any effect
    451435# for Java sources.
     
    454438EXTRACT_LOCAL_CLASSES  = YES
    455439
    456 # This flag is only useful for Objective-C code. If set to YES, local methods,
     440# This flag is only useful for Objective-C code. When set to YES local methods,
    457441# which are defined in the implementation section but not in the interface are
    458 # included in the documentation. If set to NO, only methods in the interface are
     442# included in the documentation. If set to NO only methods in the interface are
    459443# included.
    460444# The default value is: NO.
     
    481465# If the HIDE_UNDOC_CLASSES tag is set to YES, doxygen will hide all
    482466# undocumented classes that are normally visible in the class hierarchy. If set
    483 # to NO, these classes will be included in the various overviews. This option
    484 # has no effect if EXTRACT_ALL is enabled.
     467# to NO these classes will be included in the various overviews. This option has
     468# no effect if EXTRACT_ALL is enabled.
    485469# The default value is: NO.
    486470
     
    488472
    489473# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, doxygen will hide all friend
    490 # (class|struct|union) declarations. If set to NO, these declarations will be
     474# (class|struct|union) declarations. If set to NO these declarations will be
    491475# included in the documentation.
    492476# The default value is: NO.
     
    495479
    496480# If the HIDE_IN_BODY_DOCS tag is set to YES, doxygen will hide any
    497 # documentation blocks found inside the body of a function. If set to NO, these
     481# documentation blocks found inside the body of a function. If set to NO these
    498482# blocks will be appended to the function's detailed documentation block.
    499483# The default value is: NO.
     
    509493
    510494# If the CASE_SENSE_NAMES tag is set to NO then doxygen will only generate file
    511 # names in lower-case letters. If set to YES, upper-case letters are also
     495# names in lower-case letters. If set to YES upper-case letters are also
    512496# allowed. This is useful if you have classes or files whose names only differ
    513497# in case and if your file system supports case sensitive file names. Windows
     
    518502
    519503# If the HIDE_SCOPE_NAMES tag is set to NO then doxygen will show members with
    520 # their full class and namespace scopes in the documentation. If set to YES, the
     504# their full class and namespace scopes in the documentation. If set to YES the
    521505# scope will be hidden.
    522506# The default value is: NO.
    523507
    524508HIDE_SCOPE_NAMES       = NO
    525 
    526 # If the HIDE_COMPOUND_REFERENCE tag is set to NO (default) then doxygen will
    527 # append additional text to a page's title, such as Class Reference. If set to
    528 # YES the compound reference will be hidden.
    529 # The default value is: NO.
    530 
    531 HIDE_COMPOUND_REFERENCE= NO
    532509
    533510# If the SHOW_INCLUDE_FILES tag is set to YES then doxygen will put a list of
     
    558535# If the SORT_MEMBER_DOCS tag is set to YES then doxygen will sort the
    559536# (detailed) documentation of file and class members alphabetically by member
    560 # name. If set to NO, the members will appear in declaration order.
     537# name. If set to NO the members will appear in declaration order.
    561538# The default value is: YES.
    562539
     
    565542# If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the brief
    566543# descriptions of file, namespace and class members alphabetically by member
    567 # name. If set to NO, the members will appear in declaration order. Note that
     544# name. If set to NO the members will appear in declaration order. Note that
    568545# this will also influence the order of the classes in the class list.
    569546# The default value is: NO.
     
    610587STRICT_PROTO_MATCHING  = NO
    611588
    612 # The GENERATE_TODOLIST tag can be used to enable (YES) or disable (NO) the todo
    613 # list. This list is created by putting \todo commands in the documentation.
     589# The GENERATE_TODOLIST tag can be used to enable ( YES) or disable ( NO) the
     590# todo list. This list is created by putting \todo commands in the
     591# documentation.
    614592# The default value is: YES.
    615593
    616594GENERATE_TODOLIST      = YES
    617595
    618 # The GENERATE_TESTLIST tag can be used to enable (YES) or disable (NO) the test
    619 # list. This list is created by putting \test commands in the documentation.
     596# The GENERATE_TESTLIST tag can be used to enable ( YES) or disable ( NO) the
     597# test list. This list is created by putting \test commands in the
     598# documentation.
    620599# The default value is: YES.
    621600
    622601GENERATE_TESTLIST      = YES
    623602
    624 # The GENERATE_BUGLIST tag can be used to enable (YES) or disable (NO) the bug
     603# The GENERATE_BUGLIST tag can be used to enable ( YES) or disable ( NO) the bug
    625604# list. This list is created by putting \bug commands in the documentation.
    626605# The default value is: YES.
     
    628607GENERATE_BUGLIST       = YES
    629608
    630 # The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or disable (NO)
     609# The GENERATE_DEPRECATEDLIST tag can be used to enable ( YES) or disable ( NO)
    631610# the deprecated list. This list is created by putting \deprecated commands in
    632611# the documentation.
     
    653632
    654633# Set the SHOW_USED_FILES tag to NO to disable the list of files generated at
    655 # the bottom of the documentation of classes and structs. If set to YES, the
    656 # list will mention the files that were used to generate the documentation.
     634# the bottom of the documentation of classes and structs. If set to YES the list
     635# will mention the files that were used to generate the documentation.
    657636# The default value is: YES.
    658637
     
    718697
    719698# The WARNINGS tag can be used to turn on/off the warning messages that are
    720 # generated to standard error (stderr) by doxygen. If WARNINGS is set to YES
     699# generated to standard error ( stderr) by doxygen. If WARNINGS is set to YES
    721700# this implies that the warnings are on.
    722701#
     
    726705WARNINGS               = YES
    727706
    728 # If the WARN_IF_UNDOCUMENTED tag is set to YES then doxygen will generate
     707# If the WARN_IF_UNDOCUMENTED tag is set to YES, then doxygen will generate
    729708# warnings for undocumented members. If EXTRACT_ALL is set to YES then this flag
    730709# will automatically be disabled.
     
    743722# This WARN_NO_PARAMDOC option can be enabled to get warnings for functions that
    744723# are documented, but have no documentation for their parameters or return
    745 # value. If set to NO, doxygen will only warn about wrong or incomplete
    746 # parameter documentation, but not about the absence of documentation.
     724# value. If set to NO doxygen will only warn about wrong or incomplete parameter
     725# documentation, but not about the absence of documentation.
    747726# The default value is: NO.
    748727
    749728WARN_NO_PARAMDOC       = NO
    750 
    751 # If the WARN_AS_ERROR tag is set to YES then doxygen will immediately stop when
    752 # a warning is encountered.
    753 # The default value is: NO.
    754 
    755 WARN_AS_ERROR          = NO
    756729
    757730# The WARN_FORMAT tag determines the format of the warning messages that doxygen
     
    778751# documented source files. You may enter file names like myfile.cpp or
    779752# directories like /usr/src/myproject. Separate the files or directories with
    780 # spaces. See also FILE_PATTERNS and EXTENSION_MAPPING
     753# spaces.
    781754# Note: If this tag is empty the current directory is searched.
    782755
     
    794767# If the value of the INPUT tag contains directories, you can use the
    795768# FILE_PATTERNS tag to specify one or more wildcard patterns (like *.cpp and
    796 # *.h) to filter out the source-files in the directories.
    797 #
    798 # Note that for custom extensions or not directly supported extensions you also
    799 # need to set EXTENSION_MAPPING for the extension otherwise the files are not
    800 # read by doxygen.
    801 #
    802 # If left blank the following patterns are tested:*.c, *.cc, *.cxx, *.cpp,
    803 # *.c++, *.java, *.ii, *.ixx, *.ipp, *.i++, *.inl, *.idl, *.ddl, *.odl, *.h,
    804 # *.hh, *.hxx, *.hpp, *.h++, *.cs, *.d, *.php, *.php4, *.php5, *.phtml, *.inc,
    805 # *.m, *.markdown, *.md, *.mm, *.dox, *.py, *.pyw, *.f90, *.f95, *.f03, *.f08,
    806 # *.f, *.for, *.tcl, *.vhd, *.vhdl, *.ucf and *.qsf.
     769# *.h) to filter out the source-files in the directories. If left blank the
     770# following patterns are tested:*.c, *.cc, *.cxx, *.cpp, *.c++, *.java, *.ii,
     771# *.ixx, *.ipp, *.i++, *.inl, *.idl, *.ddl, *.odl, *.h, *.hh, *.hxx, *.hpp,
     772# *.h++, *.cs, *.d, *.php, *.php4, *.php5, *.phtml, *.inc, *.m, *.markdown,
     773# *.md, *.mm, *.dox, *.py, *.f90, *.f, *.for, *.tcl, *.vhd, *.vhdl, *.ucf,
     774# *.qsf, *.as and *.js.
    807775
    808776FILE_PATTERNS          = *.h
     
    913881# code is scanned, but not when the output code is generated. If lines are added
    914882# or removed, the anchors will not be placed correctly.
    915 #
    916 # Note that for custom extensions or not directly supported extensions you also
    917 # need to set EXTENSION_MAPPING for the extension otherwise the files are not
    918 # properly processed by doxygen.
    919883
    920884INPUT_FILTER           =
     
    926890# filters are used. If the FILTER_PATTERNS tag is empty or if none of the
    927891# patterns match the file name, INPUT_FILTER is applied.
    928 #
    929 # Note that for custom extensions or not directly supported extensions you also
    930 # need to set EXTENSION_MAPPING for the extension otherwise the files are not
    931 # properly processed by doxygen.
    932892
    933893FILTER_PATTERNS        =
    934894
    935895# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using
    936 # INPUT_FILTER) will also be used to filter the input files that are used for
     896# INPUT_FILTER ) will also be used to filter the input files that are used for
    937897# producing the source files to browse (i.e. when SOURCE_BROWSER is set to YES).
    938898# The default value is: NO.
     
    994954
    995955# If the REFERENCES_LINK_SOURCE tag is set to YES and SOURCE_BROWSER tag is set
    996 # to YES then the hyperlinks from functions in REFERENCES_RELATION and
     956# to YES, then the hyperlinks from functions in REFERENCES_RELATION and
    997957# REFERENCED_BY_RELATION lists will link to the source code. Otherwise they will
    998958# link to the documentation.
     
    10411001VERBATIM_HEADERS       = YES
    10421002
    1043 # If the CLANG_ASSISTED_PARSING tag is set to YES then doxygen will use the
     1003# If the CLANG_ASSISTED_PARSING tag is set to YES, then doxygen will use the
    10441004# clang parser (see: http://clang.llvm.org/) for more accurate parsing at the
    10451005# cost of reduced performance. This can be particularly helpful with template
     
    10471007# information.
    10481008# Note: The availability of this option depends on whether or not doxygen was
    1049 # generated with the -Duse-libclang=ON option for CMake.
     1009# compiled with the --with-libclang option.
    10501010# The default value is: NO.
    10511011
     
    10901050#---------------------------------------------------------------------------
    10911051
    1092 # If the GENERATE_HTML tag is set to YES, doxygen will generate HTML output
     1052# If the GENERATE_HTML tag is set to YES doxygen will generate HTML output
    10931053# The default value is: YES.
    10941054
     
    11561116# created by doxygen. Using this option one can overrule certain style aspects.
    11571117# This is preferred over using HTML_STYLESHEET since it does not replace the
    1158 # standard style sheet and is therefore more robust against future updates.
     1118# standard style sheet and is therefor more robust against future updates.
    11591119# Doxygen will copy the style sheet files to the output directory.
    1160 # Note: The order of the extra style sheet files is of importance (e.g. the last
    1161 # style sheet in the list overrules the setting of the previous ones in the
     1120# Note: The order of the extra stylesheet files is of importance (e.g. the last
     1121# stylesheet in the list overrules the setting of the previous ones in the
    11621122# list). For an example see the documentation.
    11631123# This tag requires that the tag GENERATE_HTML is set to YES.
     
    11761136
    11771137# The HTML_COLORSTYLE_HUE tag controls the color of the HTML output. Doxygen
    1178 # will adjust the colors in the style sheet and background images according to
     1138# will adjust the colors in the stylesheet and background images according to
    11791139# this color. Hue is specified as an angle on a colorwheel, see
    11801140# http://en.wikipedia.org/wiki/Hue for more information. For instance the value
     
    12071167# If the HTML_TIMESTAMP tag is set to YES then the footer of each generated HTML
    12081168# page will contain the date and time when the page was generated. Setting this
    1209 # to YES can help to show when doxygen was last run and thus if the
    1210 # documentation is up to date.
    1211 # The default value is: NO.
     1169# to NO can help when comparing the output of multiple runs.
     1170# The default value is: YES.
    12121171# This tag requires that the tag GENERATE_HTML is set to YES.
    12131172
     
    13051264
    13061265# The HHC_LOCATION tag can be used to specify the location (absolute path
    1307 # including file name) of the HTML help compiler (hhc.exe). If non-empty,
     1266# including file name) of the HTML help compiler ( hhc.exe). If non-empty
    13081267# doxygen will try to run the HTML help compiler on the generated index.hhp.
    13091268# The file has to be specified with full path.
     
    13121271HHC_LOCATION           =
    13131272
    1314 # The GENERATE_CHI flag controls if a separate .chi index file is generated
    1315 # (YES) or that it should be included in the master .chm file (NO).
     1273# The GENERATE_CHI flag controls if a separate .chi index file is generated (
     1274# YES) or that it should be included in the master .chm file ( NO).
    13161275# The default value is: NO.
    13171276# This tag requires that the tag GENERATE_HTMLHELP is set to YES.
     
    13191278GENERATE_CHI           = NO
    13201279
    1321 # The CHM_INDEX_ENCODING is used to encode HtmlHelp index (hhk), content (hhc)
     1280# The CHM_INDEX_ENCODING is used to encode HtmlHelp index ( hhk), content ( hhc)
    13221281# and project file content.
    13231282# This tag requires that the tag GENERATE_HTMLHELP is set to YES.
     
    13251284CHM_INDEX_ENCODING     =
    13261285
    1327 # The BINARY_TOC flag controls whether a binary table of contents is generated
    1328 # (YES) or a normal table of contents (NO) in the .chm file. Furthermore it
     1286# The BINARY_TOC flag controls whether a binary table of contents is generated (
     1287# YES) or a normal table of contents ( NO) in the .chm file. Furthermore it
    13291288# enables the Previous and Next buttons.
    13301289# The default value is: NO.
     
    14401399# to work a browser that supports JavaScript, DHTML, CSS and frames is required
    14411400# (i.e. any modern browser). Windows users are probably better off using the
    1442 # HTML help feature. Via custom style sheets (see HTML_EXTRA_STYLESHEET) one can
     1401# HTML help feature. Via custom stylesheets (see HTML_EXTRA_STYLESHEET) one can
    14431402# further fine-tune the look of the index. As an example, the default style
    14441403# sheet generated by doxygen has an example that shows how to put an image at
     
    14681427TREEVIEW_WIDTH         = 250
    14691428
    1470 # If the EXT_LINKS_IN_WINDOW option is set to YES, doxygen will open links to
     1429# When the EXT_LINKS_IN_WINDOW option is set to YES doxygen will open links to
    14711430# external symbols imported via tag files in a separate window.
    14721431# The default value is: NO.
     
    14971456# Enable the USE_MATHJAX option to render LaTeX formulas using MathJax (see
    14981457# http://www.mathjax.org) which uses client side Javascript for the rendering
    1499 # instead of using pre-rendered bitmaps. Use this if you do not have LaTeX
     1458# instead of using prerendered bitmaps. Use this if you do not have LaTeX
    15001459# installed or if you want to formulas look prettier in the HTML output. When
    15011460# enabled you may also need to install MathJax separately and configure the path
     
    15831542# search results.
    15841543#
    1585 # Doxygen ships with an example indexer (doxyindexer) and search engine
     1544# Doxygen ships with an example indexer ( doxyindexer) and search engine
    15861545# (doxysearch.cgi) which are based on the open source search engine library
    15871546# Xapian (see: http://xapian.org/).
     
    15961555# which will return the search results when EXTERNAL_SEARCH is enabled.
    15971556#
    1598 # Doxygen ships with an example indexer (doxyindexer) and search engine
     1557# Doxygen ships with an example indexer ( doxyindexer) and search engine
    15991558# (doxysearch.cgi) which are based on the open source search engine library
    16001559# Xapian (see: http://xapian.org/). See the section "External Indexing and
     
    16341593#---------------------------------------------------------------------------
    16351594
    1636 # If the GENERATE_LATEX tag is set to YES, doxygen will generate LaTeX output.
     1595# If the GENERATE_LATEX tag is set to YES doxygen will generate LaTeX output.
    16371596# The default value is: YES.
    16381597
     
    16651624MAKEINDEX_CMD_NAME     = makeindex
    16661625
    1667 # If the COMPACT_LATEX tag is set to YES, doxygen generates more compact LaTeX
     1626# If the COMPACT_LATEX tag is set to YES doxygen generates more compact LaTeX
    16681627# documents. This may be useful for small projects and may help to save some
    16691628# trees in general.
     
    16831642
    16841643# The EXTRA_PACKAGES tag can be used to specify one or more LaTeX package names
    1685 # that should be included in the LaTeX output. The package can be specified just
    1686 # by its name or with the correct syntax as to be used with the LaTeX
    1687 # \usepackage command. To get the times font for instance you can specify :
    1688 # EXTRA_PACKAGES=times or EXTRA_PACKAGES={times}
    1689 # To use the option intlimits with the amsmath package you can specify:
    1690 # EXTRA_PACKAGES=[intlimits]{amsmath}
     1644# that should be included in the LaTeX output. To get the times font for
     1645# instance you can specify
     1646# EXTRA_PACKAGES=times
    16911647# If left blank no extra packages will be included.
    16921648# This tag requires that the tag GENERATE_LATEX is set to YES.
     
    17031659# following commands have a special meaning inside the header: $title,
    17041660# $datetime, $date, $doxygenversion, $projectname, $projectnumber,
    1705 # $projectbrief, $projectlogo. Doxygen will replace $title with the empty
    1706 # string, for the replacement values of the other commands the user is referred
    1707 # to HTML_HEADER.
     1661# $projectbrief, $projectlogo. Doxygen will replace $title with the empy string,
     1662# for the replacement values of the other commands the user is refered to
     1663# HTML_HEADER.
    17081664# This tag requires that the tag GENERATE_LATEX is set to YES.
    17091665
     
    17211677LATEX_FOOTER           =
    17221678
    1723 # The LATEX_EXTRA_STYLESHEET tag can be used to specify additional user-defined
    1724 # LaTeX style sheets that are included after the standard style sheets created
    1725 # by doxygen. Using this option one can overrule certain style aspects. Doxygen
    1726 # will copy the style sheet files to the output directory.
    1727 # Note: The order of the extra style sheet files is of importance (e.g. the last
    1728 # style sheet in the list overrules the setting of the previous ones in the
    1729 # list).
    1730 # This tag requires that the tag GENERATE_LATEX is set to YES.
    1731 
    1732 LATEX_EXTRA_STYLESHEET =
    1733 
    17341679# The LATEX_EXTRA_FILES tag can be used to specify one or more extra images or
    17351680# other source files which should be copied to the LATEX_OUTPUT output
     
    17501695
    17511696# If the USE_PDFLATEX tag is set to YES, doxygen will use pdflatex to generate
    1752 # the PDF file directly from the LaTeX files. Set this option to YES, to get a
     1697# the PDF file directly from the LaTeX files. Set this option to YES to get a
    17531698# higher quality PDF documentation.
    17541699# The default value is: YES.
     
    17911736LATEX_BIB_STYLE        = plain
    17921737
    1793 # If the LATEX_TIMESTAMP tag is set to YES then the footer of each generated
    1794 # page will contain the date and time when the page was generated. Setting this
    1795 # to NO can help when comparing the output of multiple runs.
    1796 # The default value is: NO.
    1797 # This tag requires that the tag GENERATE_LATEX is set to YES.
    1798 
    1799 LATEX_TIMESTAMP        = NO
    1800 
    18011738#---------------------------------------------------------------------------
    18021739# Configuration options related to the RTF output
    18031740#---------------------------------------------------------------------------
    18041741
    1805 # If the GENERATE_RTF tag is set to YES, doxygen will generate RTF output. The
     1742# If the GENERATE_RTF tag is set to YES doxygen will generate RTF output. The
    18061743# RTF output is optimized for Word 97 and may not look too pretty with other RTF
    18071744# readers/editors.
     
    18181755RTF_OUTPUT             = rtf
    18191756
    1820 # If the COMPACT_RTF tag is set to YES, doxygen generates more compact RTF
     1757# If the COMPACT_RTF tag is set to YES doxygen generates more compact RTF
    18211758# documents. This may be useful for small projects and may help to save some
    18221759# trees in general.
     
    18551792RTF_EXTENSIONS_FILE    =
    18561793
    1857 # If the RTF_SOURCE_CODE tag is set to YES then doxygen will include source code
    1858 # with syntax highlighting in the RTF output.
    1859 #
    1860 # Note that which sources are shown also depends on other settings such as
    1861 # SOURCE_BROWSER.
    1862 # The default value is: NO.
    1863 # This tag requires that the tag GENERATE_RTF is set to YES.
    1864 
    1865 RTF_SOURCE_CODE        = NO
    1866 
    18671794#---------------------------------------------------------------------------
    18681795# Configuration options related to the man page output
    18691796#---------------------------------------------------------------------------
    18701797
    1871 # If the GENERATE_MAN tag is set to YES, doxygen will generate man pages for
     1798# If the GENERATE_MAN tag is set to YES doxygen will generate man pages for
    18721799# classes and files.
    18731800# The default value is: NO.
     
    19131840#---------------------------------------------------------------------------
    19141841
    1915 # If the GENERATE_XML tag is set to YES, doxygen will generate an XML file that
     1842# If the GENERATE_XML tag is set to YES doxygen will generate an XML file that
    19161843# captures the structure of the code including all documentation.
    19171844# The default value is: NO.
     
    19271854XML_OUTPUT             = xml
    19281855
    1929 # If the XML_PROGRAMLISTING tag is set to YES, doxygen will dump the program
     1856# If the XML_PROGRAMLISTING tag is set to YES doxygen will dump the program
    19301857# listings (including syntax highlighting and cross-referencing information) to
    19311858# the XML output. Note that enabling this will significantly increase the size
     
    19401867#---------------------------------------------------------------------------
    19411868
    1942 # If the GENERATE_DOCBOOK tag is set to YES, doxygen will generate Docbook files
     1869# If the GENERATE_DOCBOOK tag is set to YES doxygen will generate Docbook files
    19431870# that can be used to generate PDF.
    19441871# The default value is: NO.
     
    19541881DOCBOOK_OUTPUT         = docbook
    19551882
    1956 # If the DOCBOOK_PROGRAMLISTING tag is set to YES, doxygen will include the
     1883# If the DOCBOOK_PROGRAMLISTING tag is set to YES doxygen will include the
    19571884# program listings (including syntax highlighting and cross-referencing
    19581885# information) to the DOCBOOK output. Note that enabling this will significantly
     
    19671894#---------------------------------------------------------------------------
    19681895
    1969 # If the GENERATE_AUTOGEN_DEF tag is set to YES, doxygen will generate an
    1970 # AutoGen Definitions (see http://autogen.sf.net) file that captures the
    1971 # structure of the code including all documentation. Note that this feature is
    1972 # still experimental and incomplete at the moment.
     1896# If the GENERATE_AUTOGEN_DEF tag is set to YES doxygen will generate an AutoGen
     1897# Definitions (see http://autogen.sf.net) file that captures the structure of
     1898# the code including all documentation. Note that this feature is still
     1899# experimental and incomplete at the moment.
    19731900# The default value is: NO.
    19741901
     
    19791906#---------------------------------------------------------------------------
    19801907
    1981 # If the GENERATE_PERLMOD tag is set to YES, doxygen will generate a Perl module
     1908# If the GENERATE_PERLMOD tag is set to YES doxygen will generate a Perl module
    19821909# file that captures the structure of the code including all documentation.
    19831910#
     
    19871914GENERATE_PERLMOD       = NO
    19881915
    1989 # If the PERLMOD_LATEX tag is set to YES, doxygen will generate the necessary
     1916# If the PERLMOD_LATEX tag is set to YES doxygen will generate the necessary
    19901917# Makefile rules, Perl scripts and LaTeX code to be able to generate PDF and DVI
    19911918# output from the Perl module output.
     
    19951922PERLMOD_LATEX          = NO
    19961923
    1997 # If the PERLMOD_PRETTY tag is set to YES, the Perl module output will be nicely
     1924# If the PERLMOD_PRETTY tag is set to YES the Perl module output will be nicely
    19981925# formatted so it can be parsed by a human reader. This is useful if you want to
    1999 # understand what is going on. On the other hand, if this tag is set to NO, the
     1926# understand what is going on. On the other hand, if this tag is set to NO the
    20001927# size of the Perl module output will be much smaller and Perl will parse it
    20011928# just the same.
     
    20171944#---------------------------------------------------------------------------
    20181945
    2019 # If the ENABLE_PREPROCESSING tag is set to YES, doxygen will evaluate all
     1946# If the ENABLE_PREPROCESSING tag is set to YES doxygen will evaluate all
    20201947# C-preprocessor directives found in the sources and include files.
    20211948# The default value is: YES.
     
    20231950ENABLE_PREPROCESSING   = YES
    20241951
    2025 # If the MACRO_EXPANSION tag is set to YES, doxygen will expand all macro names
    2026 # in the source code. If set to NO, only conditional compilation will be
     1952# If the MACRO_EXPANSION tag is set to YES doxygen will expand all macro names
     1953# in the source code. If set to NO only conditional compilation will be
    20271954# performed. Macro expansion can be done in a controlled way by setting
    20281955# EXPAND_ONLY_PREDEF to YES.
     
    20401967EXPAND_ONLY_PREDEF     = NO
    20411968
    2042 # If the SEARCH_INCLUDES tag is set to YES, the include files in the
     1969# If the SEARCH_INCLUDES tag is set to YES the includes files in the
    20431970# INCLUDE_PATH will be searched if a #include is found.
    20441971# The default value is: YES.
     
    21162043GENERATE_TAGFILE       =
    21172044
    2118 # If the ALLEXTERNALS tag is set to YES, all external class will be listed in
    2119 # the class index. If set to NO, only the inherited external classes will be
     2045# If the ALLEXTERNALS tag is set to YES all external class will be listed in the
     2046# class index. If set to NO only the inherited external classes will be listed.
     2047# The default value is: NO.
     2048
     2049ALLEXTERNALS           = NO
     2050
     2051# If the EXTERNAL_GROUPS tag is set to YES all external groups will be listed in
     2052# the modules index. If set to NO, only the current project's groups will be
    21202053# listed.
    2121 # The default value is: NO.
    2122 
    2123 ALLEXTERNALS           = NO
    2124 
    2125 # If the EXTERNAL_GROUPS tag is set to YES, all external groups will be listed
    2126 # in the modules index. If set to NO, only the current project's groups will be
    2127 # listed.
    21282054# The default value is: YES.
    21292055
    21302056EXTERNAL_GROUPS        = YES
    21312057
    2132 # If the EXTERNAL_PAGES tag is set to YES, all external pages will be listed in
     2058# If the EXTERNAL_PAGES tag is set to YES all external pages will be listed in
    21332059# the related pages index. If set to NO, only the current project's pages will
    21342060# be listed.
     
    21472073#---------------------------------------------------------------------------
    21482074
    2149 # If the CLASS_DIAGRAMS tag is set to YES, doxygen will generate a class diagram
     2075# If the CLASS_DIAGRAMS tag is set to YES doxygen will generate a class diagram
    21502076# (in HTML and LaTeX) for classes with base or super classes. Setting the tag to
    21512077# NO turns the diagrams off. Note that this option also works with HAVE_DOT
     
    21722098DIA_PATH               =
    21732099
    2174 # If set to YES the inheritance and collaboration graphs will hide inheritance
     2100# If set to YES, the inheritance and collaboration graphs will hide inheritance
    21752101# and usage relations if the target is undocumented or is not a class.
    21762102# The default value is: YES.
     
    22452171GROUP_GRAPHS           = YES
    22462172
    2247 # If the UML_LOOK tag is set to YES, doxygen will generate inheritance and
     2173# If the UML_LOOK tag is set to YES doxygen will generate inheritance and
    22482174# collaboration diagrams in a style similar to the OMG's Unified Modeling
    22492175# Language.
     
    22972223# Note that enabling this option will significantly increase the time of a run.
    22982224# So in most cases it will be better to enable call graphs for selected
    2299 # functions only using the \callgraph command. Disabling a call graph can be
    2300 # accomplished by means of the command \hidecallgraph.
     2225# functions only using the \callgraph command.
    23012226# The default value is: NO.
    23022227# This tag requires that the tag HAVE_DOT is set to YES.
     
    23092234# Note that enabling this option will significantly increase the time of a run.
    23102235# So in most cases it will be better to enable caller graphs for selected
    2311 # functions only using the \callergraph command. Disabling a caller graph can be
    2312 # accomplished by means of the command \hidecallergraph.
     2236# functions only using the \callergraph command.
    23132237# The default value is: NO.
    23142238# This tag requires that the tag HAVE_DOT is set to YES.
     
    23332257
    23342258# The DOT_IMAGE_FORMAT tag can be used to set the image format of the images
    2335 # generated by dot. For an explanation of the image formats see the section
    2336 # output formats in the documentation of the dot tool (Graphviz (see:
    2337 # http://www.graphviz.org/)).
     2259# generated by dot.
    23382260# Note: If you choose svg you need to set HTML_FILE_EXTENSION to xhtml in order
    23392261# to make the SVG files visible in IE 9+ (other browsers do not have this
     
    23412263# Possible values are: png, png:cairo, png:cairo:cairo, png:cairo:gd, png:gd,
    23422264# png:gd:gd, jpg, jpg:cairo, jpg:cairo:gd, jpg:gd, jpg:gd:gd, gif, gif:cairo,
    2343 # gif:cairo:gd, gif:gd, gif:gd:gd, svg, png:gd, png:gd:gd, png:cairo,
    2344 # png:cairo:gd, png:cairo:cairo, png:cairo:gdiplus, png:gdiplus and
    2345 # png:gdiplus:gdiplus.
     2265# gif:cairo:gd, gif:gd, gif:gd:gd and svg.
    23462266# The default value is: png.
    23472267# This tag requires that the tag HAVE_DOT is set to YES.
     
    23912311# generate a warning when it encounters a \startuml command in this case and
    23922312# will not generate output for the diagram.
     2313# This tag requires that the tag HAVE_DOT is set to YES.
    23932314
    23942315PLANTUML_JAR_PATH      =
    2395 
    2396 # When using plantuml, the PLANTUML_CFG_FILE tag can be used to specify a
    2397 # configuration file for plantuml.
    2398 
    2399 PLANTUML_CFG_FILE      =
    2400 
    2401 # When using plantuml, the specified paths are searched for files specified by
    2402 # the !include statement in a plantuml block.
    2403 
    2404 PLANTUML_INCLUDE_PATH  =
    24052316
    24062317# The DOT_GRAPH_MAX_NODES tag can be used to set the maximum number of nodes
     
    24402351DOT_TRANSPARENT        = NO
    24412352
    2442 # Set the DOT_MULTI_TARGETS tag to YES to allow dot to generate multiple output
     2353# Set the DOT_MULTI_TARGETS tag to YES allow dot to generate multiple output
    24432354# files in one run (i.e. multiple -o and -T options on the command line). This
    24442355# makes dot run faster, but since only newer versions of dot (>1.8.10) support
     
    24572368GENERATE_LEGEND        = YES
    24582369
    2459 # If the DOT_CLEANUP tag is set to YES, doxygen will remove the intermediate dot
     2370# If the DOT_CLEANUP tag is set to YES doxygen will remove the intermediate dot
    24602371# files that are used to generate the various graphs.
    24612372# The default value is: YES.
  • python/lib/aubio/cmd.py

    r9fa0ed1 r482641d  
    188188        return samples2samples
    189189    else:
    190         raise ValueError("invalid time format '%s'" % mode)
     190        raise ValueError('invalid time format %s' % mode)
    191191
    192192# definition of processing classes
  • python/lib/gen_external.py

    r9fa0ed1 r482641d  
    11import distutils.ccompiler
    2 import sys
    3 import os
    4 import subprocess
    5 import glob
     2import sys, os, subprocess, glob
    63
    74header = os.path.join('src', 'aubio.h')
     
    129"""
    1310
    14 default_skip_objects = [
    15     # already in ext/
    16     'fft',
    17     'pvoc',
    18     'filter',
    19     'filterbank',
    20     # AUBIO_UNSTABLE
    21     'hist',
    22     'parameter',
    23     'scale',
    24     'beattracking',
    25     'resampler',
    26     'peakpicker',
    27     'pitchfcomb',
    28     'pitchmcomb',
    29     'pitchschmitt',
    30     'pitchspecacf',
    31     'pitchyin',
    32     'pitchyinfft',
    33     'pitchyinfast',
    34     'sink',
    35     'sink_apple_audio',
    36     'sink_sndfile',
    37     'sink_wavwrite',
    38     #'mfcc',
    39     'source',
    40     'source_apple_audio',
    41     'source_sndfile',
    42     'source_avcodec',
    43     'source_wavread',
    44     #'sampler',
    45     'audio_unit',
    46     'spectral_whitening',
    47 ]
    48 
     11skip_objects = [
     12  # already in ext/
     13  'fft',
     14  'pvoc',
     15  'filter',
     16  'filterbank',
     17  # AUBIO_UNSTABLE
     18  'hist',
     19  'parameter',
     20  'scale',
     21  'beattracking',
     22  'resampler',
     23  'peakpicker',
     24  'pitchfcomb',
     25  'pitchmcomb',
     26  'pitchschmitt',
     27  'pitchspecacf',
     28  'pitchyin',
     29  'pitchyinfft',
     30  'pitchyinfast',
     31  'sink',
     32  'sink_apple_audio',
     33  'sink_sndfile',
     34  'sink_wavwrite',
     35  #'mfcc',
     36  'source',
     37  'source_apple_audio',
     38  'source_sndfile',
     39  'source_avcodec',
     40  'source_wavread',
     41  #'sampler',
     42  'audio_unit',
     43  'spectral_whitening',
     44  ]
    4945
    5046def get_preprocessor():
     
    6561
    6662    cpp_cmd = None
    67     if hasattr(compiler, 'preprocessor'):  # for unixccompiler
     63    if hasattr(compiler, 'preprocessor'): # for unixccompiler
    6864        cpp_cmd = compiler.preprocessor
    69     elif hasattr(compiler, 'compiler'):  # for ccompiler
     65    elif hasattr(compiler, 'compiler'): # for ccompiler
    7066        cpp_cmd = compiler.compiler.split()
    7167        cpp_cmd += ['-E']
    72     elif hasattr(compiler, 'cc'):  # for msvccompiler
     68    elif hasattr(compiler, 'cc'): # for msvccompiler
    7369        cpp_cmd = compiler.cc.split()
    7470        cpp_cmd += ['-E']
     
    7874        cpp_cmd = os.environ.get('CC', 'cc').split()
    7975        cpp_cmd += ['-E']
    80     cpp_cmd += ['-x', 'c']  # force C language (emcc defaults to c++)
     76
    8177    return cpp_cmd
    8278
    83 
    84 def get_c_declarations(header=header, usedouble=False):
    85     ''' return a dense and preprocessed  string of all c declarations implied by aubio.h
    86     '''
     79def get_cpp_objects(header=header, usedouble=False):
    8780    cpp_cmd = get_preprocessor()
    8881
     
    10093    print("Running command: {:s}".format(" ".join(cpp_cmd)))
    10194    proc = subprocess.Popen(cpp_cmd,
    102                             stderr=subprocess.PIPE,
    103                             stdout=subprocess.PIPE)
     95            stderr=subprocess.PIPE,
     96            stdout=subprocess.PIPE)
    10497    assert proc, 'Proc was none'
    10598    cpp_output = proc.stdout.read()
     
    108101        raise Exception("preprocessor output is empty:\n%s" % err_output)
    109102    elif err_output:
    110         print("Warning: preprocessor produced warnings:\n%s" % err_output)
     103        print ("Warning: preprocessor produced warnings:\n%s" % err_output)
    111104    if not isinstance(cpp_output, list):
    112105        cpp_output = [l.strip() for l in cpp_output.decode('utf8').split('\n')]
     
    117110    i = 1
    118111    while 1:
    119         if i >= len(cpp_output):
    120             break
    121         if ('{' in cpp_output[i - 1]) and (not '}' in cpp_output[i - 1]) or (not ';' in cpp_output[i - 1]):
    122             cpp_output[i] = cpp_output[i - 1] + ' ' + cpp_output[i]
    123             cpp_output.pop(i - 1)
    124         elif ('}' in cpp_output[i]):
    125             cpp_output[i] = cpp_output[i - 1] + ' ' + cpp_output[i]
    126             cpp_output.pop(i - 1)
     112        if i >= len(cpp_output): break
     113        if cpp_output[i-1].endswith(',') or cpp_output[i-1].endswith('{') or cpp_output[i].startswith('}'):
     114            cpp_output[i] = cpp_output[i-1] + ' ' + cpp_output[i]
     115            cpp_output.pop(i-1)
    127116        else:
    128117            i += 1
    129118
    130     # clean pointer notations
    131     tmp = []
    132     for l in cpp_output:
    133         tmp += [l.replace(' *', ' * ')]
    134     cpp_output = tmp
    135 
    136     return cpp_output
    137 
    138 
    139 def get_cpp_objects_from_c_declarations(c_declarations, skip_objects=None):
    140     if skip_objects == None:
    141         skip_objects = default_skip_objects
    142     typedefs = filter(lambda y: y.startswith('typedef struct _aubio'), c_declarations)
     119    typedefs = filter(lambda y: y.startswith ('typedef struct _aubio'), cpp_output)
     120
    143121    cpp_objects = [a.split()[3][:-1] for a in typedefs]
    144     cpp_objects_filtered = filter(lambda y: not y[6:-2] in skip_objects, cpp_objects)
    145     return cpp_objects_filtered
    146 
    147 
    148 def get_all_func_names_from_lib(lib, depth=0):
    149     ''' return flat string of all function used in lib
    150     '''
    151     res = []
    152     indent = " " * depth
    153     for k, v in lib.items():
    154         if isinstance(v, dict):
    155             res += get_all_func_names_from_lib(v, depth + 1)
    156         elif isinstance(v, list):
    157             for elem in v:
    158                 e = elem.split('(')
    159                 if len(e) < 2:
    160                     continue  # not a function
    161                 fname_part = e[0].strip().split(' ')
    162                 fname = fname_part[-1]
    163                 if fname:
    164                     res += [fname]
    165                 else:
    166                     raise NameError('gen_lib : weird function: ' + str(e))
    167 
    168     return res
    169 
    170 
    171 def generate_lib_from_c_declarations(cpp_objects, c_declarations):
    172     ''' returns a lib from given cpp_object names
    173 
    174     a lib is a dict grouping functions by family (onset,pitch...)
    175         each eement is itself a dict of functions grouped by puposes as :
    176         struct, new, del, do, get, set and other
    177     '''
     122
     123    return cpp_output, cpp_objects
     124
     125
     126def analyze_cpp_output(cpp_objects, cpp_output):
    178127    lib = {}
    179128
    180129    for o in cpp_objects:
    181         shortname = o
    182         if o[:6] == 'aubio_':
    183             shortname = o[6:-2]  # without aubio_ prefix and _t suffix
    184 
     130        if o[:6] != 'aubio_':
     131            continue
     132        shortname = o[6:-2]
     133        if shortname in skip_objects:
     134            continue
    185135        lib[shortname] = {'struct': [], 'new': [], 'del': [], 'do': [], 'get': [], 'set': [], 'other': []}
    186136        lib[shortname]['longname'] = o
    187137        lib[shortname]['shortname'] = shortname
    188 
    189         fullshortname = o[:-2]  # name without _t suffix
    190 
    191         for fn in c_declarations:
    192             func_name = fn.split('(')[0].strip().split(' ')[-1]
    193             if func_name.startswith(fullshortname + '_') or func_name.endswith(fullshortname):
    194                 # print "found", shortname, "in", fn
     138        for fn in cpp_output:
     139            if o[:-1] in fn:
     140                #print "found", o[:-1], "in", fn
    195141                if 'typedef struct ' in fn:
    196142                    lib[shortname]['struct'].append(fn)
     
    206152                    lib[shortname]['set'].append(fn)
    207153                else:
    208                     # print "no idea what to do about", fn
     154                    #print "no idea what to do about", fn
    209155                    lib[shortname]['other'].append(fn)
    210156    return lib
    211157
    212 
    213 def print_c_declarations_results(lib, c_declarations):
    214     for fn in c_declarations:
     158def print_cpp_output_results(lib, cpp_output):
     159    for fn in cpp_output:
    215160        found = 0
    216161        for o in lib:
     
    219164                    found = 1
    220165        if found == 0:
    221             print("missing", fn)
     166            print ("missing", fn)
    222167
    223168    for o in lib:
    224169        for family in lib[o]:
    225170            if type(lib[o][family]) == str:
    226                 print("{:15s} {:10s} {:s}".format(o, family, lib[o][family]))
     171                print ( "{:15s} {:10s} {:s}".format(o, family, lib[o][family] ) )
    227172            elif len(lib[o][family]) == 1:
    228                 print("{:15s} {:10s} {:s}".format(o, family, lib[o][family][0]))
     173                print ( "{:15s} {:10s} {:s}".format(o, family, lib[o][family][0] ) )
    229174            else:
    230                 print("{:15s} {:10s} {:s}".format(o, family, lib[o][family]))
     175                print ( "{:15s} {:10s} {:s}".format(o, family, lib[o][family] ) )
    231176
    232177
    233178def generate_external(header=header, output_path=output_path, usedouble=False, overwrite=True):
    234     if not os.path.isdir(output_path):
    235         os.mkdir(output_path)
    236     elif not overwrite:
    237         return sorted(glob.glob(os.path.join(output_path, '*.c')))
    238 
    239     c_declarations = get_c_declarations(header, usedouble=usedouble)
    240     cpp_objects = get_cpp_objects_from_c_declarations(c_declarations)
    241 
    242     lib = generate_lib_from_c_declarations(cpp_objects, c_declarations)
    243     # print_c_declarations_results(lib, c_declarations)
     179    if not os.path.isdir(output_path): os.mkdir(output_path)
     180    elif not overwrite: return sorted(glob.glob(os.path.join(output_path, '*.c')))
     181
     182    cpp_output, cpp_objects = get_cpp_objects(header, usedouble=usedouble)
     183
     184    lib = analyze_cpp_output(cpp_objects, cpp_output)
     185    # print_cpp_output_results(lib, cpp_output)
    244186
    245187    sources_list = []
     
    250192    for o in lib:
    251193        out = source_header
    252         mapped = MappedObject(lib[o], usedouble=usedouble)
     194        mapped = MappedObject(lib[o], usedouble = usedouble)
    253195        out += mapped.gen_code()
    254196        output_file = os.path.join(output_path, 'gen-%s.c' % o)
    255197        with open(output_file, 'w') as f:
    256198            f.write(out)
    257             print("wrote %s" % output_file)
     199            print ("wrote %s" % output_file )
    258200            sources_list.append(output_file)
    259201
     
    267209  return ({pycheck_types});
    268210}}
    269 """.format(pycheck_types=check_types)
     211""".format(pycheck_types = check_types)
    270212
    271213    add_types = "".join(["""
    272214  Py_INCREF (&Py_{name}Type);
    273   PyModule_AddObject(m, "{name}", (PyObject *) & Py_{name}Type);""".format(name=o) for o in lib])
     215  PyModule_AddObject(m, "{name}", (PyObject *) & Py_{name}Type);""".format(name = o) for o in lib])
    274216    out += """
    275217
     
    278220{add_types}
    279221}}
    280 """.format(add_types=add_types)
     222""".format(add_types = add_types)
    281223
    282224    output_file = os.path.join(output_path, 'aubio-generated.c')
    283225    with open(output_file, 'w') as f:
    284226        f.write(out)
    285         print("wrote %s" % output_file)
     227        print ("wrote %s" % output_file )
    286228        sources_list.append(output_file)
    287229
     
    301243int generated_objects ( void );
    302244void add_generated_objects( PyObject *m );
    303 """.format(objlist=objlist)
     245""".format(objlist = objlist)
    304246
    305247    output_file = os.path.join(output_path, 'aubio-generated.h')
    306248    with open(output_file, 'w') as f:
    307249        f.write(out)
    308         print("wrote %s" % output_file)
     250        print ("wrote %s" % output_file )
    309251        # no need to add header to list of sources
    310252
     
    312254
    313255if __name__ == '__main__':
    314     if len(sys.argv) > 1:
    315         header = sys.argv[1]
    316     if len(sys.argv) > 2:
    317         output_path = sys.argv[2]
     256    if len(sys.argv) > 1: header = sys.argv[1]
     257    if len(sys.argv) > 2: output_path = sys.argv[2]
    318258    generate_external(header, output_path)
  • scripts/get_waf.sh

    r9fa0ed1 r482641d  
    44set -x
    55
    6 WAFURL=https://waf.io/waf-1.9.12
     6WAFURL=https://waf.io/waf-1.9.6
    77
    88( which wget > /dev/null && wget -qO waf $WAFURL ) || ( which curl > /dev/null && curl $WAFURL > waf )
  • scripts/setenv_local.sh

    r9fa0ed1 r482641d  
    11#! /usr/bin/env bash
    22
    3 # This script sets the LD_LIBRARY_PATH environment variable to ./build/src to
    4 # execute aubio binaries without installing libaubio.
    5 #
    6 # Usage: $ source scripts/setenv_local.sh
    7 #
    8 # Note: on macOs, the variable is DYLD_LIBRARY_PATH
     3# This script sets the environment to execute aubio binaries and python code
     4# directly from build/ python/build/ without installing libaubio on the system
     5
     6# Usage: $ source ./scripts/setenv_local.sh
     7
     8# WARNING: this script will *overwrite* existing (DY)LD_LIBRARY_PATH and
     9# PYTHONPATH variables.
     10
     11PYTHON_PLATFORM=`python -c "import pkg_resources, sys; print ('%s-%s' % (pkg_resources.get_build_platform(), '.'.join(map(str, sys.version_info[0:2]))))"`
    912
    1013AUBIODIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )/.." && pwd )"
     14AUBIOLIB=$AUBIODIR/build/src
     15AUBIOPYTHON=$AUBIODIR/build/lib.$PYTHON_PLATFORM
    1116
    12 AUBIOLIB=$AUBIODIR/build/src
     17if [ "$(dirname $PWD)" == "scripts" ]; then
     18  AUBIODIR=$(basename $PWD)
     19else
     20  AUBIODIR=$(basename $PWD)
     21fi
    1322
    1423if [ "$(uname)" == "Darwin" ]; then
     
    1928  echo export LD_LIBRARY_PATH=$LD_LIBRARY_PATH
    2029fi
     30
     31export PYTHONPATH=$AUBIOPYTHON
     32echo export PYTHONPATH=$PYTHONPATH
  • src/wscript_build

    r9fa0ed1 r482641d  
    2727    build_features = ['cstlib', 'cshlib']
    2828elif ctx.env['DEST_OS'] in ['emscripten']:
    29     build_features = ['cstlib','cshlib']
     29    build_features = ['cstlib']
    3030elif '--static' in ctx.env['LDFLAGS'] or '--static' in ctx.env['LINKFLAGS']:
    3131    # static in cflags, ...
  • wscript

    r9fa0ed1 r482641d  
    108108    ctx.load('gnu_dirs')
    109109
    110     target_platform = sys.platform
    111     if ctx.options.target_platform:
    112         target_platform = ctx.options.target_platform
    113 
    114 
    115     if target_platform=='emscripten':
    116         # need to force spaces between flag -o and path
    117         # inspired from :
    118         # https://github.com/waf-project/waf/blob/master/waflib/extras/c_emscripten.py (#1885)
    119         # (OSX /emscripten 1.37.9)
    120         ctx.env.CC_TGT_F            = ['-c', '-o', '']
    121         ctx.env.CCLNK_TGT_F         = ['-o', '']
    122110    # check for common headers
    123111    ctx.check(header_name='stdlib.h')
     
    130118    ctx.check(header_name='unistd.h', mandatory = False)
    131119
     120    target_platform = sys.platform
     121    if ctx.options.target_platform:
     122        target_platform = ctx.options.target_platform
    132123    ctx.env['DEST_OS'] = target_platform
    133124
     
    142133            ctx.env.prepend_value('CFLAGS', ['-O0'])
    143134        else:
    144             if target_platform == 'emscripten':
    145                 # -Oz for small js file generation
    146                 ctx.env.prepend_value('CFLAGS', ['-Oz'])
    147             else:
    148                 # default to -O2 in release mode
    149                 ctx.env.prepend_value('CFLAGS', ['-O2'])
     135            # default to -O2 in release mode
     136            ctx.env.prepend_value('CFLAGS', ['-O2'])
    150137        # enable debug symbols and configure warnings
    151138        ctx.env.prepend_value('CFLAGS', ['-g', '-Wall', '-Wextra'])
     
    229216        import os.path
    230217        ctx.env.CFLAGS += [ '-I' + os.path.join(os.environ['EMSCRIPTEN'], 'system', 'include') ]
    231        
    232         if ctx.options.build_type == "debug":
    233             ctx.env.cshlib_PATTERN = '%s.js'
    234             ctx.env.LINKFLAGS += ['-s','ASSERTIONS=2']
    235             ctx.env.LINKFLAGS += ['-s','SAFE_HEAP=1']
    236             ctx.env.LINKFLAGS += ['-s','ALIASING_FUNCTION_POINTERS=0']
    237             ctx.env.LINKFLAGS += ['-O0']
    238         else:
    239             ctx.env.LINKFLAGS += ['-Oz']
    240             ctx.env.cshlib_PATTERN = '%s.min.js'
    241 
    242         # doesnt ship file system support in lib
    243         ctx.env.LINKFLAGS_cshlib += ['-s', 'NO_FILESYSTEM=1']
    244         # put memory file inside generated js files for easier portability
    245         ctx.env.LINKFLAGS += ['--memory-init-file', '0']
     218        ctx.env.CFLAGS += ['-Oz']
    246219        ctx.env.cprogram_PATTERN = "%s.js"
    247         ctx.env.cstlib_PATTERN = '%s.a'
    248 
    249         # tell emscripten functions we want to expose
    250         from python.lib.gen_external import get_c_declarations, get_cpp_objects_from_c_declarations, get_all_func_names_from_lib, generate_lib_from_c_declarations
    251         c_decls = get_c_declarations(usedouble=False)  # emscripten can't use double
    252         objects = get_cpp_objects_from_c_declarations(c_decls)
    253         # ensure that aubio structs are exported
    254         objects += ['fvec_t', 'cvec_t', 'fmat_t']
    255         lib = generate_lib_from_c_declarations(objects, c_decls)
    256         exported_funcnames = get_all_func_names_from_lib(lib)
    257         c_mangled_names = ['_' + s for s in exported_funcnames]
    258         ctx.env.LINKFLAGS_cshlib += ['-s', 'EXPORTED_FUNCTIONS=%s' % c_mangled_names]
    259 
    260     if (ctx.options.enable_atlas != True):
    261         ctx.options.enable_atlas = False
     220        if (ctx.options.enable_atlas != True):
     221            ctx.options.enable_atlas = False
    262222
    263223    # check support for C99 __VA_ARGS__ macros
Note: See TracChangeset for help on using the changeset viewer.