[Prev][Next][Index][Thread]

Re: A basic question: defining modules and libraries



Eric Gouriou <eric_gouriou@cup.hp.com> writes:

>  A) a naming convention for libraries (maybe along the lines of
>  Java) that would greatly reduce the chances of name collisions.
>  (with _maybe_ the possibility/necessity of qualifying the imported
>  modules names with the library name rather than the current
>  renaming capabilities).

I agree that there is the possibilty of library name clashes and there
appears to be no way around this if you don't have the source to the
libraries to rename them. Some convention of prefixing the library
name might be needed perhaps?

Is the prefixing of the module names really needed? I thought the
current facilities for renaming, excluding or importing modules was
quite good.

>  B) A change in the current environments to move away from the idea
>  of 1 library <=> 1 dll/shared library

It looks like Functional Developer may already have this
ability. Start the IDE and open a project. Choose Tools/Command Line
from the menu. Enter the following (where my-project is the project
you opened):

? open my-project.hdp
=> Opened project my-project

? build /force /unify
=>Using the Microsoft Linker with combined runtime and project DLLs
  Unifying personal library my-project into my-project.exe
  Unifying system library io into my-project.exe
  Build of 'my-project' completed

Unfortunately this produces an error in a console window:

"Build Error: Need compiler products of system sub-project "io" in
order to unify"

It appears you need the build products of the system
libraries. Perhaps there is a way of excluding certain libraries from
the unification? Here is another clue, run fdbc.exe from the DOS
prompt. Type:

? help unify

dylan => help unify

  UNIFY - Creates new library and lid files for groups of projects

Creates new library and lid files as per config info in 'filename'

Some of the FD redistributable DLL's seem to be combined libraries so
I guess you're not the only one who wants the functionality. Maybe
someone from FO can provide some hints.

Chris.
-- 
http://www.double.co.nz/dylan



References: