hello, not long ago i was requesting here on this mailinglist, that mc should support glib 2.0. i still recall the replies i got e.g. that for a future comming mc it may be planned to add glib as library within mc so it compiles against it and make the dependency of an external glib not necessary. or that a lot of people still use glib 1.x and want to stay on it. etc.
so far so good: please allow me to point out some advantages of using glib 2.0 in hope i can get some positive feedback for this idea. you know that many people are using gnome 2.0 nowadays and they would like to see a glib 2.0 supporting mc that can be easily compiled on their system e.g. some of them like me prefer compiling stuff from CVS. right now as is, mc requires that these people still install glib 1.x besides their glib 2.x system. this is for sure no big deal but the problems are starting with gettext. as you know many gnome 2.0 and gtk 2.0 related material can't be compiled using gettext below 0.11.x anymore. this causes a lot of problems for them. now the problem for us is that we need to tweak gettext 0.10.x on our system so we can get the gettext stuff compiled. that is removing gettext 0.11.x and installing gettext 0.10.x and then after it is configured we removed the old gettext again and install the new one. the advantage of using glib 2.x is it makes the requirement of using AM_GNU_GETTEXT obsolete you can replace it by using AM_GLIB_GNU_GETTEXT and use the functions provided by glib 2.0 for the future it is easier having a unified system that works with all kind of gettext versions. right now you need to deal with older and newer gettext, need to have a lot of checks in the autogen.sh file and probably some workarounds etc. i personally don't know how the maintainer likes to see the future of mc. i probably think he/she likes to have it independant of other stuff as much as possible so the idea comes close to embedd the glib library into mc's sourcecode. but please if you do so, then it may be more interesting to get glib 2.0 into it since it supports all these nice gettext stuff. this makes maintaining of mc much easier because you don't need to deal with gettext anymore. please allow me to show you this patch that i wrote today. it still causes some minor issues during the compile time with some 'getopt' thingies that i haven't figured out yet. but i hope that someone could help me or explain me what this was meant to be so i can solve the last minor issue. the patch ports mc to glib 2.0 in a sane correct way and it ports gettext support to glib gettext. it is possible for someone who runs glib 2.0, gtk 2.0 or gnome 2.0 to configure mc without the need of an older glib 1.x or older gettext versions. by the way, it's not needed to port mc to glib 2.0 if you don't like but please at least help me getting this easy patch that far that it compiles mc successfully. i am willing to keep that patch in sync to mc for the future (to some sort of point) so those who don't like to have the old glib 1.x installed to be able to use it with glib 2.0. i think the minor issue is easy to fix, somehow i must have missed some minor issue. -- Name....: Ali Akcaagac Status..: Student Of Computer & Economic Science E-Mail..: mailto:[EMAIL PROTECTED] WWW.....: http://www.fh-wilhelmshaven.de/~akcaagaa
diff -ruN mc-cvs/Makefile.am mc/Makefile.am --- mc-cvs/Makefile.am 2002-02-22 07:45:10.000000000 +0100 +++ mc/Makefile.am 2002-09-12 14:25:19.000000000 +0200 @@ -2,7 +2,7 @@ AUTOMAKE_OPTIONS = 1.5 -SUBDIRS = intl po vfs slang edit src lib doc syntax pc +SUBDIRS = po vfs slang edit src lib doc syntax pc EXTRA_DIST = FAQ INSTALL.FAST MAINTAINERS \ README.PC README.QNX extraconf.h diff -ruN mc-cvs/autogen.sh mc/autogen.sh --- mc-cvs/autogen.sh 2002-07-28 08:39:48.000000000 +0200 +++ mc/autogen.sh 2002-09-12 14:25:19.000000000 +0200 @@ -4,9 +4,11 @@ # Make it possible to specify path in the environment : ${AUTOCONF=autoconf} : ${AUTOHEADER=autoheader} -: ${AUTOMAKE=automake} -: ${ACLOCAL=aclocal} -: ${GETTEXTIZE=gettextize} +: ${AUTOMAKE=automake-1.6} +: ${ACLOCAL=aclocal-1.6} +: ${GLIBGETTEXTIZE=glib-gettextize} +: ${INTLTOOLIZE=intltoolize} +: ${LIBTOOLIZE=libtoolize} srcdir=`dirname $0` test -z "$srcdir" && srcdir=. @@ -14,82 +16,9 @@ ( cd $srcdir -# The autoconf cache (version after 2.52) is not reliable yet. -rm -rf autom4te.cache vfs/samba/autom4te.cache - -if test ! -d config; then - mkdir config || exit 1 -fi - -# Ensure that gettext is reasonably new. -gettext_ver=`$GETTEXTIZE --version | sed -n '1s/\.//g;1s/.* //;1s/^\(...\)$/\100/;1s/^\(...\)\(.\)$/\10\2/;1p'` -if test $gettext_ver -lt 01038; then - echo "Don't use gettext older than 0.10.38" 2>&1 - exit 1 -fi - -rm -rf intl -if test $gettext_ver -ge 01100; then - $GETTEXTIZE --copy --force --intl --no-changelog >tmpout || exit 1 - if test -e Makefile.am~; then - rm -rf Makefile.am - mv Makefile.am~ Makefile.am - fi - if test -e configure.in~ ; then - rm -rf configure.in - mv configure.in~ configure.in - fi - for i in po/Rules-quot po/boldquot.sed [EMAIL PROTECTED] \ - [EMAIL PROTECTED] po/insert-header.sin po/quot.sed \ - po/remove-potcdate.sin po/Makefile.in.in - do - if diff -s $i $i~ >/dev/null 2>&1 ; then - mv $i~ $i - fi - done - # Does we need po/Makevars.in and family for gettext 0.11 ? - if test ! -e po/Makevars; then - cat > po/Makevars <<\EOF -# Usually the message domain is the same as the package name. -DOMAIN = $(PACKAGE) - -# These two variables depend on the location of this directory. -subdir = po -top_builddir = ../config - -# These options get passed to xgettext. -XGETTEXT_OPTIONS = --keyword=_ --keyword=N_ -EOF - fi -else - $GETTEXTIZE --copy --force >tmpout || exit 1 - if test -e po/ChangeLog~; then - rm -f po/ChangeLog - mv po/ChangeLog~ po/ChangeLog - fi -fi - -rm -f aclocal.m4 -if test -f `aclocal --print-ac-dir`/gettext.m4; then - : # gettext macro files are available to aclocal. -else - # gettext macro files are not available. - # Find them and copy to a local directory. - # Ugly way to parse the instructions gettexize gives us. - m4files="`cat tmpout | sed -n -e '/^Please/,/^from/s/^ *//p'`" - fromdir=`cat tmpout | sed -n -e '/^Please/,/^from/s/^from the \([^ ]*\) .*$/\1/p'` - rm -rf gettext.m4 - mkdir gettext.m4 - for i in $m4files; do - cp -f $fromdir/$i gettext.m4 - done - ACLOCAL_INCLUDES="-I gettext.m4" -fi - -rm -f tmpout - -# Some old version of GNU build tools fail to set error codes. -# Check that they generate some of the files they should. +$GLIBGETTEXTIZE --copy --force || exit 1 +$INTLTOOLIZE --copy --force --automake || exit 1 +$LIBTOOLIZE --copy --force || exit 1 $ACLOCAL $ACLOCAL_INCLUDES $ACLOCAL_FLAGS || exit 1 test -f aclocal.m4 || \ diff -ruN mc-cvs/configure.in mc/configure.in --- mc-cvs/configure.in 2002-09-07 09:52:24.000000000 +0200 +++ mc/configure.in 2002-09-12 14:25:40.000000000 +0200 @@ -5,7 +5,7 @@ AC_INIT([GNU Midnight Commander], [], [[EMAIL PROTECTED]]) AC_PREREQ(2.52) AC_CONFIG_SRCDIR(src/main.c) -AC_CONFIG_AUX_DIR(config) +dnl AC_CONFIG_AUX_DIR(config) AM_INIT_AUTOMAKE(mc, 4.6.0-pre1a) AM_CONFIG_HEADER(config.h) @@ -19,21 +19,16 @@ AC_PROG_CC_STDC +AC_PROG_LIBTOOL +AC_PROG_INTLTOOL dnl -dnl Find glib 1.2.x. This check should be kept close to the beginning, -dnl as it tends to fail often. +dnl Find glib 2.x. dnl - -dnl This temporary variable is a workaround for a bug in Autoconf-2.53 -glib_path=$PATH:/usr/local/bin - -dnl Klugde for FreeBSD, where glib-config is renamed to glib12-config. -AC_PATH_PROGS([GLIB_CONFIG], [glib-config glib12-config],,[$glib_path]) - -AC_ARG_VAR([GLIB_CONFIG], [Path to glib-config]) -AM_PATH_GLIB(1.2.0,,[AC_MSG_ERROR([Test for GLIB failed. MC requires GLIB.])]) -AC_SUBST(GLIB_LIBS) +pkg_modules="glib-2.0" +PKG_CHECK_MODULES(PACKAGE, [$pkg_modules]) +AC_SUBST(PACKAGE_CFLAGS) +AC_SUBST(PACKAGE_LIBS) AC_HEADER_MAJOR @@ -65,17 +60,14 @@ esac]) AC_FUNC_MMAP -if test "x$ALL_LINGUAS" = x; then -ALL_LINGUAS="az be bg ca cs da de el es es_ES eu fi fr hu it ja ko lv nl no pl pt pt_BR ro ru sk sl sv uk ta tr wa zh_CN zh_TW" -fi - dnl dnl Internationalization dnl -AM_GNU_GETTEXT -if test "x$USE_INCLUDED_LIBINTL" = xyes; then - CPPFLAGS="$CPPFLAGS -I\$(top_builddir)/intl -I\$(top_srcdir)/intl" -fi +GETTEXT_PACKAGE=mc +AC_SUBST(GETTEXT_PACKAGE) +AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE,"$GETTEXT_PACKAGE",[Needed for glib gettext]) +ALL_LINGUAS="az be bg ca cs da de el es es_ES eu fi fr hu it ja ko lv nl no pl pt pt_BR ro ru sk sl sv uk ta tr wa zh_CN zh_TW" +AM_GLIB_GNU_GETTEXT dnl dnl Hack to make extraconf.h visible even if compiling outside srcdir. @@ -731,7 +723,7 @@ doc/pl/mc.1 doc/pl/Makefile doc/ru/mc.1 doc/ru/Makefile -intl/Makefile po/Makefile.in +po/Makefile.in ]) AC_CONFIG_COMMANDS(potfiles, diff -ruN mc-cvs/edit/Makefile.am mc/edit/Makefile.am --- mc-cvs/edit/Makefile.am 2001-09-07 23:24:11.000000000 +0200 +++ mc/edit/Makefile.am 2002-09-12 14:25:19.000000000 +0200 @@ -1,4 +1,4 @@ -AM_CFLAGS = $(GLIB_CFLAGS) +AM_CFLAGS = $(PACKAGE_CFLAGS) if USE_EDIT noinst_LIBRARIES = libedit.a diff -ruN mc-cvs/slang/Makefile.am mc/slang/Makefile.am --- mc-cvs/slang/Makefile.am 2002-01-21 08:52:46.000000000 +0100 +++ mc/slang/Makefile.am 2002-09-12 14:25:19.000000000 +0200 @@ -1,4 +1,4 @@ -AM_CFLAGS = $(GLIB_CFLAGS) +AM_CFLAGS = $(PACKAGE_CFLAGS) if INCLUDED_SLANG noinst_LIBRARIES = libmcslang.a diff -ruN mc-cvs/src/Makefile.am mc/src/Makefile.am --- mc-cvs/src/Makefile.am 2002-09-03 19:58:26.000000000 +0200 +++ mc/src/Makefile.am 2002-09-12 14:25:19.000000000 +0200 @@ -1,4 +1,4 @@ -AM_CFLAGS = $(GLIB_CFLAGS) +AM_CFLAGS = $(PACKAGE_CFLAGS) AM_CPPFLAGS = -DLIBDIR=\""$(mclibdir)/"\" -DLOCALEDIR=\""$(localedir)"\" mclibdir = $(libdir)/mc @@ -36,7 +36,7 @@ endif mc_LDADD = $(EDITLIB) $(SLANGLIB) $(VFSLIB) \ - $(INTLLIBS) $(GLIB_LIBS) $(MCLIBS) $(LIBICONV) + $(INTLLIBS) $(PACKAGE_LIBS) $(MCLIBS) $(LIBICONV) CHARSET_SRC = charsets.c charsets.h selcodepage.c selcodepage.h diff -ruN mc-cvs/vfs/Makefile.am mc/vfs/Makefile.am --- mc-cvs/vfs/Makefile.am 2002-09-03 19:58:27.000000000 +0200 +++ mc/vfs/Makefile.am 2002-09-12 14:25:19.000000000 +0200 @@ -7,9 +7,9 @@ DIST_SUBDIRS = extfs if USE_SAMBA_FS -AM_CFLAGS = $(GLIB_CFLAGS) -DCONFIGDIR=\""@configdir@"\" +AM_CFLAGS = $(PACKAGE_CFLAGS) -DCONFIGDIR=\""@configdir@"\" else -AM_CFLAGS = $(GLIB_CFLAGS) +AM_CFLAGS = $(PACKAGE_CFLAGS) endif BASICFILES = \ @@ -102,7 +102,7 @@ mcserv_SOURCES = mcserv.c tcputil.c -mcserv_LDADD = $(PAMLIBS) $(LCRYPT) $(GLIB_LIBS) +mcserv_LDADD = $(PAMLIBS) $(LCRYPT) $(PACKAGE_LIBS) SAMBA_DIST = \ Makefile.in \