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.