CVS compilation tool

Marc Schwartz MSchwartz at MedAnalytics.com
Tue Aug 3 07:28:33 CEST 2004


On Tue, 2004-08-03 at 00:11, Randy Chung wrote:
> Howdy Marc,
> 
> The short answer is, sort of :)
> 
> Let me illustrate the problem with an example.  Let's say I things I 
> install in /usr/local (<-- xfce 4.0.6 is here), and I want to install 
> xfce CVS side-by-side so I can have a stable system to run and also be 
> able to develop the CVS branch.
> 
> To make sure I have pc's in /usr/local examined before /usr (since 
> they'd probably be newer), I would set my PKG_CONFIG_PATH to 
> /usr/local/lib/pkgconfig:/usr/lib/pkgconfig.
> 
> If I were to use your script now, what would happen is that my 
> PKG_CONFIG_PATH would become:
> 
> /usr/local/lib/pkgconfig:/usr/lib/pkgconfig:(all your cvs_dir 
> stuff):/usr/local/lib/pkgconfig
> 
> An attempt to run configure would step through PKG_CONFIG_PATH, find the 
> first instance in /usr/local/lib/pkgconfig (xfce 4.0.6), and die.  What 
> I had in mind was something more like:
> 
> PKG_CONFIG_PATH=${cvs_dir}/xfce4-panel/panel:$PKG_CONFIG_PATH
> 
> Specifically, $PKG_CONFIG_PATH comes after the paths you want to add; 
> this way you can be sure all the cvs dirs are checked first.
> 
> I also just noticed that you're exporting PKG_CONFIG_PATH, which might 
> not be a good idea.  That will end up affecting the user's environment, 
> and they might start having strange things happen.  Seeing that only cvs 
> things and /usr/local is put ahead of the default PKG_CONFIG_PATH, I 
> don't think it'll cause problems on a well-behaved system, but things 
> might go nuts on a slightly misconfigured system.
> 
> Instead of exporting it, simply change the configure line to:
> 
> PKG_CONFIG_PATH=$PKG_CONFIG_PATH (+ the original configure line)
> 
> and that should use the PKG_CONFIG_PATH you define earlier in your 
> script, without exporting it to the user's environment.
> 
> If that's still a bit confusing, let me know and I'll try to clarify :)


Ok. I think I have it now. Here is the new sequence:

# SET REQUIRED PKG_CONFIG DIRECTORIES
NEW_CONFIG_PATH=${cvs_dir}/xfce4-panel/panel
NEW_CONFIG_PATH=$NEW_CONFIG_PATH:${cvs_dir}/libxfcegui4/libxfcegui4
NEW_CONFIG_PATH=$NEW_CONFIG_PATH:${cvs_dir}/libxfce4util/libxfce4util
NEW_CONFIG_PATH=$NEW_CONFIG_PATH:${cvs_dir}/libxfce4mcs/libxfce4mcs
NEW_CONFIG_PATH=$NEW_CONFIG_PATH:${cvs_dir}/xfce-mcs-manager/xfce-mcs-manager
NEW_CONFIG_PATH=$NEW_CONFIG_PATH:${cvs_dir}/xffm/src
NEW_CONFIG_PATH=$NEW_CONFIG_PATH:${cvs_dir}/xfce4-session/xfce4-session
NEW_CONFIG_PATH=$NEW_CONFIG_PATH:/usr/local/lib/pkgconfig
PKG_CONFIG_PATH=$NEW_CONFIG_PATH:$PKG_CONFIG_PATH


I use NEW_CONFIG_PATH to set up the cvs paths, then append /usr/local...
then the default $PKG_CONFIG_PATH. I also removed the export.

Thanks Randy.

Marc






More information about the Xfce4-dev mailing list