'Save Link As..', 'Copy to Folder..'
, or similar options from the drop-down menu to properly save the archive. For a current list of the source code archives for different operating system/compiler combinations consult the current Release Notes.ncbi_cxx--<version_number>
, which will be created in the current directory. (Caution: If ncbi_cxx--<version_number>
already exists, tar extraction will overwrite existing files.) To unpack the archive: gunzip -c ncbi_cxx--*.tar.gz | tar xvf -
ncbi_cxx--<version_number >
will be created in the current folder to contain the extracted source. If ncbi_cxx--<version_number >
already exists in the folder where the executable is launched, user confirmation is required before files are overwritten. To actually perform the extraction, do one of the following:ncbi_cxx--<version_number >
in the current folder.'Extract to..'
to unpack the archive to a user-specified location in the filesystem.svn help
on your workstation for quick reference.Unix
, MS Windows
and Mac OS
)./am/ncbiapdata/bin
, but the best way to get them into your PATH
is to make sure you have developer
in the facilities
line of your ~/.ncbi_hints
file.foo/c++/
) just by running:20031212
is the date when this specific build was originated. You can easily find out the available production builds by runningproduction/
, which correspond to the production builds.svn checkout
, but in much less time. Besides speed, the differences between using a Subversion client and the svn_toolkit_tree script include:Archive | Corresponding C++ Toolkit tree |
---|---|
production | https://svn.ncbi.nlm.nih.gov/repos/toolkit/production/candidates/production.HEAD/c++ |
trial | https://svn.ncbi.nlm.nih.gov/repos/toolkit/production/candidates/trial/c++ |
trunk | https://svn.ncbi.nlm.nih.gov/repos/toolkit/trunk/internal/c++ |
trunk-core (or just core) | https://svn.ncbi.nlm.nih.gov/repos/toolkit/trunk/c++ |
Argument | Description | Permitted Values |
---|---|---|
<dir> | Path to where the source tree will be checked out. This argument is required. | A valid writable directory name (must not exist already); name cannot start with “-“. |
<branch> | Which branch of the source tree to check out. This argument is required. | core - toolkit/trunk/c++ development - toolkit/trunk/internal/c++ production - toolkit/production/candidates/trial/c++ prod-head - toolkit/production/candidates/production.HEAD/c++ frozen-head - toolkit/production/candidates/frozen.HEAD/c++ trial - toolkit/production/candidates/trial/c++ release - toolkit/release/public/current/c++ gbench - gbench/branches/1.1 gbench2 - gbench/trunk (See c++-branches.txt for an up-to-date list of branches.) |
--date | Check out as at the start of the specified timestamp. If the --date flag is missing, today’s date and current time are used. | A date in a format acceptable to the svn -r argument, for example --date='2020-01-29 19:49:48 +0000' . (Do not include curly braces and quote the timestamp if it contains spaces.) See the Revision Dates section in the Subversion manual for details. |
--export | Get a clean source tree without .svn directories. | n/a |
--<platform> | Obtain sources for the specified platform(s). | --unix - Unix systems;--msvc - Microsoft Visual C++ environment;--mac - Macintosh systems;--cygwin - Cygwin UNIX environment for Windows;--all - all platforms.If no value is supplied, --all is used. |
--with-ctools | Check out core projects responsible for working together with the NCBI C Toolkit (the ctools directory). This option is effective by default unless --without-ctools is used. | n/a |
--without-ctools | Do not check out core projects responsible for working together with the NCBI C Toolkit (the ctools directory). | n/a |
--with-gui | Check out core projects responsible for providing cross-platform graphic user interface capability (the gui directory). This option is effective by default unless --without-gui is used. | n/a |
--without-gui | No not check out core projects responsible for providing cross-platform graphic user interface capability (the gui directory). | n/a |
--with-internal | Check out a selection of NCBI-internal core projects. See Table 4 for a detailed list of affected directories. | n/a |
--without-internal | Do not check out NCBI-internal core projects. | n/a |
--with-objects | Check out the objects , objmgr , and objtools directories and generate serialization code from the ASN.1 specifications. If this flag is not present, those directories are still checked out (unless overridden by the --without-objects flag) but no serialization code is generated. | n/a |
--without-objects | Do not check out the objects , objmgr , and objtools directories or generate ASN.1 serialization code. (On Unix platforms the code generation can be done later, during the build.) | n/a |
https://svn.ncbi.nlm.nih.gov/repos/toolkit/trunk/c++
.)Checked out directories | Recursive? |
---|---|
(include|src) | no |
(include|src)/algo | yes |
src/app | yes |
src/build-system | yes |
(include|src)/cgi | yes |
include/common | yes |
(include|src)/connect | no |
(include|src)/connect/ext | yes |
include/connect/impl | yes |
src/connect/test | yes |
(include|src)/connect/services | yes |
(include|src)/corelib | yes |
(include|src)/db | yes |
(include|src)/dbapi | yes |
(include|src)/html | yes |
(include|src)/misc | yes |
(include|src)/sample | yes |
(include|src)/serial | yes |
include/test | yes |
(include|src)/util | yes |
scripts | yes |
<branch>
and <platform>
options. These are shown in Table 3.Checked out directories | Recursive? | Options |
---|---|---|
compilers | yes | <platform> = all |
compilers | no | <platform> != all |
compilers/cygwin | yes | <platform> = cygwin |
compilers/vs2017 | yes | <platform> = msvc |
compilers/unix | yes | <platform> = cygwin or mac or unix |
compilers/xCode | yes | <platform> = max |
compilers/xcode30_prj | yes | <platform> = mac |
doc | yes | <branch> = development |
include/connect/daemons | yes | <platform> = all or unix |
src/check | yes | <platform> != mac |
src/connect/daemons | yes | <platform> = all or unix |
src/connect/mitsock | yes | <platform> = mac |
src/dll | yes | <platform> = all or mac or msvc |
--with/--without-<feature>
options. These are shown in Table 4.Checked out directories | Recursive? | Options |
---|---|---|
(include|src)/ctools | yes | --with-ctools or not --without-ctools |
(include|src)/gui | yes | --with-gui or not --without-gui |
(include|src)/internal | no | --with-internal |
(include|src)/internal/algo | no | --with-internal |
(include|src)/internal/algo/id_mapper | yes | --with-internal |
(include|src)/internal/align_model | yes | --with-internal |
include/internal/asn_cache | yes | --with-internal |
src/internal/asn_cache | no | --with-internal |
src/internal/asn_cache/lib | yes | --with-internal |
(include|src)/internal/blast | no | --with-internal |
(include|src)/internal/blast/DistribDbSupport | yes | --with-internal |
(include|src)/internal/contigdb | no | --with-internal |
src/internal/demo | yes | --with-internal |
(include|src)/internal/ID | no | --with-internal |
(include|src)/internal/ID/utils | no | --with-internal |
(include|src)/internal/mapview | no | --with-internal |
(include|src)/internal/mapview/objects | yes | --with-internal |
(include|src)/internal/mapview/util | yes | --with-internal |
(include|src)/internal/myncbi | yes | --with-internal |
include/internal/objects | no | --with-internal |
(include|src)/objects | yes | --with-objects or not --without-objects |
(include|src)/objmgr | yes | --with-objects or not --without-objects |
(include|src)/objtools | yes | --with-objects or not --without-objects |
src/internal/objects | yes | --with-internal |
(include|src)/internal/sra | yes | --with-internal |
src/internal/test | yes | --with-internal |
(include|src)/internal/txclient | yes | --with-internal |
(include|src)/internal/txserver | yes | --with-internal |
(include|src)/internal/txxmldoc | yes | --with-internal |
src
and include
directories from the repository and create temporary makefiles based on the project’s customized makefiles. The new makefiles will also contain a reference to the pre-built NCBI C++ Toolkit.datatool
project from the NCBI C++ tree (trunk/c++/{src,include}/serial/datatool/
), and create a makefile Makefile.datatool_app
that uses the project’s customized makefile Makefile.datatool.app
. Now you can just go to the created working directory c++/src/serial/datatool/
and build the application datatool using:/internal
does not get updated by this script.--no-projects
switch excludes any Windows
or MacOS
project files from the update. Specifically, those subdirectory names of the form *_prj
are skipped during the update when this flag is set.[<dirs>]
, when present, identifies the set of directories relative to the current directory to update. The default list of updated directories is:.
compilers
doc
include
scripts
src
trunk/c++
, this script assembles the set of required files and places them in your local C++ source tree.<project-list>
parameter. Its value can be either of the following:trunk/c++/scripts/projects
and trunk/c++/scripts/internal/projects
. When a project name is specified on the command line, the “.lst” extension is added to it and the resulting file name is searched for in the above mentioned system directories.C:Program Filessvn-win32-1.4.2
. Change the PATH
environment variable so that it points to the bin
subdirectory under your Subversion installation directory, for example set PATH=%PATH%;C:Program Filessvn-win32-1.4.2bin
svn co https://svn.ncbi.nlm.nih.gov/repos/toolkit/trunk/c++
svn diff
, synchronize your working copy with the trunk using svn update
, and finally commit them using svn commit
.include/, src/, scripts/, compilers/
and doc/
src
and include
directories contain “projects” as subdirectories. Projects may contain sub-projects in a hierarchical fashion.src/
additionally contains makefile
and meta-makefile
templates.