why doesn't libgcj link against libiconv?

Jack Howarth <[email protected]>
Newsgroups gmane.comp.gcc.java.devel
Message-ID <[email protected]>
   I am running into a very odd bug on darwin with both gcc-4_6-branch
and gcc trunk. Last year I added a patch to insure that when gcc was
built with -with-libiconv-prefix=/sw, that libgcj.spec would provide the
necessary linkage "-L/sw/lib -liconv" to access the correct libiconv.
For some unknown reason the installed libgcj.spec now loses LDLIBICONV.
The weird part is that the libgcj.spec generated in the build directory
still has it...

[MacPro:~] howarth% cd /sw/src/fink.build/gcc47-4.7.0-1000/darwin_objdir/x86_64-apple-darwin11.0.0/libjava
[MacPro:darwin_objdir/x86_64-apple-darwin11.0.0/libjava] howarth% more libgcj.spec
#
# This spec file is read by gcj when linking.
# It is used to specify the standard libraries we need in order
# to link with libgcj.
#
%rename startfile startfileorig
*startfile:  %(startfileorig)

%rename lib liborig
*lib:  %{s-bc-abi:} -lgcj    -L/sw/lib -liconv    -lz %{!Zdynamiclib:%{!Zbundle:-allow_stack_execute}}  %(libgcc)  %(liborig) -no_pie

*jc1: -fhash-synchronization -fuse-divide-subroutine -fcheck-references -fuse-boehm-gc -fnon-call-exceptions     -fkeep-inline-functions

but the installed libgcc.spec doesn't...

[MacPro:~] howarth% cd /sw/lib/gcc4.7/lib
[MacPro:lib/gcc4.7/lib] howarth% more libgcj.spec
#
# This spec file is read by gcj when linking.
# It is used to specify the standard libraries we need in order
# to link with libgcj.
#
%rename startfile startfileorig
*startfile:  %(startfileorig)

%rename lib liborig
*lib:  %{s-bc-abi:} -lgcj        -lz %{!Zdynamiclib:%{!Zbundle:-allow_stack_execute}}  %(libgcc)  %(liborig) -no_pie

*jc1: -fhash-synchronization -fuse-divide-subroutine -fcheck-references -fuse-boehm-gc -fnon-call-exceptions     -fkeep-inline-functions


Note that I hardcoded -no_pie I added to libgcj.spec.in is retained.
     I am wondering if we really need to have @LDLIBICONV@ in libgcj.spec.in to solve this. Why can't 
we simply pass @LDLIBICONV@ to the linkage of libgcj itself so that libgcj,dylib is directly linked against the appropriate
libiconv to resolve those iconv symbols? Would this approach be acceptable?
              Jack
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.