1. what is system wide localization and what user customized and how
  to detec them.

One clean / easy / universal solution is to consider it user customized
when it resides inside /home or /Users, and "system" location if anywhere
outside that.

3. where to put static and shared libraries (now it's possible
  to set different localizations) and/or where create soft links.

Here if possible I'd like to see some syncing between *nix and
non-*nix. On non-*nix dlls are created in bin dir, while on *nix
they are created in lib dir. This isn't too good.

So, if there is nothing satanic about it, I'd put *nix dlls also
to bin dir, and add links to lib dir.

4. shared library naming convention - now only Darwin build tries to
  respect correct version setting in names and links.

Current situation:
harbour[mt]-20-wce-arm - WinCE ARM
harbour[mt]-20-wce-mips - WinCE MIPS
harbour[mt]-20-wce-sh - WinCE SH
harbour[mt]-20-wce - WinCE x86
harbour[mt]-20-os2 - OS/2
harbour[mt]-20 - win
harbour[mt]-20-bcc - win x86 (bcc)
harbour[mt]-20-x64 - win x64
harbour[mt]-20-ia64 - win ia64
harbour[mt].2.0.0 - darwin
harbour[mt].2 - darwin (link)
harbour[mt] - darwin (link)
harbour[mt]-2.0.0 - non-darwin *nix
harbour[mt] - non-darwin *nix (link)
harbour[m] - MS-DOS

- For one thing, we should IMO only have major+minor ver numbers
  even on *nixes, since we guarantee binary compatibility between
  revisions.
- We should check whether '.' separate in darwin is a necessity on
  the platform, if not, it should be switched to '-'.
- Maybe we should always add 'win' for win platform, why making it
  the default?
- Maybe we should always add CPU on win platform. x64 will eventually
  become the standard anyway.
- What remains is the major/minor separator.
  Probably we should switch to '2.0' format on non-*nix too.
- Fix darwin/non-darwin links.

This would result in something like this:
harbour[mt]-2.0-wce-arm - WinCE ARM
harbour[mt]-2.0-wce-mips - WinCE MIPS
harbour[mt]-2.0-wce-sh - WinCE SH
harbour[mt]-2.0-wce-x86 - WinCE x86
harbour[mt]-2.0-os2 - OS/2
harbour[mt]-2.0-win-x86 - win
harbour[mt]-2.0-win-x86-bcc - win x86 (bcc)
harbour[mt]-2.0-win-x64 - win x64
harbour[mt]-2.0-win-ia64 - win ia64
harbour[mt]-2.0 - *nix
harbour[mt]-2 - *nix (link - MAYBE - I can't see its use)
harbour[mt] - *nix (link)
harbour[m] - MS-DOS

The only "downside" I can see is longish .dll names, but
IMO that's not a problem.

5. how to merge binaries for different C compilers and/or different
  platforms (cross building) and how user should chose preferable
  C compiler or destination platform.

[ touched that in a prev mail ]

Brgds,
Viktor

_______________________________________________
Harbour mailing list
[email protected]
http://lists.harbour-project.org/mailman/listinfo/harbour

Reply via email to