Re: gtags.conf.in ignores custom --libdir if set

Shigio YAMAGUCHI <[email protected]>
Newsgroups gmane.comp.gnu.global.bugs
Message-ID <CADJmJYqgWiXJsJ9ZdNU==2vBwJznD1vpFk5WVJ8gfEcgE9LeLA@mail.gmail.com>
> Gladly, patch enclosed.

It works fine. Thank you.

By the way, I modified your code a little so that it might be
easy to maintain. I attached a patch for your version and
test script.

I have tested this on OSX 10.8.5. The behavior is as follows:

$ sh test.sh
+ ./configure
+ grep libdir_QUOTED config.log
libdir_QUOTED='/usr/local/lib'
+ ./configure --prefix=/foo
+ grep libdir_QUOTED config.log
libdir_QUOTED='/foo/lib'
+ ./configure --exec-prefix=/bar
+ grep libdir_QUOTED config.log
libdir_QUOTED='/bar/lib'
+ ./configure --prefix=/foo --exec-prefix=/bar
+ grep libdir_QUOTED config.log
libdir_QUOTED='/bar/lib'
+ ./configure --prefix=/foo --exec_prefix=/bar --libdir=/foo/lib64
+ grep libdir_QUOTED config.log
libdir_QUOTED='/foo/lib64'

> So if I understand correctly, gtags.conf.in will need to be revised to
omit
> the file extension altogether? yes, I think that will work perfectly.

I will answer in the next mail.

Regards,
Shigio
-- 
Shigio YAMAGUCHI <[email protected]>
PGP fingerprint: D1CB 0B89 B346 4AB6 5663  C4B6 3CA5 BBB3 57BE DDA3

_______________________________________________
Bug-global mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/bug-global
0002-gtags-libdir.patch (application/octet-stream, 2.4 KB)
*** configure.ac-kevin	2015-10-13 09:49:11.000000000 +0900
--- configure.ac	2015-10-13 10:35:50.000000000 +0900
***************
*** 347,374 ****
  AC_SUBST(DEFAULTINCLUDEFILESUFFIXES)
  
  dnl
! dnl Quoted langmap & prefix. It is only for gtags.conf.
  dnl
  DEFAULTLANGMAP_QUOTED=`echo $DEFAULTLANGMAP | sed 's/:/\\\\:/g'`
- case "$prefix" in
- NONE)   prefix_QUOTED=`echo $ac_default_prefix | sed 's/:/\\\\:/g'`;;
- *)      prefix_QUOTED=`echo $prefix | sed 's/:/\\\\:/g'`;;
- esac
  dnl We need to provide a valid libdir_QUOTED to consumers.
  dnl The value of $libdir depends on the flags passed to configure.
  dnl The desired behavior is as follows:
  dnl
  dnl 1. If --libdir is set by user, use that.
  dnl 2 If libdir not set by user, ac defaults to '${exec_prefix}/lib' (embedded variable sic)
! dnl   2a.  if exec_prefix is unset (NONE) set to $prefix_QUOTED/lib
! dnl   2b.  if exec_prefix is set, evaluate '{exec_prefix}/lib' into a simple string first.
! libdir_QUOTED=`eval echo $libdir`
! case ${exec_prefix}_"$libdir_QUOTED" in
! "NONE_${exec_prefix}/lib")   libdir_QUOTED=`echo $prefix_QUOTED/lib | sed 's/:/\\\\:/g'`;;
! *)	libdir_QUOTED=`echo $libdir_QUOTED | sed 's/:/\\\\:/g'`;;
! esac
  AC_SUBST(DEFAULTLANGMAP_QUOTED)
- AC_SUBST(prefix_QUOTED)
  AC_SUBST(libdir_QUOTED)
  
  AC_CONFIG_FILES([Makefile
--- 347,377 ----
  AC_SUBST(DEFAULTINCLUDEFILESUFFIXES)
  
  dnl
! dnl Quoted langmap & libdir. It is only for gtags.conf.
  dnl
  DEFAULTLANGMAP_QUOTED=`echo $DEFAULTLANGMAP | sed 's/:/\\\\:/g'`
  dnl We need to provide a valid libdir_QUOTED to consumers.
  dnl The value of $libdir depends on the flags passed to configure.
  dnl The desired behavior is as follows:
  dnl
  dnl 1. If --libdir is set by user, use that.
  dnl 2 If libdir not set by user, ac defaults to '${exec_prefix}/lib' (embedded variable sic)
! dnl   2a.  if exec_prefix is unset (NONE) set to ${prefix}/lib
! dnl   2b.  if exec_prefix is set, evaluate '${exec_prefix}/lib' into a simple string first.
! __real_libdir="$libdir"
! if test "$__real_libdir" = '${exec_prefix}/lib'; then
! 	if test "$exec_prefix" = NONE; then
! 		if test "$prefix" = NONE; then
! 			__real_libdir="$ac_default_prefix/lib"
! 		else
! 			__real_libdir="$prefix/lib"
! 		fi
! 	else
! 		__real_libdir="$exec_prefix/lib"
! 	fi
! fi
! libdir_QUOTED=`echo "$__real_libdir" | sed 's/:/\\\\:/g'`
  AC_SUBST(DEFAULTLANGMAP_QUOTED)
  AC_SUBST(libdir_QUOTED)
  
  AC_CONFIG_FILES([Makefile
test.sh (application/x-sh, 361 B)
set -x
./configure >log
grep libdir_QUOTED config.log
./configure --prefix=/foo >log
grep libdir_QUOTED config.log
./configure --exec-prefix=/bar >log
grep libdir_QUOTED config.log
./configure --prefix=/foo --exec-prefix=/bar >log
grep libdir_QUOTED config.log
./configure --prefix=/foo --exec_prefix=/bar --libdir=/foo/lib64 >log
grep libdir_QUOTED config.log
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.