Hello,
I'm porting KDE 1.90 to Tru64 and needed to make the following changes
to the libtool which comes with KDE to get it going unter Tru64 using
g++ 2.95.2:
- ltconfig,v
fixed -expect_unresolved stuff.
- ltmain.sh,v
fix for the problem that sometimes a shared library which was being
linked, was additionally included with -Wl. Needless to say that
it was not there yet and the linker bailed out.
I'm appending the patches below and I'd appreciate if you'd review them
and add them to your sources.
Thanks // Tom
===================================================================
RCS file: /home/kde/kde-common/admin/ltconfig,v
retrieving revision 1.38
diff -u -3 -p -r1.38 ltconfig
--- kdesdk/admin/ltconfig 2000/04/24 19:01:54 1.38
+++ kdesdk/admin/ltconfig 2000/05/20 12:36:08
@@ -1308,7 +1308,7 @@ else
osf3*)
if test "$with_gcc" = yes; then
- allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*'
+ allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\\*'
archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs
$compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo
${wl}-set_version ${wl}$verstring` ${wl}-update_registry
${wl}${output_objdir}/so_locations -o $lib'
else
allow_undefined_flag=' -expect_unresolved \*'
@@ -1320,7 +1320,7 @@ else
osf4* | osf5*) # as osf3* with the addition of -msym flag
if test "$with_gcc" = yes; then
- allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*'
+ allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\\*'
archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs
$compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo
${wl}-set_version ${wl}$verstring` ${wl}-update_registry
${wl}${output_objdir}/so_locations -o $lib'
else
allow_undefined_flag=' -expect_unresolved \*'
@@ -1707,6 +1707,11 @@ osf3* | osf4* | osf5*)
soname_spec='${libname}${release}.so'
library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so
$libname.so'
shlibpath_var=LD_LIBRARY_PATH
+ # this will be overridden with pass_all, but let us keep it just in case
+ deplibs_check_method='file_magic COFF format alpha shared library'
+ file_magic_cmd=/usr/bin/file
+ file_magic_test_file=/shlib/libc.so
+ deplibs_check_method='pass_all'
sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib
/usr/local/lib /var/shlib"
sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
;;
===================================================================
RCS file: /home/kde/kde-common/admin/ltmain.sh,v
retrieving revision 1.33
diff -u -3 -p -r1.33 ltmain.sh
--- kdesdk/admin/ltmain.sh 2000/04/24 19:01:55 1.33
+++ kdesdk/admin/ltmain.sh 2000/05/20 12:36:08
@@ -1752,6 +1752,9 @@ compiler."
immediate | unsupported)
if test "$hardcode_direct" = no; then
add="$dir/$linklib"
+ case "$host" in
+ *-*-osf*) if [ "$linkmode" = "lib" ]; then add= ; fi ;;
+ esac
elif test "$hardcode_minus_L" = no; then
case "$host" in
*-*-sunos*) add_shlibpath="$dir" ;;
--
--------------------------------------------------------------------------
Dr. Tom Leitner Dept. of Communications
Graz University of Technology,
e-mail : [EMAIL PROTECTED] Inffeldgasse 12
Phone : +43-316-873-7455 A-8010 Graz / Austria / Europe
Fax : +43-316-463-697
Home page : http://wiis.tu-graz.ac.at/people/tom.html
PGP public key on : ftp://wiis.tu-graz.ac.at/pgp-keys/tom.asc or send
mail with subject "get Thomas Leitner" to [EMAIL PROTECTED]
--------------------------------------------------------------------------
Before we have the paperless office, we have the paperless toilet!
---------- Forwarded message ----------
Date: Sat, 20 May 2000 18:21:06 +0200
From: Stephan Kulow <[EMAIL PROTECTED]>
To: Thomas Leitner <[EMAIL PROTECTED]>
Subject: Re: Tru64 Diffs ...........
Thomas Leitner wrote:
>
> Hi,
>
> Attached are my Tru64 diffs. I did a "cvs update" followed by a "cvs diff"
> to create them. I ask you to look through them and commit the changes to
> the CVS. Please tell me when you did it and I'll do a completely new
> checkout again and see if it works.
>
> Any questions or comments to the other changes are welcome. Some
> additional notes:
>
> - kdebase/konsole/src/Makefile.am
> I needed to rename the local library from konsole.la to konsole1.la
> because Tru64 requires libraries to have a lib* prefix. This caused a
> name clash between the two libraries libkonsole.la and konsole.la which
> are both created in this makefile. So I've just renamed the local
> library to konsole1.la which works without problems and shouldn't break
> anything. You also might choose a more suitable name than konsole1.la.
I used now libmykonsole and don't install it. I hope it doesn't break too much
> - kdelibs/kdecore/Makefile.am
> added vsnprintf.h to the list of installed header files. snprintf is
> not in the Tru64 libs and some modules need the header file.
Did you notice that vsnprintf.h doesn't exist? config.h.bot should contain
the prototype where needed. Most of your kdenetwork changes use this wrong.
> - kdeadmin/ksysv/Makefile.am
> libintl was required
it was not, it was just a bug
> - many *.cpp files which require usleep needed _XOPEN_SOURCE_EXTENDED
> defined
> - /home/kde/koffice/kpresenter/kpresenter_doc.h,v
> added another overloaded method for repaint. The code frequently
> called repaint(FALSE) (or TRUE) but FALSE and TRUE are ints
> and the compiler complained.
>
I replaced TRUE/FALSE with the C++ ones.
In kmail you added a HAVE_FLOCK. Better fix the cause of configure not
finding it!
Your fix in kppp is wrong too as it ignores fakes.cpp as well.
About the usleep thing: I would rather like to see you adding a usleep
prototype in config.h.bot on your own. It could be something like
#ifndef HAVE_USLEEP
#ifdef __osf__
extern "C" void usleep(long);
#else
void usleep(long);
#endif
#endif
The solution you propose is just too ugly
All in all, I suggest you continue sending diffs for now. I tried hard
to keep the code maintainable and your diffs mean in many places a step
back. I know you can better! :)
Greetings, Stephan
--
Programmers, heed this: If someone starts asking you about
agricultural genomes, it's likely time to get a handler.
zdnet.com about Torvalds