This is the mail archive of the cygwin@cygwin.com mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

RE: libtool-devel and kde2 - problem with AC_PROG_CXX


Hi,
I have downloaded the newest autotool with setup.exe and some problems (cygwin not found
issue) are fixed.
The problem relating to the CXX configuration remains. After looking in the related source I
recognized that this might be a bug in libtool.m4 (see below)

Charles, if you read this, please read this to the end before you starts to answer any line
:-)
The first part until (***) is only to inform you about the background.

I have created a test project with a configure.in like below and configure is missing
ltconfig again.
I have added configure.in and Makefile.in that one can see proper layout.

---- configure.in  ---------------
dnl Process this file with autoconf to produce a configure script.
AC_INIT(hello.c)

AC_PREREQ(2.50)
AC_CONFIG_AUX_DIR(admin)

AM_INIT_AUTOMAKE(hello, 1.3.11)
AC_PROG_CC
AC_PROG_CXX

AC_ENABLE_SHARED
AC_DISABLE_STATIC
AC_PROG_LIBTOOL
AC_OUTPUT([Makefile])
----------------------------------
--- makefile.am ------------------
habacker@BRAMSCHE ~/src/libtool-test2.50
$ cat Makefile.am
bin_PROGRAMS = hello
hello_SOURCES = main.c
hello_LDADD = libhello.la

lib_LTLIBRARIES = libbasic.la libhello.la
libhello_la_SOURCES = hello.c
libhello_la_LDFLAGS = -version-info 3:12:1
libhello_la_LIBADD = libbasic.la

libbasic_la_SOURCES = basic.c
libbasic_la_LDFLAGS = -version-info 3:12:1

$ libtoolize -c -f
You should add the contents of `/usr/autotool/devel/share/aclocal/libtool.m4' to
`aclocal.m4'.
Putting files in AC_CONFIG_AUX_DIR, `admin'.

habacker@BRAMSCHE ~/src/libtool-test2.50
$ aclocal -v
....
aclocal: found macro AC_PROG_LIBTOOL in /usr/autotool/devel/share/aclocal/libtool.m4: 27
...
 libtool-devel is used                              ^^^^^

habacker@BRAMSCHE ~/src/libtool-test2.50
$ automake -a -c -v
automake: reading configure.in
automake: reading aclocal.m4
automake: configure.in: installing `admin/install-sh'
automake: configure.in: installing `admin/mkinstalldirs'
automake: configure.in: installing `admin/missing'
automake: reading /usr/autotool/devel/share/automake/am/header-vars.am
automake: reading Makefile.am
automake: reading /usr/autotool/devel/share/automake/am/libtool.am
automake: reading /usr/autotool/devel/share/automake/am/configure.am
automake: reading /usr/autotool/devel/share/automake/am/ltlib.am
automake: reading /usr/autotool/devel/share/automake/am/ltlibrary.am
automake: reading /usr/autotool/devel/share/automake/am/ltlibrary.am
automake: reading /usr/autotool/devel/share/automake/am/progs.am
automake: reading /usr/autotool/devel/share/automake/am/program.am
automake: reading /usr/autotool/devel/share/automake/am/compile.am
automake: configure.in: installing `admin/depcomp'
automake: reading /usr/autotool/devel/share/automake/am/depend.am
automake: reading /usr/autotool/devel/share/automake/am/depend2.am
Sources ending in .c become .o
Sources ending in .c become .obj
Sources ending in .c become .lo
automake: reading /usr/autotool/devel/share/automake/am/lang-compile.am
automake: reading /usr/autotool/devel/share/automake/am/texinfos.am
automake: reading /usr/autotool/devel/share/automake/am/tags.am
automake: reading /usr/autotool/devel/share/automake/am/distdir.am
automake: reading /usr/autotool/devel/share/automake/am/footer.am
automake: reading /usr/autotool/devel/share/automake/am/install.am
automake: reading /usr/autotool/devel/share/automake/am/clean.am
automake: creating Makefile.in

habacker@BRAMSCHE ~/src/libtool-test2.50
$ autoconf

habacker@BRAMSCHE ~/src/libtool-test2.50
$ ./configure
checking for a BSD compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for mawk... no
checking for gawk... gawk
checking whether make sets ${MAKE}... yes
checking for gcc... gcc
checking for C compiler default output... a.exe
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for executable suffix... .exe
checking for object suffix... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for style of include used by make... GNU
checking dependency style of gcc... gcc
checking for g++... g++
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
checking dependency style of g++... gcc
checking build system type... i686-pc-cygwin
checking host system type... i686-pc-cygwin
checking for ld used by GCC... /usr/i686-pc-cygwin/bin/ld.exe
checking if the linker (/usr/i686-pc-cygwin/bin/ld.exe) is GNU ld... yes
checking for /usr/i686-pc-cygwin/bin/ld.exe option to reload object files... -r
checking for BSD-compatible nm... /usr/local/bin/nm -B
checking whether ln -s works... yes
checking how to recognise dependant libraries... file_magic file format
pei*-i386(.*architecture: i386)?
checking command to parse /usr/local/bin/nm -B output... ok
checking how to run the C preprocessor... gcc -E
checking for dlfcn.h... yes
checking for ranlib... ranlib
checking for strip... strip
checking for gcc option to produce PIC... none
checking whether the linker (/usr/i686-pc-cygwin/bin/ld.exe) supports shared libraries... yes
checking command to parse /usr/local/bin/nm -B output... (cached) ok
checking if gcc static flag -static works... no
checking the maximum length of command line arguments... 12289
checking if gcc supports -fno-rtti -fno-exceptions... yes
checking if gcc supports -c -o file.o... yes
checking for objdir... .libs
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking dynamic linker characteristics... Win32 ld.exe
checking whether -lc should be explicitly linked in... yes
creating libtool
checking if libtool supports shared libraries... yes
checking how to run the C++ preprocessor... g++ -E
admin/ltconfig: Can't open admin/ltconfig: No such file or directory
configure: error: libtool tag configuration failed

-------------------

Then I looked into the related /usr/autotool/devel/share/aclocal/libtool.m4 and found the
following which looks like a ltconfig using cxx configuration.

--------- libtool.m4 -----------------------------------
....
# _LT_AC_LANG_CXX
# ---------------
AC_DEFUN([_LT_AC_LANG_CXX],
[AC_REQUIRE([AC_PROG_CXX])
AC_REQUIRE([AC_PROG_CXXCPP])
LIBTOOL_DEPS=$LIBTOOL_DEPS" $ac_aux_dir/ltcf-cxx.sh"
                                         ^^^^^^^^^^
lt_save_CC="$CC"
lt_save_CFLAGS="$CFLAGS"
dnl Make sure LTCC is set to the C compiler, i.e. set LTCC before CC
dnl is set to the C++ compiler.
AR="$AR" LTCC="$CC" CC="$CXX" CXX="$CXX" CFLAGS="$CXXFLAGS" CPPFLAGS="$CPPFLAGS" \
MAGIC_CMD="$MAGIC_CMD" LD="$LD" LDFLAGS="$LDFLAGS" LIBS="$LIBS" \
LN_S="$LN_S" NM="$NM" RANLIB="$RANLIB" STRIP="$STRIP" \
AS="$AS" DLLTOOL="$DLLTOOL" OBJDUMP="$OBJDUMP" \
objext="$OBJEXT" exeext="$EXEEXT" reload_flag="$reload_flag" \
deplibs_check_method="$deplibs_check_method" \
file_magic_cmd="$file_magic_cmd" \
${CONFIG_SHELL-/bin/sh} $ac_aux_dir/ltconfig -o libtool $libtool_flags \
                                  ^^^^^^^^^^
--build="$build" --add-tag=CXX $ac_aux_dir/ltcf-cxx.sh $host \
                                          ^^^^^^^^^^^
|| AC_MSG_ERROR([libtool tag configuration failed])
CC="$lt_save_CC"
CFLAGS="$lt_save_CFLAGS"

# Redirect the config.log output again, so that the ltconfig log is not
# clobbered by the next message.
exec 5>>./config.log
])# _LT_AC_LANG_CXX
....
-------------------------------------------------------------------

(****)
My question is now, how could this be fixed as I know only about the ltconfig controlled
configuration ?
I have looked into the libtool docu on www.gnu.org, but found no topic relating to create a
CXX configuration with ltmain.sh.

Regards
Ralf





--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Bug reporting:         http://cygwin.com/bugs.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]