IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Ignore:
Timestamp:
Mar 17, 2009, 12:08:50 PM (17 years ago)
Author:
beaumont
Message:

merged with head

Location:
branches/cnb_branches/cnb_branch_20090301
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • branches/cnb_branches/cnb_branch_20090301

  • branches/cnb_branches/cnb_branch_20090301/psphot

  • branches/cnb_branches/cnb_branch_20090301/psphot/src/psphotVersion.c

    r12805 r23352  
    1 # include "psphotInternal.h"
     1#include "psphotInternal.h"
    22
    3 # if (HAVE_KAPA)
    4 # include <kapa.h>
    5 # endif
     3#ifdef HAVE_KAPA
     4#include <kapa.h>
     5#endif
    66
    7 static const char *cvsTag = "$Name: not supported by cvs2svn $";// CVS tag name
     7#ifndef PSPHOT_VERSION
     8#error "PSPHOT_VERSION is not set"
     9#endif
     10#ifndef PSPHOT_BRANCH
     11#error "PSPHOT_BRANCH is not set"
     12#endif
     13#ifndef PSPHOT_SOURCE
     14#error "PSPHOT_SOURCE is not set"
     15#endif
     16
     17#define xstr(s) str(s)
     18#define str(s) #s
    819
    920psString psphotVersion(void)
    1021{
    11     psString version = NULL;            // Version, to return
    12     psStringAppend(&version, "%s-%s",PACKAGE_NAME,PACKAGE_VERSION);
    13     return version;
     22    char *value = NULL;
     23    psStringAppend(&value, "%s@%s", xstr(PSPHOT_BRANCH), xstr(PSPHOT_VERSION));
     24    return value;
     25}
     26
     27psString psphotSource(void)
     28{
     29    return psStringCopy(xstr(PSPHOT_SOURCE));
    1430}
    1531
    1632psString psphotVersionLong(void)
    1733{
    18     psString version = psphotVersion(); // Version, to return
    19     psString tag = psStringStripCVS(cvsTag, "Name"); // CVS tag
    20     psStringAppend(&version, " (cvs tag %s) %s, %s", tag, __DATE__, __TIME__);
     34    psString version = psLibVersion();  // Version, to return
     35    psString source = psLibSource();    // Source
    2136
    22 # if (HAVE_KAPA)
    23     psString ohanaVersion = psStringStripCVS (ohana_version(), "Name");
    24     psString libdvoVersion = psStringStripCVS (libdvo_version(), "Name");
     37    psStringPrepend(&version, "psphot ");
     38    psStringAppend(&version, " from %s, built %s, %s", source, __DATE__, __TIME__);
     39    psFree(source);
    2540
    26     psStringAppend (&version, " with libkapa (ohana %s, libdvo: %s)", ohanaVersion, libdvoVersion);
    27     psFree (ohanaVersion);
    28     psFree (libdvoVersion);
    29 # else
    30     psStringAppend (&version, " WITHOUT libkapa");
    31 # endif
     41#ifdef __OPTIMIZE__
     42    psStringAppend(&version, " optimised");
     43#else
     44    psStringAppend(&version, " unoptimised");
     45#endif
    3246
    33     psFree(tag);
     47#ifdef HAVE_KAPA
     48#if 0
     49    // XXX Need to get ohana and libdvo versions
     50    psString ohanaVersion = psStringStripCVS(ohana_version(), "Name");
     51    psString libdvoVersion = psStringStripCVS(libdvo_version(), "Name");
     52    psStringAppend(&version, " with libkapa (ohana %s, libdvo: %s)", ohanaVersion, libdvoVersion);
     53    psFree(ohanaVersion);
     54    psFree(libdvoVersion);
     55#else
     56    psStringAppend(&version, " with libkapa");
     57#endif
     58
     59#else
     60    psStringAppend (&version, " without libkapa");
     61#endif
     62
    3463    return version;
    3564}
    3665
    37 // Defined by RHL; leaving for backwards compatibility.
    38 const char *psphotCVSName(void) {
    39    return cvsTag;
     66bool psphotVersionHeader(psMetadata *header)
     67{
     68    PS_ASSERT_METADATA_NON_NULL(header, false);
     69
     70    psString version = psphotVersion(); // Software version
     71    psString source = psphotSource();   // Software source
     72
     73    psStringPrepend(&version, "psphot version: ");
     74    psStringPrepend(&source, "psphot source: ");
     75
     76    psMetadataAddStr(header, PS_LIST_TAIL, "HISTORY", PS_META_DUPLICATE_OK, NULL, version);
     77    psMetadataAddStr(header, PS_LIST_TAIL, "HISTORY", PS_META_DUPLICATE_OK, NULL, source);
     78
     79    psFree(version);
     80    psFree(source);
     81
     82    return true;
    4083}
     84
     85
     86bool psphotVersionHeaderFull(psMetadata *header)
     87{
     88    PS_ASSERT_METADATA_NON_NULL(header, false);
     89
     90    psTime *time = psTimeGetNow(PS_TIME_TAI); // The time now
     91    psString timeString = psTimeToISO(time); // The time in an ISO string
     92    psFree(time);
     93    psString history = NULL;               // History string
     94    psStringAppend(&history, "psphot at %s", timeString);
     95    psFree(timeString);
     96    psMetadataAddStr(header, PS_LIST_TAIL, "HISTORY", PS_META_DUPLICATE_OK, NULL, history);
     97    psFree(history);
     98
     99    psLibVersionHeader(header);
     100    psModulesVersionHeader(header);
     101    psphotVersionHeader(header);
     102
     103    return true;
     104}
     105
     106
     107void psphotVersionPrint(void)
     108{
     109    psTime *time = psTimeGetNow(PS_TIME_TAI); // The time now
     110    psString timeString = psTimeToISO(time); // The time in an ISO string
     111    psFree(time);
     112    psLogMsg("psphot", PS_LOG_INFO, "psphot at %s", timeString);
     113    psFree(timeString);
     114
     115    psString pslib = psLibVersionLong();// psLib version
     116    psString psmodules = psModulesVersionLong(); // psModules version
     117    psString psphot = psphotVersionLong(); // psphot version
     118
     119    psLogMsg("psphot", PS_LOG_INFO, "%s", pslib);
     120    psLogMsg("psphot", PS_LOG_INFO, "%s", psmodules);
     121    psLogMsg("psphot", PS_LOG_INFO, "%s", psphot);
     122
     123    psFree(pslib);
     124    psFree(psmodules);
     125    psFree(psphot);
     126
     127    return;
     128}
Note: See TracChangeset for help on using the changeset viewer.