[Gambas-user] "User components" replaced by "Libraries" in Gambas 3

Doriano Blengino doriano.blengino at ...1909...
Mon Apr 26 08:19:03 CEST 2010


Ian Haywood ha scritto:
> svitoos wrote:
>   
>> I think it is better to look for libraries in the directories listed in
>> GB3_LIBRARY_PATH, and if this variable is not defined
>> then "/usr/lib/gambas3:/usr/local/lib/gambas3":~/.local/lib/gambas3
>>     
> I think this is a good idea, because gambas should behave like other
> POSIX-based interpreted languages (python, ruby, perl, etc.) unless
> there is a good reason not to.
>   
I agree too.

> Benoit wrote:
>   
>> As they are libraries, looking inside <gambas installation prefix>/lib/gambas3
>> may be a good solution, but Gambas executables are architecture-independant,
>> so maybe they should go into <gambas installation prefix>/share?
>>     
>
> "lib" is where python and ruby libraries go, even though technically
> their bytecodes are architecture-independent too, this is probably
> because "lib" has all the other
> system libraries and its more confusing to make an exception.
>   
Probably I am wrong, but I don't see all this importance about keeping 
some files in .../share just because they are architecture independent. 
I don't see any advantage in this convention; it would be more logical 
if .../share contained files shareable by different applications on the 
system (and, in fact, you find many of them: icons, fonts, 
translations...). If so, then gambas libraries are not common to 
different applications - they are common to gbx3, and .../lib would be 
more logical.

>   
>> I don't want to multiply the directories where libraries must be searched for
>>     
>
> I think there is a good reason for the three directories suggested above.
> It is important to search both /usr/ and /usr/local/ to provide a
> clear separation between default libraries managed by the OS
> installation system (apt-get, rpm, or whatever)
> and third-party libraries installed by the system admin, plus it is
> useful to have a third directory under $HOME so libraries can be
> installed without being the superuser.
>
> Ian
>   
Agreed again.

And now a little curiosity: would be those libraries *true* executable? 
I mean - I code a project with some class, and the main class contains 
code to test the other ones. Then I can use the project as a library, 
and still use it as a standalone program to test the library at any 
time. In addition, the project/library can be used to configure it... I 
mean - I use, say, an SMTP library. In my final application, instead of 
asking the user a lot of parameters about the network, I can simply 
SHELL ".../libsmtp.gambas" to let the library ask and store all the 
relevant parameters and preferences...

Regards,
Doriano




More information about the User mailing list