Re: About static linking with gcj
David Daney <[email protected]>
| Newsgroups | gmane.comp.gcc.help,gmane.comp.gcc.java.devel |
|---|---|
| Message-ID | <[email protected]> |
Andrew Haley wrote: > [email protected] wrote: >> Hi all, >> I'm trying to make static linking in order to obtain a java executable >> to use on a device with few hardisk space. >> I created a simple java that made >> only a "System.out.println" and after c >> ompiling I obtained am executable file >> of 29 MB. Is it possibile to >> shrink the size of executable? Am I doing >> something worng? >> This is the command that I'm using. >> >> gcc -o Foo Foo.o Foomain. >> i -shared-libgcc -Wl,-non_shared -lgcj -Wl,-call_shared -lsupc++ -Wl,--as- >> needed -lz -lgcc_s -lpthread -lc -lm -ldl -Wl,--no-as-needed > > It's difficult. The nature of the Java library is such that a lot of > stuff is required, and you'll find it gets linked in. SOme folks on the > gcc list have done work in this area, but it's tricky. > You can use -static-libgcj since GCC-4.2. Also you can try the patches I posted to java-patches@ recently to try to reduce the size of the statically linked applications. The best I have been able to achieve on GCC-4.3.4 is about 10MB. David Daney