On 14/06/2014 9:25, Shigio YAMAGUCHI wrote:
> Without --libdir=xxx, configure script converts "@libdir@" into
> "${exec_prefix}/lib". It is valid in Makefiles. But it is invalid
> in gtags.conf.

Ah, I knew there'd be a reason you didn't use "@libdir@". :)  Okay,
the attached approach should work better - add "prefix_QUOTED" to
escape potential colons (this is based on the original 6.3, plus
you should keep libparser/parser.c & plugin-factory/exuberant-ctags.c
from the previous patch).

-- 
Jason.
diff -pur global-6.3/configure.ac global-6-3/configure.ac
--- global-6.3/configure.ac     2014-06-09 10:46:06 +1000
+++ global-6-3/configure.ac     2014-06-16 12:34:39 +1000
@@ -342,10 +342,12 @@ AC_SUBST(DEFAULTLANGMAP)
 AC_SUBST(DEFAULTINCLUDEFILESUFFIXES)
 
 dnl
-dnl Quoted langmap. It is only for gtags.conf.
+dnl Quoted langmap & prefix. It is only for gtags.conf.
 dnl
 DEFAULTLANGMAP_QUOTED=`echo $DEFAULTLANGMAP | sed 's/:/\\\\:/g'`
+prefix_QUOTED=`echo $prefix | sed 's/:/\\\\:/g'`
 AC_SUBST(DEFAULTLANGMAP_QUOTED)
+AC_SUBST(prefix_QUOTED)
 
 AC_CONFIG_FILES([Makefile
        gtags.conf
diff -pur global-6.3/gtags.conf.in global-6-3/gtags.conf.in
--- global-6.3/gtags.conf.in    2014-06-09 10:46:06 +1000
+++ global-6-3/gtags.conf.in    2014-06-16 12:36:54 +1000
@@ -51,7 +51,7 @@ builtin-parser:\
 user-custom|User custom plugin parser:\
        :tc=common:\
        :langmap=c\:.c.h:\
-       :gtags_parser=c\:@prefix@/lib/gtags/user-custom.la:
+       :gtags_parser=c\:@prefix_QUOTED@/lib/gtags/user-custom.la:
 #
 # Plug-in parser to use Exuberant Ctags.
 #
@@ -96,45 +96,45 @@ exuberant-ctags|plugin-example|setting t
        :langmap=VHDL\:.vhdl.vhd:\
        :langmap=Vim\:.vim:\
        :langmap=YACC\:.y:\
-       :gtags_parser=Asm\:@prefix@/lib/gtags/exuberant-ctags.la:\
-       :gtags_parser=Asp\:@prefix@/lib/gtags/exuberant-ctags.la:\
-       :gtags_parser=Awk\:@prefix@/lib/gtags/exuberant-ctags.la:\
-       :gtags_parser=Basic\:@prefix@/lib/gtags/exuberant-ctags.la:\
-       :gtags_parser=BETA\:@prefix@/lib/gtags/exuberant-ctags.la:\
-       :gtags_parser=C\:@prefix@/lib/gtags/exuberant-ctags.la:\
-       :gtags_parser=C++\:@prefix@/lib/gtags/exuberant-ctags.la:\
-       :gtags_parser=C#\:@prefix@/lib/gtags/exuberant-ctags.la:\
-       :gtags_parser=Cobol\:@prefix@/lib/gtags/exuberant-ctags.la:\
-       :gtags_parser=DosBatch\:@prefix@/lib/gtags/exuberant-ctags.la:\
-       :gtags_parser=Eiffel\:@prefix@/lib/gtags/exuberant-ctags.la:\
-       :gtags_parser=Erlang\:@prefix@/lib/gtags/exuberant-ctags.la:\
-       :gtags_parser=Flex\:@prefix@/lib/gtags/exuberant-ctags.la:\
-       :gtags_parser=Fortran\:@prefix@/lib/gtags/exuberant-ctags.la:\
-       :gtags_parser=HTML\:@prefix@/lib/gtags/exuberant-ctags.la:\
-       :gtags_parser=Java\:@prefix@/lib/gtags/exuberant-ctags.la:\
-       :gtags_parser=JavaScript\:@prefix@/lib/gtags/exuberant-ctags.la:\
-       :gtags_parser=Lisp\:@prefix@/lib/gtags/exuberant-ctags.la:\
-       :gtags_parser=Lua\:@prefix@/lib/gtags/exuberant-ctags.la:\
-       :gtags_parser=MatLab\:@prefix@/lib/gtags/exuberant-ctags.la:\
-       :gtags_parser=OCaml\:@prefix@/lib/gtags/exuberant-ctags.la:\
-       :gtags_parser=Pascal\:@prefix@/lib/gtags/exuberant-ctags.la:\
-       :gtags_parser=Perl\:@prefix@/lib/gtags/exuberant-ctags.la:\
-       :gtags_parser=PHP\:@prefix@/lib/gtags/exuberant-ctags.la:\
-       :gtags_parser=Python\:@prefix@/lib/gtags/exuberant-ctags.la:\
-       :gtags_parser=REXX\:@prefix@/lib/gtags/exuberant-ctags.la:\
-       :gtags_parser=Ruby\:@prefix@/lib/gtags/exuberant-ctags.la:\
-       :gtags_parser=Scheme\:@prefix@/lib/gtags/exuberant-ctags.la:\
-       :gtags_parser=Sh\:@prefix@/lib/gtags/exuberant-ctags.la:\
-       :gtags_parser=SLang\:@prefix@/lib/gtags/exuberant-ctags.la:\
-       :gtags_parser=SML\:@prefix@/lib/gtags/exuberant-ctags.la:\
-       :gtags_parser=SQL\:@prefix@/lib/gtags/exuberant-ctags.la:\
-       :gtags_parser=Tcl\:@prefix@/lib/gtags/exuberant-ctags.la:\
-       :gtags_parser=Tex\:@prefix@/lib/gtags/exuberant-ctags.la:\
-       :gtags_parser=Vera\:@prefix@/lib/gtags/exuberant-ctags.la:\
-       :gtags_parser=Verilog\:@prefix@/lib/gtags/exuberant-ctags.la:\
-       :gtags_parser=VHDL\:@prefix@/lib/gtags/exuberant-ctags.la:\
-       :gtags_parser=Vim\:@prefix@/lib/gtags/exuberant-ctags.la:\
-       :gtags_parser=YACC\:@prefix@/lib/gtags/exuberant-ctags.la:
+       :gtags_parser=Asm\:@prefix_QUOTED@/lib/gtags/exuberant-ctags.la:\
+       :gtags_parser=Asp\:@prefix_QUOTED@/lib/gtags/exuberant-ctags.la:\
+       :gtags_parser=Awk\:@prefix_QUOTED@/lib/gtags/exuberant-ctags.la:\
+       :gtags_parser=Basic\:@prefix_QUOTED@/lib/gtags/exuberant-ctags.la:\
+       :gtags_parser=BETA\:@prefix_QUOTED@/lib/gtags/exuberant-ctags.la:\
+       :gtags_parser=C\:@prefix_QUOTED@/lib/gtags/exuberant-ctags.la:\
+       :gtags_parser=C++\:@prefix_QUOTED@/lib/gtags/exuberant-ctags.la:\
+       :gtags_parser=C#\:@prefix_QUOTED@/lib/gtags/exuberant-ctags.la:\
+       :gtags_parser=Cobol\:@prefix_QUOTED@/lib/gtags/exuberant-ctags.la:\
+       :gtags_parser=DosBatch\:@prefix_QUOTED@/lib/gtags/exuberant-ctags.la:\
+       :gtags_parser=Eiffel\:@prefix_QUOTED@/lib/gtags/exuberant-ctags.la:\
+       :gtags_parser=Erlang\:@prefix_QUOTED@/lib/gtags/exuberant-ctags.la:\
+       :gtags_parser=Flex\:@prefix_QUOTED@/lib/gtags/exuberant-ctags.la:\
+       :gtags_parser=Fortran\:@prefix_QUOTED@/lib/gtags/exuberant-ctags.la:\
+       :gtags_parser=HTML\:@prefix_QUOTED@/lib/gtags/exuberant-ctags.la:\
+       :gtags_parser=Java\:@prefix_QUOTED@/lib/gtags/exuberant-ctags.la:\
+       :gtags_parser=JavaScript\:@prefix_QUOTED@/lib/gtags/exuberant-ctags.la:\
+       :gtags_parser=Lisp\:@prefix_QUOTED@/lib/gtags/exuberant-ctags.la:\
+       :gtags_parser=Lua\:@prefix_QUOTED@/lib/gtags/exuberant-ctags.la:\
+       :gtags_parser=MatLab\:@prefix_QUOTED@/lib/gtags/exuberant-ctags.la:\
+       :gtags_parser=OCaml\:@prefix_QUOTED@/lib/gtags/exuberant-ctags.la:\
+       :gtags_parser=Pascal\:@prefix_QUOTED@/lib/gtags/exuberant-ctags.la:\
+       :gtags_parser=Perl\:@prefix_QUOTED@/lib/gtags/exuberant-ctags.la:\
+       :gtags_parser=PHP\:@prefix_QUOTED@/lib/gtags/exuberant-ctags.la:\
+       :gtags_parser=Python\:@prefix_QUOTED@/lib/gtags/exuberant-ctags.la:\
+       :gtags_parser=REXX\:@prefix_QUOTED@/lib/gtags/exuberant-ctags.la:\
+       :gtags_parser=Ruby\:@prefix_QUOTED@/lib/gtags/exuberant-ctags.la:\
+       :gtags_parser=Scheme\:@prefix_QUOTED@/lib/gtags/exuberant-ctags.la:\
+       :gtags_parser=Sh\:@prefix_QUOTED@/lib/gtags/exuberant-ctags.la:\
+       :gtags_parser=SLang\:@prefix_QUOTED@/lib/gtags/exuberant-ctags.la:\
+       :gtags_parser=SML\:@prefix_QUOTED@/lib/gtags/exuberant-ctags.la:\
+       :gtags_parser=SQL\:@prefix_QUOTED@/lib/gtags/exuberant-ctags.la:\
+       :gtags_parser=Tcl\:@prefix_QUOTED@/lib/gtags/exuberant-ctags.la:\
+       :gtags_parser=Tex\:@prefix_QUOTED@/lib/gtags/exuberant-ctags.la:\
+       :gtags_parser=Vera\:@prefix_QUOTED@/lib/gtags/exuberant-ctags.la:\
+       :gtags_parser=Verilog\:@prefix_QUOTED@/lib/gtags/exuberant-ctags.la:\
+       :gtags_parser=VHDL\:@prefix_QUOTED@/lib/gtags/exuberant-ctags.la:\
+       :gtags_parser=Vim\:@prefix_QUOTED@/lib/gtags/exuberant-ctags.la:\
+       :gtags_parser=YACC\:@prefix_QUOTED@/lib/gtags/exuberant-ctags.la:
 #
 # Drupal configuration.
 #
diff -pur global-6.3/plugin-factory/Makefile.am 
global-6-3/plugin-factory/Makefile.am
--- global-6.3/plugin-factory/Makefile.am       2014-06-09 10:46:06 +1000
+++ global-6-3/plugin-factory/Makefile.am       2014-06-16 21:56:41 +1000
@@ -14,11 +14,11 @@ plugindir = ${libdir}/gtags
 plugin_LTLIBRARIES = exuberant-ctags.la user-custom.la
 
 exuberant_ctags_la_SOURCES = exuberant-ctags.c
-exuberant_ctags_la_LDFLAGS = -module -avoid-version
+exuberant_ctags_la_LDFLAGS = -module -avoid-version -no-undefined
 
 # skeleton
 user_custom_la_SOURCES = user-custom.c
-user_custom_la_LDFLAGS = -module -avoid-version
+user_custom_la_LDFLAGS = -module -avoid-version -no-undefined
 
 gtagsdir = ${datadir}/gtags
 gtags_DATA = PLUGIN_HOWTO
_______________________________________________
Bug-global mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/bug-global

Reply via email to