Bug 1820

Summary: Ugly LOCALEDIR definition
Product: UIM Reporter: TOKUNAGA Hiroyuki <tkng>
Component: OtherAssignee: uim-bugs
Status: RESOLVED FIXED QA Contact:
Severity: normal    
Priority: high    
Version: unspecified   
Hardware: x86 (IA32)   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:

Description TOKUNAGA Hiroyuki 2004-11-10 11:22:08 UTC
If I commend out these lines:

if test x$prefix = xNONE; then
   # I can't imagine when prefix does not exist -- YamaKen 2004-09-30
   localedir="/usr/local/share/locale"

I get following result at config.h:

/* locale dir */
#define LOCALEDIR "NONE/share/locale"

If I defined LOCALEDIR in Makefile.am, such problem didn't occur. Also, 
in the example of gettext (hello-c), LOCALEDIR was defined in Makefile.am.
So I believe define LOCALEDIR in Makefile.am is safe way.
Comment 1 YamaKen 2004-11-10 16:09:26 UTC
I assume you had commented out only the line
'localedir="/usr/local/share/locale"' rather than 'lines'. Is it right?

Show me following result.
$ egrep '(datadir|prefix|localedir|LOCALEDIR)' config.log

Regardless of above result, I think that we should define LOCALEDIR globally in
configure process to unify the definition and to avoid errors. In fact, you had
already caused such error since you had forgotten the modification of
Makefile.am in sumika subdirectory.

We will cause such problem again if we adopt your way. It's a structural problem.
Comment 2 TOKUNAGA Hiroyuki 2004-11-11 00:44:07 UTC
> I assume you had commented out only the line
> 'localedir="/usr/local/share/locale"' rather than 'lines'. Is it right?

No. To be exact, I modified as follows.

LOCALEDIR=`eval echo ${datadir}/locale`


$egrep '(datadir|prefix|localedir|LOCALEDIR)' config.log
Configured with: ../src/configure -v
--enable-languages=c,c++,java,f77,pascal,objc,ada,treelang --prefix=/usr
--mandir=/usr/share/man --infodir=/usr/share/info
--with-gxx-include-dir=/usr/include/c++/3.3 --enable-shared --with-system-zlib
--enable-nls --without-included-gettext --enable-__cxa_atexit
--enable-clocale=gnu --enable-debug --enable-java-gc=boehm
--enable-java-awt=xlib --enable-objc-gc i486-linux
Configured with: ../src/configure -v
--enable-languages=c,c++,java,f77,pascal,objc,ada,treelang --prefix=/usr
--mandir=/usr/share/man --infodir=/usr/share/info
--with-gxx-include-dir=/usr/include/c++/3.3 --enable-shared --with-system-zlib
--enable-nls --without-included-gettext --enable-__cxa_atexit
--enable-clocale=gnu --enable-debug --enable-java-gc=boehm
--enable-java-awt=xlib --enable-objc-gc i486-linux
| #define LOCALEDIR "NONE/share/locale"
| #define GNOMELOCALEDIR "NONE/share/locale"
| #define LOCALEDIR "NONE/share/locale"
| #define GNOMELOCALEDIR "NONE/share/locale"
| #define LOCALEDIR "NONE/share/locale"
| #define GNOMELOCALEDIR "NONE/share/locale"
| #define LOCALEDIR "NONE/share/locale"
| #define GNOMELOCALEDIR "NONE/share/locale"
bindir='${exec_prefix}/bin'
datadir='${prefix}/share'
exec_prefix='${prefix}'
includedir='${prefix}/include'
infodir='${prefix}/info'
libdir='${exec_prefix}/lib'
libexecdir='${exec_prefix}/libexec'
localedir='/usr/local/share/locale'
localstatedir='${prefix}/var'
mandir='${prefix}/man'
prefix='/usr/local'
sbindir='${exec_prefix}/sbin'
sharedstatedir='${prefix}/com'
sysconfdir='${prefix}/etc'
#define GNOMELOCALEDIR "NONE/share/locale"
#define LOCALEDIR "NONE/share/locale"

As an additional infomation, tested with this line:

LOCALEDIR="${datadir}/locale"

Result:

#define GNOMELOCALEDIR "${prefix}/share/locale"
#define LOCALEDIR "${prefix}/share/locale

Comment 3 TOKUNAGA Hiroyuki 2004-11-11 00:48:46 UTC
More additional infomation:

Quoted from the automake's ML:
http://sources.redhat.com/ml/automake/2000-07/msg00037.html

  AC_DEFUN([AC_EXPAND_DIR], 
  [$1=$2
  $1=`( test "x$prefix" = xNONE && prefix="$ac_default_prefix"
        test "x$exec_prefix" = xNONE && exec_prefix="${prefix}"
        eval echo \""[$]$1"\"
      )`
  ])

Though I couldn't understand what is doing with this macro...
Comment 4 YamaKen 2005-01-07 05:29:41 UTC
Fixed in r156 of new repository. I'm sorry Hiroyuki, I was misunderstood about
the case $prefix == NONE. It simply refrects configure options, but I
misunderstood as contains default value.

Now I've rewritten the LOCALEDIR definition as default-value ready.

------------------------------------------------------------------------
r156 | yamaken | 2005-01-07 22:23:13 +0900 (Fri, 07 Jan 2005) | 14 lines

* configure.ac
  - Fix LOCALEDIR and GNOMELOCALEDIR definition. This has resolved bug
    #1820
  - Define LIBDIR and DATADIR

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.