Download Reference Manual
The Developer's Library for D
About Wiki Forums Source Search Contact

Changes from Version 1 of PosixDmdBuildOlderVersions

Show
Ignore:
Author:
fawzi (IP: 87.234.81.105)
Timestamp:
08/04/09 20:51:52 (15 years ago)
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • PosixDmdBuildOlderVersions

    v0 v1  
     1== Installers == 
     2 
     3There are two types of installers available for a given release. Which one you choose, depends on your existing setup. 
     4 
     5 * Installers for those only wishing to upgrade Tango, but otherwise have a complete system 
     6 * Installers for those wishing to upgrade DMD. 
     7 
     8 1. [wiki:DmdDownloads#Linux Download] a Tango installer. 
     9 2. All installers are shell scripts with an embedded tar.gz and should be made executable once downloaded. 
     10 
     11{{{ 
     12chmod +x <name of installer>.sh 
     13}}} 
     14 
     15 3. Run the installer. For most setups this will probably require the use of the root account, e.g. by using sudo. 
     16 
     17{{{ 
     18sudo ./<name of installer>.sh 
     19}}} 
     20 
     21 4. If you don't specify a prefix, the installer will ask if {{{ /usr/local }}} is ok, or if you want to specify one. 
     22 
     23At this point, Tango and the necessary tooling should be installed.  
     24 
     25== Manual Build and Install == 
     26 
     27 1. [wiki:SourceDownloads Download or check out] Tango sources. 
     28 2. Enter the Tango directory where the build files are: 
     29{{{ 
     30$ cd <tango base>/lib 
     31}}} 
     32 
     33 * ''At this point you can run install-dmd.sh with various arguments to automate all of the following steps, to see the instructions do'' 
     34{{{ 
     35$ ./install-dmd.sh --help 
     36}}} 
     37 
     38 3. Run build-dmd.sh to build the core Tango library. 
     39{{{ 
     40$ ./build-dmd.sh 
     41}}} 
     42 
     43 4. Install .a (library) files 
     44{{{ 
     45$ cp -Rf <tango base>/lib/libtango-base-dmd.a <DMD install prefix>/lib 
     46}}} 
     47 
     48 5. Install object.di 
     49{{{ 
     50$ cp -f <tango base>/object.di <DMD install prefix>/include/d 
     51}}} 
     52 
     53 6. Make .d source files accessible by copying the .d source into this path like so: 
     54{{{ 
     55$ cp -Rf <tango base>/tango <DMD install prefix>/include/d 
     56$ cp -Rf <tango base>/std <DMD install prefix>/include/d 
     57}}} 
     58 
     59 7. Update your dmd.conf (either alongside your DMD binary, or in /etc) 
     60{{{ 
     61[Environment] 
     62DFLAGS=-I<DMD install prefix>/include/d -defaultlib=tango-base-dmd -debuglib=tango-base-dmd -version=Tango -version=Posix 
     63}}} 
     64 
     65 8. You can now build libtango-user-dmd.a, the library with Tango's user API.  
     66{{{ 
     67./build-tango.sh dmd 
     68}}}  
     69 
     70 9. From within {{{ <tango-distribution-dir>/lib }}}, install libtango-user-dmd.a to {{{<DMD install prefix>/lib}}} 
     71{{{ 
     72$ cp -f libtango-user-dmd.a <DMD install prefix>/lib 
     73}}} 
     74 
     75Add {{{ -L-ltango-user-dmd -L-L<DMD install prefix>/lib }}} to your DFLAGS line in dmd.conf. The library path may be omitted if the library is installed to a directory that the linker already checks, for instance /usr/lib. 
     76 
     77Without libtango-user-dmd.a, a buildtool like rebuild or build will be required. 
     78 
     79'''NOTE 1:''' With DMD 1.013, the compiler started to handle library arguments to the linker properly, if they're put in dmd.conf. (With earlier DMD versions you will need to add {{{ <DMD install prefix>/lib/libtango.a }}} to your DFLAGS line in dmd.conf.) 
     80 
     81'''NOTE 2:''' The installers accompanying Tango 0.97 installed imports to {{{ import/<DMD version> }}} instead of {{{ include/d }}}. Later installers tries to clean up this when detected during uninstall. Only shipped DMD versions are checked though, so there may be stale files if the previous above instructions have been used for other versions of DMD. 
     82