[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-core-devel
Subject:    PPC issue w.r.t. libartsc (and sometimes kcontrol modules)
From:       Kevin Puetz <puetzk () iastate ! edu>
Date:       2002-02-27 5:49:37
[Download RAW message or body]

KDE builds libartscbackend with -nostdlibs to avoid sucking c++ libs that it 
doesn't want. This places the burden of determining what system libs and 
objects constitute the runtime enviroment onto KDE's makefiles. We punt on 
this and let libtool work it out for us, but we seem to not quite get it 
right.

PowerPC, unlike ever other arch I've ever seen, includes it's c runtime as 
"/path/to/libgcc.a" instead of as "-lgcc". libtool doesn't recognize this 
pattern, which seems to sporadically crop up in the libs where we mix C and 
C++. This issue just cropped up to bite debian again, so it's probably time 
we fix it right :-).

It seems to me that libtool should be able to handle .a static archives in the 
files for a platform's c runtime. The rules for it should be just the same as 
for seperate .o files, unless there's some gotcha I don't understand (which 
is why I'm sending this here first). 

The following patches kde's libtool magic to handle the way powerpc declares 
it's libgcc include (ie, to handle use of .a archives in specifying the 
runtime libs), hopefully putting this one to rest for good. Thoughts? Is 
there anything special that has to be done for kde-common to replicate it 
across modules?

Index: admin/ltcf-cxx.sh
===================================================================
RCS file: /home/kde/kde-common/admin/ltcf-cxx.sh,v
retrieving revision 1.36
diff -u -r1.36 ltcf-cxx.sh
--- admin/ltcf-cxx.sh   2002/01/25 17:31:45     1.36
+++ admin/ltcf-cxx.sh   2002/02/18 04:54:47
@@ -35,6 +35,7 @@

 # Object file extension for compiled C++ test sources.
 objext=o
+archiveext=a

 # Code to be used in simple compile tests
 lt_simple_compile_test_code="int some_variable = 0;"
@@ -999,7 +1000,7 @@
        fi
        ;;

-    *.$objext)
+    *.$objext | *.$archiveext)
        # This assumes that the test object file only shows up
        # once in the compiler output.
        if test "$p" = "conftest.$objext"; then


-- 
Kevin Alan Puetz
(515)572-0927
puetzk@iastate.edu

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic