From 7d1de7afd08b0dddb987941c3d92a1d5cc866312 Mon Sep 17 00:00:00 2001 From: CryptoManiac Date: Mon, 20 Dec 2021 22:26:15 +0300 Subject: [PATCH 1/1] Move obsolete docs away --- doc/Doxyfile | 1752 -------------------- doc/build-msw.txt | 72 - doc/build-osx.txt | 56 - doc/build-unix.txt | 137 -- ...lding novacoin-qt for android under Windows.txt | 274 --- ...ilding novacoind and novacoinqt under Linux.txt | 51 - ...oind and novacoinqt under Windows with MSVC.txt | 125 -- ...ind and novacoinqt under Windows with MinGW.txt | 460 ----- doc/coding.txt | 99 -- ...ompiling_building Windows binary under Unix.txt | 309 ---- doc/novacoin_logo_doxygen.png | Bin 6328 -> 0 bytes doc/obsolete/Doxyfile | 1752 ++++++++++++++++++++ doc/obsolete/build-msw.txt | 72 + doc/obsolete/build-osx.txt | 56 + doc/obsolete/build-unix.txt | 137 ++ ...lding novacoin-qt for android under Windows.txt | 274 +++ ...ilding novacoind and novacoinqt under Linux.txt | 51 + ...oind and novacoinqt under Windows with MSVC.txt | 125 ++ ...ind and novacoinqt under Windows with MinGW.txt | 460 +++++ doc/obsolete/coding.txt | 99 ++ ...ompiling_building Windows binary under Unix.txt | 309 ++++ doc/obsolete/novacoin_logo_doxygen.png | Bin 0 -> 6328 bytes doc/obsolete/readme-qt.rst | 185 ++ doc/readme-qt.rst | 185 -- 24 files changed, 3520 insertions(+), 3520 deletions(-) delete mode 100644 doc/Doxyfile delete mode 100644 doc/build-msw.txt delete mode 100644 doc/build-osx.txt delete mode 100644 doc/build-unix.txt delete mode 100644 doc/building novacoin-qt for android under Windows.txt delete mode 100644 doc/building novacoind and novacoinqt under Linux.txt delete mode 100644 doc/building novacoind and novacoinqt under Windows with MSVC.txt delete mode 100644 doc/building novacoind and novacoinqt under Windows with MinGW.txt delete mode 100644 doc/coding.txt delete mode 100644 doc/crosscompiling_building Windows binary under Unix.txt delete mode 100644 doc/novacoin_logo_doxygen.png create mode 100644 doc/obsolete/Doxyfile create mode 100644 doc/obsolete/build-msw.txt create mode 100644 doc/obsolete/build-osx.txt create mode 100644 doc/obsolete/build-unix.txt create mode 100644 doc/obsolete/building novacoin-qt for android under Windows.txt create mode 100644 doc/obsolete/building novacoind and novacoinqt under Linux.txt create mode 100644 doc/obsolete/building novacoind and novacoinqt under Windows with MSVC.txt create mode 100644 doc/obsolete/building novacoind and novacoinqt under Windows with MinGW.txt create mode 100644 doc/obsolete/coding.txt create mode 100644 doc/obsolete/crosscompiling_building Windows binary under Unix.txt create mode 100644 doc/obsolete/novacoin_logo_doxygen.png create mode 100644 doc/obsolete/readme-qt.rst delete mode 100644 doc/readme-qt.rst diff --git a/doc/Doxyfile b/doc/Doxyfile deleted file mode 100644 index fe9f544..0000000 --- a/doc/Doxyfile +++ /dev/null @@ -1,1752 +0,0 @@ -# Doxyfile 1.7.4 - -# !!! Invoke doxygen from project root using: -# doxygen doc/Doxyfile - -# This file describes the settings to be used by the documentation system -# doxygen (www.doxygen.org) for a project -# -# All text after a hash (#) is considered a comment and will be ignored -# The format is: -# TAG = value [value, ...] -# For lists items can also be appended using: -# TAG += value [value, ...] -# Values that contain spaces should be placed between quotes (" ") - -#--------------------------------------------------------------------------- -# Project related configuration options -#--------------------------------------------------------------------------- - -# This tag specifies the encoding used for all characters in the config file -# that follow. The default is UTF-8 which is also the encoding used for all -# text before the first occurrence of this tag. Doxygen uses libiconv (or the -# iconv built into libc) for the transcoding. See -# http://www.gnu.org/software/libiconv for the list of possible encodings. - -DOXYFILE_ENCODING = UTF-8 - -# The PROJECT_NAME tag is a single word (or a sequence of words surrounded -# by quotes) that should identify the project. - -PROJECT_NAME = Novacoin - -# The PROJECT_NUMBER tag can be used to enter a project or revision number. -# This could be handy for archiving the generated documentation or -# if some version control system is used. - -PROJECT_NUMBER = 0.5.0 - -# Using the PROJECT_BRIEF tag one can provide an optional one line description -# for a project that appears at the top of each page and should give viewer -# a quick idea about the purpose of the project. Keep the description short. - -PROJECT_BRIEF = "P2P Digital Currency" - -# With the PROJECT_LOGO tag one can specify an logo or icon that is -# included in the documentation. The maximum height of the logo should not -# exceed 55 pixels and the maximum width should not exceed 200 pixels. -# Doxygen will copy the logo to the output directory. - -PROJECT_LOGO = doc/novacoin_logo_doxygen.png - -# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) -# base path where the generated documentation will be put. -# If a relative path is entered, it will be relative to the location -# where doxygen was started. If left blank the current directory will be used. - -OUTPUT_DIRECTORY = doc/doxygen - -# If the CREATE_SUBDIRS tag is set to YES, then doxygen will create -# 4096 sub-directories (in 2 levels) under the output directory of each output -# format and will distribute the generated files over these directories. -# Enabling this option can be useful when feeding doxygen a huge amount of -# source files, where putting all generated files in the same directory would -# otherwise cause performance problems for the file system. - -CREATE_SUBDIRS = NO - -# The OUTPUT_LANGUAGE tag is used to specify the language in which all -# documentation generated by doxygen is written. Doxygen will use this -# information to generate all constant output in the proper language. -# The default language is English, other supported languages are: -# Afrikaans, Arabic, Brazilian, Catalan, Chinese, Chinese-Traditional, -# Croatian, Czech, Danish, Dutch, Esperanto, Farsi, Finnish, French, German, -# Greek, Hungarian, Italian, Japanese, Japanese-en (Japanese with English -# messages), Korean, Korean-en, Lithuanian, Norwegian, Macedonian, Persian, -# Polish, Portuguese, Romanian, Russian, Serbian, Serbian-Cyrillic, Slovak, -# Slovene, Spanish, Swedish, Ukrainian, and Vietnamese. - -OUTPUT_LANGUAGE = English - -# If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will -# include brief member descriptions after the members that are listed in -# the file and class documentation (similar to JavaDoc). -# Set to NO to disable this. - -BRIEF_MEMBER_DESC = YES - -# If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend -# the brief description of a member or function before the detailed description. -# Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the -# brief descriptions will be completely suppressed. - -REPEAT_BRIEF = YES - -# This tag implements a quasi-intelligent brief description abbreviator -# that is used to form the text in various listings. Each string -# in this list, if found as the leading text of the brief description, will be -# stripped from the text and the result after processing the whole list, is -# used as the annotated text. Otherwise, the brief description is used as-is. -# If left blank, the following values are used ("$name" is automatically -# replaced with the name of the entity): "The $name class" "The $name widget" -# "The $name file" "is" "provides" "specifies" "contains" -# "represents" "a" "an" "the" - -ABBREVIATE_BRIEF = "The $name class" \ - "The $name widget" \ - "The $name file" \ - is \ - provides \ - specifies \ - contains \ - represents \ - a \ - an \ - the - -# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then -# Doxygen will generate a detailed section even if there is only a brief -# description. - -ALWAYS_DETAILED_SEC = NO - -# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all -# inherited members of a class in the documentation of that class as if those -# members were ordinary class members. Constructors, destructors and assignment -# operators of the base classes will not be shown. - -INLINE_INHERITED_MEMB = NO - -# If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full -# path before files name in the file list and in the header files. If set -# to NO the shortest path that makes the file name unique will be used. - -FULL_PATH_NAMES = YES - -# If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag -# can be used to strip a user-defined part of the path. Stripping is -# only done if one of the specified strings matches the left-hand part of -# the path. The tag can be used to show relative paths in the file list. -# If left blank the directory from which doxygen is run is used as the -# path to strip. - -STRIP_FROM_PATH = - -# The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of -# the path mentioned in the documentation of a class, which tells -# the reader which header file to include in order to use a class. -# If left blank only the name of the header file containing the class -# definition is used. Otherwise one should specify the include paths that -# are normally passed to the compiler using the -I flag. - -STRIP_FROM_INC_PATH = - -# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter -# (but less readable) file names. This can be useful if your file system -# doesn't support long names like on DOS, Mac, or CD-ROM. - -SHORT_NAMES = NO - -# If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen -# will interpret the first line (until the first dot) of a JavaDoc-style -# comment as the brief description. If set to NO, the JavaDoc -# comments will behave just like regular Qt-style comments -# (thus requiring an explicit @brief command for a brief description.) - -JAVADOC_AUTOBRIEF = YES - -# If the QT_AUTOBRIEF tag is set to YES then Doxygen will -# interpret the first line (until the first dot) of a Qt-style -# comment as the brief description. If set to NO, the comments -# will behave just like regular Qt-style comments (thus requiring -# an explicit \brief command for a brief description.) - -QT_AUTOBRIEF = NO - -# The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make Doxygen -# treat a multi-line C++ special comment block (i.e. a block of //! or /// -# comments) as a brief description. This used to be the default behaviour. -# The new default is to treat a multi-line C++ comment block as a detailed -# description. Set this tag to YES if you prefer the old behaviour instead. - -MULTILINE_CPP_IS_BRIEF = NO - -# If the INHERIT_DOCS tag is set to YES (the default) then an undocumented -# member inherits the documentation from any documented member that it -# re-implements. - -INHERIT_DOCS = YES - -# If the SEPARATE_MEMBER_PAGES tag is set to YES, then doxygen will produce -# a new page for each member. If set to NO, the documentation of a member will -# be part of the file/class/namespace that contains it. - -SEPARATE_MEMBER_PAGES = NO - -# The TAB_SIZE tag can be used to set the number of spaces in a tab. -# Doxygen uses this value to replace tabs by spaces in code fragments. - -TAB_SIZE = 8 - -# This tag can be used to specify a number of aliases that acts -# as commands in the documentation. An alias has the form "name=value". -# For example adding "sideeffect=\par Side Effects:\n" will allow you to -# put the command \sideeffect (or @sideeffect) in the documentation, which -# will result in a user-defined paragraph with heading "Side Effects:". -# You can put \n's in the value part of an alias to insert newlines. - -ALIASES = - -# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C -# sources only. Doxygen will then generate output that is more tailored for C. -# For instance, some of the names that are used will be different. The list -# of all members will be omitted, etc. - -OPTIMIZE_OUTPUT_FOR_C = NO - -# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java -# sources only. Doxygen will then generate output that is more tailored for -# Java. For instance, namespaces will be presented as packages, qualified -# scopes will look different, etc. - -OPTIMIZE_OUTPUT_JAVA = NO - -# Set the OPTIMIZE_FOR_FORTRAN tag to YES if your project consists of Fortran -# sources only. Doxygen will then generate output that is more tailored for -# Fortran. - -OPTIMIZE_FOR_FORTRAN = NO - -# Set the OPTIMIZE_OUTPUT_VHDL tag to YES if your project consists of VHDL -# sources. Doxygen will then generate output that is tailored for -# VHDL. - -OPTIMIZE_OUTPUT_VHDL = NO - -# Doxygen selects the parser to use depending on the extension of the files it -# parses. With this tag you can assign which parser to use for a given extension. -# Doxygen has a built-in mapping, but you can override or extend it using this -# tag. The format is ext=language, where ext is a file extension, and language -# is one of the parsers supported by doxygen: IDL, Java, Javascript, CSharp, C, -# C++, D, PHP, Objective-C, Python, Fortran, VHDL, C, C++. For instance to make -# doxygen treat .inc files as Fortran files (default is PHP), and .f files as C -# (default is Fortran), use: inc=Fortran f=C. Note that for custom extensions -# you also need to set FILE_PATTERNS otherwise the files are not read by doxygen. - -EXTENSION_MAPPING = - -# If you use STL classes (i.e. std::string, std::vector, etc.) but do not want -# to include (a tag file for) the STL sources as input, then you should -# set this tag to YES in order to let doxygen match functions declarations and -# definitions whose arguments contain STL classes (e.g. func(std::string); v.s. -# func(std::string) {}). This also makes the inheritance and collaboration -# diagrams that involve STL classes more complete and accurate. - -BUILTIN_STL_SUPPORT = NO - -# If you use Microsoft's C++/CLI language, you should set this option to YES to -# enable parsing support. - -CPP_CLI_SUPPORT = NO - -# Set the SIP_SUPPORT tag to YES if your project consists of sip sources only. -# Doxygen will parse them like normal C++ but will assume all classes use public -# instead of private inheritance when no explicit protection keyword is present. - -SIP_SUPPORT = NO - -# For Microsoft's IDL there are propget and propput attributes to indicate getter -# and setter methods for a property. Setting this option to YES (the default) -# will make doxygen replace the get and set methods by a property in the -# documentation. This will only work if the methods are indeed getting or -# setting a simple type. If this is not the case, or you want to show the -# methods anyway, you should set this option to NO. - -IDL_PROPERTY_SUPPORT = YES - -# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC -# tag is set to YES, then doxygen will reuse the documentation of the first -# member in the group (if any) for the other members of the group. By default -# all members of a group must be documented explicitly. - -DISTRIBUTE_GROUP_DOC = NO - -# Set the SUBGROUPING tag to YES (the default) to allow class member groups of -# the same type (for instance a group of public functions) to be put as a -# subgroup of that type (e.g. under the Public Functions section). Set it to -# NO to prevent subgrouping. Alternatively, this can be done per class using -# the \nosubgrouping command. - -SUBGROUPING = YES - -# When the INLINE_GROUPED_CLASSES tag is set to YES, classes, structs and -# unions are shown inside the group in which they are included (e.g. using -# @ingroup) instead of on a separate page (for HTML and Man pages) or -# section (for LaTeX and RTF). - -INLINE_GROUPED_CLASSES = NO - -# When TYPEDEF_HIDES_STRUCT is enabled, a typedef of a struct, union, or enum -# is documented as struct, union, or enum with the name of the typedef. So -# typedef struct TypeS {} TypeT, will appear in the documentation as a struct -# with name TypeT. When disabled the typedef will appear as a member of a file, -# namespace, or class. And the struct will be named TypeS. This can typically -# be useful for C code in case the coding convention dictates that all compound -# types are typedef'ed and only the typedef is referenced, never the tag name. - -TYPEDEF_HIDES_STRUCT = NO - -# The SYMBOL_CACHE_SIZE determines the size of the internal cache use to -# determine which symbols to keep in memory and which to flush to disk. -# When the cache is full, less often used symbols will be written to disk. -# For small to medium size projects (<1000 input files) the default value is -# probably good enough. For larger projects a too small cache size can cause -# doxygen to be busy swapping symbols to and from disk most of the time -# causing a significant performance penalty. -# If the system has enough physical memory increasing the cache will improve the -# performance by keeping more symbols in memory. Note that the value works on -# a logarithmic scale so increasing the size by one will roughly double the -# memory usage. The cache size is given by this formula: -# 2^(16+SYMBOL_CACHE_SIZE). The valid range is 0..9, the default is 0, -# corresponding to a cache size of 2^16 = 65536 symbols - -SYMBOL_CACHE_SIZE = 0 - -#--------------------------------------------------------------------------- -# Build related configuration options -#--------------------------------------------------------------------------- - -# If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in -# documentation are documented, even if no documentation was available. -# Private class members and static file members will be hidden unless -# the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES - -EXTRACT_ALL = YES - -# If the EXTRACT_PRIVATE tag is set to YES all private members of a class -# will be included in the documentation. - -EXTRACT_PRIVATE = YES - -# If the EXTRACT_STATIC tag is set to YES all static members of a file -# will be included in the documentation. - -EXTRACT_STATIC = NO - -# If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs) -# defined locally in source files will be included in the documentation. -# If set to NO only classes defined in header files are included. - -EXTRACT_LOCAL_CLASSES = YES - -# This flag is only useful for Objective-C code. When set to YES local -# methods, which are defined in the implementation section but not in -# the interface are included in the documentation. -# If set to NO (the default) only methods in the interface are included. - -EXTRACT_LOCAL_METHODS = NO - -# If this flag is set to YES, the members of anonymous namespaces will be -# extracted and appear in the documentation as a namespace called -# 'anonymous_namespace{file}', where file will be replaced with the base -# name of the file that contains the anonymous namespace. By default -# anonymous namespaces are hidden. - -EXTRACT_ANON_NSPACES = NO - -# If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all -# undocumented members of documented classes, files or namespaces. -# If set to NO (the default) these members will be included in the -# various overviews, but no documentation section is generated. -# This option has no effect if EXTRACT_ALL is enabled. - -HIDE_UNDOC_MEMBERS = NO - -# If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all -# undocumented classes that are normally visible in the class hierarchy. -# If set to NO (the default) these classes will be included in the various -# overviews. This option has no effect if EXTRACT_ALL is enabled. - -HIDE_UNDOC_CLASSES = NO - -# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, Doxygen will hide all -# friend (class|struct|union) declarations. -# If set to NO (the default) these declarations will be included in the -# documentation. - -HIDE_FRIEND_COMPOUNDS = NO - -# If the HIDE_IN_BODY_DOCS tag is set to YES, Doxygen will hide any -# documentation blocks found inside the body of a function. -# If set to NO (the default) these blocks will be appended to the -# function's detailed documentation block. - -HIDE_IN_BODY_DOCS = NO - -# The INTERNAL_DOCS tag determines if documentation -# that is typed after a \internal command is included. If the tag is set -# to NO (the default) then the documentation will be excluded. -# Set it to YES to include the internal documentation. - -INTERNAL_DOCS = NO - -# If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate -# file names in lower-case letters. If set to YES upper-case letters are also -# allowed. This is useful if you have classes or files whose names only differ -# in case and if your file system supports case sensitive file names. Windows -# and Mac users are advised to set this option to NO. - -CASE_SENSE_NAMES = NO - -# If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen -# will show members with their full class and namespace scopes in the -# documentation. If set to YES the scope will be hidden. - -HIDE_SCOPE_NAMES = NO - -# If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen -# will put a list of the files that are included by a file in the documentation -# of that file. - -SHOW_INCLUDE_FILES = YES - -# If the FORCE_LOCAL_INCLUDES tag is set to YES then Doxygen -# will list include files with double quotes in the documentation -# rather than with sharp brackets. - -FORCE_LOCAL_INCLUDES = NO - -# If the INLINE_INFO tag is set to YES (the default) then a tag [inline] -# is inserted in the documentation for inline members. - -INLINE_INFO = YES - -# If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen -# will sort the (detailed) documentation of file and class members -# alphabetically by member name. If set to NO the members will appear in -# declaration order. - -SORT_MEMBER_DOCS = YES - -# If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the -# brief documentation of file, namespace and class members alphabetically -# by member name. If set to NO (the default) the members will appear in -# declaration order. - -SORT_BRIEF_DOCS = NO - -# If the SORT_MEMBERS_CTORS_1ST tag is set to YES then doxygen -# will sort the (brief and detailed) documentation of class members so that -# constructors and destructors are listed first. If set to NO (the default) -# the constructors will appear in the respective orders defined by -# SORT_MEMBER_DOCS and SORT_BRIEF_DOCS. -# This tag will be ignored for brief docs if SORT_BRIEF_DOCS is set to NO -# and ignored for detailed docs if SORT_MEMBER_DOCS is set to NO. - -SORT_MEMBERS_CTORS_1ST = NO - -# If the SORT_GROUP_NAMES tag is set to YES then doxygen will sort the -# hierarchy of group names into alphabetical order. If set to NO (the default) -# the group names will appear in their defined order. - -SORT_GROUP_NAMES = NO - -# If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be -# sorted by fully-qualified names, including namespaces. If set to -# NO (the default), the class list will be sorted only by class name, -# not including the namespace part. -# Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES. -# Note: This option applies only to the class list, not to the -# alphabetical list. - -SORT_BY_SCOPE_NAME = NO - -# If the STRICT_PROTO_MATCHING option is enabled and doxygen fails to -# do proper type resolution of all parameters of a function it will reject a -# match between the prototype and the implementation of a member function even -# if there is only one candidate or it is obvious which candidate to choose -# by doing a simple string match. By disabling STRICT_PROTO_MATCHING doxygen -# will still accept a match between prototype and implementation in such cases. - -STRICT_PROTO_MATCHING = NO - -# The GENERATE_TODOLIST tag can be used to enable (YES) or -# disable (NO) the todo list. This list is created by putting \todo -# commands in the documentation. - -GENERATE_TODOLIST = YES - -# The GENERATE_TESTLIST tag can be used to enable (YES) or -# disable (NO) the test list. This list is created by putting \test -# commands in the documentation. - -GENERATE_TESTLIST = YES - -# The GENERATE_BUGLIST tag can be used to enable (YES) or -# disable (NO) the bug list. This list is created by putting \bug -# commands in the documentation. - -GENERATE_BUGLIST = YES - -# The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or -# disable (NO) the deprecated list. This list is created by putting -# \deprecated commands in the documentation. - -GENERATE_DEPRECATEDLIST= YES - -# The ENABLED_SECTIONS tag can be used to enable conditional -# documentation sections, marked by \if sectionname ... \endif. - -ENABLED_SECTIONS = - -# The MAX_INITIALIZER_LINES tag determines the maximum number of lines -# the initial value of a variable or macro consists of for it to appear in -# the documentation. If the initializer consists of more lines than specified -# here it will be hidden. Use a value of 0 to hide initializers completely. -# The appearance of the initializer of individual variables and macros in the -# documentation can be controlled using \showinitializer or \hideinitializer -# command in the documentation regardless of this setting. - -MAX_INITIALIZER_LINES = 30 - -# Set the SHOW_USED_FILES tag to NO to disable the list of files generated -# at the bottom of the documentation of classes and structs. If set to YES the -# list will mention the files that were used to generate the documentation. - -SHOW_USED_FILES = YES - -# If the sources in your project are distributed over multiple directories -# then setting the SHOW_DIRECTORIES tag to YES will show the directory hierarchy -# in the documentation. The default is NO. - -SHOW_DIRECTORIES = NO - -# Set the SHOW_FILES tag to NO to disable the generation of the Files page. -# This will remove the Files entry from the Quick Index and from the -# Folder Tree View (if specified). The default is YES. - -SHOW_FILES = YES - -# Set the SHOW_NAMESPACES tag to NO to disable the generation of the -# Namespaces page. This will remove the Namespaces entry from the Quick Index -# and from the Folder Tree View (if specified). The default is YES. - -SHOW_NAMESPACES = YES - -# The FILE_VERSION_FILTER tag can be used to specify a program or script that -# doxygen should invoke to get the current version for each file (typically from -# the version control system). Doxygen will invoke the program by executing (via -# popen()) the command , where is the value of -# the FILE_VERSION_FILTER tag, and is the name of an input file -# provided by doxygen. Whatever the program writes to standard output -# is used as the file version. See the manual for examples. - -FILE_VERSION_FILTER = - -# The LAYOUT_FILE tag can be used to specify a layout file which will be parsed -# by doxygen. The layout file controls the global structure of the generated -# output files in an output format independent way. The create the layout file -# that represents doxygen's defaults, run doxygen with the -l option. -# You can optionally specify a file name after the option, if omitted -# DoxygenLayout.xml will be used as the name of the layout file. - -LAYOUT_FILE = - -#--------------------------------------------------------------------------- -# configuration options related to warning and progress messages -#--------------------------------------------------------------------------- - -# The QUIET tag can be used to turn on/off the messages that are generated -# by doxygen. Possible values are YES and NO. If left blank NO is used. - -QUIET = NO - -# The WARNINGS tag can be used to turn on/off the warning messages that are -# generated by doxygen. Possible values are YES and NO. If left blank -# NO is used. - -WARNINGS = YES - -# If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings -# for undocumented members. If EXTRACT_ALL is set to YES then this flag will -# automatically be disabled. - -WARN_IF_UNDOCUMENTED = YES - -# If WARN_IF_DOC_ERROR is set to YES, doxygen will generate warnings for -# potential errors in the documentation, such as not documenting some -# parameters in a documented function, or documenting parameters that -# don't exist or using markup commands wrongly. - -WARN_IF_DOC_ERROR = YES - -# The WARN_NO_PARAMDOC option can be enabled to get warnings for -# functions that are documented, but have no documentation for their parameters -# or return value. If set to NO (the default) doxygen will only warn about -# wrong or incomplete parameter documentation, but not about the absence of -# documentation. - -WARN_NO_PARAMDOC = NO - -# The WARN_FORMAT tag determines the format of the warning messages that -# doxygen can produce. The string should contain the $file, $line, and $text -# tags, which will be replaced by the file and line number from which the -# warning originated and the warning text. Optionally the format may contain -# $version, which will be replaced by the version of the file (if it could -# be obtained via FILE_VERSION_FILTER) - -WARN_FORMAT = "$file:$line: $text" - -# The WARN_LOGFILE tag can be used to specify a file to which warning -# and error messages should be written. If left blank the output is written -# to stderr. - -WARN_LOGFILE = - -#--------------------------------------------------------------------------- -# configuration options related to the input files -#--------------------------------------------------------------------------- - -# The INPUT tag can be used to specify the files and/or directories that contain -# documented source files. You may enter file names like "myfile.cpp" or -# directories like "/usr/src/myproject". Separate the files or directories -# with spaces. - -INPUT = src - -# This tag can be used to specify the character encoding of the source files -# that doxygen parses. Internally doxygen uses the UTF-8 encoding, which is -# also the default input encoding. Doxygen uses libiconv (or the iconv built -# into libc) for the transcoding. See http://www.gnu.org/software/libiconv for -# the list of possible encodings. - -INPUT_ENCODING = UTF-8 - -# If the value of the INPUT tag contains directories, you can use the -# FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp -# and *.h) to filter out the source-files in the directories. If left -# blank the following patterns are tested: -# *.c *.cc *.cxx *.cpp *.c++ *.d *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh -# *.hxx *.hpp *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm *.dox *.py -# *.f90 *.f *.for *.vhd *.vhdl - -FILE_PATTERNS = *.c \ - *.cc \ - *.cxx \ - *.cpp \ - *.c++ \ - *.d \ - *.java \ - *.ii \ - *.ixx \ - *.ipp \ - *.i++ \ - *.inl \ - *.h \ - *.hh \ - *.hxx \ - *.hpp \ - *.h++ \ - *.idl \ - *.odl \ - *.cs \ - *.php \ - *.php3 \ - *.inc \ - *.m \ - *.mm \ - *.dox \ - *.py \ - *.f90 \ - *.f \ - *.for \ - *.vhd \ - *.vhdl - -# The RECURSIVE tag can be used to turn specify whether or not subdirectories -# should be searched for input files as well. Possible values are YES and NO. -# If left blank NO is used. - -RECURSIVE = YES - -# The EXCLUDE tag can be used to specify files and/or directories that should -# excluded from the INPUT source files. This way you can easily exclude a -# subdirectory from a directory tree whose root is specified with the INPUT tag. - -EXCLUDE = - -# The EXCLUDE_SYMLINKS tag can be used select whether or not files or -# directories that are symbolic links (a Unix file system feature) are excluded -# from the input. - -EXCLUDE_SYMLINKS = NO - -# If the value of the INPUT tag contains directories, you can use the -# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude -# certain files from those directories. Note that the wildcards are matched -# against the file with absolute path, so to exclude all test directories -# for example use the pattern */test/* - -EXCLUDE_PATTERNS = - -# The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names -# (namespaces, classes, functions, etc.) that should be excluded from the -# output. The symbol name can be a fully qualified name, a word, or if the -# wildcard * is used, a substring. Examples: ANamespace, AClass, -# AClass::ANamespace, ANamespace::*Test - -EXCLUDE_SYMBOLS = - -# The EXAMPLE_PATH tag can be used to specify one or more files or -# directories that contain example code fragments that are included (see -# the \include command). - -EXAMPLE_PATH = - -# If the value of the EXAMPLE_PATH tag contains directories, you can use the -# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp -# and *.h) to filter out the source-files in the directories. If left -# blank all files are included. - -EXAMPLE_PATTERNS = * - -# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be -# searched for input files to be used with the \include or \dontinclude -# commands irrespective of the value of the RECURSIVE tag. -# Possible values are YES and NO. If left blank NO is used. - -EXAMPLE_RECURSIVE = NO - -# The IMAGE_PATH tag can be used to specify one or more files or -# directories that contain image that are included in the documentation (see -# the \image command). - -IMAGE_PATH = - -# The INPUT_FILTER tag can be used to specify a program that doxygen should -# invoke to filter for each input file. Doxygen will invoke the filter program -# by executing (via popen()) the command , where -# is the value of the INPUT_FILTER tag, and is the name of an -# input file. Doxygen will then use the output that the filter program writes -# to standard output. If FILTER_PATTERNS is specified, this tag will be -# ignored. - -INPUT_FILTER = - -# The FILTER_PATTERNS tag can be used to specify filters on a per file pattern -# basis. Doxygen will compare the file name with each pattern and apply the -# filter if there is a match. The filters are a list of the form: -# pattern=filter (like *.cpp=my_cpp_filter). See INPUT_FILTER for further -# info on how filters are used. If FILTER_PATTERNS is empty or if -# non of the patterns match the file name, INPUT_FILTER is applied. - -FILTER_PATTERNS = - -# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using -# INPUT_FILTER) will be used to filter the input files when producing source -# files to browse (i.e. when SOURCE_BROWSER is set to YES). - -FILTER_SOURCE_FILES = NO - -# The FILTER_SOURCE_PATTERNS tag can be used to specify source filters per file -# pattern. A pattern will override the setting for FILTER_PATTERN (if any) -# and it is also possible to disable source filtering for a specific pattern -# using *.ext= (so without naming a filter). This option only has effect when -# FILTER_SOURCE_FILES is enabled. - -FILTER_SOURCE_PATTERNS = - -#--------------------------------------------------------------------------- -# configuration options related to source browsing -#--------------------------------------------------------------------------- - -# If the SOURCE_BROWSER tag is set to YES then a list of source files will -# be generated. Documented entities will be cross-referenced with these sources. -# Note: To get rid of all source code in the generated output, make sure also -# VERBATIM_HEADERS is set to NO. - -SOURCE_BROWSER = YES - -# Setting the INLINE_SOURCES tag to YES will include the body -# of functions and classes directly in the documentation. - -INLINE_SOURCES = NO - -# Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct -# doxygen to hide any special comment blocks from generated source code -# fragments. Normal C and C++ comments will always remain visible. - -STRIP_CODE_COMMENTS = YES - -# If the REFERENCED_BY_RELATION tag is set to YES -# then for each documented function all documented -# functions referencing it will be listed. - -REFERENCED_BY_RELATION = NO - -# If the REFERENCES_RELATION tag is set to YES -# then for each documented function all documented entities -# called/used by that function will be listed. - -REFERENCES_RELATION = NO - -# If the REFERENCES_LINK_SOURCE tag is set to YES (the default) -# and SOURCE_BROWSER tag is set to YES, then the hyperlinks from -# functions in REFERENCES_RELATION and REFERENCED_BY_RELATION lists will -# link to the source code. Otherwise they will link to the documentation. - -REFERENCES_LINK_SOURCE = YES - -# If the USE_HTAGS tag is set to YES then the references to source code -# will point to the HTML generated by the htags(1) tool instead of doxygen -# built-in source browser. The htags tool is part of GNU's global source -# tagging system (see http://www.gnu.org/software/global/global.html). You -# will need version 4.8.6 or higher. - -USE_HTAGS = NO - -# If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen -# will generate a verbatim copy of the header file for each class for -# which an include is specified. Set to NO to disable this. - -VERBATIM_HEADERS = YES - -#--------------------------------------------------------------------------- -# configuration options related to the alphabetical class index -#--------------------------------------------------------------------------- - -# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index -# of all compounds will be generated. Enable this if the project -# contains a lot of classes, structs, unions or interfaces. - -ALPHABETICAL_INDEX = YES - -# If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then -# the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns -# in which this list will be split (can be a number in the range [1..20]) - -COLS_IN_ALPHA_INDEX = 5 - -# In case all classes in a project start with a common prefix, all -# classes will be put under the same header in the alphabetical index. -# The IGNORE_PREFIX tag can be used to specify one or more prefixes that -# should be ignored while generating the index headers. - -IGNORE_PREFIX = - -#--------------------------------------------------------------------------- -# configuration options related to the HTML output -#--------------------------------------------------------------------------- - -# If the GENERATE_HTML tag is set to YES (the default) Doxygen will -# generate HTML output. - -GENERATE_HTML = YES - -# The HTML_OUTPUT tag is used to specify where the HTML docs will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be -# put in front of it. If left blank `html' will be used as the default path. - -HTML_OUTPUT = html - -# The HTML_FILE_EXTENSION tag can be used to specify the file extension for -# each generated HTML page (for example: .htm,.php,.asp). If it is left blank -# doxygen will generate files with .html extension. - -HTML_FILE_EXTENSION = .html - -# The HTML_HEADER tag can be used to specify a personal HTML header for -# each generated HTML page. If it is left blank doxygen will generate a -# standard header. Note that when using a custom header you are responsible -# for the proper inclusion of any scripts and style sheets that doxygen -# needs, which is dependent on the configuration options used. -# It is adviced to generate a default header using "doxygen -w html -# header.html footer.html stylesheet.css YourConfigFile" and then modify -# that header. Note that the header is subject to change so you typically -# have to redo this when upgrading to a newer version of doxygen or when -# changing the value of configuration settings such as GENERATE_TREEVIEW! - -HTML_HEADER = - -# The HTML_FOOTER tag can be used to specify a personal HTML footer for -# each generated HTML page. If it is left blank doxygen will generate a -# standard footer. - -HTML_FOOTER = - -# The HTML_STYLESHEET tag can be used to specify a user-defined cascading -# style sheet that is used by each HTML page. It can be used to -# fine-tune the look of the HTML output. If the tag is left blank doxygen -# will generate a default style sheet. Note that doxygen will try to copy -# the style sheet file to the HTML output directory, so don't put your own -# stylesheet in the HTML output directory as well, or it will be erased! - -HTML_STYLESHEET = - -# The HTML_EXTRA_FILES tag can be used to specify one or more extra images or -# other source files which should be copied to the HTML output directory. Note -# that these files will be copied to the base HTML output directory. Use the -# $relpath$ marker in the HTML_HEADER and/or HTML_FOOTER files to load these -# files. In the HTML_STYLESHEET file, use the file name only. Also note that -# the files will be copied as-is; there are no commands or markers available. - -HTML_EXTRA_FILES = - -# The HTML_COLORSTYLE_HUE tag controls the color of the HTML output. -# Doxygen will adjust the colors in the stylesheet and background images -# according to this color. Hue is specified as an angle on a colorwheel, -# see http://en.wikipedia.org/wiki/Hue for more information. -# For instance the value 0 represents red, 60 is yellow, 120 is green, -# 180 is cyan, 240 is blue, 300 purple, and 360 is red again. -# The allowed range is 0 to 359. - -HTML_COLORSTYLE_HUE = 220 - -# The HTML_COLORSTYLE_SAT tag controls the purity (or saturation) of -# the colors in the HTML output. For a value of 0 the output will use -# grayscales only. A value of 255 will produce the most vivid colors. - -HTML_COLORSTYLE_SAT = 100 - -# The HTML_COLORSTYLE_GAMMA tag controls the gamma correction applied to -# the luminance component of the colors in the HTML output. Values below -# 100 gradually make the output lighter, whereas values above 100 make -# the output darker. The value divided by 100 is the actual gamma applied, -# so 80 represents a gamma of 0.8, The value 220 represents a gamma of 2.2, -# and 100 does not change the gamma. - -HTML_COLORSTYLE_GAMMA = 80 - -# If the HTML_TIMESTAMP tag is set to YES then the footer of each generated HTML -# page will contain the date and time when the page was generated. Setting -# this to NO can help when comparing the output of multiple runs. - -HTML_TIMESTAMP = YES - -# If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes, -# files or namespaces will be aligned in HTML using tables. If set to -# NO a bullet list will be used. - -HTML_ALIGN_MEMBERS = YES - -# If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML -# documentation will contain sections that can be hidden and shown after the -# page has loaded. For this to work a browser that supports -# JavaScript and DHTML is required (for instance Mozilla 1.0+, Firefox -# Netscape 6.0+, Internet explorer 5.0+, Konqueror, or Safari). - -HTML_DYNAMIC_SECTIONS = NO - -# If the GENERATE_DOCSET tag is set to YES, additional index files -# will be generated that can be used as input for Apple's Xcode 3 -# integrated development environment, introduced with OSX 10.5 (Leopard). -# To create a documentation set, doxygen will generate a Makefile in the -# HTML output directory. Running make will produce the docset in that -# directory and running "make install" will install the docset in -# ~/Library/Developer/Shared/Documentation/DocSets so that Xcode will find -# it at startup. -# See http://developer.apple.com/tools/creatingdocsetswithdoxygen.html -# for more information. - -GENERATE_DOCSET = NO - -# When GENERATE_DOCSET tag is set to YES, this tag determines the name of the -# feed. A documentation feed provides an umbrella under which multiple -# documentation sets from a single provider (such as a company or product suite) -# can be grouped. - -DOCSET_FEEDNAME = "Doxygen generated docs" - -# When GENERATE_DOCSET tag is set to YES, this tag specifies a string that -# should uniquely identify the documentation set bundle. This should be a -# reverse domain-name style string, e.g. com.mycompany.MyDocSet. Doxygen -# will append .docset to the name. - -DOCSET_BUNDLE_ID = org.doxygen.Project - -# When GENERATE_PUBLISHER_ID tag specifies a string that should uniquely identify -# the documentation publisher. This should be a reverse domain-name style -# string, e.g. com.mycompany.MyDocSet.documentation. - -DOCSET_PUBLISHER_ID = org.doxygen.Publisher - -# The GENERATE_PUBLISHER_NAME tag identifies the documentation publisher. - -DOCSET_PUBLISHER_NAME = Publisher - -# If the GENERATE_HTMLHELP tag is set to YES, additional index files -# will be generated that can be used as input for tools like the -# Microsoft HTML help workshop to generate a compiled HTML help file (.chm) -# of the generated HTML documentation. - -GENERATE_HTMLHELP = NO - -# If the GENERATE_HTMLHELP tag is set to YES, the CHM_FILE tag can -# be used to specify the file name of the resulting .chm file. You -# can add a path in front of the file if the result should not be -# written to the html output directory. - -CHM_FILE = - -# If the GENERATE_HTMLHELP tag is set to YES, the HHC_LOCATION tag can -# be used to specify the location (absolute path including file name) of -# the HTML help compiler (hhc.exe). If non-empty doxygen will try to run -# the HTML help compiler on the generated index.hhp. - -HHC_LOCATION = - -# If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag -# controls if a separate .chi index file is generated (YES) or that -# it should be included in the master .chm file (NO). - -GENERATE_CHI = NO - -# If the GENERATE_HTMLHELP tag is set to YES, the CHM_INDEX_ENCODING -# is used to encode HtmlHelp index (hhk), content (hhc) and project file -# content. - -CHM_INDEX_ENCODING = - -# If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag -# controls whether a binary table of contents is generated (YES) or a -# normal table of contents (NO) in the .chm file. - -BINARY_TOC = NO - -# The TOC_EXPAND flag can be set to YES to add extra items for group members -# to the contents of the HTML help documentation and to the tree view. - -TOC_EXPAND = NO - -# If the GENERATE_QHP tag is set to YES and both QHP_NAMESPACE and -# QHP_VIRTUAL_FOLDER are set, an additional index file will be generated -# that can be used as input for Qt's qhelpgenerator to generate a -# Qt Compressed Help (.qch) of the generated HTML documentation. - -GENERATE_QHP = NO - -# If the QHG_LOCATION tag is specified, the QCH_FILE tag can -# be used to specify the file name of the resulting .qch file. -# The path specified is relative to the HTML output folder. - -QCH_FILE = - -# The QHP_NAMESPACE tag specifies the namespace to use when generating -# Qt Help Project output. For more information please see -# http://doc.trolltech.com/qthelpproject.html#namespace - -QHP_NAMESPACE = org.doxygen.Project - -# The QHP_VIRTUAL_FOLDER tag specifies the namespace to use when generating -# Qt Help Project output. For more information please see -# http://doc.trolltech.com/qthelpproject.html#virtual-folders - -QHP_VIRTUAL_FOLDER = doc - -# If QHP_CUST_FILTER_NAME is set, it specifies the name of a custom filter to -# add. For more information please see -# http://doc.trolltech.com/qthelpproject.html#custom-filters - -QHP_CUST_FILTER_NAME = - -# The QHP_CUST_FILT_ATTRS tag specifies the list of the attributes of the -# custom filter to add. For more information please see -# -# Qt Help Project / Custom Filters. - -QHP_CUST_FILTER_ATTRS = - -# The QHP_SECT_FILTER_ATTRS tag specifies the list of the attributes this -# project's -# filter section matches. -# -# Qt Help Project / Filter Attributes. - -QHP_SECT_FILTER_ATTRS = - -# If the GENERATE_QHP tag is set to YES, the QHG_LOCATION tag can -# be used to specify the location of Qt's qhelpgenerator. -# If non-empty doxygen will try to run qhelpgenerator on the generated -# .qhp file. - -QHG_LOCATION = - -# If the GENERATE_ECLIPSEHELP tag is set to YES, additional index files -# will be generated, which together with the HTML files, form an Eclipse help -# plugin. To install this plugin and make it available under the help contents -# menu in Eclipse, the contents of the directory containing the HTML and XML -# files needs to be copied into the plugins directory of eclipse. The name of -# the directory within the plugins directory should be the same as -# the ECLIPSE_DOC_ID value. After copying Eclipse needs to be restarted before -# the help appears. - -GENERATE_ECLIPSEHELP = NO - -# A unique identifier for the eclipse help plugin. When installing the plugin -# the directory name containing the HTML and XML files should also have -# this name. - -ECLIPSE_DOC_ID = org.doxygen.Project - -# The DISABLE_INDEX tag can be used to turn on/off the condensed index at -# top of each HTML page. The value NO (the default) enables the index and -# the value YES disables it. - -DISABLE_INDEX = NO - -# The ENUM_VALUES_PER_LINE tag can be used to set the number of enum values -# (range [0,1..20]) that doxygen will group on one line in the generated HTML -# documentation. Note that a value of 0 will completely suppress the enum -# values from appearing in the overview section. - -ENUM_VALUES_PER_LINE = 4 - -# The GENERATE_TREEVIEW tag is used to specify whether a tree-like index -# structure should be generated to display hierarchical information. -# If the tag value is set to YES, a side panel will be generated -# containing a tree-like index structure (just like the one that -# is generated for HTML Help). For this to work a browser that supports -# JavaScript, DHTML, CSS and frames is required (i.e. any modern browser). -# Windows users are probably better off using the HTML help feature. - -GENERATE_TREEVIEW = NO - -# By enabling USE_INLINE_TREES, doxygen will generate the Groups, Directories, -# and Class Hierarchy pages using a tree view instead of an ordered list. - -USE_INLINE_TREES = NO - -# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be -# used to set the initial width (in pixels) of the frame in which the tree -# is shown. - -TREEVIEW_WIDTH = 250 - -# When the EXT_LINKS_IN_WINDOW option is set to YES doxygen will open -# links to external symbols imported via tag files in a separate window. - -EXT_LINKS_IN_WINDOW = NO - -# Use this tag to change the font size of Latex formulas included -# as images in the HTML documentation. The default is 10. Note that -# when you change the font size after a successful doxygen run you need -# to manually remove any form_*.png images from the HTML output directory -# to force them to be regenerated. - -FORMULA_FONTSIZE = 10 - -# Use the FORMULA_TRANPARENT tag to determine whether or not the images -# generated for formulas are transparent PNGs. Transparent PNGs are -# not supported properly for IE 6.0, but are supported on all modern browsers. -# Note that when changing this option you need to delete any form_*.png files -# in the HTML output before the changes have effect. - -FORMULA_TRANSPARENT = YES - -# Enable the USE_MATHJAX option to render LaTeX formulas using MathJax -# (see http://www.mathjax.org) which uses client side Javascript for the -# rendering instead of using prerendered bitmaps. Use this if you do not -# have LaTeX installed or if you want to formulas look prettier in the HTML -# output. When enabled you also need to install MathJax separately and -# configure the path to it using the MATHJAX_RELPATH option. - -USE_MATHJAX = NO - -# When MathJax is enabled you need to specify the location relative to the -# HTML output directory using the MATHJAX_RELPATH option. The destination -# directory should contain the MathJax.js script. For instance, if the mathjax -# directory is located at the same level as the HTML output directory, then -# MATHJAX_RELPATH should be ../mathjax. The default value points to the -# mathjax.org site, so you can quickly see the result without installing -# MathJax, but it is strongly recommended to install a local copy of MathJax -# before deployment. - -MATHJAX_RELPATH = http://www.mathjax.org/mathjax - -# When the SEARCHENGINE tag is enabled doxygen will generate a search box -# for the HTML output. The underlying search engine uses javascript -# and DHTML and should work on any modern browser. Note that when using -# HTML help (GENERATE_HTMLHELP), Qt help (GENERATE_QHP), or docsets -# (GENERATE_DOCSET) there is already a search function so this one should -# typically be disabled. For large projects the javascript based search engine -# can be slow, then enabling SERVER_BASED_SEARCH may provide a better solution. - -SEARCHENGINE = YES - -# When the SERVER_BASED_SEARCH tag is enabled the search engine will be -# implemented using a PHP enabled web server instead of at the web client -# using Javascript. Doxygen will generate the search PHP script and index -# file to put on the web server. The advantage of the server -# based approach is that it scales better to large projects and allows -# full text search. The disadvantages are that it is more difficult to setup -# and does not have live searching capabilities. - -SERVER_BASED_SEARCH = NO - -#--------------------------------------------------------------------------- -# configuration options related to the LaTeX output -#--------------------------------------------------------------------------- - -# If the GENERATE_LATEX tag is set to YES (the default) Doxygen will -# generate Latex output. - -GENERATE_LATEX = NO - -# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be -# put in front of it. If left blank `latex' will be used as the default path. - -LATEX_OUTPUT = latex - -# The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be -# invoked. If left blank `latex' will be used as the default command name. -# Note that when enabling USE_PDFLATEX this option is only used for -# generating bitmaps for formulas in the HTML output, but not in the -# Makefile that is written to the output directory. - -LATEX_CMD_NAME = latex - -# The MAKEINDEX_CMD_NAME tag can be used to specify the command name to -# generate index for LaTeX. If left blank `makeindex' will be used as the -# default command name. - -MAKEINDEX_CMD_NAME = makeindex - -# If the COMPACT_LATEX tag is set to YES Doxygen generates more compact -# LaTeX documents. This may be useful for small projects and may help to -# save some trees in general. - -COMPACT_LATEX = NO - -# The PAPER_TYPE tag can be used to set the paper type that is used -# by the printer. Possible values are: a4, letter, legal and -# executive. If left blank a4wide will be used. - -PAPER_TYPE = a4 - -# The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX -# packages that should be included in the LaTeX output. - -EXTRA_PACKAGES = - -# The LATEX_HEADER tag can be used to specify a personal LaTeX header for -# the generated latex document. The header should contain everything until -# the first chapter. If it is left blank doxygen will generate a -# standard header. Notice: only use this tag if you know what you are doing! - -LATEX_HEADER = - -# The LATEX_FOOTER tag can be used to specify a personal LaTeX footer for -# the generated latex document. The footer should contain everything after -# the last chapter. If it is left blank doxygen will generate a -# standard footer. Notice: only use this tag if you know what you are doing! - -LATEX_FOOTER = - -# If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated -# is prepared for conversion to pdf (using ps2pdf). The pdf file will -# contain links (just like the HTML output) instead of page references -# This makes the output suitable for online browsing using a pdf viewer. - -PDF_HYPERLINKS = YES - -# If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of -# plain latex in the generated Makefile. Set this option to YES to get a -# higher quality PDF documentation. - -USE_PDFLATEX = YES - -# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode. -# command to the generated LaTeX files. This will instruct LaTeX to keep -# running if errors occur, instead of asking the user for help. -# This option is also used when generating formulas in HTML. - -LATEX_BATCHMODE = NO - -# If LATEX_HIDE_INDICES is set to YES then doxygen will not -# include the index chapters (such as File Index, Compound Index, etc.) -# in the output. - -LATEX_HIDE_INDICES = NO - -# If LATEX_SOURCE_CODE is set to YES then doxygen will include -# source code with syntax highlighting in the LaTeX output. -# Note that which sources are shown also depends on other settings -# such as SOURCE_BROWSER. - -LATEX_SOURCE_CODE = NO - -#--------------------------------------------------------------------------- -# configuration options related to the RTF output -#--------------------------------------------------------------------------- - -# If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output -# The RTF output is optimized for Word 97 and may not look very pretty with -# other RTF readers or editors. - -GENERATE_RTF = NO - -# The RTF_OUTPUT tag is used to specify where the RTF docs will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be -# put in front of it. If left blank `rtf' will be used as the default path. - -RTF_OUTPUT = rtf - -# If the COMPACT_RTF tag is set to YES Doxygen generates more compact -# RTF documents. This may be useful for small projects and may help to -# save some trees in general. - -COMPACT_RTF = NO - -# If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated -# will contain hyperlink fields. The RTF file will -# contain links (just like the HTML output) instead of page references. -# This makes the output suitable for online browsing using WORD or other -# programs which support those fields. -# Note: wordpad (write) and others do not support links. - -RTF_HYPERLINKS = NO - -# Load stylesheet definitions from file. Syntax is similar to doxygen's -# config file, i.e. a series of assignments. You only have to provide -# replacements, missing definitions are set to their default value. - -RTF_STYLESHEET_FILE = - -# Set optional variables used in the generation of an rtf document. -# Syntax is similar to doxygen's config file. - -RTF_EXTENSIONS_FILE = - -#--------------------------------------------------------------------------- -# configuration options related to the man page output -#--------------------------------------------------------------------------- - -# If the GENERATE_MAN tag is set to YES (the default) Doxygen will -# generate man pages - -GENERATE_MAN = NO - -# The MAN_OUTPUT tag is used to specify where the man pages will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be -# put in front of it. If left blank `man' will be used as the default path. - -MAN_OUTPUT = man - -# The MAN_EXTENSION tag determines the extension that is added to -# the generated man pages (default is the subroutine's section .3) - -MAN_EXTENSION = .3 - -# If the MAN_LINKS tag is set to YES and Doxygen generates man output, -# then it will generate one additional man file for each entity -# documented in the real man page(s). These additional files -# only source the real man page, but without them the man command -# would be unable to find the correct page. The default is NO. - -MAN_LINKS = NO - -#--------------------------------------------------------------------------- -# configuration options related to the XML output -#--------------------------------------------------------------------------- - -# If the GENERATE_XML tag is set to YES Doxygen will -# generate an XML file that captures the structure of -# the code including all documentation. - -GENERATE_XML = NO - -# The XML_OUTPUT tag is used to specify where the XML pages will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be -# put in front of it. If left blank `xml' will be used as the default path. - -XML_OUTPUT = xml - -# The XML_SCHEMA tag can be used to specify an XML schema, -# which can be used by a validating XML parser to check the -# syntax of the XML files. - -XML_SCHEMA = - -# The XML_DTD tag can be used to specify an XML DTD, -# which can be used by a validating XML parser to check the -# syntax of the XML files. - -XML_DTD = - -# If the XML_PROGRAMLISTING tag is set to YES Doxygen will -# dump the program listings (including syntax highlighting -# and cross-referencing information) to the XML output. Note that -# enabling this will significantly increase the size of the XML output. - -XML_PROGRAMLISTING = YES - -#--------------------------------------------------------------------------- -# configuration options for the AutoGen Definitions output -#--------------------------------------------------------------------------- - -# If the GENERATE_AUTOGEN_DEF tag is set to YES Doxygen will -# generate an AutoGen Definitions (see autogen.sf.net) file -# that captures the structure of the code including all -# documentation. Note that this feature is still experimental -# and incomplete at the moment. - -GENERATE_AUTOGEN_DEF = NO - -#--------------------------------------------------------------------------- -# configuration options related to the Perl module output -#--------------------------------------------------------------------------- - -# If the GENERATE_PERLMOD tag is set to YES Doxygen will -# generate a Perl module file that captures the structure of -# the code including all documentation. Note that this -# feature is still experimental and incomplete at the -# moment. - -GENERATE_PERLMOD = NO - -# If the PERLMOD_LATEX tag is set to YES Doxygen will generate -# the necessary Makefile rules, Perl scripts and LaTeX code to be able -# to generate PDF and DVI output from the Perl module output. - -PERLMOD_LATEX = NO - -# If the PERLMOD_PRETTY tag is set to YES the Perl module output will be -# nicely formatted so it can be parsed by a human reader. This is useful -# if you want to understand what is going on. On the other hand, if this -# tag is set to NO the size of the Perl module output will be much smaller -# and Perl will parse it just the same. - -PERLMOD_PRETTY = YES - -# The names of the make variables in the generated doxyrules.make file -# are prefixed with the string contained in PERLMOD_MAKEVAR_PREFIX. -# This is useful so different doxyrules.make files included by the same -# Makefile don't overwrite each other's variables. - -PERLMOD_MAKEVAR_PREFIX = - -#--------------------------------------------------------------------------- -# Configuration options related to the preprocessor -#--------------------------------------------------------------------------- - -# If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will -# evaluate all C-preprocessor directives found in the sources and include -# files. - -ENABLE_PREPROCESSING = YES - -# If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro -# names in the source code. If set to NO (the default) only conditional -# compilation will be performed. Macro expansion can be done in a controlled -# way by setting EXPAND_ONLY_PREDEF to YES. - -MACRO_EXPANSION = NO - -# If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES -# then the macro expansion is limited to the macros specified with the -# PREDEFINED and EXPAND_AS_DEFINED tags. - -EXPAND_ONLY_PREDEF = NO - -# If the SEARCH_INCLUDES tag is set to YES (the default) the includes files -# pointed to by INCLUDE_PATH will be searched when a #include is found. - -SEARCH_INCLUDES = YES - -# The INCLUDE_PATH tag can be used to specify one or more directories that -# contain include files that are not input files but should be processed by -# the preprocessor. - -INCLUDE_PATH = - -# You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard -# patterns (like *.h and *.hpp) to filter out the header-files in the -# directories. If left blank, the patterns specified with FILE_PATTERNS will -# be used. - -INCLUDE_FILE_PATTERNS = - -# The PREDEFINED tag can be used to specify one or more macro names that -# are defined before the preprocessor is started (similar to the -D option of -# gcc). The argument of the tag is a list of macros of the form: name -# or name=definition (no spaces). If the definition and the = are -# omitted =1 is assumed. To prevent a macro definition from being -# undefined via #undef or recursively expanded use the := operator -# instead of the = operator. - -PREDEFINED = - -# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then -# this tag can be used to specify a list of macro names that should be expanded. -# The macro definition that is found in the sources will be used. -# Use the PREDEFINED tag if you want to use a different macro definition that -# overrules the definition found in the source code. - -EXPAND_AS_DEFINED = - -# If the SKIP_FUNCTION_MACROS tag is set to YES (the default) then -# doxygen's preprocessor will remove all references to function-like macros -# that are alone on a line, have an all uppercase name, and do not end with a -# semicolon, because these will confuse the parser if not removed. - -SKIP_FUNCTION_MACROS = YES - -#--------------------------------------------------------------------------- -# Configuration::additions related to external references -#--------------------------------------------------------------------------- - -# The TAGFILES option can be used to specify one or more tagfiles. -# Optionally an initial location of the external documentation -# can be added for each tagfile. The format of a tag file without -# this location is as follows: -# TAGFILES = file1 file2 ... -# Adding location for the tag files is done as follows: -# TAGFILES = file1=loc1 "file2 = loc2" ... -# where "loc1" and "loc2" can be relative or absolute paths or -# URLs. If a location is present for each tag, the installdox tool -# does not have to be run to correct the links. -# Note that each tag file must have a unique name -# (where the name does NOT include the path) -# If a tag file is not located in the directory in which doxygen -# is run, you must also specify the path to the tagfile here. - -TAGFILES = - -# When a file name is specified after GENERATE_TAGFILE, doxygen will create -# a tag file that is based on the input files it reads. - -GENERATE_TAGFILE = - -# If the ALLEXTERNALS tag is set to YES all external classes will be listed -# in the class index. If set to NO only the inherited external classes -# will be listed. - -ALLEXTERNALS = NO - -# If the EXTERNAL_GROUPS tag is set to YES all external groups will be listed -# in the modules index. If set to NO, only the current project's groups will -# be listed. - -EXTERNAL_GROUPS = YES - -# The PERL_PATH should be the absolute path and name of the perl script -# interpreter (i.e. the result of `which perl'). - -PERL_PATH = /usr/bin/perl - -#--------------------------------------------------------------------------- -# Configuration options related to the dot tool -#--------------------------------------------------------------------------- - -# If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will -# generate a inheritance diagram (in HTML, RTF and LaTeX) for classes with base -# or super classes. Setting the tag to NO turns the diagrams off. Note that -# this option also works with HAVE_DOT disabled, but it is recommended to -# install and use dot, since it yields more powerful graphs. - -CLASS_DIAGRAMS = YES - -# You can define message sequence charts within doxygen comments using the \msc -# command. Doxygen will then run the mscgen tool (see -# http://www.mcternan.me.uk/mscgen/) to produce the chart and insert it in the -# documentation. The MSCGEN_PATH tag allows you to specify the directory where -# the mscgen tool resides. If left empty the tool is assumed to be found in the -# default search path. - -MSCGEN_PATH = - -# If set to YES, the inheritance and collaboration graphs will hide -# inheritance and usage relations if the target is undocumented -# or is not a class. - -HIDE_UNDOC_RELATIONS = YES - -# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is -# available from the path. This tool is part of Graphviz, a graph visualization -# toolkit from AT&T and Lucent Bell Labs. The other options in this section -# have no effect if this option is set to NO (the default) - -HAVE_DOT = NO - -# The DOT_NUM_THREADS specifies the number of dot invocations doxygen is -# allowed to run in parallel. When set to 0 (the default) doxygen will -# base this on the number of processors available in the system. You can set it -# explicitly to a value larger than 0 to get control over the balance -# between CPU load and processing speed. - -DOT_NUM_THREADS = 0 - -# By default doxygen will write a font called Helvetica to the output -# directory and reference it in all dot files that doxygen generates. -# When you want a differently looking font you can specify the font name -# using DOT_FONTNAME. You need to make sure dot is able to find the font, -# which can be done by putting it in a standard location or by setting the -# DOTFONTPATH environment variable or by setting DOT_FONTPATH to the directory -# containing the font. - -DOT_FONTNAME = Helvetica - -# The DOT_FONTSIZE tag can be used to set the size of the font of dot graphs. -# The default size is 10pt. - -DOT_FONTSIZE = 10 - -# By default doxygen will tell dot to use the output directory to look for the -# FreeSans.ttf font (which doxygen will put there itself). If you specify a -# different font using DOT_FONTNAME you can set the path where dot -# can find it using this tag. - -DOT_FONTPATH = - -# If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen -# will generate a graph for each documented class showing the direct and -# indirect inheritance relations. Setting this tag to YES will force the -# the CLASS_DIAGRAMS tag to NO. - -CLASS_GRAPH = YES - -# If the COLLABORATION_GRAPH and HAVE_DOT tags are set to YES then doxygen -# will generate a graph for each documented class showing the direct and -# indirect implementation dependencies (inheritance, containment, and -# class references variables) of the class with other documented classes. - -COLLABORATION_GRAPH = YES - -# If the GROUP_GRAPHS and HAVE_DOT tags are set to YES then doxygen -# will generate a graph for groups, showing the direct groups dependencies - -GROUP_GRAPHS = YES - -# If the UML_LOOK tag is set to YES doxygen will generate inheritance and -# collaboration diagrams in a style similar to the OMG's Unified Modeling -# Language. - -UML_LOOK = NO - -# If set to YES, the inheritance and collaboration graphs will show the -# relations between templates and their instances. - -TEMPLATE_RELATIONS = NO - -# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDE_GRAPH, and HAVE_DOT -# tags are set to YES then doxygen will generate a graph for each documented -# file showing the direct and indirect include dependencies of the file with -# other documented files. - -INCLUDE_GRAPH = YES - -# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDED_BY_GRAPH, and -# HAVE_DOT tags are set to YES then doxygen will generate a graph for each -# documented header file showing the documented files that directly or -# indirectly include this file. - -INCLUDED_BY_GRAPH = YES - -# If the CALL_GRAPH and HAVE_DOT options are set to YES then -# doxygen will generate a call dependency graph for every global function -# or class method. Note that enabling this option will significantly increase -# the time of a run. So in most cases it will be better to enable call graphs -# for selected functions only using the \callgraph command. - -CALL_GRAPH = NO - -# If the CALLER_GRAPH and HAVE_DOT tags are set to YES then -# doxygen will generate a caller dependency graph for every global function -# or class method. Note that enabling this option will significantly increase -# the time of a run. So in most cases it will be better to enable caller -# graphs for selected functions only using the \callergraph command. - -CALLER_GRAPH = NO - -# If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen -# will generate a graphical hierarchy of all classes instead of a textual one. - -GRAPHICAL_HIERARCHY = YES - -# If the DIRECTORY_GRAPH, SHOW_DIRECTORIES and HAVE_DOT tags are set to YES -# then doxygen will show the dependencies a directory has on other directories -# in a graphical way. The dependency relations are determined by the #include -# relations between the files in the directories. - -DIRECTORY_GRAPH = YES - -# The DOT_IMAGE_FORMAT tag can be used to set the image format of the images -# generated by dot. Possible values are svg, png, jpg, or gif. -# If left blank png will be used. - -DOT_IMAGE_FORMAT = png - -# The tag DOT_PATH can be used to specify the path where the dot tool can be -# found. If left blank, it is assumed the dot tool can be found in the path. - -DOT_PATH = - -# The DOTFILE_DIRS tag can be used to specify one or more directories that -# contain dot files that are included in the documentation (see the -# \dotfile command). - -DOTFILE_DIRS = - -# The MSCFILE_DIRS tag can be used to specify one or more directories that -# contain msc files that are included in the documentation (see the -# \mscfile command). - -MSCFILE_DIRS = - -# The DOT_GRAPH_MAX_NODES tag can be used to set the maximum number of -# nodes that will be shown in the graph. If the number of nodes in a graph -# becomes larger than this value, doxygen will truncate the graph, which is -# visualized by representing a node as a red box. Note that doxygen if the -# number of direct children of the root node in a graph is already larger than -# DOT_GRAPH_MAX_NODES then the graph will not be shown at all. Also note -# that the size of a graph can be further restricted by MAX_DOT_GRAPH_DEPTH. - -DOT_GRAPH_MAX_NODES = 50 - -# The MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of the -# graphs generated by dot. A depth value of 3 means that only nodes reachable -# from the root by following a path via at most 3 edges will be shown. Nodes -# that lay further from the root node will be omitted. Note that setting this -# option to 1 or 2 may greatly reduce the computation time needed for large -# code bases. Also note that the size of a graph can be further restricted by -# DOT_GRAPH_MAX_NODES. Using a depth of 0 means no depth restriction. - -MAX_DOT_GRAPH_DEPTH = 0 - -# Set the DOT_TRANSPARENT tag to YES to generate images with a transparent -# background. This is disabled by default, because dot on Windows does not -# seem to support this out of the box. Warning: Depending on the platform used, -# enabling this option may lead to badly anti-aliased labels on the edges of -# a graph (i.e. they become hard to read). - -DOT_TRANSPARENT = NO - -# Set the DOT_MULTI_TARGETS tag to YES allow dot to generate multiple output -# files in one run (i.e. multiple -o and -T options on the command line). This -# makes dot run faster, but since only newer versions of dot (>1.8.10) -# support this, this feature is disabled by default. - -DOT_MULTI_TARGETS = NO - -# If the GENERATE_LEGEND tag is set to YES (the default) Doxygen will -# generate a legend page explaining the meaning of the various boxes and -# arrows in the dot generated graphs. - -GENERATE_LEGEND = YES - -# If the DOT_CLEANUP tag is set to YES (the default) Doxygen will -# remove the intermediate dot files that are used to generate -# the various graphs. - -DOT_CLEANUP = YES diff --git a/doc/build-msw.txt b/doc/build-msw.txt deleted file mode 100644 index ff150c3..0000000 --- a/doc/build-msw.txt +++ /dev/null @@ -1,72 +0,0 @@ -Copyright (c) 2009-2012 Bitcoin Developers -Copyright (c) 2013-2019 NovaCoin Developers - -Distributed under the MIT/X11 software license, see the accompanying -file license.txt or http://www.opensource.org/licenses/mit-license.php. -This product includes software developed by the OpenSSL Project for use in -the OpenSSL Toolkit (http://www.openssl.org/). This product includes -cryptographic software written by Eric Young (eay@cryptsoft.com). - - -See readme-qt.rst for instructions on building NovaCoin QT, the -graphical user interface. - -WINDOWS BUILD NOTES -=================== - -Compilers Supported -------------------- -TODO: What works? -Note: releases are cross-compiled using mingw running on Linux. - - -Dependencies ------------- -Libraries you need to download separately and build: - - default path download -OpenSSL \openssl-1.0.2t-mgw http://www.openssl.org/source/ -Berkeley DB \db-6.0.20.NC-mgw http://www.oracle.com/technology/software/products/berkeley-db/index.html -Boost \boost-1.57.0-mgw http://www.boost.org/users/download/ - -Their licenses: -OpenSSL Old BSD license with the problematic advertising requirement -Berkeley DB New BSD license with additional requirement that linked software must be free open source -Boost MIT-like license - -Versions used in this release: -OpenSSL 1.0.2t -Berkeley DB 6.0.20.NC -Boost 1.57.0 - - -OpenSSL -------- -MSYS shell: -un-tar sources with MSYS 'tar xfz' to avoid issue with symlinks (OpenSSL ticket 2377) -change 'MAKE' env. variable from 'C:\MinGW32\bin\mingw32-make.exe' to '/c/MinGW32/bin/mingw32-make.exe' - -cd /c/openssl-1.0.2t-mgw -./config -make - -Berkeley DB ------------ -MSYS shell: -cd /c/db-6.0.20.NC-mgw/build_unix -sh ../dist/configure --enable-mingw --enable-cxx -make - -Boost ------ -DOS prompt: -downloaded boost jam 3.1.18 -cd \boost-1.57.0-mgw -bjam toolset=gcc --build-type=complete stage - -NovaCoin -------- -DOS prompt: -cd \novacoin\src -mingw32-make -f makefile.mingw -strip novacoind.exe diff --git a/doc/build-osx.txt b/doc/build-osx.txt deleted file mode 100644 index 337fff9..0000000 --- a/doc/build-osx.txt +++ /dev/null @@ -1,56 +0,0 @@ -Copyright (c) 2017-2019 42 Developers -Copyright (c) 2019 NovaCoin Developers - -Mac OS X Build Instructions and Notes -===================================== - -MacOS 10.11.6 - El Capitan was used in this manual. All of the commands should be executed in a Terminal application. The built-in one is located in /Applications/Utilities. - -1. Install Xcode (7.3.1 for El Capitan), run it and accept the license agreement: - -https://developer.apple.com/xcode/ - -Install Xcode command line tools: - -xcode-select --install - -2. Install MacPorts with main dependencies: - -https://distfiles.macports.org/MacPorts/MacPorts-2.3.5-10.11-ElCapitan.pkg - -sudo port install autoconf automake libtool pkgconfig db60 openssl qrencode qt5 - -sudo ln -s /opt/local/libexec/qt5/bin/qmake /opt/local/bin/qmake - -3. Install Homebrew(http://brew.sh) with dependencies: - -/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" - -brew install python2 boost@1.60 - -brew link --force boost@1.60 - -4. Add to PATH: - -nano ~/.profile - -export PATH=$PATH:~/opt/local/lib/db6.0 -export PATH=$PATH:~/opt/local/lib/db60/include -export PATH=$PATH:~/usr/local/Cellar/boost@1.60/1.60.0/include/boost/thread.hpp - -Ctrl+O, Enter, Ctrl+X - -5. Clone the github tree: - -git clone https://github.com/novacoin-project/novacoin.git - -6. Build novacoin-Qt application: - -cd novacoin -qmake -make - -7. Create the .dmg disk image: - -sudo easy_install appscript -./contrib/macdeploy/macdeployqtplus novacoin-Qt.app -dmg -fancy ./contrib/macdeploy/fancy.plist \ No newline at end of file diff --git a/doc/build-unix.txt b/doc/build-unix.txt deleted file mode 100644 index 7f592e2..0000000 --- a/doc/build-unix.txt +++ /dev/null @@ -1,137 +0,0 @@ -Copyright (c) 2009-2012 Bitcoin Developers -Copyright (c) 2013 NovaCoin Developers -Distributed under the MIT/X11 software license, see the accompanying -file license.txt or http://www.opensource.org/licenses/mit-license.php. -This product includes software developed by the OpenSSL Project for use in -the OpenSSL Toolkit (http://www.openssl.org/). This product includes -cryptographic software written by Eric Young (eay@cryptsoft.com). - - -UNIX BUILD NOTES -================ - -To Build --------- - -cd src/ -make -f makefile.unix # Headless novacoin - -See readme-qt.rst for instructions on building NovaCoin QT, -the graphical novacoin. - -Dependencies ------------- - - Library Purpose Description - ------- ------- ----------- - libssl SSL Support Secure communications - libdb4.8 Berkeley DB Blockchain & wallet storage - libboost Boost C++ Library - libqrencode QRCode generation Optional QRCode generation - -Note that libexecinfo should be installed, if you building under *BSD systems. -This library provides backtrace facility. - -libqrencode is used for QRCode image generation. It can be downloaded -from http://fukuchi.org/works/qrencode/index.html.en, or installed via -your package manager. - -Licenses of statically linked libraries: - Berkeley DB New BSD license with additional requirement that linked - software must be free open source - Boost MIT-like license - -Versions used in this release: - GCC 4.3.3 - OpenSSL 0.9.8g - Berkeley DB 4.8.30.NC - Boost 1.37 - -Dependency Build Instructions: Ubuntu & Debian ----------------------------------------------- -sudo apt-get install build-essential -sudo apt-get install libssl-dev -sudo apt-get install libdb4.8-dev -sudo apt-get install libdb4.8++-dev - Boost 1.40+: sudo apt-get install libboost-all-dev - or Boost 1.37: sudo apt-get install libboost1.37-dev -sudo apt-get install libqrencode-dev - -If using Boost 1.37, append -mt to the boost libraries in the makefile. - - -Dependency Build Instructions: Gentoo -------------------------------------- - -Note: If you just want to install novacoind on Gentoo, you can add the Novacoin - overlay and use your package manager: - layman -a novacoin && emerge novacoind - -emerge -av1 --noreplace boost glib openssl sys-libs/db:4.8 - -Take the following steps to build: - cd ${NOVACOIN_DIR}/src - make -f makefile.unix BDB_INCLUDE_PATH='/usr/include/db4.8' - strip novacoind - - -Notes ------ -The release is built with GCC and then "strip novacoind" to strip the debug -symbols, which reduces the executable size by about 90%. - -Berkeley DB ------------ -You need Berkeley DB 4.8. If you have to build Berkeley DB yourself: -../dist/configure --enable-cxx -make - - -Boost ------ -If you need to build Boost yourself: -sudo su -./bootstrap.sh -./bjam install - - -Security --------- -To help make your novacoin installation more secure by making certain attacks impossible to -exploit even if a vulnerability is found, you can take the following measures: - -* Position Independent Executable - Build position independent code to take advantage of Address Space Layout Randomization - offered by some kernels. An attacker who is able to cause execution of code at an arbitrary - memory location is thwarted if he doesn't know where anything useful is located. - The stack and heap are randomly located by default but this allows the code section to be - randomly located as well. - - On an Amd64 processor where a library was not compiled with -fPIC, this will cause an error - such as: "relocation R_X86_64_32 against `......' can not be used when making a shared object;" - - To build with PIE, use: - make -f makefile.unix ... -e PIE=1 - - To test that you have built PIE executable, install scanelf, part of paxutils, and use: - scanelf -e ./novacoin - - The output should contain: - TYPE - ET_DYN - -* Non-executable Stack - If the stack is executable then trivial stack based buffer overflow exploits are possible if - vulnerable buffers are found. By default, novacoin should be built with a non-executable stack - but if one of the libraries it uses asks for an executable stack or someone makes a mistake - and uses a compiler extension which requires an executable stack, it will silently build an - executable without the non-executable stack protection. - - To verify that the stack is non-executable after compiling use: - scanelf -e ./novacoin - - the output should contain: - STK/REL/PTL - RW- R-- RW- - - The STK RW- means that the stack is readable and writeable but not executable. diff --git a/doc/building novacoin-qt for android under Windows.txt b/doc/building novacoin-qt for android under Windows.txt deleted file mode 100644 index 2bcb8c0..0000000 --- a/doc/building novacoin-qt for android under Windows.txt +++ /dev/null @@ -1,274 +0,0 @@ -ARMv7 (Собрано в Windows 7) -1.1 Установка архиватора 7z: http://www.7-zip.org/ -(при написании инструкции использовался 7-Zip 15.14 64 bit x64, но скорее всего подойдёт любая версия) - -1.2 Установка msys shell: --Скачайте http://sourceforge.net/projects/mingw/files/Installer/mingw-get-setup.exe/download --нажмите Install --директория для установки C:\MinGW --оставить галочку напротив "...also install support for the graphical user interface." --убрать галочки напротив "..in the start menu, and/or .." "... on the desktop" --нажмите continue, continue --нажмите All Packages, затем MSYS --отметьте для установки: -msys-autoconf bin -msys-automake bin -msys-base bin -msys-libtool bin --нажмите Installation, Apply Changes, Apply. После завершения установки нажмите Close и закройте MinGW Installation Manager. - -1.3 Установка qt-5.6.0 для Android --Скачайте http://master.qt.io/archive/qt/5.6/5.6.0/qt-opensource-windows-x86-android-5.6.0.exe --Запустите установщик --Каталог для установки оставьте по умолчанию (C:\Qt\Qt5.6.0) --Выберите среди компонентов MinGW 4.9.1, остальные компоненты оставьте по умолчанию -(У меня окошко выглядит так: https://yadi.sk/i/e9W_pXTge43u5 ) -(можно так же выбрать Android X86, и Android armv5 если собираетесь собирать под эти CPU) - -1.4 Установка JAVA JDK --Зайдите на сайт http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html --Скачайте и установите JDK (при написании инструкции использовалась jdk-8u172-windows-i586.exe ) - -1.5 Установка Android SDK --Скачайте http://dl.google.com/android/installer_r24.0.2-windows.exe --Установите в папку C:\Android\sdk --Запустите SDK Manager.exe --Установите Android SDK Tools 24.4.1, Android SDK Platform-tools 23.0.1, Android SDK Build-tools 23.0.1, SDK Platform 22, Google APIs 22, ARM EABI v7a System Image 22, Google USB driver --по окончанию установки, перезапустите SDK Manager.exe для проверки наличия обновлений установленных компонентов - -1.6 Установка Android NDK --На сайте https://developer.android.com/tools/sdk/ndk/index.html#Downloads --Скачайте https://dl.google.com/android/repository/android-ndk-r13b-windows-x86_64.zip - --Распакуйте в папку C:\Android --Добавьте путь C:\Android\android-ndk-r13b\toolchains\arm-linux-androideabi-4.9\prebuilt\windows-x86_64\bin в системную переменную PATH: - нажмите правой кнопкой мыши на "Компьютер", в открывшемся меню нажмите "Свойства", затем "Дополнительные параметры системы", потом "Переменные среды" -https://yadi.sk/i/GnG9HiGme46oi -Подробное описание как это сделать на Windows 8, Windows 7, Windows XP и Windows Vista -https://www.java.com/ru/download/help/path.xml -(только не нужно выполнять последний пункт из этой инструкции "Откройте заново окно командной строки и выполните код java." ) - -Проверка что вы добавили правильный путь в переменную PATH: --откройте командную строку Windows(Нажмите кнопку Windows + R одновременно. Откроется окно "Выполнить", в поле открыть наберите cmd. Нажмите Ok). --наберите arm-linux-androideabi-g++ -v -В командной строке выведется текст. В конце текста должно быть написано: -Thread model: posix -gcc version 4.9 20150123 (prerelease) (GCC) - -1.7 Установка Apache Ant --Зайдите на сайт https://ant.apache.org/bindownload.cgi --Скачайте архив с программой: http://apache-mirror.rbc.ru/pub/apache//ant/binaries/apache-ant-1.10.3-bin.zip --Распакуйте в папку C:\Android\apache-ant-1.10.3 - -1.8 Добавьте новые системные переменные(Они нужны только для пункта 2. Построение зависимостей, после этого их можно убрать) --В "Системные переменные" нажмите "Cоздать"(ниже будет идти список "переменная и её значение") -ANDROID_DEV /c/Android/android-ndk-r13b/platforms/android-9/arch-arm/usr -AR /c/Android/android-ndk-r13b/toolchains/arm-linux-androideabi-4.9/prebuilt/windows-x86_64/bin/arm-linux-androideabi-ar -AS /c/Android/android-ndk-r13b/toolchains/arm-linux-androideabi-4.9/prebuilt/windows-x86_64/bin/arm-linux-androideabi-as -CC /c/Android/android-ndk-r13b/toolchains/arm-linux-androideabi-4.9/prebuilt/windows-x86_64/bin/arm-linux-androideabi-gcc -CFLAGS --sysroot=/c/Android/android-ndk-r13b/platforms/android-9/arch-arm/ -CPP /c/Android/android-ndk-r13b/toolchains/arm-linux-androideabi-4.9/prebuilt/windows-x86_64/bin/arm-linux-androideabi-cpp -CPPFLAGS --sysroot=/c/Android/android-ndk-r13b/platforms/android-9/arch-arm/ -CXX /c/Android/android-ndk-r13b/toolchains/arm-linux-androideabi-4.9/prebuilt/windows-x86_64/bin/arm-linux-androideabi-g++ -CXXFLAGS --sysroot=/c/Android/android-ndk-r13b/platforms/android-9/arch-arm/ -I/c/Android/android-ndk-r13b/sources/cxx-stl/gnu-libstdc++/4.9/include -I/c/Android/android-ndk-r13b/sources/cxx-stl/gnu-libstdc++/4.9/libs/armeabi-v7a/include -LD /c/Android/android-ndk-r13b/toolchains/arm-linux-androideabi-4.9/prebuilt/windows-x86_64/bin/arm-linux-androideabi-ld -NDK_PROJECT_PATH C:\Android\android-ndk-r13b -RANLIB /c/Android/android-ndk-r13b/toolchains/arm-linux-androideabi-4.9/prebuilt/windows-x86_64/bin/arm-linux-androideabi-ranlib - -2. Построение зависимостей. -В инструкции все зависимости сохраняются в папку C:\Android\deps - -2.1 OpenSSL --Скачайте http://www.openssl.org/source/openssl-1.0.2t.tar.gz --Распакуйте в папку C:\Android\deps\openssl-1.0.2 --Перейдите в папку C:\MinGW\msys\1.0 и запустите msys.bat -Из MinGw shell выполните следующий код: - -cd /c/Android/deps/openssl-1.0.2 -Configure no-shared no-dso android-armv7 -make - -2.2 Berkeley DB --Скачайте http://download.oracle.com/berkeley-db/db-6.0.20.tar.gz --Из MinGw shell выполните следующий код: - -cd /c/Android/deps/ -tar xvfz db-6.0.20.tar.gz -cd db-6.0.20/build_unix -../dist/configure --host=arm-none-linux --enable-cxx --disable-shared --disable-replication -make - -2.3 Boost --Скачайте http://sourceforge.net/projects/boost/files/boost/1.57.0/boost_1_57_0.7z/download --Распакуйте boost_1_57_0.7z в папку C:\Android\deps --Откройте командную строку Windows, и выполните следующий код: - -cd C:\Android\deps\boost_1_57_0 -bootstrap.bat - -Не закрывайте командную строку. Откройте файл C:\Android\deps\boost_1_57_0\project-config.jam в текстовом редакторе, удалите его содержимое, вставьте следующий текст - -import option ; - -using gcc : arm : arm-linux-androideabi-g++.exe ; - -option.set keep-going : false ; - -и сохраните файл - -Вернитесь в командную строку и введите: - -b2 --build-type=complete --with-chrono --with-filesystem --with-program_options --with-system --with-thread toolset=gcc-arm variant=release link=static threading=multi threadapi=pthread target-os=android define=BOOST_MATH_DISABLE_FLOAT128 include=C:\Android\android-ndk-r13b\sources\cxx-stl\gnu-libstdc++\4.9\include include=C:\Android\android-ndk-r13b\sources\cxx-stl\gnu-libstdc++\4.9\libs\armeabi\include include=C:\Android\android-ndk-r13b\platforms\android-9\arch-arm\usr\include - -После выполнения этой команды в папке C:\Android\deps\boost_1_57_0\stage\lib должны появиться следующие файлы: -libboost_atomic-gcc-mt-s-1_57.a -libboost_chrono-gcc-mt-s-1_57.a -libboost_filesystem-gcc-mt-s-1_57.a -libboost_program_options-gcc-mt-s-1_57.a -libboost_system-gcc-mt-s-1_57.a -libboost_thread_pthread-gcc-mt-s-1_57.a - -2.4 LevelDB --Зайдите на сайт https://github.com/novacoin-project/novacoin --Нажмите Download ZIP --Распакуйте novacoin-master.zip в C:\Android --Откройте MinGW shell (C:\MinGW\msys\1.0\msys.bat) и выполните следующий код: - -cd /c/android/novacoin-master/src/leveldb -TARGET_OS=OS_ANDROID_CROSSCOMPILE make libleveldb.a libmemenv.a - -2.5 ifaddrs --Зайдите на сайт https://github.com/kmackay/android-ifaddrs --Нажмите Download ZIP --Откройте архив android-ifaddrs-master.zip , выберите файлы ifaddrs.c и ifaddrs.h и извлеките их в C:\Android\novacoin-master\src - -3. Компиляция -3.1 Собираем Novacoin QT - -Откройте файл novacoin-qt.pro -Вместо - -#BOOST_LIB_SUFFIX=-mgw49-mt-s-1_55 -#BOOST_INCLUDE_PATH=C:/deps/boost_1_55_0 -#BOOST_LIB_PATH=C:/deps/boost_1_55_0/stage/lib -#BDB_INCLUDE_PATH=C:/deps/db-6.0.20/build_unix -#BDB_LIB_PATH=C:/deps/db-6.0.20/build_unix -#OPENSSL_INCLUDE_PATH=C:/deps/openssl-1.0.1j/include -#OPENSSL_LIB_PATH=C:/deps/openssl-1.0.1j - -вставьте - -USE_IPV6=0 -USE_LEVELDB=1 -USE_ASM=1 - -BOOST_LIB_SUFFIX=-gcc-mt-s-1_57 -BOOST_INCLUDE_PATH=C:/Android/deps/boost_1_57_0 -BOOST_LIB_PATH=C:/Android/deps/boost_1_57_0/stage/lib -BDB_INCLUDE_PATH=C:/Android/deps/db-6.0.20/build_unix -BDB_LIB_PATH=C:/Android/deps/db-6.0.20/build_unix -OPENSSL_INCLUDE_PATH=C:/Android/deps/openssl-1.0.2/include -OPENSSL_LIB_PATH=C:/Android/deps/openssl-1.0.2 - -Вместо - -!windows|contains(USE_BUILD_INFO, 1) { - genbuild.depends = FORCE - genbuild.commands = cd $$PWD; /bin/sh share/genbuild.sh $$OUT_PWD/build/build.h - genbuild.target = $$OUT_PWD/build/build.h - PRE_TARGETDEPS += $$OUT_PWD/build/build.h - QMAKE_EXTRA_TARGETS += genbuild - DEFINES += HAVE_BUILD_INFO -} - -вставьте - -#!windows|contains(USE_BUILD_INFO, 1) { -# genbuild.depends = FORCE -# genbuild.commands = cd $$PWD; /bin/sh share/genbuild.sh $$OUT_PWD/build/build.h -# genbuild.target = $$OUT_PWD/build/build.h -# PRE_TARGETDEPS += $$OUT_PWD/build/build.h -# QMAKE_EXTRA_TARGETS += genbuild -# DEFINES += HAVE_BUILD_INFO -#} - -После строки src/irc.h \ вставьте src/ifaddrs.h \ -(то есть чтобы стало выглядеть так: -src/irc.h \ -src/ifaddrs.h \ -src/mruset.h \ -) - -После строки src/qt/transactiontablemodel.cpp \ вставьте src/ifaddrs.c \ - -Закоментируйте строку LIBS += -lrt -(то есть чтобы стало выглядеть так: -!windows:!macx { - DEFINES += LINUX -# LIBS += -lrt -} -) - -Измените строку -LIBS += -lboost_system$$BOOST_LIB_SUFFIX -lboost_filesystem$$BOOST_LIB_SUFFIX -lboost_program_options$$BOOST_LIB_SUFFIX -lboost_thread$$BOOST_THREAD_LIB_SUFFIX -на -LIBS += -lboost_system$$BOOST_LIB_SUFFIX -lboost_filesystem$$BOOST_LIB_SUFFIX -lboost_program_options$$BOOST_LIB_SUFFIX -lboost_thread_pthread$$BOOST_THREAD_LIB_SUFFIX - -Сохраните изменения в файле novacoin-qt.pro. - --Откройте файл C:\Qt\Qt5.6.0\Tools\QtCreator\bin\qtcreator.exe --Нажмите "Инструменты"->"Параметры"->"Устройства", затем выберите вкладку Android --Вставьте в строку "Размещение JDK" C:\Program Files (x86)\Java\jdk1.8.0_172 --Вставьте в строку "Размещение SDK для Android" C:\Android\sdk --Вставьте в строку "Размещение NDK для Android" C:\Android\android-ndk-r13b --Проверьте, чтоб в строке "Программа Ant" было C:\Android\apache-ant-1.10.3\bin\ant.bat --Нажмите "OK" --Нажмите "Файл"->"Открыть файл или проект..." --Найдите "novacoin-qt.pro" и нажмите "открыть" --Поставьте галочку напротив Android для armeabi-v7a(GCC 4.9, Qt 5.6.0), остальные галочки уберите --Нажмите "Настроить проект" --Нажмите "Проекты"->Изменить конфигурацию сборки: выберите "Выпуск"->Собрать Android APK "Подробнее"->"Создать шаблоны"(картинка чтобы лучше понять https://yadi.sk/i/M8mhG2tce4cEy) --Нажмите "Завершить" --Задайте имя пакета "org.fortytwo.coin", выберите иконки для приложения (находятся в папке C:\Android\novacoin-master\src\qt\res\icons, для Google Play Market иконка должна быть не менее 512x512), выберите "целевой SDK: API 21"(https://yadi.sk/i/oY-OmnrWe4cTY) --В QtCreator'е нажмите "Сборка"->"Собрать проект "novacoin-qt""->"Сохранить все" и ждите завершения компиляции. --После завершения компиляции в папке C:\Android\build-novacoin-qt-Android_armeabi_v7a_GCC_4_9_Qt_5_6_0-Release\android-build\bin будет файл QtApp-debug.apk. Переименуйте его в novacoin-qt.apk и можно распростронять. - -Изменения для Android X86 -1. Добавить путь C:\Android\android-ndk-r13b\toolchains\x86-4.9\prebuilt\windows-x86_64\bin в системную переменную PATH -2. Изменить системные переменные так: - -ANDROID_DEV /c/Android/android-ndk-r13b/platforms/android-9/arch-x86/usr -AR /c/Android/android-ndk-r13b/toolchains/x86-4.9/prebuilt/windows-x86_64/bin/i686-linux-android-ar -AS /c/Android/android-ndk-r13b/toolchains/x86-4.9/prebuilt/windows-x86_64/bin/i686-linux-android-as -CC /c/Android/android-ndk-r13b/toolchains/x86-4.9/prebuilt/windows-x86_64/bin/i686-linux-android-gcc -CFLAGS --sysroot=/c/Android/android-ndk-r13b/platforms/android-9/arch-x86/ -CPP /c/Android/android-ndk-r13b/toolchains/x86-4.9/prebuilt/windows-x86_64/bin/i686-linux-android-cpp -CPPFLAGS --sysroot=/c/Android/android-ndk-r13b/platforms/android-9/arch-x86/ -CXX /c/Android/android-ndk-r13b/toolchains/x86-4.9/prebuilt/windows-x86_64/bin/i686-linux-android-g++ -CXXFLAGS --sysroot=/c/Android/android-ndk-r13b/platforms/android-9/arch-x86/ -I/c/Android/android-ndk-r13b/sources/cxx-stl/gnu-libstdc++/4.9/include -I/c/Android/android-ndk-r13b/sources/cxx-stl/gnu-libstdc++/4.9/libs/x86/include -LD /c/Android/android-ndk-r13b/toolchains/x86-4.9/prebuilt/windows-x86_64/bin/i686-linux-android-ld -RANLIB /c/Android/android-ndk-r13b/toolchains/x86-4.9/prebuilt/windows-x86_64/bin/i686-linux-android-ranlib - -3. При построении OpenSSL выполнить -Configure no-shared no-dso android-x86 -вместо -Configure no-shared no-dso android-armv7 - -4. При построении BerkeleyDB выполнить -../dist/configure --host=x86-none-linux --enable-cxx --disable-shared --disable-replication -вместо -../dist/configure --host=arm-none-linux --enable-cxx --disable-shared --disable-replication - -5. При построении Boost вставить -using gcc : x86 : i686-linux-android-g++.exe ; -вместо -using gcc : arm : arm-linux-androideabi-g++.exe ; - -и выполнить -b2 --build-type=complete --with-chrono --with-filesystem --with-program_options --with-system --with-thread toolset=gcc variant=release link=static threading=multi threadapi=pthread target-os=android define=BOOST_MATH_DISABLE_FLOAT128 include=C:\Android\android-ndk-r10d\sources\cxx-stl\gnu-libstdc++\4.9\include include=C:\Android\android-ndk-r10d\sources\cxx-stl\gnu-libstdc++\4.9\libs\x86\include include=C:\Android\android-ndk-r10d\platforms\android-9\arch-x86\usr\include - -вместо - -b2 --build-type=complete --with-chrono --with-filesystem --with-program_options --with-system --with-thread toolset=gcc-arm variant=release link=static threading=multi threadapi=pthread target-os=android define=BOOST_MATH_DISABLE_FLOAT128 include=C:\Android\android-ndk-r10d\sources\cxx-stl\gnu-libstdc++\4.9\include include=C:\Android\android-ndk-r10d\sources\cxx-stl\gnu-libstdc++\4.9\libs\armeabi\include include=C:\Android\android-ndk-r10d\platforms\android-9\arch-arm\usr\include - -6. В QtCreator выбирать Android для X86 вместо Android для armeabi-v7a diff --git a/doc/building novacoind and novacoinqt under Linux.txt b/doc/building novacoind and novacoinqt under Linux.txt deleted file mode 100644 index a435ce9..0000000 --- a/doc/building novacoind and novacoinqt under Linux.txt +++ /dev/null @@ -1,51 +0,0 @@ -Сборка для Linux -Если предпочитаете компилировать свои собственные бинарные файлы, тогда нужны пакеты разработчика: - -Ubuntu/Debian: - sudo apt-get install git qt4-qmake libqt4-dev build-essential libboost-dev libboost-system-dev - libboost-filesystem-dev libboost-program-options-dev libboost-thread-dev - libssl-dev libdb++-dev libqrencode-dev - -Если у вас возникла ошибка при установке qt4-qmake (Возникает на Ubuntu 14.04.2 и возможно в других версиях) -libcheese-gtk23 : Depends: libclutter-gtk-1.0-0 (>= 0.91.8) but it is not going to be installed - Depends: libcogl15 (>= 1.15.8) but it is not going to be installed -libcheese7 : Depends: libclutter-gst-2.0-0 (>= 0.10.0) but it is not going to be installed - Depends: gstreamer1.0-clutter but it is not going to be installed -libclutter-1.0-0 : Depends: libcogl-pango15 (>= 1.15.8) but it is not going to be installed - Depends: libcogl15 (>= 1.15.8) but it is not going to be installed - -То введите -sudo apt-get install libglew-dev libcheese7 libcheese-gtk23 libclutter-gst-2.0-0 libcogl15 libclutter-gtk-1.0-0 libclutter-1.0-0 xserver-xorg-input-all - -openSUSE(проверено на версии 13.2): - sudo zypper install git gcc gcc-c++ libqt4-devel boost-devel libopenssl-devel libdb-4_8-devel libqrencode3 - -После того, как установка завершалась, можно клонировать Novacoin репозитарий - - git clone https://github.com/novacoin-project/novacoin.git - -и наконец, скомпилировать свой клиент - - cd novacoin - qmake USE_O3=1 USE_ASM=1 (если хотите LevelDB, то USE_LEVELDB=1) - make - cd src - make -f makefile.unix USE_O3=1 USE_ASM=1 (если хотите LevelDB, то USE_LEVELDB=1) - strip novacoind - -Команды выше компилируют бинарные файлы с динамической линковкой, если вы хотите со статической линковкой и ваш дистрибутив содержит статические библиотеки(.a , а не .so), то добавьте: --в команду qmake: - RELEASE=1 --в команду make -f makefile.unix: - STATIC=1 - -Если вы хотите уменьшить размер бинарных файлов, то -1) Перейдите на сайт http://upx.sourceforge.net/#downloadupx -2) Скачайте программу в соответсвии с вашей системой -3) Распакуйте программу в папку с бинарными Novacoin файлами. -4) Введите в терминале -./upx -9 novacoind -затем -./upx -9 novacoin-qt - -И ваши novacoind и novacoin-qt станут меньше ~ в 3 раза. diff --git a/doc/building novacoind and novacoinqt under Windows with MSVC.txt b/doc/building novacoind and novacoinqt under Windows with MSVC.txt deleted file mode 100644 index 44b9e91..0000000 --- a/doc/building novacoind and novacoinqt under Windows with MSVC.txt +++ /dev/null @@ -1,125 +0,0 @@ -1. Подготовка системы. -Внимание: данная инструкция (включая сопутствуюшие файлы) расчитана на сборку в среде Windows 64-bit. - -1.1 Установка архиватора 7z: http://www.7-zip.org/ -(при написании инструкции использовался 7-Zip 9.20 64 bit X64, но скорее всего подойдёт любая версия) - -1.2 Установка Visual Studio 2012. (Подойдёт даже бесплатная версия) -http://www.microsoft.com/ru-ru/download/details.aspx?id=34673 -Установить обновление Visual Studio 2012 Update 4 -http://www.microsoft.com/ru-ru/download/details.aspx?id=39305 - -1.3 Установка Perl(при написании инструкции использовался ActivePerl-5.16.3.1604-MSWin32-x86-298023.msi) -http://www.activestate.com/activeperl/downloads -Убедитесь что после установки Perl в PATH есть пути(у меня Perl был установлен на диск C:\) C:\Perl\site\bin;C:\Perl\bin; - -1.4 Установка Python(подойдёт и 2 версия и 3 версия)(при написании инструкции использовался Python 3.3.3) -https://www.python.org/downloads/ -Убедитесь что после установки Python в PATH есть путь до python.exe - -1.5 Установка Nasm (при написании инструкции использовался nasm-2.07-installer.exe) -http://sourceforge.net/projects/nasm/files/latest/download -Убедитесь что после установки Nasm в PATH есть путь до Nasm.exe - -2. Построение зависимостей. -В инструкции все зависимости сохраняются в папку C:\MyProjects\Deps -Скопируйте папку build-helpers(находится в архиве с исходниками в папке MSVC) и вставьте в папку C:\MyProjects\Deps - -2.1 OpenSSL --Скачайте http://www.openssl.org/source/openssl-1.0.2.tar.gz --Распакуйте архив в папку C:\MyProjects\Deps --Откройте командную строку Windows и выполните следующий код: - -cd C:\MyProjects\Deps\build-helpers -buildopenssl.bat - - -2.2 Berkeley DB --Скачайте http://download.oracle.com/berkeley-db/db-6.0.20.tar.gz --Распакуйте архив в папку C:\MyProjects\Deps --Запустите Visual Studio 2012 --Откройте C:\MyProjects\Deps\db-6.0.20\build_windows\Berkeley_DB_vs2010.sln --Выберете проект db --Измените конфигурацию с Debug на Static Debug --Нажмите правой кнопкой мыши на проект db, затем в "Свойства" -> "Общие" убедитесь, что Набор символов "Использовать многобайтовую кодировку" --Перейдите в "C/C++" -> "Препроцессор" -> "Определения препроцессора" и удалите _UNICODE и UNICODE, также убедитесь, что в Унаследованных значениях нет -_UNICODE и UNICODE --Нажмите правой кнопкой мыши на проект db, затем "Только проект" -> "Построить только db" --Постройте так все Static конфигурации(Static Debug 32 bit, Static Release 32 bit, Static Debug X64, Static Release X64) - -Проверка: -Если вы всё сделали правильно то у вас будут файлы: -C:\MyProjects\Deps\db-6.0.20\build_windows\Win32\Static Release\libdb60s.lib -C:\MyProjects\Deps\db-6.0.20\build_windows\Win32\Static Debug\libdb60sd.lib -C:\MyProjects\Deps\db-6.0.20\build_windows\x64\Static Release\libdb60s.lib -C:\MyProjects\Deps\db-6.0.20\build_windows\x64\Static Debug\libdb60sd.lib - -2.3 Boost --Скачайте http://sourceforge.net/projects/boost/files/boost/1.57.0/boost_1_57_0.7z/download --Распакуйте boost_1_57_0.7z в папку C:\MyProjects\Deps --Откройте командную строку Windows и выполните следующий код: - -cd C:\MyProjects\Deps\build-helpers -buildboost.bat - -2.4 qrencode --Скачайте http://qrencode-win32.googlecode.com/archive/681f2ea7a41f919486d9932b3352a2e6920e1cb9.zip --Распакуйте --Откройте командную строку Windows и выполните следующий код: - -cd C:\MyProjects\Deps\build-helpers -buildqrcode.bat - -2.5 Qt 5 --Скачайте http://download.qt-project.org/official_releases/qt/5.3/5.3.2/single/qt-everywhere-opensource-src-5.3.2.7z --Распакуйте в C:\MyProjects\Deps --Если вам нужна поддержка 64 bit, то переименуйте папку qt-everywhere-opensource-src-5.3.2 в qt-everywhere-opensource-src-5.3.2-64 -(если вам нужна возможность строить и 32 bit и 64 bit бинарники, то у вас должны быть обе папки и qt-everywhere-opensource-src-5.3.2-64 и qt-everywhere-opensource-src-5.3.2 ) --Откройте командную строку Windows и выполните следующий код: - -cd C:\MyProjects\Deps\build-helpers -buildqt32.bat - -или для 64 bit - -cd C:\MyProjects\Deps\build-helpers -buildqt64.bat - - -3. Компиляция -Будем хранить исходники в папке C:\MyProjects - -3.0 Подготовка Microsoft Visual Studio 2012 к работе --Откройте Microsoft Visual Studio 2012 --Нажмите СЕРВИС -> Параметры.. -> Текстовый редактор -> Все языки -> Табуляция и поставьте флажок "Вставлять пробелы" -(Если у вас английская версия, то это выглядит так: Tools->Options->Text Editor->All Languages->Tabs и поставьте флажок "Insert Spaces" вместо "Keep Tabs".) - -3.1 Скачиваем исходники --Зайдите на сайт https://github.com/novacoin-project/novacoin --Нажмите Download ZIP --Распакуйте novacoin-master.zip в C:\MyProjects --переименуйте novacoin-master в Novacoin - -3.2 Компиляция --Откройте Microsoft Visual Studio 2012 --Откройте файл C:\MyProjects\Novacoin\MSVC\NovacoinSolution.sln --Можете компилировать и NovacoinD и NovacoinQT -(по-умолчанию выставлена компиляция с LevelDB, если вы хотите компилировать с BerkleyDB, то --Выберете проект libcommon, перейдите в свойства -> С\С++ -> Препроцессор, удалите USE_LEVELDB --Удалите из проекта libcommon libcommon -> Source Files -> txdb-leveldb.cpp и добавьте в проект -txdb-bdb.cpp --Удалите из проекта libcommon libcommon -> Header Files -> txdb-leveldb.h и добавьте в проект -txdb-bdb.h --Выберете проект NovacoinD, перейдите в свойства -> С\С++ -> Препроцессор, удалите USE_LEVELDB --Выберете проект NovacoinQT, перейдите в свойства -> С\С++ -> Препроцессор, удалите USE_LEVELDB - -Если вы хотите уменьшить размер бинарных файлов, то -1) Перейдите на сайт http://upx.sourceforge.net/#downloadupx -2) Скачайте программу в соответсвии с вашей системой -3) Распакуйте программу в папку с бинарными Novacoin файлами. -4) Введите в консоли -upx -9 NovacoinD.exe -затем -upx -9 NovacoinQT.exe - -И ваши NovacoinD и NovacoinQT станут меньше ~ в 3 раза. diff --git a/doc/building novacoind and novacoinqt under Windows with MinGW.txt b/doc/building novacoind and novacoinqt under Windows with MinGW.txt deleted file mode 100644 index 5ac6ef3..0000000 --- a/doc/building novacoind and novacoinqt under Windows with MinGW.txt +++ /dev/null @@ -1,460 +0,0 @@ -32 bit: -1. Подготовка системы. - -1.1 Установка архиватора 7z: http://www.7-zip.org/ -(при написании инструкции использовался 7-Zip 9.20 64 bit X64, но скорее всего подойдёт любая версия) - -1.2 Установка msys shell: --Скачайте http://sourceforge.net/projects/mingw/files/Installer/mingw-get-setup.exe/download --нажмите Install --директория для установки C:\MinGW --поставить галочку напротив "...also install support for the graphical user interface." --убрать галочки напротив "..in the start menu, and/or .." "... on the desktop" --нажмите continue --нажмите continue --нажмите All Packages, затем MSYS --поставте галочки напротив: -msys-autoconf-bin -msys-automake-bin -msys-base-bin -msys-libtool-bin --нажмите Installation, Apply Changes, Apply. После завершения установки нажмите Close и закройте MinGW Installation Manager. - -1.3 Установка MinGW-builds project toolchain: -Скачайте http://sourceforge.net/projects/mingw-w64/files/Toolchains%20targetting%20Win32/Personal%20Builds/mingw-builds/4.9.2/threads-posix/dwarf/i686-4.9.2-release-posix-dwarf-rt_v3-rev0.7z/download -и распакуйте на C:\ - -1.4 Добавьте в переменную PATH путь C:\mingw32\bin; -Подробное описание как это сделать в Windows: https://www.java.com/ru/download/help/path.xml -(только не нужно выполнять последний пункт из этой инструкции "Откройте заново окно командной строки и выполните код java." ) - -Проверка что вы всё сделали правильно: -1)C:\MinGW\bin должен содержать только файл mingw-get.exe -2)Откройте Командную строку (Нажмите кнопку Windows + R одновременно. Откроется окно "Выполнить", в поле открыть наберите cmd. Нажмите Ok). Наберите gcc -v. В командной строке выведется текст. В конце текста должно быть написано: -Thread model: posix -gcc version 4.9.2 (i686-posix-dwarf-rev0, Built by MinGW-W64 project) - -2. Построение зависимостей. -В инструкции все зависимости сохраняются в папку c:\deps - -2.1 OpenSSL --Скачайте https://openssl.org/source/openssl-1.0.2.tar.gz --Перейдите в папку C:\MinGW\msys\1.0 и запустите msys.bat -Из MinGw shell выполните следующий код: - -cd /c/deps/ -tar xvfz openssl-1.0.2.tar.gz -cd openssl-1.0.2 -Configure no-shared no-dso mingw -make - -2.2 Berkeley DB --Скачайте http://download.oracle.com/berkeley-db/db-6.0.20.tar.gz --Из MinGw shell выполните следующий код: - -cd /c/deps/ -tar xvfz db-6.0.20.tar.gz -cd db-6.0.20/build_unix -../dist/configure --enable-mingw --enable-cxx --disable-shared --disable-replication -make - -2.3 Boost --Скачайте http://sourceforge.net/projects/boost/files/boost/1.57.0/boost_1_57_0.7z/download --Распакуйте boost_1_57_0.7z в папку C:\deps --Откройте командную строку Windows, и выполните следующий код: - -cd C:\deps\boost_1_57_0\ -bootstrap.bat mingw -b2 --build-type=complete --with-chrono --with-filesystem --with-program_options --with-system --with-thread toolset=gcc variant=release link=static threading=multi runtime-link=static stage - -2.4 qrencode --Скачайте http://download.sourceforge.net/libpng/libpng-1.6.15.tar.gz?download --Распакуйте --Откройте MinGw shell (C:\MinGW\msys\1.0\msys.bat) и выполните следующий код: - -cd /c/deps/libpng-1.6.15 -configure --disable-shared -make -cp .libs/libpng16.a .libs/libpng.a - --Скачайте http://fukuchi.org/works/qrencode/qrencode-3.4.4.tar.gz --Распакуйте --Выполните следующий код в MinGW shell: - -cd /c/deps/qrencode-3.4.4 - -LIBS="../libpng-1.6.15/.libs/libpng.a ../../mingw32/i686-w64-mingw32/lib/libz.a" \ -png_CFLAGS="-I../libpng-1.6.15" \ -png_LIBS="-L../libpng-1.6.15/.libs" \ -configure --enable-static --disable-shared --without-tools - -make - -2.5 Qt 5 и Qt 4 -Библиотеки Qt будем хранить в папке C:\Qt -Для ускорения компиляции вместо -mingw32-make -используйте -mingw32-make -j n , где вместо n количество ядер вашего процессора -Qt 5: --Скачайте http://download.qt-project.org/official_releases/qt/5.4/5.4.0/submodules/qtbase-opensource-src-5.4.0.7z -http://download.qt-project.org/official_releases/qt/5.4/5.4.0/submodules/qttools-opensource-src-5.4.0.7z -http://download.qt-project.org/official_releases/qt/5.4/5.4.0/submodules/qttranslations-opensource-src-5.4.0.7z - --Распакуйте в C:\Qt --Переименуйте папку qtbase-opensource-src-5.4.0 в 5.4.0 --Откройте командную строку Windows и выполните следующий код: - -set INCLUDE=C:\deps\libpng-1.6.15;C:\deps\openssl-1.0.2\include -set LIB=C:\deps\libpng-1.6.15\.libs;C:\deps\openssl-1.0.2 - -cd C:\Qt\5.4.0 - -configure.bat -release -opensource -confirm-license -static -make libs -no-sql-sqlite -no-opengl -system-zlib -qt-pcre -no-icu -no-gif -system-libpng -no-libjpeg -no-freetype -no-angle -openssl -no-dbus -no-audio-backend -no-wmf-backend -no-qml-debug - -mingw32-make - -set PATH=%PATH%;C:\Qt\5.4.0\bin - -cd C:\Qt\qttools-opensource-src-5.4.0 -qmake qttools.pro -mingw32-make - -cd C:\Qt\qttranslations-opensource-src-5.4.0 -qmake qttranslations.pro -mingw32-make - - -Qt4: --Скачайте http://download.qt-project.org/official_releases/qt/4.8/4.8.7/qt-everywhere-opensource-src-4.8.7.zip --Распакуйте в C:\Qt --Переименуйте папку qt-everywhere-opensource-src-4.8.7 в 4.8.7 --Откройте командную строку Windows и выполните следующий код: - -cd C:\Qt\4.8.7 - -configure -release -opensource -confirm-license -static -no-sql-sqlite -no-qt3support -no-opengl -qt-zlib -no-gif -qt-libpng -qt-libmng -no-libtiff -qt-libjpeg -no-dsp -no-vcproj -no-openssl -no-dbus -no-phonon -no-phonon-backend -no-multimedia -no-audio-backend -no-webkit -no-script -no-scripttools -no-declarative -no-declarative-debug -qt-style-windows -qt-style-windowsxp -qt-style-windowsvista -no-style-plastique -no-style-cleanlooks -no-style-motif -no-style-cde -nomake demos -nomake examples - -mingw32-make - - -3. Компиляция -Будем хранить исходники в папке C:\MyProjects - -3.1 Скачиваем исходники --Зайдите на сайт https://github.com/novacoin-project/novacoin --Нажмите Download ZIP --Распакуйте novacoin-master.zip в C:\MyProjects - -3.2 Собираем novacoind --Перейдите в папку C:\MyProjects\novacoin-master\src --Откройте файл makefile.mingw в текстовом редакторе.(При написании инструкции использовался WordPad) --Добавьте строчку USE_ASM:=1 --Если вы хотите использовать LevelDB как базу блоков то измените: -USE_LEVELDB:=0 -на -USE_LEVELDB:=1 -(выше USE_IPV6:=1) - --Сохраните измененный файл makefile.mingw - --Откройте MinGW shell (C:\MinGW\msys\1.0\msys.bat) и выполните следующий код: - -cd /c/MyProjects/novacoin-master/src -make -f makefile.mingw -strip novacoind.exe - -Если у вас возникает ошибка "make: cc: Command not found", то поменяйте в файле makefile.mingw - - $(CC) -c $(xCXXFLAGS) -MMD -o $@ $< -на - gcc -c $(xCXXFLAGS) -MMD -o $@ $< - -Если всё сделано правильно, то файл novacoind.exe будет находится в папке C:\MyProjects\novacoin-master\src - - -3.3 Собираем Novacoin QT - -Внимание: Если вы хотите собирать Novacoin Qt с LevelDB, но пропустили шаг со сборкой novacoind.exe, то --Откройте MinGW shell (C:\MinGW\msys\1.0\msys.bat) и выполните следующий код: - -cd /c/myprojects/novacoin-master/src/leveldb -TARGET_OS=NATIVE_WINDOWS make libleveldb.a libmemenv.a - --Откройте файл C:\MyProjects\novacoin-master\novacoin-qt.pro в текстовом редакторе(при написании инструкции использовался WordPad) --Ниже -# Dependency library locations can be customized with: -# BOOST_INCLUDE_PATH, BOOST_LIB_PATH, BDB_INCLUDE_PATH, -# BDB_LIB_PATH, OPENSSL_INCLUDE_PATH and OPENSSL_LIB_PATH respectively -замените прописанные пути к зависимостям на - -BOOST_LIB_SUFFIX=-mgw49-mt-s-1_57 -BOOST_INCLUDE_PATH=C:/deps/boost_1_57_0 -BOOST_LIB_PATH=C:/deps/boost_1_57_0/stage/lib -BDB_INCLUDE_PATH=C:/deps/db-6.0.20/build_unix -BDB_LIB_PATH=C:/deps/db-6.0.20/build_unix -OPENSSL_INCLUDE_PATH=C:/deps/openssl-1.0.2/include -OPENSSL_LIB_PATH=C:/deps/openssl-1.0.2 -QRENCODE_INCLUDE_PATH=C:/deps/qrencode-3.4.4 -QRENCODE_LIB_PATH=C:/deps/qrencode-3.4.4/.libs - -Так же измените(если ещё не изменено) -LIBS += -lshlwapi -genleveldb.commands = cd $$PWD/src/leveldb && CC=$$QMAKE_CC CXX=$$QMAKE_CXX TARGET_OS=OS_WINDOWS_CROSSCOMPILE $(MAKE) OPT=\"$$QMAKE_CXXFLAGS $$QMAKE_CXXFLAGS_RELEASE\" libleveldb.a libmemenv.a && $$QMAKE_RANLIB $$PWD/src/leveldb/libleveldb.a && $$QMAKE_RANLIB $$PWD/src/leveldb/libmemenv.a - -на - -LIBS += -lshlwapi -#genleveldb.commands = cd $$PWD/src/leveldb && CC=$$QMAKE_CC CXX=$$QMAKE_CXX TARGET_OS=OS_WINDOWS_CROSSCOMPILE $(MAKE) OPT=\"$$QMAKE_CXXFLAGS $$QMAKE_CXXFLAGS_RELEASE\" libleveldb.a libmemenv.a && $$QMAKE_RANLIB $$PWD/src/leveldb/libleveldb.a && $$QMAKE_RANLIB $$PWD/src/leveldb/libmemenv.a - -Если в файле нет такой строчки CONFIG += static , то добавьте её. - -Измените -win32:QMAKE_LFLAGS........................ -на -win32:QMAKE_LFLAGS *= -Wl,--large-address-aware -static - -Измените -windows:LIBS += -lboost_chrono$$BOOST_LIB_SUFFIX -Wl,-Bstatic -lpthread -Wl,-Bdynamic -на -windows:LIBS += -lboost_chrono$$BOOST_LIB_SUFFIX - --Сохраните измененный файл novacoin-qt.pro --Откройте командную строку Windows и выполните следующий код: - -Qt5 + транзакционный индекс BDB - -set PATH=%PATH%;C:\Qt\5.4.0\bin -cd C:\MyProjects\novacoin-master -qmake "USE_IPV6=1" "USE_ASM=1" novacoin-qt.pro -mingw32-make -f Makefile.Release - - -Qt5 + транзакционный индекс LevelDB - -set PATH=%PATH%;C:\Qt\5.4.0\bin -cd C:\MyProjects\novacoin-master -qmake "USE_IPV6=1" "USE_LEVELDB=1" "USE_ASM=1" novacoin-qt.pro -mingw32-make -f Makefile.Release - -Qt4 + транзакционный индекс BDB - -set PATH=%PATH%;C:\Qt\4.8.7\bin -cd C:\MyProjects\novacoin-master -qmake "USE_IPV6=1" "USE_ASM=1" novacoin-qt.pro -mingw32-make -f Makefile.Release - -Qt4 + транзакционный индекс LevelDB - -set PATH=%PATH%;C:\Qt\4.8.7\bin -cd C:\MyProjects\novacoin-master -qmake "USE_IPV6=1" "USE_LEVELDB=1" "USE_ASM=1" novacoin-qt.pro -mingw32-make -f Makefile.Release - - - -Если всё сделано правильно, то файл novacoin-qt.exe будет находится в папке C:\MyProjects\novacoin-master\release - -Если вы хотите уменьшить размер бинарных файлов, то -1) Перейдите на сайт http://upx.sourceforge.net/#downloadupx -2) Скачайте программу в соответсвии с вашей системой -3) Распакуйте программу в папку с бинарными Novacoin файлами. -4) Введите в консоли -upx -9 novacoind.exe -затем -upx -9 novacoin-qt.exe - -И ваши novacoind и novacoin-qt станут меньше ~ в 3 раза. - - - -64 bit: -1.1 Так же как 32 bit - -1.2 Так же как 32 bit - -1.3 Установка MinGW-builds project toolchain: -Скачайте http://sourceforge.net/projects/mingw-w64/files/Toolchains%20targetting%20Win64/Personal%20Builds/mingw-builds/4.9.2/threads-posix/seh/x86_64-4.9.2-release-posix-seh-rt_v3-rev0.7z/download -и распакуйте на C:\ - -1.4 Удалите из переменной PATH путь C:\mingw32\bin; и добавьте в PATH путь C:\mingw64\bin; - -Проверка что вы всё сделали правильно: -1)C:\MinGW\bin должен содержать только файл mingw-get.exe -2)Откройте Командную строку (Нажмите кнопку Windows + R одновременно. Откроется окно "Выполнить", в поле открыть наберите cmd. Нажмите Ok). Наберите gcc -v. В командной строке выведется текст. В конце текста должно быть написано: -Thread model: posix -gcc version 4.9.2 (x86_64-posix-seh-rev0, Built by MinGW-W64 project) - -2. Построение зависимостей. -В инструкции все зависимости сохраняются в папку c:\deps\x64 - -2.1 OpenSSL: http://www.openssl.org/source/openssl-1.0.2.tar.gz --Перейдите в папку C:\MinGW\msys\1.0 и запустите msys.bat -Из MinGw shell выполните следующий код: - -cd /c/deps/x64/ -tar xvfz openssl-1.0.2.tar.gz -cd openssl-1.0.2 -Configure no-shared no-dso mingw64 -make - -2.2 Так же как 32 bit, только cd /c/deps/ меняется на cd /c/deps/x64/ - -2.3 Так же как 32 bit, только распаковка в C:\deps\x64 и команда cd C:\deps\boost_1_57_0\ меняется на cd C:\deps\x64\boost_1_57_0\ - -2.4 Часть с libpng так же как 32 bit, только распаковка в C:\deps\x64 -Затем --Скачайте http://fukuchi.org/works/qrencode/qrencode-3.4.4.tar.gz --Распакуйте в C:\deps\x64 --Выполните следующий код в MinGW shell: - -cd /c/deps/x64/qrencode-3.4.4 - -LIBS="../libpng-1.6.15/.libs/libpng.a ../../../mingw64/x86_64-w64-mingw32/lib/libz.a" \ -png_CFLAGS="-I../libpng-1.6.15" \ -png_LIBS="-L../libpng-1.6.15/.libs" \ -configure --enable-static --disable-shared --without-tools - -make - - -2.5 Qt 5 и Qt 4 -Библиотеки Qt будем хранить в папке C:\Qt -Для ускорения компиляции вместо -mingw32-make -используйте -mingw32-make -j n , где вместо n количество ядер вашего процессора -Qt 5: --Скачайте http://download.qt-project.org/official_releases/qt/5.4/5.4.0/submodules/qtbase-opensource-src-5.4.0.7z -http://download.qt-project.org/official_releases/qt/5.4/5.4.0/submodules/qttools-opensource-src-5.4.0.7z -http://download.qt-project.org/official_releases/qt/5.4/5.4.0/submodules/qttranslations-opensource-src-5.4.0.7z --Распакуйте в C:\Qt --Переименуйте папку qtbase-opensource-src-5.4.0 в 5.4.0-x64 --Переименуйте папку qttools-opensource-src-5.4.0 в qttools-opensource-src-5.4.0-x64 --Переименуйте папку qttranslations-opensource-src-5.4.0 в qttranslations-opensource-src-5.4.0-x64 --Откройте командную строку Windows и выполните следующий код: - -set INCLUDE=C:\deps\x64\libpng-1.6.15;C:\deps\x64\openssl-1.0.2\include -set LIB=C:\deps\x64\libpng-1.6.15\.libs;C:\deps\x64\openssl-1.0.2 - -cd C:\Qt\5.4.0-x64 - -configure.bat -release -opensource -confirm-license -static -make libs -no-sql-sqlite -no-opengl -system-zlib -qt-pcre -no-icu -no-gif -system-libpng -no-libjpeg -no-freetype -no-angle -openssl -no-dbus -no-audio-backend -no-wmf-backend -no-qml-debug - -mingw32-make - -set PATH=%PATH%;C:\Qt\5.4.0-x64\bin - -cd C:\Qt\qttools-opensource-src-5.4.0-x64 -qmake qttools.pro -mingw32-make - -cd C:\Qt\qttranslations-opensource-src-5.4.0-x64 -qmake qttranslations.pro -mingw32-make - -Qt4: --Скачайте http://download.qt-project.org/official_releases/qt/4.8/4.8.7/qt-everywhere-opensource-src-4.8.7.zip --Распакуйте в C:\Qt --Переименуйте папку qt-everywhere-opensource-src-4.8.7 в 4.8.7-x64 --Откройте командную строку Windows и выполните следующий код: - -configure -release -opensource -confirm-license -static -no-sql-sqlite -no-qt3support -no-opengl -qt-zlib -no-gif -qt-libpng -qt-libmng -no-libtiff -qt-libjpeg -no-dsp -no-vcproj -no-openssl -no-dbus -no-phonon -no-phonon-backend -no-multimedia -no-audio-backend -no-webkit -no-script -no-scripttools -no-declarative -no-declarative-debug -qt-style-windows -qt-style-windowsxp -qt-style-windowsvista -no-style-plastique -no-style-cleanlooks -no-style-motif -no-style-cde -nomake demos -nomake examples - -mingw32-make - -3. Компиляция -Будем хранить исходники в папке C:\MyProjects - -3.1 Так же как 32 bit - -3.2 Собираем novacoind --Измените makefile.mingw так же как в 32 bit --Откройте файл makefile.mingw в текстовом редакторе и сохраните его как makefile.ming64 --Измените в INCLUDEPATHS и LIBPATHS /c/deps/ на /c/deps/x64/ --Измените -LDFLAGS=-Wl,--dynamicbase -Wl,--nxcompat -Wl,--large-address-aware -static -на -LDFLAGS=-Wl,--dynamicbase -Wl,--nxcompat -Wl,-static, -static-libgcc --Удалите (если они есть)obj(.o) файлы из C:\MyProjects\novacoin-master\src\obj , если остались после 32 bit --Удалите (если они есть)libleveldb.a и libmemenv.a в папке C:\MyProjects\novacoin-master\src\leveldb --Удалите (если они есть)obj(.o) файлы из -C:\MyProjects\novacoin-master\src\leveldb\db -C:\MyProjects\novacoin-master\src\leveldb\helpers\memenv -C:\MyProjects\novacoin-master\src\leveldb\port -C:\MyProjects\novacoin-master\src\leveldb\table -C:\MyProjects\novacoin-master\src\leveldb\util --Откройте MinGW shell (C:\MinGW\msys\1.0\msys.bat) и выполните следующий код: - -cd /c/MyProjects/novacoin-master/src -make -f makefile.mingw64 -strip novacoind.exe - -Если всё сделано правильно, то файл novacoind.exe будет находится в папке C:\MyProjects\novacoin-master\src - - -3.3 Собираем Novacoin QT -Внимание: Если вы хотите собирать Novacoin Qt с LevelDB, но пропустили шаг со сборкой novacoind.exe, то --Удалите (если они есть)libleveldb.a и libmemenv.a в папке C:\MyProjects\novacoin-master\src\leveldb --Удалите (если они есть)obj(.o) файлы из -C:\MyProjects\novacoin-master\src\leveldb\db -C:\MyProjects\novacoin-master\src\leveldb\helpers\memenv -C:\MyProjects\novacoin-master\src\leveldb\port -C:\MyProjects\novacoin-master\src\leveldb\table -C:\MyProjects\novacoin-master\src\leveldb\util --Откройте MinGW shell (C:\MinGW\msys\1.0\msys.bat) и выполните следующий код: - -cd /c/myprojects/novacoin-master/src/leveldb -TARGET_OS=NATIVE_WINDOWS make libleveldb.a libmemenv.a - --Измените файл novacoin-qt.pro так же как в 32 bit --Откройте файл novacoin-qt.pro в текстовом редакторе и сохраните его как novacoin-qt64.pro --Замените в INCLUDE и LIB путях текст C:/deps на текст C:/deps/x64 (то есть вместо C:/deps/boost_1_57_0 нужно C:/deps/x64/boost_1_57_0 и т.д.) --Замените -win32:QMAKE_LFLAGS *= -Wl,--large-address-aware -static -на -win32:QMAKE_LFLAGS *= -Wl,-static - --Откройте командную строку Windows и выполните следующий код: - -Qt5 + транзакционный индекс BDB - -set PATH=%PATH%;C:\Qt\5.4.0-x64\bin -cd C:\MyProjects\novacoin-master -qmake "USE_IPV6=1" "USE_ASM=1" novacoin-qt64.pro -mingw32-make -f Makefile.Release - - -Qt5 + транзакционный индекс LevelDB - -set PATH=%PATH%;C:\Qt\5.4.0-x64\bin -cd C:\MyProjects\novacoin-master -qmake "USE_IPV6=1" "USE_LEVELDB=1" "USE_ASM=1" novacoin-qt64.pro -mingw32-make -f Makefile.Release - -Qt4 + транзакционный индекс BDB - -set PATH=%PATH%;C:\Qt\4.8.7-x64\bin -cd C:\MyProjects\novacoin-master -qmake "USE_IPV6=1" "USE_ASM=1" novacoin-qt64.pro -mingw32-make -f Makefile.Release - -Qt4 + транзакционный индекс LevelDB - -set PATH=%PATH%;C:\Qt\4.8.7-x64\bin -cd C:\MyProjects\novacoin-master -qmake "USE_IPV6=1" "USE_LEVELDB=1" "USE_ASM=1" novacoin-qt64.pro -mingw32-make -f Makefile.Release - -Если всё сделано правильно, то файл novacoin-qt.exe будет находится в папке C:\MyProjects\novacoin-master\release - -Если вы хотите уменьшить размер бинарных файлов, то -1) Перейдите на сайт http://upx.sourceforge.net/#downloadupx -2) Скачайте программу в соответсвии с вашей системой -3) Распакуйте программу в папку с бинарными Novacoin файлами. -4) Введите в консоли -upx -9 novacoind.exe -затем -upx -9 novacoin-qt.exe - -И ваши novacoind и novacoin-qt станут меньше ~ в 3 раза. diff --git a/doc/coding.txt b/doc/coding.txt deleted file mode 100644 index 46da661..0000000 --- a/doc/coding.txt +++ /dev/null @@ -1,99 +0,0 @@ -Please be consistent with the existing coding style. - -Block style: - -bool Function(char* psz, int n) -{ - // Comment summarising what this section of code does - for (int i = 0; i < n; i++) - { - // When something fails, return early - if (!Something()) - return false; - ... - } - - // Success return is usually at the end - return true; -} - -- ANSI/Allman block style -- 4 space indenting, no tabs -- No extra spaces inside parenthesis; please don't do ( this ) -- No space after function names, one space after if, for and while - -Variable names begin with the type in lowercase, like nSomeVariable. -Please don't put the first word of the variable name in lowercase like -someVariable. - -Common types: -n integer number: short, unsigned short, int, unsigned int, - int64, uint64, sometimes char if used as a number -d double, float -f flag -hash uint256 -p pointer or array, one p for each level of indirection -psz pointer to null terminated string -str string object -v vector or similar list objects -map map or multimap -set set or multiset -bn CBigNum - -------------------------- -Locking/mutex usage notes - -The code is multi-threaded, and uses mutexes and the -CRITICAL_BLOCK/TRY_CRITICAL_BLOCK macros to protect data structures. - -Deadlocks due to inconsistent lock ordering (thread 1 locks cs_main -and then cs_wallet, while thread 2 locks them in the opposite order: -result, deadlock as each waits for the other to release its lock) are -a problem. Compile with -DDEBUG_LOCKORDER to get lock order -inconsistencies reported in the debug.log file. - -Re-architecting the core code so there are better-defined interfaces -between the various components is a goal, with any necessary locking -done by the components (e.g. see the self-contained CKeyStore class -and its cs_KeyStore lock for example). - -------- -Threads - -StartNode : Starts other threads. - -ThreadGetMyExternalIP : Determines outside-the-firewall IP address, -sends addr message to connected peers when it determines it. - -ThreadIRCSeed : Joins IRC bootstrapping channel, watching for new -peers and advertising this node's IP address. - -ThreadSocketHandler : Sends/Receives data from peers on port 8333. - -ThreadMessageHandler : Higher-level message handling (sending and -receiving). - -ThreadOpenConnections : Initiates new connections to peers. - -ThreadTopUpKeyPool : replenishes the keystore's keypool. - -ThreadCleanWalletPassphrase : re-locks an encrypted wallet after user -has unlocked it for a period of time. - -SendingDialogStartTransfer : used by pay-via-ip-address code (obsolete) - -ThreadDelayedRepaint : repaint the gui - -ThreadFlushWalletDB : Close the wallet.dat file if it hasn't been used -in 500ms. - -ThreadRPCServer : Remote procedure call handler, listens on port 8332 -for connections and services them. - -ThreadBitcoinMiner : Generates bitcoins - -ThreadMapPort : Universal plug-and-play startup/shutdown - -Shutdown : Does an orderly shutdown of everything - -ExitTimeout : Windows-only, sleeps 5 seconds then exits application diff --git a/doc/crosscompiling_building Windows binary under Unix.txt b/doc/crosscompiling_building Windows binary under Unix.txt deleted file mode 100644 index 7196859..0000000 --- a/doc/crosscompiling_building Windows binary under Unix.txt +++ /dev/null @@ -1,309 +0,0 @@ -Данный способ должен подходить для любой Unix системы: Linux, FreeBSD, MacOS X -Данное руководство писалось на Linux Mint 17.1 ( http://linuxmint.com/ ) и проверялось на Ubuntu 14.04 (https://www.ubuntu.com/) - -1) Подготовка системы для кросскомпиляции. - -sudo apt-get install git bison cmake flex g++ gperf ruby scons libghc-zlib-dev libghc-zlib-bindings-dev - -2) Установка MXE и зависимостей - -cd /home/<ваше имя>/ -git clone https://github.com/mxe/mxe.git - -sudo apt-get install autoconf automake autopoint libtool intltool libtoolize p7zip-full libgtk2.0-dev - -2.1) gcc - -cd /home/<ваше имя>/mxe -make gcc zlib libpng - -Проверка того, что установка gcc прошла успешно: -В папке /home/<ваше имя>/mxe/usr/bin должен появиться файл i686-w64-mingw32.static-gcc и i686-w64-mingw32.static-g++ -И при запуске /home/<ваше имя>/mxe/usr/bin/i686-w64-mingw32.static-gcc -v должно выдаваться -...... -Thread model: win32 -gcc version 5.4.0 (GCC) - -В папке /home/<ваше имя>/mxe/usr/i686-w64-mingw32.static/lib должны быть файлы: -libz.a -libpng.a - -2.2) Openssl - -cd /home/<ваше имя>/mxe -make openssl - -Проверка что установка Openssl прошла успешно: -В папке /home/<ваше имя>/mxe/usr/i686-w64-mingw32.static/lib должны появиться два файла --libssl.a --libcrypto.a -В папке mxe/usr/i686-w64-mingw32.static/include должна появиться папка openssl - -2.3) Boost - -cd /home/<ваше имя>/mxe -make boost - -Проверка что установка Boost прошла успешно: -В /home/<ваше имя>/mxe/usr/i686-w64-mingw32.static/lib папке должны появиться файлы: --libboost_имябиблиотеки_mt.a (libboost_atomic-mt.a и другие подобные файлы) --libboost_имябиблиотеки_mt-d.a (libboost_atomic-mt-d.a и другие подобные файлы) - -В папке /home/<ваше имя>/mxe/usr/i686-w64-mingw32.static/include должна появиться папка boost - -2.4) Berkeley DB --Скачайте http://download.oracle.com/berkeley-db/db-6.0.20.tar.gz --Распакуйте в домашнюю папку --Откройте файл /home/<ваше имя>/db-6.0.20/src/dbinc/win_db.h --Измените -#include -на -#include --Сохраните файл --Откройте терминал: - -cd /home/<ваше имя>/db-6.0.20/dist -chmod +x configure -cd -cd /home/<ваше имя>/db-6.0.20/build_unix -export PATH=/home/<ваше имя>/mxe/usr/bin:$PATH -../dist/configure --host=i686-w64-mingw32.static --enable-mingw --enable-cxx --disable-shared --disable-replication -make - -Проверка, что установка Berkeley DB прошла успешно: -В папке /home/<ваше имя>/db-6.0.20/build_unix должны появиться файлы: -libdb.a -libdb_cxx.a - -2.5) qrencode --Скачайте http://fukuchi.org/works/qrencode/qrencode-3.4.4.tar.gz --Распакуйте в домашнюю папку --Откройте терминал: - -export PATH=/home/<ваше имя>/mxe/usr/bin:$PATH -cd /home/<ваше имя>/qrencode-3.4.4 -chmod +x configure -./configure --host=i686-w64-mingw32.static --enable-static --disable-shared --without-tools -make - -Проверка что qrencode успешно собралась: -в папке /home/<ваше имя>/qrencode-3.4.4/.libs должен быть файл: -libqrencode.a - -2.6 Qt 5 и Qt 4 - -Qt 4 --Откройте терминал: - -cd /home/<ваше имя>/mxe -make qt - -Проверка что Qt4 собрался правильно: --Откройте терминал: - -export PATH=/home/<ваше имя>/mxe/usr/bin:$PATH -i686-w64-mingw32.static-qmake-qt4 -v - --Должно появиться в ответ -QMake version 2.01a -Using Qt version 4.8.7 in /home/<ваше имя>/mxe/usr/i686-w64-mingw32.static/qt/lib - -Qt 5 --Откройте терминал: - -export PATH=/home/<ваше имя>/mxe/usr/bin:$PATH -cd /home/<ваше имя>/mxe -make qtbase qttools qttranslations - -Проверка что Qt5 собрался правильно: --Откройте терминал: - -export PATH=/home/<ваше имя>/mxe/usr/bin:$PATH -i686-w64-mingw32.static-qmake-qt5 -v - --Должно появиться в ответ -QMake version 3.1 -Using Qt version 5.8.0 in /home/<ваше имя>/mxe/usr/i686-w64-mingw32.static/qt5/lib - -3. Компиляция - -3.1 Скачиваем исходники --Перейдите в домашнюю папку --Откройте терминал: - -git clone https://github.com/novacoin-project/novacoin.git - -3.2 Собираем novacoind --Откройте файл makefile.mingw в текстовом редакторе (например, Pluma, gedit) --Замените CC=gcc на -CC=$(CROSS)gcc -CXX=$(CROSS)g++ - --Добавьте строчку USE_ASM:=1 --Поменяйте текущие INCLUDEPATHS, LIBPATHS, LIBS на: - -BOOST_SUFFIX?=-mt -BOOST_THREAD_LIB_SUFFIX?=_win32-mt - -INCLUDEPATHS= \ - -I"$(CURDIR)" \ - -I"/home/<ваше имя>/db-6.0.20/build_unix" \ - -LIBPATHS= \ - -L"$(CURDIR)/leveldb" \ - -L"/home/<ваше имя>/db-6.0.20/build_unix" \ - -LIBS= \ - -l leveldb \ - -l memenv \ - -l boost_system$(BOOST_SUFFIX) \ - -l boost_filesystem$(BOOST_SUFFIX) \ - -l boost_program_options$(BOOST_SUFFIX) \ - -l boost_thread$(BOOST_THREAD_LIB_SUFFIX) \ - -l boost_chrono$(BOOST_SUFFIX) \ - -l db_cxx \ - -l ssl \ - -l crypto \ - -l z \ - -l pthread - --Поменяйте в последних строчках makefile.mingw -g++ -c $(CFLAGS) -o $@ $< -на -$(CXX) -c $(CFLAGS) -o $@ $< - -g++ $(CFLAGS) $(LDFLAGS) -o $@ $(LIBPATHS) $^ $(LIBS) -на -$(CXX) $(CFLAGS) $(LDFLAGS) -o $@ $(LIBPATHS) $^ $(LIBS) - --Если вы хотите использовать LevelDB как базу блоков то измените: -USE_LEVELDB:=0 -на -USE_LEVELDB:=1 -(выше USE_IPV6:=1) -Откройте файл /home/<ваше имя>/novacoin/src/leveldb/Makefile -Вставьте ниже строчки CXXFLAGS += -I. -I./include $(PLATFORM_CXXFLAGS) $(OPT) следующие строки: - -CC=$(CROSS)gcc -CXX=$(CROSS)g++ -Сохраните файл - -Снова возвращаемся в файл makefile.mingw, измените -cd leveldb;TARGET_OS=NATIVE_WINDOWS make libleveldb.a libmemenv.a; cd .. -на -cd leveldb; TARGET_OS=NATIVE_WINDOWS make CROSS=i686-w64-mingw32.static- libleveldb.a libmemenv.a; cd .. - -Если вы хотите использовать BerkeleyDB как базу блоков, то просто удалите строчку USE_LEVELDB:=1 - -Измените -clean: - -del /Q novacoind.exe - -del /Q obj\* - -del /Q crypto\scrypt\asm\obj\* - -на - -clean: - -rm novacoind.exe - -rm obj/* - -rm crypto/scrypt/asm/obj/* - --Сохраните измененный файл makefile.mingw - --Откройте терминал: - -cd /home/<ваше имя>/novacoin/src -export PATH=/home/<ваше имя>/mxe/usr/bin:$PATH -make -j n CROSS=i686-w64-mingw32.static- -f makefile.mingw (вместо n количество ядер вашего процессора, которые вы хотите выделить под сборку) -strip novacoind.exe - -Если всё сделано правильно, то файл novacoind.exe будет находится в папке /home/<ваше имя>/novacoin/src. - -3.3 Собираем Novacoin QT - -Внимание: Если вы хотите собирать Novacoin Qt с LevelDB, но пропустили шаг со сборкой novacoind.exe, то --Измените Makefile в папке leveldb также как в пункте 3.2 --Откройте терминал: - -export PATH=/home/<ваше имя>/mxe/usr/bin:$PATH -cd /home/<ваше имя>/novacoin/src/leveldb -TARGET_OS=NATIVE_WINDOWS make CROSS=i686-w64-mingw32.static- libleveldb.a libmemenv.a - --Откройте файл /home/<ваше имя>/novacoin/novacoin-qt.pro в текстовом редакторе (например, Pluma, gedit) --Ниже -# Dependency library locations can be customized with: -# BOOST_INCLUDE_PATH, BOOST_LIB_PATH, BDB_INCLUDE_PATH, -# BDB_LIB_PATH, OPENSSL_INCLUDE_PATH and OPENSSL_LIB_PATH respectively -замените прописанные пути к зависимостям на - -BOOST_LIB_SUFFIX=-mt -BOOST_THREAD_LIB_SUFFIX=_win32-mt -BDB_INCLUDE_PATH=/home/<ваше имя>/db-6.0.20/build_unix -BDB_LIB_PATH=/home/<ваше имя>/db-6.0.20/build_unix -QRENCODE_INCLUDE_PATH=/home/<ваше имя>/qrencode-3.4.4 -QRENCODE_LIB_PATH=/home/<ваше имя>/qrencode-3.4.4/.libs - -Так же измените(если ещё не изменено) -LIBS += -lshlwapi -genleveldb.commands = cd $$PWD/src/leveldb && CC=$$QMAKE_CC CXX=$$QMAKE_CXX TARGET_OS=OS_WINDOWS_CROSSCOMPILE $(MAKE) OPT=\"$$QMAKE_CXXFLAGS $$QMAKE_CXXFLAGS_RELEASE\" libleveldb.a libmemenv.a && $$QMAKE_RANLIB $$PWD/src/leveldb/libleveldb.a && $$QMAKE_RANLIB $$PWD/src/leveldb/libmemenv.a - -на - -LIBS += -lshlwapi -#genleveldb.commands = cd $$PWD/src/leveldb && CC=$$QMAKE_CC CXX=$$QMAKE_CXX TARGET_OS=OS_WINDOWS_CROSSCOMPILE $(MAKE) OPT=\"$$QMAKE_CXXFLAGS $$QMAKE_CXXFLAGS_RELEASE\" libleveldb.a libmemenv.a && $$QMAKE_RANLIB $$PWD/src/leveldb/libleveldb.a && $$QMAKE_RANLIB $$PWD/src/leveldb/libmemenv.a - -Если в файле нет такой строчки CONFIG += static , то добавьте её. - -Измените -win32:QMAKE_LFLAGS *= -Wl,--dynamicbase -Wl,--nxcompat -на -win32:QMAKE_LFLAGS *= -Wl,--large-address-aware -static - -Измените -win32:QMAKE_LRELEASE = $$[QT_INSTALL_BINS]\\lrelease.exe -на -win32:QMAKE_LRELEASE = $$[QT_INSTALL_BINS]/lrelease - --Сохраните измененный файл novacoin-qt.pro --Откройте терминал и выполните следующие команды: - -Qt4 + транзакционный индекс LevelDB - -export PATH=/home/<ваше имя>/mxe/usr/bin:$PATH -cd /home/<ваше имя>/novacoin -i686-w64-mingw32.static-qmake-qt4 "USE_IPV6=1" "USE_LEVELDB=1" "USE_ASM=1" novacoin-qt.pro -make -j n -f Makefile.Release (вместо n количество ядер вашего процессора, которые вы хотите выделить под сборку) - -Qt4 + транзакционный индекс BDB - -export PATH=/home/<ваше имя>/mxe/usr/bin:$PATH -cd /home/<ваше имя>/novacoin -i686-w64-mingw32.static-qmake-qt4 "USE_IPV6=1" "USE_ASM=1" novacoin-qt.pro -make -j n -f Makefile.Release (вместо n количество ядер вашего процессора, которые вы хотите выделить под сборку) - -Qt5 + транзакционный индекс LevelDB - -export PATH=/home/<ваше имя>/mxe/usr/bin:$PATH -cd /home/<ваше имя>/novacoin -i686-w64-mingw32.static-qmake-qt5 "USE_IPV6=1" "USE_LEVELDB=1" "USE_ASM=1" novacoin-qt.pro -make -j n -f Makefile.Release (вместо n количество ядер вашего процессора, которые вы хотите выделить под сборку) - -Qt5 + транзакционный индекс BDB - -export PATH=/home/<ваше имя>/mxe/usr/bin:$PATH -cd /home/<ваше имя>/novacoin -i686-w64-mingw32.static-qmake-qt5 "USE_IPV6=1" "USE_ASM=1" novacoin-qt.pro -make -j n -f Makefile.Release (вместо n количество ядер вашего процессора, которые вы хотите выделить под сборку) - -Если всё сделано правильно, то файл novacoin-qt.exe будет находится в папке /home/<ваше имя>/novacoin/release. - -Если вы хотите уменьшить размер бинарных файлов, то -1) Перейдите на сайт http://upx.sourceforge.net/#downloadupx -2) Скачайте программу в соответсвии с вашей системой -3) Распакуйте программу в папку с бинарными Novacoin файлами. -4) Введите в терминале -./upx -9 novacoind.exe -затем -./upx -9 novacoin-qt.exe - -И ваши novacoind и novacoin-qt станут меньше ~ в 3 раза. diff --git a/doc/novacoin_logo_doxygen.png b/doc/novacoin_logo_doxygen.png deleted file mode 100644 index b14d47a9fd2d0e7f4767a0eb557424ba7c5ef3d1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6328 zcmZ{IWmFT6_x_OX_A`*0G!h#jjFtugB?ak?l-%e>89h2BM8bhM8W9)_5g3h1inMft zl#)NcFaIz8=bn3?bK`k)&pqd!dlQ}-YSU7&Qvm<~T3sCt<9{goKcyi1XDesNwEh8! z%OitF06={z^_2tZKc5G#V{8Bbga`ltQ78c5;$J9g69DiB0|49h0DycR0PvqrVVjZS zzXTcVv9<=__J8uWqayQPgxpWpK$Cohih_ZbEORGm@LzGeuErx%*M*LJ-TrF#fa%B` zw}tchy-%HIP3Ln~Qy)d%e_==?VV$6On60LcR^!p?VPV_sPY|$wW%HTmyY57KnH~>2 z))m}?E(P*AQK^ZV=vt2KjVhh*bYAauEZ(@~M2Cxr$WR8Q((ev%?T&Cy9oy~PTBRP| zZf)+@9!+&#M{R%3h92vDce%3&qw!|veS(F!5PVh(<#@9a^)-I1idI$mkIt=PH}a2h z!dnNiS&LKv$EwI(@9^b<8xz})mFFtw!dMwIioeXz9qzt76^EkB7Kuc` z8qo^8Q2T>+xedsuJvz++Rwzv)N0Fou(%yJa@ncSG}5`>cjD_(k+gBpY0=4! z_^NX5rXfcMy488O=7OQORe7!)QuG4fV?jPig^sDyiVN*euXi8lj{o!u$bZ6FasZAx zr}KU!{n8mswo5Xo4Za1M_PO4QA4T8h{M^~-{4PD8+8Km6|G?eW@~Tx5y zYGh_UkL7NF*pvZ@h@^{-Pk8I;dHObbD{JE?+-q(E*J}e?CXHbi0x+5?JwskMSJ0V- zWDBdMlAF#dg6~9WCGE8+=EoQ#yvI$A@J3OiK_*^mN$+!)oGLp*zz>{6X*X#71hsv3 zwNhYkeqF0tsL9kg&?Mhb!=p>&hWd6Nx>OVcGfWga3ee_KNTYJs(|a(SQc(_!hpUpz z!3_6l-bs~bQF;=GCk^mUMFr72X$~gZ;*&odY|a{uO8kuDZj%FOey{KAi(N00kPJU$ zQL%h0-o5UuJkRozvNbQTEI z=xz=Vc!JZGcoIoQVDJ^_V|4qZvs+)~cr-E6KY5xza!m%G`@l%P)ZX2Sjtw0%{O0;? zJ8JiFMlw(yJCH`K_Qi5Wq4JJM8tp1dmk3mvPiaFg?4aS(tU51T7PRlBvb6t8>7rR% z23GV4-Oi4v@)O=60HI8Rj$1n2P|G`Tg?I8d(I_wNW!m7DG9l66_P%^HA>NnFfO3Em z+2gD^msRr^wL9abpvL4?y8t?IhlM7Az(s~f3u$n&;k`I<@eP`I${Ab<_Yp=-RIUOz zn_&`78QapKnaum}oCXN%>{ig8ZH|}nIFOa|Zf(VbJ|H{1HuLY=Wn*h43GjxL^OiBFV~{ zqklGqWJ2~_2eR?&@8zEtU3+`69QTvDSxc1`#M1eIyp>btSloGAaiC0HGr$2oWsPo-O56C5qS#V;{&N&HDp*;;0*FXx!BN zPXxL+pN{IeO1yp(^xG%yIORt*gwL1*f{v$vk~F;E#4&zk-k%c7ofZq6_AXl?qm`L* zbZ!)$Vu$HOwTANlQnen&?_Ng9GQ#z+#5>vzXL8}WB^_`N$&v*o4dATUf@;TydZ%9J zaQZ2qn=a_+f7aFaE}Ba!^&Wou*T5is4tDboqzmj=RuU)ReGogw#IA$=lc^Z?<2Xct z(AM{iPFOUC*sKfsPL$~#ElqtFhO0a0{`pBgucpHfY)Rg@*C=B0l`{_1r(;%qXpS&{ z>J9+$^T%o|(hsluautfTw)`-(8!2M$SMNSK1PugD0AUp6o(83=di->klqxRK%yoC$ zS*au(Up4?v)t0*~y4W8v8k@rgPt;4jrF5C?<*dbm&is0hUVNEc%a4ff>{K}4@BHf} zK5a>tOR#!O)N-wz{5HzfJi{5b=oQkPxRokL4#0RvOGR7R$8Z6FF{GCgnG&Q6yifG+7aV-_EkfQ-iJ%yH8Z)ZInZ_AVvG% zRsGxJAj@>Iq0)kCDsLgi^5nL_%M^=q3wNQUEoDyc>9ktApDsje!p>)iMA;jTUiVKu z$6r?@7D_)@2{@Iez5L<7TDN@T^%gIacgOHeAw!$HM=MVpdl{okMG*B={&n)Rc!(5@ z-Ygp(eXe3SQb@wqgR2d)T09(ZaqUw4r_32~27LMrotPHOi7Dh=V`|b=djbt)$R0Vp zYkC;dXUO3SlYYf`7^98kqZbp9&TEO@d-mDD;gsCR`wFyfqJ8u8U~Df0dDmWr#Oi^D z*~382wf64kU@g@%N)Q_(5#k+#{|^gZ4}nD9JNlA~6-lYR{5MGnPd)#@Bvh(J6_`f=Jp2 z*hMdsBCpa0!Uj+O=HNUr?hYJTHr_yW*zD&&rJ9AkS#=9+Fwx5Bv@xP_xwVrn(APJj zL03MbNON#X`f-xj4lWd3-||ATS_73vTS}xBmv*E{Y0S_UYvKJ(&i?AoilkY6uK~|H z)xp<%uilF=UD~pm+@DZz^f=-}6TKIBYFf^)v`$(xGd4x+&;6Psi_e=afK-b~QVX+& zMj9h8PV!3Y+HZ_{EiHx>KRETmATE*$JVU6E@Lt@3Qbo-@X>xRSIMY}4A->b5gR4Lc z{hQ_W2d2#R-u>zwE^K7_TND%^p;w?@jZrnd*T6eammZ3F=OoV1Dm9->ra64V28-?p z-BzF+uY24(WKL1!xEQ$G8z|ktKdHl1qxeR!Up(P32G5{9XvoKP>$* z$VifJqh9hF2~kf5uaaC-lytA7)DxaJEcjd7RlhG_w5Y>bj_*I0%o%Cs|1j31lqBEC zxj=Zne1R{UpKNJZ-QO-O>xLpKp>lb@ih32IA!)GE9Z54YewU)|)^KTE1s;Vwj&Z@% z2Q(Q0KxRlrItL@u)GHvd<#~^+U>HXpPCq4KLK97)#k%6c7pcZgd!BnxhrfyfpS>ko z(Zj~51=6@h(-9+NnM~h*;taPsI$s%|C@rzn}d%7ie%~^WiQ$@tG zqG?YxhjPb%2-rMl6Pc`7^Bs}I>ZDw3Uk&1SI^C5Sy_T4F zK4Y1jJHrfd15j$EQYSOP=m@{M>o>6T`*{Y44=w)V7H5&uwq1{TL<^Q$!i2R zxf8S~Pjg&R-zF`L0%kcQAq9C*noCU0ZykO;9$} zc@!U@JDM|t>>Zd%TtgC&(B<7-RPr^X|(&+B$1YD#m zbF-25L;e9(b{ZJ1rBmvrXx3dldbxRRW^yMGka~)0(E?vyj)r3nq!RQA5G$_3pF0)p zH$TyAv}0t1kfrS^Xa9?|8Oe0B0VpV6h`P(Nduv=Fdu5%HvRVO|*>2{ROrtrmJ z_IwtQo$u=xeyiXE3}rt4sam?Z$Y>;wD=(SJ#mQK}8M44yZFE(GP;&coETbJoETaK$ z?@5-2vwhaLd1mUNA8Z7g*@bb&v$CgVW2uQMh4w`&$;I;XD1AUV$hW<|8{XTqM14`x0 zR}iojYIk_(A3u|-3)O_NR0;q2%lih87|FfeV71|N)jlkpD0&4PlP_U$6dZQ$E9B(< zy}JA=lQ<5Oj>E}#&fgTz83RlIHZ=a_b}PQEpWd&}&+wp$A=;3_Z|fquf$sV*C{M|f zmDGKoaB~{WHqM_q?gZcdr4~3Q#@~$krlh89#--?Pz1CNp%8{5QTFr8ujml@^4n9T= zTu+zSF=URRGDau@kR(&ckY<>&M6gfuYF8PYOF3N4as)hOWY;-DF0sJd6TY_F`fesE zbVcI&&cW>%y$In}pK2tumHS3_Y(8)aqk)M(t(1+Yn%d1}uQBEm;b&8DM(-B5Ne(vM zIXI`=E@CL{>gS5?Yw;!zKS-GIMF#W~a9bh+0FrcmxX)|7ITfk&!QB*7&(TIMG#}MDm241vJu$71Tc+Ert<>m*pR zG4cCedO+rk5aa$J)leS_HwHB(wYh^`bz=fxJ39i^{B@#wj6%*^sNLyd!Qo+7p{#Ae z@n%!$@7OHVh`3L%|Kr)SIos*g@;Pt!Fv~i(P-*fUa%Na%@Sn{*#b&JeW9+=kBhdHr z!GPSz3hvd7xm@K-Vbkobu3xyQ;=<~jMM%+;91NP!lO88A#yu$(i^#CbHScNs!LgO+R_v!^;@%n7s#L*u|K5n_hw)u$Uq_Y@;&yYzv8#Uj|#L_pB4Gq2@Uo70~M|dZcjSz zEOBv-v|7qiTLm?U>aGLp&-J+q$HLMm{U7u5&#;TySO5B;n#gJ7&iAornG5#B;~`Dg zSb$Q2=aXjA1C_`}P`lsz3J1PnemW{=`c$dMq*J@IL{uO?HMDdGJ`^XjK}$UwXMIix zGyu=@Wa7$^GU#6FohvJK_l2X;VmsTRDTTF)+w0m$X8nMb$?1NqPzUe4Eo3!+doyn) z)4OYw`@7<;r22H4Gy^iBCBubxF zeKBpDRE!J}C^yp(67njA7d|f);BI^XByb`5QYb6Z$h&yUN52V{>^M*`7{watm~VyD zDStmBV@x{ca#2dM94JSA(mkeM+}n-BhEYYXX-90STUyFtOoj=&+%@0QaSAj!t2yBC z=&a{h>OZ~tFvjoS()+|5;!mKGC+S{M2r&8@1rj1#0y& zVS&sO^~_V_x$vES%iAH~332@jd_&;UKZCFC+_8GAz@0DI&tH4XzA}(S{JSjYFAf`7 zFdZjE(5t3~!R~0`m^x=jI5+nhhqxfBWZ6|ly+2-`=v$%N_REnRyT>zli3}BML_9-j zLC;U4KB}Phgl5t-E7T70b(sr63Al(FCI@`W$HPYG| zmik3m4W5+#YmLRBADTJNCFSAHeA#u4)cbv&J`w&^a0RX(htEC(K-C@oKX8;&A_`?C9;sV%$YGH;;>$#%d;PxA@UjU_x=&ecfOI zS7<=dku#t4xxRJzY_%>1=G%#(&#{^H4aGg0&-%33VejwvC1m_*&Ujj*XS>8A>1Dxa zz8zxfCcml`Fxh$ZRpqvX`ceR~D7SUIIJ9;R$3#e(WT*0+S;f6woI2ftuK?}tUHtK( zS#EK^bQ*pttJGb&oBy&c0TDmv8PHt>v*VNTj=o9>JWCoKd{*ecQ3}8M9Ko$}U3;_t zfblf>xDz1e@)Et^+rIYiwa@RTY2oMS;O8U{M>_ojfFu|K6@!4qz;dRLhw>09dGJFq ou(UiFe6Uc;_5Tn&y&c`0ga7}8H__~+{|EqGO+$?uHTzfp2P+03*8l(j diff --git a/doc/obsolete/Doxyfile b/doc/obsolete/Doxyfile new file mode 100644 index 0000000..fe9f544 --- /dev/null +++ b/doc/obsolete/Doxyfile @@ -0,0 +1,1752 @@ +# Doxyfile 1.7.4 + +# !!! Invoke doxygen from project root using: +# doxygen doc/Doxyfile + +# This file describes the settings to be used by the documentation system +# doxygen (www.doxygen.org) for a project +# +# All text after a hash (#) is considered a comment and will be ignored +# The format is: +# TAG = value [value, ...] +# For lists items can also be appended using: +# TAG += value [value, ...] +# Values that contain spaces should be placed between quotes (" ") + +#--------------------------------------------------------------------------- +# Project related configuration options +#--------------------------------------------------------------------------- + +# This tag specifies the encoding used for all characters in the config file +# that follow. The default is UTF-8 which is also the encoding used for all +# text before the first occurrence of this tag. Doxygen uses libiconv (or the +# iconv built into libc) for the transcoding. See +# http://www.gnu.org/software/libiconv for the list of possible encodings. + +DOXYFILE_ENCODING = UTF-8 + +# The PROJECT_NAME tag is a single word (or a sequence of words surrounded +# by quotes) that should identify the project. + +PROJECT_NAME = Novacoin + +# The PROJECT_NUMBER tag can be used to enter a project or revision number. +# This could be handy for archiving the generated documentation or +# if some version control system is used. + +PROJECT_NUMBER = 0.5.0 + +# Using the PROJECT_BRIEF tag one can provide an optional one line description +# for a project that appears at the top of each page and should give viewer +# a quick idea about the purpose of the project. Keep the description short. + +PROJECT_BRIEF = "P2P Digital Currency" + +# With the PROJECT_LOGO tag one can specify an logo or icon that is +# included in the documentation. The maximum height of the logo should not +# exceed 55 pixels and the maximum width should not exceed 200 pixels. +# Doxygen will copy the logo to the output directory. + +PROJECT_LOGO = doc/novacoin_logo_doxygen.png + +# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) +# base path where the generated documentation will be put. +# If a relative path is entered, it will be relative to the location +# where doxygen was started. If left blank the current directory will be used. + +OUTPUT_DIRECTORY = doc/doxygen + +# If the CREATE_SUBDIRS tag is set to YES, then doxygen will create +# 4096 sub-directories (in 2 levels) under the output directory of each output +# format and will distribute the generated files over these directories. +# Enabling this option can be useful when feeding doxygen a huge amount of +# source files, where putting all generated files in the same directory would +# otherwise cause performance problems for the file system. + +CREATE_SUBDIRS = NO + +# The OUTPUT_LANGUAGE tag is used to specify the language in which all +# documentation generated by doxygen is written. Doxygen will use this +# information to generate all constant output in the proper language. +# The default language is English, other supported languages are: +# Afrikaans, Arabic, Brazilian, Catalan, Chinese, Chinese-Traditional, +# Croatian, Czech, Danish, Dutch, Esperanto, Farsi, Finnish, French, German, +# Greek, Hungarian, Italian, Japanese, Japanese-en (Japanese with English +# messages), Korean, Korean-en, Lithuanian, Norwegian, Macedonian, Persian, +# Polish, Portuguese, Romanian, Russian, Serbian, Serbian-Cyrillic, Slovak, +# Slovene, Spanish, Swedish, Ukrainian, and Vietnamese. + +OUTPUT_LANGUAGE = English + +# If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will +# include brief member descriptions after the members that are listed in +# the file and class documentation (similar to JavaDoc). +# Set to NO to disable this. + +BRIEF_MEMBER_DESC = YES + +# If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend +# the brief description of a member or function before the detailed description. +# Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the +# brief descriptions will be completely suppressed. + +REPEAT_BRIEF = YES + +# This tag implements a quasi-intelligent brief description abbreviator +# that is used to form the text in various listings. Each string +# in this list, if found as the leading text of the brief description, will be +# stripped from the text and the result after processing the whole list, is +# used as the annotated text. Otherwise, the brief description is used as-is. +# If left blank, the following values are used ("$name" is automatically +# replaced with the name of the entity): "The $name class" "The $name widget" +# "The $name file" "is" "provides" "specifies" "contains" +# "represents" "a" "an" "the" + +ABBREVIATE_BRIEF = "The $name class" \ + "The $name widget" \ + "The $name file" \ + is \ + provides \ + specifies \ + contains \ + represents \ + a \ + an \ + the + +# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then +# Doxygen will generate a detailed section even if there is only a brief +# description. + +ALWAYS_DETAILED_SEC = NO + +# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all +# inherited members of a class in the documentation of that class as if those +# members were ordinary class members. Constructors, destructors and assignment +# operators of the base classes will not be shown. + +INLINE_INHERITED_MEMB = NO + +# If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full +# path before files name in the file list and in the header files. If set +# to NO the shortest path that makes the file name unique will be used. + +FULL_PATH_NAMES = YES + +# If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag +# can be used to strip a user-defined part of the path. Stripping is +# only done if one of the specified strings matches the left-hand part of +# the path. The tag can be used to show relative paths in the file list. +# If left blank the directory from which doxygen is run is used as the +# path to strip. + +STRIP_FROM_PATH = + +# The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of +# the path mentioned in the documentation of a class, which tells +# the reader which header file to include in order to use a class. +# If left blank only the name of the header file containing the class +# definition is used. Otherwise one should specify the include paths that +# are normally passed to the compiler using the -I flag. + +STRIP_FROM_INC_PATH = + +# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter +# (but less readable) file names. This can be useful if your file system +# doesn't support long names like on DOS, Mac, or CD-ROM. + +SHORT_NAMES = NO + +# If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen +# will interpret the first line (until the first dot) of a JavaDoc-style +# comment as the brief description. If set to NO, the JavaDoc +# comments will behave just like regular Qt-style comments +# (thus requiring an explicit @brief command for a brief description.) + +JAVADOC_AUTOBRIEF = YES + +# If the QT_AUTOBRIEF tag is set to YES then Doxygen will +# interpret the first line (until the first dot) of a Qt-style +# comment as the brief description. If set to NO, the comments +# will behave just like regular Qt-style comments (thus requiring +# an explicit \brief command for a brief description.) + +QT_AUTOBRIEF = NO + +# The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make Doxygen +# treat a multi-line C++ special comment block (i.e. a block of //! or /// +# comments) as a brief description. This used to be the default behaviour. +# The new default is to treat a multi-line C++ comment block as a detailed +# description. Set this tag to YES if you prefer the old behaviour instead. + +MULTILINE_CPP_IS_BRIEF = NO + +# If the INHERIT_DOCS tag is set to YES (the default) then an undocumented +# member inherits the documentation from any documented member that it +# re-implements. + +INHERIT_DOCS = YES + +# If the SEPARATE_MEMBER_PAGES tag is set to YES, then doxygen will produce +# a new page for each member. If set to NO, the documentation of a member will +# be part of the file/class/namespace that contains it. + +SEPARATE_MEMBER_PAGES = NO + +# The TAB_SIZE tag can be used to set the number of spaces in a tab. +# Doxygen uses this value to replace tabs by spaces in code fragments. + +TAB_SIZE = 8 + +# This tag can be used to specify a number of aliases that acts +# as commands in the documentation. An alias has the form "name=value". +# For example adding "sideeffect=\par Side Effects:\n" will allow you to +# put the command \sideeffect (or @sideeffect) in the documentation, which +# will result in a user-defined paragraph with heading "Side Effects:". +# You can put \n's in the value part of an alias to insert newlines. + +ALIASES = + +# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C +# sources only. Doxygen will then generate output that is more tailored for C. +# For instance, some of the names that are used will be different. The list +# of all members will be omitted, etc. + +OPTIMIZE_OUTPUT_FOR_C = NO + +# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java +# sources only. Doxygen will then generate output that is more tailored for +# Java. For instance, namespaces will be presented as packages, qualified +# scopes will look different, etc. + +OPTIMIZE_OUTPUT_JAVA = NO + +# Set the OPTIMIZE_FOR_FORTRAN tag to YES if your project consists of Fortran +# sources only. Doxygen will then generate output that is more tailored for +# Fortran. + +OPTIMIZE_FOR_FORTRAN = NO + +# Set the OPTIMIZE_OUTPUT_VHDL tag to YES if your project consists of VHDL +# sources. Doxygen will then generate output that is tailored for +# VHDL. + +OPTIMIZE_OUTPUT_VHDL = NO + +# Doxygen selects the parser to use depending on the extension of the files it +# parses. With this tag you can assign which parser to use for a given extension. +# Doxygen has a built-in mapping, but you can override or extend it using this +# tag. The format is ext=language, where ext is a file extension, and language +# is one of the parsers supported by doxygen: IDL, Java, Javascript, CSharp, C, +# C++, D, PHP, Objective-C, Python, Fortran, VHDL, C, C++. For instance to make +# doxygen treat .inc files as Fortran files (default is PHP), and .f files as C +# (default is Fortran), use: inc=Fortran f=C. Note that for custom extensions +# you also need to set FILE_PATTERNS otherwise the files are not read by doxygen. + +EXTENSION_MAPPING = + +# If you use STL classes (i.e. std::string, std::vector, etc.) but do not want +# to include (a tag file for) the STL sources as input, then you should +# set this tag to YES in order to let doxygen match functions declarations and +# definitions whose arguments contain STL classes (e.g. func(std::string); v.s. +# func(std::string) {}). This also makes the inheritance and collaboration +# diagrams that involve STL classes more complete and accurate. + +BUILTIN_STL_SUPPORT = NO + +# If you use Microsoft's C++/CLI language, you should set this option to YES to +# enable parsing support. + +CPP_CLI_SUPPORT = NO + +# Set the SIP_SUPPORT tag to YES if your project consists of sip sources only. +# Doxygen will parse them like normal C++ but will assume all classes use public +# instead of private inheritance when no explicit protection keyword is present. + +SIP_SUPPORT = NO + +# For Microsoft's IDL there are propget and propput attributes to indicate getter +# and setter methods for a property. Setting this option to YES (the default) +# will make doxygen replace the get and set methods by a property in the +# documentation. This will only work if the methods are indeed getting or +# setting a simple type. If this is not the case, or you want to show the +# methods anyway, you should set this option to NO. + +IDL_PROPERTY_SUPPORT = YES + +# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC +# tag is set to YES, then doxygen will reuse the documentation of the first +# member in the group (if any) for the other members of the group. By default +# all members of a group must be documented explicitly. + +DISTRIBUTE_GROUP_DOC = NO + +# Set the SUBGROUPING tag to YES (the default) to allow class member groups of +# the same type (for instance a group of public functions) to be put as a +# subgroup of that type (e.g. under the Public Functions section). Set it to +# NO to prevent subgrouping. Alternatively, this can be done per class using +# the \nosubgrouping command. + +SUBGROUPING = YES + +# When the INLINE_GROUPED_CLASSES tag is set to YES, classes, structs and +# unions are shown inside the group in which they are included (e.g. using +# @ingroup) instead of on a separate page (for HTML and Man pages) or +# section (for LaTeX and RTF). + +INLINE_GROUPED_CLASSES = NO + +# When TYPEDEF_HIDES_STRUCT is enabled, a typedef of a struct, union, or enum +# is documented as struct, union, or enum with the name of the typedef. So +# typedef struct TypeS {} TypeT, will appear in the documentation as a struct +# with name TypeT. When disabled the typedef will appear as a member of a file, +# namespace, or class. And the struct will be named TypeS. This can typically +# be useful for C code in case the coding convention dictates that all compound +# types are typedef'ed and only the typedef is referenced, never the tag name. + +TYPEDEF_HIDES_STRUCT = NO + +# The SYMBOL_CACHE_SIZE determines the size of the internal cache use to +# determine which symbols to keep in memory and which to flush to disk. +# When the cache is full, less often used symbols will be written to disk. +# For small to medium size projects (<1000 input files) the default value is +# probably good enough. For larger projects a too small cache size can cause +# doxygen to be busy swapping symbols to and from disk most of the time +# causing a significant performance penalty. +# If the system has enough physical memory increasing the cache will improve the +# performance by keeping more symbols in memory. Note that the value works on +# a logarithmic scale so increasing the size by one will roughly double the +# memory usage. The cache size is given by this formula: +# 2^(16+SYMBOL_CACHE_SIZE). The valid range is 0..9, the default is 0, +# corresponding to a cache size of 2^16 = 65536 symbols + +SYMBOL_CACHE_SIZE = 0 + +#--------------------------------------------------------------------------- +# Build related configuration options +#--------------------------------------------------------------------------- + +# If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in +# documentation are documented, even if no documentation was available. +# Private class members and static file members will be hidden unless +# the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES + +EXTRACT_ALL = YES + +# If the EXTRACT_PRIVATE tag is set to YES all private members of a class +# will be included in the documentation. + +EXTRACT_PRIVATE = YES + +# If the EXTRACT_STATIC tag is set to YES all static members of a file +# will be included in the documentation. + +EXTRACT_STATIC = NO + +# If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs) +# defined locally in source files will be included in the documentation. +# If set to NO only classes defined in header files are included. + +EXTRACT_LOCAL_CLASSES = YES + +# This flag is only useful for Objective-C code. When set to YES local +# methods, which are defined in the implementation section but not in +# the interface are included in the documentation. +# If set to NO (the default) only methods in the interface are included. + +EXTRACT_LOCAL_METHODS = NO + +# If this flag is set to YES, the members of anonymous namespaces will be +# extracted and appear in the documentation as a namespace called +# 'anonymous_namespace{file}', where file will be replaced with the base +# name of the file that contains the anonymous namespace. By default +# anonymous namespaces are hidden. + +EXTRACT_ANON_NSPACES = NO + +# If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all +# undocumented members of documented classes, files or namespaces. +# If set to NO (the default) these members will be included in the +# various overviews, but no documentation section is generated. +# This option has no effect if EXTRACT_ALL is enabled. + +HIDE_UNDOC_MEMBERS = NO + +# If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all +# undocumented classes that are normally visible in the class hierarchy. +# If set to NO (the default) these classes will be included in the various +# overviews. This option has no effect if EXTRACT_ALL is enabled. + +HIDE_UNDOC_CLASSES = NO + +# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, Doxygen will hide all +# friend (class|struct|union) declarations. +# If set to NO (the default) these declarations will be included in the +# documentation. + +HIDE_FRIEND_COMPOUNDS = NO + +# If the HIDE_IN_BODY_DOCS tag is set to YES, Doxygen will hide any +# documentation blocks found inside the body of a function. +# If set to NO (the default) these blocks will be appended to the +# function's detailed documentation block. + +HIDE_IN_BODY_DOCS = NO + +# The INTERNAL_DOCS tag determines if documentation +# that is typed after a \internal command is included. If the tag is set +# to NO (the default) then the documentation will be excluded. +# Set it to YES to include the internal documentation. + +INTERNAL_DOCS = NO + +# If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate +# file names in lower-case letters. If set to YES upper-case letters are also +# allowed. This is useful if you have classes or files whose names only differ +# in case and if your file system supports case sensitive file names. Windows +# and Mac users are advised to set this option to NO. + +CASE_SENSE_NAMES = NO + +# If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen +# will show members with their full class and namespace scopes in the +# documentation. If set to YES the scope will be hidden. + +HIDE_SCOPE_NAMES = NO + +# If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen +# will put a list of the files that are included by a file in the documentation +# of that file. + +SHOW_INCLUDE_FILES = YES + +# If the FORCE_LOCAL_INCLUDES tag is set to YES then Doxygen +# will list include files with double quotes in the documentation +# rather than with sharp brackets. + +FORCE_LOCAL_INCLUDES = NO + +# If the INLINE_INFO tag is set to YES (the default) then a tag [inline] +# is inserted in the documentation for inline members. + +INLINE_INFO = YES + +# If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen +# will sort the (detailed) documentation of file and class members +# alphabetically by member name. If set to NO the members will appear in +# declaration order. + +SORT_MEMBER_DOCS = YES + +# If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the +# brief documentation of file, namespace and class members alphabetically +# by member name. If set to NO (the default) the members will appear in +# declaration order. + +SORT_BRIEF_DOCS = NO + +# If the SORT_MEMBERS_CTORS_1ST tag is set to YES then doxygen +# will sort the (brief and detailed) documentation of class members so that +# constructors and destructors are listed first. If set to NO (the default) +# the constructors will appear in the respective orders defined by +# SORT_MEMBER_DOCS and SORT_BRIEF_DOCS. +# This tag will be ignored for brief docs if SORT_BRIEF_DOCS is set to NO +# and ignored for detailed docs if SORT_MEMBER_DOCS is set to NO. + +SORT_MEMBERS_CTORS_1ST = NO + +# If the SORT_GROUP_NAMES tag is set to YES then doxygen will sort the +# hierarchy of group names into alphabetical order. If set to NO (the default) +# the group names will appear in their defined order. + +SORT_GROUP_NAMES = NO + +# If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be +# sorted by fully-qualified names, including namespaces. If set to +# NO (the default), the class list will be sorted only by class name, +# not including the namespace part. +# Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES. +# Note: This option applies only to the class list, not to the +# alphabetical list. + +SORT_BY_SCOPE_NAME = NO + +# If the STRICT_PROTO_MATCHING option is enabled and doxygen fails to +# do proper type resolution of all parameters of a function it will reject a +# match between the prototype and the implementation of a member function even +# if there is only one candidate or it is obvious which candidate to choose +# by doing a simple string match. By disabling STRICT_PROTO_MATCHING doxygen +# will still accept a match between prototype and implementation in such cases. + +STRICT_PROTO_MATCHING = NO + +# The GENERATE_TODOLIST tag can be used to enable (YES) or +# disable (NO) the todo list. This list is created by putting \todo +# commands in the documentation. + +GENERATE_TODOLIST = YES + +# The GENERATE_TESTLIST tag can be used to enable (YES) or +# disable (NO) the test list. This list is created by putting \test +# commands in the documentation. + +GENERATE_TESTLIST = YES + +# The GENERATE_BUGLIST tag can be used to enable (YES) or +# disable (NO) the bug list. This list is created by putting \bug +# commands in the documentation. + +GENERATE_BUGLIST = YES + +# The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or +# disable (NO) the deprecated list. This list is created by putting +# \deprecated commands in the documentation. + +GENERATE_DEPRECATEDLIST= YES + +# The ENABLED_SECTIONS tag can be used to enable conditional +# documentation sections, marked by \if sectionname ... \endif. + +ENABLED_SECTIONS = + +# The MAX_INITIALIZER_LINES tag determines the maximum number of lines +# the initial value of a variable or macro consists of for it to appear in +# the documentation. If the initializer consists of more lines than specified +# here it will be hidden. Use a value of 0 to hide initializers completely. +# The appearance of the initializer of individual variables and macros in the +# documentation can be controlled using \showinitializer or \hideinitializer +# command in the documentation regardless of this setting. + +MAX_INITIALIZER_LINES = 30 + +# Set the SHOW_USED_FILES tag to NO to disable the list of files generated +# at the bottom of the documentation of classes and structs. If set to YES the +# list will mention the files that were used to generate the documentation. + +SHOW_USED_FILES = YES + +# If the sources in your project are distributed over multiple directories +# then setting the SHOW_DIRECTORIES tag to YES will show the directory hierarchy +# in the documentation. The default is NO. + +SHOW_DIRECTORIES = NO + +# Set the SHOW_FILES tag to NO to disable the generation of the Files page. +# This will remove the Files entry from the Quick Index and from the +# Folder Tree View (if specified). The default is YES. + +SHOW_FILES = YES + +# Set the SHOW_NAMESPACES tag to NO to disable the generation of the +# Namespaces page. This will remove the Namespaces entry from the Quick Index +# and from the Folder Tree View (if specified). The default is YES. + +SHOW_NAMESPACES = YES + +# The FILE_VERSION_FILTER tag can be used to specify a program or script that +# doxygen should invoke to get the current version for each file (typically from +# the version control system). Doxygen will invoke the program by executing (via +# popen()) the command , where is the value of +# the FILE_VERSION_FILTER tag, and is the name of an input file +# provided by doxygen. Whatever the program writes to standard output +# is used as the file version. See the manual for examples. + +FILE_VERSION_FILTER = + +# The LAYOUT_FILE tag can be used to specify a layout file which will be parsed +# by doxygen. The layout file controls the global structure of the generated +# output files in an output format independent way. The create the layout file +# that represents doxygen's defaults, run doxygen with the -l option. +# You can optionally specify a file name after the option, if omitted +# DoxygenLayout.xml will be used as the name of the layout file. + +LAYOUT_FILE = + +#--------------------------------------------------------------------------- +# configuration options related to warning and progress messages +#--------------------------------------------------------------------------- + +# The QUIET tag can be used to turn on/off the messages that are generated +# by doxygen. Possible values are YES and NO. If left blank NO is used. + +QUIET = NO + +# The WARNINGS tag can be used to turn on/off the warning messages that are +# generated by doxygen. Possible values are YES and NO. If left blank +# NO is used. + +WARNINGS = YES + +# If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings +# for undocumented members. If EXTRACT_ALL is set to YES then this flag will +# automatically be disabled. + +WARN_IF_UNDOCUMENTED = YES + +# If WARN_IF_DOC_ERROR is set to YES, doxygen will generate warnings for +# potential errors in the documentation, such as not documenting some +# parameters in a documented function, or documenting parameters that +# don't exist or using markup commands wrongly. + +WARN_IF_DOC_ERROR = YES + +# The WARN_NO_PARAMDOC option can be enabled to get warnings for +# functions that are documented, but have no documentation for their parameters +# or return value. If set to NO (the default) doxygen will only warn about +# wrong or incomplete parameter documentation, but not about the absence of +# documentation. + +WARN_NO_PARAMDOC = NO + +# The WARN_FORMAT tag determines the format of the warning messages that +# doxygen can produce. The string should contain the $file, $line, and $text +# tags, which will be replaced by the file and line number from which the +# warning originated and the warning text. Optionally the format may contain +# $version, which will be replaced by the version of the file (if it could +# be obtained via FILE_VERSION_FILTER) + +WARN_FORMAT = "$file:$line: $text" + +# The WARN_LOGFILE tag can be used to specify a file to which warning +# and error messages should be written. If left blank the output is written +# to stderr. + +WARN_LOGFILE = + +#--------------------------------------------------------------------------- +# configuration options related to the input files +#--------------------------------------------------------------------------- + +# The INPUT tag can be used to specify the files and/or directories that contain +# documented source files. You may enter file names like "myfile.cpp" or +# directories like "/usr/src/myproject". Separate the files or directories +# with spaces. + +INPUT = src + +# This tag can be used to specify the character encoding of the source files +# that doxygen parses. Internally doxygen uses the UTF-8 encoding, which is +# also the default input encoding. Doxygen uses libiconv (or the iconv built +# into libc) for the transcoding. See http://www.gnu.org/software/libiconv for +# the list of possible encodings. + +INPUT_ENCODING = UTF-8 + +# If the value of the INPUT tag contains directories, you can use the +# FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp +# and *.h) to filter out the source-files in the directories. If left +# blank the following patterns are tested: +# *.c *.cc *.cxx *.cpp *.c++ *.d *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh +# *.hxx *.hpp *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm *.dox *.py +# *.f90 *.f *.for *.vhd *.vhdl + +FILE_PATTERNS = *.c \ + *.cc \ + *.cxx \ + *.cpp \ + *.c++ \ + *.d \ + *.java \ + *.ii \ + *.ixx \ + *.ipp \ + *.i++ \ + *.inl \ + *.h \ + *.hh \ + *.hxx \ + *.hpp \ + *.h++ \ + *.idl \ + *.odl \ + *.cs \ + *.php \ + *.php3 \ + *.inc \ + *.m \ + *.mm \ + *.dox \ + *.py \ + *.f90 \ + *.f \ + *.for \ + *.vhd \ + *.vhdl + +# The RECURSIVE tag can be used to turn specify whether or not subdirectories +# should be searched for input files as well. Possible values are YES and NO. +# If left blank NO is used. + +RECURSIVE = YES + +# The EXCLUDE tag can be used to specify files and/or directories that should +# excluded from the INPUT source files. This way you can easily exclude a +# subdirectory from a directory tree whose root is specified with the INPUT tag. + +EXCLUDE = + +# The EXCLUDE_SYMLINKS tag can be used select whether or not files or +# directories that are symbolic links (a Unix file system feature) are excluded +# from the input. + +EXCLUDE_SYMLINKS = NO + +# If the value of the INPUT tag contains directories, you can use the +# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude +# certain files from those directories. Note that the wildcards are matched +# against the file with absolute path, so to exclude all test directories +# for example use the pattern */test/* + +EXCLUDE_PATTERNS = + +# The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names +# (namespaces, classes, functions, etc.) that should be excluded from the +# output. The symbol name can be a fully qualified name, a word, or if the +# wildcard * is used, a substring. Examples: ANamespace, AClass, +# AClass::ANamespace, ANamespace::*Test + +EXCLUDE_SYMBOLS = + +# The EXAMPLE_PATH tag can be used to specify one or more files or +# directories that contain example code fragments that are included (see +# the \include command). + +EXAMPLE_PATH = + +# If the value of the EXAMPLE_PATH tag contains directories, you can use the +# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp +# and *.h) to filter out the source-files in the directories. If left +# blank all files are included. + +EXAMPLE_PATTERNS = * + +# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be +# searched for input files to be used with the \include or \dontinclude +# commands irrespective of the value of the RECURSIVE tag. +# Possible values are YES and NO. If left blank NO is used. + +EXAMPLE_RECURSIVE = NO + +# The IMAGE_PATH tag can be used to specify one or more files or +# directories that contain image that are included in the documentation (see +# the \image command). + +IMAGE_PATH = + +# The INPUT_FILTER tag can be used to specify a program that doxygen should +# invoke to filter for each input file. Doxygen will invoke the filter program +# by executing (via popen()) the command , where +# is the value of the INPUT_FILTER tag, and is the name of an +# input file. Doxygen will then use the output that the filter program writes +# to standard output. If FILTER_PATTERNS is specified, this tag will be +# ignored. + +INPUT_FILTER = + +# The FILTER_PATTERNS tag can be used to specify filters on a per file pattern +# basis. Doxygen will compare the file name with each pattern and apply the +# filter if there is a match. The filters are a list of the form: +# pattern=filter (like *.cpp=my_cpp_filter). See INPUT_FILTER for further +# info on how filters are used. If FILTER_PATTERNS is empty or if +# non of the patterns match the file name, INPUT_FILTER is applied. + +FILTER_PATTERNS = + +# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using +# INPUT_FILTER) will be used to filter the input files when producing source +# files to browse (i.e. when SOURCE_BROWSER is set to YES). + +FILTER_SOURCE_FILES = NO + +# The FILTER_SOURCE_PATTERNS tag can be used to specify source filters per file +# pattern. A pattern will override the setting for FILTER_PATTERN (if any) +# and it is also possible to disable source filtering for a specific pattern +# using *.ext= (so without naming a filter). This option only has effect when +# FILTER_SOURCE_FILES is enabled. + +FILTER_SOURCE_PATTERNS = + +#--------------------------------------------------------------------------- +# configuration options related to source browsing +#--------------------------------------------------------------------------- + +# If the SOURCE_BROWSER tag is set to YES then a list of source files will +# be generated. Documented entities will be cross-referenced with these sources. +# Note: To get rid of all source code in the generated output, make sure also +# VERBATIM_HEADERS is set to NO. + +SOURCE_BROWSER = YES + +# Setting the INLINE_SOURCES tag to YES will include the body +# of functions and classes directly in the documentation. + +INLINE_SOURCES = NO + +# Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct +# doxygen to hide any special comment blocks from generated source code +# fragments. Normal C and C++ comments will always remain visible. + +STRIP_CODE_COMMENTS = YES + +# If the REFERENCED_BY_RELATION tag is set to YES +# then for each documented function all documented +# functions referencing it will be listed. + +REFERENCED_BY_RELATION = NO + +# If the REFERENCES_RELATION tag is set to YES +# then for each documented function all documented entities +# called/used by that function will be listed. + +REFERENCES_RELATION = NO + +# If the REFERENCES_LINK_SOURCE tag is set to YES (the default) +# and SOURCE_BROWSER tag is set to YES, then the hyperlinks from +# functions in REFERENCES_RELATION and REFERENCED_BY_RELATION lists will +# link to the source code. Otherwise they will link to the documentation. + +REFERENCES_LINK_SOURCE = YES + +# If the USE_HTAGS tag is set to YES then the references to source code +# will point to the HTML generated by the htags(1) tool instead of doxygen +# built-in source browser. The htags tool is part of GNU's global source +# tagging system (see http://www.gnu.org/software/global/global.html). You +# will need version 4.8.6 or higher. + +USE_HTAGS = NO + +# If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen +# will generate a verbatim copy of the header file for each class for +# which an include is specified. Set to NO to disable this. + +VERBATIM_HEADERS = YES + +#--------------------------------------------------------------------------- +# configuration options related to the alphabetical class index +#--------------------------------------------------------------------------- + +# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index +# of all compounds will be generated. Enable this if the project +# contains a lot of classes, structs, unions or interfaces. + +ALPHABETICAL_INDEX = YES + +# If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then +# the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns +# in which this list will be split (can be a number in the range [1..20]) + +COLS_IN_ALPHA_INDEX = 5 + +# In case all classes in a project start with a common prefix, all +# classes will be put under the same header in the alphabetical index. +# The IGNORE_PREFIX tag can be used to specify one or more prefixes that +# should be ignored while generating the index headers. + +IGNORE_PREFIX = + +#--------------------------------------------------------------------------- +# configuration options related to the HTML output +#--------------------------------------------------------------------------- + +# If the GENERATE_HTML tag is set to YES (the default) Doxygen will +# generate HTML output. + +GENERATE_HTML = YES + +# The HTML_OUTPUT tag is used to specify where the HTML docs will be put. +# If a relative path is entered the value of OUTPUT_DIRECTORY will be +# put in front of it. If left blank `html' will be used as the default path. + +HTML_OUTPUT = html + +# The HTML_FILE_EXTENSION tag can be used to specify the file extension for +# each generated HTML page (for example: .htm,.php,.asp). If it is left blank +# doxygen will generate files with .html extension. + +HTML_FILE_EXTENSION = .html + +# The HTML_HEADER tag can be used to specify a personal HTML header for +# each generated HTML page. If it is left blank doxygen will generate a +# standard header. Note that when using a custom header you are responsible +# for the proper inclusion of any scripts and style sheets that doxygen +# needs, which is dependent on the configuration options used. +# It is adviced to generate a default header using "doxygen -w html +# header.html footer.html stylesheet.css YourConfigFile" and then modify +# that header. Note that the header is subject to change so you typically +# have to redo this when upgrading to a newer version of doxygen or when +# changing the value of configuration settings such as GENERATE_TREEVIEW! + +HTML_HEADER = + +# The HTML_FOOTER tag can be used to specify a personal HTML footer for +# each generated HTML page. If it is left blank doxygen will generate a +# standard footer. + +HTML_FOOTER = + +# The HTML_STYLESHEET tag can be used to specify a user-defined cascading +# style sheet that is used by each HTML page. It can be used to +# fine-tune the look of the HTML output. If the tag is left blank doxygen +# will generate a default style sheet. Note that doxygen will try to copy +# the style sheet file to the HTML output directory, so don't put your own +# stylesheet in the HTML output directory as well, or it will be erased! + +HTML_STYLESHEET = + +# The HTML_EXTRA_FILES tag can be used to specify one or more extra images or +# other source files which should be copied to the HTML output directory. Note +# that these files will be copied to the base HTML output directory. Use the +# $relpath$ marker in the HTML_HEADER and/or HTML_FOOTER files to load these +# files. In the HTML_STYLESHEET file, use the file name only. Also note that +# the files will be copied as-is; there are no commands or markers available. + +HTML_EXTRA_FILES = + +# The HTML_COLORSTYLE_HUE tag controls the color of the HTML output. +# Doxygen will adjust the colors in the stylesheet and background images +# according to this color. Hue is specified as an angle on a colorwheel, +# see http://en.wikipedia.org/wiki/Hue for more information. +# For instance the value 0 represents red, 60 is yellow, 120 is green, +# 180 is cyan, 240 is blue, 300 purple, and 360 is red again. +# The allowed range is 0 to 359. + +HTML_COLORSTYLE_HUE = 220 + +# The HTML_COLORSTYLE_SAT tag controls the purity (or saturation) of +# the colors in the HTML output. For a value of 0 the output will use +# grayscales only. A value of 255 will produce the most vivid colors. + +HTML_COLORSTYLE_SAT = 100 + +# The HTML_COLORSTYLE_GAMMA tag controls the gamma correction applied to +# the luminance component of the colors in the HTML output. Values below +# 100 gradually make the output lighter, whereas values above 100 make +# the output darker. The value divided by 100 is the actual gamma applied, +# so 80 represents a gamma of 0.8, The value 220 represents a gamma of 2.2, +# and 100 does not change the gamma. + +HTML_COLORSTYLE_GAMMA = 80 + +# If the HTML_TIMESTAMP tag is set to YES then the footer of each generated HTML +# page will contain the date and time when the page was generated. Setting +# this to NO can help when comparing the output of multiple runs. + +HTML_TIMESTAMP = YES + +# If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes, +# files or namespaces will be aligned in HTML using tables. If set to +# NO a bullet list will be used. + +HTML_ALIGN_MEMBERS = YES + +# If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML +# documentation will contain sections that can be hidden and shown after the +# page has loaded. For this to work a browser that supports +# JavaScript and DHTML is required (for instance Mozilla 1.0+, Firefox +# Netscape 6.0+, Internet explorer 5.0+, Konqueror, or Safari). + +HTML_DYNAMIC_SECTIONS = NO + +# If the GENERATE_DOCSET tag is set to YES, additional index files +# will be generated that can be used as input for Apple's Xcode 3 +# integrated development environment, introduced with OSX 10.5 (Leopard). +# To create a documentation set, doxygen will generate a Makefile in the +# HTML output directory. Running make will produce the docset in that +# directory and running "make install" will install the docset in +# ~/Library/Developer/Shared/Documentation/DocSets so that Xcode will find +# it at startup. +# See http://developer.apple.com/tools/creatingdocsetswithdoxygen.html +# for more information. + +GENERATE_DOCSET = NO + +# When GENERATE_DOCSET tag is set to YES, this tag determines the name of the +# feed. A documentation feed provides an umbrella under which multiple +# documentation sets from a single provider (such as a company or product suite) +# can be grouped. + +DOCSET_FEEDNAME = "Doxygen generated docs" + +# When GENERATE_DOCSET tag is set to YES, this tag specifies a string that +# should uniquely identify the documentation set bundle. This should be a +# reverse domain-name style string, e.g. com.mycompany.MyDocSet. Doxygen +# will append .docset to the name. + +DOCSET_BUNDLE_ID = org.doxygen.Project + +# When GENERATE_PUBLISHER_ID tag specifies a string that should uniquely identify +# the documentation publisher. This should be a reverse domain-name style +# string, e.g. com.mycompany.MyDocSet.documentation. + +DOCSET_PUBLISHER_ID = org.doxygen.Publisher + +# The GENERATE_PUBLISHER_NAME tag identifies the documentation publisher. + +DOCSET_PUBLISHER_NAME = Publisher + +# If the GENERATE_HTMLHELP tag is set to YES, additional index files +# will be generated that can be used as input for tools like the +# Microsoft HTML help workshop to generate a compiled HTML help file (.chm) +# of the generated HTML documentation. + +GENERATE_HTMLHELP = NO + +# If the GENERATE_HTMLHELP tag is set to YES, the CHM_FILE tag can +# be used to specify the file name of the resulting .chm file. You +# can add a path in front of the file if the result should not be +# written to the html output directory. + +CHM_FILE = + +# If the GENERATE_HTMLHELP tag is set to YES, the HHC_LOCATION tag can +# be used to specify the location (absolute path including file name) of +# the HTML help compiler (hhc.exe). If non-empty doxygen will try to run +# the HTML help compiler on the generated index.hhp. + +HHC_LOCATION = + +# If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag +# controls if a separate .chi index file is generated (YES) or that +# it should be included in the master .chm file (NO). + +GENERATE_CHI = NO + +# If the GENERATE_HTMLHELP tag is set to YES, the CHM_INDEX_ENCODING +# is used to encode HtmlHelp index (hhk), content (hhc) and project file +# content. + +CHM_INDEX_ENCODING = + +# If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag +# controls whether a binary table of contents is generated (YES) or a +# normal table of contents (NO) in the .chm file. + +BINARY_TOC = NO + +# The TOC_EXPAND flag can be set to YES to add extra items for group members +# to the contents of the HTML help documentation and to the tree view. + +TOC_EXPAND = NO + +# If the GENERATE_QHP tag is set to YES and both QHP_NAMESPACE and +# QHP_VIRTUAL_FOLDER are set, an additional index file will be generated +# that can be used as input for Qt's qhelpgenerator to generate a +# Qt Compressed Help (.qch) of the generated HTML documentation. + +GENERATE_QHP = NO + +# If the QHG_LOCATION tag is specified, the QCH_FILE tag can +# be used to specify the file name of the resulting .qch file. +# The path specified is relative to the HTML output folder. + +QCH_FILE = + +# The QHP_NAMESPACE tag specifies the namespace to use when generating +# Qt Help Project output. For more information please see +# http://doc.trolltech.com/qthelpproject.html#namespace + +QHP_NAMESPACE = org.doxygen.Project + +# The QHP_VIRTUAL_FOLDER tag specifies the namespace to use when generating +# Qt Help Project output. For more information please see +# http://doc.trolltech.com/qthelpproject.html#virtual-folders + +QHP_VIRTUAL_FOLDER = doc + +# If QHP_CUST_FILTER_NAME is set, it specifies the name of a custom filter to +# add. For more information please see +# http://doc.trolltech.com/qthelpproject.html#custom-filters + +QHP_CUST_FILTER_NAME = + +# The QHP_CUST_FILT_ATTRS tag specifies the list of the attributes of the +# custom filter to add. For more information please see +# +# Qt Help Project / Custom Filters. + +QHP_CUST_FILTER_ATTRS = + +# The QHP_SECT_FILTER_ATTRS tag specifies the list of the attributes this +# project's +# filter section matches. +# +# Qt Help Project / Filter Attributes. + +QHP_SECT_FILTER_ATTRS = + +# If the GENERATE_QHP tag is set to YES, the QHG_LOCATION tag can +# be used to specify the location of Qt's qhelpgenerator. +# If non-empty doxygen will try to run qhelpgenerator on the generated +# .qhp file. + +QHG_LOCATION = + +# If the GENERATE_ECLIPSEHELP tag is set to YES, additional index files +# will be generated, which together with the HTML files, form an Eclipse help +# plugin. To install this plugin and make it available under the help contents +# menu in Eclipse, the contents of the directory containing the HTML and XML +# files needs to be copied into the plugins directory of eclipse. The name of +# the directory within the plugins directory should be the same as +# the ECLIPSE_DOC_ID value. After copying Eclipse needs to be restarted before +# the help appears. + +GENERATE_ECLIPSEHELP = NO + +# A unique identifier for the eclipse help plugin. When installing the plugin +# the directory name containing the HTML and XML files should also have +# this name. + +ECLIPSE_DOC_ID = org.doxygen.Project + +# The DISABLE_INDEX tag can be used to turn on/off the condensed index at +# top of each HTML page. The value NO (the default) enables the index and +# the value YES disables it. + +DISABLE_INDEX = NO + +# The ENUM_VALUES_PER_LINE tag can be used to set the number of enum values +# (range [0,1..20]) that doxygen will group on one line in the generated HTML +# documentation. Note that a value of 0 will completely suppress the enum +# values from appearing in the overview section. + +ENUM_VALUES_PER_LINE = 4 + +# The GENERATE_TREEVIEW tag is used to specify whether a tree-like index +# structure should be generated to display hierarchical information. +# If the tag value is set to YES, a side panel will be generated +# containing a tree-like index structure (just like the one that +# is generated for HTML Help). For this to work a browser that supports +# JavaScript, DHTML, CSS and frames is required (i.e. any modern browser). +# Windows users are probably better off using the HTML help feature. + +GENERATE_TREEVIEW = NO + +# By enabling USE_INLINE_TREES, doxygen will generate the Groups, Directories, +# and Class Hierarchy pages using a tree view instead of an ordered list. + +USE_INLINE_TREES = NO + +# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be +# used to set the initial width (in pixels) of the frame in which the tree +# is shown. + +TREEVIEW_WIDTH = 250 + +# When the EXT_LINKS_IN_WINDOW option is set to YES doxygen will open +# links to external symbols imported via tag files in a separate window. + +EXT_LINKS_IN_WINDOW = NO + +# Use this tag to change the font size of Latex formulas included +# as images in the HTML documentation. The default is 10. Note that +# when you change the font size after a successful doxygen run you need +# to manually remove any form_*.png images from the HTML output directory +# to force them to be regenerated. + +FORMULA_FONTSIZE = 10 + +# Use the FORMULA_TRANPARENT tag to determine whether or not the images +# generated for formulas are transparent PNGs. Transparent PNGs are +# not supported properly for IE 6.0, but are supported on all modern browsers. +# Note that when changing this option you need to delete any form_*.png files +# in the HTML output before the changes have effect. + +FORMULA_TRANSPARENT = YES + +# Enable the USE_MATHJAX option to render LaTeX formulas using MathJax +# (see http://www.mathjax.org) which uses client side Javascript for the +# rendering instead of using prerendered bitmaps. Use this if you do not +# have LaTeX installed or if you want to formulas look prettier in the HTML +# output. When enabled you also need to install MathJax separately and +# configure the path to it using the MATHJAX_RELPATH option. + +USE_MATHJAX = NO + +# When MathJax is enabled you need to specify the location relative to the +# HTML output directory using the MATHJAX_RELPATH option. The destination +# directory should contain the MathJax.js script. For instance, if the mathjax +# directory is located at the same level as the HTML output directory, then +# MATHJAX_RELPATH should be ../mathjax. The default value points to the +# mathjax.org site, so you can quickly see the result without installing +# MathJax, but it is strongly recommended to install a local copy of MathJax +# before deployment. + +MATHJAX_RELPATH = http://www.mathjax.org/mathjax + +# When the SEARCHENGINE tag is enabled doxygen will generate a search box +# for the HTML output. The underlying search engine uses javascript +# and DHTML and should work on any modern browser. Note that when using +# HTML help (GENERATE_HTMLHELP), Qt help (GENERATE_QHP), or docsets +# (GENERATE_DOCSET) there is already a search function so this one should +# typically be disabled. For large projects the javascript based search engine +# can be slow, then enabling SERVER_BASED_SEARCH may provide a better solution. + +SEARCHENGINE = YES + +# When the SERVER_BASED_SEARCH tag is enabled the search engine will be +# implemented using a PHP enabled web server instead of at the web client +# using Javascript. Doxygen will generate the search PHP script and index +# file to put on the web server. The advantage of the server +# based approach is that it scales better to large projects and allows +# full text search. The disadvantages are that it is more difficult to setup +# and does not have live searching capabilities. + +SERVER_BASED_SEARCH = NO + +#--------------------------------------------------------------------------- +# configuration options related to the LaTeX output +#--------------------------------------------------------------------------- + +# If the GENERATE_LATEX tag is set to YES (the default) Doxygen will +# generate Latex output. + +GENERATE_LATEX = NO + +# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put. +# If a relative path is entered the value of OUTPUT_DIRECTORY will be +# put in front of it. If left blank `latex' will be used as the default path. + +LATEX_OUTPUT = latex + +# The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be +# invoked. If left blank `latex' will be used as the default command name. +# Note that when enabling USE_PDFLATEX this option is only used for +# generating bitmaps for formulas in the HTML output, but not in the +# Makefile that is written to the output directory. + +LATEX_CMD_NAME = latex + +# The MAKEINDEX_CMD_NAME tag can be used to specify the command name to +# generate index for LaTeX. If left blank `makeindex' will be used as the +# default command name. + +MAKEINDEX_CMD_NAME = makeindex + +# If the COMPACT_LATEX tag is set to YES Doxygen generates more compact +# LaTeX documents. This may be useful for small projects and may help to +# save some trees in general. + +COMPACT_LATEX = NO + +# The PAPER_TYPE tag can be used to set the paper type that is used +# by the printer. Possible values are: a4, letter, legal and +# executive. If left blank a4wide will be used. + +PAPER_TYPE = a4 + +# The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX +# packages that should be included in the LaTeX output. + +EXTRA_PACKAGES = + +# The LATEX_HEADER tag can be used to specify a personal LaTeX header for +# the generated latex document. The header should contain everything until +# the first chapter. If it is left blank doxygen will generate a +# standard header. Notice: only use this tag if you know what you are doing! + +LATEX_HEADER = + +# The LATEX_FOOTER tag can be used to specify a personal LaTeX footer for +# the generated latex document. The footer should contain everything after +# the last chapter. If it is left blank doxygen will generate a +# standard footer. Notice: only use this tag if you know what you are doing! + +LATEX_FOOTER = + +# If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated +# is prepared for conversion to pdf (using ps2pdf). The pdf file will +# contain links (just like the HTML output) instead of page references +# This makes the output suitable for online browsing using a pdf viewer. + +PDF_HYPERLINKS = YES + +# If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of +# plain latex in the generated Makefile. Set this option to YES to get a +# higher quality PDF documentation. + +USE_PDFLATEX = YES + +# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode. +# command to the generated LaTeX files. This will instruct LaTeX to keep +# running if errors occur, instead of asking the user for help. +# This option is also used when generating formulas in HTML. + +LATEX_BATCHMODE = NO + +# If LATEX_HIDE_INDICES is set to YES then doxygen will not +# include the index chapters (such as File Index, Compound Index, etc.) +# in the output. + +LATEX_HIDE_INDICES = NO + +# If LATEX_SOURCE_CODE is set to YES then doxygen will include +# source code with syntax highlighting in the LaTeX output. +# Note that which sources are shown also depends on other settings +# such as SOURCE_BROWSER. + +LATEX_SOURCE_CODE = NO + +#--------------------------------------------------------------------------- +# configuration options related to the RTF output +#--------------------------------------------------------------------------- + +# If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output +# The RTF output is optimized for Word 97 and may not look very pretty with +# other RTF readers or editors. + +GENERATE_RTF = NO + +# The RTF_OUTPUT tag is used to specify where the RTF docs will be put. +# If a relative path is entered the value of OUTPUT_DIRECTORY will be +# put in front of it. If left blank `rtf' will be used as the default path. + +RTF_OUTPUT = rtf + +# If the COMPACT_RTF tag is set to YES Doxygen generates more compact +# RTF documents. This may be useful for small projects and may help to +# save some trees in general. + +COMPACT_RTF = NO + +# If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated +# will contain hyperlink fields. The RTF file will +# contain links (just like the HTML output) instead of page references. +# This makes the output suitable for online browsing using WORD or other +# programs which support those fields. +# Note: wordpad (write) and others do not support links. + +RTF_HYPERLINKS = NO + +# Load stylesheet definitions from file. Syntax is similar to doxygen's +# config file, i.e. a series of assignments. You only have to provide +# replacements, missing definitions are set to their default value. + +RTF_STYLESHEET_FILE = + +# Set optional variables used in the generation of an rtf document. +# Syntax is similar to doxygen's config file. + +RTF_EXTENSIONS_FILE = + +#--------------------------------------------------------------------------- +# configuration options related to the man page output +#--------------------------------------------------------------------------- + +# If the GENERATE_MAN tag is set to YES (the default) Doxygen will +# generate man pages + +GENERATE_MAN = NO + +# The MAN_OUTPUT tag is used to specify where the man pages will be put. +# If a relative path is entered the value of OUTPUT_DIRECTORY will be +# put in front of it. If left blank `man' will be used as the default path. + +MAN_OUTPUT = man + +# The MAN_EXTENSION tag determines the extension that is added to +# the generated man pages (default is the subroutine's section .3) + +MAN_EXTENSION = .3 + +# If the MAN_LINKS tag is set to YES and Doxygen generates man output, +# then it will generate one additional man file for each entity +# documented in the real man page(s). These additional files +# only source the real man page, but without them the man command +# would be unable to find the correct page. The default is NO. + +MAN_LINKS = NO + +#--------------------------------------------------------------------------- +# configuration options related to the XML output +#--------------------------------------------------------------------------- + +# If the GENERATE_XML tag is set to YES Doxygen will +# generate an XML file that captures the structure of +# the code including all documentation. + +GENERATE_XML = NO + +# The XML_OUTPUT tag is used to specify where the XML pages will be put. +# If a relative path is entered the value of OUTPUT_DIRECTORY will be +# put in front of it. If left blank `xml' will be used as the default path. + +XML_OUTPUT = xml + +# The XML_SCHEMA tag can be used to specify an XML schema, +# which can be used by a validating XML parser to check the +# syntax of the XML files. + +XML_SCHEMA = + +# The XML_DTD tag can be used to specify an XML DTD, +# which can be used by a validating XML parser to check the +# syntax of the XML files. + +XML_DTD = + +# If the XML_PROGRAMLISTING tag is set to YES Doxygen will +# dump the program listings (including syntax highlighting +# and cross-referencing information) to the XML output. Note that +# enabling this will significantly increase the size of the XML output. + +XML_PROGRAMLISTING = YES + +#--------------------------------------------------------------------------- +# configuration options for the AutoGen Definitions output +#--------------------------------------------------------------------------- + +# If the GENERATE_AUTOGEN_DEF tag is set to YES Doxygen will +# generate an AutoGen Definitions (see autogen.sf.net) file +# that captures the structure of the code including all +# documentation. Note that this feature is still experimental +# and incomplete at the moment. + +GENERATE_AUTOGEN_DEF = NO + +#--------------------------------------------------------------------------- +# configuration options related to the Perl module output +#--------------------------------------------------------------------------- + +# If the GENERATE_PERLMOD tag is set to YES Doxygen will +# generate a Perl module file that captures the structure of +# the code including all documentation. Note that this +# feature is still experimental and incomplete at the +# moment. + +GENERATE_PERLMOD = NO + +# If the PERLMOD_LATEX tag is set to YES Doxygen will generate +# the necessary Makefile rules, Perl scripts and LaTeX code to be able +# to generate PDF and DVI output from the Perl module output. + +PERLMOD_LATEX = NO + +# If the PERLMOD_PRETTY tag is set to YES the Perl module output will be +# nicely formatted so it can be parsed by a human reader. This is useful +# if you want to understand what is going on. On the other hand, if this +# tag is set to NO the size of the Perl module output will be much smaller +# and Perl will parse it just the same. + +PERLMOD_PRETTY = YES + +# The names of the make variables in the generated doxyrules.make file +# are prefixed with the string contained in PERLMOD_MAKEVAR_PREFIX. +# This is useful so different doxyrules.make files included by the same +# Makefile don't overwrite each other's variables. + +PERLMOD_MAKEVAR_PREFIX = + +#--------------------------------------------------------------------------- +# Configuration options related to the preprocessor +#--------------------------------------------------------------------------- + +# If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will +# evaluate all C-preprocessor directives found in the sources and include +# files. + +ENABLE_PREPROCESSING = YES + +# If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro +# names in the source code. If set to NO (the default) only conditional +# compilation will be performed. Macro expansion can be done in a controlled +# way by setting EXPAND_ONLY_PREDEF to YES. + +MACRO_EXPANSION = NO + +# If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES +# then the macro expansion is limited to the macros specified with the +# PREDEFINED and EXPAND_AS_DEFINED tags. + +EXPAND_ONLY_PREDEF = NO + +# If the SEARCH_INCLUDES tag is set to YES (the default) the includes files +# pointed to by INCLUDE_PATH will be searched when a #include is found. + +SEARCH_INCLUDES = YES + +# The INCLUDE_PATH tag can be used to specify one or more directories that +# contain include files that are not input files but should be processed by +# the preprocessor. + +INCLUDE_PATH = + +# You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard +# patterns (like *.h and *.hpp) to filter out the header-files in the +# directories. If left blank, the patterns specified with FILE_PATTERNS will +# be used. + +INCLUDE_FILE_PATTERNS = + +# The PREDEFINED tag can be used to specify one or more macro names that +# are defined before the preprocessor is started (similar to the -D option of +# gcc). The argument of the tag is a list of macros of the form: name +# or name=definition (no spaces). If the definition and the = are +# omitted =1 is assumed. To prevent a macro definition from being +# undefined via #undef or recursively expanded use the := operator +# instead of the = operator. + +PREDEFINED = + +# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then +# this tag can be used to specify a list of macro names that should be expanded. +# The macro definition that is found in the sources will be used. +# Use the PREDEFINED tag if you want to use a different macro definition that +# overrules the definition found in the source code. + +EXPAND_AS_DEFINED = + +# If the SKIP_FUNCTION_MACROS tag is set to YES (the default) then +# doxygen's preprocessor will remove all references to function-like macros +# that are alone on a line, have an all uppercase name, and do not end with a +# semicolon, because these will confuse the parser if not removed. + +SKIP_FUNCTION_MACROS = YES + +#--------------------------------------------------------------------------- +# Configuration::additions related to external references +#--------------------------------------------------------------------------- + +# The TAGFILES option can be used to specify one or more tagfiles. +# Optionally an initial location of the external documentation +# can be added for each tagfile. The format of a tag file without +# this location is as follows: +# TAGFILES = file1 file2 ... +# Adding location for the tag files is done as follows: +# TAGFILES = file1=loc1 "file2 = loc2" ... +# where "loc1" and "loc2" can be relative or absolute paths or +# URLs. If a location is present for each tag, the installdox tool +# does not have to be run to correct the links. +# Note that each tag file must have a unique name +# (where the name does NOT include the path) +# If a tag file is not located in the directory in which doxygen +# is run, you must also specify the path to the tagfile here. + +TAGFILES = + +# When a file name is specified after GENERATE_TAGFILE, doxygen will create +# a tag file that is based on the input files it reads. + +GENERATE_TAGFILE = + +# If the ALLEXTERNALS tag is set to YES all external classes will be listed +# in the class index. If set to NO only the inherited external classes +# will be listed. + +ALLEXTERNALS = NO + +# If the EXTERNAL_GROUPS tag is set to YES all external groups will be listed +# in the modules index. If set to NO, only the current project's groups will +# be listed. + +EXTERNAL_GROUPS = YES + +# The PERL_PATH should be the absolute path and name of the perl script +# interpreter (i.e. the result of `which perl'). + +PERL_PATH = /usr/bin/perl + +#--------------------------------------------------------------------------- +# Configuration options related to the dot tool +#--------------------------------------------------------------------------- + +# If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will +# generate a inheritance diagram (in HTML, RTF and LaTeX) for classes with base +# or super classes. Setting the tag to NO turns the diagrams off. Note that +# this option also works with HAVE_DOT disabled, but it is recommended to +# install and use dot, since it yields more powerful graphs. + +CLASS_DIAGRAMS = YES + +# You can define message sequence charts within doxygen comments using the \msc +# command. Doxygen will then run the mscgen tool (see +# http://www.mcternan.me.uk/mscgen/) to produce the chart and insert it in the +# documentation. The MSCGEN_PATH tag allows you to specify the directory where +# the mscgen tool resides. If left empty the tool is assumed to be found in the +# default search path. + +MSCGEN_PATH = + +# If set to YES, the inheritance and collaboration graphs will hide +# inheritance and usage relations if the target is undocumented +# or is not a class. + +HIDE_UNDOC_RELATIONS = YES + +# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is +# available from the path. This tool is part of Graphviz, a graph visualization +# toolkit from AT&T and Lucent Bell Labs. The other options in this section +# have no effect if this option is set to NO (the default) + +HAVE_DOT = NO + +# The DOT_NUM_THREADS specifies the number of dot invocations doxygen is +# allowed to run in parallel. When set to 0 (the default) doxygen will +# base this on the number of processors available in the system. You can set it +# explicitly to a value larger than 0 to get control over the balance +# between CPU load and processing speed. + +DOT_NUM_THREADS = 0 + +# By default doxygen will write a font called Helvetica to the output +# directory and reference it in all dot files that doxygen generates. +# When you want a differently looking font you can specify the font name +# using DOT_FONTNAME. You need to make sure dot is able to find the font, +# which can be done by putting it in a standard location or by setting the +# DOTFONTPATH environment variable or by setting DOT_FONTPATH to the directory +# containing the font. + +DOT_FONTNAME = Helvetica + +# The DOT_FONTSIZE tag can be used to set the size of the font of dot graphs. +# The default size is 10pt. + +DOT_FONTSIZE = 10 + +# By default doxygen will tell dot to use the output directory to look for the +# FreeSans.ttf font (which doxygen will put there itself). If you specify a +# different font using DOT_FONTNAME you can set the path where dot +# can find it using this tag. + +DOT_FONTPATH = + +# If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen +# will generate a graph for each documented class showing the direct and +# indirect inheritance relations. Setting this tag to YES will force the +# the CLASS_DIAGRAMS tag to NO. + +CLASS_GRAPH = YES + +# If the COLLABORATION_GRAPH and HAVE_DOT tags are set to YES then doxygen +# will generate a graph for each documented class showing the direct and +# indirect implementation dependencies (inheritance, containment, and +# class references variables) of the class with other documented classes. + +COLLABORATION_GRAPH = YES + +# If the GROUP_GRAPHS and HAVE_DOT tags are set to YES then doxygen +# will generate a graph for groups, showing the direct groups dependencies + +GROUP_GRAPHS = YES + +# If the UML_LOOK tag is set to YES doxygen will generate inheritance and +# collaboration diagrams in a style similar to the OMG's Unified Modeling +# Language. + +UML_LOOK = NO + +# If set to YES, the inheritance and collaboration graphs will show the +# relations between templates and their instances. + +TEMPLATE_RELATIONS = NO + +# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDE_GRAPH, and HAVE_DOT +# tags are set to YES then doxygen will generate a graph for each documented +# file showing the direct and indirect include dependencies of the file with +# other documented files. + +INCLUDE_GRAPH = YES + +# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDED_BY_GRAPH, and +# HAVE_DOT tags are set to YES then doxygen will generate a graph for each +# documented header file showing the documented files that directly or +# indirectly include this file. + +INCLUDED_BY_GRAPH = YES + +# If the CALL_GRAPH and HAVE_DOT options are set to YES then +# doxygen will generate a call dependency graph for every global function +# or class method. Note that enabling this option will significantly increase +# the time of a run. So in most cases it will be better to enable call graphs +# for selected functions only using the \callgraph command. + +CALL_GRAPH = NO + +# If the CALLER_GRAPH and HAVE_DOT tags are set to YES then +# doxygen will generate a caller dependency graph for every global function +# or class method. Note that enabling this option will significantly increase +# the time of a run. So in most cases it will be better to enable caller +# graphs for selected functions only using the \callergraph command. + +CALLER_GRAPH = NO + +# If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen +# will generate a graphical hierarchy of all classes instead of a textual one. + +GRAPHICAL_HIERARCHY = YES + +# If the DIRECTORY_GRAPH, SHOW_DIRECTORIES and HAVE_DOT tags are set to YES +# then doxygen will show the dependencies a directory has on other directories +# in a graphical way. The dependency relations are determined by the #include +# relations between the files in the directories. + +DIRECTORY_GRAPH = YES + +# The DOT_IMAGE_FORMAT tag can be used to set the image format of the images +# generated by dot. Possible values are svg, png, jpg, or gif. +# If left blank png will be used. + +DOT_IMAGE_FORMAT = png + +# The tag DOT_PATH can be used to specify the path where the dot tool can be +# found. If left blank, it is assumed the dot tool can be found in the path. + +DOT_PATH = + +# The DOTFILE_DIRS tag can be used to specify one or more directories that +# contain dot files that are included in the documentation (see the +# \dotfile command). + +DOTFILE_DIRS = + +# The MSCFILE_DIRS tag can be used to specify one or more directories that +# contain msc files that are included in the documentation (see the +# \mscfile command). + +MSCFILE_DIRS = + +# The DOT_GRAPH_MAX_NODES tag can be used to set the maximum number of +# nodes that will be shown in the graph. If the number of nodes in a graph +# becomes larger than this value, doxygen will truncate the graph, which is +# visualized by representing a node as a red box. Note that doxygen if the +# number of direct children of the root node in a graph is already larger than +# DOT_GRAPH_MAX_NODES then the graph will not be shown at all. Also note +# that the size of a graph can be further restricted by MAX_DOT_GRAPH_DEPTH. + +DOT_GRAPH_MAX_NODES = 50 + +# The MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of the +# graphs generated by dot. A depth value of 3 means that only nodes reachable +# from the root by following a path via at most 3 edges will be shown. Nodes +# that lay further from the root node will be omitted. Note that setting this +# option to 1 or 2 may greatly reduce the computation time needed for large +# code bases. Also note that the size of a graph can be further restricted by +# DOT_GRAPH_MAX_NODES. Using a depth of 0 means no depth restriction. + +MAX_DOT_GRAPH_DEPTH = 0 + +# Set the DOT_TRANSPARENT tag to YES to generate images with a transparent +# background. This is disabled by default, because dot on Windows does not +# seem to support this out of the box. Warning: Depending on the platform used, +# enabling this option may lead to badly anti-aliased labels on the edges of +# a graph (i.e. they become hard to read). + +DOT_TRANSPARENT = NO + +# Set the DOT_MULTI_TARGETS tag to YES allow dot to generate multiple output +# files in one run (i.e. multiple -o and -T options on the command line). This +# makes dot run faster, but since only newer versions of dot (>1.8.10) +# support this, this feature is disabled by default. + +DOT_MULTI_TARGETS = NO + +# If the GENERATE_LEGEND tag is set to YES (the default) Doxygen will +# generate a legend page explaining the meaning of the various boxes and +# arrows in the dot generated graphs. + +GENERATE_LEGEND = YES + +# If the DOT_CLEANUP tag is set to YES (the default) Doxygen will +# remove the intermediate dot files that are used to generate +# the various graphs. + +DOT_CLEANUP = YES diff --git a/doc/obsolete/build-msw.txt b/doc/obsolete/build-msw.txt new file mode 100644 index 0000000..ff150c3 --- /dev/null +++ b/doc/obsolete/build-msw.txt @@ -0,0 +1,72 @@ +Copyright (c) 2009-2012 Bitcoin Developers +Copyright (c) 2013-2019 NovaCoin Developers + +Distributed under the MIT/X11 software license, see the accompanying +file license.txt or http://www.opensource.org/licenses/mit-license.php. +This product includes software developed by the OpenSSL Project for use in +the OpenSSL Toolkit (http://www.openssl.org/). This product includes +cryptographic software written by Eric Young (eay@cryptsoft.com). + + +See readme-qt.rst for instructions on building NovaCoin QT, the +graphical user interface. + +WINDOWS BUILD NOTES +=================== + +Compilers Supported +------------------- +TODO: What works? +Note: releases are cross-compiled using mingw running on Linux. + + +Dependencies +------------ +Libraries you need to download separately and build: + + default path download +OpenSSL \openssl-1.0.2t-mgw http://www.openssl.org/source/ +Berkeley DB \db-6.0.20.NC-mgw http://www.oracle.com/technology/software/products/berkeley-db/index.html +Boost \boost-1.57.0-mgw http://www.boost.org/users/download/ + +Their licenses: +OpenSSL Old BSD license with the problematic advertising requirement +Berkeley DB New BSD license with additional requirement that linked software must be free open source +Boost MIT-like license + +Versions used in this release: +OpenSSL 1.0.2t +Berkeley DB 6.0.20.NC +Boost 1.57.0 + + +OpenSSL +------- +MSYS shell: +un-tar sources with MSYS 'tar xfz' to avoid issue with symlinks (OpenSSL ticket 2377) +change 'MAKE' env. variable from 'C:\MinGW32\bin\mingw32-make.exe' to '/c/MinGW32/bin/mingw32-make.exe' + +cd /c/openssl-1.0.2t-mgw +./config +make + +Berkeley DB +----------- +MSYS shell: +cd /c/db-6.0.20.NC-mgw/build_unix +sh ../dist/configure --enable-mingw --enable-cxx +make + +Boost +----- +DOS prompt: +downloaded boost jam 3.1.18 +cd \boost-1.57.0-mgw +bjam toolset=gcc --build-type=complete stage + +NovaCoin +------- +DOS prompt: +cd \novacoin\src +mingw32-make -f makefile.mingw +strip novacoind.exe diff --git a/doc/obsolete/build-osx.txt b/doc/obsolete/build-osx.txt new file mode 100644 index 0000000..337fff9 --- /dev/null +++ b/doc/obsolete/build-osx.txt @@ -0,0 +1,56 @@ +Copyright (c) 2017-2019 42 Developers +Copyright (c) 2019 NovaCoin Developers + +Mac OS X Build Instructions and Notes +===================================== + +MacOS 10.11.6 - El Capitan was used in this manual. All of the commands should be executed in a Terminal application. The built-in one is located in /Applications/Utilities. + +1. Install Xcode (7.3.1 for El Capitan), run it and accept the license agreement: + +https://developer.apple.com/xcode/ + +Install Xcode command line tools: + +xcode-select --install + +2. Install MacPorts with main dependencies: + +https://distfiles.macports.org/MacPorts/MacPorts-2.3.5-10.11-ElCapitan.pkg + +sudo port install autoconf automake libtool pkgconfig db60 openssl qrencode qt5 + +sudo ln -s /opt/local/libexec/qt5/bin/qmake /opt/local/bin/qmake + +3. Install Homebrew(http://brew.sh) with dependencies: + +/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" + +brew install python2 boost@1.60 + +brew link --force boost@1.60 + +4. Add to PATH: + +nano ~/.profile + +export PATH=$PATH:~/opt/local/lib/db6.0 +export PATH=$PATH:~/opt/local/lib/db60/include +export PATH=$PATH:~/usr/local/Cellar/boost@1.60/1.60.0/include/boost/thread.hpp + +Ctrl+O, Enter, Ctrl+X + +5. Clone the github tree: + +git clone https://github.com/novacoin-project/novacoin.git + +6. Build novacoin-Qt application: + +cd novacoin +qmake +make + +7. Create the .dmg disk image: + +sudo easy_install appscript +./contrib/macdeploy/macdeployqtplus novacoin-Qt.app -dmg -fancy ./contrib/macdeploy/fancy.plist \ No newline at end of file diff --git a/doc/obsolete/build-unix.txt b/doc/obsolete/build-unix.txt new file mode 100644 index 0000000..7f592e2 --- /dev/null +++ b/doc/obsolete/build-unix.txt @@ -0,0 +1,137 @@ +Copyright (c) 2009-2012 Bitcoin Developers +Copyright (c) 2013 NovaCoin Developers +Distributed under the MIT/X11 software license, see the accompanying +file license.txt or http://www.opensource.org/licenses/mit-license.php. +This product includes software developed by the OpenSSL Project for use in +the OpenSSL Toolkit (http://www.openssl.org/). This product includes +cryptographic software written by Eric Young (eay@cryptsoft.com). + + +UNIX BUILD NOTES +================ + +To Build +-------- + +cd src/ +make -f makefile.unix # Headless novacoin + +See readme-qt.rst for instructions on building NovaCoin QT, +the graphical novacoin. + +Dependencies +------------ + + Library Purpose Description + ------- ------- ----------- + libssl SSL Support Secure communications + libdb4.8 Berkeley DB Blockchain & wallet storage + libboost Boost C++ Library + libqrencode QRCode generation Optional QRCode generation + +Note that libexecinfo should be installed, if you building under *BSD systems. +This library provides backtrace facility. + +libqrencode is used for QRCode image generation. It can be downloaded +from http://fukuchi.org/works/qrencode/index.html.en, or installed via +your package manager. + +Licenses of statically linked libraries: + Berkeley DB New BSD license with additional requirement that linked + software must be free open source + Boost MIT-like license + +Versions used in this release: + GCC 4.3.3 + OpenSSL 0.9.8g + Berkeley DB 4.8.30.NC + Boost 1.37 + +Dependency Build Instructions: Ubuntu & Debian +---------------------------------------------- +sudo apt-get install build-essential +sudo apt-get install libssl-dev +sudo apt-get install libdb4.8-dev +sudo apt-get install libdb4.8++-dev + Boost 1.40+: sudo apt-get install libboost-all-dev + or Boost 1.37: sudo apt-get install libboost1.37-dev +sudo apt-get install libqrencode-dev + +If using Boost 1.37, append -mt to the boost libraries in the makefile. + + +Dependency Build Instructions: Gentoo +------------------------------------- + +Note: If you just want to install novacoind on Gentoo, you can add the Novacoin + overlay and use your package manager: + layman -a novacoin && emerge novacoind + +emerge -av1 --noreplace boost glib openssl sys-libs/db:4.8 + +Take the following steps to build: + cd ${NOVACOIN_DIR}/src + make -f makefile.unix BDB_INCLUDE_PATH='/usr/include/db4.8' + strip novacoind + + +Notes +----- +The release is built with GCC and then "strip novacoind" to strip the debug +symbols, which reduces the executable size by about 90%. + +Berkeley DB +----------- +You need Berkeley DB 4.8. If you have to build Berkeley DB yourself: +../dist/configure --enable-cxx +make + + +Boost +----- +If you need to build Boost yourself: +sudo su +./bootstrap.sh +./bjam install + + +Security +-------- +To help make your novacoin installation more secure by making certain attacks impossible to +exploit even if a vulnerability is found, you can take the following measures: + +* Position Independent Executable + Build position independent code to take advantage of Address Space Layout Randomization + offered by some kernels. An attacker who is able to cause execution of code at an arbitrary + memory location is thwarted if he doesn't know where anything useful is located. + The stack and heap are randomly located by default but this allows the code section to be + randomly located as well. + + On an Amd64 processor where a library was not compiled with -fPIC, this will cause an error + such as: "relocation R_X86_64_32 against `......' can not be used when making a shared object;" + + To build with PIE, use: + make -f makefile.unix ... -e PIE=1 + + To test that you have built PIE executable, install scanelf, part of paxutils, and use: + scanelf -e ./novacoin + + The output should contain: + TYPE + ET_DYN + +* Non-executable Stack + If the stack is executable then trivial stack based buffer overflow exploits are possible if + vulnerable buffers are found. By default, novacoin should be built with a non-executable stack + but if one of the libraries it uses asks for an executable stack or someone makes a mistake + and uses a compiler extension which requires an executable stack, it will silently build an + executable without the non-executable stack protection. + + To verify that the stack is non-executable after compiling use: + scanelf -e ./novacoin + + the output should contain: + STK/REL/PTL + RW- R-- RW- + + The STK RW- means that the stack is readable and writeable but not executable. diff --git a/doc/obsolete/building novacoin-qt for android under Windows.txt b/doc/obsolete/building novacoin-qt for android under Windows.txt new file mode 100644 index 0000000..2bcb8c0 --- /dev/null +++ b/doc/obsolete/building novacoin-qt for android under Windows.txt @@ -0,0 +1,274 @@ +ARMv7 (Собрано в Windows 7) +1.1 Установка архиватора 7z: http://www.7-zip.org/ +(при написании инструкции использовался 7-Zip 15.14 64 bit x64, но скорее всего подойдёт любая версия) + +1.2 Установка msys shell: +-Скачайте http://sourceforge.net/projects/mingw/files/Installer/mingw-get-setup.exe/download +-нажмите Install +-директория для установки C:\MinGW +-оставить галочку напротив "...also install support for the graphical user interface." +-убрать галочки напротив "..in the start menu, and/or .." "... on the desktop" +-нажмите continue, continue +-нажмите All Packages, затем MSYS +-отметьте для установки: +msys-autoconf bin +msys-automake bin +msys-base bin +msys-libtool bin +-нажмите Installation, Apply Changes, Apply. После завершения установки нажмите Close и закройте MinGW Installation Manager. + +1.3 Установка qt-5.6.0 для Android +-Скачайте http://master.qt.io/archive/qt/5.6/5.6.0/qt-opensource-windows-x86-android-5.6.0.exe +-Запустите установщик +-Каталог для установки оставьте по умолчанию (C:\Qt\Qt5.6.0) +-Выберите среди компонентов MinGW 4.9.1, остальные компоненты оставьте по умолчанию +(У меня окошко выглядит так: https://yadi.sk/i/e9W_pXTge43u5 ) +(можно так же выбрать Android X86, и Android armv5 если собираетесь собирать под эти CPU) + +1.4 Установка JAVA JDK +-Зайдите на сайт http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html +-Скачайте и установите JDK (при написании инструкции использовалась jdk-8u172-windows-i586.exe ) + +1.5 Установка Android SDK +-Скачайте http://dl.google.com/android/installer_r24.0.2-windows.exe +-Установите в папку C:\Android\sdk +-Запустите SDK Manager.exe +-Установите Android SDK Tools 24.4.1, Android SDK Platform-tools 23.0.1, Android SDK Build-tools 23.0.1, SDK Platform 22, Google APIs 22, ARM EABI v7a System Image 22, Google USB driver +-по окончанию установки, перезапустите SDK Manager.exe для проверки наличия обновлений установленных компонентов + +1.6 Установка Android NDK +-На сайте https://developer.android.com/tools/sdk/ndk/index.html#Downloads +-Скачайте https://dl.google.com/android/repository/android-ndk-r13b-windows-x86_64.zip + +-Распакуйте в папку C:\Android +-Добавьте путь C:\Android\android-ndk-r13b\toolchains\arm-linux-androideabi-4.9\prebuilt\windows-x86_64\bin в системную переменную PATH: + нажмите правой кнопкой мыши на "Компьютер", в открывшемся меню нажмите "Свойства", затем "Дополнительные параметры системы", потом "Переменные среды" +https://yadi.sk/i/GnG9HiGme46oi +Подробное описание как это сделать на Windows 8, Windows 7, Windows XP и Windows Vista +https://www.java.com/ru/download/help/path.xml +(только не нужно выполнять последний пункт из этой инструкции "Откройте заново окно командной строки и выполните код java." ) + +Проверка что вы добавили правильный путь в переменную PATH: +-откройте командную строку Windows(Нажмите кнопку Windows + R одновременно. Откроется окно "Выполнить", в поле открыть наберите cmd. Нажмите Ok). +-наберите arm-linux-androideabi-g++ -v +В командной строке выведется текст. В конце текста должно быть написано: +Thread model: posix +gcc version 4.9 20150123 (prerelease) (GCC) + +1.7 Установка Apache Ant +-Зайдите на сайт https://ant.apache.org/bindownload.cgi +-Скачайте архив с программой: http://apache-mirror.rbc.ru/pub/apache//ant/binaries/apache-ant-1.10.3-bin.zip +-Распакуйте в папку C:\Android\apache-ant-1.10.3 + +1.8 Добавьте новые системные переменные(Они нужны только для пункта 2. Построение зависимостей, после этого их можно убрать) +-В "Системные переменные" нажмите "Cоздать"(ниже будет идти список "переменная и её значение") +ANDROID_DEV /c/Android/android-ndk-r13b/platforms/android-9/arch-arm/usr +AR /c/Android/android-ndk-r13b/toolchains/arm-linux-androideabi-4.9/prebuilt/windows-x86_64/bin/arm-linux-androideabi-ar +AS /c/Android/android-ndk-r13b/toolchains/arm-linux-androideabi-4.9/prebuilt/windows-x86_64/bin/arm-linux-androideabi-as +CC /c/Android/android-ndk-r13b/toolchains/arm-linux-androideabi-4.9/prebuilt/windows-x86_64/bin/arm-linux-androideabi-gcc +CFLAGS --sysroot=/c/Android/android-ndk-r13b/platforms/android-9/arch-arm/ +CPP /c/Android/android-ndk-r13b/toolchains/arm-linux-androideabi-4.9/prebuilt/windows-x86_64/bin/arm-linux-androideabi-cpp +CPPFLAGS --sysroot=/c/Android/android-ndk-r13b/platforms/android-9/arch-arm/ +CXX /c/Android/android-ndk-r13b/toolchains/arm-linux-androideabi-4.9/prebuilt/windows-x86_64/bin/arm-linux-androideabi-g++ +CXXFLAGS --sysroot=/c/Android/android-ndk-r13b/platforms/android-9/arch-arm/ -I/c/Android/android-ndk-r13b/sources/cxx-stl/gnu-libstdc++/4.9/include -I/c/Android/android-ndk-r13b/sources/cxx-stl/gnu-libstdc++/4.9/libs/armeabi-v7a/include +LD /c/Android/android-ndk-r13b/toolchains/arm-linux-androideabi-4.9/prebuilt/windows-x86_64/bin/arm-linux-androideabi-ld +NDK_PROJECT_PATH C:\Android\android-ndk-r13b +RANLIB /c/Android/android-ndk-r13b/toolchains/arm-linux-androideabi-4.9/prebuilt/windows-x86_64/bin/arm-linux-androideabi-ranlib + +2. Построение зависимостей. +В инструкции все зависимости сохраняются в папку C:\Android\deps + +2.1 OpenSSL +-Скачайте http://www.openssl.org/source/openssl-1.0.2t.tar.gz +-Распакуйте в папку C:\Android\deps\openssl-1.0.2 +-Перейдите в папку C:\MinGW\msys\1.0 и запустите msys.bat +Из MinGw shell выполните следующий код: + +cd /c/Android/deps/openssl-1.0.2 +Configure no-shared no-dso android-armv7 +make + +2.2 Berkeley DB +-Скачайте http://download.oracle.com/berkeley-db/db-6.0.20.tar.gz +-Из MinGw shell выполните следующий код: + +cd /c/Android/deps/ +tar xvfz db-6.0.20.tar.gz +cd db-6.0.20/build_unix +../dist/configure --host=arm-none-linux --enable-cxx --disable-shared --disable-replication +make + +2.3 Boost +-Скачайте http://sourceforge.net/projects/boost/files/boost/1.57.0/boost_1_57_0.7z/download +-Распакуйте boost_1_57_0.7z в папку C:\Android\deps +-Откройте командную строку Windows, и выполните следующий код: + +cd C:\Android\deps\boost_1_57_0 +bootstrap.bat + +Не закрывайте командную строку. Откройте файл C:\Android\deps\boost_1_57_0\project-config.jam в текстовом редакторе, удалите его содержимое, вставьте следующий текст + +import option ; + +using gcc : arm : arm-linux-androideabi-g++.exe ; + +option.set keep-going : false ; + +и сохраните файл + +Вернитесь в командную строку и введите: + +b2 --build-type=complete --with-chrono --with-filesystem --with-program_options --with-system --with-thread toolset=gcc-arm variant=release link=static threading=multi threadapi=pthread target-os=android define=BOOST_MATH_DISABLE_FLOAT128 include=C:\Android\android-ndk-r13b\sources\cxx-stl\gnu-libstdc++\4.9\include include=C:\Android\android-ndk-r13b\sources\cxx-stl\gnu-libstdc++\4.9\libs\armeabi\include include=C:\Android\android-ndk-r13b\platforms\android-9\arch-arm\usr\include + +После выполнения этой команды в папке C:\Android\deps\boost_1_57_0\stage\lib должны появиться следующие файлы: +libboost_atomic-gcc-mt-s-1_57.a +libboost_chrono-gcc-mt-s-1_57.a +libboost_filesystem-gcc-mt-s-1_57.a +libboost_program_options-gcc-mt-s-1_57.a +libboost_system-gcc-mt-s-1_57.a +libboost_thread_pthread-gcc-mt-s-1_57.a + +2.4 LevelDB +-Зайдите на сайт https://github.com/novacoin-project/novacoin +-Нажмите Download ZIP +-Распакуйте novacoin-master.zip в C:\Android +-Откройте MinGW shell (C:\MinGW\msys\1.0\msys.bat) и выполните следующий код: + +cd /c/android/novacoin-master/src/leveldb +TARGET_OS=OS_ANDROID_CROSSCOMPILE make libleveldb.a libmemenv.a + +2.5 ifaddrs +-Зайдите на сайт https://github.com/kmackay/android-ifaddrs +-Нажмите Download ZIP +-Откройте архив android-ifaddrs-master.zip , выберите файлы ifaddrs.c и ifaddrs.h и извлеките их в C:\Android\novacoin-master\src + +3. Компиляция +3.1 Собираем Novacoin QT + +Откройте файл novacoin-qt.pro +Вместо + +#BOOST_LIB_SUFFIX=-mgw49-mt-s-1_55 +#BOOST_INCLUDE_PATH=C:/deps/boost_1_55_0 +#BOOST_LIB_PATH=C:/deps/boost_1_55_0/stage/lib +#BDB_INCLUDE_PATH=C:/deps/db-6.0.20/build_unix +#BDB_LIB_PATH=C:/deps/db-6.0.20/build_unix +#OPENSSL_INCLUDE_PATH=C:/deps/openssl-1.0.1j/include +#OPENSSL_LIB_PATH=C:/deps/openssl-1.0.1j + +вставьте + +USE_IPV6=0 +USE_LEVELDB=1 +USE_ASM=1 + +BOOST_LIB_SUFFIX=-gcc-mt-s-1_57 +BOOST_INCLUDE_PATH=C:/Android/deps/boost_1_57_0 +BOOST_LIB_PATH=C:/Android/deps/boost_1_57_0/stage/lib +BDB_INCLUDE_PATH=C:/Android/deps/db-6.0.20/build_unix +BDB_LIB_PATH=C:/Android/deps/db-6.0.20/build_unix +OPENSSL_INCLUDE_PATH=C:/Android/deps/openssl-1.0.2/include +OPENSSL_LIB_PATH=C:/Android/deps/openssl-1.0.2 + +Вместо + +!windows|contains(USE_BUILD_INFO, 1) { + genbuild.depends = FORCE + genbuild.commands = cd $$PWD; /bin/sh share/genbuild.sh $$OUT_PWD/build/build.h + genbuild.target = $$OUT_PWD/build/build.h + PRE_TARGETDEPS += $$OUT_PWD/build/build.h + QMAKE_EXTRA_TARGETS += genbuild + DEFINES += HAVE_BUILD_INFO +} + +вставьте + +#!windows|contains(USE_BUILD_INFO, 1) { +# genbuild.depends = FORCE +# genbuild.commands = cd $$PWD; /bin/sh share/genbuild.sh $$OUT_PWD/build/build.h +# genbuild.target = $$OUT_PWD/build/build.h +# PRE_TARGETDEPS += $$OUT_PWD/build/build.h +# QMAKE_EXTRA_TARGETS += genbuild +# DEFINES += HAVE_BUILD_INFO +#} + +После строки src/irc.h \ вставьте src/ifaddrs.h \ +(то есть чтобы стало выглядеть так: +src/irc.h \ +src/ifaddrs.h \ +src/mruset.h \ +) + +После строки src/qt/transactiontablemodel.cpp \ вставьте src/ifaddrs.c \ + +Закоментируйте строку LIBS += -lrt +(то есть чтобы стало выглядеть так: +!windows:!macx { + DEFINES += LINUX +# LIBS += -lrt +} +) + +Измените строку +LIBS += -lboost_system$$BOOST_LIB_SUFFIX -lboost_filesystem$$BOOST_LIB_SUFFIX -lboost_program_options$$BOOST_LIB_SUFFIX -lboost_thread$$BOOST_THREAD_LIB_SUFFIX +на +LIBS += -lboost_system$$BOOST_LIB_SUFFIX -lboost_filesystem$$BOOST_LIB_SUFFIX -lboost_program_options$$BOOST_LIB_SUFFIX -lboost_thread_pthread$$BOOST_THREAD_LIB_SUFFIX + +Сохраните изменения в файле novacoin-qt.pro. + +-Откройте файл C:\Qt\Qt5.6.0\Tools\QtCreator\bin\qtcreator.exe +-Нажмите "Инструменты"->"Параметры"->"Устройства", затем выберите вкладку Android +-Вставьте в строку "Размещение JDK" C:\Program Files (x86)\Java\jdk1.8.0_172 +-Вставьте в строку "Размещение SDK для Android" C:\Android\sdk +-Вставьте в строку "Размещение NDK для Android" C:\Android\android-ndk-r13b +-Проверьте, чтоб в строке "Программа Ant" было C:\Android\apache-ant-1.10.3\bin\ant.bat +-Нажмите "OK" +-Нажмите "Файл"->"Открыть файл или проект..." +-Найдите "novacoin-qt.pro" и нажмите "открыть" +-Поставьте галочку напротив Android для armeabi-v7a(GCC 4.9, Qt 5.6.0), остальные галочки уберите +-Нажмите "Настроить проект" +-Нажмите "Проекты"->Изменить конфигурацию сборки: выберите "Выпуск"->Собрать Android APK "Подробнее"->"Создать шаблоны"(картинка чтобы лучше понять https://yadi.sk/i/M8mhG2tce4cEy) +-Нажмите "Завершить" +-Задайте имя пакета "org.fortytwo.coin", выберите иконки для приложения (находятся в папке C:\Android\novacoin-master\src\qt\res\icons, для Google Play Market иконка должна быть не менее 512x512), выберите "целевой SDK: API 21"(https://yadi.sk/i/oY-OmnrWe4cTY) +-В QtCreator'е нажмите "Сборка"->"Собрать проект "novacoin-qt""->"Сохранить все" и ждите завершения компиляции. +-После завершения компиляции в папке C:\Android\build-novacoin-qt-Android_armeabi_v7a_GCC_4_9_Qt_5_6_0-Release\android-build\bin будет файл QtApp-debug.apk. Переименуйте его в novacoin-qt.apk и можно распростронять. + +Изменения для Android X86 +1. Добавить путь C:\Android\android-ndk-r13b\toolchains\x86-4.9\prebuilt\windows-x86_64\bin в системную переменную PATH +2. Изменить системные переменные так: + +ANDROID_DEV /c/Android/android-ndk-r13b/platforms/android-9/arch-x86/usr +AR /c/Android/android-ndk-r13b/toolchains/x86-4.9/prebuilt/windows-x86_64/bin/i686-linux-android-ar +AS /c/Android/android-ndk-r13b/toolchains/x86-4.9/prebuilt/windows-x86_64/bin/i686-linux-android-as +CC /c/Android/android-ndk-r13b/toolchains/x86-4.9/prebuilt/windows-x86_64/bin/i686-linux-android-gcc +CFLAGS --sysroot=/c/Android/android-ndk-r13b/platforms/android-9/arch-x86/ +CPP /c/Android/android-ndk-r13b/toolchains/x86-4.9/prebuilt/windows-x86_64/bin/i686-linux-android-cpp +CPPFLAGS --sysroot=/c/Android/android-ndk-r13b/platforms/android-9/arch-x86/ +CXX /c/Android/android-ndk-r13b/toolchains/x86-4.9/prebuilt/windows-x86_64/bin/i686-linux-android-g++ +CXXFLAGS --sysroot=/c/Android/android-ndk-r13b/platforms/android-9/arch-x86/ -I/c/Android/android-ndk-r13b/sources/cxx-stl/gnu-libstdc++/4.9/include -I/c/Android/android-ndk-r13b/sources/cxx-stl/gnu-libstdc++/4.9/libs/x86/include +LD /c/Android/android-ndk-r13b/toolchains/x86-4.9/prebuilt/windows-x86_64/bin/i686-linux-android-ld +RANLIB /c/Android/android-ndk-r13b/toolchains/x86-4.9/prebuilt/windows-x86_64/bin/i686-linux-android-ranlib + +3. При построении OpenSSL выполнить +Configure no-shared no-dso android-x86 +вместо +Configure no-shared no-dso android-armv7 + +4. При построении BerkeleyDB выполнить +../dist/configure --host=x86-none-linux --enable-cxx --disable-shared --disable-replication +вместо +../dist/configure --host=arm-none-linux --enable-cxx --disable-shared --disable-replication + +5. При построении Boost вставить +using gcc : x86 : i686-linux-android-g++.exe ; +вместо +using gcc : arm : arm-linux-androideabi-g++.exe ; + +и выполнить +b2 --build-type=complete --with-chrono --with-filesystem --with-program_options --with-system --with-thread toolset=gcc variant=release link=static threading=multi threadapi=pthread target-os=android define=BOOST_MATH_DISABLE_FLOAT128 include=C:\Android\android-ndk-r10d\sources\cxx-stl\gnu-libstdc++\4.9\include include=C:\Android\android-ndk-r10d\sources\cxx-stl\gnu-libstdc++\4.9\libs\x86\include include=C:\Android\android-ndk-r10d\platforms\android-9\arch-x86\usr\include + +вместо + +b2 --build-type=complete --with-chrono --with-filesystem --with-program_options --with-system --with-thread toolset=gcc-arm variant=release link=static threading=multi threadapi=pthread target-os=android define=BOOST_MATH_DISABLE_FLOAT128 include=C:\Android\android-ndk-r10d\sources\cxx-stl\gnu-libstdc++\4.9\include include=C:\Android\android-ndk-r10d\sources\cxx-stl\gnu-libstdc++\4.9\libs\armeabi\include include=C:\Android\android-ndk-r10d\platforms\android-9\arch-arm\usr\include + +6. В QtCreator выбирать Android для X86 вместо Android для armeabi-v7a diff --git a/doc/obsolete/building novacoind and novacoinqt under Linux.txt b/doc/obsolete/building novacoind and novacoinqt under Linux.txt new file mode 100644 index 0000000..a435ce9 --- /dev/null +++ b/doc/obsolete/building novacoind and novacoinqt under Linux.txt @@ -0,0 +1,51 @@ +Сборка для Linux +Если предпочитаете компилировать свои собственные бинарные файлы, тогда нужны пакеты разработчика: + +Ubuntu/Debian: + sudo apt-get install git qt4-qmake libqt4-dev build-essential libboost-dev libboost-system-dev + libboost-filesystem-dev libboost-program-options-dev libboost-thread-dev + libssl-dev libdb++-dev libqrencode-dev + +Если у вас возникла ошибка при установке qt4-qmake (Возникает на Ubuntu 14.04.2 и возможно в других версиях) +libcheese-gtk23 : Depends: libclutter-gtk-1.0-0 (>= 0.91.8) but it is not going to be installed + Depends: libcogl15 (>= 1.15.8) but it is not going to be installed +libcheese7 : Depends: libclutter-gst-2.0-0 (>= 0.10.0) but it is not going to be installed + Depends: gstreamer1.0-clutter but it is not going to be installed +libclutter-1.0-0 : Depends: libcogl-pango15 (>= 1.15.8) but it is not going to be installed + Depends: libcogl15 (>= 1.15.8) but it is not going to be installed + +То введите +sudo apt-get install libglew-dev libcheese7 libcheese-gtk23 libclutter-gst-2.0-0 libcogl15 libclutter-gtk-1.0-0 libclutter-1.0-0 xserver-xorg-input-all + +openSUSE(проверено на версии 13.2): + sudo zypper install git gcc gcc-c++ libqt4-devel boost-devel libopenssl-devel libdb-4_8-devel libqrencode3 + +После того, как установка завершалась, можно клонировать Novacoin репозитарий + + git clone https://github.com/novacoin-project/novacoin.git + +и наконец, скомпилировать свой клиент + + cd novacoin + qmake USE_O3=1 USE_ASM=1 (если хотите LevelDB, то USE_LEVELDB=1) + make + cd src + make -f makefile.unix USE_O3=1 USE_ASM=1 (если хотите LevelDB, то USE_LEVELDB=1) + strip novacoind + +Команды выше компилируют бинарные файлы с динамической линковкой, если вы хотите со статической линковкой и ваш дистрибутив содержит статические библиотеки(.a , а не .so), то добавьте: +-в команду qmake: + RELEASE=1 +-в команду make -f makefile.unix: + STATIC=1 + +Если вы хотите уменьшить размер бинарных файлов, то +1) Перейдите на сайт http://upx.sourceforge.net/#downloadupx +2) Скачайте программу в соответсвии с вашей системой +3) Распакуйте программу в папку с бинарными Novacoin файлами. +4) Введите в терминале +./upx -9 novacoind +затем +./upx -9 novacoin-qt + +И ваши novacoind и novacoin-qt станут меньше ~ в 3 раза. diff --git a/doc/obsolete/building novacoind and novacoinqt under Windows with MSVC.txt b/doc/obsolete/building novacoind and novacoinqt under Windows with MSVC.txt new file mode 100644 index 0000000..44b9e91 --- /dev/null +++ b/doc/obsolete/building novacoind and novacoinqt under Windows with MSVC.txt @@ -0,0 +1,125 @@ +1. Подготовка системы. +Внимание: данная инструкция (включая сопутствуюшие файлы) расчитана на сборку в среде Windows 64-bit. + +1.1 Установка архиватора 7z: http://www.7-zip.org/ +(при написании инструкции использовался 7-Zip 9.20 64 bit X64, но скорее всего подойдёт любая версия) + +1.2 Установка Visual Studio 2012. (Подойдёт даже бесплатная версия) +http://www.microsoft.com/ru-ru/download/details.aspx?id=34673 +Установить обновление Visual Studio 2012 Update 4 +http://www.microsoft.com/ru-ru/download/details.aspx?id=39305 + +1.3 Установка Perl(при написании инструкции использовался ActivePerl-5.16.3.1604-MSWin32-x86-298023.msi) +http://www.activestate.com/activeperl/downloads +Убедитесь что после установки Perl в PATH есть пути(у меня Perl был установлен на диск C:\) C:\Perl\site\bin;C:\Perl\bin; + +1.4 Установка Python(подойдёт и 2 версия и 3 версия)(при написании инструкции использовался Python 3.3.3) +https://www.python.org/downloads/ +Убедитесь что после установки Python в PATH есть путь до python.exe + +1.5 Установка Nasm (при написании инструкции использовался nasm-2.07-installer.exe) +http://sourceforge.net/projects/nasm/files/latest/download +Убедитесь что после установки Nasm в PATH есть путь до Nasm.exe + +2. Построение зависимостей. +В инструкции все зависимости сохраняются в папку C:\MyProjects\Deps +Скопируйте папку build-helpers(находится в архиве с исходниками в папке MSVC) и вставьте в папку C:\MyProjects\Deps + +2.1 OpenSSL +-Скачайте http://www.openssl.org/source/openssl-1.0.2.tar.gz +-Распакуйте архив в папку C:\MyProjects\Deps +-Откройте командную строку Windows и выполните следующий код: + +cd C:\MyProjects\Deps\build-helpers +buildopenssl.bat + + +2.2 Berkeley DB +-Скачайте http://download.oracle.com/berkeley-db/db-6.0.20.tar.gz +-Распакуйте архив в папку C:\MyProjects\Deps +-Запустите Visual Studio 2012 +-Откройте C:\MyProjects\Deps\db-6.0.20\build_windows\Berkeley_DB_vs2010.sln +-Выберете проект db +-Измените конфигурацию с Debug на Static Debug +-Нажмите правой кнопкой мыши на проект db, затем в "Свойства" -> "Общие" убедитесь, что Набор символов "Использовать многобайтовую кодировку" +-Перейдите в "C/C++" -> "Препроцессор" -> "Определения препроцессора" и удалите _UNICODE и UNICODE, также убедитесь, что в Унаследованных значениях нет +_UNICODE и UNICODE +-Нажмите правой кнопкой мыши на проект db, затем "Только проект" -> "Построить только db" +-Постройте так все Static конфигурации(Static Debug 32 bit, Static Release 32 bit, Static Debug X64, Static Release X64) + +Проверка: +Если вы всё сделали правильно то у вас будут файлы: +C:\MyProjects\Deps\db-6.0.20\build_windows\Win32\Static Release\libdb60s.lib +C:\MyProjects\Deps\db-6.0.20\build_windows\Win32\Static Debug\libdb60sd.lib +C:\MyProjects\Deps\db-6.0.20\build_windows\x64\Static Release\libdb60s.lib +C:\MyProjects\Deps\db-6.0.20\build_windows\x64\Static Debug\libdb60sd.lib + +2.3 Boost +-Скачайте http://sourceforge.net/projects/boost/files/boost/1.57.0/boost_1_57_0.7z/download +-Распакуйте boost_1_57_0.7z в папку C:\MyProjects\Deps +-Откройте командную строку Windows и выполните следующий код: + +cd C:\MyProjects\Deps\build-helpers +buildboost.bat + +2.4 qrencode +-Скачайте http://qrencode-win32.googlecode.com/archive/681f2ea7a41f919486d9932b3352a2e6920e1cb9.zip +-Распакуйте +-Откройте командную строку Windows и выполните следующий код: + +cd C:\MyProjects\Deps\build-helpers +buildqrcode.bat + +2.5 Qt 5 +-Скачайте http://download.qt-project.org/official_releases/qt/5.3/5.3.2/single/qt-everywhere-opensource-src-5.3.2.7z +-Распакуйте в C:\MyProjects\Deps +-Если вам нужна поддержка 64 bit, то переименуйте папку qt-everywhere-opensource-src-5.3.2 в qt-everywhere-opensource-src-5.3.2-64 +(если вам нужна возможность строить и 32 bit и 64 bit бинарники, то у вас должны быть обе папки и qt-everywhere-opensource-src-5.3.2-64 и qt-everywhere-opensource-src-5.3.2 ) +-Откройте командную строку Windows и выполните следующий код: + +cd C:\MyProjects\Deps\build-helpers +buildqt32.bat + +или для 64 bit + +cd C:\MyProjects\Deps\build-helpers +buildqt64.bat + + +3. Компиляция +Будем хранить исходники в папке C:\MyProjects + +3.0 Подготовка Microsoft Visual Studio 2012 к работе +-Откройте Microsoft Visual Studio 2012 +-Нажмите СЕРВИС -> Параметры.. -> Текстовый редактор -> Все языки -> Табуляция и поставьте флажок "Вставлять пробелы" +(Если у вас английская версия, то это выглядит так: Tools->Options->Text Editor->All Languages->Tabs и поставьте флажок "Insert Spaces" вместо "Keep Tabs".) + +3.1 Скачиваем исходники +-Зайдите на сайт https://github.com/novacoin-project/novacoin +-Нажмите Download ZIP +-Распакуйте novacoin-master.zip в C:\MyProjects +-переименуйте novacoin-master в Novacoin + +3.2 Компиляция +-Откройте Microsoft Visual Studio 2012 +-Откройте файл C:\MyProjects\Novacoin\MSVC\NovacoinSolution.sln +-Можете компилировать и NovacoinD и NovacoinQT +(по-умолчанию выставлена компиляция с LevelDB, если вы хотите компилировать с BerkleyDB, то +-Выберете проект libcommon, перейдите в свойства -> С\С++ -> Препроцессор, удалите USE_LEVELDB +-Удалите из проекта libcommon libcommon -> Source Files -> txdb-leveldb.cpp и добавьте в проект +txdb-bdb.cpp +-Удалите из проекта libcommon libcommon -> Header Files -> txdb-leveldb.h и добавьте в проект +txdb-bdb.h +-Выберете проект NovacoinD, перейдите в свойства -> С\С++ -> Препроцессор, удалите USE_LEVELDB +-Выберете проект NovacoinQT, перейдите в свойства -> С\С++ -> Препроцессор, удалите USE_LEVELDB + +Если вы хотите уменьшить размер бинарных файлов, то +1) Перейдите на сайт http://upx.sourceforge.net/#downloadupx +2) Скачайте программу в соответсвии с вашей системой +3) Распакуйте программу в папку с бинарными Novacoin файлами. +4) Введите в консоли +upx -9 NovacoinD.exe +затем +upx -9 NovacoinQT.exe + +И ваши NovacoinD и NovacoinQT станут меньше ~ в 3 раза. diff --git a/doc/obsolete/building novacoind and novacoinqt under Windows with MinGW.txt b/doc/obsolete/building novacoind and novacoinqt under Windows with MinGW.txt new file mode 100644 index 0000000..5ac6ef3 --- /dev/null +++ b/doc/obsolete/building novacoind and novacoinqt under Windows with MinGW.txt @@ -0,0 +1,460 @@ +32 bit: +1. Подготовка системы. + +1.1 Установка архиватора 7z: http://www.7-zip.org/ +(при написании инструкции использовался 7-Zip 9.20 64 bit X64, но скорее всего подойдёт любая версия) + +1.2 Установка msys shell: +-Скачайте http://sourceforge.net/projects/mingw/files/Installer/mingw-get-setup.exe/download +-нажмите Install +-директория для установки C:\MinGW +-поставить галочку напротив "...also install support for the graphical user interface." +-убрать галочки напротив "..in the start menu, and/or .." "... on the desktop" +-нажмите continue +-нажмите continue +-нажмите All Packages, затем MSYS +-поставте галочки напротив: +msys-autoconf-bin +msys-automake-bin +msys-base-bin +msys-libtool-bin +-нажмите Installation, Apply Changes, Apply. После завершения установки нажмите Close и закройте MinGW Installation Manager. + +1.3 Установка MinGW-builds project toolchain: +Скачайте http://sourceforge.net/projects/mingw-w64/files/Toolchains%20targetting%20Win32/Personal%20Builds/mingw-builds/4.9.2/threads-posix/dwarf/i686-4.9.2-release-posix-dwarf-rt_v3-rev0.7z/download +и распакуйте на C:\ + +1.4 Добавьте в переменную PATH путь C:\mingw32\bin; +Подробное описание как это сделать в Windows: https://www.java.com/ru/download/help/path.xml +(только не нужно выполнять последний пункт из этой инструкции "Откройте заново окно командной строки и выполните код java." ) + +Проверка что вы всё сделали правильно: +1)C:\MinGW\bin должен содержать только файл mingw-get.exe +2)Откройте Командную строку (Нажмите кнопку Windows + R одновременно. Откроется окно "Выполнить", в поле открыть наберите cmd. Нажмите Ok). Наберите gcc -v. В командной строке выведется текст. В конце текста должно быть написано: +Thread model: posix +gcc version 4.9.2 (i686-posix-dwarf-rev0, Built by MinGW-W64 project) + +2. Построение зависимостей. +В инструкции все зависимости сохраняются в папку c:\deps + +2.1 OpenSSL +-Скачайте https://openssl.org/source/openssl-1.0.2.tar.gz +-Перейдите в папку C:\MinGW\msys\1.0 и запустите msys.bat +Из MinGw shell выполните следующий код: + +cd /c/deps/ +tar xvfz openssl-1.0.2.tar.gz +cd openssl-1.0.2 +Configure no-shared no-dso mingw +make + +2.2 Berkeley DB +-Скачайте http://download.oracle.com/berkeley-db/db-6.0.20.tar.gz +-Из MinGw shell выполните следующий код: + +cd /c/deps/ +tar xvfz db-6.0.20.tar.gz +cd db-6.0.20/build_unix +../dist/configure --enable-mingw --enable-cxx --disable-shared --disable-replication +make + +2.3 Boost +-Скачайте http://sourceforge.net/projects/boost/files/boost/1.57.0/boost_1_57_0.7z/download +-Распакуйте boost_1_57_0.7z в папку C:\deps +-Откройте командную строку Windows, и выполните следующий код: + +cd C:\deps\boost_1_57_0\ +bootstrap.bat mingw +b2 --build-type=complete --with-chrono --with-filesystem --with-program_options --with-system --with-thread toolset=gcc variant=release link=static threading=multi runtime-link=static stage + +2.4 qrencode +-Скачайте http://download.sourceforge.net/libpng/libpng-1.6.15.tar.gz?download +-Распакуйте +-Откройте MinGw shell (C:\MinGW\msys\1.0\msys.bat) и выполните следующий код: + +cd /c/deps/libpng-1.6.15 +configure --disable-shared +make +cp .libs/libpng16.a .libs/libpng.a + +-Скачайте http://fukuchi.org/works/qrencode/qrencode-3.4.4.tar.gz +-Распакуйте +-Выполните следующий код в MinGW shell: + +cd /c/deps/qrencode-3.4.4 + +LIBS="../libpng-1.6.15/.libs/libpng.a ../../mingw32/i686-w64-mingw32/lib/libz.a" \ +png_CFLAGS="-I../libpng-1.6.15" \ +png_LIBS="-L../libpng-1.6.15/.libs" \ +configure --enable-static --disable-shared --without-tools + +make + +2.5 Qt 5 и Qt 4 +Библиотеки Qt будем хранить в папке C:\Qt +Для ускорения компиляции вместо +mingw32-make +используйте +mingw32-make -j n , где вместо n количество ядер вашего процессора +Qt 5: +-Скачайте http://download.qt-project.org/official_releases/qt/5.4/5.4.0/submodules/qtbase-opensource-src-5.4.0.7z +http://download.qt-project.org/official_releases/qt/5.4/5.4.0/submodules/qttools-opensource-src-5.4.0.7z +http://download.qt-project.org/official_releases/qt/5.4/5.4.0/submodules/qttranslations-opensource-src-5.4.0.7z + +-Распакуйте в C:\Qt +-Переименуйте папку qtbase-opensource-src-5.4.0 в 5.4.0 +-Откройте командную строку Windows и выполните следующий код: + +set INCLUDE=C:\deps\libpng-1.6.15;C:\deps\openssl-1.0.2\include +set LIB=C:\deps\libpng-1.6.15\.libs;C:\deps\openssl-1.0.2 + +cd C:\Qt\5.4.0 + +configure.bat -release -opensource -confirm-license -static -make libs -no-sql-sqlite -no-opengl -system-zlib -qt-pcre -no-icu -no-gif -system-libpng -no-libjpeg -no-freetype -no-angle -openssl -no-dbus -no-audio-backend -no-wmf-backend -no-qml-debug + +mingw32-make + +set PATH=%PATH%;C:\Qt\5.4.0\bin + +cd C:\Qt\qttools-opensource-src-5.4.0 +qmake qttools.pro +mingw32-make + +cd C:\Qt\qttranslations-opensource-src-5.4.0 +qmake qttranslations.pro +mingw32-make + + +Qt4: +-Скачайте http://download.qt-project.org/official_releases/qt/4.8/4.8.7/qt-everywhere-opensource-src-4.8.7.zip +-Распакуйте в C:\Qt +-Переименуйте папку qt-everywhere-opensource-src-4.8.7 в 4.8.7 +-Откройте командную строку Windows и выполните следующий код: + +cd C:\Qt\4.8.7 + +configure -release -opensource -confirm-license -static -no-sql-sqlite -no-qt3support -no-opengl -qt-zlib -no-gif -qt-libpng -qt-libmng -no-libtiff -qt-libjpeg -no-dsp -no-vcproj -no-openssl -no-dbus -no-phonon -no-phonon-backend -no-multimedia -no-audio-backend -no-webkit -no-script -no-scripttools -no-declarative -no-declarative-debug -qt-style-windows -qt-style-windowsxp -qt-style-windowsvista -no-style-plastique -no-style-cleanlooks -no-style-motif -no-style-cde -nomake demos -nomake examples + +mingw32-make + + +3. Компиляция +Будем хранить исходники в папке C:\MyProjects + +3.1 Скачиваем исходники +-Зайдите на сайт https://github.com/novacoin-project/novacoin +-Нажмите Download ZIP +-Распакуйте novacoin-master.zip в C:\MyProjects + +3.2 Собираем novacoind +-Перейдите в папку C:\MyProjects\novacoin-master\src +-Откройте файл makefile.mingw в текстовом редакторе.(При написании инструкции использовался WordPad) +-Добавьте строчку USE_ASM:=1 +-Если вы хотите использовать LevelDB как базу блоков то измените: +USE_LEVELDB:=0 +на +USE_LEVELDB:=1 +(выше USE_IPV6:=1) + +-Сохраните измененный файл makefile.mingw + +-Откройте MinGW shell (C:\MinGW\msys\1.0\msys.bat) и выполните следующий код: + +cd /c/MyProjects/novacoin-master/src +make -f makefile.mingw +strip novacoind.exe + +Если у вас возникает ошибка "make: cc: Command not found", то поменяйте в файле makefile.mingw + + $(CC) -c $(xCXXFLAGS) -MMD -o $@ $< +на + gcc -c $(xCXXFLAGS) -MMD -o $@ $< + +Если всё сделано правильно, то файл novacoind.exe будет находится в папке C:\MyProjects\novacoin-master\src + + +3.3 Собираем Novacoin QT + +Внимание: Если вы хотите собирать Novacoin Qt с LevelDB, но пропустили шаг со сборкой novacoind.exe, то +-Откройте MinGW shell (C:\MinGW\msys\1.0\msys.bat) и выполните следующий код: + +cd /c/myprojects/novacoin-master/src/leveldb +TARGET_OS=NATIVE_WINDOWS make libleveldb.a libmemenv.a + +-Откройте файл C:\MyProjects\novacoin-master\novacoin-qt.pro в текстовом редакторе(при написании инструкции использовался WordPad) +-Ниже +# Dependency library locations can be customized with: +# BOOST_INCLUDE_PATH, BOOST_LIB_PATH, BDB_INCLUDE_PATH, +# BDB_LIB_PATH, OPENSSL_INCLUDE_PATH and OPENSSL_LIB_PATH respectively +замените прописанные пути к зависимостям на + +BOOST_LIB_SUFFIX=-mgw49-mt-s-1_57 +BOOST_INCLUDE_PATH=C:/deps/boost_1_57_0 +BOOST_LIB_PATH=C:/deps/boost_1_57_0/stage/lib +BDB_INCLUDE_PATH=C:/deps/db-6.0.20/build_unix +BDB_LIB_PATH=C:/deps/db-6.0.20/build_unix +OPENSSL_INCLUDE_PATH=C:/deps/openssl-1.0.2/include +OPENSSL_LIB_PATH=C:/deps/openssl-1.0.2 +QRENCODE_INCLUDE_PATH=C:/deps/qrencode-3.4.4 +QRENCODE_LIB_PATH=C:/deps/qrencode-3.4.4/.libs + +Так же измените(если ещё не изменено) +LIBS += -lshlwapi +genleveldb.commands = cd $$PWD/src/leveldb && CC=$$QMAKE_CC CXX=$$QMAKE_CXX TARGET_OS=OS_WINDOWS_CROSSCOMPILE $(MAKE) OPT=\"$$QMAKE_CXXFLAGS $$QMAKE_CXXFLAGS_RELEASE\" libleveldb.a libmemenv.a && $$QMAKE_RANLIB $$PWD/src/leveldb/libleveldb.a && $$QMAKE_RANLIB $$PWD/src/leveldb/libmemenv.a + +на + +LIBS += -lshlwapi +#genleveldb.commands = cd $$PWD/src/leveldb && CC=$$QMAKE_CC CXX=$$QMAKE_CXX TARGET_OS=OS_WINDOWS_CROSSCOMPILE $(MAKE) OPT=\"$$QMAKE_CXXFLAGS $$QMAKE_CXXFLAGS_RELEASE\" libleveldb.a libmemenv.a && $$QMAKE_RANLIB $$PWD/src/leveldb/libleveldb.a && $$QMAKE_RANLIB $$PWD/src/leveldb/libmemenv.a + +Если в файле нет такой строчки CONFIG += static , то добавьте её. + +Измените +win32:QMAKE_LFLAGS........................ +на +win32:QMAKE_LFLAGS *= -Wl,--large-address-aware -static + +Измените +windows:LIBS += -lboost_chrono$$BOOST_LIB_SUFFIX -Wl,-Bstatic -lpthread -Wl,-Bdynamic +на +windows:LIBS += -lboost_chrono$$BOOST_LIB_SUFFIX + +-Сохраните измененный файл novacoin-qt.pro +-Откройте командную строку Windows и выполните следующий код: + +Qt5 + транзакционный индекс BDB + +set PATH=%PATH%;C:\Qt\5.4.0\bin +cd C:\MyProjects\novacoin-master +qmake "USE_IPV6=1" "USE_ASM=1" novacoin-qt.pro +mingw32-make -f Makefile.Release + + +Qt5 + транзакционный индекс LevelDB + +set PATH=%PATH%;C:\Qt\5.4.0\bin +cd C:\MyProjects\novacoin-master +qmake "USE_IPV6=1" "USE_LEVELDB=1" "USE_ASM=1" novacoin-qt.pro +mingw32-make -f Makefile.Release + +Qt4 + транзакционный индекс BDB + +set PATH=%PATH%;C:\Qt\4.8.7\bin +cd C:\MyProjects\novacoin-master +qmake "USE_IPV6=1" "USE_ASM=1" novacoin-qt.pro +mingw32-make -f Makefile.Release + +Qt4 + транзакционный индекс LevelDB + +set PATH=%PATH%;C:\Qt\4.8.7\bin +cd C:\MyProjects\novacoin-master +qmake "USE_IPV6=1" "USE_LEVELDB=1" "USE_ASM=1" novacoin-qt.pro +mingw32-make -f Makefile.Release + + + +Если всё сделано правильно, то файл novacoin-qt.exe будет находится в папке C:\MyProjects\novacoin-master\release + +Если вы хотите уменьшить размер бинарных файлов, то +1) Перейдите на сайт http://upx.sourceforge.net/#downloadupx +2) Скачайте программу в соответсвии с вашей системой +3) Распакуйте программу в папку с бинарными Novacoin файлами. +4) Введите в консоли +upx -9 novacoind.exe +затем +upx -9 novacoin-qt.exe + +И ваши novacoind и novacoin-qt станут меньше ~ в 3 раза. + + + +64 bit: +1.1 Так же как 32 bit + +1.2 Так же как 32 bit + +1.3 Установка MinGW-builds project toolchain: +Скачайте http://sourceforge.net/projects/mingw-w64/files/Toolchains%20targetting%20Win64/Personal%20Builds/mingw-builds/4.9.2/threads-posix/seh/x86_64-4.9.2-release-posix-seh-rt_v3-rev0.7z/download +и распакуйте на C:\ + +1.4 Удалите из переменной PATH путь C:\mingw32\bin; и добавьте в PATH путь C:\mingw64\bin; + +Проверка что вы всё сделали правильно: +1)C:\MinGW\bin должен содержать только файл mingw-get.exe +2)Откройте Командную строку (Нажмите кнопку Windows + R одновременно. Откроется окно "Выполнить", в поле открыть наберите cmd. Нажмите Ok). Наберите gcc -v. В командной строке выведется текст. В конце текста должно быть написано: +Thread model: posix +gcc version 4.9.2 (x86_64-posix-seh-rev0, Built by MinGW-W64 project) + +2. Построение зависимостей. +В инструкции все зависимости сохраняются в папку c:\deps\x64 + +2.1 OpenSSL: http://www.openssl.org/source/openssl-1.0.2.tar.gz +-Перейдите в папку C:\MinGW\msys\1.0 и запустите msys.bat +Из MinGw shell выполните следующий код: + +cd /c/deps/x64/ +tar xvfz openssl-1.0.2.tar.gz +cd openssl-1.0.2 +Configure no-shared no-dso mingw64 +make + +2.2 Так же как 32 bit, только cd /c/deps/ меняется на cd /c/deps/x64/ + +2.3 Так же как 32 bit, только распаковка в C:\deps\x64 и команда cd C:\deps\boost_1_57_0\ меняется на cd C:\deps\x64\boost_1_57_0\ + +2.4 Часть с libpng так же как 32 bit, только распаковка в C:\deps\x64 +Затем +-Скачайте http://fukuchi.org/works/qrencode/qrencode-3.4.4.tar.gz +-Распакуйте в C:\deps\x64 +-Выполните следующий код в MinGW shell: + +cd /c/deps/x64/qrencode-3.4.4 + +LIBS="../libpng-1.6.15/.libs/libpng.a ../../../mingw64/x86_64-w64-mingw32/lib/libz.a" \ +png_CFLAGS="-I../libpng-1.6.15" \ +png_LIBS="-L../libpng-1.6.15/.libs" \ +configure --enable-static --disable-shared --without-tools + +make + + +2.5 Qt 5 и Qt 4 +Библиотеки Qt будем хранить в папке C:\Qt +Для ускорения компиляции вместо +mingw32-make +используйте +mingw32-make -j n , где вместо n количество ядер вашего процессора +Qt 5: +-Скачайте http://download.qt-project.org/official_releases/qt/5.4/5.4.0/submodules/qtbase-opensource-src-5.4.0.7z +http://download.qt-project.org/official_releases/qt/5.4/5.4.0/submodules/qttools-opensource-src-5.4.0.7z +http://download.qt-project.org/official_releases/qt/5.4/5.4.0/submodules/qttranslations-opensource-src-5.4.0.7z +-Распакуйте в C:\Qt +-Переименуйте папку qtbase-opensource-src-5.4.0 в 5.4.0-x64 +-Переименуйте папку qttools-opensource-src-5.4.0 в qttools-opensource-src-5.4.0-x64 +-Переименуйте папку qttranslations-opensource-src-5.4.0 в qttranslations-opensource-src-5.4.0-x64 +-Откройте командную строку Windows и выполните следующий код: + +set INCLUDE=C:\deps\x64\libpng-1.6.15;C:\deps\x64\openssl-1.0.2\include +set LIB=C:\deps\x64\libpng-1.6.15\.libs;C:\deps\x64\openssl-1.0.2 + +cd C:\Qt\5.4.0-x64 + +configure.bat -release -opensource -confirm-license -static -make libs -no-sql-sqlite -no-opengl -system-zlib -qt-pcre -no-icu -no-gif -system-libpng -no-libjpeg -no-freetype -no-angle -openssl -no-dbus -no-audio-backend -no-wmf-backend -no-qml-debug + +mingw32-make + +set PATH=%PATH%;C:\Qt\5.4.0-x64\bin + +cd C:\Qt\qttools-opensource-src-5.4.0-x64 +qmake qttools.pro +mingw32-make + +cd C:\Qt\qttranslations-opensource-src-5.4.0-x64 +qmake qttranslations.pro +mingw32-make + +Qt4: +-Скачайте http://download.qt-project.org/official_releases/qt/4.8/4.8.7/qt-everywhere-opensource-src-4.8.7.zip +-Распакуйте в C:\Qt +-Переименуйте папку qt-everywhere-opensource-src-4.8.7 в 4.8.7-x64 +-Откройте командную строку Windows и выполните следующий код: + +configure -release -opensource -confirm-license -static -no-sql-sqlite -no-qt3support -no-opengl -qt-zlib -no-gif -qt-libpng -qt-libmng -no-libtiff -qt-libjpeg -no-dsp -no-vcproj -no-openssl -no-dbus -no-phonon -no-phonon-backend -no-multimedia -no-audio-backend -no-webkit -no-script -no-scripttools -no-declarative -no-declarative-debug -qt-style-windows -qt-style-windowsxp -qt-style-windowsvista -no-style-plastique -no-style-cleanlooks -no-style-motif -no-style-cde -nomake demos -nomake examples + +mingw32-make + +3. Компиляция +Будем хранить исходники в папке C:\MyProjects + +3.1 Так же как 32 bit + +3.2 Собираем novacoind +-Измените makefile.mingw так же как в 32 bit +-Откройте файл makefile.mingw в текстовом редакторе и сохраните его как makefile.ming64 +-Измените в INCLUDEPATHS и LIBPATHS /c/deps/ на /c/deps/x64/ +-Измените +LDFLAGS=-Wl,--dynamicbase -Wl,--nxcompat -Wl,--large-address-aware -static +на +LDFLAGS=-Wl,--dynamicbase -Wl,--nxcompat -Wl,-static, -static-libgcc +-Удалите (если они есть)obj(.o) файлы из C:\MyProjects\novacoin-master\src\obj , если остались после 32 bit +-Удалите (если они есть)libleveldb.a и libmemenv.a в папке C:\MyProjects\novacoin-master\src\leveldb +-Удалите (если они есть)obj(.o) файлы из +C:\MyProjects\novacoin-master\src\leveldb\db +C:\MyProjects\novacoin-master\src\leveldb\helpers\memenv +C:\MyProjects\novacoin-master\src\leveldb\port +C:\MyProjects\novacoin-master\src\leveldb\table +C:\MyProjects\novacoin-master\src\leveldb\util +-Откройте MinGW shell (C:\MinGW\msys\1.0\msys.bat) и выполните следующий код: + +cd /c/MyProjects/novacoin-master/src +make -f makefile.mingw64 +strip novacoind.exe + +Если всё сделано правильно, то файл novacoind.exe будет находится в папке C:\MyProjects\novacoin-master\src + + +3.3 Собираем Novacoin QT +Внимание: Если вы хотите собирать Novacoin Qt с LevelDB, но пропустили шаг со сборкой novacoind.exe, то +-Удалите (если они есть)libleveldb.a и libmemenv.a в папке C:\MyProjects\novacoin-master\src\leveldb +-Удалите (если они есть)obj(.o) файлы из +C:\MyProjects\novacoin-master\src\leveldb\db +C:\MyProjects\novacoin-master\src\leveldb\helpers\memenv +C:\MyProjects\novacoin-master\src\leveldb\port +C:\MyProjects\novacoin-master\src\leveldb\table +C:\MyProjects\novacoin-master\src\leveldb\util +-Откройте MinGW shell (C:\MinGW\msys\1.0\msys.bat) и выполните следующий код: + +cd /c/myprojects/novacoin-master/src/leveldb +TARGET_OS=NATIVE_WINDOWS make libleveldb.a libmemenv.a + +-Измените файл novacoin-qt.pro так же как в 32 bit +-Откройте файл novacoin-qt.pro в текстовом редакторе и сохраните его как novacoin-qt64.pro +-Замените в INCLUDE и LIB путях текст C:/deps на текст C:/deps/x64 (то есть вместо C:/deps/boost_1_57_0 нужно C:/deps/x64/boost_1_57_0 и т.д.) +-Замените +win32:QMAKE_LFLAGS *= -Wl,--large-address-aware -static +на +win32:QMAKE_LFLAGS *= -Wl,-static + +-Откройте командную строку Windows и выполните следующий код: + +Qt5 + транзакционный индекс BDB + +set PATH=%PATH%;C:\Qt\5.4.0-x64\bin +cd C:\MyProjects\novacoin-master +qmake "USE_IPV6=1" "USE_ASM=1" novacoin-qt64.pro +mingw32-make -f Makefile.Release + + +Qt5 + транзакционный индекс LevelDB + +set PATH=%PATH%;C:\Qt\5.4.0-x64\bin +cd C:\MyProjects\novacoin-master +qmake "USE_IPV6=1" "USE_LEVELDB=1" "USE_ASM=1" novacoin-qt64.pro +mingw32-make -f Makefile.Release + +Qt4 + транзакционный индекс BDB + +set PATH=%PATH%;C:\Qt\4.8.7-x64\bin +cd C:\MyProjects\novacoin-master +qmake "USE_IPV6=1" "USE_ASM=1" novacoin-qt64.pro +mingw32-make -f Makefile.Release + +Qt4 + транзакционный индекс LevelDB + +set PATH=%PATH%;C:\Qt\4.8.7-x64\bin +cd C:\MyProjects\novacoin-master +qmake "USE_IPV6=1" "USE_LEVELDB=1" "USE_ASM=1" novacoin-qt64.pro +mingw32-make -f Makefile.Release + +Если всё сделано правильно, то файл novacoin-qt.exe будет находится в папке C:\MyProjects\novacoin-master\release + +Если вы хотите уменьшить размер бинарных файлов, то +1) Перейдите на сайт http://upx.sourceforge.net/#downloadupx +2) Скачайте программу в соответсвии с вашей системой +3) Распакуйте программу в папку с бинарными Novacoin файлами. +4) Введите в консоли +upx -9 novacoind.exe +затем +upx -9 novacoin-qt.exe + +И ваши novacoind и novacoin-qt станут меньше ~ в 3 раза. diff --git a/doc/obsolete/coding.txt b/doc/obsolete/coding.txt new file mode 100644 index 0000000..46da661 --- /dev/null +++ b/doc/obsolete/coding.txt @@ -0,0 +1,99 @@ +Please be consistent with the existing coding style. + +Block style: + +bool Function(char* psz, int n) +{ + // Comment summarising what this section of code does + for (int i = 0; i < n; i++) + { + // When something fails, return early + if (!Something()) + return false; + ... + } + + // Success return is usually at the end + return true; +} + +- ANSI/Allman block style +- 4 space indenting, no tabs +- No extra spaces inside parenthesis; please don't do ( this ) +- No space after function names, one space after if, for and while + +Variable names begin with the type in lowercase, like nSomeVariable. +Please don't put the first word of the variable name in lowercase like +someVariable. + +Common types: +n integer number: short, unsigned short, int, unsigned int, + int64, uint64, sometimes char if used as a number +d double, float +f flag +hash uint256 +p pointer or array, one p for each level of indirection +psz pointer to null terminated string +str string object +v vector or similar list objects +map map or multimap +set set or multiset +bn CBigNum + +------------------------- +Locking/mutex usage notes + +The code is multi-threaded, and uses mutexes and the +CRITICAL_BLOCK/TRY_CRITICAL_BLOCK macros to protect data structures. + +Deadlocks due to inconsistent lock ordering (thread 1 locks cs_main +and then cs_wallet, while thread 2 locks them in the opposite order: +result, deadlock as each waits for the other to release its lock) are +a problem. Compile with -DDEBUG_LOCKORDER to get lock order +inconsistencies reported in the debug.log file. + +Re-architecting the core code so there are better-defined interfaces +between the various components is a goal, with any necessary locking +done by the components (e.g. see the self-contained CKeyStore class +and its cs_KeyStore lock for example). + +------- +Threads + +StartNode : Starts other threads. + +ThreadGetMyExternalIP : Determines outside-the-firewall IP address, +sends addr message to connected peers when it determines it. + +ThreadIRCSeed : Joins IRC bootstrapping channel, watching for new +peers and advertising this node's IP address. + +ThreadSocketHandler : Sends/Receives data from peers on port 8333. + +ThreadMessageHandler : Higher-level message handling (sending and +receiving). + +ThreadOpenConnections : Initiates new connections to peers. + +ThreadTopUpKeyPool : replenishes the keystore's keypool. + +ThreadCleanWalletPassphrase : re-locks an encrypted wallet after user +has unlocked it for a period of time. + +SendingDialogStartTransfer : used by pay-via-ip-address code (obsolete) + +ThreadDelayedRepaint : repaint the gui + +ThreadFlushWalletDB : Close the wallet.dat file if it hasn't been used +in 500ms. + +ThreadRPCServer : Remote procedure call handler, listens on port 8332 +for connections and services them. + +ThreadBitcoinMiner : Generates bitcoins + +ThreadMapPort : Universal plug-and-play startup/shutdown + +Shutdown : Does an orderly shutdown of everything + +ExitTimeout : Windows-only, sleeps 5 seconds then exits application diff --git a/doc/obsolete/crosscompiling_building Windows binary under Unix.txt b/doc/obsolete/crosscompiling_building Windows binary under Unix.txt new file mode 100644 index 0000000..7196859 --- /dev/null +++ b/doc/obsolete/crosscompiling_building Windows binary under Unix.txt @@ -0,0 +1,309 @@ +Данный способ должен подходить для любой Unix системы: Linux, FreeBSD, MacOS X +Данное руководство писалось на Linux Mint 17.1 ( http://linuxmint.com/ ) и проверялось на Ubuntu 14.04 (https://www.ubuntu.com/) + +1) Подготовка системы для кросскомпиляции. + +sudo apt-get install git bison cmake flex g++ gperf ruby scons libghc-zlib-dev libghc-zlib-bindings-dev + +2) Установка MXE и зависимостей + +cd /home/<ваше имя>/ +git clone https://github.com/mxe/mxe.git + +sudo apt-get install autoconf automake autopoint libtool intltool libtoolize p7zip-full libgtk2.0-dev + +2.1) gcc + +cd /home/<ваше имя>/mxe +make gcc zlib libpng + +Проверка того, что установка gcc прошла успешно: +В папке /home/<ваше имя>/mxe/usr/bin должен появиться файл i686-w64-mingw32.static-gcc и i686-w64-mingw32.static-g++ +И при запуске /home/<ваше имя>/mxe/usr/bin/i686-w64-mingw32.static-gcc -v должно выдаваться +...... +Thread model: win32 +gcc version 5.4.0 (GCC) + +В папке /home/<ваше имя>/mxe/usr/i686-w64-mingw32.static/lib должны быть файлы: +libz.a +libpng.a + +2.2) Openssl + +cd /home/<ваше имя>/mxe +make openssl + +Проверка что установка Openssl прошла успешно: +В папке /home/<ваше имя>/mxe/usr/i686-w64-mingw32.static/lib должны появиться два файла +-libssl.a +-libcrypto.a +В папке mxe/usr/i686-w64-mingw32.static/include должна появиться папка openssl + +2.3) Boost + +cd /home/<ваше имя>/mxe +make boost + +Проверка что установка Boost прошла успешно: +В /home/<ваше имя>/mxe/usr/i686-w64-mingw32.static/lib папке должны появиться файлы: +-libboost_имябиблиотеки_mt.a (libboost_atomic-mt.a и другие подобные файлы) +-libboost_имябиблиотеки_mt-d.a (libboost_atomic-mt-d.a и другие подобные файлы) + +В папке /home/<ваше имя>/mxe/usr/i686-w64-mingw32.static/include должна появиться папка boost + +2.4) Berkeley DB +-Скачайте http://download.oracle.com/berkeley-db/db-6.0.20.tar.gz +-Распакуйте в домашнюю папку +-Откройте файл /home/<ваше имя>/db-6.0.20/src/dbinc/win_db.h +-Измените +#include +на +#include +-Сохраните файл +-Откройте терминал: + +cd /home/<ваше имя>/db-6.0.20/dist +chmod +x configure +cd +cd /home/<ваше имя>/db-6.0.20/build_unix +export PATH=/home/<ваше имя>/mxe/usr/bin:$PATH +../dist/configure --host=i686-w64-mingw32.static --enable-mingw --enable-cxx --disable-shared --disable-replication +make + +Проверка, что установка Berkeley DB прошла успешно: +В папке /home/<ваше имя>/db-6.0.20/build_unix должны появиться файлы: +libdb.a +libdb_cxx.a + +2.5) qrencode +-Скачайте http://fukuchi.org/works/qrencode/qrencode-3.4.4.tar.gz +-Распакуйте в домашнюю папку +-Откройте терминал: + +export PATH=/home/<ваше имя>/mxe/usr/bin:$PATH +cd /home/<ваше имя>/qrencode-3.4.4 +chmod +x configure +./configure --host=i686-w64-mingw32.static --enable-static --disable-shared --without-tools +make + +Проверка что qrencode успешно собралась: +в папке /home/<ваше имя>/qrencode-3.4.4/.libs должен быть файл: +libqrencode.a + +2.6 Qt 5 и Qt 4 + +Qt 4 +-Откройте терминал: + +cd /home/<ваше имя>/mxe +make qt + +Проверка что Qt4 собрался правильно: +-Откройте терминал: + +export PATH=/home/<ваше имя>/mxe/usr/bin:$PATH +i686-w64-mingw32.static-qmake-qt4 -v + +-Должно появиться в ответ +QMake version 2.01a +Using Qt version 4.8.7 in /home/<ваше имя>/mxe/usr/i686-w64-mingw32.static/qt/lib + +Qt 5 +-Откройте терминал: + +export PATH=/home/<ваше имя>/mxe/usr/bin:$PATH +cd /home/<ваше имя>/mxe +make qtbase qttools qttranslations + +Проверка что Qt5 собрался правильно: +-Откройте терминал: + +export PATH=/home/<ваше имя>/mxe/usr/bin:$PATH +i686-w64-mingw32.static-qmake-qt5 -v + +-Должно появиться в ответ +QMake version 3.1 +Using Qt version 5.8.0 in /home/<ваше имя>/mxe/usr/i686-w64-mingw32.static/qt5/lib + +3. Компиляция + +3.1 Скачиваем исходники +-Перейдите в домашнюю папку +-Откройте терминал: + +git clone https://github.com/novacoin-project/novacoin.git + +3.2 Собираем novacoind +-Откройте файл makefile.mingw в текстовом редакторе (например, Pluma, gedit) +-Замените CC=gcc на +CC=$(CROSS)gcc +CXX=$(CROSS)g++ + +-Добавьте строчку USE_ASM:=1 +-Поменяйте текущие INCLUDEPATHS, LIBPATHS, LIBS на: + +BOOST_SUFFIX?=-mt +BOOST_THREAD_LIB_SUFFIX?=_win32-mt + +INCLUDEPATHS= \ + -I"$(CURDIR)" \ + -I"/home/<ваше имя>/db-6.0.20/build_unix" \ + +LIBPATHS= \ + -L"$(CURDIR)/leveldb" \ + -L"/home/<ваше имя>/db-6.0.20/build_unix" \ + +LIBS= \ + -l leveldb \ + -l memenv \ + -l boost_system$(BOOST_SUFFIX) \ + -l boost_filesystem$(BOOST_SUFFIX) \ + -l boost_program_options$(BOOST_SUFFIX) \ + -l boost_thread$(BOOST_THREAD_LIB_SUFFIX) \ + -l boost_chrono$(BOOST_SUFFIX) \ + -l db_cxx \ + -l ssl \ + -l crypto \ + -l z \ + -l pthread + +-Поменяйте в последних строчках makefile.mingw +g++ -c $(CFLAGS) -o $@ $< +на +$(CXX) -c $(CFLAGS) -o $@ $< + +g++ $(CFLAGS) $(LDFLAGS) -o $@ $(LIBPATHS) $^ $(LIBS) +на +$(CXX) $(CFLAGS) $(LDFLAGS) -o $@ $(LIBPATHS) $^ $(LIBS) + +-Если вы хотите использовать LevelDB как базу блоков то измените: +USE_LEVELDB:=0 +на +USE_LEVELDB:=1 +(выше USE_IPV6:=1) +Откройте файл /home/<ваше имя>/novacoin/src/leveldb/Makefile +Вставьте ниже строчки CXXFLAGS += -I. -I./include $(PLATFORM_CXXFLAGS) $(OPT) следующие строки: + +CC=$(CROSS)gcc +CXX=$(CROSS)g++ +Сохраните файл + +Снова возвращаемся в файл makefile.mingw, измените +cd leveldb;TARGET_OS=NATIVE_WINDOWS make libleveldb.a libmemenv.a; cd .. +на +cd leveldb; TARGET_OS=NATIVE_WINDOWS make CROSS=i686-w64-mingw32.static- libleveldb.a libmemenv.a; cd .. + +Если вы хотите использовать BerkeleyDB как базу блоков, то просто удалите строчку USE_LEVELDB:=1 + +Измените +clean: + -del /Q novacoind.exe + -del /Q obj\* + -del /Q crypto\scrypt\asm\obj\* + +на + +clean: + -rm novacoind.exe + -rm obj/* + -rm crypto/scrypt/asm/obj/* + +-Сохраните измененный файл makefile.mingw + +-Откройте терминал: + +cd /home/<ваше имя>/novacoin/src +export PATH=/home/<ваше имя>/mxe/usr/bin:$PATH +make -j n CROSS=i686-w64-mingw32.static- -f makefile.mingw (вместо n количество ядер вашего процессора, которые вы хотите выделить под сборку) +strip novacoind.exe + +Если всё сделано правильно, то файл novacoind.exe будет находится в папке /home/<ваше имя>/novacoin/src. + +3.3 Собираем Novacoin QT + +Внимание: Если вы хотите собирать Novacoin Qt с LevelDB, но пропустили шаг со сборкой novacoind.exe, то +-Измените Makefile в папке leveldb также как в пункте 3.2 +-Откройте терминал: + +export PATH=/home/<ваше имя>/mxe/usr/bin:$PATH +cd /home/<ваше имя>/novacoin/src/leveldb +TARGET_OS=NATIVE_WINDOWS make CROSS=i686-w64-mingw32.static- libleveldb.a libmemenv.a + +-Откройте файл /home/<ваше имя>/novacoin/novacoin-qt.pro в текстовом редакторе (например, Pluma, gedit) +-Ниже +# Dependency library locations can be customized with: +# BOOST_INCLUDE_PATH, BOOST_LIB_PATH, BDB_INCLUDE_PATH, +# BDB_LIB_PATH, OPENSSL_INCLUDE_PATH and OPENSSL_LIB_PATH respectively +замените прописанные пути к зависимостям на + +BOOST_LIB_SUFFIX=-mt +BOOST_THREAD_LIB_SUFFIX=_win32-mt +BDB_INCLUDE_PATH=/home/<ваше имя>/db-6.0.20/build_unix +BDB_LIB_PATH=/home/<ваше имя>/db-6.0.20/build_unix +QRENCODE_INCLUDE_PATH=/home/<ваше имя>/qrencode-3.4.4 +QRENCODE_LIB_PATH=/home/<ваше имя>/qrencode-3.4.4/.libs + +Так же измените(если ещё не изменено) +LIBS += -lshlwapi +genleveldb.commands = cd $$PWD/src/leveldb && CC=$$QMAKE_CC CXX=$$QMAKE_CXX TARGET_OS=OS_WINDOWS_CROSSCOMPILE $(MAKE) OPT=\"$$QMAKE_CXXFLAGS $$QMAKE_CXXFLAGS_RELEASE\" libleveldb.a libmemenv.a && $$QMAKE_RANLIB $$PWD/src/leveldb/libleveldb.a && $$QMAKE_RANLIB $$PWD/src/leveldb/libmemenv.a + +на + +LIBS += -lshlwapi +#genleveldb.commands = cd $$PWD/src/leveldb && CC=$$QMAKE_CC CXX=$$QMAKE_CXX TARGET_OS=OS_WINDOWS_CROSSCOMPILE $(MAKE) OPT=\"$$QMAKE_CXXFLAGS $$QMAKE_CXXFLAGS_RELEASE\" libleveldb.a libmemenv.a && $$QMAKE_RANLIB $$PWD/src/leveldb/libleveldb.a && $$QMAKE_RANLIB $$PWD/src/leveldb/libmemenv.a + +Если в файле нет такой строчки CONFIG += static , то добавьте её. + +Измените +win32:QMAKE_LFLAGS *= -Wl,--dynamicbase -Wl,--nxcompat +на +win32:QMAKE_LFLAGS *= -Wl,--large-address-aware -static + +Измените +win32:QMAKE_LRELEASE = $$[QT_INSTALL_BINS]\\lrelease.exe +на +win32:QMAKE_LRELEASE = $$[QT_INSTALL_BINS]/lrelease + +-Сохраните измененный файл novacoin-qt.pro +-Откройте терминал и выполните следующие команды: + +Qt4 + транзакционный индекс LevelDB + +export PATH=/home/<ваше имя>/mxe/usr/bin:$PATH +cd /home/<ваше имя>/novacoin +i686-w64-mingw32.static-qmake-qt4 "USE_IPV6=1" "USE_LEVELDB=1" "USE_ASM=1" novacoin-qt.pro +make -j n -f Makefile.Release (вместо n количество ядер вашего процессора, которые вы хотите выделить под сборку) + +Qt4 + транзакционный индекс BDB + +export PATH=/home/<ваше имя>/mxe/usr/bin:$PATH +cd /home/<ваше имя>/novacoin +i686-w64-mingw32.static-qmake-qt4 "USE_IPV6=1" "USE_ASM=1" novacoin-qt.pro +make -j n -f Makefile.Release (вместо n количество ядер вашего процессора, которые вы хотите выделить под сборку) + +Qt5 + транзакционный индекс LevelDB + +export PATH=/home/<ваше имя>/mxe/usr/bin:$PATH +cd /home/<ваше имя>/novacoin +i686-w64-mingw32.static-qmake-qt5 "USE_IPV6=1" "USE_LEVELDB=1" "USE_ASM=1" novacoin-qt.pro +make -j n -f Makefile.Release (вместо n количество ядер вашего процессора, которые вы хотите выделить под сборку) + +Qt5 + транзакционный индекс BDB + +export PATH=/home/<ваше имя>/mxe/usr/bin:$PATH +cd /home/<ваше имя>/novacoin +i686-w64-mingw32.static-qmake-qt5 "USE_IPV6=1" "USE_ASM=1" novacoin-qt.pro +make -j n -f Makefile.Release (вместо n количество ядер вашего процессора, которые вы хотите выделить под сборку) + +Если всё сделано правильно, то файл novacoin-qt.exe будет находится в папке /home/<ваше имя>/novacoin/release. + +Если вы хотите уменьшить размер бинарных файлов, то +1) Перейдите на сайт http://upx.sourceforge.net/#downloadupx +2) Скачайте программу в соответсвии с вашей системой +3) Распакуйте программу в папку с бинарными Novacoin файлами. +4) Введите в терминале +./upx -9 novacoind.exe +затем +./upx -9 novacoin-qt.exe + +И ваши novacoind и novacoin-qt станут меньше ~ в 3 раза. diff --git a/doc/obsolete/novacoin_logo_doxygen.png b/doc/obsolete/novacoin_logo_doxygen.png new file mode 100644 index 0000000000000000000000000000000000000000..b14d47a9fd2d0e7f4767a0eb557424ba7c5ef3d1 GIT binary patch literal 6328 zcmZ{IWmFT6_x_OX_A`*0G!h#jjFtugB?ak?l-%e>89h2BM8bhM8W9)_5g3h1inMft zl#)NcFaIz8=bn3?bK`k)&pqd!dlQ}-YSU7&Qvm<~T3sCt<9{goKcyi1XDesNwEh8! z%OitF06={z^_2tZKc5G#V{8Bbga`ltQ78c5;$J9g69DiB0|49h0DycR0PvqrVVjZS zzXTcVv9<=__J8uWqayQPgxpWpK$Cohih_ZbEORGm@LzGeuErx%*M*LJ-TrF#fa%B` zw}tchy-%HIP3Ln~Qy)d%e_==?VV$6On60LcR^!p?VPV_sPY|$wW%HTmyY57KnH~>2 z))m}?E(P*AQK^ZV=vt2KjVhh*bYAauEZ(@~M2Cxr$WR8Q((ev%?T&Cy9oy~PTBRP| zZf)+@9!+&#M{R%3h92vDce%3&qw!|veS(F!5PVh(<#@9a^)-I1idI$mkIt=PH}a2h z!dnNiS&LKv$EwI(@9^b<8xz})mFFtw!dMwIioeXz9qzt76^EkB7Kuc` z8qo^8Q2T>+xedsuJvz++Rwzv)N0Fou(%yJa@ncSG}5`>cjD_(k+gBpY0=4! z_^NX5rXfcMy488O=7OQORe7!)QuG4fV?jPig^sDyiVN*euXi8lj{o!u$bZ6FasZAx zr}KU!{n8mswo5Xo4Za1M_PO4QA4T8h{M^~-{4PD8+8Km6|G?eW@~Tx5y zYGh_UkL7NF*pvZ@h@^{-Pk8I;dHObbD{JE?+-q(E*J}e?CXHbi0x+5?JwskMSJ0V- zWDBdMlAF#dg6~9WCGE8+=EoQ#yvI$A@J3OiK_*^mN$+!)oGLp*zz>{6X*X#71hsv3 zwNhYkeqF0tsL9kg&?Mhb!=p>&hWd6Nx>OVcGfWga3ee_KNTYJs(|a(SQc(_!hpUpz z!3_6l-bs~bQF;=GCk^mUMFr72X$~gZ;*&odY|a{uO8kuDZj%FOey{KAi(N00kPJU$ zQL%h0-o5UuJkRozvNbQTEI z=xz=Vc!JZGcoIoQVDJ^_V|4qZvs+)~cr-E6KY5xza!m%G`@l%P)ZX2Sjtw0%{O0;? zJ8JiFMlw(yJCH`K_Qi5Wq4JJM8tp1dmk3mvPiaFg?4aS(tU51T7PRlBvb6t8>7rR% z23GV4-Oi4v@)O=60HI8Rj$1n2P|G`Tg?I8d(I_wNW!m7DG9l66_P%^HA>NnFfO3Em z+2gD^msRr^wL9abpvL4?y8t?IhlM7Az(s~f3u$n&;k`I<@eP`I${Ab<_Yp=-RIUOz zn_&`78QapKnaum}oCXN%>{ig8ZH|}nIFOa|Zf(VbJ|H{1HuLY=Wn*h43GjxL^OiBFV~{ zqklGqWJ2~_2eR?&@8zEtU3+`69QTvDSxc1`#M1eIyp>btSloGAaiC0HGr$2oWsPo-O56C5qS#V;{&N&HDp*;;0*FXx!BN zPXxL+pN{IeO1yp(^xG%yIORt*gwL1*f{v$vk~F;E#4&zk-k%c7ofZq6_AXl?qm`L* zbZ!)$Vu$HOwTANlQnen&?_Ng9GQ#z+#5>vzXL8}WB^_`N$&v*o4dATUf@;TydZ%9J zaQZ2qn=a_+f7aFaE}Ba!^&Wou*T5is4tDboqzmj=RuU)ReGogw#IA$=lc^Z?<2Xct z(AM{iPFOUC*sKfsPL$~#ElqtFhO0a0{`pBgucpHfY)Rg@*C=B0l`{_1r(;%qXpS&{ z>J9+$^T%o|(hsluautfTw)`-(8!2M$SMNSK1PugD0AUp6o(83=di->klqxRK%yoC$ zS*au(Up4?v)t0*~y4W8v8k@rgPt;4jrF5C?<*dbm&is0hUVNEc%a4ff>{K}4@BHf} zK5a>tOR#!O)N-wz{5HzfJi{5b=oQkPxRokL4#0RvOGR7R$8Z6FF{GCgnG&Q6yifG+7aV-_EkfQ-iJ%yH8Z)ZInZ_AVvG% zRsGxJAj@>Iq0)kCDsLgi^5nL_%M^=q3wNQUEoDyc>9ktApDsje!p>)iMA;jTUiVKu z$6r?@7D_)@2{@Iez5L<7TDN@T^%gIacgOHeAw!$HM=MVpdl{okMG*B={&n)Rc!(5@ z-Ygp(eXe3SQb@wqgR2d)T09(ZaqUw4r_32~27LMrotPHOi7Dh=V`|b=djbt)$R0Vp zYkC;dXUO3SlYYf`7^98kqZbp9&TEO@d-mDD;gsCR`wFyfqJ8u8U~Df0dDmWr#Oi^D z*~382wf64kU@g@%N)Q_(5#k+#{|^gZ4}nD9JNlA~6-lYR{5MGnPd)#@Bvh(J6_`f=Jp2 z*hMdsBCpa0!Uj+O=HNUr?hYJTHr_yW*zD&&rJ9AkS#=9+Fwx5Bv@xP_xwVrn(APJj zL03MbNON#X`f-xj4lWd3-||ATS_73vTS}xBmv*E{Y0S_UYvKJ(&i?AoilkY6uK~|H z)xp<%uilF=UD~pm+@DZz^f=-}6TKIBYFf^)v`$(xGd4x+&;6Psi_e=afK-b~QVX+& zMj9h8PV!3Y+HZ_{EiHx>KRETmATE*$JVU6E@Lt@3Qbo-@X>xRSIMY}4A->b5gR4Lc z{hQ_W2d2#R-u>zwE^K7_TND%^p;w?@jZrnd*T6eammZ3F=OoV1Dm9->ra64V28-?p z-BzF+uY24(WKL1!xEQ$G8z|ktKdHl1qxeR!Up(P32G5{9XvoKP>$* z$VifJqh9hF2~kf5uaaC-lytA7)DxaJEcjd7RlhG_w5Y>bj_*I0%o%Cs|1j31lqBEC zxj=Zne1R{UpKNJZ-QO-O>xLpKp>lb@ih32IA!)GE9Z54YewU)|)^KTE1s;Vwj&Z@% z2Q(Q0KxRlrItL@u)GHvd<#~^+U>HXpPCq4KLK97)#k%6c7pcZgd!BnxhrfyfpS>ko z(Zj~51=6@h(-9+NnM~h*;taPsI$s%|C@rzn}d%7ie%~^WiQ$@tG zqG?YxhjPb%2-rMl6Pc`7^Bs}I>ZDw3Uk&1SI^C5Sy_T4F zK4Y1jJHrfd15j$EQYSOP=m@{M>o>6T`*{Y44=w)V7H5&uwq1{TL<^Q$!i2R zxf8S~Pjg&R-zF`L0%kcQAq9C*noCU0ZykO;9$} zc@!U@JDM|t>>Zd%TtgC&(B<7-RPr^X|(&+B$1YD#m zbF-25L;e9(b{ZJ1rBmvrXx3dldbxRRW^yMGka~)0(E?vyj)r3nq!RQA5G$_3pF0)p zH$TyAv}0t1kfrS^Xa9?|8Oe0B0VpV6h`P(Nduv=Fdu5%HvRVO|*>2{ROrtrmJ z_IwtQo$u=xeyiXE3}rt4sam?Z$Y>;wD=(SJ#mQK}8M44yZFE(GP;&coETbJoETaK$ z?@5-2vwhaLd1mUNA8Z7g*@bb&v$CgVW2uQMh4w`&$;I;XD1AUV$hW<|8{XTqM14`x0 zR}iojYIk_(A3u|-3)O_NR0;q2%lih87|FfeV71|N)jlkpD0&4PlP_U$6dZQ$E9B(< zy}JA=lQ<5Oj>E}#&fgTz83RlIHZ=a_b}PQEpWd&}&+wp$A=;3_Z|fquf$sV*C{M|f zmDGKoaB~{WHqM_q?gZcdr4~3Q#@~$krlh89#--?Pz1CNp%8{5QTFr8ujml@^4n9T= zTu+zSF=URRGDau@kR(&ckY<>&M6gfuYF8PYOF3N4as)hOWY;-DF0sJd6TY_F`fesE zbVcI&&cW>%y$In}pK2tumHS3_Y(8)aqk)M(t(1+Yn%d1}uQBEm;b&8DM(-B5Ne(vM zIXI`=E@CL{>gS5?Yw;!zKS-GIMF#W~a9bh+0FrcmxX)|7ITfk&!QB*7&(TIMG#}MDm241vJu$71Tc+Ert<>m*pR zG4cCedO+rk5aa$J)leS_HwHB(wYh^`bz=fxJ39i^{B@#wj6%*^sNLyd!Qo+7p{#Ae z@n%!$@7OHVh`3L%|Kr)SIos*g@;Pt!Fv~i(P-*fUa%Na%@Sn{*#b&JeW9+=kBhdHr z!GPSz3hvd7xm@K-Vbkobu3xyQ;=<~jMM%+;91NP!lO88A#yu$(i^#CbHScNs!LgO+R_v!^;@%n7s#L*u|K5n_hw)u$Uq_Y@;&yYzv8#Uj|#L_pB4Gq2@Uo70~M|dZcjSz zEOBv-v|7qiTLm?U>aGLp&-J+q$HLMm{U7u5&#;TySO5B;n#gJ7&iAornG5#B;~`Dg zSb$Q2=aXjA1C_`}P`lsz3J1PnemW{=`c$dMq*J@IL{uO?HMDdGJ`^XjK}$UwXMIix zGyu=@Wa7$^GU#6FohvJK_l2X;VmsTRDTTF)+w0m$X8nMb$?1NqPzUe4Eo3!+doyn) z)4OYw`@7<;r22H4Gy^iBCBubxF zeKBpDRE!J}C^yp(67njA7d|f);BI^XByb`5QYb6Z$h&yUN52V{>^M*`7{watm~VyD zDStmBV@x{ca#2dM94JSA(mkeM+}n-BhEYYXX-90STUyFtOoj=&+%@0QaSAj!t2yBC z=&a{h>OZ~tFvjoS()+|5;!mKGC+S{M2r&8@1rj1#0y& zVS&sO^~_V_x$vES%iAH~332@jd_&;UKZCFC+_8GAz@0DI&tH4XzA}(S{JSjYFAf`7 zFdZjE(5t3~!R~0`m^x=jI5+nhhqxfBWZ6|ly+2-`=v$%N_REnRyT>zli3}BML_9-j zLC;U4KB}Phgl5t-E7T70b(sr63Al(FCI@`W$HPYG| zmik3m4W5+#YmLRBADTJNCFSAHeA#u4)cbv&J`w&^a0RX(htEC(K-C@oKX8;&A_`?C9;sV%$YGH;;>$#%d;PxA@UjU_x=&ecfOI zS7<=dku#t4xxRJzY_%>1=G%#(&#{^H4aGg0&-%33VejwvC1m_*&Ujj*XS>8A>1Dxa zz8zxfCcml`Fxh$ZRpqvX`ceR~D7SUIIJ9;R$3#e(WT*0+S;f6woI2ftuK?}tUHtK( zS#EK^bQ*pttJGb&oBy&c0TDmv8PHt>v*VNTj=o9>JWCoKd{*ecQ3}8M9Ko$}U3;_t zfblf>xDz1e@)Et^+rIYiwa@RTY2oMS;O8U{M>_ojfFu|K6@!4qz;dRLhw>09dGJFq ou(UiFe6Uc;_5Tn&y&c`0ga7}8H__~+{|EqGO+$?uHTzfp2P+03*8l(j literal 0 HcmV?d00001 diff --git a/doc/obsolete/readme-qt.rst b/doc/obsolete/readme-qt.rst new file mode 100644 index 0000000..b2d72d8 --- /dev/null +++ b/doc/obsolete/readme-qt.rst @@ -0,0 +1,185 @@ +Novacoin-qt: Qt4 GUI for Novacoin +=============================== + +Build instructions +=================== + +Debian +------- + +First, make sure that the required packages for Qt4 development of your +distribution are installed, these are + +:: + +for Debian and Ubuntu <= 11.10 : + +:: + + sudo apt-get install qt4-qmake libqt4-dev build-essential libboost-dev libboost-system-dev \ + libboost-filesystem-dev libboost-program-options-dev libboost-thread-dev \ + libssl-dev libdb4.8++-dev + +for Ubuntu >= 12.04 (please read the 'Berkely DB version warning' below): + +:: + + sudo apt-get install qt4-qmake libqt4-dev build-essential libboost-dev libboost-system-dev \ + libboost-filesystem-dev libboost-program-options-dev libboost-thread-dev \ + libssl-dev libdb++-dev + +install Git: + +:: + + sudo apt-get install git + +clone the repository : + +:: + + git clone https://github.com/novacoin-project/novacoin + + +Execute the following: + +:: + + cd novacoin + qmake USE_O3=1 USE_ASM=1 RELEASE=1 + make + +Alternatively, install Qt Creator and open the `novacoin-qt.pro` file. + +An executable named `novacoin-qt` will be built. + +To build novacoind execute the following: + +:: + + cd src + make -f makefile.unix USE_O3=1 USE_ASM=1 STATIC=1 + strip novacoind + + +Windows +-------- + +Windows build instructions: + +- Download the `QT Windows SDK`_ and install it. You don't need the Symbian stuff, just the desktop Qt. + +- Download and extract the `dependencies archive`_ [#]_, or compile openssl, boost and dbcxx yourself. + +- Copy the contents of the folder "deps" to "X:\\QtSDK\\mingw", replace X:\\ with the location where you installed the Qt SDK. Make sure that the contents of "deps\\include" end up in the current "include" directory. + +- Open the .pro file in QT creator and build as normal (ctrl-B) + +.. _`QT Windows SDK`: http://qt.nokia.com/downloads/sdk-windows-cpp +.. _`dependencies archive`: https://download.visucore.com/bitcoin/qtgui_deps_1.zip +.. [#] PGP signature: https://download.visucore.com/bitcoin/qtgui_deps_1.zip.sig (signed with RSA key ID `610945D0`_) +.. _`610945D0`: http://pgp.mit.edu:11371/pks/lookup?op=get&search=0x610945D0 + + +Mac OS X +-------- + +- Download and install the `Qt Mac OS X SDK`_. It is recommended to also install Apple's Xcode with UNIX tools. + +- Download and install `MacPorts`_. + +- Execute the following commands in a terminal to get the dependencies: + +:: + + sudo port selfupdate + sudo port install boost db48 + +- Open the .pro file in Qt Creator and build as normal (cmd-B) + +.. _`Qt Mac OS X SDK`: http://qt.nokia.com/downloads/sdk-mac-os-cpp +.. _`MacPorts`: http://www.macports.org/install.php + + +Build configuration options +============================ + +LevelDB transaction index +-------------------------- + +To use LevelDB for transaction index, pass the following argument to qmake: + +:: + + qmake "USE_LEVELDB=1" + +No additional external dependencies are required. If you're running this on your current sources tree then don't forget to run + +:: + + make distclean + +prior to running qmake. + +Assembler implementation of scrypt hashing +------------------------------------------ + +To use optimized scrypt implementation instead of generic scrypt module, pass the following argument to qmake: + +:: + + qmake "USE_ASM=1" + + +If you're using clang compiler then you need to unroll macroses before compiling. Following commands will do this for you: + +:: + + cd src/ + ../contrib/clang/nomacro.pl + +No additional external dependencies required. Note that only x86, x86_64 and ARM processors are supported. + +Notification support for recent (k)ubuntu versions +--------------------------------------------------- + +To see desktop notifications on (k)ubuntu versions starting from 10.04, enable usage of the +FreeDesktop notification interface through DBUS using the following qmake option: + +:: + + qmake "USE_DBUS=1" + +Generation of QR codes +----------------------- + +libqrencode is used to generate QRCode images for payment requests. +It can be downloaded from http://fukuchi.org/works/qrencode/index.html.en, or installed via your package manager. + +Berkely DB version warning +========================== + +A warning for people using the *static binary* version of Novacoin on a Linux/UNIX-ish system (tl;dr: **Berkely DB databases are not forward compatible**). + +The static binary version of Novacoin is linked against libdb5.3. + +If the globally installed development package of Berkely DB installed on your system is 5.X, for example, any source you +build yourself will be linked against that. The first time you run with a 5.X version the database will be upgraded, +and 4.X cannot open the new format. This means that you cannot go back to the old statically linked version without +significant hassle! + +Ubuntu 11.10 warning +==================== + +Ubuntu 11.10 has a package called 'qt-at-spi' installed by default. At the time of writing, having that package +installed causes novacoin-qt to crash intermittently. The issue has been reported as `launchpad bug 857790`_, but +isn't yet fixed. + +Until the bug is fixed, you can remove the qt-at-spi package to work around the problem, though this will presumably +disable screen reader functionality for Qt apps: + +:: + + sudo apt-get remove qt-at-spi + +.. _`launchpad bug 857790`: https://bugs.launchpad.net/ubuntu/+source/qt-at-spi/+bug/857790 diff --git a/doc/readme-qt.rst b/doc/readme-qt.rst deleted file mode 100644 index b2d72d8..0000000 --- a/doc/readme-qt.rst +++ /dev/null @@ -1,185 +0,0 @@ -Novacoin-qt: Qt4 GUI for Novacoin -=============================== - -Build instructions -=================== - -Debian -------- - -First, make sure that the required packages for Qt4 development of your -distribution are installed, these are - -:: - -for Debian and Ubuntu <= 11.10 : - -:: - - sudo apt-get install qt4-qmake libqt4-dev build-essential libboost-dev libboost-system-dev \ - libboost-filesystem-dev libboost-program-options-dev libboost-thread-dev \ - libssl-dev libdb4.8++-dev - -for Ubuntu >= 12.04 (please read the 'Berkely DB version warning' below): - -:: - - sudo apt-get install qt4-qmake libqt4-dev build-essential libboost-dev libboost-system-dev \ - libboost-filesystem-dev libboost-program-options-dev libboost-thread-dev \ - libssl-dev libdb++-dev - -install Git: - -:: - - sudo apt-get install git - -clone the repository : - -:: - - git clone https://github.com/novacoin-project/novacoin - - -Execute the following: - -:: - - cd novacoin - qmake USE_O3=1 USE_ASM=1 RELEASE=1 - make - -Alternatively, install Qt Creator and open the `novacoin-qt.pro` file. - -An executable named `novacoin-qt` will be built. - -To build novacoind execute the following: - -:: - - cd src - make -f makefile.unix USE_O3=1 USE_ASM=1 STATIC=1 - strip novacoind - - -Windows --------- - -Windows build instructions: - -- Download the `QT Windows SDK`_ and install it. You don't need the Symbian stuff, just the desktop Qt. - -- Download and extract the `dependencies archive`_ [#]_, or compile openssl, boost and dbcxx yourself. - -- Copy the contents of the folder "deps" to "X:\\QtSDK\\mingw", replace X:\\ with the location where you installed the Qt SDK. Make sure that the contents of "deps\\include" end up in the current "include" directory. - -- Open the .pro file in QT creator and build as normal (ctrl-B) - -.. _`QT Windows SDK`: http://qt.nokia.com/downloads/sdk-windows-cpp -.. _`dependencies archive`: https://download.visucore.com/bitcoin/qtgui_deps_1.zip -.. [#] PGP signature: https://download.visucore.com/bitcoin/qtgui_deps_1.zip.sig (signed with RSA key ID `610945D0`_) -.. _`610945D0`: http://pgp.mit.edu:11371/pks/lookup?op=get&search=0x610945D0 - - -Mac OS X --------- - -- Download and install the `Qt Mac OS X SDK`_. It is recommended to also install Apple's Xcode with UNIX tools. - -- Download and install `MacPorts`_. - -- Execute the following commands in a terminal to get the dependencies: - -:: - - sudo port selfupdate - sudo port install boost db48 - -- Open the .pro file in Qt Creator and build as normal (cmd-B) - -.. _`Qt Mac OS X SDK`: http://qt.nokia.com/downloads/sdk-mac-os-cpp -.. _`MacPorts`: http://www.macports.org/install.php - - -Build configuration options -============================ - -LevelDB transaction index --------------------------- - -To use LevelDB for transaction index, pass the following argument to qmake: - -:: - - qmake "USE_LEVELDB=1" - -No additional external dependencies are required. If you're running this on your current sources tree then don't forget to run - -:: - - make distclean - -prior to running qmake. - -Assembler implementation of scrypt hashing ------------------------------------------- - -To use optimized scrypt implementation instead of generic scrypt module, pass the following argument to qmake: - -:: - - qmake "USE_ASM=1" - - -If you're using clang compiler then you need to unroll macroses before compiling. Following commands will do this for you: - -:: - - cd src/ - ../contrib/clang/nomacro.pl - -No additional external dependencies required. Note that only x86, x86_64 and ARM processors are supported. - -Notification support for recent (k)ubuntu versions ---------------------------------------------------- - -To see desktop notifications on (k)ubuntu versions starting from 10.04, enable usage of the -FreeDesktop notification interface through DBUS using the following qmake option: - -:: - - qmake "USE_DBUS=1" - -Generation of QR codes ------------------------ - -libqrencode is used to generate QRCode images for payment requests. -It can be downloaded from http://fukuchi.org/works/qrencode/index.html.en, or installed via your package manager. - -Berkely DB version warning -========================== - -A warning for people using the *static binary* version of Novacoin on a Linux/UNIX-ish system (tl;dr: **Berkely DB databases are not forward compatible**). - -The static binary version of Novacoin is linked against libdb5.3. - -If the globally installed development package of Berkely DB installed on your system is 5.X, for example, any source you -build yourself will be linked against that. The first time you run with a 5.X version the database will be upgraded, -and 4.X cannot open the new format. This means that you cannot go back to the old statically linked version without -significant hassle! - -Ubuntu 11.10 warning -==================== - -Ubuntu 11.10 has a package called 'qt-at-spi' installed by default. At the time of writing, having that package -installed causes novacoin-qt to crash intermittently. The issue has been reported as `launchpad bug 857790`_, but -isn't yet fixed. - -Until the bug is fixed, you can remove the qt-at-spi package to work around the problem, though this will presumably -disable screen reader functionality for Qt apps: - -:: - - sudo apt-get remove qt-at-spi - -.. _`launchpad bug 857790`: https://bugs.launchpad.net/ubuntu/+source/qt-at-spi/+bug/857790 -- 1.7.1