>
>  Ok. The main thing, which is unclear for me from the help is about
> scripts.
>  What are .hbm files, are they different from .hbp ?


1) .hbm is simple the extension of the command line, same
rules, same content, similar to many tools' @script functionality.
It serves (just like command line) to build *one project*.

2) .hbp is a lib parameter file, with just a subset of feature.
.hbp file serves to easily add a lib (or libs) to a project.

If you're a lib developer, you will need an .hbm file to create
your lib, and you can also provide a .hbp file for your users to
make it easy for them to include your lib in their projects.

 Are the "libs", "cflags", "ldflags", "libpaths", "gui|..." the only options
> of .hbp, or there may be others ( I ask this, because I was supposed that,
> as usually, such kind of files may include any option from command line ) ?


(see above)

 The help says, that ".hbp option files in current dir are automatically
> processed." What may be a reason of having few .hbp files in current
> directory and processing all of them while building a project ?


F.e. you have a project you want to build and you just copy
in the .hbp files belonging to your project and they're automatically
processed and your project built. See such scenario in contrib
'tests' dirs. You can disable this feature using -nohbp.


>  What filters may be intended for ? As I suppose, they limits the usage of
> a
> library for a choosen platform. But why may I need to designate a library
> in
> a command line ( -l ), if I don't use it for current build process ?


It's your choice, of course you can use a different command line
for different situations (platform or compilers), but if you want to
keep only one, you may use these filters to adapt your effective
cmdline automatically.

F.e. suppose I have a project for both MSVC and MinGW, but
some external libraries have different names in these two envs,
you can still have a single command line which works on both
platforms, by using this:

-l{msvc}libeay32s
-l{msvc}ssleay32s
-l{mingw}crypto
-l{mingw}eay32
-l{mingw}ssl
-l{mingw}ssl32

Or you may want to add platform/compiler dependent libs protected
by a filter to not break build when switching environments:

-l{allwin}hbwin

('allwin' means all Windows platforms, which is 'win' and 'wce')

Brgds,
Viktor
_______________________________________________
Harbour mailing list
Harbour@harbour-project.org
http://lists.harbour-project.org/mailman/listinfo/harbour

Reply via email to