On Jul 21, 2010 at 10:46, Timo Reimann <timo.reimann(a)1und1.de> wrote:
Daniel-Constantin Mierla wrote:
>> Friends, I feel like an idiot. I've been
trying to compile Kamailio
>> 3.0.2 with presence for hours. I have edited make files, read the
>> INSTALL and tried many things... I just can't get it.
>>
>> I think something is wrong in the build system and the documentation.
>> I will fight a bit more to get some more detailed information for you
>> to work with, but it worries me that I can't figure this out by
>> myself. Something propably needs to change to make Kamailio more
>> "oej-compatible" ;-)
>>
>>
> Frankly, I feel similar about 3.0's build system. When I build sr the
> other day I too had the impression that docs and Makefiles don't match
> up nicely. IMHO, Kamailio 1.5's way of building was more intuitive.
>
>
maybe the confusions come now from multiple directories storing the
modules, in some cases you would need to use the name of the directory
One of the features of the new makefile system is the ability to
remember settings by two generated config files:
- config.mak
- modules.lst
In this way is not needed to give all command line parameters to make
and make install everytime.
Ah ok, good to know.
So is there still a way to disregard those two files for a specific Make
run and use parameters given on the command-line only? Or do you always
have to edit config.mak and modules.lst?
these files are auto-generated. If you run 'make cfg', e.g.,:
make PREFIX=/usr/local/kamailio FLAVOUR=kamailio
include_modules="db_mysql presence presence_xml" cfg
will create the config.mak and modules.lst with appropriate variable set.
If you do not run 'make cfg', is automatically run by simple 'make'
command, without any extra parameters.
Let's assume that I usually build a set of modules given in modules.lst.
Now, say I want to run another build where some modules missing in the
config file should be build, and let's also assume that I explicitly
want to ignore a bunch of modules which are included in modules.lst. The
build deviations should affect a single build run only but not any
subsequent builds.
make all include_modules="extra mod lst" skip_modules="ignored mods"
(you would need to repeat the above overrides on all the make commands,
like make every-modules ..., make install ... ).
Would I need to change the config file(s) for that special build (and
later revert them), or could I do it by means of giving Make parameters
that override cfg settings?
You can change the modules config file, but then the changes will be
permanent (unless you undo them after your build):
make modules-cfg include_modules="..." skip_modules="..."
(or edit modules.lst by hand)
If you run make modules-cfg instead of make cfg, only the modules.lst
will be changed, and hence the already compiled stuff won't be
re-compiled (any change in the compile options in config.mak triggers a
complete re-compile).
To see what will be compiled, use make print-modules.
Andrei