Skip to content
This repository has been archived by the owner on Apr 6, 2023. It is now read-only.

Package Composition Notes (old)

fearthecowboy edited this page Aug 1, 2011 · 1 revision
c:\apps
    +---.installed           [location where apps go]
    +---bin                  [binaries in PATH]
    +---include              [header directories for header files]
        +---<library>        [current version of <library> symlink to <ver>]
        +---<library>-<ver>  [specific version of <library> sym to .installed]
    +---lib                  [.lib files for developer libs]
    +---output               [default tree for source pkgs to output binaries]
   
       
   
        ¦   +---zlib
    ¦   +---zlib-1.2.3
    ¦   +---zlib
    ¦   +---zlib-1.2.3
 
 
zlib-1.2.3-x86_a.lib
zlib-1.2.3-x86.lib
 
zlib-1.2.3-x64_a.lib
zlib-1.2.3-x64.lib
 
zlib-1.2.3-x64-pgo_a.lib
zlib-1.2.3-x64-pgo.lib
 
[libraryname]-[ver.#.#.#]-[platform]-[compiler]-[flavor].lib
[libraryname]-[ver.#.#.#]-[platform]-[compiler]-[flavor]_a.lib (static lib)
 
'flavor' is optional, and defined by the publisher.
<nothing>  --
PGO        -- optimized version
DEBUG      -- debuggable
MT         -- multi-threaded
 
 
 
[libraryname]-[platform]-[flavor].lib
[libraryname]-[platform]-[flavor]_a.lib (static lib)
 
 
 
Putting developer header files into the common location:
c:\apps\include\zlib\
 
    is symlink’d to  
 
c:\apps\include\zlib-1.2.3\
    which is in turn symlink’d to  
 
c:\apps\.installed\coapp\zlib\1.2.3\include
 
 
Putting developer libraries into the common location:
c:\apps\lib\zlib-
 
    is symlink’d to  
 
c:\apps\.installed\coapp\grep\1.6.7\grep.exe


 
<meta content="text/html; charset=utf-8" http-equiv="Content-Type"/> <meta content="OneNote.File" name="ProgId"/> <meta content="Microsoft OneNote 14" name="Generator"/>
System Constants:
    {$APPS} CoApp Application directory (c:\apps)
    {$BIN} CoApp bin directory (in PATH) ({$APPS}\bin)
    {$LIB} CoApp lib directory ({$APPS}\lib)
    {$INCLUDE} CoApp include directory ({$APPS}\include)
    {$INSTALL} CoApp .installed directory ({$APPS}\.installed)
    {$PREFERREDCOMPILER} -- system wide-preferred compiler
 
Package Variables:
    {$VENDOR}       Vendor name
    {$PRODUCTNAME}  Name of product being installed
    {$VERSION}      Version of package being installed. (##.##.##.##)
    {$PLATFORM}     Platform of package being installed -- one of [x86, x64, any]
 
Role Variables:
    {$ROLE}         Type of Role -- one of [ APP, ASSEMBLY, LIB, DEVICE, SOURCE ]
    {$NAME}         Name of role being installed
    {$FLAVOR}       ? PGO, DEBUG, Etc.
 
Shared Library Variables:
    {$PUBLICKEYTOKEN} Publisher's PKT of the shared library
 
Derived Variables:
    {$PKGDIR}       Destination of product install {$INSTALL}\{$VENDOR}\{$PRODUCTNAME}-{$VERSION}-{$PLATFORM}\
    {$PREFEREDPKG}  Destination of preferred version of the application. {$APPS}\{$NAME}\
    {$LIBIDENTITY}  Full Identity of dev lib{$NAME}-{$VERSION}-{$PLATFORM}-{$COMPILER}-{$FLAVOR}-{$STATIC}
    {$PREFEREDLIB}  Identity of the system preferred version {$NAME}-{$PLATFORM}-{$FLAVOR}-{$STATIC}
 
------
 
DEFAULT APP ROLE LAYOUT
    Symlink         {$PREFEREDPKG}                  TO {$PKGDIR}
   
----
[grep]
    Symlink         {$BIN}\grep-{$PLATFORM}.exe     TO {$PKGDIR}\grep.exe            // replaces symlink if exists.
    TrySymlink      {$BIN}\grep.exe                 TO {$BIN}\grep-{$PLATFORM}.exe   // only symlinks when there isn't
    ere.
   
[zlib]
    Symlink         {$LIB}\{$LIBIDENTITY}.lib       TO {$PKGDIR}\lib\{$LIBIDENTITY}.lib
    TrySymlink      {$LIB}\{$PREFEREDLIB}.lib       TO {$LIB}\{$LIBIDENTITY}.lib
    Symlink         {$INCLUDE}\{$NAME}-{$VERSION}\  TO {$PKGDIR}\include\
    TrySymlink      {$INCLUDE}\{$NAME}\             TO {$INCLUDE}\{$NAME}-{$VERSION}\
 
[FireFox]
....
    {$FireFoxPlugins}  = [CONTRIBUTE]{$PREFERREDPKG}\Plugins
   
 
[Metapackage:Python26]
    {$P26ROOT}         = {$PREFEREDPKG}\
    {$P26BIN}          = {$PREFEREDPKG}\bin\
    {$P26DOCS}         = {$PREFEREDPKG}\docs\
    {$P26LIB}          = {$PREFEREDPKG}\lib\
    {$P26PLUGINS}      = [RW]{$PREFEREDPKG}\lib\site-packages 
 
[PSFPython]   
    CreateFolder    {$P26ROOT}
   
   
[Pythonpluginfoo]
     Symlink         {$P26PLUGINS}\foo.py             TO ${PKGDIR}\foo.py

Clone this wiki locally