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