|
Äîêóìåíò âçÿò èç êýøà ïîèñêîâîé ìàøèíû. Àäðåñ
îðèãèíàëüíîãî äîêóìåíòà
: http://www.atnf.csiro.au/vlbi/dokuwiki/doku.php/difx/build
Äàòà èçìåíåíèÿ: Unknown Äàòà èíäåêñèðîâàíèÿ: Sun Apr 10 19:59:53 2016 Êîäèðîâêà: IBM-866 Ïîèñêîâûå ñëîâà: asteroid |
The script install-difx now allows DiFX to be built and installed from a directory hierarchy outside of the SVN source tree. For example, if you need to compile DiFX for multiple architectures you can have independent build and root directories for each. Also, since the built files are not in the source tree, an svn status command will mostly only list files that are in the SVN distribution (i.e. no built files).
The steps now are:
svn update to bring your sources up-to-date (or not)source a setup script as beforeinstall-difx in this build directory
If you have previously (as most developers have) been building in the source SVN directory, the first configure process will complain that the òÀÜsource is already configured, run make distcleanòÀÝ and halt. (This is a feature designed to prevent you from accidentally misconfiguring a build for one architecture as another.) Since there are multiple subdirectories to the DiFX project, fixing this could be tedious, so there is an option (òÀÓpristine) to do this for you. There are quite a few options to install-difx; use òÀÓhelp for brief descriptions.
You might plan to have your root, source and build directories all in some parent directory somewhereòÀÓe.g. $DIFXROOT, $DIFXROOT/../difx-svn and $DIFXROOT/../difx-bld. So first we would bring the sources up-to-date and check on our modifications:
source setup-difx.bash cd $DIFXROOT/../difx-svn svn update svn status
Then we make a build directory. install-difx prepends a directory therein (pkgconfig) to the $PKG_CONFIG_PATH so that you can place custom pkg-config files there if you need to handle some special cases (e.g. IPP):
cd $DIFXROOT/.. mkdir difx-bld cd difx-bld mkdir pkgconfig cd pkgconfig $DIFXROOT/../difx-svn/setup/genipppc $IPPROOT cd ..
If you have previously been building in the SVN directory, you will need to remove some configuration files (e.g. config.status) left over from your last install with
$DIFXROOT/../difx-svn/setup/install-difx --pristine svn status $DIFXROOT/../difx-svn
(There may be some error messages which you can ignore. At this point the svn status should list a relatively small number of ?, ~, ! or M files. If you're not sure, you can run with òÀÓpristine again.) Now you can proceed with the build itself:
$DIFXROOT/../difx-svn/setup/install-difx
There are several independent packages within the DiFX project, and system configuration will be required for each of them. If you are
developing code and are frequently rebuilding, install-difx can create a cache to speed up this configuration somewhat:
$DIFXROOT/../difx-svn/setup/install-difx -v --cache=difx-config-cache
The -v argument provides some additional diagnostics on what directories are being created or traversed.
Once the build has completed (you will see òÀÜDone!òÀÝ) you can remove the build directory if you like. Alternatively you can leave it around for your next svn update and build cycle. Another useful option to install-difx is the òÀÓtarg option which lets you pass certain targets to all the make steps in the tree. For example:
$DIFXROOT/../difx-svn/setup/install-difx -v --targ='-n'
will traverse the DiFX build heirarchy and tell you what it would build. (I.e. it invokes make -n within each Makefile, in order.)
The setup directory presently (Dec 7, 2011) contains the original version of install-difx as donotuse-difx, and a copy named build-difx. Both of these will disappear at some point.