YamaKen
yamak****@bp*****
2004年 9月 25日 (土) 12:57:32 JST
ヤマケンです。 At Sun, 19 Sep 2004 09:54:21 +0900, ashie****@good-***** wrote: > On Sun, 19 Sep 2004 07:17:33 +0900 > YamaKen <yamak****@bp*****> wrote: > > > #include <uim/uim-helper.h> > > とりあえずは,uim定義のヘッダを内部で使う場合は<>よりも""にしておいた方 > が良いと思うのですが,如何でしょうか? おっと、そうですね。まずはこっちを直すべきでした。 At Sun, 19 Sep 2004 07:17:33 +0900, yamak****@bp***** wrote: > uim-helper.cにある以下の#includeを処理するためにinclude pathが使 > われますが、 > > #include <uim/uim-helper.h> > > 本来最優先で検索されるべき ../uim/uim-helper.h よりもCPPFLAGSで > 指定された/usr/local/includeの方が優先度が高くなってしまっていま > す。このためuim-helper.hに変更があった時には正常にコンパイルでき > ません。 > > gcc -DSCM_FILES=\"/usr/X11R6/share/uim\" -I. -I. -I. -I/usr/local/include -I/usr/X11R6/include -I.. -g -O2 -Wall -std=gnu89 -pedantic -Wchar-subscripts -Wmissing-declarations -Wmissing-prototypes -Wnested-externs -Wpointer-arith -Wcast-align -Wsign-compare -MT libuim_la-uim-helper.lo -MD -MP -MF .deps/libuim_la-uim-helper.Tpo -c uim-helper.c -fPIC -DPIC -o .libs/libuim_la-uim-helper.o > uim-helper.c:82: error: conflicting types for 'uim_helper_send_message' > /usr/X11R6/include/uim/uim-helper.h:49: error: previous declaration of 'uim_helper_send_message' was here > > これを修正するには以下のlibuim_la_CFLAGSに指定されている > $(top_srcdir)が$(DEFAULT_INCLUDES)より前に来るようにする必要があ > りますが、どう修正するのが正しい流儀なのか判断がつきません。詳し > い方お願いします。 > > uim/Makefile.am > libuim_la_CFLAGS = -I$(top_srcdir) > > uim/Makefile: > libuim_la-uim-helper.lo: uim-helper.c > if $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libuim_la_CFLAGS) $(CFLAGS) -MT libuim_la-uim-helper.lo -MD -MP -MF "$(DEPDIR)/libuim_la-uim-helper.Tpo" \ こちらはautomakeのinfoによると libuim_la_CPPFLAGS = -I$(top_srcdir) とするのが正しいようなのでそのように修正しました。 uim/以下のソースに -I$(top_srcdir) は不要だと思いますが、とりあ えずはそのまま残してあります。これで -I の並び順の問題は解決しま した。 ついでに各Makefile.am内の他の定義も正しいと思われるものに書き換 えておきました。コンパイルは通っていますが、時間のある方は変更内 容の確認をお願いします。 ------------------------------------------------------------------------ r1293 | yamaken | 2004-09-25 12:49:16 +0900 (Sat, 25 Sep 2004) | 44 lines * This commit fixes compilation-time problems. No actual codes are modified * Makefile.am - Remove unused and invalid DEFS which masks autoconf'ed one * uim/Makefile.am - Remove invalid DEFS which masks autoconf'ed one. Definition are move into an user variable and included via per_exec_CPPFLAGS - Move invalid -I in per_exec_CFLAGS into per_exec_CPPFLAGS * helper/Makefile.am - Remove invalid CFLAGS which masks autoconf'ed one. Definition are move into an user variable and included via per_exec_CPPFLAGS - Move invalid -I in per_exec_CFLAGS into per_exec_CPPFLAGS * gtk/Makefile.am - Move invalid -I in per_exec_CFLAGS into per_exec_CPPFLAGS * xim/Makefile.am - Move invalid -I in per_exec_CFLAGS into per_exec_CPPFLAGS - Add uim_xim_CFLAGS for failsafe for future * fep/Makefile.am - Move invalid -I in per_exec_CFLAGS into per_exec_CPPFLAGS * sumika/common/Makefile.am - Rename deprecated INCLUDES to AM_CPPFLAGS * sumika/gtk2/Makefile.am - Rename deprecated INCLUDES to AM_CPPFLAGS - Move -D in AM_CFLAGS to AM_CPPFLAGS appropriately - Remove redundant -DHAVE_CONFIG_H which automatically included in DEFS * uim/uim.c * uim/uim-ipc.c * uim/uim-helper.c * uim/uim-helper-server.c * uim/uim-helper-client.c * uim/getpeereid.c * uim/uim-sh.c - Replace #include <> with "" to appropriately include the files in local directly ------------------------------- ヤマケン yamak****@bp*****