On Fri, Mar 14, 2014 at 10:44:27AM +0000, Philip Martin wrote:
> I still don't understand what is being attempted.  SVN_INTL_LIBS is some
> Windows feature.  Why do we need to support it on Unix?  Can we just
> leave it empty?  Why put in extra code to move '-lintl' from LIBS to
> SVN_INTL_LIBS?

pkg-config needs to provide accurate linker flags to applications
linking to Subversion. If libsvn_subr requires -lintl to link,
then -lintl needs to be listed in the pkg-config file for libsvn_subr.

As I understand so far, -lintl is not required on Linux but is
required on other systems like Mac OS X or *BSD.

The pkg-config generator derives linker flags like -lintl from
variables like SVN_INTL_LIBS, which are referenced in build.conf.
E.g. SVN_INTL_LIBS is referenced by the [intl] section in build.conf.

Because SVN_INTL_LIBS was never defined, the generated pkg-config
contained linker flags like:  -lsvn_subr $(SVN_INTL_LIBS)
i.e. a litereral string "$(SVN_INTL_LIBS)" instead of an expansion.

A hack was put in place to ignore the [intl] section in build.conf
to avoid this problem for now. But that hack means we don't provide
correct linker flags for libsvn_subr on all platforms.

One possible solution to this problem is to make sure that SVN_INTL_LIBS
is always defined, either to an empty string, or to the appropriate
linke flags (e.g. "-lintl", or "-lintl -liconv").
This is what I want to achieve.

Reply via email to