Changes between Version 3 and Version 4 of user-compile


Ignore:
Timestamp:
Jun 2, 2006 12:26:04 PM (14 years ago)
Author:
andreasw
Comment:

cleaned up

Legend:

Unmodified
Added
Removed
Modified
  • user-compile

    v3 v4  
    33These instructions only pertain to UNIX-like systems, where the {{{configure}}} scripts can be run.  If you want to use the MS Developer Studio to compile the code, please see the [http://projects.coin-or.org/MSDevStudio MSDevStudio project page].
    44
    5 If you have problems, have a look at the [http://projects.coin-or.org/BuildTools/wiki/user-troubleshooting troubleshooting page.]
     5If you have problems, have a look at the [wiki:user-troubleshooting troubleshooting page.]
    66
    77== Compiling the Code ==
     
    1919The COIN Makefiles should work with any UNIX {{{make}}}.   If you are using GNU make and want to use the parallel compilation feature, you can do this by specifying the {{{-j N}}} option to {{{make}}}, where {{{N}}} is the number of parallel compilations you want to start.  A good value for {{{N}}} is the number of available processors plus 1.
    2020
    21 If the compilation fails, the screen output hopefully helps you to find out what is going wrong.  The output is quite verbose, and you see all command lines that are executed.  Since most of the COIN Makefiles are generated with the GNU packages {{{automake}}} and {{{libtool}}} they are very complicated and might look confusing.  Unless you know what you are doing, it not easy to change the Makefiles.  If you want to make modifications, you should modify the {{{Makefile.am}}} files and use the GNU autotools to generate the real Makefile.
     21If the '''compilation fails''', the screen output hopefully helps you to find out what is going wrong.  The output is quite verbose, and you see all command lines that are executed.  Since most of the COIN Makefiles are generated with the GNU packages {{{automake}}} and {{{libtool}}} they are somewhat complicated and might look confusing.  Unless you know what you are doing, it not easy to change the Makefiles.  If you want to make modifications, you should modify the [wiki:pm-autotools Makefile.am files] and use the GNU autotools to generate the real Makefile.
    2222
    2323== Testing the Compilation ==
    2424
    25 Most of the COIN packages provide a unit test (in the {{{test}}} subdirectory), which can be used to verify if the compiled code works correctly.  If you want to test the compilation for the main project only (i.e., {{{Pkg}}} you type in {{{Coin-Pkg}}}
     25Most of the COIN projects provide a unit test (in the {{{test}}} subdirectory), which can be used to verify if the compiled code works correctly.  If you want to test the compilation for the main project only (e.g., {{{Clp}}}) you type in {{{Coin-Clp}}}
    2626
    2727{{{
     
    2929}}}
    3030
    31 If you want to run the tests for all subprojects (e.g. {{{CoinUtils}}} and {{{Pkg}}}), type in {{{Coin-Pkg}}}
     31If you want to run the tests for all subprojects (e.g. {{{CoinUtils}}} and {{{Clp}}}), type in {{{Coin-Clp}}}
    3232
    3333{{{
     
    3535}}}
    3636
    37 This will run the available unit test for {{{Pkg}}} and all other
    38 downloaded packages.
     37This will run the available unit test for {{{Clp}}} and all other
     38downloaded COIN projects.
    3939
    4040You don't need to type {{{make}}} before running {{{make test}}} or {{{make tests}}}.
     
    4242== Installing the Executables, Libraries and Header Files ==
    4343
    44 To install the final product of the compilation, i.e., the reason you are doing all this, you type
     44To install the final product of the compilation (the reason you are doing all this work) you type
    4545
    4646{{{
     
    5050Again, you don't need to type {{{make}}} first.  This will install the executable files in {{{$prefix/bin}}}, the libraries in {{{$prefix/lib}}}, and the header files in {{{$prefix/include}}}.  Here, {{{$prefix}}} stands for the installation directory, which by default is the directory where you ran the {{{configure}}} script.  The installation directory is otherwise the argument you specified with the {{{--prefix}}} argument for {{{configure}}}.
    5151
    52 In the {{{lib}}} directory you will also see {{{*_addlibs.txt}}} files (such as {{{clp_addlibs.txt}}}).  This contains a string with additionally required libraries (such as {{{-lz}}} if you are using the zlib GNU package), adapted to your system and configuration settings.  If you link with an installed COIN library, you should also specify the context of the corresponding {{{*_addlibs.txt}}} file in the link command.
     52In the {{{lib}}} directory you will also see '''*_addlibs.txt''' files (such as {{{clp_addlibs.txt}}}).  This contains a string with additionally required libraries (such as {{{-lz}}} if you are using the zlib GNU package), adapted to your system and configuration settings.  If you link with an installed COIN library, you should also specify the context of the corresponding {{{*_addlibs.txt}}} file in the link command.
    5353
    54 Some COIN projects come with examples that show how a generated library can be used.  In that case, in the {{{examples}}} subdirectory for the project, you will find a simple Makefile to compile the examples, adapted to your settings.  If you want to link your own code with a COIN library, it is probably best to start with this Makefile; read more [wiki:user-examples here].
     54Some COIN projects come with examples that show how a generated library can be used.  In that case, in the {{{examples}}} subdirectory for the project, you will find a simple Makefile to compile the examples, adapted to your settings.  '''If you want to link your own code with a COIN library, it is probably best to start with this example Makefile'''; read more [wiki:user-examples here].
    5555
    5656== Further Makefile Targets ==
     
    5858Additional targets that can be specified in a "make" command are
    5959
    60  * {{{clean}}}: This deletes all objects.
     60 * '''clean''': This deletes all compiler generated files.
    6161
    62  * {{{distclean}}}: This deletes everything that has been created since running the {{{configure}} script, except for installed files.
     62 * '''distclean''': This deletes everything that has been created since running the {{{configure}} script, except for installed files.
    6363
    64  * {{{uninstall}}}: This deletes all files that have been previously copied by a {{{make install}}}.
     64 * '''uninstall''': This deletes all files that have been previously copied by a {{{make install}}}, but it doesn't touch oher any compiler generated files.
    6565
    66  * {{{dist}}}: This creates a source code tarball for the COIN package.
     66 * '''dist''': This creates a source code tarball for the COIN package.  Note that the COIN tarballs are not generated in this way, and that this target might not work in all projects.