From a4213cf85ebdda831a19eef78887a7a8a3388fd6 Mon Sep 17 00:00:00 2001 From: Manish Singh Date: Wed, 3 Feb 1999 09:17:37 +0000 Subject: [PATCH] libgimp/gimp.c app/datafiles.c app/docindex.c app/gimprc.c app/gradient.c * libgimp/gimp.c * app/datafiles.c * app/docindex.c * app/gimprc.c * app/gradient.c * app/palette.c: use g_get_home_dir () instead of getenv ("HOME") * app/fileops.c: #warning is a gccism * app/invert.[ch]: minor cleanup * app/menus.c: more cleanups * app/blob.c: even more cleanups * libgimp/parasite.c: YACU * ltconfig * ltmain.sh: CVS libtool 1.2e * modules/Makefile.am: use -module and -avoid-version flags * lic/Makefile.am * mapcolor/Makefile.am * xbm/Makefile.am: don't link with libjpeg here -Yosh --- .cvsignore | 1 + ChangeLog | 34 +- acinclude.m4 | 302 ++-- app/core/gimpdatafiles.c | 2 +- app/core/gimpdrawable-invert.c | 8 +- app/core/gimpdrawable-invert.h | 3 +- app/datafiles.c | 2 +- app/docindex.c | 6 +- app/fileops.c | 2 + app/gimpdrawable-invert.c | 8 +- app/gimpdrawable-invert.h | 3 +- app/gimprc.c | 6 +- app/gradient.c | 2 +- app/gradient_editor.c | 2 +- app/gui/gradient-editor.c | 2 +- app/gui/menus.c | 4 +- app/gui/palette-editor.c | 2 +- app/invert.c | 8 +- app/invert.h | 3 +- app/menus.c | 4 +- app/menus/menus.c | 4 +- app/palette.c | 2 +- app/widgets/gimpgradienteditor.c | 2 +- app/widgets/gimpitemfactory.c | 4 +- app/widgets/gimppaletteeditor.c | 2 +- config.guess | 118 +- config.sub | 24 +- libgimp/gimp.c | 2 +- libgimp/gimpparasite.c | 2 +- libgimp/parasite.c | 2 +- libgimpbase/gimpdatafiles.c | 2 +- libgimpbase/gimpparasite.c | 2 +- ltconfig | 713 +++++---- ltmain.sh | 2366 +++++++++++++++++------------- modules/Makefile.am | 9 +- plug-ins/lic/Makefile.am | 3 +- plug-ins/mapcolor/Makefile.am | 3 +- plug-ins/xbm/Makefile.am | 3 +- 38 files changed, 2130 insertions(+), 1537 deletions(-) diff --git a/.cvsignore b/.cvsignore index f8820a46c4..e728ea05b5 100644 --- a/.cvsignore +++ b/.cvsignore @@ -13,3 +13,4 @@ gimprc_user gimptool intl config.h.in +stamp-h.in diff --git a/ChangeLog b/ChangeLog index 3b36ca7c46..8cbdbe2c33 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,33 @@ +Tue Feb 2 23:34:37 PST 1999 Manish Singh + + * libgimp/gimp.c + * app/datafiles.c + * app/docindex.c + * app/gimprc.c + * app/gradient.c + * app/palette.c: use g_get_home_dir () instead of getenv ("HOME") + + * app/fileops.c: #warning is a gccism + + * app/invert.[ch]: minor cleanup + + * app/menus.c: more cleanups + + * app/blob.c: even more cleanups + + * libgimp/parasite.c: YACU + + * ltconfig + * ltmain.sh: CVS libtool 1.2e + + * modules/Makefile.am: use -module and -avoid-version flags + + * lic/Makefile.am + * mapcolor/Makefile.am + * xbm/Makefile.am: don't link with libjpeg here + + * gimp1_1_splash.ppm: new Adrian splash + 1999-02-02 Owen Taylor * app/blob.[ch] app/ink.c: Let the user choose between @@ -99,8 +129,8 @@ Wed Jan 27 21:52:43 GMT 1999 Austin Donnelly Wed Jan 27 12:25:00 CST 1999 Seth Burgess - * plug-ins/script-fu/scripts/add-bevel.scm: fixed the SF-ADJUSTMENT so that - it shows up again. + * plug-ins/script-fu/scripts/add-bevel.scm: fixed the SF-ADJUSTMENT + so that it shows up again. Tue Jan 26 22:17:57 PST 1999 Manish Singh diff --git a/acinclude.m4 b/acinclude.m4 index 8ce50126e3..b270342379 100644 --- a/acinclude.m4 +++ b/acinclude.m4 @@ -1,5 +1,5 @@ ## libtool.m4 - Configure libtool for the target system. -*-Shell-script-*- -## Copyright (C) 1996-1998 Free Software Foundation, Inc. +## Copyright (C) 1996-1999 Free Software Foundation, Inc. ## Gordon Matzigkeit , 1996 ## ## This program is free software; you can redistribute it and/or modify @@ -21,18 +21,19 @@ ## configuration script generated by Autoconf, you may include it under ## the same distribution terms that you use for the rest of that program. -# serial 29 AM_PROG_LIBTOOL -AC_DEFUN(AM_PROG_LIBTOOL, -[AC_REQUIRE([AM_ENABLE_SHARED])dnl -AC_REQUIRE([AM_ENABLE_STATIC])dnl +# serial 30 AC_PROG_LIBTOOL +AC_DEFUN(AC_PROG_LIBTOOL, +[AC_PREREQ(2.12.2)dnl +AC_REQUIRE([AC_ENABLE_SHARED])dnl +AC_REQUIRE([AC_ENABLE_STATIC])dnl AC_REQUIRE([AC_CANONICAL_HOST])dnl AC_REQUIRE([AC_CANONICAL_BUILD])dnl AC_REQUIRE([AC_PROG_RANLIB])dnl AC_REQUIRE([AC_PROG_CC])dnl -AC_REQUIRE([AM_PROG_LD])dnl -AC_REQUIRE([AM_PROG_NM])dnl -AC_REQUIRE([AM_SYS_NM_PARSE])dnl -AC_REQUIRE([AM_SYS_SYMBOL_UNDERSCORE])dnl +AC_REQUIRE([AC_PROG_LD])dnl +AC_REQUIRE([AC_PROG_NM])dnl +AC_REQUIRE([AC_SYS_NM_PARSE])dnl +AC_REQUIRE([AC_SYS_SYMBOL_UNDERSCORE])dnl AC_REQUIRE([AC_PROG_LN_S])dnl dnl # Always use our own libtool. @@ -82,7 +83,7 @@ case "$host" in ;; *-*-cygwin32*) - AM_SYS_LIBTOOL_CYGWIN32 + AC_SYS_LIBTOOL_CYGWIN32 ;; esac @@ -107,20 +108,23 @@ ${CONFIG_SHELL-/bin/sh} $ac_aux_dir/ltconfig --no-reexec \ $libtool_flags --no-verify $ac_aux_dir/ltmain.sh $host \ || AC_MSG_ERROR([libtool configure failed]) +# This can be used to rebuild libtool when needed +LIBTOOL_DEPS="$ac_aux_dir/ltconfig $ac_aux_dir/ltmain.sh" + # Redirect the config.log output again, so that the ltconfig log is not # clobbered by the next message. exec 5>>./config.log ]) -# AM_ENABLE_SHARED - implement the --enable-shared flag -# Usage: AM_ENABLE_SHARED[(DEFAULT)] +# AC_ENABLE_SHARED - implement the --enable-shared flag +# Usage: AC_ENABLE_SHARED[(DEFAULT)] # Where DEFAULT is either `yes' or `no'. If omitted, it defaults to # `yes'. -AC_DEFUN(AM_ENABLE_SHARED, -[define([AM_ENABLE_SHARED_DEFAULT], ifelse($1, no, no, yes))dnl +AC_DEFUN(AC_ENABLE_SHARED, +[define([AC_ENABLE_SHARED_DEFAULT], ifelse($1, no, no, yes))dnl AC_ARG_ENABLE(shared, changequote(<<, >>)dnl -<< --enable-shared[=PKGS] build shared libraries [default=>>AM_ENABLE_SHARED_DEFAULT], +<< --enable-shared[=PKGS] build shared libraries [default=>>AC_ENABLE_SHARED_DEFAULT], changequote([, ])dnl [p=${PACKAGE-default} case "$enableval" in @@ -138,26 +142,26 @@ no) enable_shared=no ;; IFS="$ac_save_ifs" ;; esac], -enable_shared=AM_ENABLE_SHARED_DEFAULT)dnl +enable_shared=AC_ENABLE_SHARED_DEFAULT)dnl ]) -# AM_DISABLE_SHARED - set the default shared flag to --disable-shared -AC_DEFUN(AM_DISABLE_SHARED, -[AM_ENABLE_SHARED(no)]) +# AC_DISABLE_SHARED - set the default shared flag to --disable-shared +AC_DEFUN(AC_DISABLE_SHARED, +[AC_ENABLE_SHARED(no)]) -# AM_DISABLE_STATIC - set the default static flag to --disable-static -AC_DEFUN(AM_DISABLE_STATIC, -[AM_ENABLE_STATIC(no)]) +# AC_DISABLE_STATIC - set the default static flag to --disable-static +AC_DEFUN(AC_DISABLE_STATIC, +[AC_ENABLE_STATIC(no)]) -# AM_ENABLE_STATIC - implement the --enable-static flag -# Usage: AM_ENABLE_STATIC[(DEFAULT)] +# AC_ENABLE_STATIC - implement the --enable-static flag +# Usage: AC_ENABLE_STATIC[(DEFAULT)] # Where DEFAULT is either `yes' or `no'. If omitted, it defaults to # `yes'. -AC_DEFUN(AM_ENABLE_STATIC, -[define([AM_ENABLE_STATIC_DEFAULT], ifelse($1, no, no, yes))dnl +AC_DEFUN(AC_ENABLE_STATIC, +[define([AC_ENABLE_STATIC_DEFAULT], ifelse($1, no, no, yes))dnl AC_ARG_ENABLE(static, changequote(<<, >>)dnl -<< --enable-static[=PKGS] build static libraries [default=>>AM_ENABLE_STATIC_DEFAULT], +<< --enable-static[=PKGS] build static libraries [default=>>AC_ENABLE_STATIC_DEFAULT], changequote([, ])dnl [p=${PACKAGE-default} case "$enableval" in @@ -175,12 +179,12 @@ no) enable_static=no ;; IFS="$ac_save_ifs" ;; esac], -enable_static=AM_ENABLE_STATIC_DEFAULT)dnl +enable_static=AC_ENABLE_STATIC_DEFAULT)dnl ]) -# AM_PROG_LD - find the path to the GNU or non-GNU linker -AC_DEFUN(AM_PROG_LD, +# AC_PROG_LD - find the path to the GNU or non-GNU linker +AC_DEFUN(AC_PROG_LD, [AC_ARG_WITH(gnu-ld, [ --with-gnu-ld assume the C compiler uses GNU ld [default=no]], test "$withval" = no || with_gnu_ld=yes, with_gnu_ld=no) @@ -201,15 +205,15 @@ changequote(,)dnl sub_uncdrive='s%^\([A-Za-z]\):/%//\1/%' changequote([,])dnl while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do - ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"` + ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"` done case "$host_os" in cygwin*) - # Convert to a UNC path for cygwin - test -z "$LD" && LD=`echo X$ac_prog | $Xsed -e "$sub_uncdrive"` + # Convert to a UNC path for cygwin + test -z "$LD" && LD=`echo X$ac_prog | sed -e "1s/^X//" -e "$sub_uncdrive"` ;; *) - test -z "$LD" && LD="$ac_prog" + test -z "$LD" && LD="$ac_prog" ;; esac ;; @@ -225,15 +229,15 @@ changequote(,)dnl changequote([,])dnl sub_uncdir='s%\\%/%g' while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do - ac_prog=`echo $ac_prog| sed "s%$re_direlt%\1%"` + ac_prog=`echo $ac_prog| sed "s%$re_direlt%\1%"` done case "$host_os" in cygwin*) - # Convert to a UNC path for cygwin - test -z "$LD" && LD=`echo X$ac_prog | sed -e 's%^X%%' -e "$sub_uncdrive" -e "$sub_uncdir"` + # Convert to a UNC path for cygwin + test -z "$LD" && LD=`echo X$ac_prog | sed -e 's%^X%%' -e "$sub_uncdrive" -e "$sub_uncdir"` ;; *) - test -z "$LD" && LD="$ac_prog" + test -z "$LD" && LD="$ac_prog" ;; esac ;; @@ -264,7 +268,7 @@ AC_CACHE_VAL(ac_cv_path_LD, if "$ac_cv_path_LD" -v 2>&1 < /dev/null | egrep '(GNU|with BFD)' > /dev/null; then test "$with_gnu_ld" != no && break else - test "$with_gnu_ld" != yes && break + test "$with_gnu_ld" != yes && break fi fi done @@ -280,10 +284,10 @@ else fi test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH]) AC_SUBST(LD) -AM_PROG_LD_GNU +AC_PROG_LD_GNU ]) -AC_DEFUN(AM_PROG_LD_GNU, +AC_DEFUN(AC_PROG_LD_GNU, [AC_CACHE_CHECK([if the linker ($LD) is GNU ld], ac_cv_prog_gnu_ld, [# I'd rather use --version here, but apparently some GNU ld's only accept -v. if $LD -v 2>&1 &5; then @@ -293,8 +297,8 @@ else fi]) ]) -# AM_PROG_NM - find the path to a BSD-compatible name lister -AC_DEFUN(AM_PROG_NM, +# AC_PROG_NM - find the path to a BSD-compatible name lister +AC_DEFUN(AC_PROG_NM, [AC_MSG_CHECKING([for BSD-compatible nm]) AC_CACHE_VAL(ac_cv_path_NM, [if test -n "$NM"; then @@ -302,20 +306,22 @@ AC_CACHE_VAL(ac_cv_path_NM, ac_cv_path_NM="$NM" else IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:" - for ac_dir in /usr/ucb /usr/ccs/bin $PATH /bin; do + for ac_dir in $PATH /usr/ccs/bin /usr/ucb /bin; do test -z "$ac_dir" && ac_dir=. if test -f $ac_dir/nm; then # Check to see if the nm accepts a BSD-compat flag. # Adding the `sed 1q' prevents false positives on HP-UX, which says: # nm: unknown option "B" ignored if ($ac_dir/nm -B /dev/null 2>&1 | sed '1q'; exit 0) | egrep /dev/null >/dev/null; then - ac_cv_path_NM="$ac_dir/nm -B" + ac_cv_path_NM="$ac_dir/nm -B" + break elif ($ac_dir/nm -p /dev/null 2>&1 | sed '1q'; exit 0) | egrep /dev/null >/dev/null; then - ac_cv_path_NM="$ac_dir/nm -p" + ac_cv_path_NM="$ac_dir/nm -p" + break else - ac_cv_path_NM="$ac_dir/nm" + ac_cv_path_NM=${ac_cv_path_NM="$ac_dir/nm"} # keep the first match, but + continue # so that we can try to find one that supports BSD flags fi - break fi done IFS="$ac_save_ifs" @@ -326,11 +332,11 @@ AC_MSG_RESULT([$NM]) AC_SUBST(NM) ]) -# AM_SYS_NM_PARSE - Check for command ro grab the raw symbol name followed +# AC_SYS_NM_PARSE - Check for command ro grab the raw symbol name followed # by C symbol name from nm. -AC_DEFUN(AM_SYS_NM_PARSE, +AC_DEFUN(AC_SYS_NM_PARSE, [AC_REQUIRE([AC_CANONICAL_HOST])dnl -AC_REQUIRE([AM_PROG_NM])dnl +AC_REQUIRE([AC_PROG_NM])dnl # Check for command to grab the raw symbol name followed by C symbol from nm. AC_MSG_CHECKING([command to parse $NM output]) AC_CACHE_VAL(ac_cv_sys_global_symbol_pipe, @@ -339,7 +345,7 @@ AC_CACHE_VAL(ac_cv_sys_global_symbol_pipe, changequote(,)dnl # Character class describing NM global symbol codes. -ac_symcode='[BCDEGRSTU]' +ac_symcode='[BCDEGRST]' # Regexp to match symbols that can be accessed directly from C. ac_sympat='\([_A-Za-z][_A-Za-z0-9]*\)' @@ -350,41 +356,37 @@ ac_symxfrm='\1 \1' # Define system-specific variables. case "$host_os" in aix*) - ac_symcode='[BCDTU]' + ac_symcode='[BCDT]' ;; -sunos* | cygwin32* | mingw32*) - ac_sympat='_\([_A-Za-z][_A-Za-z0-9]*\)' - ac_symxfrm='_\1 \1' +cygwin32* | mingw32*) + ac_symcode='[ABCDGISTW]' ;; irix*) - # Cannot use undefined symbols on IRIX because inlined functions mess us up. ac_symcode='[BCDEGRST]' ;; solaris*) - ac_symcode='[BDTU]' + ac_symcode='[BDT]' ;; esac # If we're using GNU nm, then use its standard symbol codes. if $NM -V 2>&1 | egrep '(GNU|with BFD)' > /dev/null; then - ac_symcode='[ABCDGISTUW]' -fi - -case "$host_os" in -cygwin32* | mingw32*) - # We do not want undefined symbols on cygwin32. The user must - # arrange to define them via -l arguments. ac_symcode='[ABCDGISTW]' - ;; -esac +fi changequote([,])dnl -# Write the raw and C identifiers. -ac_cv_sys_global_symbol_pipe="sed -n -e 's/^.* $ac_symcode $ac_sympat$/$ac_symxfrm/p'" +# Try without a prefix undercore, then with it. +for ac_symprfx in "" "_"; do -# Check to see that the pipe works correctly. -ac_pipe_works=no -cat > conftest.$ac_ext < conftest.$ac_ext < $ac_nlist) && test -s "$ac_nlist"; then - # Try sorting and uniquifying the output. - if sort "$ac_nlist" | uniq > "$ac_nlist"T; then - mv -f "$ac_nlist"T "$ac_nlist" - ac_wcout=`wc "$ac_nlist" 2>/dev/null` -changequote(,)dnl - ac_count=`echo "X$ac_wcout" | sed -e 's,^X,,' -e 's/^[ ]*\([0-9][0-9]*\).*$/\1/'` -changequote([,])dnl - (test "$ac_count" -ge 0) 2>/dev/null || ac_count=-1 - else - rm -f "$ac_nlist"T - ac_count=-1 - fi + if AC_TRY_EVAL(ac_compile); then + # Now try to grab the symbols. + ac_nlist=conftest.nm + + if AC_TRY_EVAL(NM conftest.$ac_objext \| $ac_cv_sys_global_symbol_pipe \> $ac_nlist) && test -s "$ac_nlist"; then - # Make sure that we snagged all the symbols we need. - if egrep ' nm_test_var$' "$ac_nlist" >/dev/null; then - if egrep ' nm_test_func$' "$ac_nlist" >/dev/null; then - cat < conftest.c + # Try sorting and uniquifying the output. + if sort "$ac_nlist" | uniq > "$ac_nlist"T; then + mv -f "$ac_nlist"T "$ac_nlist" + else + rm -f "$ac_nlist"T + fi + + # Make sure that we snagged all the symbols we need. + if egrep ' nm_test_var$' "$ac_nlist" >/dev/null; then + if egrep ' nm_test_func$' "$ac_nlist" >/dev/null; then + cat < conftest.c #ifdef __cplusplus extern "C" { #endif EOF - # Now generate the symbol file. - sed 's/^.* \(.*\)$/extern char \1;/' < "$ac_nlist" >> conftest.c + # Now generate the symbol file. + sed 's/^.* \(.*\)$/extern char \1;/' < "$ac_nlist" >> conftest.c - cat <> conftest.c + cat <> conftest.c #if defined (__STDC__) && __STDC__ -# define __ptr_t void * +# define lt_ptr_t void * #else -# define __ptr_t char * +# define lt_ptr_t char * +# define const #endif -/* The number of symbols in dld_preloaded_symbols, -1 if unsorted. */ -int dld_preloaded_symbol_count = $ac_count; - /* The mapping between symbol names and symbols. */ -struct { - char *name; - __ptr_t address; +const struct { + const char *name; + lt_ptr_t address; } changequote(,)dnl -dld_preloaded_symbols[] = +lt_preloaded_symbols[] = changequote([,])dnl { EOF - sed 's/^\(.*\) \(.*\)$/ {"\1", (__ptr_t) \&\2},/' < "$ac_nlist" >> conftest.c - cat <<\EOF >> conftest.c - {0, (__ptr_t) 0} + sed 's/^\(.*\) \(.*\)$/ {"\1", (lt_ptr_t) \&\2},/' < "$ac_nlist" >> conftest.c + cat <<\EOF >> conftest.c + {0, (lt_ptr_t) 0} }; #ifdef __cplusplus } #endif EOF - # Now try linking the two files. - mv conftest.$ac_objext conftestm.$ac_objext - ac_save_LIBS="$LIBS" - ac_save_CFLAGS="$CFLAGS" - LIBS="conftestm.$ac_objext" - CFLAGS="$CFLAGS$no_builtin_flag" - if AC_TRY_EVAL(ac_link) && test -s conftest; then - ac_pipe_works=yes - else - echo "configure: failed program was:" >&AC_FD_CC - cat conftest.c >&AC_FD_CC - fi - LIBS="$ac_save_LIBS" - CFLAGS="$ac_save_CFLAGS" + # Now try linking the two files. + mv conftest.$ac_objext conftestm.$ac_objext + ac_save_LIBS="$LIBS" + ac_save_CFLAGS="$CFLAGS" + LIBS="conftestm.$ac_objext" + CFLAGS="$CFLAGS$no_builtin_flag" + if AC_TRY_EVAL(ac_link) && test -s conftest; then + ac_pipe_works=yes + else + echo "configure: failed program was:" >&AC_FD_CC + cat conftest.c >&AC_FD_CC + fi + LIBS="$ac_save_LIBS" + CFLAGS="$ac_save_CFLAGS" + else + echo "cannot find nm_test_func in $ac_nlist" >&AC_FD_CC + fi else - echo "cannot find nm_test_func in $ac_nlist" >&AC_FD_CC + echo "cannot find nm_test_var in $ac_nlist" >&AC_FD_CC fi else - echo "cannot find nm_test_var in $ac_nlist" >&AC_FD_CC + echo "cannot run $ac_cv_sys_global_symbol_pipe" >&AC_FD_CC fi else - echo "cannot run $ac_cv_sys_global_symbol_pipe" >&AC_FD_CC + echo "$progname: failed program was:" >&AC_FD_CC + cat conftest.c >&AC_FD_CC fi -else - echo "$progname: failed program was:" >&AC_FD_CC - cat conftest.c >&AC_FD_CC -fi -rm -rf conftest* + rm -rf conftest* -# Do not use the global_symbol_pipe unless it works. -test "$ac_pipe_works" = yes || ac_cv_sys_global_symbol_pipe= + # Do not use the global_symbol_pipe unless it works. + if test "$ac_pipe_works" = yes; then + if test x"$ac_symprfx" = x"_"; then + ac_cv_sys_symbol_underscore=yes + else + ac_cv_sys_symbol_underscore=no + fi + break + else + ac_cv_sys_global_symbol_pipe= + fi +done ]) ac_result=yes @@ -494,17 +500,17 @@ fi AC_MSG_RESULT($ac_result) ]) -# AM_SYS_LIBTOOL_CYGWIN32 - find tools needed on cygwin32 -AC_DEFUN(AM_SYS_LIBTOOL_CYGWIN32, +# AC_SYS_LIBTOOL_CYGWIN32 - find tools needed on cygwin32 +AC_DEFUN(AC_SYS_LIBTOOL_CYGWIN32, [AC_CHECK_TOOL(DLLTOOL, dlltool, false) AC_CHECK_TOOL(AS, as, false) ]) -# AM_SYS_SYMBOL_UNDERSCORE - does the compiler prefix global symbols +# AC_SYS_SYMBOL_UNDERSCORE - does the compiler prefix global symbols # with an underscore? -AC_DEFUN(AM_SYS_SYMBOL_UNDERSCORE, -[AC_REQUIRE([AM_PROG_NM])dnl -AC_REQUIRE([AM_SYS_NM_PARSE])dnl +AC_DEFUN(AC_SYS_SYMBOL_UNDERSCORE, +[AC_REQUIRE([AC_PROG_NM])dnl +AC_REQUIRE([AC_SYS_NM_PARSE])dnl AC_MSG_CHECKING([for _ prefix in compiled symbols]) AC_CACHE_VAL(ac_cv_sys_symbol_underscore, [ac_cv_sys_symbol_underscore=no @@ -521,9 +527,9 @@ if AC_TRY_EVAL(ac_compile); then ac_cv_sys_symbol_underscore=yes else if egrep '^nm_test_func ' "$ac_nlist" >/dev/null; then - : + : else - echo "configure: cannot find nm_test_func in $ac_nlist" >&AC_FD_CC + echo "configure: cannot find nm_test_func in $ac_nlist" >&AC_FD_CC fi fi else @@ -536,8 +542,18 @@ fi rm -rf conftest* ]) AC_MSG_RESULT($ac_cv_sys_symbol_underscore) -if test x$ac_cv_sys_symbol_underscore = xyes; then - AC_DEFINE(WITH_SYMBOL_UNDERSCORE,1, - [define if compiled symbols have a leading underscore]) -fi +USE_SYMBOL_UNDERSCORE=${ac_cv_sys_symbol_underscore=no} +AC_SUBST(USE_SYMBOL_UNDERSCORE)dnl ]) + +dnl old names +AC_DEFUN(AM_PROG_LIBTOOL, [indir([AC_PROG_LIBTOOL])])dnl +AC_DEFUN(AM_ENABLE_SHARED, [indir([AC_ENABLE_SHARED], $@)])dnl +AC_DEFUN(AM_ENABLE_STATIC, [indir([AC_ENABLE_STATIC], $@)])dnl +AC_DEFUN(AM_DISABLE_SHARED, [indir([AC_DISABLE_SHARED], $@)])dnl +AC_DEFUN(AM_DISABLE_STATIC, [indir([AC_DISABLE_STATIC], $@)])dnl +AC_DEFUN(AM_PROG_LD, [indir([AC_PROG_LD])])dnl +AC_DEFUN(AM_PROG_NM, [indir([AC_PROG_NM])])dnl +AC_DEFUN(AM_SYS_NM_PARSE, [indir([AC_SYS_NM_PARSE])])dnl +AC_DEFUN(AM_SYS_SYMBOL_UNDERSCORE, [indir([AC_SYS_SYMBOL_UNDERSCORE])])dnl +AC_DEFUN(AM_SYS_LIBTOOL_CYGWIN32, [indir([AC_SYS_LIBTOOL_CYGWIN32])])dnl diff --git a/app/core/gimpdatafiles.c b/app/core/gimpdatafiles.c index a8b3fd8052..da558448b9 100644 --- a/app/core/gimpdatafiles.c +++ b/app/core/gimpdatafiles.c @@ -63,7 +63,7 @@ datafiles_read_directories (char *path_str, /* Set local path to contain temp_path, where (supposedly) * there may be working files. */ - home = getenv("HOME"); + home = g_get_home_dir (); local_path = g_strdup (path_str); /* Search through all directories in the local path */ diff --git a/app/core/gimpdrawable-invert.c b/app/core/gimpdrawable-invert.c index 89955d8056..ee688c9336 100644 --- a/app/core/gimpdrawable-invert.c +++ b/app/core/gimpdrawable-invert.c @@ -31,15 +31,12 @@ static Argument * invert_invoker (Argument *); void -image_invert (gimage_ptr) - void *gimage_ptr; +image_invert (GImage *gimage) { - GImage *gimage; GimpDrawable *drawable; Argument *return_vals; int nreturn_vals; - gimage = (GImage *) gimage_ptr; drawable = gimage_active_drawable (gimage); if (drawable_indexed (drawable)) @@ -63,8 +60,7 @@ image_invert (gimage_ptr) /* Inverter */ static void -invert (drawable) - GimpDrawable *drawable; +invert (GimpDrawable *drawable) { PixelRegion srcPR, destPR; unsigned char *src, *s; diff --git a/app/core/gimpdrawable-invert.h b/app/core/gimpdrawable-invert.h index 1180abf3a2..d28a043f81 100644 --- a/app/core/gimpdrawable-invert.h +++ b/app/core/gimpdrawable-invert.h @@ -18,10 +18,11 @@ #ifndef __INVERT_H__ #define __INVERT_H__ +#include "gimage.h" #include "procedural_db.h" /* invert functions */ -void image_invert (void *); +void image_invert (GImage *); /* Procedure definition and marshalling function */ extern ProcRecord invert_proc; diff --git a/app/datafiles.c b/app/datafiles.c index a8b3fd8052..da558448b9 100644 --- a/app/datafiles.c +++ b/app/datafiles.c @@ -63,7 +63,7 @@ datafiles_read_directories (char *path_str, /* Set local path to contain temp_path, where (supposedly) * there may be working files. */ - home = getenv("HOME"); + home = g_get_home_dir (); local_path = g_strdup (path_str); /* Search through all directories in the local path */ diff --git a/app/docindex.c b/app/docindex.c index 471c1cb0c5..e8217c70b2 100644 --- a/app/docindex.c +++ b/app/docindex.c @@ -217,7 +217,7 @@ load_idea_manager( idea_manager *ideas ) if ( ! idea_list ) { - home_dir = getenv( "HOME" ); + home_dir = g_get_home_dir(); /* open persistant desktop file. */ desktopfile = append2( home_dir, FALSE, IDEAPATH, FALSE ); @@ -292,7 +292,7 @@ save_idea_manager( idea_manager *ideas ) gchar *desktopfile; gchar *home_dir; - home_dir = getenv( "HOME" ); + home_dir = g_get_home_dir(); /* open persistant desktop file. */ desktopfile = append2( home_dir, FALSE, IDEAPATH, FALSE ); @@ -436,7 +436,7 @@ static void idea_add_in_position_with_select( gchar *title, gint position, gbool gchar *desktopfile; gchar *home_dir; - home_dir = getenv( "HOME" ); + home_dir = g_get_home_dir(); /* open persistant desktop file. */ desktopfile = append2( home_dir, FALSE, IDEAPATH, FALSE ); diff --git a/app/fileops.c b/app/fileops.c index adee67d395..a89d4f5eff 100644 --- a/app/fileops.c +++ b/app/fileops.c @@ -868,7 +868,9 @@ file_save (GimpImage* gimage, attention --Adam */ /* gimage_set_save_proc(gimage, file_proc); */ +#ifdef __GNUC__ #warning CRUFTY THUMBNAIL SAVING +#endif /* If you have problems, blame Adam... not quite finished. */ { TempBuf* tempbuf; diff --git a/app/gimpdrawable-invert.c b/app/gimpdrawable-invert.c index 89955d8056..ee688c9336 100644 --- a/app/gimpdrawable-invert.c +++ b/app/gimpdrawable-invert.c @@ -31,15 +31,12 @@ static Argument * invert_invoker (Argument *); void -image_invert (gimage_ptr) - void *gimage_ptr; +image_invert (GImage *gimage) { - GImage *gimage; GimpDrawable *drawable; Argument *return_vals; int nreturn_vals; - gimage = (GImage *) gimage_ptr; drawable = gimage_active_drawable (gimage); if (drawable_indexed (drawable)) @@ -63,8 +60,7 @@ image_invert (gimage_ptr) /* Inverter */ static void -invert (drawable) - GimpDrawable *drawable; +invert (GimpDrawable *drawable) { PixelRegion srcPR, destPR; unsigned char *src, *s; diff --git a/app/gimpdrawable-invert.h b/app/gimpdrawable-invert.h index 1180abf3a2..d28a043f81 100644 --- a/app/gimpdrawable-invert.h +++ b/app/gimpdrawable-invert.h @@ -18,10 +18,11 @@ #ifndef __INVERT_H__ #define __INVERT_H__ +#include "gimage.h" #include "procedural_db.h" /* invert functions */ -void image_invert (void *); +void image_invert (GImage *); /* Procedure definition and marshalling function */ extern ProcRecord invert_proc; diff --git a/app/gimprc.c b/app/gimprc.c index eccc9ad95f..1e4a1508d8 100644 --- a/app/gimprc.c +++ b/app/gimprc.c @@ -293,7 +293,7 @@ gimp_directory () return gimp_dir; env_gimp_dir = getenv ("GIMP_DIRECTORY"); - env_home_dir = getenv ("HOME"); + env_home_dir = g_get_home_dir (); if (NULL != env_home_dir) len_env_home_dir = strlen (env_home_dir); @@ -386,7 +386,7 @@ parse_gimprc_file (char *filename) if (filename[0] != '/') { if (!home_dir) - home_dir = g_strdup (getenv ("HOME")); + home_dir = g_strdup (g_get_home_dir ()); g_snprintf (rfilename, MAXPATHLEN, "%s/%s", home_dir, filename); filename = rfilename; } @@ -1457,7 +1457,7 @@ transform_path (char *path, int is_env; UnknownToken *ut; - home = getenv ("HOME"); + home = g_get_home_dir (); length = 0; substituted = FALSE; is_env = FALSE; diff --git a/app/gradient.c b/app/gradient.c index e871efee30..603abfb0b6 100644 --- a/app/gradient.c +++ b/app/gradient.c @@ -5967,7 +5967,7 @@ build_user_filename(char *name, char *path_str) /* Get the first path specified in the list */ - home = getenv("HOME"); + home = g_get_home_dir (); local_path = g_strdup(path_str); first_token = local_path; token = xstrsep(&first_token, ":"); diff --git a/app/gradient_editor.c b/app/gradient_editor.c index e871efee30..603abfb0b6 100644 --- a/app/gradient_editor.c +++ b/app/gradient_editor.c @@ -5967,7 +5967,7 @@ build_user_filename(char *name, char *path_str) /* Get the first path specified in the list */ - home = getenv("HOME"); + home = g_get_home_dir (); local_path = g_strdup(path_str); first_token = local_path; token = xstrsep(&first_token, ":"); diff --git a/app/gui/gradient-editor.c b/app/gui/gradient-editor.c index e871efee30..603abfb0b6 100644 --- a/app/gui/gradient-editor.c +++ b/app/gui/gradient-editor.c @@ -5967,7 +5967,7 @@ build_user_filename(char *name, char *path_str) /* Get the first path specified in the list */ - home = getenv("HOME"); + home = g_get_home_dir (); local_path = g_strdup(path_str); first_token = local_path; token = xstrsep(&first_token, ":"); diff --git a/app/gui/menus.c b/app/gui/menus.c index 21a9c6401c..99b72d75e8 100644 --- a/app/gui/menus.c +++ b/app/gui/menus.c @@ -39,7 +39,7 @@ #define MRU_MENU_ENTRY_SIZE (strlen (_("/File/MRU00 ")) + 1) #define MRU_MENU_ACCEL_SIZE sizeof ("0") -static char* dummyMRU = N_("/File/MRU00 "); +static G_GNUC_UNUSED char* dummyMRU = N_("/File/MRU00 "); static void menus_init (void); static GtkItemFactoryEntry * translate_entries (const GtkItemFactoryEntry *, gint); @@ -66,7 +66,7 @@ static const GtkItemFactoryEntry toolbox_entries[] = { N_("/File/Dialogs/Document Index..."), NULL, raise_idea_callback, 0 }, { N_("/File/Dialogs/Error Console..."), NULL, dialogs_error_console_cmd_callback, 0 }, { N_("/File/Dialogs/Module Browser..."), NULL, dialogs_module_browser_cmd_callback, 0 }, - { N_("/File/---"), NULL, NULL, 0, "" }, + { N_("/File/---"), NULL, NULL, 0, "" } }; static guint n_toolbox_entries = sizeof (toolbox_entries) / sizeof (toolbox_entries[0]); static GtkItemFactory *toolbox_factory = NULL; diff --git a/app/gui/palette-editor.c b/app/gui/palette-editor.c index ff6c9fe6c8..1c2cea155b 100644 --- a/app/gui/palette-editor.c +++ b/app/gui/palette-editor.c @@ -1254,7 +1254,7 @@ palette_create_entries(gpointer client_data, if (palette_path) { /* Get the first path specified in the palette path list */ - home = getenv("HOME"); + home = g_get_home_dir (); local_path = g_strdup (palette_path); first_token = local_path; token = xstrsep(&first_token, ":"); diff --git a/app/invert.c b/app/invert.c index 89955d8056..ee688c9336 100644 --- a/app/invert.c +++ b/app/invert.c @@ -31,15 +31,12 @@ static Argument * invert_invoker (Argument *); void -image_invert (gimage_ptr) - void *gimage_ptr; +image_invert (GImage *gimage) { - GImage *gimage; GimpDrawable *drawable; Argument *return_vals; int nreturn_vals; - gimage = (GImage *) gimage_ptr; drawable = gimage_active_drawable (gimage); if (drawable_indexed (drawable)) @@ -63,8 +60,7 @@ image_invert (gimage_ptr) /* Inverter */ static void -invert (drawable) - GimpDrawable *drawable; +invert (GimpDrawable *drawable) { PixelRegion srcPR, destPR; unsigned char *src, *s; diff --git a/app/invert.h b/app/invert.h index 1180abf3a2..d28a043f81 100644 --- a/app/invert.h +++ b/app/invert.h @@ -18,10 +18,11 @@ #ifndef __INVERT_H__ #define __INVERT_H__ +#include "gimage.h" #include "procedural_db.h" /* invert functions */ -void image_invert (void *); +void image_invert (GImage *); /* Procedure definition and marshalling function */ extern ProcRecord invert_proc; diff --git a/app/menus.c b/app/menus.c index 21a9c6401c..99b72d75e8 100644 --- a/app/menus.c +++ b/app/menus.c @@ -39,7 +39,7 @@ #define MRU_MENU_ENTRY_SIZE (strlen (_("/File/MRU00 ")) + 1) #define MRU_MENU_ACCEL_SIZE sizeof ("0") -static char* dummyMRU = N_("/File/MRU00 "); +static G_GNUC_UNUSED char* dummyMRU = N_("/File/MRU00 "); static void menus_init (void); static GtkItemFactoryEntry * translate_entries (const GtkItemFactoryEntry *, gint); @@ -66,7 +66,7 @@ static const GtkItemFactoryEntry toolbox_entries[] = { N_("/File/Dialogs/Document Index..."), NULL, raise_idea_callback, 0 }, { N_("/File/Dialogs/Error Console..."), NULL, dialogs_error_console_cmd_callback, 0 }, { N_("/File/Dialogs/Module Browser..."), NULL, dialogs_module_browser_cmd_callback, 0 }, - { N_("/File/---"), NULL, NULL, 0, "" }, + { N_("/File/---"), NULL, NULL, 0, "" } }; static guint n_toolbox_entries = sizeof (toolbox_entries) / sizeof (toolbox_entries[0]); static GtkItemFactory *toolbox_factory = NULL; diff --git a/app/menus/menus.c b/app/menus/menus.c index 21a9c6401c..99b72d75e8 100644 --- a/app/menus/menus.c +++ b/app/menus/menus.c @@ -39,7 +39,7 @@ #define MRU_MENU_ENTRY_SIZE (strlen (_("/File/MRU00 ")) + 1) #define MRU_MENU_ACCEL_SIZE sizeof ("0") -static char* dummyMRU = N_("/File/MRU00 "); +static G_GNUC_UNUSED char* dummyMRU = N_("/File/MRU00 "); static void menus_init (void); static GtkItemFactoryEntry * translate_entries (const GtkItemFactoryEntry *, gint); @@ -66,7 +66,7 @@ static const GtkItemFactoryEntry toolbox_entries[] = { N_("/File/Dialogs/Document Index..."), NULL, raise_idea_callback, 0 }, { N_("/File/Dialogs/Error Console..."), NULL, dialogs_error_console_cmd_callback, 0 }, { N_("/File/Dialogs/Module Browser..."), NULL, dialogs_module_browser_cmd_callback, 0 }, - { N_("/File/---"), NULL, NULL, 0, "" }, + { N_("/File/---"), NULL, NULL, 0, "" } }; static guint n_toolbox_entries = sizeof (toolbox_entries) / sizeof (toolbox_entries[0]); static GtkItemFactory *toolbox_factory = NULL; diff --git a/app/palette.c b/app/palette.c index ff6c9fe6c8..1c2cea155b 100644 --- a/app/palette.c +++ b/app/palette.c @@ -1254,7 +1254,7 @@ palette_create_entries(gpointer client_data, if (palette_path) { /* Get the first path specified in the palette path list */ - home = getenv("HOME"); + home = g_get_home_dir (); local_path = g_strdup (palette_path); first_token = local_path; token = xstrsep(&first_token, ":"); diff --git a/app/widgets/gimpgradienteditor.c b/app/widgets/gimpgradienteditor.c index e871efee30..603abfb0b6 100644 --- a/app/widgets/gimpgradienteditor.c +++ b/app/widgets/gimpgradienteditor.c @@ -5967,7 +5967,7 @@ build_user_filename(char *name, char *path_str) /* Get the first path specified in the list */ - home = getenv("HOME"); + home = g_get_home_dir (); local_path = g_strdup(path_str); first_token = local_path; token = xstrsep(&first_token, ":"); diff --git a/app/widgets/gimpitemfactory.c b/app/widgets/gimpitemfactory.c index 21a9c6401c..99b72d75e8 100644 --- a/app/widgets/gimpitemfactory.c +++ b/app/widgets/gimpitemfactory.c @@ -39,7 +39,7 @@ #define MRU_MENU_ENTRY_SIZE (strlen (_("/File/MRU00 ")) + 1) #define MRU_MENU_ACCEL_SIZE sizeof ("0") -static char* dummyMRU = N_("/File/MRU00 "); +static G_GNUC_UNUSED char* dummyMRU = N_("/File/MRU00 "); static void menus_init (void); static GtkItemFactoryEntry * translate_entries (const GtkItemFactoryEntry *, gint); @@ -66,7 +66,7 @@ static const GtkItemFactoryEntry toolbox_entries[] = { N_("/File/Dialogs/Document Index..."), NULL, raise_idea_callback, 0 }, { N_("/File/Dialogs/Error Console..."), NULL, dialogs_error_console_cmd_callback, 0 }, { N_("/File/Dialogs/Module Browser..."), NULL, dialogs_module_browser_cmd_callback, 0 }, - { N_("/File/---"), NULL, NULL, 0, "" }, + { N_("/File/---"), NULL, NULL, 0, "" } }; static guint n_toolbox_entries = sizeof (toolbox_entries) / sizeof (toolbox_entries[0]); static GtkItemFactory *toolbox_factory = NULL; diff --git a/app/widgets/gimppaletteeditor.c b/app/widgets/gimppaletteeditor.c index ff6c9fe6c8..1c2cea155b 100644 --- a/app/widgets/gimppaletteeditor.c +++ b/app/widgets/gimppaletteeditor.c @@ -1254,7 +1254,7 @@ palette_create_entries(gpointer client_data, if (palette_path) { /* Get the first path specified in the palette path list */ - home = getenv("HOME"); + home = g_get_home_dir (); local_path = g_strdup (palette_path); first_token = local_path; token = xstrsep(&first_token, ":"); diff --git a/config.guess b/config.guess index 1ec70cc19e..6010014b15 100755 --- a/config.guess +++ b/config.guess @@ -23,6 +23,7 @@ # Written by Per Bothner . # The master version of this file is at the FSF in /home/gd/gnu/lib. +# Please send patches to the Autoconf mailing list . # # This script attempts to guess a canonical system name similar to # config.sub. If it succeeds, it prints the system name on stdout, and @@ -46,7 +47,8 @@ UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown -trap 'rm -f dummy.c dummy.o dummy; exit 1' 1 2 15 +dummy=dummy-$$ +trap 'rm -f $dummy.c $dummy.o $dummy; exit 1' 1 2 15 # Note: order is significant - the case branches are not exclusive. @@ -59,7 +61,7 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in # A Tn.n version is a released field test version. # A Xn.n version is an unreleased experimental baselevel. # 1.2 uses "1.2" for uname -r. - cat <dummy.s + cat <$dummy.s .globl main .ent main main: @@ -76,9 +78,9 @@ main: ret \$31,(\$26),1 .end main EOF - ${CC-cc} dummy.s -o dummy 2>/dev/null + ${CC-cc} $dummy.s -o $dummy 2>/dev/null if test "$?" = 0 ; then - ./dummy + ./$dummy case "$?" in 7) UNAME_MACHINE="alpha" @@ -97,7 +99,7 @@ EOF ;; esac fi - rm -f dummy.s dummy + rm -f $dummy.s $dummy echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[VTX]//' | tr [[A-Z]] [[a-z]]` exit 0 ;; 21064:Windows_NT:50:3) @@ -150,7 +152,7 @@ EOF echo pyramid-pyramid-bsd fi exit 0 ;; - NILE:*:*:dcosx) + NILE*:*:*:dcosx) echo pyramid-pyramid-svr4 exit 0 ;; sun4H:SunOS:5.*:*) @@ -238,7 +240,7 @@ EOF echo clipper-intergraph-clix${UNAME_RELEASE} exit 0 ;; mips:*:*:UMIPS | mips:*:*:RISCos) - sed 's/^ //' << EOF >dummy.c + sed 's/^ //' << EOF >$dummy.c int main (argc, argv) int argc; char **argv; { #if defined (host_mips) && defined (MIPSEB) #if defined (SYSTYPE_SYSV) @@ -254,10 +256,10 @@ EOF exit (-1); } EOF - ${CC-cc} dummy.c -o dummy \ - && ./dummy `echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` \ - && rm dummy.c dummy && exit 0 - rm -f dummy.c dummy + ${CC-cc} $dummy.c -o $dummy \ + && ./$dummy `echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` \ + && rm $dummy.c $dummy && exit 0 + rm -f $dummy.c $dummy echo mips-mips-riscos${UNAME_RELEASE} exit 0 ;; Night_Hawk:Power_UNIX:*:*) @@ -309,7 +311,7 @@ EOF exit 0 ;; *:AIX:2:3) if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then - sed 's/^ //' << EOF >dummy.c + sed 's/^ //' << EOF >$dummy.c #include main() @@ -320,8 +322,8 @@ EOF exit(0); } EOF - ${CC-cc} dummy.c -o dummy && ./dummy && rm dummy.c dummy && exit 0 - rm -f dummy.c dummy + ${CC-cc} $dummy.c -o $dummy && ./$dummy && rm $dummy.c $dummy && exit 0 + rm -f $dummy.c $dummy echo rs6000-ibm-aix3.2.5 elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then echo rs6000-ibm-aix3.2.4 @@ -369,24 +371,24 @@ EOF 9000/31? ) HP_ARCH=m68000 ;; 9000/[34]?? ) HP_ARCH=m68k ;; 9000/6?? | 9000/7?? | 9000/80[24] | 9000/8?[13679] | 9000/892 ) - sed 's/^ //' << EOF >dummy.c + sed 's/^ //' << EOF >$dummy.c #include #include - + int main () { #if defined(_SC_KERNEL_BITS) long bits = sysconf(_SC_KERNEL_BITS); - #endif + #endif long cpu = sysconf (_SC_CPU_VERSION); - - switch (cpu) + + switch (cpu) { case CPU_PA_RISC1_0: puts ("hppa1.0"); break; case CPU_PA_RISC1_1: puts ("hppa1.1"); break; - case CPU_PA_RISC2_0: + case CPU_PA_RISC2_0: #if defined(_SC_KERNEL_BITS) - switch (bits) + switch (bits) { case 64: puts ("hppa2.0w"); break; case 32: puts ("hppa2.0n"); break; @@ -394,20 +396,20 @@ EOF } break; #else /* !defined(_SC_KERNEL_BITS) */ puts ("hppa2.0"); break; - #endif + #endif default: puts ("hppa1.0"); break; } exit (0); } EOF - (${CC-cc} dummy.c -o dummy 2>/dev/null ) && HP_ARCH=`./dummy` - rm -f dummy.c dummy + (${CC-cc} $dummy.c -o $dummy 2>/dev/null ) && HP_ARCH=`./$dummy` + rm -f $dummy.c $dummy esac HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` echo ${HP_ARCH}-hp-hpux${HPUX_REV} exit 0 ;; 3050*:HI-UX:*:*) - sed 's/^ //' << EOF >dummy.c + sed 's/^ //' << EOF >$dummy.c #include int main () @@ -432,8 +434,8 @@ EOF exit (0); } EOF - ${CC-cc} dummy.c -o dummy && ./dummy && rm dummy.c dummy && exit 0 - rm -f dummy.c dummy + ${CC-cc} $dummy.c -o $dummy && ./$dummy && rm $dummy.c $dummy && exit 0 + rm -f $dummy.c $dummy echo unknown-hitachi-hiuxwe2 exit 0 ;; 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* ) @@ -490,6 +492,9 @@ EOF CRAY*TS:*:*:*) echo t90-cray-unicos${UNAME_RELEASE} exit 0 ;; + CRAY*T3E:*:*:*) + echo t3e-cray-unicosmk${UNAME_RELEASE} + exit 0 ;; CRAY-2:*:*:*) echo cray2-cray-unicos exit 0 ;; @@ -510,9 +515,12 @@ EOF sparc*:BSD/OS:*:*) echo sparc-unknown-bsdi${UNAME_RELEASE} exit 0 ;; - i?86:BSD/386:*:* | *:BSD/OS:*:*) + i?86:BSD/386:*:* | i?86:BSD/OS:*:*) echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE} exit 0 ;; + *:BSD/OS:*:*) + echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE} + exit 0 ;; *:FreeBSD:*:*) echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` exit 0 ;; @@ -523,13 +531,13 @@ EOF echo ${UNAME_MACHINE}-unknown-openbsd`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'` exit 0 ;; i*:CYGWIN*:*) - echo ${UNAME_MACHINE}-pc-cygwin32 + echo ${UNAME_MACHINE}-pc-cygwin exit 0 ;; i*:MINGW*:*) echo ${UNAME_MACHINE}-pc-mingw32 exit 0 ;; p*:CYGWIN*:*) - echo powerpcle-unknown-cygwin32 + echo powerpcle-unknown-cygwin exit 0 ;; prep*:SunOS:5.*:*) echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` @@ -541,6 +549,7 @@ EOF # uname on the ARM produces all sorts of strangeness, and we need to # filter it out. case "$UNAME_MACHINE" in + armv*) ;; arm* | sa110*) UNAME_MACHINE="arm" ;; esac @@ -563,7 +572,7 @@ EOF esac if test "${UNAME_MACHINE}" = "alpha" ; then - sed 's/^ //' <dummy.s + sed 's/^ //' <$dummy.s .globl main .ent main main: @@ -581,9 +590,9 @@ EOF .end main EOF LIBC="" - ${CC-cc} dummy.s -o dummy 2>/dev/null + ${CC-cc} $dummy.s -o $dummy 2>/dev/null if test "$?" = 0 ; then - ./dummy + ./$dummy case "$?" in 7) UNAME_MACHINE="alpha" @@ -600,18 +609,18 @@ EOF 16) UNAME_MACHINE="alphaev6" ;; - esac + esac - objdump --private-headers dummy | \ + objdump --private-headers $dummy | \ grep ld.so.1 > /dev/null if test "$?" = 0 ; then LIBC="libc1" fi - fi - rm -f dummy.s dummy + fi + rm -f $dummy.s $dummy echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC} ; exit 0 elif test "${UNAME_MACHINE}" = "mips" ; then - cat >dummy.c <$dummy.c </dev/null && ./dummy "${UNAME_MACHINE}" && rm dummy.c dummy && exit 0 - rm -f dummy.c dummy + ${CC-cc} $dummy.c -o $dummy 2>/dev/null && ./$dummy "${UNAME_MACHINE}" && rm $dummy.c $dummy && exit 0 + rm -f $dummy.c $dummy else # Either a pre-BFD a.out linker (linux-gnuoldld) # or one that does not give us useful --help. @@ -645,7 +654,7 @@ EOF ;; esac # Determine whether the default compiler is a.out or elf - cat >dummy.c <$dummy.c < main(argc, argv) int argc; @@ -667,8 +676,8 @@ main(argc, argv) return 0; } EOF - ${CC-cc} dummy.c -o dummy 2>/dev/null && ./dummy "${UNAME_MACHINE}" && rm dummy.c dummy && exit 0 - rm -f dummy.c dummy + ${CC-cc} $dummy.c -o $dummy 2>/dev/null && ./$dummy "${UNAME_MACHINE}" && rm $dummy.c $dummy && exit 0 + rm -f $dummy.c $dummy fi ;; # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. earlier versions # are messed up and put the nodename in both sysname and nodename. @@ -810,12 +819,24 @@ EOF BePC:BeOS:*:*) # BeOS running on Intel PC compatible. echo i586-pc-beos exit 0 ;; + SX-4:SUPER-UX:*:*) + echo sx4-nec-superux${UNAME_RELEASE} + exit 0 ;; + SX-5:SUPER-UX:*:*) + echo sx5-nec-superux${UNAME_RELEASE} + exit 0 ;; + Power*:Rhapsody:*:*) + echo powerpc-apple-rhapsody${UNAME_RELEASE} + exit 0 ;; + *:Rhapsody:*:*) + echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE} + exit 0 ;; esac #echo '(No uname command or uname output not recognized.)' 1>&2 #echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2 -cat >dummy.c <$dummy.c < # include @@ -853,7 +874,10 @@ main () #endif int version; version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`; - printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version); + if (version < 4) + printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version); + else + printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version); exit (0); #endif @@ -913,8 +937,8 @@ main () } EOF -${CC-cc} dummy.c -o dummy 2>/dev/null && ./dummy && rm dummy.c dummy && exit 0 -rm -f dummy.c dummy +${CC-cc} $dummy.c -o $dummy 2>/dev/null && ./$dummy && rm $dummy.c $dummy && exit 0 +rm -f $dummy.c $dummy # Apollos put the system type in the environment. diff --git a/config.sub b/config.sub index f791166458..8e0adacb9b 100755 --- a/config.sub +++ b/config.sub @@ -152,10 +152,11 @@ case $basic_machine in tahoe | i860 | m32r | m68k | m68000 | m88k | ns32k | arc | arm \ | arme[lb] | pyramid | mn10200 | mn10300 | tron | a29k \ | 580 | i960 | h8300 | hppa | hppa1.0 | hppa1.1 | hppa2.0 \ - | alpha | alphaev5 | alphaev56 | we32k | ns16k | clipper \ + | alpha | alphaev5 | alphaev56 | alphapca56 | alphaev6 \ + | alphapca57 | alphaev7 | we32k | ns16k | clipper \ | i370 | sh | powerpc | powerpcle | 1750a | dsp16xx | pdp11 \ | mips64 | mipsel | mips64el | mips64orion | mips64orionel \ - | mipstx39 | mipstx39el \ + | mipstx39 | mipstx39el | armv[34][lb] \ | sparc | sparclet | sparclite | sparc64 | v850) basic_machine=$basic_machine-unknown ;; @@ -176,13 +177,14 @@ case $basic_machine in | mips-* | pyramid-* | tron-* | a29k-* | romp-* | rs6000-* \ | power-* | none-* | 580-* | cray2-* | h8300-* | i960-* \ | xmp-* | ymp-* | hppa-* | hppa1.0-* | hppa1.1-* | hppa2.0-* \ - | alpha-* | alphaev5-* | alphaev56-* | we32k-* | cydra-* \ + | alpha-* | alphaev5-* | alphaev56-* | alphapca56-* \ + | alphaev6-* | alphapca57-* | alphaev7-* | we32k-* | cydra-* \ | ns16k-* | pn-* | np1-* | xps100-* | clipper-* | orion-* \ | sparclite-* | pdp11-* | sh-* | powerpc-* | powerpcle-* \ - | sparc64-* | mips64-* | mipsel-* \ + | sparc64-* | mips64-* | mipsel-* | armv[34][lb]-* \ | mips64el-* | mips64orion-* | mips64orionel-* \ | mipstx39-* | mipstx39el-* \ - | f301-*) + | f301-* | armv*-*) ;; # Recognize the various machine names and aliases which stand # for a CPU type and a company and sometimes even an OS. @@ -412,6 +414,10 @@ case $basic_machine in basic_machine=i486-ncr os=-sysv4 ;; + netwinder) + basic_machine=armv4l-corel + os=-linux + ;; news | news700 | news800 | news900) basic_machine=m68k-sony os=-newsos @@ -713,8 +719,9 @@ case $os in | -lynxos* | -bosx* | -nextstep* | -cxux* | -aout* | -elf* \ | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ - | -cygwin32* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ - | -mingw32* | -linux-gnu* | -uxpv* | -beos*) + | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ + | -mingw32* | -linux-gnu* | -uxpv* | -beos* | -rhapsody* \ + | -openstep*) # Remember, each alternative MUST END IN *, to match a version number. ;; -linux*) @@ -800,6 +807,9 @@ case $basic_machine in *-acorn) os=-riscix1.2 ;; + arm*-corel) + os=-linux + ;; arm*-semi) os=-aout ;; diff --git a/libgimp/gimp.c b/libgimp/gimp.c index 8c1df8d68e..704944169b 100644 --- a/libgimp/gimp.c +++ b/libgimp/gimp.c @@ -886,7 +886,7 @@ gimp_gtkrc () static char filename[MAXPATHLEN]; char *home_dir; - home_dir = getenv ("HOME"); + home_dir = g_get_home_dir (); if (!home_dir) return NULL; diff --git a/libgimp/gimpparasite.c b/libgimp/gimpparasite.c index 20f5a90fb5..39ce7597a2 100644 --- a/libgimp/gimpparasite.c +++ b/libgimp/gimpparasite.c @@ -49,7 +49,7 @@ parasite_new (const char *name, guint32 flags, guint32 size, const void *data) { Parasite *p; - p = (Parasite *)g_malloc(sizeof(Parasite)); + p = g_new (Parasite, 1); if (name) p->name = g_strdup(name); else diff --git a/libgimp/parasite.c b/libgimp/parasite.c index 20f5a90fb5..39ce7597a2 100644 --- a/libgimp/parasite.c +++ b/libgimp/parasite.c @@ -49,7 +49,7 @@ parasite_new (const char *name, guint32 flags, guint32 size, const void *data) { Parasite *p; - p = (Parasite *)g_malloc(sizeof(Parasite)); + p = g_new (Parasite, 1); if (name) p->name = g_strdup(name); else diff --git a/libgimpbase/gimpdatafiles.c b/libgimpbase/gimpdatafiles.c index a8b3fd8052..da558448b9 100644 --- a/libgimpbase/gimpdatafiles.c +++ b/libgimpbase/gimpdatafiles.c @@ -63,7 +63,7 @@ datafiles_read_directories (char *path_str, /* Set local path to contain temp_path, where (supposedly) * there may be working files. */ - home = getenv("HOME"); + home = g_get_home_dir (); local_path = g_strdup (path_str); /* Search through all directories in the local path */ diff --git a/libgimpbase/gimpparasite.c b/libgimpbase/gimpparasite.c index 20f5a90fb5..39ce7597a2 100644 --- a/libgimpbase/gimpparasite.c +++ b/libgimpbase/gimpparasite.c @@ -49,7 +49,7 @@ parasite_new (const char *name, guint32 flags, guint32 size, const void *data) { Parasite *p; - p = (Parasite *)g_malloc(sizeof(Parasite)); + p = g_new (Parasite, 1); if (name) p->name = g_strdup(name); else diff --git a/ltconfig b/ltconfig index 8e8deafd32..746324bf1b 100755 --- a/ltconfig +++ b/ltconfig @@ -1,7 +1,7 @@ #! /bin/sh # ltconfig - Create a system-specific libtool. -# Copyright (C) 1996-1998 Free Software Foundation, Inc. +# Copyright (C) 1996-1999 Free Software Foundation, Inc. # Gordon Matzigkeit , 1996 # # This file is free software; you can redistribute it and/or modify it @@ -46,6 +46,16 @@ else exec "$SHELL" "$0" --no-reexec ${1+"$@"} fi +# Find the correct PATH separator. Usually this is `:', but +# DJGPP uses `;' like DOS. +if test "X${PATH_SEPARATOR+set}" != "Xset"; then + UNAME=${UNAME-`uname 2>/dev/null`} + case X$UNAME in + *-DOS) PATH_SEPARATOR=';' ;; + *) PATH_SEPARATOR=':' ;; + esac +fi + # The HP-UX ksh and POSIX shell print the target directory to stdout # if CDPATH is set. if test "${CDPATH+set}" = set; then CDPATH=; export CDPATH; fi @@ -70,7 +80,7 @@ if test "X`($echo '\t') 2>/dev/null`" != 'X\t' || # # So, first we look for a working echo in the user's PATH. - IFS="${IFS= }"; save_ifs="$IFS"; IFS="${IFS}:" + IFS="${IFS= }"; save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR}" for dir in $PATH /usr/ucb; do if test -f $dir/echo && test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' && @@ -96,10 +106,10 @@ if test "X`($echo '\t') 2>/dev/null`" != 'X\t' || exec "$CONFIG_SHELL" "$0" --no-reexec ${1+"$@"} else # Try using printf. - echo='printf %s\n' + echo='printf "%s\n"' if test "X`($echo '\t') 2>/dev/null`" = 'X\t' && - test "X`($echo "$echo_test_string") 2>/dev/null`" = X"$echo_test_string"; then - # Cool, printf works + test "X`($echo "$echo_test_string") 2>/dev/null`" = X"$echo_test_string"; then + # Cool, printf works : elif test "X`("$ORIGINAL_CONFIG_SHELL" "$0" --fallback-echo '\t') 2>/dev/null`" = 'X\t' && test "X`("$ORIGINAL_CONFIG_SHELL" "$0" --fallback-echo "$echo_test_string") 2>/dev/null`" = X"$echo_test_string"; then @@ -110,9 +120,9 @@ if test "X`($echo '\t') 2>/dev/null`" != 'X\t' || echo="$CONFIG_SHELL $0 --fallback-echo" elif test "X`("$CONFIG_SHELL" "$0" --fallback-echo '\t') 2>/dev/null`" = 'X\t' && test "X`("$CONFIG_SHELL" "$0" --fallback-echo "$echo_test_string") 2>/dev/null`" = X"$echo_test_string"; then - echo="$CONFIG_SHELL $0 --fallback-echo" + echo="$CONFIG_SHELL $0 --fallback-echo" else - # maybe with a smaller string... + # maybe with a smaller string... prev=: for cmd in 'echo test' 'sed 2q "$0"' 'sed 10q "$0"' 'sed 20q "$0"' 'sed 50q "$0"'; do @@ -149,7 +159,8 @@ progname=`$echo "X$0" | $Xsed -e 's%^.*/%%'` # Constants: PROGRAM=ltconfig PACKAGE=libtool -VERSION=1.2d +VERSION=1.2e +TIMESTAMP=" (1.255 1999/01/28 13:33:31)" ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.c 1>&5' ac_link='${CC-cc} -o conftest $CFLAGS $CPPFLAGS $LDFLAGS conftest.c $LIBS 1>&5' rm="rm -f" @@ -252,7 +263,7 @@ EOM --output | -o) prev=ofile ;; --output=*) ofile="$optarg" ;; - --version) echo "$PROGRAM (GNU $PACKAGE) $VERSION"; exit 0 ;; + --version) echo "$PROGRAM (GNU $PACKAGE) $VERSION$TIMESTAMP"; exit 0 ;; --with-gcc) with_gcc=yes ;; --with-gnu-ld) with_gnu_ld=yes ;; @@ -434,7 +445,7 @@ if test "${RANLIB+set}" != "set"; then result=no echo $ac_n "checking for ranlib... $ac_c" 1>&6 - IFS="${IFS= }"; save_ifs="$IFS"; IFS="${IFS}:" + IFS="${IFS= }"; save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR}" for dir in $PATH; do test -z "$dir" && dir=. if test -f $dir/ranlib; then @@ -462,7 +473,7 @@ if test "$with_gcc" != yes || test -z "$CC"; then # If CC is not set, then try to find GCC or a usable CC. if test -z "$CC"; then echo $ac_n "checking for gcc... $ac_c" 1>&6 - IFS="${IFS= }"; save_ifs="$IFS"; IFS="${IFS}:" + IFS="${IFS= }"; save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR}" for dir in $PATH; do IFS="$save_ifs" test -z "$dir" && dir=. @@ -483,7 +494,7 @@ if test "$with_gcc" != yes || test -z "$CC"; then # Not "gcc", so try "cc", rejecting "/usr/ucb/cc". if test -z "$CC"; then echo $ac_n "checking for cc... $ac_c" 1>&6 - IFS="${IFS= }"; save_ifs="$IFS"; IFS="${IFS}:" + IFS="${IFS= }"; save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR}" cc_rejected=no for dir in $PATH; do test -z "$dir" && dir=. @@ -527,7 +538,7 @@ if test "$with_gcc" != yes || test -z "$CC"; then # Now see if the compiler is really GCC. with_gcc=no echo $ac_n "checking whether we are using GNU C... $ac_c" 1>&6 - echo "$progname:530: checking whether we are using GNU C" >&5 + echo "$progname:541: checking whether we are using GNU C" >&5 $rm conftest.c cat > conftest.c <&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then + if { ac_try='${CC-cc} -E conftest.c'; { (eval echo $progname:549: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then with_gcc=yes fi $rm conftest.c @@ -549,8 +560,8 @@ compiler="$2" echo $ac_n "checking for object suffix... $ac_c" 1>&6 $rm conftest* echo 'int i = 1;' > conftest.c -echo "$progname:552: checking for object suffix" >& 5 -if { (eval echo $progname:553: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>conftest.err; }; then +echo "$progname:563: checking for object suffix" >& 5 +if { (eval echo $progname:564: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>conftest.err; }; then # Append any warnings to the config.log. cat conftest.err 1>&5 @@ -580,9 +591,18 @@ if test "$with_gcc" = yes; then link_static_flag='-static' case "$host_os" in - aix3* | aix4* | irix5* | irix6* | osf3* | osf4*) + beos* | irix5* | irix6* | osf3* | osf4*) # PIC is the default for these OSes. ;; + aix*) + # Below there is a dirty hack to force normal static linking with -ldl + # The problem is because libdl dynamically linked with both libc and + # libC (AIX C++ library), which obviously doesn't included in libraries + # list by gcc. This cause undefined symbols with -static flags. + # This hack allows C programs to be linked with "-static -ldl", but + # we not sure about C++ programs. + link_static_flag="$link_static_flag ${wl}-lC" + ;; cygwin32* | mingw32* | os2*) # We can build DLLs from non-PIC. ;; @@ -645,7 +665,7 @@ else wl='-Qoption ld ' ;; - sysv4.2uw2* | sysv5*) + sysv4.2uw2* | sysv4.3* | sysv5*) pic_flag='-KPIC' link_static_flag='-Bstatic' wl='-Wl,' @@ -671,22 +691,30 @@ if test -n "$pic_flag"; then echo "int some_variable = 0;" > conftest.c save_CFLAGS="$CFLAGS" CFLAGS="$CFLAGS $pic_flag -DPIC" - echo "$progname:674: checking if $compiler PIC flag $pic_flag works" >&5 - if { (eval echo $progname:675: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>conftest.err; } && test -s conftest.$objext; then + echo "$progname:694: checking if $compiler PIC flag $pic_flag works" >&5 + if { (eval echo $progname:695: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>conftest.err; } && test -s conftest.$objext; then # Append any warnings to the config.log. cat conftest.err 1>&5 - - # On HP-UX, both CC and GCC only warn that PIC is supported... then they - # create non-PIC objects. So, if there were any warnings, we assume that - # PIC is not supported. - if test -s conftest.err; then - echo "$ac_t"no 1>&6 - can_build_shared=no - pic_flag= - else + + case "$host_os" in + hpux9* | hpux10* | hpux11*) + # On HP-UX, both CC and GCC only warn that PIC is supported... then they + # create non-PIC objects. So, if there were any warnings, we assume that + # PIC is not supported. + if test -s conftest.err; then + echo "$ac_t"no 1>&6 + can_build_shared=no + pic_flag= + else + echo "$ac_t"yes 1>&6 + pic_flag=" $pic_flag" + fi + ;; + *) echo "$ac_t"yes 1>&6 pic_flag=" $pic_flag" - fi + ;; + esac else # Append any errors to the config.log. cat conftest.err 1>&5 @@ -706,8 +734,8 @@ $rm conftest* echo "int some_variable = 0;" > conftest.c save_CFLAGS="$CFLAGS" CFLAGS="$CFLAGS -c -o conftest2.o" -echo "$progname:709: checking if $compiler supports -c -o file.o" >&5 -if { (eval echo $progname:710: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>conftest.err; } && test -s conftest2.o; then +echo "$progname:737: checking if $compiler supports -c -o file.o" >&5 +if { (eval echo $progname:738: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>conftest.err; } && test -s conftest2.o; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings @@ -734,8 +762,8 @@ if test x"$compiler_c_o" = x"yes"; then echo "int some_variable = 0;" > conftest.c save_CFLAGS="$CFLAGS" CFLAGS="$CFLAGS -c -o conftest.lo" - echo "$progname:737: checking if $compiler supports -c -o file.lo" >&5 -if { (eval echo $progname:738: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>conftest.err; } && test -s conftest.lo; then + echo "$progname:765: checking if $compiler supports -c -o file.lo" >&5 +if { (eval echo $progname:766: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>conftest.err; } && test -s conftest.lo; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings @@ -743,8 +771,8 @@ if { (eval echo $progname:738: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>conft echo "$ac_t"no 1>&6 compiler_o_lo=no else - echo "$ac_t"yes 1>&6 - compiler_o_lo=yes + echo "$ac_t"yes 1>&6 + compiler_o_lo=yes fi else # Append any errors to the config.log. @@ -786,17 +814,17 @@ if test "$with_gcc" = yes; then echo "int some_variable = 0;" > conftest.c save_CFLAGS="$CFLAGS" CFLAGS="$CFLAGS -fno-rtti -fno-exceptions -c conftest.c" - echo "$progname:789: checking if $compiler supports -fno-rtti -fno-exceptions" >&5 - if { (eval echo $progname:790: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>conftest.err; } && test -s conftest.o; then + echo "$progname:817: checking if $compiler supports -fno-rtti -fno-exceptions" >&5 + if { (eval echo $progname:818: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>conftest.err; } && test -s conftest.o; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings if test -s conftest.err; then - echo "$ac_t"no 1>&6 - compiler_rtti_exceptions=no + echo "$ac_t"no 1>&6 + compiler_rtti_exceptions=no else - echo "$ac_t"yes 1>&6 - compiler_rtti_exceptions=yes + echo "$ac_t"yes 1>&6 + compiler_rtti_exceptions=yes fi else # Append any errors to the config.log. @@ -830,8 +858,8 @@ $rm conftest* echo 'main(){return(0);}' > conftest.c save_LDFLAGS="$LDFLAGS" LDFLAGS="$LDFLAGS $link_static_flag" -echo "$progname:833: checking if $compiler static flag $link_static_flag works" >&5 -if { (eval echo $progname:834: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +echo "$progname:861: checking if $compiler static flag $link_static_flag works" >&5 +if { (eval echo $progname:862: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then echo "$ac_t$link_static_flag" 1>&6 else echo "$ac_t"none 1>&6 @@ -863,7 +891,7 @@ if test -z "$LD"; then if test "$with_gcc" = yes; then # Check if gcc -print-prog-name=ld gives a path. echo $ac_n "checking for ld used by GCC... $ac_c" 1>&6 - echo "$progname:866: checking for ld used by GCC" >&5 + echo "$progname:894: checking for ld used by GCC" >&5 ac_prog=`($CC -print-prog-name=ld) 2>&5` case "$ac_prog" in # Accept absolute paths. @@ -872,15 +900,15 @@ if test -z "$LD"; then sub_uncdrive='s%^\([A-Za-z]\):/%//\1/%' # Canonicalize the path of ld while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do - ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"` + ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"` done case "$host_os" in cygwin*) - # Convert to a UNC path for cygwin - test -z "$LD" && LD=`echo X$ac_prog | $Xsed -e "$sub_uncdrive"` + # Convert to a UNC path for cygwin + test -z "$LD" && LD=`echo X$ac_prog | $Xsed -e "$sub_uncdrive"` ;; *) - test -z "$LD" && LD="$ac_prog" + test -z "$LD" && LD="$ac_prog" ;; esac ;; @@ -894,15 +922,15 @@ if test -z "$LD"; then sub_uncdir='s%\\%/%g' # Canonicalize the path of ld while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do - ac_prog=`echo $ac_prog| sed "s%$re_direlt%\1%"` + ac_prog=`echo $ac_prog| sed "s%$re_direlt%\1%"` done case "$host_os" in cygwin*) - # Convert to a UNC path for cygwin - test -z "$LD" && LD=`echo X$ac_prog | $Xsed -e "$sub_uncdrive" -e "$sub_uncdir"` + # Convert to a UNC path for cygwin + test -z "$LD" && LD=`echo X$ac_prog | $Xsed -e "$sub_uncdrive" -e "$sub_uncdir"` ;; *) - test -z "$LD" && LD="$ac_prog" + test -z "$LD" && LD="$ac_prog" ;; esac ;; @@ -917,14 +945,14 @@ if test -z "$LD"; then esac elif test "$with_gnu_ld" = yes; then echo $ac_n "checking for GNU ld... $ac_c" 1>&6 - echo "$progname:920: checking for GNU ld" >&5 + echo "$progname:948: checking for GNU ld" >&5 else echo $ac_n "checking for non-GNU ld""... $ac_c" 1>&6 - echo "$progname:923: checking for non-GNU ld" >&5 + echo "$progname:951: checking for non-GNU ld" >&5 fi if test -z "$LD"; then - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:" + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR}" for ac_dir in $PATH; do test -z "$ac_dir" && ac_dir=. if test -f "$ac_dir/$ac_prog"; then @@ -969,11 +997,14 @@ echo $ac_n "checking whether the linker ($LD) supports shared libraries... $ac_c allow_undefined_flag= no_undefined_flag= +need_lib_prefix=unknown +need_version=unknown archive_cmds= archive_sym_cmds= old_archive_from_new_cmds= export_dynamic_flag_spec= whole_archive_flag_spec= +thread_safe_flag_spec= hardcode_libdir_flag_spec= hardcode_libdir_separator= hardcode_direct=no @@ -990,22 +1021,33 @@ esac ld_shlibs=yes if test "$with_gnu_ld" = yes; then + # If archive_cmds runs LD, not CC, wlarc should be empty + wlarc='${wl}' # See if GNU ld supports shared libraries. case "$host_os" in amigaos*) - archive_cmds='$rm $objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $objdir/a2ixlibrary.data~$AR cru $lib$libobjs~$RANLIB $lib~(cd $objdir && a2ixlibrary -32)' + archive_cmds='$rm $objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $objdir/a2ixlibrary.data~$AR cru $lib $libobjs~$RANLIB $lib~(cd $objdir && a2ixlibrary -32)' hardcode_libdir_flag_spec='-L$libdir' hardcode_minus_L=yes ;; sunos4*) - archive_cmds='$LD -assert pure-text -Bstatic -o $lib$libobjs$deplibs' + archive_cmds='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linkopts' + wlarc= hardcode_direct=yes hardcode_minus_L=yes hardcode_shlibpath_var=no ;; + beos*) + if $LD --help 2>&1 | egrep ': supported targets:.* elf' > /dev/null; then + archive_cmds='$CC -nostart ${wl}-soname $wl$soname -o $lib $libobjs $deplibs $linkopts' + else + ld_shlibs=no + fi + ;; + cygwin32* | mingw32*) if test "$with_gcc" = yes; then # hardcode_libdir_flag_spec is actually meaningless, as there is @@ -1013,42 +1055,30 @@ if test "$with_gnu_ld" = yes; then hardcode_libdir_flag_spec='-L$libdir' allow_undefined_flag=unsupported # Very, very bogus. - echo ' -#define WIN32_LEAN_AND_MEAN -#include -#undef WIN32_LEAN_AND_MEAN -#include -BOOL APIENTRY DllMain (HINSTANCE hInst, DWORD reason, LPVOID reserved); + archive_cmds='rm -f $objdir/$soname-ltdll.c~ + sed -e "/^# \/\* ltdll.c starts here \*\//,/^# \/\* ltdll.c ends here \*\// { s/^# //; p; }" -e d < $0 > $objdir/$soname-ltdll.c~ + (cd $objdir && $CC -c $soname-ltdll.c)~ + echo EXPORTS > $objdir/$soname-def~ + $DLLTOOL --export-all --output-def $objdir/$soname-def $objdir/$soname-ltdll.$objext $libobjs~ + $CC -Wl,--base-file,$objdir/$soname-base -Wl,--dll -nostartfiles -Wl,-e,__cygwin_dll_entry@12 -o $lib $objdir/$soname-ltdll.$objext $libobjs $deplibs $linkopts~ + $DLLTOOL --as=$AS --dllname $soname --exclude-symbol=_cygwin_dll_entry@12 --def $objdir/$soname-def --base-file $objdir/$soname-base --output-exp $objdir/$soname-exp~ + $CC -Wl,--base-file,$objdir/$soname-base $objdir/$soname-exp -Wl,--dll -nostartfiles -Wl,-e,__cygwin_dll_entry@12 -o $lib $objdir/$soname-ltdll.$objext $libobjs $deplibs $linkopts~ + $DLLTOOL --as=$AS --dllname $soname --exclude-symbol=_cygwin_dll_entry@12 --def $objdir/$soname-def --base-file $objdir/$soname-base --output-exp $objdir/$soname-exp~ + $CC $objdir/$soname-exp -Wl,--dll -nostartfiles -Wl,-e,__cygwin_dll_entry@12 -o $lib $objdir/$soname-ltdll.$objext $libobjs $deplibs $linkopts' -#include -DECLARE_CYGWIN_DLL( DllMain ); -HINSTANCE __hDllInstance_base; + archive_sym_cmds='rm -f $objdir/$soname-ltdll.c~ + sed -e "/^# \/\* ltdll.c starts here \*\//,/^# \/\* ltdll.c ends here \*\// { s/^# //; p; }" -e d < $0 > $objdir/$soname-ltdll.c~ + (cd $objdir && $CC -c $soname-ltdll.c)~ + echo EXPORTS > $objdir/$soname-def~ + cat "$export_symbols" >> $objdir/$soname-def~ + $CC -Wl,--base-file,$objdir/$soname-base -Wl,--dll -nostartfiles -Wl,-e,__cygwin_dll_entry@12 -o $lib $objdir/$soname-ltdll.$objext $libobjs $deplibs $linkopts~ + $DLLTOOL --as=$AS --dllname $soname --exclude-symbol=_cygwin_dll_entry@12 --def $objdir/$soname-def --base-file $objdir/$soname-base --output-exp $objdir/$soname-exp~ + $CC -Wl,--base-file,$objdir/$soname-base $objdir/$soname-exp -Wl,--dll -nostartfiles -Wl,-e,__cygwin_dll_entry@12 -o $lib $objdir/$soname-ltdll.$objext $libobjs $deplibs $linkopts~ + $DLLTOOL --as=$AS --dllname $soname --exclude-symbol=_cygwin_dll_entry@12 --def $objdir/$soname-def --base-file $objdir/$soname-base --output-exp $objdir/$soname-exp~ + $CC $objdir/$soname-exp -Wl,--dll -nostartfiles -Wl,-e,__cygwin_dll_entry@12 -o $lib $objdir/$soname-ltdll.$objext $libobjs $deplibs $linkopts' -BOOL APIENTRY -DllMain (HINSTANCE hInst, DWORD reason, LPVOID reserved) -{ - __hDllInstance_base = hInst; - return TRUE; -} -' > ltdll.c - archive_cmds='$CC -c '"`pwd`"'/ltdll.c~echo EXPORTS > $lib-def~ - $DLLTOOL --export-all --output-def $lib-def $libobjs ltdll.$objext~ - $CC -Wl,--base-file,$soname-base -Wl,--dll -nostartfiles -Wl,-e,__cygwin_dll_entry@12 $libobjs ltdll.$objext~ - $DLLTOOL --as=$AS --dllname $soname --exclude-symbol=_cygwin_dll_entry@12 --def $lib-def --base-file $soname-base --output-exp $soname-exp~ - $CC -Wl,--base-file,$soname-base $soname-exp -Wl,--dll -nostartfiles -Wl,-e,__cygwin_dll_entry@12 -o $lib $libobjs ltdll.$objext$deplibs~ - $DLLTOOL --as=$AS --dllname $soname --exclude-symbol=_cygwin_dll_entry@12 --def $lib-def --base-file $soname-base --output-exp $soname-exp~ - $CC $soname-exp -Wl,--dll -nostartfiles -Wl,-e,__cygwin_dll_entry@12 -o $lib $libobjs ltdll.$objext$deplibs~ - $rm ltdll.$objext $soname-base $soname-exp' - archive_sym_cmds='$CC -c '"`pwd`"'/ltdll.c~echo EXPORTS > $lib-def~ - cat "$export_symbols" >> $lib-def~ - $CC -Wl,--base-file,$soname-base -Wl,--dll -nostartfiles -Wl,-e,__cygwin_dll_entry@12 $libobjs ltdll.$objext~ - $DLLTOOL --as=$AS --dllname $soname --exclude-symbol=_cygwin_dll_entry@12 --def $lib-def --base-file $soname-base --output-exp $soname-exp~ - $CC -Wl,--base-file,$soname-base $soname-exp -Wl,--dll -nostartfiles -Wl,-e,__cygwin_dll_entry@12 -o $lib $libobjs ltdll.$objext$deplibs~ - $DLLTOOL --as=$AS --dllname $soname --exclude-symbol=_cygwin_dll_entry@12 --def $lib-def --base-file $soname-base --output-exp $soname-exp~ - $CC $soname-exp -Wl,--dll -nostartfiles -Wl,-e,__cygwin_dll_entry@12 -o $lib $libobjs ltdll.$objext$deplibs~ - $rm ltdll.$objext $soname-base $soname-exp' - old_archive_from_new_cmds='$DLLTOOL --as=$AS --dllname $soname --def $lib-def --output-lib $objdir/$libname.a~$rm $lib.exp' + old_archive_from_new_cmds='$DLLTOOL --as=$AS --dllname $soname --def $objdir/$soname-def --output-lib $objdir/$libname.a' else # When not using gcc, we currently assume that we are using # Microsoft Visual C++. @@ -1060,7 +1090,7 @@ DllMain (HINSTANCE hInst, DWORD reason, LPVOID reserved) # Tell ltmain to make .lib files, not .a files. libext=lib # FIXME: Setting linknames here is a bad hack. - archive_cmds='$CC -o $lib$libobjs`echo "$deplibs" | sed -e '\''s/ -lc$//'\''` -link -dll~linknames=' + archive_cmds='$CC -o $lib $libobjs $linkopts `echo "$deplibs" | sed -e '\''s/ -lc$//'\''` -link -dll~linknames=' # The linker will automatically build a .lib file if we build a DLL. old_archive_from_new_cmds='true' # FIXME: Should let the user specify the lib program. @@ -1071,28 +1101,28 @@ DllMain (HINSTANCE hInst, DWORD reason, LPVOID reserved) *) if $LD --help 2>&1 | egrep ': supported targets:.* elf' > /dev/null; then - archive_cmds='$CC -shared ${wl}-soname $wl$soname -o $lib$libobjs$deplibs' - archive_sym_cmds='$CC -shared ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib$libobjs$deplibs' + archive_cmds='$CC -shared ${wl}-soname $wl$soname -o $lib $libobjs $deplibs $linkopts' + archive_sym_cmds='$CC -shared ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib $libobjs $deplibs $linkopts' else ld_shlibs=no fi ;; esac - if test "$ld_shlibs" = yes && test "$with_gnu_ld" = yes; then + if test "$ld_shlibs" = yes; then runpath_var=LD_RUN_PATH hardcode_libdir_flag_spec='${wl}--rpath ${wl}$libdir' export_dynamic_flag_spec='${wl}--export-dynamic' - whole_archive_flag_spec='${wl}--whole-archive$convenience ${wl}--no-whole-archive' + whole_archive_flag_spec="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' fi else # PORTME fill in a description of your system's linker (not GNU ld) case "$host_os" in aix3*) allow_undefined_flag=unsupported - archive_cmds='$NM$libobjs | $global_symbol_pipe | sed '\''s/.* //'\' | sort | uniq' > $lib.exp~ - $LD -o $objdir/$soname$libobjs$deplibs -bE:$lib.exp -T512 -H512 -bM:SRE~$AR cru $lib $objdir/$soname' - archive_sym_cmds='$LD -o $objdir/$soname$libobjs$deplibs -bE:$export_symbols -T512 -H512 -bM:SRE~$AR cru $lib $objdir/$soname' + archive_cmds='$NM $libobjs | $global_symbol_pipe | sed '\''s/.* //'\' | sort | uniq' > $lib.exp~ + $LD -o $objdir/$soname $libobjs $deplibs $linkopts -bE:$lib.exp -T512 -H512 -bM:SRE~$AR cru $lib $objdir/$soname' + archive_sym_cmds='$LD -o $objdir/$soname $libobjs $deplibs $linkopts -bE:$export_symbols -T512 -H512 -bM:SRE~$AR cru $lib $objdir/$soname' # Note: this linker hardcodes the directories in LIBPATH if there # are no directories specified by -L. hardcode_minus_L=yes @@ -1104,16 +1134,34 @@ else ;; aix4*) - allow_undefined_flag=unsupported - archive_cmds='$NM$libobjs | $global_symbol_pipe | sed '\''s/.* //'\' | sort | uniq' > $lib.exp else cat $export_symbols > $lib.exp~ - $CC -o $objdir/$soname$libobjs$deplibs ${wl}-bE:$lib.exp ${wl}-bM:SRE ${wl}-bnoentry~$AR cru $lib $objdir/$soname' - archive_sym_cmds='$CC -o $objdir/$soname$libobjs$deplibs ${wl}-bE:$export_symbols ${wl}-bM:SRE ${wl}-bnoentry~$AR cru $lib $objdir/$soname' - hardcode_direct=yes + allow_undefined_flag= + if test "$with_gcc" = yes; then + if strings `${CC} -print-prog-name=collect2` | \ + grep resolve_lib_name >/dev/null + then + # We have reworked collect2 + hardcode_direct=yes + else + # We have old collect2 + hardcode_direct=unsupported + fi + archive_cmds='$CC -shared ${wl}-bnoentry -o $objdir/$soname $libobjs $deplibs $linkopts' + else + archive_cmds='$NM $libobjs | $global_symbol_pipe | sed '\''s/.* //'\' | sort | uniq' > $lib.exp~ + $CC -o $objdir/$soname $libobjs $deplibs $linkopts ${wl}-bE:$lib.exp ${wl}-bM:SRE ${wl}-bnoentry' + archive_sym_cmds='$CC -o $objdir/$soname $libobjs $deplibs $linkopts ${wl}-bE:$export_symbols ${wl}-bM:SRE ${wl}-bnoentry' + hardcode_direct=yes + fi hardcode_minus_L=yes - ;; + # Though LIBPATH variable hardcodes shlibpath into executable, + # it doesn't affect searching for -l* libraries; this confuses + # tests in mdemo. + hardcode_shlibpath_var=unsupported + hardcode_libdir_flag_spec='-L$libdir' + ;; amigaos*) - archive_cmds='$rm $objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $objdir/a2ixlibrary.data~$AR cru $lib$libobjs~$RANLIB $lib~(cd $objdir && a2ixlibrary -32)' + archive_cmds='$rm $objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $objdir/a2ixlibrary.data~$AR cru $lib $libobjs~$RANLIB $lib~(cd $objdir && a2ixlibrary -32)' hardcode_libdir_flag_spec='-L$libdir' hardcode_minus_L=yes ;; @@ -1125,42 +1173,30 @@ else hardcode_libdir_flag_spec='-L$libdir' allow_undefined_flag=unsupported # Very, very bogus. - echo ' -#define WIN32_LEAN_AND_MEAN -#include -#undef WIN32_LEAN_AND_MEAN -#include -BOOL APIENTRY DllMain (HINSTANCE hInst, DWORD reason, LPVOID reserved); + archive_cmds='rm -f $objdir/$soname-ltdll.c~ + sed -e "/^# \/\* ltdll.c starts here \*\//,/^# \/\* ltdll.c ends here \*\// { s/^# //; p; }" -e d < $0 > $objdir/$soname-ltdll.c~ + (cd $objdir && $CC -c $soname-ltdll.c)~ + echo EXPORTS > $objdir/$soname-def~ + $DLLTOOL --export-all --output-def $objdir/$soname-def $objdir/$soname-ltdll.$objext $libobjs~ + $CC -Wl,--base-file,$objdir/$soname-base -Wl,--dll -nostartfiles -Wl,-e,__cygwin_dll_entry@12 -o $lib $objdir/$soname-ltdll.$objext $libobjs $deplibs $linkopts~ + $DLLTOOL --as=$AS --dllname $soname --exclude-symbol=_cygwin_dll_entry@12 --def $objdir/$soname-def --base-file $objdir/$soname-base --output-exp $objdir/$soname-exp~ + $CC -Wl,--base-file,$objdir/$soname-base $objdir/$soname-exp -Wl,--dll -nostartfiles -Wl,-e,__cygwin_dll_entry@12 -o $lib $objdir/$soname-ltdll.$objext $libobjs $deplibs $linkopts~ + $DLLTOOL --as=$AS --dllname $soname --exclude-symbol=_cygwin_dll_entry@12 --def $objdir/$soname-def --base-file $objdir/$soname-base --output-exp $objdir/$soname-exp~ + $CC $objdir/$soname-exp -Wl,--dll -nostartfiles -Wl,-e,__cygwin_dll_entry@12 -o $lib $objdir/$soname-ltdll.$objext $libobjs $deplibs $linkopts' -#include -DECLARE_CYGWIN_DLL( DllMain ); -HINSTANCE __hDllInstance_base; + archive_sym_cmds='rm -f $objdir/$soname-ltdll.c~ + sed -e "/^# \/\* ltdll.c starts here \*\//,/^# \/\* ltdll.c ends here \*\// { s/^# //; p; }" -e d < $0 > $objdir/$soname-ltdll.c~ + (cd $objdir && $CC -c $soname-ltdll.c)~ + echo EXPORTS > $objdir/$soname-def~ + cat "$export_symbols" >> $objdir/$soname-def~ + $CC -Wl,--base-file,$objdir/$soname-base -Wl,--dll -nostartfiles -Wl,-e,__cygwin_dll_entry@12 -o $lib $objdir/$soname-ltdll.$objext $libobjs $deplibs $linkopts~ + $DLLTOOL --as=$AS --dllname $soname --exclude-symbol=_cygwin_dll_entry@12 --def $objdir/$soname-def --base-file $objdir/$soname-base --output-exp $objdir/$soname-exp~ + $CC -Wl,--base-file,$objdir/$soname-base $objdir/$soname-exp -Wl,--dll -nostartfiles -Wl,-e,__cygwin_dll_entry@12 -o $lib $objdir/$soname-ltdll.$objext $libobjs $deplibs $linkopts~ + $DLLTOOL --as=$AS --dllname $soname --exclude-symbol=_cygwin_dll_entry@12 --def $objdir/$soname-def --base-file $objdir/$soname-base --output-exp $objdir/$soname-exp~ + $CC $objdir/$soname-exp -Wl,--dll -nostartfiles -Wl,-e,__cygwin_dll_entry@12 -o $lib $objdir/$soname-ltdll.$objext $libobjs $deplibs $linkopts' -BOOL APIENTRY -DllMain (HINSTANCE hInst, DWORD reason, LPVOID reserved) -{ - __hDllInstance_base = hInst; - return TRUE; -} -' > ltdll.c - archive_cmds='$CC -c '"`pwd`"'/ltdll.c~echo EXPORTS > $lib-def~ - $DLLTOOL --export-all --output-def $lib-def $libobjs ltdll.$objext~ - $CC -Wl,--base-file,$soname-base -Wl,--dll -nostartfiles -Wl,-e,__cygwin_dll_entry@12 $libobjs ltdll.$objext~ - $DLLTOOL --as=$AS --dllname $soname --exclude-symbol=_cygwin_dll_entry@12 --def $lib-def --base-file $soname-base --output-exp $soname-exp~ - $CC -Wl,--base-file,$soname-base $soname-exp -Wl,--dll -nostartfiles -Wl,-e,__cygwin_dll_entry@12 -o $lib $libobjs ltdll.$objext$deplibs~ - $DLLTOOL --as=$AS --dllname $soname --exclude-symbol=_cygwin_dll_entry@12 --def $lib-def --base-file $soname-base --output-exp $soname-exp~ - $CC $soname-exp -Wl,--dll -nostartfiles -Wl,-e,__cygwin_dll_entry@12 -o $lib $libobjs ltdll.$objext$deplibs~ - $rm ltdll.$objext $soname-base $soname-exp' - archive_sym_cmds='$CC -c '"`pwd`"'/ltdll.c~echo EXPORTS > $lib-def~ - cat "$export_symbols" >> $lib-def~ - $CC -Wl,--base-file,$soname-base -Wl,--dll -nostartfiles -Wl,-e,__cygwin_dll_entry@12 $libobjs ltdll.$objext~ - $DLLTOOL --as=$AS --dllname $soname --exclude-symbol=_cygwin_dll_entry@12 --def $lib-def --base-file $soname-base --output-exp $soname-exp~ - $CC -Wl,--base-file,$soname-base $soname-exp -Wl,--dll -nostartfiles -Wl,-e,__cygwin_dll_entry@12 -o $lib $libobjs ltdll.$objext$deplibs~ - $DLLTOOL --as=$AS --dllname $soname --exclude-symbol=_cygwin_dll_entry@12 --def $lib-def --base-file $soname-base --output-exp $soname-exp~ - $CC $soname-exp -Wl,--dll -nostartfiles -Wl,-e,__cygwin_dll_entry@12 -o $lib $libobjs ltdll.$objext$deplibs~ - $rm ltdll.$objext $soname-base $soname-exp' - old_archive_from_new_cmds='$DLLTOOL --as=$AS --dllname $soname --def $lib-def --output-lib $objdir/$libname.a~$rm $lib.exp' + old_archive_from_new_cmds='$DLLTOOL --as=$AS --dllname $soname --def $objdir/$soname-def --output-lib $objdir/$libname.a' else # When not using gcc, we currently assume that we are using # Microsoft Visual C++. @@ -1171,7 +1207,7 @@ DllMain (HINSTANCE hInst, DWORD reason, LPVOID reserved) # Tell ltmain to make .lib files, not .a files. libext=lib # FIXME: Setting linknames here is a bad hack. - archive_cmds='$CC -o $lib$libobjs`echo "$deplibs" | sed -e '\''s/ -lc$//'\''` -link -dll~linknames=' + archive_cmds='$CC -o $lib $libobjs $linkopts `echo "$deplibs" | sed -e '\''s/ -lc$//'\''` -link -dll~linknames=' # The linker will automatically build a .lib file if we build a DLL. old_archive_from_new_cmds='true' # FIXME: Should let the user specify the lib program. @@ -1180,29 +1216,34 @@ DllMain (HINSTANCE hInst, DWORD reason, LPVOID reserved) fi ;; + freebsd1*) + ld_shlibs=no + can_build_shared=no + ;; + # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor # support. Future versions do this automatically, but an explicit c++rt0.o # does not break anything, and helps significantly (at the cost of a little # extra space). freebsd2.2*) - archive_cmds='$LD -Bshareable -o $lib$libobjs$deplibs /usr/lib/c++rt0.o' + archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linkopts /usr/lib/c++rt0.o' hardcode_libdir_flag_spec='-R$libdir' hardcode_direct=yes - hardcode_minus_L=yes + hardcode_minus_L=no # verified on 2.2.6 hardcode_shlibpath_var=no ;; # Unfortunately, older versions of FreeBSD 2 do not have this feature. freebsd2*) - archive_cmds='$LD -Bshareable -o $lib$libobjs$deplibs' + archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linkopts' hardcode_direct=yes hardcode_minus_L=yes hardcode_shlibpath_var=no ;; - # FreeBSD 3, at last, uses gcc -shared to do shared libraries. - freebsd3*) - archive_cmds='$CC -shared -o $lib$libobjs$deplibs' + # FreeBSD 3 and greater uses gcc -shared to do shared libraries. + freebsd*) + archive_cmds='$CC -shared -o $lib $libobjs $deplibs $linkopts' hardcode_libdir_flag_spec='-R$libdir' hardcode_direct=yes hardcode_minus_L=no @@ -1210,7 +1251,7 @@ DllMain (HINSTANCE hInst, DWORD reason, LPVOID reserved) ;; hpux9*) - archive_cmds='$rm $objdir/$soname~$LD -b +s +b $install_libdir -o $objdir/$soname$libobjs$deplibs~test $objdir/$soname = $lib || mv $objdir/$soname $lib' + archive_cmds='$rm $objdir/$soname~$LD -b +s +b $install_libdir -o $objdir/$soname $libobjs $deplibs $linkopts~test $objdir/$soname = $lib || mv $objdir/$soname $lib' hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' hardcode_direct=yes hardcode_minus_L=yes @@ -1218,7 +1259,7 @@ DllMain (HINSTANCE hInst, DWORD reason, LPVOID reserved) ;; hpux10* | hpux11*) - archive_cmds='$LD -b +h $soname +s +b $install_libdir -o $lib$libobjs$deplibs' + archive_cmds='$LD -b +h $soname +s +b $install_libdir -o $lib $libobjs $deplibs $linkopts' hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' hardcode_direct=yes hardcode_minus_L=yes @@ -1227,23 +1268,26 @@ DllMain (HINSTANCE hInst, DWORD reason, LPVOID reserved) irix5* | irix6*) if test "$with_gcc" = yes; then - archive_cmds='$CC -shared -o $lib ${wl}-soname ${wl}$soname ${wl}-set_version ${wl}$verstring$libobjs$deplibs' + archive_cmds='$CC -shared -o $lib ${wl}-soname ${wl}$soname ${wl}-set_version ${wl}$verstring $libobjs $deplibs $linkopts' else - archive_cmds='$LD -shared -o $lib -soname $soname -set_version $verstring$libobjs$deplibs' + archive_cmds='$LD -shared -o $lib -soname $soname -set_version $verstring $libobjs $deplibs $linkopts' fi hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' ;; netbsd*) - # Tested with NetBSD 1.2 ld - archive_cmds='$LD -Bshareable -o $lib$libobjs$deplibs' - hardcode_libdir_flag_spec='-R$libdir' + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linkopts' # a.out + else + archive_cmds='$LD -shared -o $lib $libobjs $deplibs $linkopts' # ELF + fi + hardcode_libdir_flag_spec='${wl}-R$libdir' hardcode_direct=yes hardcode_shlibpath_var=no ;; openbsd*) - archive_cmds='$LD -Bshareable -o $lib$libobjs$deplibs' + archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linkopts' hardcode_libdir_flag_spec='-R$libdir' hardcode_direct=yes hardcode_shlibpath_var=no @@ -1253,24 +1297,24 @@ DllMain (HINSTANCE hInst, DWORD reason, LPVOID reserved) hardcode_libdir_flag_spec='-L$libdir' hardcode_minus_L=yes allow_undefined_flag=unsupported - archive_cmds='$echo "LIBRARY $libname INITINSTANCE" > $objdir/$libname.def~$echo "DESCRIPTION \"$libname\"" >> $objdir/$libname.def~$echo DATA >> $objdir/$libname.def~$echo " SINGLE NONSHARED" >> $objdir/$libname.def~$echo EXPORTS >> $objdir/$libname.def~emxexp$libobjs >> $objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib$libobjs$deplibs $objdir/$libname.def' + archive_cmds='$echo "LIBRARY $libname INITINSTANCE" > $objdir/$libname.def~$echo "DESCRIPTION \"$libname\"" >> $objdir/$libname.def~$echo DATA >> $objdir/$libname.def~$echo " SINGLE NONSHARED" >> $objdir/$libname.def~$echo EXPORTS >> $objdir/$libname.def~emxexp $libobjs >> $objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $linkopts $objdir/$libname.def' old_archive_from_new_cmds='emximp -o $objdir/$libname.a $objdir/$libname.def' ;; osf3* | osf4*) if test "$with_gcc" = yes; then allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*' - archive_cmds='$CC -shared${allow_undefined_flag} -o $lib ${wl}-soname ${wl}$soname ${wl}-set_version ${wl}$verstring$libobjs$deplibs' + archive_cmds='$CC -shared${allow_undefined_flag} -o $lib ${wl}-soname ${wl}$soname ${wl}-set_version ${wl}$verstring $libobjs $deplibs $linkopts' else allow_undefined_flag=' -expect_unresolved \*' - archive_cmds='$LD -shared${allow_undefined_flag} -o $lib -soname $soname -set_version $verstring$libobjs$deplibs' + archive_cmds='$LD -shared${allow_undefined_flag} -o $lib -soname $soname -set_version $verstring $libobjs $deplibs $linkopts' fi hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator=: ;; sco3.2v5*) - archive_cmds='$LD -G -o $lib$libobjs$deplibs' + archive_cmds='$LD -G -o $lib $libobjs $deplibs $linkopts' hardcode_direct=yes ;; @@ -1278,26 +1322,20 @@ DllMain (HINSTANCE hInst, DWORD reason, LPVOID reserved) no_undefined_flag=' -z text' # $CC -shared without GNU ld will not create a library from C++ # object files and a static libstdc++, better avoid it by now - archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib$libobjs$deplibs' + archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linkopts' archive_sym_cmds='$echo "{ global:" > $lib.exp~sed $export_symbols -e "s/.*/\1;/" >> $lib.exp~$echo "local: * }" >> $lib.exp~ - $LD -G${allow_undefined_flag} -M $export_symbols -h $soname -o $lib$libobjs$deplibs~$rm $lib.exp' + $LD -G${allow_undefined_flag} -M $export_symbols -h $soname -o $lib $libobjs $deplibs $linkopts~$rm $lib.exp' hardcode_libdir_flag_spec='-R$libdir' hardcode_shlibpath_var=no - - # Solaris 2 before 2.5 hardcodes -L paths. - case "$host_os" in - solaris2.[0-4]*) - hardcode_minus_L=yes - ;; - esac ;; sunos4*) # Why do we need -Bstatic? To avoid inter-library dependencies, maybe... if test "$with_gcc" = yes; then - archive_cmds='$CC -shared ${wl}-Bstatic -o $lib$libobjs$deplibs' + # Use -fPIC here because libgcc is multilibbed + archive_cmds='$CC -shared ${wl}-Bstatic -fPIC -o $lib $libobjs $deplibs $linkopts' else - archive_cmds='$LD -assert pure-text -Bstatic -o $lib$libobjs$deplibs' + archive_cmds='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linkopts' fi hardcode_libdir_flag_spec='-L$libdir' hardcode_direct=yes @@ -1305,8 +1343,16 @@ DllMain (HINSTANCE hInst, DWORD reason, LPVOID reserved) hardcode_shlibpath_var=no ;; + sysv4.3*) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linkopts' + hardcode_direct=no + hardcode_minus_L=no + hardcode_shlibpath_var=no + export_dynamic_flag_spec='-Bexport' + ;; + uts4*) - archive_cmds='$LD -G -h $soname -o $lib$libobjs$deplibs' + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linkopts' hardcode_libdir_flag_spec='-L$libdir' hardcode_direct=no hardcode_minus_L=no @@ -1314,7 +1360,7 @@ DllMain (HINSTANCE hInst, DWORD reason, LPVOID reserved) ;; dgux*) - archive_cmds='$LD -G -h $soname -o $lib$libobjs$deplibs' + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linkopts' hardcode_libdir_flag_spec='-L$libdir' hardcode_direct=no hardcode_minus_L=no @@ -1334,21 +1380,23 @@ if test -z "$NM"; then case "$NM" in /* | [A-Za-z]:[/\\]*) ;; # Let the user override the test with a path. *) - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:" - for ac_dir in /usr/ucb /usr/ccs/bin $PATH /bin; do + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR}" + for ac_dir in $PATH /usr/ucb /usr/ccs/bin /bin; do test -z "$ac_dir" && ac_dir=. if test -f $ac_dir/nm; then - # Check to see if the nm accepts a BSD-compat flag. - # Adding the `sed 1q' prevents false positives on HP-UX, which says: - # nm: unknown option "B" ignored - if ($ac_dir/nm -B /dev/null 2>&1 | sed '1q'; exit 0) | egrep /dev/null >/dev/null; then - NM="$ac_dir/nm -B" - elif ($ac_dir/nm -p /dev/null 2>&1 | sed '1q'; exit 0) | egrep /dev/null >/dev/null; then - NM="$ac_dir/nm -p" + # Check to see if the nm accepts a BSD-compat flag. + # Adding the `sed 1q' prevents false positives on HP-UX, which says: + # nm: unknown option "B" ignored + if ($ac_dir/nm -B /dev/null 2>&1 | sed '1q'; exit 0) | egrep /dev/null >/dev/null; then + NM="$ac_dir/nm -B" + break + elif ($ac_dir/nm -p /dev/null 2>&1 | sed '1q'; exit 0) | egrep /dev/null >/dev/null; then + NM="$ac_dir/nm -p" + break else - NM="$ac_dir/nm" + NM=${NM="$ac_dir/nm"} # keep the first match, but + continue # so that we can try to find one that supports BSD flags fi - break fi done IFS="$ac_save_ifs" @@ -1365,7 +1413,7 @@ echo $ac_n "checking command to parse $NM output... $ac_c" 1>&6 # [They come from Ultrix. What could be older than Ultrix?!! ;)] # Character class describing NM global symbol codes. -symcode='[BCDEGRSTU]' +symcode='[BCDEGRST]' # Regexp to match symbols that can be accessed directly from C. sympat='\([_A-Za-z][_A-Za-z0-9]*\)' @@ -1376,41 +1424,34 @@ symxfrm='\1 \1' # Define system-specific variables. case "$host_os" in aix*) - symcode='[BCDTU]' + symcode='[BCDT]' ;; -sunos* | cygwin32* | mingw32*) - sympat='_\([_A-Za-z][_A-Za-z0-9]*\)' - symxfrm='_\1 \1' +cygwin32* | mingw32*) + symcode='[ABCDGISTW]' ;; irix*) - # Cannot use undefined symbols on IRIX because inlined functions mess us up. symcode='[BCDEGRST]' ;; solaris*) - symcode='[BDTU]' + symcode='[BDT]' ;; esac # If we're using GNU nm, then use its standard symbol codes. if $NM -V 2>&1 | egrep '(GNU|with BFD)' > /dev/null; then - symcode='[ABCDGISTUW]' + symcode='[ABCDGISTW]' fi -case "$host_os" in -cygwin32* | mingw32*) - # We do not want undefined symbols on cygwin32. The user must - # arrange to define them via -l arguments. - symcode='[ABCDGISTW]' - ;; -esac +# Try without a prefix undercore, then with it. +for ac_symprfx in "" "_"; do -# Write the raw and C identifiers. -global_symbol_pipe="sed -n -e 's/^.* $symcode $sympat$/$symxfrm/p'" + # Write the raw and C identifiers. + global_symbol_pipe="sed -n -e 's/^.* $symcode $ac_symprfx$sympat$/$symxfrm/p'" -# Check to see that the pipe works correctly. -pipe_works=no -$rm conftest* -cat > conftest.c < conftest.c <&5 -if { (eval echo $progname:1426: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; } && test -s conftest.$objext; then - # Now try to grab the symbols. - nlist=conftest.nm - if { echo "$progname:1429: eval \"$NM conftest.$objext | $global_symbol_pipe > $nlist\"" >&5; eval "$NM conftest.$objext | $global_symbol_pipe > $nlist 2>&5"; } && test -s "$nlist"; then + echo "$progname:1466: checking if global_symbol_pipe works" >&5 + if { (eval echo $progname:1467: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; } && test -s conftest.$objext; then + # Now try to grab the symbols. + nlist=conftest.nm + if { echo "$progname:1470: eval \"$NM conftest.$objext | $global_symbol_pipe > $nlist\"" >&5; eval "$NM conftest.$objext | $global_symbol_pipe > $nlist 2>&5"; } && test -s "$nlist"; then - # Try sorting and uniquifying the output. - if sort "$nlist" | uniq > "$nlist"T; then - mv -f "$nlist"T "$nlist" - wcout=`wc "$nlist" 2>/dev/null` - count=`$echo "X$wcout" | $Xsed -e 's/^[ ]*\([0-9][0-9]*\).*$/\1/'` - (test "$count" -ge 0) 2>/dev/null || count=-1 - else - rm -f "$nlist"T - count=-1 - fi + # Try sorting and uniquifying the output. + if sort "$nlist" | uniq > "$nlist"T; then + mv -f "$nlist"T "$nlist" + else + rm -f "$nlist"T + fi - # Make sure that we snagged all the symbols we need. - if egrep ' nm_test_var$' "$nlist" >/dev/null; then - if egrep ' nm_test_func$' "$nlist" >/dev/null; then - cat < conftest.c + # Make sure that we snagged all the symbols we need. + if egrep ' nm_test_var$' "$nlist" >/dev/null; then + if egrep ' nm_test_func$' "$nlist" >/dev/null; then + cat < conftest.c #ifdef __cplusplus extern "C" { #endif EOF - # Now generate the symbol file. - sed 's/^.* \(.*\)$/extern char \1;/' < "$nlist" >> conftest.c + # Now generate the symbol file. + sed 's/^.* \(.*\)$/extern char \1;/' < "$nlist" >> conftest.c - cat <> conftest.c + cat <> conftest.c #if defined (__STDC__) && __STDC__ -# define __ptr_t void * +# define lt_ptr_t void * #else -# define __ptr_t char * +# define lt_ptr_t char * +# define const #endif -/* The number of symbols in dld_preloaded_symbols, -1 if unsorted. */ -int dld_preloaded_symbol_count = $count; - /* The mapping between symbol names and symbols. */ -struct { - char *name; - __ptr_t address; +const struct { + const char *name; + lt_ptr_t address; } -dld_preloaded_symbols[] = +lt_preloaded_symbols[] = { EOF - sed 's/^\(.*\) \(.*\)$/ {"\1", (__ptr_t) \&\2},/' < "$nlist" >> conftest.c - cat <<\EOF >> conftest.c - {0, (__ptr_t) 0} + sed 's/^\(.*\) \(.*\)$/ {"\1", (lt_ptr_t) \&\2},/' < "$nlist" >> conftest.c + cat <<\EOF >> conftest.c + {0, (lt_ptr_t) 0} }; #ifdef __cplusplus } #endif EOF - # Now try linking the two files. - mv conftest.$objext conftestm.$objext - save_LIBS="$LIBS" - save_CFLAGS="$CFLAGS" - LIBS="conftestm.$objext" - CFLAGS="$CFLAGS$no_builtin_flag" - if { (eval echo $progname:1487: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then - pipe_works=yes - else - echo "$progname: failed program was:" >&5 - cat conftest.c >&5 - fi - LIBS="$save_LIBS" + # Now try linking the two files. + mv conftest.$objext conftestm.$objext + save_LIBS="$LIBS" + save_CFLAGS="$CFLAGS" + LIBS="conftestm.$objext" + CFLAGS="$CFLAGS$no_builtin_flag" + if { (eval echo $progname:1522: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then + pipe_works=yes + else + echo "$progname: failed program was:" >&5 + cat conftest.c >&5 + fi + LIBS="$save_LIBS" + else + echo "cannot find nm_test_func in $nlist" >&5 + fi else - echo "cannot find nm_test_func in $nlist" >&5 + echo "cannot find nm_test_var in $nlist" >&5 fi else - echo "cannot find nm_test_var in $nlist" >&5 + echo "cannot run $global_symbol_pipe" >&5 fi else - echo "cannot run $global_symbol_pipe" >&5 + echo "$progname: failed program was:" >&5 + cat conftest.c >&5 fi -else - echo "$progname: failed program was:" >&5 - cat conftest.c >&5 -fi -$rm conftest* + $rm conftest* -# Do not use the global_symbol_pipe unless it works. + # Do not use the global_symbol_pipe unless it works. + if test "$pipe_works" = yes; then + break + else + global_symbol_pipe= + fi +done echo "$ac_t$pipe_works" 1>&6 -test "$pipe_works" = yes || global_symbol_pipe= # Check hardcoding attributes. echo $ac_n "checking how to hardcode library paths into programs... $ac_c" 1>&6 @@ -1554,24 +1594,22 @@ finish_eval= shlibpath_var= version_type=none dynamic_linker="$host_os ld.so" -sys_lib_search_path="/lib /usr/lib /usr/local/lib" -check_shared_deplibs_method='none' +sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" +file_magic_command= +deplibs_check_method='unknown' # Need to set the preceding variable on all platforms that support # interlibrary dependencies. # 'none' -- dependencies not supported. +# `unknown' -- same as none, but documents that we really don't know. # 'pass_all' -- all dependencies passed with no checks. # 'test_compile' -- check by making test program. -# 'file_regex' -- check by looking for filenames that look like the shared -# library in the library path. -# 'file_magic [regex]' -- check by looking for files in library path which -# responds to the "file" command with a given regex. This is actually a -# superset of the file_regex command. If you have file on your system, you'll -# want to use this instead. -# Notes: regexes are run through expr. - +# 'file_magic [regex]' -- check by looking for files in library path +# which responds to the $file_magic_command with a given egrep regex. +# If you have `file' or equivalent on your system and you're not sure +# whether `pass_all' will *always* work, you probably want this one. echo $ac_n "checking dynamic linker characteristics... $ac_c" 1>&6 case "$host_os" in -aix3* | aix4*) +aix3*) version_type=linux library_names_spec='${libname}${release}.so$versuffix $libname.a' shlibpath_var=LIBPATH @@ -1580,18 +1618,38 @@ aix3* | aix4*) soname_spec='${libname}${release}.so$major' ;; +aix4*) + version_type=linux + # AIX has no versioning support, so currently we can not hardcode correct + # soname into executable. Probably we can add versioning support to + # collect2, so additional links can be useful in future. + # We preserve .a as extension for shared libraries though AIX4.2 + # and later linker supports .so + library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.a' + shlibpath_var=LIBPATH + deplibs_check_method=pass_all + ;; + amigaos*) library_names_spec='$libname.ixlibrary $libname.a' # Create ${libname}_ixlibrary.a entries in /sys/libs. finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "(cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a)"; (cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a) || exit 1; done' ;; +beos*) + library_names_spec='${libname}.so' + dynamic_linker="$host_os ld.so" + shlibpath_var=LIBRARY_PATH + ;; + bsdi4*) version_type=linux - library_names_spec='${libname}.so.$major ${libname}.so' + library_names_spec='${libname}.so$major ${libname}.so' soname_spec='${libname}.so' finish_cmds='PATH="$PATH:/sbin" ldconfig $libdir' shlibpath_var=LD_LIBRARY_PATH + check_shared_deplibs_method='file_magic ELF 32-bit LSB shared object' + sys_lib_search_path="/shlib /usr/lib /usr/local/lib" ;; cygwin32* | mingw32*) @@ -1602,16 +1660,33 @@ cygwin32* | mingw32*) library_names_spec='${libname}`echo ${release} | sed -e 's/[.]/-/g'`${versuffix}.dll $libname.lib' fi dynamic_linker='Win32 ld.exe' - libname_spec='$name' + deplibs_check_method='file_magic file format pei*-i386.*architecture: i386' + file_magic_command='objdump -f' + need_lib_prefix=no + # FIXME: first we should search . and the directory the executable is in shlibpath_var=PATH ;; -freebsd2* | freebsd3*) +freebsd1*) + dynamic_linker=no + ;; + +freebsd*) objformat=`test -x /usr/bin/objformat && /usr/bin/objformat || echo aout` version_type=freebsd-$objformat - library_names_spec='${libname}${release}.so$versuffix $libname.so' + case "$version_type" in + freebsd-elf*) + deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB shared object' + file_magic_command=file + ;; + freebsd-*) + deplibs_check_method=unknown + ;; + esac + library_names_spec='${libname}${release}.so$versuffix $libname.so$versuffix' finish_cmds='PATH="$PATH:/sbin" OBJFORMAT="$objformat" ldconfig -m $libdir' shlibpath_var=LD_LIBRARY_PATH + need_version=yes ;; gnu*) @@ -1654,12 +1729,14 @@ linux-gnuoldld* | linux-gnuaout* | linux-gnucoff*) # This must be Linux ELF. linux-gnu*) version_type=linux + need_lib_prefix=no + need_version=no library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so' soname_spec='${libname}${release}.so$major' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' + finish_cmds='PATH="$PATH:/sbin" ldconfig -n $libdir' shlibpath_var=LD_LIBRARY_PATH - check_shared_deplibs_method='file_magic ELF 32-bit LSB shared object' - sys_lib_search_path="/lib /usr/lib /usr/local/lib `echo $LD_LIBRARY_PATH | sed -e 's/:/ /g'`" + deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )' + file_magic_command=file if test -f /lib/ld.so.1; then dynamic_linker='GNU ld.so' @@ -1672,7 +1749,21 @@ linux-gnu*) fi ;; -netbsd* | openbsd*) +netbsd*) + version_type=sunos + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + library_names_spec='${libname}${release}.so$versuffix' + finish_cmds='PATH="$PATH:/sbin" ldconfig -m $libdir' + dynamic_linker='NetBSD (a.out) ld.so' + else + library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major ${libname}${release}.so' + soname_spec='${libname}${release}.so$major' + dynamic_linker='NetBSD ld.elf_so' + fi + shlibpath_var=LD_LIBRARY_PATH + ;; + +openbsd*) version_type=sunos library_names_spec='${libname}${release}.so$versuffix' finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' @@ -1681,6 +1772,7 @@ netbsd* | openbsd*) os2*) libname_spec='$name' + need_lib_prefix=no library_names_spec='$libname.dll $libname.a' dynamic_linker='OS/2 ld.exe' shlibpath_var=LIBPATH @@ -1691,7 +1783,7 @@ osf3* | osf4*) soname_spec='${libname}${release}.so' library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so $libname.so' shlibpath_var=LD_LIBRARY_PATH - check_shared_deplibs_method='pass_all' + deplibs_check_method='pass_all' ;; sco3.2v5*) @@ -1703,11 +1795,15 @@ sco3.2v5*) solaris*) version_type=linux + need_lib_prefix=no + need_version=no library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so' soname_spec='${libname}${release}.so$major' shlibpath_var=LD_LIBRARY_PATH # ldd complains unless libraries are executable postinstall_cmds='chmod +x $lib' + deplibs_check_method="file_magic ELF [0-9][0-9]-bit [LM]SB dynamic lib" + file_magic_command="file" ;; sunos4*) @@ -1715,19 +1811,25 @@ sunos4*) library_names_spec='${libname}${release}.so$versuffix ${libname}.so$versuffix' finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' shlibpath_var=LD_LIBRARY_PATH + need_version=yes ;; -sysv4.2uw2*) +sysv4.2uw2* | sysv4.3* | sysv5*) version_type=linux library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so' soname_spec='${libname}${release}.so$major' shlibpath_var=LD_LIBRARY_PATH + case "$host_vendor" in + ncr) + deplibs_check_method='pass_all' + ;; + esac ;; uts4*) version_type=linux - library_names_spec='${libname}${release}.so.$versuffix ${libname}${release}.so.$major $libname.so' - soname_spec='${libname}${release}.so.$major' + library_names_spec='${libname}${release}.so.$versuffix ${libname}${release}.so$major $libname.so' + soname_spec='${libname}${release}.so$major' shlibpath_var=LD_LIBRARY_PATH ;; @@ -1754,13 +1856,17 @@ test "$can_build_shared" = "no" && enable_shared=no # On AIX, shared libraries and static libraries use the same namespace, and # are all built from PIC. case "$host_os" in -aix*) +aix3*) test "$enable_shared" = yes && enable_static=no if test -n "$RANLIB"; then archive_cmds="$archive_cmds~\$RANLIB \$lib" postinstall_cmds='$RANLIB $lib' fi ;; + +aix4*) + test "$enable_shared" = yes && enable_static=no + ;; esac echo "$ac_t$enable_shared" 1>&6 @@ -1790,20 +1896,23 @@ if test "X$ltecho" = "X$CONFIG_SHELL $0 --fallback-echo"; then fi LTSHELL="$SHELL" +LTCONFIG_VERSION="$VERSION" + # Only quote variables if we're using ltmain.sh. case "$ltmain" in *.sh) # Now quote all the things that may contain metacharacters. for var in ltecho old_CC old_CFLAGS old_CPPFLAGS old_LD old_NM old_RANLIB \ - old_LN_S old_DLLTOOL old_AS AR CC LD LN_S NM LTSHELL VERSION \ + old_LN_S old_DLLTOOL old_AS AR CC LD LN_S NM LTSHELL LTCONFIG_VERSION \ reload_flag reload_cmds wl \ pic_flag link_static_flag no_builtin_flag export_dynamic_flag_spec \ - whole_archive_flag_spec libname_spec library_names_spec soname_spec \ + thread_safe_flag_spec whole_archive_flag_spec libname_spec \ + library_names_spec soname_spec \ RANLIB old_archive_cmds old_archive_from_new_cmds old_postinstall_cmds \ old_postuninstall_cmds archive_cmds archive_sym_cmds postinstall_cmds postuninstall_cmds \ - check_shared_deplibs_method allow_undefined_flag no_undefined_flag \ - finish_cmds finish_eval global_symbol_pipe \ - hardcode_libdir_flag_spec hardcode_libdir_separator sys_lib_search_path \ + file_magic_command deplibs_check_method allow_undefined_flag no_undefined_flag \ + finish_cmds finish_eval global_symbol_pipe hardcode_libdir_flag_spec \ + hardcode_libdir_separator sys_lib_search_path_spec \ compiler_c_o compiler_o_lo need_locks; do case "$var" in @@ -1811,7 +1920,7 @@ case "$ltmain" in old_postinstall_cmds | old_postuninstall_cmds | \ archive_cmds | archive_sym_cmds | \ postinstall_cmds | postuninstall_cmds | \ - finish_cmds | sys_lib_search_path) + finish_cmds | sys_lib_search_path_spec) # Double-quote double-evaled strings. eval "$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\"\`\\\"" ;; @@ -1835,10 +1944,10 @@ case "$ltmain" in #! $SHELL # `$echo "$ofile" | sed 's%^.*/%%'` - Provide generalized library-building support services. -# Generated automatically by $PROGRAM (GNU $PACKAGE $VERSION) +# Generated automatically by $PROGRAM (GNU $PACKAGE $VERSION$TIMESTAMP) # NOTE: Changes made to this file will be lost: look at ltconfig or ltmain.sh. # -# Copyright (C) 1996-1998 Free Software Foundation, Inc. +# Copyright (C) 1996-1999 Free Software Foundation, Inc. # Gordon Matzigkeit , 1996 # # This program is free software; you can redistribute it and/or modify @@ -1886,7 +1995,7 @@ EOF $rm "$cfgfile" cat < "$cfgfile" # `$echo "$cfgfile" | sed 's%^.*/%%'` - Libtool configuration file. -# Generated automatically by $PROGRAM (GNU $PACKAGE $VERSION) +# Generated automatically by $PROGRAM (GNU $PACKAGE $VERSION$TIMESTAMP) EOF ;; esac @@ -1903,7 +2012,7 @@ cat <> "$cfgfile" # debugging $progname, is in ./config.log if it exists. # The version of $progname that generated this script. -LTCONFIG_VERSION=$VERSION +LTCONFIG_VERSION=$LTCONFIG_VERSION # Shell to use when invoking shell scripts. SHELL=$LTSHELL @@ -1970,6 +2079,12 @@ compiler_o_lo=$compiler_o_lo # Must we lock files when doing compilation ? need_locks=$need_locks +# Do we need the lib prefix for modules? +need_lib_prefix=$need_lib_prefix + +# Do we need a version for libraries? +need_version=$need_version + # Compiler flag to prevent dynamic linking. link_static_flag=$link_static_flag @@ -1982,6 +2097,9 @@ export_dynamic_flag_spec=$export_dynamic_flag_spec # Compiler flag to generate shared objects directly from archives. whole_archive_flag_spec=$whole_archive_flag_spec +# Compiler flag to generate thread-safe objects. +thread_safe_flag_spec=$thread_safe_flag_spec + # Library versioning type. version_type=$version_type @@ -2011,7 +2129,10 @@ postinstall_cmds=$postinstall_cmds postuninstall_cmds=$postuninstall_cmds # Method to check whether dependent libraries are shared objects. -check_shared_deplibs_method=$check_shared_deplibs_method +deplibs_check_method=$deplibs_check_method + +# Command to use when deplibs_check_method == file_magic +file_magic_command=$file_magic_command # Flag that allows shared libraries with undefined symbols to be built. allow_undefined_flag=$allow_undefined_flag @@ -2057,7 +2178,7 @@ hardcode_minus_L=$hardcode_minus_L hardcode_shlibpath_var=$hardcode_shlibpath_var # System search path for libraries -sys_lib_search_path=$sys_lib_search_path +sys_lib_search_path_spec=$sys_lib_search_path_spec # Fix the shell variable \$srcfile for the compiler. fix_srcfile_path="$fix_srcfile_path" diff --git a/ltmain.sh b/ltmain.sh index 21b200bf8c..6cb10226e1 100644 --- a/ltmain.sh +++ b/ltmain.sh @@ -1,7 +1,7 @@ # ltmain.sh - Provide generalized library-building support services. # NOTE: Changing this file will not affect anything until you rerun ltconfig. # -# Copyright (C) 1996-1998 Free Software Foundation, Inc. +# Copyright (C) 1996-1999 Free Software Foundation, Inc. # Gordon Matzigkeit , 1996 # # This program is free software; you can redistribute it and/or modify @@ -49,7 +49,8 @@ modename="$progname" # Constants. PROGRAM=ltmain.sh PACKAGE=libtool -VERSION=1.2d +VERSION=1.2e +TIMESTAMP=" (1.255 1999/01/28 13:33:31)" default_mode= help="Try \`$progname --help' for more information." @@ -60,8 +61,10 @@ rm="rm -f" # Sed substitution that helps us do robust quoting. It backslashifies # metacharacters that are still active within double-quoted strings. -Xsed='sed -e s/^X//' +Xsed='sed -e 1s/^X//' sed_quote_subst='s/\([\\`\\"$\\\\]\)/\\\1/g' +SP2NL='tr \040 \012' +NL2SP='tr \012 \040' # NLS nuisances. # Only set LANG and LC_ALL to C if already set. @@ -97,7 +100,6 @@ show="$echo" show_help= execute_dlfiles= lo2o="s/\\.lo\$/.${objext}/" -los2o="s/\\.lo /.${objext} /g" # Parse our command line options once, thoroughly. while test $# -gt 0 @@ -133,7 +135,7 @@ do ;; --version) - echo "$PROGRAM (GNU $PACKAGE) $VERSION" + echo "$PROGRAM (GNU $PACKAGE) $VERSION$TIMESTAMP" exit 0 ;; @@ -208,12 +210,12 @@ if test -z "$show_help"; then mode=link for arg do - case "$arg" in - -c) - mode=compile - break - ;; - esac + case "$arg" in + -c) + mode=compile + break + ;; + esac done ;; *db | *dbx | *strace | *truss) @@ -231,11 +233,11 @@ if test -z "$show_help"; then # Just use the default operation mode. if test -z "$mode"; then - if test -n "$nonopt"; then - $echo "$modename: warning: cannot infer operation mode from \`$nonopt'" 1>&2 - else - $echo "$modename: warning: cannot infer operation mode without MODE-ARGS" 1>&2 - fi + if test -n "$nonopt"; then + $echo "$modename: warning: cannot infer operation mode from \`$nonopt'" 1>&2 + else + $echo "$modename: warning: cannot infer operation mode without MODE-ARGS" 1>&2 + fi fi ;; esac @@ -262,7 +264,6 @@ if test -z "$show_help"; then lastarg= srcfile="$nonopt" suppress_output= - force_static=no user_target=no for arg @@ -270,36 +271,31 @@ if test -z "$show_help"; then # Accept any command-line options. case "$arg" in -o) - if test "$user_target" != "no"; then - $echo "$modename: you cannot specify \`-o' more than once" 1>&2 + if test "$user_target" != "no"; then + $echo "$modename: you cannot specify \`-o' more than once" 1>&2 exit 1 - fi - user_target=next + fi + user_target=next ;; - -force-static) - force_static=yes - continue - ;; - -static) - build_old_libs=yes - continue - ;; + build_old_libs=yes + continue + ;; esac case "$user_target" in next) - # The next one is the -o target name - user_target=yes - continue - ;; + # The next one is the -o target name + user_target=yes + continue + ;; yes) - # We got the output file - user_target=set - libobj="$arg" - continue - ;; + # We got the output file + user_target=set + libobj="$arg" + continue + ;; esac # Accept the current argument as the source file. @@ -318,15 +314,15 @@ if test -z "$show_help"; then # sets, so we specify it separately. case "$lastarg" in *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*) - lastarg="\"$lastarg\"" - ;; + lastarg="\"$lastarg\"" + ;; esac # Add the previous argument to base_compile. if test -z "$base_compile"; then - base_compile="$lastarg" + base_compile="$lastarg" else - base_compile="$base_compile $lastarg" + base_compile="$base_compile $lastarg" fi done @@ -377,9 +373,9 @@ if test -z "$show_help"; then # Delete any leftover library objects. if test "$build_old_libs" = yes; then - removelist="$obj $libobj $lockfile" + removelist="$obj $libobj" else - removelist="$libobj $lockfile" + removelist="$libobj" fi $run $rm $removelist @@ -401,8 +397,8 @@ if test -z "$show_help"; then # We use this script file to make the link, it avoids creating a new file if test "$need_locks" = yes; then until ln "$0" "$lockfile" 2>/dev/null; do - $show "Waiting for $lockfile to be removed" - sleep 2 + $show "Waiting for $lockfile to be removed" + sleep 2 done elif test "$need_locks" = warn; then if test -f "$lockfile"; then @@ -433,20 +429,42 @@ compiler." fbsd_hideous_sh_bug=$base_compile # All platforms use -DPIC, to notify preprocessed assembler code. - command="$base_compile$pic_flag -DPIC $srcfile" + command="$base_compile $pic_flag -DPIC $srcfile" + if test "$build_old_libs" = yes; then + lo_libobj="$libobj" + dir=`$echo "X$libobj" | $Xsed -e 's%/[^/]*$%%'` + if test "X$dir" = "X$libobj"; then + dir="$objdir" + else + dir="$dir/$objdir" + fi + libobj="$dir/"`$echo "X$libobj" | $Xsed -e 's%^.*/%%'` + + if test -d "$dir"; then + $show "$rm $libobj" + $run $rm $libobj + else + $show "$mkdir $dir" + $run $mkdir $dir + status=$? + if test $status -ne 0 && test ! -d $dir; then + exit $status + fi + fi + fi if test "$compiler_o_lo" = yes; then - command="$command -o $libobj" - output_obj="$libobj" + output_obj="$libobj" + command="$command -o $output_obj" elif test "$compiler_c_o" = yes; then - command="$command -o $obj" - output_obj="$obj" + output_obj="$obj" + command="$command -o $output_obj" fi $show "$command" if $run eval "$command"; then : else - test -n "$output_obj" && $run $rm $removelist - exit 1 + test -n "$output_obj" && $run $rm $removelist + exit 1 fi if test "$need_locks" = warn && @@ -470,9 +488,9 @@ compiler." fi # Just move the object if needed, then go on to compile the next one - if test "$compiler_o_lo" = no && test x"$output_obj" != x"$libobj"; then - $show "$mv $output_obj $libobj" - if $run $mv $output_obj $libobj; then : + if test x"$output_obj" != x"$libobj"; then + $show "$mv $output_obj $libobj" + if $run $mv $output_obj $libobj; then : else error=$? $run $rm $removelist @@ -480,14 +498,28 @@ compiler." fi fi - # If we have no pic_flag and do not have -force-static, - # then copy the object into place and finish. - if test -z "$pic_flag" && test "$force_static" = no; then - $show "$LN_S $libobj $obj" - if $run $LN_S $libobj $obj; then + # If we have no pic_flag, then copy the object into place and finish. + if test -z "$pic_flag" && test "$build_old_libs" = yes; then + # Rename the .lo from within objdir to obj + if test -f $obj; then + $show $rm $obj + $run $rm $obj + fi + + $show "$mv $libobj $obj" + if $run $mv $libobj $obj; then : + else + error=$? + $run $rm $removelist + exit $error + fi + + # Now arrange that obj and lo_libobj become the same file + $show "$LN_S $obj $lo_libobj" + if $run $LN_S $obj $lo_libobj; then exit 0 else - error=$? + error=$? $run $rm $removelist exit $error fi @@ -500,12 +532,9 @@ compiler." # Only build a position-dependent object if we build old libraries. if test "$build_old_libs" = yes; then command="$base_compile $srcfile" - if test "$force_static" = yes; then - command="$command -DLIBTOOL_STATIC" - fi if test "$compiler_c_o" = yes; then - command="$command -o $obj" - output_obj="$obj" + command="$command -o $obj" + output_obj="$obj" fi # Suppress compiler output if we already did a PIC compilation. @@ -513,8 +542,8 @@ compiler." $show "$command" if $run eval "$command"; then : else - $run $rm $removelist - exit 1 + $run $rm $removelist + exit 1 fi if test "$need_locks" = warn && @@ -538,9 +567,25 @@ compiler." fi # Just move the object if needed - if test "$compiler_c_o" = no && test x"$output_obj" != x"$obj"; then - $show "$mv $output_obj $obj" - if $run $mv $output_obj $obj; then : + if test x"$output_obj" != x"$obj"; then + $show "$mv $output_obj $obj" + if $run $mv $output_obj $obj; then : + else + error=$? + $run $rm $removelist + exit $error + fi + fi + + # Create an invalid libtool object if no PIC, so that we do not + # accidentally link it into a program. + if test "$build_libtool_libs" != yes; then + $show "echo timestamp > $libobj" + $run eval "echo timestamp > \$libobj" || exit $? + else + # Move the .lo from within objdir + $show "$mv $libobj $lo_libobj" + if $run $mv $libobj $lo_libobj; then : else error=$? $run $rm $removelist @@ -554,13 +599,6 @@ compiler." $rm "$lockfile" fi - # Create an invalid libtool object if no PIC, so that we do not - # accidentally link it into a program. - if test "$build_libtool_libs" != yes; then - $show "echo timestamp > $libobj" - $run eval "echo timestamp > \$libobj" || exit $? - fi - exit 0 ;; @@ -569,7 +607,47 @@ compiler." modename="$modename: link" C_compiler="$CC" # save it, to compile generated C sources CC="$nonopt" - allow_undefined=yes + case "$host" in + *-*-cygwin32* | *-*-mingw32* | *-*-os2*) + # It is impossible to link a dll without this setting, and + # we shouldn't force the makefile maintainer to figure out + # which system we are compiling for in order to pass an extra + # flag for every libtool invokation. + # allow_undefined=no + + # FIXME: Unfortunately, there are problems with the above when trying + # to make a dll which has undefined symbols, in which case not + # even a static library is built. For now, we need to specify + # -no-undefined on the libtool link line when we can be certain + # that all symbols are satisfied, otherwise we get a static library. + allow_undefined=yes + + # This is a source program that is used to create dlls on Windows + # Don't remove nor modify the starting and closing comments +# /* ltdll.c starts here */ +# #define WIN32_LEAN_AND_MEAN +# #include +# #undef WIN32_LEAN_AND_MEAN +# #include +# +# BOOL APIENTRY DllMain (HINSTANCE hInst, DWORD reason, LPVOID reserved); +# +# #include +# DECLARE_CYGWIN_DLL( DllMain ); +# HINSTANCE __hDllInstance_base; +# +# BOOL APIENTRY +# DllMain (HINSTANCE hInst, DWORD reason, LPVOID reserved) +# { +# __hDllInstance_base = hInst; +# return TRUE; +# } +# /* ltdll.c ends here */ + ;; + *) + allow_undefined=yes + ;; + esac compile_command="$CC" finalize_command="$CC" @@ -578,25 +656,40 @@ compiler." convenience= old_convenience= deplibs= - eval lib_search_path=\"$sys_lib_search_path\" + linkopts= + + if test -n "$shlibpath_var"; then + # get the directories listed in $shlibpath_var + eval lib_search_path=\`\$echo \"X \${$shlibpath_var}\" \| \$Xsed -e \'s/:/ /g\'\` + else + libsearch_path= + fi + # now prepend the system-specific ones + eval lib_search_path=\"$sys_lib_search_path_spec\$lib_search_path\" + avoid_version=no dlfiles= dlprefiles= export_dynamic=no export_symbols= generated= hardcode_libdirs= + finalize_hardcode_libdirs= libobjs= link_against_libtool_libs= ltlibs= module=no objs= + preload=no prev= prevarg= release= rpath= + xrpath= perm_rpath= temp_rpath= + finalize_rpath= + thread_safe=no vinfo= # We need to know -static, to get the right output filenames. @@ -604,13 +697,13 @@ compiler." do case "$arg" in -all-static | -static) - if test "X$arg" = "X-all-static" && test "$build_libtool_libs" = yes && test -z "$link_static_flag"; then + if test "X$arg" = "X-all-static" && test "$build_libtool_libs" = yes && test -z "$link_static_flag"; then $echo "$modename: warning: complete static linking is impossible in this configuration" 1>&2 - fi - build_libtool_libs=no + fi + build_libtool_libs=no build_old_libs=yes - break - ;; + break + ;; esac done @@ -624,30 +717,36 @@ compiler." # If the previous option needs an argument, assign it. if test -n "$prev"; then - case "$prev" in - output) - compile_command="$compile_command @OUTPUT@" - finalize_command="$finalize_command @OUTPUT@" - ;; - esac + case "$prev" in + output) + compile_command="$compile_command @OUTPUT@" + finalize_command="$finalize_command @OUTPUT@" + ;; + esac - case "$prev" in - dlfiles|dlprefiles) - case "$arg" in - *.la | *.lo) ;; # We handle these cases below. - *) - dlprefiles="$dlprefiles $arg" - test "$prev" = dlfiles && dlfiles="$dlfiles $arg" - prev= - ;; - esac - ;; + case "$prev" in + dlfiles|dlprefiles) + if test "$preload" = no; then + # Add the symbol object into the linking commands. + compile_command="$compile_command @SYMFILE@" + finalize_command="$finalize_command @SYMFILE@" + preload=yes + fi + case "$arg" in + *.la | *.lo) ;; # We handle these cases below. + *) + dlprefiles="$dlprefiles $arg" + test "$prev" = dlfiles && dlfiles="$dlfiles $arg" + prev= + ;; + esac + ;; exportsyms) export_symbols="$arg" - if test ! -f "$arg"; then - $echo "$modename: symbol file \`$arg' does not exist" - exit 1 - fi + if test ! -f "$arg"; then + $echo "$modename: symbol file \`$arg' does not exist" + exit 1 + fi prev= ;; release) @@ -655,17 +754,22 @@ compiler." prev= continue ;; - rpath) - rpath="$rpath $arg" + rpath) + rpath="$rpath $arg" prev= continue ;; - *) - eval "$prev=\"\$arg\"" - prev= - continue - ;; - esac + xrpath) + xrpath="$xrpath $arg" + prev= + continue + ;; + *) + eval "$prev=\"\$arg\"" + prev= + continue + ;; + esac fi prevarg="$arg" @@ -673,10 +777,10 @@ compiler." case "$arg" in -all-static) if test -n "$link_static_flag"; then - compile_command="$compile_command $link_static_flag" + compile_command="$compile_command $link_static_flag" finalize_command="$finalize_command $link_static_flag" - fi - continue + fi + continue ;; -allow-undefined) @@ -685,67 +789,87 @@ compiler." continue ;; + -avoid-version) + avoid_version=yes + continue + ;; + -dlopen) - prev=dlfiles - continue - ;; + prev=dlfiles + continue + ;; -dlpreopen) - prev=dlprefiles - continue - ;; + prev=dlprefiles + continue + ;; -export-dynamic) - if test "$export_dynamic" != yes; then - export_dynamic=yes + if test "$export_dynamic" != yes; then + export_dynamic=yes if test -n "$export_dynamic_flag_spec"; then eval arg=\"$export_dynamic_flag_spec\" else arg= fi - - # Add the symbol object into the linking commands. - compile_command="$compile_command @SYMFILE@" - finalize_command="$finalize_command @SYMFILE@" - fi - ;; + if test "$preload" = no; then + # Add the symbol object into the linking commands. + compile_command="$compile_command @SYMFILE@" + finalize_command="$finalize_command @SYMFILE@" + preload=yes + fi + fi + ;; -export-symbols) - if test -n "$export_symbols"; then - $echo "$modename: cannot have more than one -exported-symbols" - exit 1 - fi + if test -n "$export_symbols"; then + $echo "$modename: cannot have more than one -exported-symbols" + exit 1 + fi prev=exportsyms continue - ;; + ;; -L*) - dir=`$echo "X$arg" | $Xsed -e 's%^-L\(.*\)$%\1%'` - case "$dir" in - /* | [A-Za-z]:[/\\]*) + dir=`$echo "X$arg" | $Xsed -e 's%^-L\(.*\)$%\1%'` + case "$dir" in + /* | [A-Za-z]:[/\\]*) # Add the corresponding hardcode_libdir_flag, if it is not identical. - ;; - *) - $echo "$modename: \`-L$dir' cannot specify a relative directory" 1>&2 - exit 1 - ;; - esac - deplibs="$deplibs $arg" - lib_search_path="$lib_search_path `expr $arg : '-L\(.*\)'`" - ;; + ;; + *) + $echo "$modename: \`-L$dir' cannot specify a relative directory" 1>&2 + exit 1 + ;; + esac + deplibs="$deplibs $arg" + lib_search_path="$lib_search_path `expr $arg : '-L\(.*\)'`" + case "$host" in + *-*-cygwin32* | *-*-mingw32* | *-*-os2*) + dllsearchdir="`expr $arg : '-L\(.*\)'`" + dllsearchdir=`cd "$dllsearchdir" && pwd || echo "$dllsearchdir"` + if test -n "$dllsearchpath"; then + dllsearchpath="$dllsearchpath:$dllsearchdir" + else + dllsearchpath="$dllsearchdir" + fi + ;; + esac + ;; - -l*) deplibs="$deplibs $arg" ;; + -l*) + deplibs="$deplibs $arg" + ;; -module) - if test "$module" != yes; then - module=yes + if test "$module" != yes; then + module=yes if test -n "$export_dynamic_flag_spec"; then eval arg=\"$export_dynamic_flag_spec\" else arg= fi fi - ;; + ;; -no-undefined) allow_undefined=no @@ -760,23 +884,38 @@ compiler." ;; -rpath) - prev=rpath - continue - ;; + prev=rpath + continue + ;; + + -R) + prev=xrpath + continue + ;; + + -R*) + xrpath="$xrpath "`echo "X$arg" | $Xsed -e 's/^-R//'` + continue + ;; -static) # If we have no pic_flag, then this is the same as -all-static. if test -z "$pic_flag" && test -n "$link_static_flag"; then - compile_command="$compile_command $link_static_flag" + compile_command="$compile_command $link_static_flag" finalize_command="$finalize_command $link_static_flag" - fi + fi + continue + ;; + + -thread-safe) + thread_safe=yes continue ;; -version-info) - prev=vinfo - continue - ;; + prev=vinfo + continue + ;; # Some other compiler flag. -* | +*) @@ -788,15 +927,15 @@ compiler." arg="\"$arg\"" ;; esac - ;; + ;; *.o | *.obj | *.a | *.lib) - # A standard object. - objs="$objs $arg" - ;; + # A standard object. + objs="$objs $arg" + ;; *.lo) - # A library object. + # A library object. if test "$prev" = dlfiles; then dlfiles="$dlfiles $arg" if test "$build_libtool_libs" = yes; then @@ -814,46 +953,46 @@ compiler." prev= fi libobjs="$libobjs $arg" - ;; + ;; *.la) - # A libtool-controlled library. + # A libtool-controlled library. - dlname= - libdir= - library_names= - old_library= + dlname= + libdir= + library_names= + old_library= - # Check to see that this really is a libtool archive. - if (sed -e '2q' $arg | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then : - else - $echo "$modename: \`$arg' is not a valid libtool archive" 1>&2 - exit 1 - fi + # Check to see that this really is a libtool archive. + if (sed -e '2q' $arg | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then : + else + $echo "$modename: \`$arg' is not a valid libtool archive" 1>&2 + exit 1 + fi # If the library was installed with an old release of libtool, # it will not redefine variable installed. installed=yes - # If there is no directory component, then add one. - case "$arg" in - */* | *\\*) . $arg ;; - *) . ./$arg ;; - esac + # If there is no directory component, then add one. + case "$arg" in + */* | *\\*) . $arg ;; + *) . ./$arg ;; + esac - # Get the name of the library we link against. - linklib= - for l in $old_library $library_names; do - linklib="$l" - done + # Get the name of the library we link against. + linklib= + for l in $old_library $library_names; do + linklib="$l" + done - if test -z "$linklib"; then - $echo "$modename: cannot find name of link library for \`$arg'" 1>&2 - exit 1 - fi + if test -z "$linklib"; then + $echo "$modename: cannot find name of link library for \`$arg'" 1>&2 + exit 1 + fi - # Find the relevant object directory and library name. - name=`$echo "X$arg" | $Xsed -e 's%^.*/%%' -e 's/\.la$//' -e 's/^lib//'` + # Find the relevant object directory and library name. + name=`$echo "X$arg" | $Xsed -e 's%^.*/%%' -e 's/\.la$//' -e 's/^lib//'` if test "X$installed" = Xyes; then dir="$libdir" @@ -866,7 +1005,19 @@ compiler." fi fi - if test -z "$libdir"; then + if test -n "$dependency_libs"; then + # Extract -R from dependency_libs + temp_deplibs= + for deplib in $dependency_libs; do + case "$deplib" in + -R*) xrpath="$xrpath "`echo "X$deplib" | $Xsed -e 's/^-R//'`;; + *) temp_deplibs="$temp_deplibs $deplib";; + esac + done + dependency_libs="$temp_deplibs" + fi + + if test -z "$libdir"; then # It is a libtool convenience library, so add in its objects. convenience="$convenience $dir/$old_library" old_convenience="$old_convenience $dir/$old_library" @@ -876,54 +1027,69 @@ compiler." continue fi - # This library was specified with -dlopen. - if test "$prev" = dlfiles; then - dlfiles="$dlfiles $arg" - if test -z "$dlname" || test "$build_libtool_libs" = no; then - # If there is no dlname or we're linking statically, - # we need to preload. - prev=dlprefiles - else - # We should not create a dependency on this library, but we + # This library was specified with -dlopen. + if test "$prev" = dlfiles; then + dlfiles="$dlfiles $arg" + if test -z "$dlname" || test "$build_libtool_libs" = no; then + # If there is no dlname or we're linking statically, + # we need to preload. + prev=dlprefiles + else + # We should not create a dependency on this library, but we # may need any libraries it requires. compile_command="$compile_command$dependency_libs" finalize_command="$finalize_command$dependency_libs" - prev= - continue - fi - fi + prev= + continue + fi + fi - # The library was specified with -dlpreopen. - if test "$prev" = dlprefiles; then - # Prefer using a static library (so that no silly _DYNAMIC symbols - # are required to link). - if test -n "$old_library"; then - dlprefiles="$dlprefiles $dir/$old_library" - else - dlprefiles="$dlprefiles $dir/$linklib" - fi - prev= - fi + # The library was specified with -dlpreopen. + if test "$prev" = dlprefiles; then + # Prefer using a static library (so that no silly _DYNAMIC symbols + # are required to link). + if test -n "$old_library"; then + dlprefiles="$dlprefiles $dir/$old_library" + else + dlprefiles="$dlprefiles $dir/$linklib" + fi + prev= + fi - if test "$build_libtool_libs" = yes && test -n "$library_names"; then - link_against_libtool_libs="$link_against_libtool_libs $arg" - if test -n "$shlibpath_var"; then - # Make sure the rpath contains only unique directories. - case "$temp_rpath " in - *" $dir "*) ;; - *) temp_rpath="$temp_rpath $dir" ;; - esac - fi + if test "$build_libtool_libs" = yes && test -n "$library_names"; then + link_against_libtool_libs="$link_against_libtool_libs $arg" + if test -n "$shlibpath_var"; then + # Make sure the rpath contains only unique directories. + case "$temp_rpath " in + *" $dir "*) ;; + *) temp_rpath="$temp_rpath $dir" ;; + esac + fi # This is the magic to use -rpath. - if test -n "$hardcode_libdir_flag_spec"; then - if test -n "$hardcode_libdir_separator"; then - if test -z "$hardcode_libdirs"; then - # Put the magic libdir with the hardcode flag. - hardcode_libdirs="$libdir" - libdir="@HARDCODE_LIBDIRS@" - else - # Just accumulate the unique libdirs. + if test -n "$hardcode_libdir_flag_spec"; then + saved_libdir="$libdir" + libdir="$dir" + + # We need an absolute path. + case "$libdir" in + /* | [A-Za-z]:[/\\]*) ;; + *) + absdir=`cd "$libdir" && pwd` + if test -z "$absdir"; then + $echo "$modename: cannot determine absolute directory name of \`$libdir'" 1>&2 + else + libdir="$absdir" + fi + ;; + esac + if test -n "$hardcode_libdir_separator"; then + if test -z "$hardcode_libdirs"; then + # Put the magic libdir with the hardcode flag. + hardcode_libdirs="$libdir" + libdir="@HARDCODE_LIBDIRS@" + else + # Just accumulate the unique libdirs. case "$hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator" in *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) ;; @@ -931,99 +1097,155 @@ compiler." hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir" ;; esac - libdir= - fi - fi + libdir= + fi + fi - if test -n "$libdir"; then - eval flag=\"$hardcode_libdir_flag_spec\" + if test -n "$libdir"; then + eval flag=\"$hardcode_libdir_flag_spec\" - compile_command="$compile_command $flag" - finalize_command="$finalize_command $flag" - fi - elif test -n "$runpath_var"; then - # Do the same for the permanent run path. - case "$perm_rpath " in - *" $libdir "*) ;; - *) perm_rpath="$perm_rpath $libdir" ;; - esac - fi + compile_command="$compile_command $flag" + fi + + libdir="$saved_libdir" + if test -n "$hardcode_libdir_separator"; then + if test -z "$finalize_hardcode_libdirs"; then + # Put the magic libdir with the hardcode flag. + finalize_hardcode_libdirs="$libdir" + libdir="@HARDCODE_LIBDIRS@" + else + # Just accumulate the unique libdirs. + case "$hardcode_libdir_separator$finalize_hardcode_libdirs$hardcode_libdir_separator" in + *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) + ;; + *) + finalize_hardcode_libdirs="$finalize_hardcode_libdirs$hardcode_libdir_separator$libdir" + ;; + esac + libdir= + fi + fi + + if test -n "$libdir"; then + eval flag=\"$hardcode_libdir_flag_spec\" + + finalize_command="$finalize_command $flag" + fi + # libdir is also use after "$hardcode_action" case + libdir="$saved_libdir" + elif test -n "$runpath_var"; then + # Do the same for the permanent run path. + case "$dir" in + /* | [A-Za-z]:[/\\]*) absdir="$dir";; + *) + absdir=`cd "$dir" && pwd` + if test -z "$absdir"; then + $echo "$modename: cannot determine absolute directory name of \`$dir'" 1>&2 + absdir="$dir" + fi + ;; + esac + case "$perm_rpath " in + *" $absdir "*) ;; + *) perm_rpath="$perm_rpath $absdir" ;; + esac + case "$finalize_perm_rpath " in + *" $libdir "*) ;; + *) finalize_perm_rpath="$finalize_perm_rpath $libdir" ;; + esac + fi lib_linked=yes - case "$hardcode_action" in - immediate | unsupported) - if test "$hardcode_direct" = no; then - compile_command="$compile_command $dir/$linklib" - elif test "$hardcode_minus_L" = no; then + case "$hardcode_action" in + immediate | unsupported) + if test "$hardcode_direct" = no; then + compile_command="$compile_command $dir/$linklib" + deplibs="$deplibs $dir/$linklib" case "$host" in - *-*-sunos*) - compile_shlibpath="$compile_shlibpath$dir:" + *-*-cygwin32* | *-*-mingw32* | *-*-os2*) + dllsearchdir=`cd "$dir" && pwd || echo "$dir"` + if test -n "$dllsearchpath"; then + dllsearchpath="$dllsearchpath:$dllsearchdir" + else + dllsearchpath="$dllsearchdir" + fi ;; esac - compile_command="$compile_command -L$dir -l$name" - elif test "$hardcode_shlibpath_var" = no; then - compile_shlibpath="$compile_shlibpath$dir:" - compile_command="$compile_command -l$name" + elif test "$hardcode_minus_L" = no; then + case "$host" in + *-*-sunos*) + compile_shlibpath="$compile_shlibpath$dir:" + ;; + esac + compile_command="$compile_command -L$dir -l$name" + deplibs="$deplibs -L$dir -l$name" + elif test "$hardcode_shlibpath_var" = no; then + compile_shlibpath="$compile_shlibpath$dir:" + compile_command="$compile_command -l$name" + deplibs="$deplibs -l$name" else lib_linked=no - fi - ;; + fi + ;; - relink) - # We need an absolute path. - case "$dir" in - /* | [A-Za-z]:[/\\]*) ;; - *) - absdir=`cd "$dir" && pwd` - if test -z "$absdir"; then - $echo "$modename: cannot determine absolute directory name of \`$dir'" 1>&2 - exit 1 - fi - dir="$absdir" - ;; - esac + relink) + # We need an absolute path. + case "$dir" in + /* | [A-Za-z]:[/\\]*) ;; + *) + absdir=`cd "$dir" && pwd` + if test -z "$absdir"; then + $echo "$modename: cannot determine absolute directory name of \`$dir'" 1>&2 + exit 1 + fi + dir="$absdir" + ;; + esac - if test "$hardcode_direct" = yes; then - compile_command="$compile_command $dir/$linklib" - elif test "$hardcode_minus_L" = yes; then - compile_command="$compile_command -L$dir -l$name" - elif test "$hardcode_shlibpath_var" = yes; then - compile_shlibpath="$compile_shlibpath$dir:" - compile_command="$compile_command -l$name" + if test "$hardcode_direct" = yes; then + compile_command="$compile_command $dir/$linklib" + deplibs="$deplibs $dir/$linklib" + elif test "$hardcode_minus_L" = yes; then + compile_command="$compile_command -L$dir -l$name" + deplibs="$deplibs -L$dir -l$name" + elif test "$hardcode_shlibpath_var" = yes; then + compile_shlibpath="$compile_shlibpath$dir:" + compile_command="$compile_command -l$name" + deplibs="$deplibs -l$name" else lib_linked=no - fi - ;; + fi + ;; *) lib_linked=no ;; - esac + esac if test "$lib_linked" != yes; then $echo "$modename: configuration error: unsupported hardcode properties" exit 1 fi - # Finalize command for both is simple: just hardcode it. - if test "$hardcode_direct" = yes; then - finalize_command="$finalize_command $libdir/$linklib" - elif test "$hardcode_minus_L" = yes; then - finalize_command="$finalize_command -L$libdir -l$name" - elif test "$hardcode_shlibpath_var" = yes; then - finalize_shlibpath="$finalize_shlibpath$libdir:" - finalize_command="$finalize_command -l$name" - else - # We cannot seem to hardcode it, guess we'll fake it. - finalize_command="$finalize_command -L$libdir -l$name" - fi - else - # Transform directly to old archives if we don't build new libraries. - if test -n "$pic_flag" && test -z "$old_library"; then - $echo "$modename: cannot find static library for \`$arg'" 1>&2 - exit 1 - fi + # Finalize command for both is simple: just hardcode it. + if test "$hardcode_direct" = yes; then + finalize_command="$finalize_command $libdir/$linklib" + elif test "$hardcode_minus_L" = yes; then + finalize_command="$finalize_command -L$libdir -l$name" + elif test "$hardcode_shlibpath_var" = yes; then + finalize_shlibpath="$finalize_shlibpath$libdir:" + finalize_command="$finalize_command -l$name" + else + # We cannot seem to hardcode it, guess we'll fake it. + finalize_command="$finalize_command -L$libdir -l$name" + fi + else + # Transform directly to old archives if we don't build new libraries. + if test -n "$pic_flag" && test -z "$old_library"; then + $echo "$modename: cannot find static library for \`$arg'" 1>&2 + exit 1 + fi # Here we assume that one of hardcode_direct or hardcode_minus_L # is not unsupported. This is valid on all known static and @@ -1036,13 +1258,13 @@ compiler." compile_command="$compile_command -L$dir -l$name" finalize_command="$finalize_command -L$dir -l$name" fi - fi + fi # Add in any libraries that this one depends upon. compile_command="$compile_command$dependency_libs" finalize_command="$finalize_command$dependency_libs" continue - ;; + ;; # Some other compiler argument. *) @@ -1054,7 +1276,7 @@ compiler." arg="\"$arg\"" ;; esac - ;; + ;; esac # Now actually substitute the argument into the commands. @@ -1078,6 +1300,7 @@ compiler." oldlibs= # calculate the name of the file, without its directory outputname=`$echo "X$output" | $Xsed -e 's%^.*/%%'` + libobjs_save="$libobjs" case "$output" in "") @@ -1088,32 +1311,36 @@ compiler." *.a | *.lib) if test -n "$link_against_libtool_libs"; then - $echo "$modename: error: cannot link libtool libraries into archives" 1>&2 - exit 1 + $echo "$modename: error: cannot link libtool libraries into archives" 1>&2 + exit 1 fi if test -n "$deplibs"; then - $echo "$modename: warning: \`-l' and \`-L' are ignored for archives" 1>&2 + $echo "$modename: warning: \`-l' and \`-L' are ignored for archives" 1>&2 fi if test -n "$dlfiles$dlprefiles"; then - $echo "$modename: warning: \`-dlopen' is ignored for archives" 1>&2 + $echo "$modename: warning: \`-dlopen' is ignored for archives" 1>&2 fi if test -n "$rpath"; then - $echo "$modename: warning: \`-rpath' is ignored for archives" 1>&2 + $echo "$modename: warning: \`-rpath' is ignored for archives" 1>&2 + fi + + if test -n "$xrpath"; then + $echo "$modename: warning: \`-R' is ignored for archives" 1>&2 fi if test -n "$vinfo"; then - $echo "$modename: warning: \`-version-info' is ignored for archives" 1>&2 + $echo "$modename: warning: \`-version-info' is ignored for archives" 1>&2 fi if test -n "$release"; then - $echo "$modename: warning: \`-release' is ignored for archives" 1>&2 + $echo "$modename: warning: \`-release' is ignored for archives" 1>&2 fi if test -n "$export_symbols"; then - $echo "$modename: warning: \`-export-symbols' is ignored for archives" 1>&2 + $echo "$modename: warning: \`-export-symbols' is ignored for archives" 1>&2 fi # Now set the variables for building old libraries. @@ -1124,22 +1351,31 @@ compiler." *.la) # Make sure we only generate libraries of the form `libNAME.la'. case "$outputname" in - lib*) ;; + lib*) + name=`$echo "X$outputname" | $Xsed -e 's/\.la$//' -e 's/^lib//'` + eval libname=\"$libname_spec\" + ;; *) - $echo "$modename: libtool library \`$output' must begin with \`lib'" 1>&2 - $echo "$help" 1>&2 - exit 1 + if test "$module" = no; then + $echo "$modename: libtool library \`$output' must begin with \`lib'" 1>&2 + $echo "$help" 1>&2 + exit 1 + fi + if test "$need_lib_prefix" != no; then + # Add the "lib" prefix for modules if required + name=`$echo "X$outputname" | $Xsed -e 's/\.la$//'` + eval libname=\"$libname_spec\" + else + libname=`$echo "X$outputname" | $Xsed -e 's/\.la$//'` + fi ;; esac - name=`$echo "X$outputname" | $Xsed -e 's/\.la$//' -e 's/^lib//'` - eval libname=\"$libname_spec\" - output_objdir=`$echo "X$output" | $Xsed -e 's%/[^/]*$%%'` if test "X$output_objdir" = "X$output"; then - output_objdir="$objdir" + output_objdir="$objdir" else - output_objdir="$output_objdir/$objdir" + output_objdir="$output_objdir/$objdir" fi # All the library-specific variables (install_libdir is set above). @@ -1148,18 +1384,18 @@ compiler." dlname= if test -n "$objs"; then - $echo "$modename: cannot build libtool library \`$output' from non-libtool objects:$objs" 2>&1 - exit 1 + $echo "$modename: cannot build libtool library \`$output' from non-libtool objects:$objs" 2>&1 + exit 1 fi # How the heck are we supposed to write a wrapper for a shared library? if test -n "$link_against_libtool_libs"; then - $echo "$modename: error: cannot link shared libraries into libtool libraries" 1>&2 - exit 1 + $echo "$modename: error: cannot link shared libraries into libtool libraries" 1>&2 + exit 1 fi if test -n "$dlfiles$dlprefiles"; then - $echo "$modename: warning: \`-dlopen' is ignored for libtool libraries" 1>&2 + $echo "$modename: warning: \`-dlopen' is ignored for libtool libraries" 1>&2 fi set dummy $rpath @@ -1170,10 +1406,13 @@ compiler." oldlibs= if test -z "$rpath"; then - # Building a libtool convenience library. - libext=al - oldlibs="$output_objdir/$libname.$libext $oldlibs" - build_libtool_libs=convenience + if test "$build_libtool_libs" = yes; then + # Building a libtool convenience library. + libext=al + oldlibs="$output_objdir/$libname.$libext $oldlibs" + build_libtool_libs=convenience + build_old_libs=yes + fi dependency_libs="$deplibs" if test -n "$vinfo"; then @@ -1295,15 +1534,21 @@ compiler." # Clear the version info if we defaulted, and they specified a release. if test -z "$vinfo" && test -n "$release"; then major= - versuffix= verstring="0.0" - case "$host" in - *-*-sunos*) + if test "$need_version" = no; then + versuffix= + else versuffix=".0.0" - ;; - esac + fi fi + # Remove version info from name if versioning should be avoided + if test "$avoid_version" = yes && test "$need_version" = no; then + major= + versuffix= + verstring="" + fi + # Check to see if the archive will have undefined symbols. if test "$allow_undefined" = yes; then if test "$allow_undefined_flag" = unsupported; then @@ -1316,22 +1561,29 @@ compiler." allow_undefined_flag="$no_undefined_flag" fi - # Add libc to deplibs on all systems. dependency_libs="$deplibs" - deplibs="$deplibs -lc" + case "$host" in + *-*-cygwin32* | *-*-mingw32* | *-*-os2*) + # these systems don't actually have a c library (as such)! + ;; + *) + # Add libc to deplibs on all other systems. + deplibs="$deplibs -lc" + ;; + esac fi # Create the output directory, or remove our outputs if we need to. if test -d $output_objdir; then - $show "${rm}r $output_objdir/$outputname $output_objdir/$libname.* $output_objdir/${libname}${release}.*" + $show "${rm}r $output_objdir/$outputname $output_objdir/$libname.* $output_objdir/${libname}${release}.*" $run ${rm}r $output_objdir/$outputname $output_objdir/$libname.* $output_objdir/${libname}${release}.* else - $show "$mkdir $output_objdir" - $run $mkdir $output_objdir - status=$? - if test $status -ne 0 && test ! -d $output_objdir; then - exit $status - fi + $show "$mkdir $output_objdir" + $run $mkdir $output_objdir + status=$? + if test $status -ne 0 && test ! -d $output_objdir; then + exit $status + fi fi # Now set the variables for building old libraries. @@ -1339,172 +1591,216 @@ compiler." oldlibs="$oldlibs $output_objdir/$libname.$libext" # Transform .lo files to .o files. - oldobjs="$objs"`$echo "X$libobjs " | $Xsed -e 's/[^ ]*\.'${libext}' //g' -e "$los2o" -e 's/ $//g'` + oldobjs="$objs "`$echo "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}'$/d' -e "$lo2o" | $NL2SP` fi if test "$build_libtool_libs" = yes; then - # Transform deplibs into only deplibs that can be linked in shared. - ## Gordon: Do you check for the existence of the libraries in deplibs - ## on the system? That should maybe be merged in here someplace.... - ## Actually: I think test_compile and file_magic do this... file_regex - ## sorta does this. Only pas_all needs to be changed. -Toshio - name_save=$name - libname_save=$libname - release_save=$release - versuffix_save=$versuffix - major_save=$major - # I'm not sure if I'm treating the release correctly. I think - # release should show up in the -l (ie -lgmp5) so we don't want to - # add it in twice. Is that correct? - release="" - versuffix="" - major="" - newdeplibs= - case "$check_shared_deplibs_method" in - pass_all) - newdeplibs=$deplibs - ;; # Don't check for shared/static. Everything works. - # This might be a little naive. We might want to check - # whether the library exists or not. But this is on - # osf3 & osf4 and I'm not really sure... Just - # implementing what was already the behaviour. - test_compile) - # This code stresses the "libraries are programs" paradigm to its - # limits. Maybe even breaks it. We compile a program, linking it - # against the deplibs as a proxy for the library. Then we can check - # whether they linked in statically or dynamically with ldd. - $rm conftest.c - cat > conftest.c < conftest.c </dev/null` - for potent_lib in $potential_libs; do - file_output=`file $potent_lib` - if test `expr "$file_output" : ".*$file_magic_regex"` -ne 0 ; then - newdeplibs="$newdeplibs $a_deplib" - a_deplib="" - break 2 - fi - done - done - ;; - file_regex) - deplib_matches=`eval \\$echo \"$library_names_spec\"` - set dummy $deplib_matches - deplib_match=$2 - for i in $lib_search_path; do - potential_libs=`ls $i/$deplib_match* 2>/dev/null` - if test "$potential_libs" != "" ; then - newdeplibs="$newdeplibs $a_deplib" - a_deplib="" - break - fi - done - ;; - esac - if test "$a_deplib" != "" ; then - echo - echo "*** Warning: This library needs some functionality provided by $a_deplib." - echo "*** I have the capability to make that library automatically link in when" - echo "*** you link to this library. But I can only do this if you have a" - echo "*** shared version of the library, which you do not appear to have." - fi - else - # Add a -L argument. - newdeplibs="$newdeplibs $a_deplib" - fi - done # Gone through all deplibs. - ;; - none | *) deplibs="" ;; - esac - versuffix=$versuffix_save - major=$major_save - release=$release_save - libname=$libname_save - name=$name_save - deplibs=$newdeplibs - # Done checking deplibs! + $rm conftest + $C_compiler -o conftest conftest.c $deplibs + if test $? -eq 0 ; then + ldd_output=`ldd conftest` + for i in $deplibs; do + name="`expr $i : '-l\(.*\)'`" + # If $name is empty we are operating on a -L argument. + if test "$name" != "" ; then + libname=`eval \\$echo \"$libname_spec\"` + deplib_matches=`eval \\$echo \"$library_names_spec\"` + set dummy $deplib_matches + deplib_match=$2 + if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0 ; then + newdeplibs="$newdeplibs $i" + else + droppeddeps=yes + echo + echo "*** Warning: This library needs some functionality provided by $i." + echo "*** I have the capability to make that library automatically link in when" + echo "*** you link to this library. But I can only do this if you have a" + echo "*** shared version of the library, which you do not appear to have." + fi + else + newdeplibs="$newdeplibs $i" + fi + done + else + # Error occured in the first compile. Let's try to salvage the situation: + # Compile a seperate program for each library. + for i in $deplibs; do + name="`expr $i : '-l\(.*\)'`" + # If $name is empty we are operating on a -L argument. + if test "$name" != "" ; then + $rm conftest + $C_compiler -o conftest conftest.c $i + # Did it work? + if test $? -eq 0 ; then + ldd_output=`ldd conftest` + libname=`eval \\$echo \"$libname_spec\"` + deplib_matches=`eval \\$echo \"$library_names_spec\"` + set dummy $deplib_matches + deplib_match=$2 + if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0 ; then + newdeplibs="$newdeplibs $i" + else + droppeddeps=yes + echo + echo "*** Warning: This library needs some functionality provided by $i." + echo "*** I have the capability to make that library automatically link in when" + echo "*** you link to this library. But I can only do this if you have a" + echo "*** shared version of the library, which you do not appear to have." + fi + else + droppeddeps=yes + echo + echo "*** Warning! Library $i is needed by this library but I was not able to" + echo "*** make it link in! You will probably need to install it or some" + echo "*** library that it depends on before this library will be fully" + echo "*** functional. Installing it before continuing would be even better." + fi + else + newdeplibs="$newdeplibs $i" + fi + done + fi + deplibs=$newdeplibs + ;; + file_magic*) + set dummy $deplibs_check_method + file_magic_regex="`expr \"$deplibs_check_method\" : \"$2 \(.*\)\"`" + for a_deplib in $deplibs; do + name="`expr $a_deplib : '-l\(.*\)'`" + # If $name is empty we are operating on a -L argument. + if test "$name" != "" ; then + libname=`eval \\$echo \"$libname_spec\"` + for i in $lib_search_path; do + potential_libs=`ls $i/$libname[.-]* 2>/dev/null` + for potent_lib in $potential_libs; do + # Follow soft links. + if ls -lLd "$potlib" 2>/dev/null \ + | grep " -> " >/dev/null; then + continue + fi + # The statement above tries to avoid entering an + # endless loop below, in case of cyclic links. + # We might still enter an endless loop, since a link + # loop can be closed while we follow links, + # but so what? + potlib="$potent_lib" + while test -h "$potlib" 2>/dev/null; do + potliblink=`ls -ld $potlib | sed 's/.* -> //'` + case "$potliblink" in + /*) potlib="$potliblink";; + *) potlib=`$echo "X$potlib" \ + | $Xsed -e 's,[^/]*$,,'`"$potliblink";; + esac + done + if eval $file_magic_command \"\$potlib\" \ + | sed '11,$d' \ + | egrep "$file_magic_regex" > /dev/null; then + newdeplibs="$newdeplibs $a_deplib" + a_deplib="" + break 2 + fi + done + done + if test -n "$a_deplib" ; then + droppeddeps=yes + echo + echo "*** Warning: This library needs some functionality provided by $a_deplib." + echo "*** I have the capability to make that library automatically link in when" + echo "*** you link to this library. But I can only do this if you have a" + echo "*** shared version of the library, which you do not appear to have." + fi + else + # Add a -L argument. + newdeplibs="$newdeplibs $a_deplib" + fi + done # Gone through all deplibs. + ;; + none | unknown | *) newdeplibs="" + if $echo "X$deplibs" | $Xsed -e 's/ -lc$//' -e 's/[ ]//g' \ + | grep . >/dev/null; then + echo + if test "X$deplibs_check_method" = "Xnone"; then + echo "*** Warning: inter-library dependencies are not supported in this platform." + else + echo "*** Warning: inter-library dependencies are not known to be supported." + fi + echo "*** All declared inter-library dependencies are being dropped." + droppeddeps=yes + fi + ;; + esac + versuffix=$versuffix_save + major=$major_save + release=$release_save + libname=$libname_save + name=$name_save + + if test "$droppeddeps" = yes; then + if test "$module" = yes; then + echo + echo "*** Warning: libtool could not satisfy all declared inter-library" + echo "*** dependencies of module $libname. Therefore, libtool will create" + echo "*** a static module, that should work as long as the dlopening" + echo "*** application is linked with the -dlopen flag." + if test -z "$global_symbol_pipe"; then + echo + echo "*** However, this would only work if libtool was able to extract symbol" + echo "*** lists from a program, using \`nm' or equivalent, but libtool could" + echo "*** not find such a program. So, this module is probably useless." + echo "*** \`nm' from GNU binutils and a full rebuild may help." + fi + if test "$build_old_libs" = no; then + oldlibs="$output_objdir/$libname.$libext" + build_libtool_libs=module + build_old_libs=yes + else + build_libtool_libs=no + fi + dlname= + library_names= + else + echo "*** The inter-library dependencies that have been dropped here will be" + echo "*** automatically added whenever a program is linked with this library" + echo "*** or is declared to -dlopen it." + fi + fi + fi + + # test again, we may have decided not to build it any more + if test "$build_libtool_libs" = yes; then + deplibs=$newdeplibs + # Done checking deplibs! # Get the real and link names of the library. eval library_names=\"$library_names_spec\" @@ -1524,8 +1820,15 @@ EOF linknames="$linknames $link" done - # Use standard objects if they are PIC. - test -z "$pic_flag" && libobjs=`$echo "X$libobjs " | $Xsed -e "$los2o" -e 's/ $//g'` + # Ensure that we have .o objects for linkers which dislike .lo + # (e.g. aix) incase we are running --disable-static + for obj in $libobjs; do + oldobj=`echo $obj | $Xsed -e "$lo2o"` + test -f $oldobj || ${LN_S} $obj $oldobj + done + + # Use standard objects if they are pic + test -z "$pic_flag" && libobjs=`$echo "X$libobjs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` if test -n "$whole_archive_flag_spec"; then if test -n "$convenience"; then @@ -1549,7 +1852,7 @@ EOF $show "(cd $xdir && $AR x ../$xlib)" $run eval "(cd \$xdir && $AR x ../\$xlib)" || exit $? - libobjs="$libobjs `echo $xdir/*`" + libobjs="$libobjs "`find $xdir -name \*.o -print -o -name \*.lo -print | $NL2SP` done fi @@ -1585,58 +1888,62 @@ EOF *.lo | *.o | *.obj) if test -n "$link_against_libtool_libs"; then - $echo "$modename: error: cannot link libtool libraries into objects" 1>&2 - exit 1 + $echo "$modename: error: cannot link libtool libraries into objects" 1>&2 + exit 1 fi if test -n "$deplibs"; then - $echo "$modename: warning: \`-l' and \`-L' are ignored for objects" 1>&2 + $echo "$modename: warning: \`-l' and \`-L' are ignored for objects" 1>&2 fi if test -n "$dlfiles$dlprefiles"; then - $echo "$modename: warning: \`-dlopen' is ignored for objects" 1>&2 + $echo "$modename: warning: \`-dlopen' is ignored for objects" 1>&2 fi if test -n "$rpath"; then - $echo "$modename: warning: \`-rpath' is ignored for objects" 1>&2 + $echo "$modename: warning: \`-rpath' is ignored for objects" 1>&2 + fi + + if test -n "$xrpath"; then + $echo "$modename: warning: \`-R' is ignored for objects" 1>&2 fi if test -n "$vinfo"; then - $echo "$modename: warning: \`-version-info' is ignored for objects" 1>&2 + $echo "$modename: warning: \`-version-info' is ignored for objects" 1>&2 fi if test -n "$release"; then - $echo "$modename: warning: \`-release' is ignored for objects" 1>&2 + $echo "$modename: warning: \`-release' is ignored for objects" 1>&2 fi case "$output" in *.lo) - if test -n "$objs"; then - $echo "$modename: cannot build library object \`$output' from non-libtool objects" 1>&2 - exit 1 - fi - libobj="$output" - obj=`$echo "X$output" | $Xsed -e "$lo2o"` - ;; + if test -n "$objs"; then + $echo "$modename: cannot build library object \`$output' from non-libtool objects" 1>&2 + exit 1 + fi + libobj="$output" + obj=`$echo "X$output" | $Xsed -e "$lo2o"` + ;; *) - libobj= - obj="$output" - ;; + libobj= + obj="$output" + ;; esac # Delete the old objects. $run $rm $obj $libobj # Create the old-style object. - reload_objs="$objs"`$echo "X$libobjs " | $Xsed -e 's/[^ ]*\.'${libext}' //g' -e 's/[^ ]*\.lib //g' -e "$los2o" -e 's/ $//g'` + reload_objs="$objs "`$echo "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}$'/d' -e '/\.lib$/d' -e "$lo2o" | $NL2SP` output="$obj" eval cmds=\"$reload_cmds\" IFS="${IFS= }"; save_ifs="$IFS"; IFS='~' for cmd in $cmds; do - IFS="$save_ifs" - $show "$cmd" - $run eval "$cmd" || exit $? + IFS="$save_ifs" + $show "$cmd" + $run eval "$cmd" || exit $? done IFS="$save_ifs" @@ -1644,29 +1951,31 @@ EOF test -z "$libobj" && exit 0 if test "$build_libtool_libs" != yes; then - # Create an invalid libtool object if no PIC, so that we don't - # accidentally link it into a program. - $show "echo timestamp > $libobj" - $run eval "echo timestamp > $libobj" || exit $? - exit 0 + # Create an invalid libtool object if no PIC, so that we don't + # accidentally link it into a program. + $show "echo timestamp > $libobj" + $run eval "echo timestamp > $libobj" || exit $? + exit 0 fi if test -n "$pic_flag"; then - # Only do commands if we really have different PIC objects. - reload_objs="$libobjs" - output="$libobj" - eval cmds=\"$reload_cmds\" - IFS="${IFS= }"; save_ifs="$IFS"; IFS='~' - for cmd in $cmds; do - IFS="$save_ifs" - $show "$cmd" - $run eval "$cmd" || exit $? - done - IFS="$save_ifs" + # Only do commands if we really have different PIC objects. + reload_objs="$libobjs" + output="$libobj" + eval cmds=\"$reload_cmds\" + IFS="${IFS= }"; save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + $show "$cmd" + $run eval "$cmd" || exit $? + done + IFS="$save_ifs" else - # Just create a symlink. - $show "$LN_S $obj $libobj" - $run $LN_S $obj $libobj || exit $? + # Just create a symlink. + $show $rm $libobj + $run $rm $libobj + $show "$LN_S $obj $libobj" + $run $LN_S $obj $libobj || exit $? fi exit 0 @@ -1675,24 +1984,25 @@ EOF # Anything else should be a program. *) if test -n "$vinfo"; then - $echo "$modename: warning: \`-version-info' is ignored for programs" 1>&2 + $echo "$modename: warning: \`-version-info' is ignored for programs" 1>&2 fi if test -n "$release"; then - $echo "$modename: warning: \`-release' is ignored for programs" 1>&2 + $echo "$modename: warning: \`-release' is ignored for programs" 1>&2 fi - if test -n "$rpath"; then + if test -n "$rpath$xrpath"; then # If the user specified any rpath flags, then add them. - for libdir in $rpath; do - if test -n "$hardcode_libdir_flag_spec"; then - if test -n "$hardcode_libdir_separator"; then - if test -z "$hardcode_libdirs"; then - # Put the magic libdir with the hardcode flag. - hardcode_libdirs="$libdir" - libdir="@HARDCODE_LIBDIRS@" - else - # Just accumulate the unique libdirs. + for libdir in $rpath $xrpath; do + if test -n "$hardcode_libdir_flag_spec"; then + saved_libdir="$libdir" + if test -n "$hardcode_libdir_separator"; then + if test -z "$hardcode_libdirs"; then + # Put the magic libdir with the hardcode flag. + hardcode_libdirs="$libdir" + libdir="@HARDCODE_LIBDIRS@" + else + # Just accumulate the unique libdirs. case "$hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator" in *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) ;; @@ -1700,61 +2010,89 @@ EOF hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir" ;; esac - libdir= - fi - fi + libdir= + fi + fi - if test -n "$libdir"; then - eval flag=\"$hardcode_libdir_flag_spec\" + if test -n "$libdir"; then + eval flag=\"$hardcode_libdir_flag_spec\" - compile_command="$compile_command $flag" - finalize_command="$finalize_command $flag" - fi - elif test -n "$runpath_var"; then - case "$perm_rpath " in - *" $libdir "*) ;; - *) perm_rpath="$perm_rpath $libdir" ;; - esac - fi + compile_command="$compile_command $flag" + fi + + libdir="$saved_libdir" + if test -n "$hardcode_libdir_separator"; then + if test -z "$finalize_hardcode_libdirs"; then + # Put the magic libdir with the hardcode flag. + finalize_hardcode_libdirs="$libdir" + libdir="@HARDCODE_LIBDIRS@" + else + # Just accumulate the unique libdirs. + case "$hardcode_libdir_separator$finalize_hardcode_libdirs$hardcode_libdir_separator" in + *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) + ;; + *) + finalize_hardcode_libdirs="$finalize_hardcode_libdirs$hardcode_libdir_separator$libdir" + ;; + esac + libdir= + fi + fi + + if test -n "$libdir"; then + eval flag=\"$hardcode_libdir_flag_spec\" + + finalize_command="$finalize_command $flag" + fi + elif test -n "$runpath_var"; then + case "$perm_rpath " in + *" $libdir "*) ;; + *) perm_rpath="$perm_rpath $libdir" ;; + esac + case "$finalize_perm_rpath " in + *" $libdir "*) ;; + *) finalize_perm_rpath="$finalize_perm_rpath $libdir" ;; + esac + fi done fi # Substitute the hardcoded libdirs into the compile commands. if test -n "$hardcode_libdir_separator"; then compile_command=`$echo "X$compile_command" | $Xsed -e "s%@HARDCODE_LIBDIRS@%$hardcode_libdirs%g"` - finalize_command=`$echo "X$finalize_command" | $Xsed -e "s%@HARDCODE_LIBDIRS@%$hardcode_libdirs%g"` + finalize_command=`$echo "X$finalize_command" | $Xsed -e "s%@HARDCODE_LIBDIRS@%$finalize_hardcode_libdirs%g"` fi output_objdir=`$echo "X$output" | $Xsed -e 's%/[^/]*$%%'` if test "X$output_objdir" = "X$output"; then - output_objdir="$objdir" + output_objdir="$objdir" else - output_objdir="$output_objdir/$objdir" + output_objdir="$output_objdir/$objdir" fi if test -n "$libobjs" && test "$build_old_libs" = yes; then - # Transform all the library objects into standard objects. - compile_command=`$echo "X$compile_command " | $Xsed -e "$los2o" -e 's/ $//'` - finalize_command=`$echo "X$finalize_command " | $Xsed -e "$los2o" -e 's/ $//'` + # Transform all the library objects into standard objects. + compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` + finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` fi - if test "$export_dynamic" = yes && test -n "$NM" && test -n "$global_symbol_pipe"; then - dlsyms="${outputname}S.c" + if test "$export_dynamic" = yes || test -n "$dlfiles$dlprefiles" && test -n "$NM" && test -n "$global_symbol_pipe"; then + dlsyms="${outputname}S.c" else - dlsyms= + dlsyms= fi if test -n "$dlsyms"; then - case "$dlsyms" in - "") ;; - *.c) - if test -z "$export_symbols"; then - # Add our own program objects to the preloaded list. - dlprefiles=`$echo "X$objs$dlprefiles " | $Xsed -e "$los2o" -e 's/ $//'` - fi + case "$dlsyms" in + "") ;; + *.c) + if test "$export_dynamic" = yes && test -z "$export_symbols"; then + # Add our own program objects to the preloaded list. + dlprefiles=`$echo "X$objs $dlprefiles" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` + fi - # Discover the nlist of each of the dlfiles. - nlist="$objdir/${output}.nm" + # Discover the nlist of each of the dlfiles. + nlist="$objdir/${output}.nm" if test -d $objdir; then $show "$rm $nlist ${nlist}T" @@ -1768,34 +2106,34 @@ EOF fi fi - # Parse the name list into a source file. - $show "creating $objdir/$dlsyms" + # Parse the name list into a source file. + $show "creating $objdir/$dlsyms" - $echo > "$objdir/$dlsyms" "\ + $echo > "$objdir/$dlsyms" "\ /* $dlsyms - symbol resolution table for \`$outputname' dlsym emulation. */ -/* Generated by $PROGRAM - GNU $PACKAGE $VERSION */ +/* Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP */ #ifdef __cplusplus extern \"C\" { #endif /* Prevent the only kind of declaration conflicts we can make. */ -#define dld_preloaded_symbols some_other_symbol +#define lt_preloaded_symbols some_other_symbol /* External symbol declarations for the compiler. */\ " - if test -n "$export_symbols"; then + if test "$export_dynamic" = yes && test -n "$export_symbols"; then sed -e 's/^\(.*\)/\1 \1/' < "$export_symbols" > "$nlist" - fi + fi - for arg in $dlprefiles; do + for arg in $dlprefiles; do $show "extracting global C symbols from \`$arg'" $run eval "$NM $arg | $global_symbol_pipe >> '$nlist'" - done + done - if test -z "$run"; then - # Make sure we at least have an empty file. + if test -z "$run"; then + # Make sure we have at least an empty file. test -f "$nlist" || : > "$nlist" # Try sorting and uniquifying the output. @@ -1807,98 +2145,100 @@ extern \"C\" { if test -f "$nlist"; then sed -e 's/^.* \(.*\)$/extern char \1;/' < "$nlist" >> "$output_objdir/$dlsyms" - else + else echo '/* NONE */' >> "$output_objdir/$dlsyms" - fi - - $echo >> "$output_objdir/$dlsyms" "\ - -#undef dld_preloaded_symbols - -#if defined (__STDC__) && __STDC__ -# define __ptr_t void * -#else -# define __ptr_t char * -#endif - -/* The mapping between symbol names and symbols. */ -struct { - char *name; - __ptr_t address; -} -dld_preloaded_symbols[] = -{\ -" - - if test -n "$export_symbols"; then - echo >> "$objdir/$dlsyms" "\ - {\"${output}\", (__ptr_t) 0}," - sed 's/^\(.*\)/ {"\1", (__ptr_t) \&\1},/' < "$export_symbols" >> "$objdir/$dlsyms" - fi - - for arg in $dlprefiles; do - name=`echo "$arg" | sed -e 's%^.*/%%'` - echo >> "$objdir/$dlsyms" "\ - {\"$name\", (__ptr_t) 0}," - eval "$NM $arg | $global_symbol_pipe > '$nlist'" - - if test -f "$nlist"; then - sed 's/^\(.*\) \(.*\)$/ {"\1", (__ptr_t) \&\2},/' < "$nlist" >> "$objdir/$dlsyms" - else - echo '/* NONE */' >> "$output_objdir/$dlsyms" - fi - - done - - if test -f "$nlist"; then - sed 's/^\(.*\) \(.*\)$/ {"\1", (__ptr_t) \&\2},/' < "$nlist" >> "$output_objdir/$dlsyms" fi $echo >> "$output_objdir/$dlsyms" "\ - {0, (__ptr_t) 0} + +#undef lt_preloaded_symbols + +#if defined (__STDC__) && __STDC__ +# define lt_ptr_t void * +#else +# define lt_ptr_t char * +# define const +#endif + +/* The mapping between symbol names and symbols. */ +const struct { + const char *name; + lt_ptr_t address; +} +lt_preloaded_symbols[] = +{\ +" + + if test "$export_dynamic" = yes && test -n "$export_symbols"; then + echo >> "$output_objdir/$dlsyms" "\ + {\"${output}\", (lt_ptr_t) 0}," + sed 's/^\(.*\)/ {"\1", (lt_ptr_t) \&\1},/' < "$export_symbols" >> "$output_objdir/$dlsyms" + fi + + for arg in $dlprefiles; do + name=`echo "$arg" | sed -e 's%^.*/%%'` + echo >> "$output_objdir/$dlsyms" "\ + {\"$name\", (lt_ptr_t) 0}," + eval "$NM $arg | $global_symbol_pipe > '$nlist'" + + if test -f "$nlist"; then + sed 's/^\(.*\) \(.*\)$/ {"\1", (lt_ptr_t) \&\2},/' < "$nlist" >> "$output_objdir/$dlsyms" + else + echo '/* NONE */' >> "$output_objdir/$dlsyms" + fi + done + + $echo >> "$output_objdir/$dlsyms" "\ + {0, (lt_ptr_t) 0} }; +/* This works around a problem in FreeBSD linker */ +static const void *lt_preloaded_setup() { + return lt_preloaded_symbols; +} + #ifdef __cplusplus } #endif\ " - fi + fi - # Now compile the dynamic symbol file. - $show "(cd $objdir && $C_compiler -c$no_builtin_flag \"$dlsyms\")" - $run eval '(cd $objdir && $C_compiler -c$no_builtin_flag "$dlsyms")' || exit $? + # Now compile the dynamic symbol file. + # pic_flag works around a bug in FreeBSD linker + $show "(cd $objdir && $C_compiler -c$no_builtin_flag $pic_flag -DPIC \"$dlsyms\")" + $run eval '(cd $objdir && $C_compiler -c$no_builtin_flag $pic_flag -DPIC "$dlsyms")' || exit $? - # Transform the symbol file into the correct name. - compile_command=`$echo "X$compile_command" | $Xsed -e "s%@SYMFILE@%$objdir/${output}S.${objext}%"` - finalize_command=`$echo "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$objdir/${output}S.${objext}%"` + # Transform the symbol file into the correct name. + compile_command=`$echo "X$compile_command" | $Xsed -e "s%@SYMFILE@%$objdir/${output}S.${objext}%"` + finalize_command=`$echo "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$objdir/${output}S.${objext}%"` ;; - *) - $echo "$modename: unknown suffix for \`$dlsyms'" 1>&2 - exit 1 - ;; - esac - elif test "$export_dynamic" != yes; then - test -n "$dlfiles$dlprefiles" && $echo "$modename: warning: \`-dlopen' and \`-dlpreopen' are ignored without \`-export-dynamic'" 1>&2 + *) + $echo "$modename: unknown suffix for \`$dlsyms'" 1>&2 + exit 1 + ;; + esac else - # We keep going just in case the user didn't refer to - # dld_preloaded_symbols. The linker will fail if global_symbol_pipe - # really was required. - $echo "$modename: not configured to extract global symbols from dlpreopened files" 1>&2 + # We keep going just in case the user didn't refer to + # lt_preloaded_symbols. The linker will fail if global_symbol_pipe + # really was required. + if test -n "$dlfiles$dlprefiles"; then + $echo "$modename: not configured to extract global symbols from dlpreopened files" 1>&2 + fi - # Nullify the symbol file. - compile_command=`$echo "X$compile_command" | $Xsed -e "s% @SYMFILE@%%"` - finalize_command=`$echo "X$finalize_command" | $Xsed -e "s% @SYMFILE@%%"` + # Nullify the symbol file. + compile_command=`$echo "X$compile_command" | $Xsed -e "s% @SYMFILE@%%"` + finalize_command=`$echo "X$finalize_command" | $Xsed -e "s% @SYMFILE@%%"` fi if test -z "$link_against_libtool_libs" || test "$build_libtool_libs" != yes; then - # Replace the output file specification. - compile_command=`$echo "X$compile_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'` - finalize_command=`$echo "X$finalize_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'` + # Replace the output file specification. + compile_command=`$echo "X$compile_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'` + finalize_command=`$echo "X$finalize_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'` - # We have no uninstalled library dependencies, so finalize right now. - $show "$compile_command" - $run eval "$compile_command" - exit $? + # We have no uninstalled library dependencies, so finalize right now. + $show "$compile_command" + $run eval "$compile_command" + exit $? fi # Replace the output file specification. @@ -1907,7 +2247,7 @@ dld_preloaded_symbols[] = # Create the binary in the object directory, then wrap it. if test ! -d $output_objdir; then - $show "$mkdir $output_objdir" + $show "$mkdir $output_objdir" $run $mkdir $output_objdir status=$? if test $status -ne 0 && test ! -d $objdir; then @@ -1916,47 +2256,56 @@ dld_preloaded_symbols[] = fi if test -n "$shlibpath_var"; then - # We should set the shlibpath_var - rpath= - for dir in $temp_rpath; do - case "$dir" in - /* | [A-Za-z]:[/\\]*) - # Absolute path. - rpath="$rpath$dir:" - ;; - *) - # Relative path: add a thisdir entry. - rpath="$rpath\$thisdir/$dir:" - ;; - esac - done - temp_rpath="$rpath" + # We should set the shlibpath_var + rpath= + for dir in $temp_rpath; do + case "$dir" in + /* | [A-Za-z]:[/\\]*) + # Absolute path. + rpath="$rpath$dir:" + ;; + *) + # Relative path: add a thisdir entry. + rpath="$rpath\$thisdir/$dir:" + ;; + esac + done + temp_rpath="$rpath" fi # Delete the old output file. $run $rm $output if test -n "$compile_shlibpath"; then - compile_command="$shlibpath_var=\"$compile_shlibpath\$$shlibpath_var\" $compile_command" + compile_command="$shlibpath_var=\"$compile_shlibpath\$$shlibpath_var\" $compile_command" fi if test -n "$finalize_shlibpath"; then - finalize_command="$shlibpath_var=\"$finalize_shlibpath\$$shlibpath_var\" $finalize_command" + finalize_command="$shlibpath_var=\"$finalize_shlibpath\$$shlibpath_var\" $finalize_command" fi - if test -n "$runpath_var" && test -n "$perm_rpath"; then - # We should set the runpath_var. - rpath= - for dir in $perm_rpath; do - rpath="$rpath$dir:" - done - compile_command="$runpath_var=\"$rpath\$$runpath_var\" $compile_command" - finalize_command="$runpath_var=\"$rpath\$$runpath_var\" $finalize_command" + if test -n "$runpath_var"; then + if test -n "$perm_rpath"; then + # We should set the runpath_var. + rpath= + for dir in $perm_rpath; do + rpath="$rpath$dir:" + done + compile_command="$runpath_var=\"$rpath\$$runpath_var\" $compile_command" + fi + if test -n "$finalize_perm_rpath"; then + # We should set the runpath_var. + rpath= + for dir in $finalize_perm_rpath; do + rpath="$rpath$dir:" + done + finalize_command="$runpath_var=\"$rpath\$$runpath_var\" $finalize_command" + fi fi if test "$hardcode_action" = relink; then - # AGH! Flame the AIX and HP-UX people for me, will ya? - $echo "$modename: warning: this platform doesn\'t like uninstalled shared libraries" 1>&2 - $echo "$modename: \`$output' will be relinked during installation" 1>&2 + # AGH! Flame the AIX and HP-UX people for me, will ya? + $echo "$modename: warning: this platform does not like uninstalled shared libraries" 1>&2 + $echo "$modename: \`$output' will be relinked during installation" 1>&2 fi $show "$compile_command" @@ -1976,19 +2325,24 @@ dld_preloaded_symbols[] = esac qecho=`$echo "X$qecho" | $Xsed -e "$sed_quote_subst"` else - qecho=`$echo "X$echo" | $Xsed -e "$sed_quote_subst"` + qecho=`$echo "X$echo" | $Xsed -e "$sed_quote_subst"` fi # Only actually do things if our run command is non-null. if test -z "$run"; then - $rm $output - trap "$rm $output; exit 1" 1 2 15 + # win32 will think the script is a binary if it has + # a .exe suffix, so we strip it off here. + case $output in + *.exe) output=`echo $output|sed 's,.exe$,,'` ;; + esac + $rm $output + trap "$rm $output; exit 1" 1 2 15 - $echo > $output "\ + $echo > $output "\ #! $SHELL # $output - temporary wrapper script for $objdir/$outputname -# Generated by $PROGRAM - GNU $PACKAGE $VERSION +# Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP # # The $output program cannot be directly executed until all the libtool # libraries that it depends on are installed. @@ -1998,7 +2352,7 @@ dld_preloaded_symbols[] = # Sed substitution that helps us do robust quoting. It backslashifies # metacharacters that are still active within double-quoted strings. -Xsed='sed -e s/^X//' +Xsed='sed -e 1s/^X//' sed_quote_subst='$sed_quote_subst' # The HP-UX ksh and POSIX shell print the target directory to stdout @@ -2028,7 +2382,7 @@ else fi fi\ " - $echo >> $output "\ + $echo >> $output "\ # Find the directory that this script lives in. thisdir=\`\$echo \"X\$file\" | \$Xsed -e 's%/[^/]*$%%'\` @@ -2060,29 +2414,51 @@ else if test -f \"\$progdir/\$program\"; then" - # Export our shlibpath_var if we have one. - if test -n "$shlibpath_var" && test -n "$temp_rpath"; then - $echo >> $output "\ + # Export our shlibpath_var if we have one. + if test -n "$shlibpath_var" && test -n "$temp_rpath"; then + $echo >> $output "\ # Add our own library path to $shlibpath_var $shlibpath_var=\"$temp_rpath\$$shlibpath_var\" # Some systems cannot cope with colon-terminated $shlibpath_var - $shlibpath_var=\`\$echo \"X\$$shlibpath_var\" | \$Xsed -e 's/:*\$//'\` + # The second colon is a workaround for a bug in BeOS R4 sed + $shlibpath_var=\`\$echo \"X\$$shlibpath_var\" | \$Xsed -e 's/::*\$//'\` export $shlibpath_var " - fi + fi - $echo >> $output "\ + # fixup the dll searchpath if we need to. + if test -n "$dllsearchpath"; then + $echo >> $output "\ + # Add the dll search path components to the executable PATH + PATH=$dllsearchpath:\$PATH +" + fi + + $echo >> $output "\ if test \"\$libtool_execute_magic\" != \"$magic\"; then # Run the actual program with our arguments. - +" + case $host in + *-*-cygwin32* | *-*-mingw32 | *-*-os2*) + # win32 systems need to use the prog path for dll + # lookup to work + $echo >> $output "\ + exec \$progdir\\\\\$program \${1+\"\$@\"} +" + ;; + *) + $echo >> $output "\ # Export the path to the program. PATH=\"\$progdir:\$PATH\" export PATH exec \$program \${1+\"\$@\"} - +" + ;; + esac + $echo >> $output "\ \$echo \"\$0: cannot exec \$program \${1+\"\$@\"}\" exit 1 fi @@ -2095,7 +2471,7 @@ else fi fi\ " - chmod +x $output + chmod +x $output fi exit 0 ;; @@ -2105,11 +2481,16 @@ fi\ for oldlib in $oldlibs; do if test "$build_libtool_libs" = convenience; then - oldobjs="$libobjs" + oldobjs="$libobjs_save" addlibs="$convenience" build_libtool_libs=no else - oldobjs="$objs"`$echo "X$libobjs " | $Xsed -e 's/[^ ]*\.'${libext}' //g' -e 's/[^ ]*\.lib //g' -e "$los2o" -e 's/ $//g'` + if test "$build_libtool_libs" = module; then + oldobjs="$libobjs_save" + build_libtool_libs=no + else + oldobjs="$objs "`$echo "X$libobjs_save" | $SP2NL | $Xsed -e '/\.'${libext}'$/d' -e '/\.lib$/d' -e "$lo2o" | $NL2SP` + fi addlibs="$old_convenience" fi @@ -2131,7 +2512,7 @@ fi\ $show "(cd $xdir && $AR x ../$xlib)" $run eval "(cd \$xdir && $AR x ../\$xlib)" || exit $? - oldobjs="$oldobjs `echo $xdir/*`" + oldobjs="$oldobjs "`find $xdir -name \*.o -print -o -name \*.lo -print | $NL2SP` done # Do each command in the archive commands. @@ -2142,9 +2523,9 @@ fi\ fi IFS="${IFS= }"; save_ifs="$IFS"; IFS='~' for cmd in $cmds; do - IFS="$save_ifs" - $show "$cmd" - $run eval "$cmd" || exit $? + IFS="$save_ifs" + $show "$cmd" + $run eval "$cmd" || exit $? done IFS="$save_ifs" done @@ -2161,11 +2542,19 @@ fi\ test "$build_old_libs" = yes && old_library="$libname.$libext" $show "creating $output" + if test -n "$xrpath"; then + temp_xrpath= + for libdir in $xrpath; do + temp_xrpath="$temp_xrpath -R$libdir" + done + dependency_libs="$temp_xrpath $dependency_libs" + fi + # Only create the output if not a dry run. if test -z "$run"; then - $echo > $output "\ + $echo > $output "\ # $output - a libtool library file -# Generated by $PROGRAM - GNU $PACKAGE $VERSION +# Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP # The name that we can dlopen(3). dlname='$dlname' @@ -2194,8 +2583,8 @@ libdir='$install_libdir'\ # Do a symbolic link so that the libtool archive can be found in # LD_LIBRARY_PATH before the program is installed. - $show "(cd $output_objdir && $LN_S ../$outputname $outputname)" - $run eval "(cd $output_objdir && $LN_S ../$outputname $outputname)" || exit $? + $show "(cd $output_objdir && $rm $outputname && $LN_S ../$outputname $outputname)" + $run eval "(cd $output_objdir && $rm $outputname && $LN_S ../$outputname $outputname)" || exit $? ;; esac exit 0 @@ -2244,9 +2633,9 @@ libdir='$install_libdir'\ for arg do if test -n "$dest"; then - files="$files $dest" - dest="$arg" - continue + files="$files $dest" + dest="$arg" + continue fi case "$arg" in @@ -2256,20 +2645,20 @@ libdir='$install_libdir'\ -m) prev="-m" ;; -o) prev="-o" ;; -s) - stripme=" -s" - continue - ;; + stripme=" -s" + continue + ;; -*) ;; *) - # If the previous option needed an argument, then skip it. - if test -n "$prev"; then - prev= - else - dest="$arg" - continue - fi - ;; + # If the previous option needed an argument, then skip it. + if test -n "$prev"; then + prev= + else + dest="$arg" + continue + fi + ;; esac # Aesthetically quote the argument. @@ -2296,9 +2685,9 @@ libdir='$install_libdir'\ if test -z "$files"; then if test -z "$dest"; then - $echo "$modename: no file or destination specified" 1>&2 + $echo "$modename: no file or destination specified" 1>&2 else - $echo "$modename: you must specify a destination" 1>&2 + $echo "$modename: you must specify a destination" 1>&2 fi $echo "$help" 1>&2 exit 1 @@ -2320,23 +2709,23 @@ libdir='$install_libdir'\ # Not a directory, so check to see that there is only one file specified. set dummy $files if test $# -gt 2; then - $echo "$modename: \`$dest' is not a directory" 1>&2 - $echo "$help" 1>&2 - exit 1 + $echo "$modename: \`$dest' is not a directory" 1>&2 + $echo "$help" 1>&2 + exit 1 fi fi case "$destdir" in /* | [A-Za-z]:[/\\]*) ;; *) for file in $files; do - case "$file" in - *.lo) ;; - *) - $echo "$modename: \`$destdir' must be an absolute directory name" 1>&2 - $echo "$help" 1>&2 - exit 1 - ;; - esac + case "$file" in + *.lo) ;; + *) + $echo "$modename: \`$destdir' must be an absolute directory name" 1>&2 + $echo "$help" 1>&2 + exit 1 + ;; + esac done ;; esac @@ -2353,212 +2742,212 @@ libdir='$install_libdir'\ # Do each installation. case "$file" in *.a | *.lib) - # Do the static libraries later. - staticlibs="$staticlibs $file" - ;; + # Do the static libraries later. + staticlibs="$staticlibs $file" + ;; *.la) - # Check to see that this really is a libtool archive. - if (sed -e '2q' $file | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then : - else - $echo "$modename: \`$file' is not a valid libtool archive" 1>&2 - $echo "$help" 1>&2 - exit 1 - fi + # Check to see that this really is a libtool archive. + if (sed -e '2q' $file | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then : + else + $echo "$modename: \`$file' is not a valid libtool archive" 1>&2 + $echo "$help" 1>&2 + exit 1 + fi - library_names= - old_library= - # If there is no directory component, then add one. - case "$file" in - */* | *\\*) . $file ;; - *) . ./$file ;; - esac + library_names= + old_library= + # If there is no directory component, then add one. + case "$file" in + */* | *\\*) . $file ;; + *) . ./$file ;; + esac - # Add the libdir to current_libdirs if it is the destination. - if test "X$destdir" = "X$libdir"; then - case "$current_libdirs " in - *" $libdir "*) ;; - *) current_libdirs="$current_libdirs $libdir" ;; - esac - else - # Note the libdir as a future libdir. - case "$future_libdirs " in - *" $libdir "*) ;; - *) future_libdirs="$future_libdirs $libdir" ;; - esac - fi + # Add the libdir to current_libdirs if it is the destination. + if test "X$destdir" = "X$libdir"; then + case "$current_libdirs " in + *" $libdir "*) ;; + *) current_libdirs="$current_libdirs $libdir" ;; + esac + else + # Note the libdir as a future libdir. + case "$future_libdirs " in + *" $libdir "*) ;; + *) future_libdirs="$future_libdirs $libdir" ;; + esac + fi - dir="`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`/" - test "X$dir" = "X$file/" && dir= - dir="$dir$objdir" + dir="`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`/" + test "X$dir" = "X$file/" && dir= + dir="$dir$objdir" - # See the names of the shared library. - set dummy $library_names - if test -n "$2"; then - realname="$2" - shift - shift + # See the names of the shared library. + set dummy $library_names + if test -n "$2"; then + realname="$2" + shift + shift - # Install the shared library and build the symlinks. - $show "$install_prog $dir/$realname $destdir/$realname" - $run eval "$install_prog $dir/$realname $destdir/$realname" || exit $? - test "X$dlname" = "X$realname" && dlname= + # Install the shared library and build the symlinks. + $show "$install_prog $dir/$realname $destdir/$realname" + $run eval "$install_prog $dir/$realname $destdir/$realname" || exit $? + test "X$dlname" = "X$realname" && dlname= - if test $# -gt 0; then - # Delete the old symlinks, and create new ones. - for linkname - do - test "X$dlname" = "X$linkname" && dlname= + if test $# -gt 0; then + # Delete the old symlinks, and create new ones. + for linkname + do + test "X$dlname" = "X$linkname" && dlname= if test "$linkname" != "$realname"; then $show "(cd $destdir && $rm $linkname && $LN_S $realname $linkname)" $run eval "(cd $destdir && $rm $linkname && $LN_S $realname $linkname)" fi - done - fi + done + fi - if test -n "$dlname"; then - # Install the dynamically-loadable library. - $show "$install_prog $dir/$dlname $destdir/$dlname" - $run eval "$install_prog $dir/$dlname $destdir/$dlname" || exit $? - fi + if test -n "$dlname"; then + # Install the dynamically-loadable library. + $show "$install_prog $dir/$dlname $destdir/$dlname" + $run eval "$install_prog $dir/$dlname $destdir/$dlname" || exit $? + fi - # Do each command in the postinstall commands. - lib="$destdir/$realname" - eval cmds=\"$postinstall_cmds\" - IFS="${IFS= }"; save_ifs="$IFS"; IFS='~' - for cmd in $cmds; do - IFS="$save_ifs" - $show "$cmd" - $run eval "$cmd" || exit $? - done - IFS="$save_ifs" - fi + # Do each command in the postinstall commands. + lib="$destdir/$realname" + eval cmds=\"$postinstall_cmds\" + IFS="${IFS= }"; save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + $show "$cmd" + $run eval "$cmd" || exit $? + done + IFS="$save_ifs" + fi - # Install the pseudo-library for information purposes. - name=`$echo "X$file" | $Xsed -e 's%^.*/%%'` + # Install the pseudo-library for information purposes. + name=`$echo "X$file" | $Xsed -e 's%^.*/%%'` instname="$dir/$name"i $show "Creating $instname" $rm "$instname" sed 's/^installed=no$/installed=yes/' "$file" > "$instname" - $show "$install_prog $instname $destdir/$name" - $run eval "$install_prog $instname $destdir/$name" || exit $? + $show "$install_prog $instname $destdir/$name" + $run eval "$install_prog $instname $destdir/$name" || exit $? $show "$rm $instname" $rm "$instname" - # Maybe install the static library, too. - test -n "$old_library" && staticlibs="$staticlibs $dir/$old_library" - ;; + # Maybe install the static library, too. + test -n "$old_library" && staticlibs="$staticlibs $dir/$old_library" + ;; *.lo) - # Install (i.e. copy) a libtool object. + # Install (i.e. copy) a libtool object. - # Figure out destination file name, if it wasn't already specified. - if test -n "$destname"; then - destfile="$destdir/$destname" - else - destfile=`$echo "X$file" | $Xsed -e 's%^.*/%%'` - destfile="$destdir/$destfile" - fi + # Figure out destination file name, if it wasn't already specified. + if test -n "$destname"; then + destfile="$destdir/$destname" + else + destfile=`$echo "X$file" | $Xsed -e 's%^.*/%%'` + destfile="$destdir/$destfile" + fi - # Deduce the name of the destination old-style object file. - case "$destfile" in - *.lo) - staticdest=`$echo "X$destfile" | $Xsed -e "$lo2o"` - ;; - *.o | *.obj) - staticdest="$destfile" - destfile= - ;; - *) - $echo "$modename: cannot copy a libtool object to \`$destfile'" 1>&2 - $echo "$help" 1>&2 - exit 1 - ;; - esac + # Deduce the name of the destination old-style object file. + case "$destfile" in + *.lo) + staticdest=`$echo "X$destfile" | $Xsed -e "$lo2o"` + ;; + *.o | *.obj) + staticdest="$destfile" + destfile= + ;; + *) + $echo "$modename: cannot copy a libtool object to \`$destfile'" 1>&2 + $echo "$help" 1>&2 + exit 1 + ;; + esac - # Install the libtool object if requested. - if test -n "$destfile"; then - $show "$install_prog $file $destfile" - $run eval "$install_prog $file $destfile" || exit $? - fi + # Install the libtool object if requested. + if test -n "$destfile"; then + $show "$install_prog $file $destfile" + $run eval "$install_prog $file $destfile" || exit $? + fi - # Install the old object if enabled. - if test "$build_old_libs" = yes; then - # Deduce the name of the old-style object file. - staticobj=`$echo "X$file" | $Xsed -e "$lo2o"` + # Install the old object if enabled. + if test "$build_old_libs" = yes; then + # Deduce the name of the old-style object file. + staticobj=`$echo "X$file" | $Xsed -e "$lo2o"` - $show "$install_prog $staticobj $staticdest" - $run eval "$install_prog \$staticobj \$staticdest" || exit $? - fi - exit 0 - ;; + $show "$install_prog $staticobj $staticdest" + $run eval "$install_prog \$staticobj \$staticdest" || exit $? + fi + exit 0 + ;; *) - # Figure out destination file name, if it wasn't already specified. - if test -n "$destname"; then - destfile="$destdir/$destname" - else - destfile=`$echo "X$file" | $Xsed -e 's%^.*/%%'` - destfile="$destdir/$destfile" - fi + # Figure out destination file name, if it wasn't already specified. + if test -n "$destname"; then + destfile="$destdir/$destname" + else + destfile=`$echo "X$file" | $Xsed -e 's%^.*/%%'` + destfile="$destdir/$destfile" + fi - # Do a test to see if this is really a libtool program. - if (sed -e '4q' $file | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then - link_against_libtool_libs= - finalize_command= + # Do a test to see if this is really a libtool program. + if (sed -e '4q' $file | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then + link_against_libtool_libs= + finalize_command= - # If there is no directory component, then add one. - case "$file" in - */* | *\\*) . $file ;; - *) . ./$file ;; - esac + # If there is no directory component, then add one. + case "$file" in + */* | *\\*) . $file ;; + *) . ./$file ;; + esac - # Check the variables that should have been set. - if test -z "$link_against_libtool_libs" || test -z "$finalize_command"; then - $echo "$modename: invalid libtool wrapper script \`$file'" 1>&2 - exit 1 - fi + # Check the variables that should have been set. + if test -z "$link_against_libtool_libs" || test -z "$finalize_command"; then + $echo "$modename: invalid libtool wrapper script \`$file'" 1>&2 + exit 1 + fi - finalize=yes - for lib in $link_against_libtool_libs; do - # Check to see that each library is installed. - libdir= - if test -f "$lib"; then - # If there is no directory component, then add one. - case "$lib" in - */* | *\\*) . $lib ;; - *) . ./$lib ;; - esac - fi - libfile="$libdir/`$echo "X$lib" | $Xsed -e 's%^.*/%%g'`" - if test -n "$libdir" && test ! -f "$libfile"; then - $echo "$modename: warning: \`$lib' has not been installed in \`$libdir'" 1>&2 - finalize=no - fi - done + finalize=yes + for lib in $link_against_libtool_libs; do + # Check to see that each library is installed. + libdir= + if test -f "$lib"; then + # If there is no directory component, then add one. + case "$lib" in + */* | *\\*) . $lib ;; + *) . ./$lib ;; + esac + fi + libfile="$libdir/`$echo "X$lib" | $Xsed -e 's%^.*/%%g'`" + if test -n "$libdir" && test ! -f "$libfile"; then + $echo "$modename: warning: \`$lib' has not been installed in \`$libdir'" 1>&2 + finalize=no + fi + done - if test "$hardcode_action" = relink; then - if test "$finalize" = yes; then - $echo "$modename: warning: relinking \`$file' on behalf of your buggy system linker" 1>&2 - $show "$finalize_command" - if $run eval "$finalize_command"; then : - else - $echo "$modename: error: relink \`$file' with the above command before installing it" 1>&2 - continue - fi - file="$objdir/$file"T - else - $echo "$modename: warning: cannot relink \`$file' on behalf of your buggy system linker" 1>&2 - fi - else - # Install the binary that we compiled earlier. + if test "$hardcode_action" = relink; then + if test "$finalize" = yes; then + $echo "$modename: warning: relinking \`$file' on behalf of your buggy system linker" 1>&2 + $show "$finalize_command" + if $run eval "$finalize_command"; then : + else + $echo "$modename: error: relink \`$file' with the above command before installing it" 1>&2 + continue + fi + file="$objdir/$file"T + else + $echo "$modename: warning: cannot relink \`$file' on behalf of your buggy system linker" 1>&2 + fi + else + # Install the binary that we compiled earlier. file=`$echo "X$file" | $Xsed -e "s%\([^/]*\)$%$objdir/\1%"` - fi - fi + fi + fi - $show "$install_prog$stripme $file $destfile" - $run eval "$install_prog\$stripme \$file \$destfile" || exit $? - ;; + $show "$install_prog$stripme $file $destfile" + $run eval "$install_prog\$stripme \$file \$destfile" || exit $? + ;; esac done @@ -2575,9 +2964,9 @@ libdir='$install_libdir'\ eval cmds=\"$old_postinstall_cmds\" IFS="${IFS= }"; save_ifs="$IFS"; IFS='~' for cmd in $cmds; do - IFS="$save_ifs" - $show "$cmd" - $run eval "$cmd" || exit $? + IFS="$save_ifs" + $show "$cmd" + $run eval "$cmd" || exit $? done IFS="$save_ifs" done @@ -2605,21 +2994,21 @@ libdir='$install_libdir'\ if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then for dir do - libdirs="$libdirs $dir" + libdirs="$libdirs $dir" done for libdir in $libdirs; do if test -n "$finish_cmds"; then # Do each command in the finish commands. eval cmds=\"$finish_cmds\" - IFS="${IFS= }"; save_ifs="$IFS"; IFS='~' - for cmd in $cmds; do - IFS="$save_ifs" - $show "$cmd" - $run eval "$cmd" || admincmds="$admincmds + IFS="${IFS= }"; save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + $show "$cmd" + $run eval "$cmd" || admincmds="$admincmds $cmd" - done - IFS="$save_ifs" + done + IFS="$save_ifs" fi if test -n "$finish_eval"; then # Do the single finish_eval. @@ -2639,10 +3028,10 @@ libdir='$install_libdir'\ echo " $libdir" done echo - echo "To link against installed libraries in a given directory, LIBDIR," - echo "you must use the \`-LLIBDIR' flag during linking." - echo - echo " You will also need to do at least one of the following:" + echo "If you ever happen to want to link against installed libraries" + echo "in a given directory, LIBDIR, you must either use libtool, and" + echo "specify the full pathname of the library, or use \`-LLIBDIR'" + echo "flag during linking and do at least one of the following:" if test -n "$shlibpath_var"; then echo " - add LIBDIR to the \`$shlibpath_var' environment variable" echo " during execution" @@ -2693,22 +3082,22 @@ libdir='$install_libdir'\ dir= case "$file" in *.la) - # Check to see that this really is a libtool archive. - if (sed -e '2q' $file | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then : - else - $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2 - $echo "$help" 1>&2 - exit 1 - fi + # Check to see that this really is a libtool archive. + if (sed -e '2q' $file | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then : + else + $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2 + $echo "$help" 1>&2 + exit 1 + fi # Read the libtool library. dlname= library_names= - # If there is no directory component, then add one. + # If there is no directory component, then add one. case "$file" in */* | *\\*) . $file ;; - *) . ./$file ;; + *) . ./$file ;; esac # Skip this library if it cannot be dlopened. @@ -2737,7 +3126,7 @@ libdir='$install_libdir'\ *) $echo "$modename: warning \`-dlopen' is ignored for non-libtool libraries and objects" 1>&2 - continue + continue ;; esac @@ -2764,8 +3153,8 @@ libdir='$install_libdir'\ case "$file" in -*) ;; *) - # Do a test to see if this is really a libtool program. - if (sed -e '4q' $file | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then + # Do a test to see if this is really a libtool program. + if (sed -e '4q' $file | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then # If there is no directory component, then add one. case "$file" in */* | *\\*) . $file ;; @@ -2775,7 +3164,7 @@ libdir='$install_libdir'\ # Transform arg to wrapped name. file="$progdir/$program" fi - ;; + ;; esac # Quote arguments (to preserve shell metacharacters). file=`$echo "X$file" | $Xsed -e "$sed_quote_subst"` @@ -2788,10 +3177,10 @@ libdir='$install_libdir'\ # Restore saved enviroment variables if test "${save_LC_ALL+set}" = set; then - LC_ALL="$save_LC_ALL"; export LC_ALL + LC_ALL="$save_LC_ALL"; export LC_ALL fi if test "${save_LANG+set}" = set; then - LANG="$save_LANG"; export LANG + LANG="$save_LANG"; export LANG fi # Now actually exec the command. @@ -2837,17 +3226,17 @@ libdir='$install_libdir'\ case "$name" in *.la) - # Possibly a libtool archive, so verify it. - if (sed -e '2q' $file | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then - . $dir/$name + # Possibly a libtool archive, so verify it. + if (sed -e '2q' $file | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then + . $dir/$name - # Delete the libtool libraries and symlinks. - for n in $library_names; do - rmfiles="$rmfiles $dir/$n" - test "X$n" = "X$dlname" && dlname= - done - test -n "$dlname" && rmfiles="$rmfiles $dir/$dlname" - test -n "$old_library" && rmfiles="$rmfiles $dir/$old_library" + # Delete the libtool libraries and symlinks. + for n in $library_names; do + rmfiles="$rmfiles $dir/$n" + test "X$n" = "X$dlname" && dlname= + done + test -n "$dlname" && rmfiles="$rmfiles $dir/$dlname" + test -n "$old_library" && rmfiles="$rmfiles $dir/$old_library" $show "$rm $rmfiles" $run $rm $rmfiles @@ -2864,7 +3253,7 @@ libdir='$install_libdir'\ IFS="$save_ifs" fi - if test -n "$old_library"; then + if test -n "$old_library"; then # Do each command in the old_postuninstall commands. eval cmds=\"$old_postuninstall_cmds\" IFS="${IFS= }"; save_ifs="$IFS"; IFS='~' @@ -2876,21 +3265,21 @@ libdir='$install_libdir'\ IFS="$save_ifs" fi - # FIXME: should reinstall the best remaining shared library. - fi - ;; + # FIXME: should reinstall the best remaining shared library. + fi + ;; *.lo) - if test "$build_old_libs" = yes; then - oldobj=`$echo "X$name" | $Xsed -e "$lo2o"` - rmfiles="$rmfiles $dir/$oldobj" - fi + if test "$build_old_libs" = yes; then + oldobj=`$echo "X$name" | $Xsed -e "$lo2o"` + rmfiles="$rmfiles $dir/$oldobj" + fi $show "$rm $rmfiles" $run $rm $rmfiles - ;; + ;; *) - $show "$rm $rmfiles" + $show "$rm $rmfiles" $run $rm $rmfiles ;; esac @@ -2950,6 +3339,7 @@ Compile a source file into a libtool library object. This mode accepts the following additional options: + -o OUTPUT-FILE set the output file name to OUTPUT-FILE -static always build a \`.o' file suitable for static linking COMPILE-COMMAND is a command to be used in creating a \`standard' object file @@ -3018,18 +3408,23 @@ a program from several object files. The following components of LINK-COMMAND are treated specially: -all-static do not do any dynamic linking at all + -avoid-version do not add a version suffix if possible -dlopen FILE \`-dlpreopen' FILE if it cannot be dlopened at runtime - -dlpreopen FILE link in FILE and add its symbols to dld_preloaded_symbols + -dlpreopen FILE link in FILE and add its symbols to lt_preloaded_symbols -export-dynamic allow symbols from OUTPUT-FILE to be resolved with dlsym(3) + -export-symbols SYMFILE + try to export only the symbols listed in SYMFILE -LLIBDIR search LIBDIR for required installed libraries -lNAME OUTPUT-FILE requires the installed library libNAME + -module build a library that can dlopened -no-undefined declare that a library does not refer to external symbols -o OUTPUT-FILE create OUTPUT-FILE from the specified objects -release RELEASE specify package release information -rpath LIBDIR the created library will eventually be installed in LIBDIR + -R[ ]LIBDIR add LIBDIR to the runtime path of programs and libraries -static do not do any dynamic linking of libtool libraries -version-info CURRENT[:REVISION[:AGE]] - specify library version info [each variable defaults to 0] + specify library version info [each variable defaults to 0] All other options (arguments beginning with \`-') are ignored. @@ -3037,8 +3432,9 @@ Every other argument is treated as a filename. Files ending in \`.la' are treated as uninstalled libtool libraries, other files are standard or library object files. -If the OUTPUT-FILE ends in \`.la', then a libtool library is created, only -library objects (\`.lo' files) may be specified, and \`-rpath' is required. +If the OUTPUT-FILE ends in \`.la', then a libtool library is created, +only library objects (\`.lo' files) may be specified, and \`-rpath' is +required, except when creating a convenience library. If OUTPUT-FILE ends in \`.a' or \`.lib', then a standard library is created using \`ar' and \`ranlib', or on Windows using \`lib'. diff --git a/modules/Makefile.am b/modules/Makefile.am index d48a67f19f..fdd9e8ac7f 100644 --- a/modules/Makefile.am +++ b/modules/Makefile.am @@ -8,9 +8,14 @@ INCLUDES = \ $(GTK_CFLAGS) \ -I$(includedir) -module_LTLIBRARIES = libcolorsel_gtk.la libcolorsel_triangle.la +module_LTLIBRARIES = \ + libcolorsel_gtk.la \ + libcolorsel_triangle.la libcolorsel_gtk_la_SOURCES = colorsel_gtk.c +libcolorsel_gtk_la_LDFLAGS = -avoid-version -module +libcolorsel_gtk_la_LIBADD = @GTK_LIBS@ libcolorsel_triangle_la_SOURCES = colorsel_triangle.c - +libcolorsel_triangle_la_LDFLAGS = -avoid-version -module +libcolorsel_triangle_la_LIBADD = @GTK_LIBS@ diff --git a/plug-ins/lic/Makefile.am b/plug-ins/lic/Makefile.am index abd90bedad..ba26f8e9f3 100644 --- a/plug-ins/lic/Makefile.am +++ b/plug-ins/lic/Makefile.am @@ -15,8 +15,7 @@ INCLUDES = \ LDADD = \ $(top_builddir)/libgimp/libgimpui.la \ $(top_builddir)/libgimp/libgimp.la \ - $(GTK_LIBS) \ - @LIBJPEG_LIB@ + $(GTK_LIBS) DEPS = \ $(top_builddir)/libgimp/libgimpui.la \ diff --git a/plug-ins/mapcolor/Makefile.am b/plug-ins/mapcolor/Makefile.am index 09ffe54f71..65b7b48774 100644 --- a/plug-ins/mapcolor/Makefile.am +++ b/plug-ins/mapcolor/Makefile.am @@ -14,8 +14,7 @@ INCLUDES = \ LDADD = \ $(top_builddir)/libgimp/libgimp.la \ - $(GTK_LIBS) \ - @LIBJPEG_LIB@ + $(GTK_LIBS) DEPS = \ $(top_builddir)/libgimp/libgimp.la diff --git a/plug-ins/xbm/Makefile.am b/plug-ins/xbm/Makefile.am index a2192a077d..c2a309d4b9 100644 --- a/plug-ins/xbm/Makefile.am +++ b/plug-ins/xbm/Makefile.am @@ -14,8 +14,7 @@ INCLUDES = \ LDADD = \ $(top_builddir)/libgimp/libgimp.la \ - $(GTK_LIBS) \ - @LIBJPEG_LIB@ + $(GTK_LIBS) DEPS = \ $(top_builddir)/libgimp/libgimp.la