Ticket #5270: runprefix.5.patch

File runprefix.5.patch, 8.2 KB (added by Nigel, 16 years ago)

Patch 4 was missing libmyth makefile fixes

  • configure

     
    181181  echo ""
    182182  echo "  --enable-mac-bundle      produce standalone OS X apps (e.g. mythfrontend.app)"
    183183  echo ""
     184  echo "  --runtime-prefix=PREFIX  prefix to be used at runtime"
     185  echo "                           (e.g. .. or /myth/latest)"
    184186  echo "  --with-bindings=LIST     install the bindings specified in the"
    185187  echo "                           comma-separated list"
    186188  echo "                           Supported bindings: perl, python"
     
    11601162CONFIG_DEFINES=""
    11611163CONFIG_INCLUDEPATH=""
    11621164PROFILEFLAGS=""
     1165RUNPREFIX=$PREFIX
    11631166audio_alsa="default"
    11641167audio_alsa_libs="-lasound"
    11651168audio_arts="default"
     
    13951398  ;;
    13961399  --enable-mac-bundle) enable mac_bundle
    13971400  ;;
     1401  --runtime-prefix=*) RUNPREFIX="$optval"
     1402  ;;
    13981403  --previous|--prev)
    13991404      echo "No history of previous configure parameters."
    14001405  ;;
     
    28892894echo "DistCC                    $distcc$distcc_txt"
    28902895echo "qmake                     $(which $qmake)"
    28912896echo "install prefix            $PREFIX"
     2897echo "runtime prefix            $RUNPREFIX"
    28922898<<BLOCK_QUOTE
    28932899echo "source path               $source_path"
    28942900echo "C compiler                $cc"
     
    30753081echo "#define FFMPEG_CONFIG_H" >> $TMPH
    30763082echo "#define FFMPEG_CONFIGURATION \"$FFMPEG_CONFIGURATION\"" >> $TMPH
    30773083
     3084echo "RUNPREFIX=$RUNPREFIX" >> $MYTH_CONFIG_MAK
    30783085echo "PREFIX=$PREFIX" >> $MYTH_CONFIG_MAK
    30793086echo "LIBDIR=$libdir" >> $MYTH_CONFIG_MAK
    30803087<<BLOCK_QUOTE
  • settings.pro

     
    9090DEFINES += _GNU_SOURCE
    9191DEFINES += _FILE_OFFSET_BITS=64
    9292DEFINES += PREFIX=\\\"$${PREFIX}\\\"
    93 DEFINES += LIBDIR=\\\"$${LIBDIR}\\\"
    9493
    9594# construct linking path
    9695LOCAL_LIBDIR_X11 =
  • docs/doxygen-architecture-document.cpp

     
    525525<ol>
    526526  <li>GetInstallPrefix() returns the value of MCP's m_installprefix variable,
    527527      which is either the runtime env. var. $MYTHTVDIR or the compile-time var.
    528       PREFIX. If these are relative paths, it is initialised relative to the
     528      RUNPREFIX. If these are relative paths, it is initialised relative to the
    529529      binary location. The value is used thus:
    530530  <ul>
    531531    <li>GetInstallPrefix() + /share/mythtv/ = GetShareDir(), GetFontsDir()</li>
     
    542542    <li>GetInstallPrefix() + /bin/ignyte</li>
    543543    <li>GetInstallPrefix() + /bin/mythfilldatabase</li>
    544544    <li>GetInstallPrefix() + /bin/mtd</li>
     545    <li>GetInstallPrefix() + /lib/mythtv/ = GetLibraryDir()</li>
     546    <li>GetInstallPrefix() + /lib/mythtv/plugins/ = GetPluginsDir()</li>
     547    <li>GetInstallPrefix() + /lib/mythtv/filters/ = GetFiltersDir()</li>
    545548  </ul></li>
    546549
    547   <li>GetLibraryDir() returns the value of MCP's m_installlibdir variable,
    548       which is always the LIBDIR compile-time var. Its value is only used for:
    549   <ul>
    550     <li>GetLibraryDir() + plugins/ = GetPluginsDir()</li>
    551     <li>GetLibraryDir() + filters/ = GetFiltersDir()</li>
    552   </ul></li>
    553 
    554550  <li>GetConfDir() returns the value of the runtime env. var. $MYTHCONFDIR,
    555551      or $HOME/.mythtv.</li>
    556552
  • libs/libmyth/libmyth.pro

     
    11include ( ../../config.mak )
    22include ( ../../settings.pro )
    3  
     3
     4isEmpty( LIBDIR ) {
     5    LIBDIR = $${PREFIX}/lib
     6}
     7
    48TEMPLATE = lib
    59TARGET = myth-$$LIBVERSION
    610CONFIG += thread dll
     
    8589inc2.files = $${inc.files}
    8690
    8791
     92isEmpty( PREFIX ) {
     93    PREFIX = /usr/local
     94}
     95isEmpty( RUNPREFIX ) {
     96    RUNPREFIX = $$PREFIX
     97}
     98DEFINES += PREFIX=\"$${PREFIX}\"
     99DEFINES += RUNPREFIX=\"$${RUNPREFIX}\"
     100 
    88101using_oss {
    89102    DEFINES += USING_OSS
    90103    SOURCES += audiooutputoss.cpp
  • libs/libmyth/mythcontext.cpp

     
    221221    Settings *m_settings;          ///< connection stuff, theme, button style
    222222    Settings *m_qtThemeSettings;   ///< everything else theme-related
    223223
    224     QString   m_installprefix;     ///< Compile-time PREFIX, or generated
     224    QString   m_installprefix;     ///< Compile-time RUNPREFIX, or generated
    225225                                   ///< from enviroment ($MYTHTVDIR or $cwd)
    226     QString   m_installlibdir;     ///< Compile-time LIBDIR, or generated
    227226
    228227    bool      m_gui;               ///< Should this context use GUI elements?
    229228    bool      m_backend;           ///< Is this host any sort of backend?
     
    314313MythContextPrivate::MythContextPrivate(MythContext *lparent)
    315314    : parent(lparent),
    316315      m_settings(new Settings()), m_qtThemeSettings(new Settings()),
    317       m_installprefix(PREFIX), m_installlibdir(LIBDIR),
     316      m_installprefix(RUNPREFIX),
    318317      m_gui(false), m_backend(false), m_themeloaded(false),
    319318      m_menuthemepathname(QString::null), m_themepathname(QString::null),
    320319      m_backgroundimage(NULL),
     
    354353        // executable directory. This can be fragile on Unix, so
    355354        // use relative PREFIX values with care.
    356355
    357         VERBOSE(VB_IMPORTANT+VB_EXTRA,
    358                 "Relative PREFIX!\nappDir=" + prefixDir.canonicalPath() +
    359                 "\nprefix=" + m_installprefix + ", libdir=" + m_installlibdir);
     356        VERBOSE(VB_IMPORTANT+VB_EXTRA, "Relative PREFIX!\nappDir=" +
     357                prefixDir.canonicalPath() + "\nprefix=" + m_installprefix);
    360358        prefixDir.cd(m_installprefix);
    361359        m_installprefix = prefixDir.canonicalPath();
    362 
    363         // Not strictly necessary, but it tidies up the path:
    364         if (QDir(m_installlibdir).isRelative())
    365         {
    366             prefixDir = qApp->applicationDirPath();
    367             prefixDir.cd(m_installlibdir);
    368             m_installlibdir = prefixDir.canonicalPath();
    369         }
    370360    }
    371     else if (prefixDir.path().contains(".app/Contents/MacOS"))
    372     {
    373         prefixDir.cd("../Resources");
    374         if (QDir(prefixDir.canonicalPath() + "/bin").exists() ||
    375             QDir(prefixDir.canonicalPath() + "/share").exists())
    376             m_installprefix = prefixDir.canonicalPath();
    377         if (QDir(prefixDir.canonicalPath() + "/lib").exists())
    378             m_installlibdir = prefixDir.canonicalPath() + "/lib";
    379     }
    380361
    381     VERBOSE(VB_IMPORTANT, QString("Using runtime prefix = %1, libdir = %2")
    382                           .arg(m_installprefix).arg(m_installlibdir));
     362    VERBOSE(VB_IMPORTANT, "Using runtime prefix = " + m_installprefix);
    383363}
    384364
    385365MythContextPrivate::~MythContextPrivate()
     
    19451925
    19461926QString MythContext::GetLibraryDir(void)
    19471927{
    1948     return d->m_installlibdir + "/mythtv/";
     1928    return d->m_installprefix + "/lib/mythtv/";
    19491929}
    19501930
    19511931QString MythContext::GetThemesParentDir(void)
  • contrib/OSX/build/osx-packager.pl

     
    483483  'mythtv'
    484484  =>  [
    485485        '--prefix=' . $PREFIX,
     486        '--runtime-prefix=../Resources',
    486487        # To "cross compile" something for a lesser Mac:
    487488        #'--tune=G3',
    488489        #'--disable-altivec',
  • contrib/Win32/build/win32-packager.pl

     
    965965[ file => $mythtv.'mythtv/Makefile',
    966966 shell => ['source '.$unixmythtv.'qt'.$qtver.'_env.sh',
    967967           'cd '.$unixmythtv.'mythtv',
    968            './configure --prefix='.$unixbuild.
     968           './configure --prefix='.$unixbuild.' --runtime-prefix=..'.
    969969           ' --disable-dbox2 --disable-hdhomerun'.
    970970           ' --disable-iptv --disable-joystick-menu --disable-xvmc-vld'.
    971971           ' --disable-xvmc --enable-directx'.