This repository has been archived by the owner on Apr 6, 2023. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 24
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