easy compile question!
#1
OK.. So I have the SVN version installed. This is my "stable" version where the library is all setup proper and is the copy I turn to when I actually want to USE xbmc for enjoyment purposes.

I also am doing some work on the AudioEngine branch. I'd like to set it up so that I can have both my 'stable' and my dev versions installed concurrently.

Currently, if I want to switch to my stable version from the dev version, I have to kill xbmc, ssh in, and "mv .~/xbmc ~/.xbmc-dev && mv ~/.xbmc-stable ~/.xbmc" and vice-versa to switch back to the dev version.

I'd like to compile my dev version so that when I run it, it uses ~/.xbmc-dev instead of ~/.xbmc -- this way I could have dual xsession files setup in my gnome config and choose to run the dev or the stable version with no added fuss. I assume that this is possible depending on the parameters I issue to ./configure. I'm just not sure which one it would be!

I was thinking maybe --program-suffix=SUFFIX would do it... anyone?

Code:
Installation directories:
  --prefix=PREFIX         install architecture-independent files in PREFIX
                          [/usr/local]
  --exec-prefix=EPREFIX   install architecture-dependent files in EPREFIX
                          [PREFIX]

By default, `make install' will install all the files in
`/usr/local/bin', `/usr/local/lib' etc.  You can specify
an installation prefix other than `/usr/local' using `--prefix',
for instance `--prefix=$HOME'.

For better control, use the options below.

Fine tuning of the installation directories:
  --bindir=DIR            user executables [EPREFIX/bin]
  --sbindir=DIR           system admin executables [EPREFIX/sbin]
  --libexecdir=DIR        program executables [EPREFIX/libexec]
  --sysconfdir=DIR        read-only single-machine data [PREFIX/etc]
  --sharedstatedir=DIR    modifiable architecture-independent data [PREFIX/com]
  --localstatedir=DIR     modifiable single-machine data [PREFIX/var]
  --libdir=DIR            object code libraries [EPREFIX/lib]
  --includedir=DIR        C header files [PREFIX/include]
  --oldincludedir=DIR     C header files for non-gcc [/usr/include]
  --datarootdir=DIR       read-only arch.-independent data root [PREFIX/share]
  --datadir=DIR           read-only architecture-independent data [DATAROOTDIR]
  --infodir=DIR           info documentation [DATAROOTDIR/info]
  --localedir=DIR         locale-dependent data [DATAROOTDIR/locale]
  --mandir=DIR            man documentation [DATAROOTDIR/man]
  --docdir=DIR            documentation root [DATAROOTDIR/doc/xbmc]
  --htmldir=DIR           html documentation [DOCDIR]
  --dvidir=DIR            dvi documentation [DOCDIR]
  --pdfdir=DIR            pdf documentation [DOCDIR]
  --psdir=DIR             ps documentation [DOCDIR]

Program names:
  --program-prefix=PREFIX            prepend PREFIX to installed program names
  --program-suffix=SUFFIX            append SUFFIX to installed program names
  --program-transform-name=PROGRAM   run sed PROGRAM on installed program names
Reply
#2
You can also compile to install on another place other that /usr/share/xbmc without the need to change the binary name.

Look for the --prefix=some/location/here at configure command

I do it all the time to test svn but never used --program-suffix=SUFFIX, to be honest, but I imagine it should work, from the configure hel description. Give it a try and tell us how it went.

hudo
Reply
#3
The more I stare at the options, the clearer it gets... sorta Wink

--prefix is good for the architecture-independent files (/usr/share or /usr/local/share) which I've come to realize don't really make a lick of difference. It seems I can have both the pre-compiled svn version and the more experimental, audioengine, use the same set of files as they are relatively static.

--exec-prefix may be what i'm looking for, as that will change the *location* of the xbmc binary, which by default is installed to /usr/bin. Still, it would be nice to have dual bins.. xbmc for normal use and xbmc-dev for audioengine testing. What this parameter likely doesn't do is allow me to rename the actual binary... just change the path of the file, which may be an acceptable alternative. The only downside of this is that I feel it will make my system 'messy' in the fact that I will be putting files in a non-standard file structure (ie /usr/xbmc-dev/bin)

That's why I would really like a parameter that lets me change the name of the installed executable, though looking at the makefile, I don't think that's in the cards. Additionally, I would want xbmc and xbmc-dev to also reference different user-profile stores (specifically ~/.xbmc and ~/.xbmc-dev) so that I don't mess up my 'good' library database.

Thats why I was thinking --program-suffix would be good as it theoretically would change the name of the binary, but in reality I don't think this actually happens. I'll have to try it again and examine the resulting Makefile. Smile
Reply
#4
all configure options are only for setup installations paths, so the Homefolder will never been affected by this.

why not change $HOME before starting the "development" version, something like this.

Code:
#!/bin/sh

export HOME=/path/to/new_home

mkdir -p $HOME
/usr/lib/xbmc/xbmc.bin
greetings, Stephan

Image

Image
Reply

Logout Mark Read Team Forum Stats Members Help
easy compile question!0