1

Topic: include autogen.sh in source

A while back a was tring to compile gparted with gcc-4.1.1 I had built and ran from /opt with:

make CC=/opt/gcc-4.1.1/bin/gcc CXX=/opt/gcc-4.1.1/bin/g++

The build always failed with a libtool error. I just tried it again with cvs and it compiled with no problems. The only difference is when you download cvs you have to run autogen.sh. So I copied the autogen.sh file into the 0.3.1 source and it compiled. The big gain was 210 kb smaller binary when the "-combine" flag with gcc-4.1.1 was used.

Now I can get to my point. smile

If somebody has a strange build error maybe we could instruct them to run autogen.sh in the source before they run configure. Might be a quick fix for somebody and the file is really small anyway.

P.S. is a 544 kb gparted binary impressive?

2

Re: include autogen.sh in source

to be honest, i'm not completely sure about the differences between autogen.sh and configure. All i know is that autogen.sh needs some extra stuff (gnome-common e.g.) to create configure and other scripts.
The tarballs we distrobute are created using 'make dist' and i like to stay as close as possible to the output it produces.
Besides, not that many people are actually building gparted themselves and the ones who do don't experience builderrors iirc. So.. let's keep everything as it is, you can always use autogen.sh from CVS as a developer.

544 KiB is impressive! on my machine without debuginfo and O2 it's about 715KiB ! What does -combine do exactly?

3

Re: include autogen.sh in source

-combine
          If you are compiling multiple source files, this option tells the
          driver to pass all the source files to the compiler at once (for
          those languages for which the compiler can handle this).  This
          will allow intermodule analysis (IMA) to be performed by the
          compiler.  Currently the only language for which this is supported
          is C.  If you pass source files for multiple languages to the
          driver, using this option, the driver will invoke the compiler(s)
          that support IMA once each, passing each compiler all the source
          files appropriate for it.  For those languages that do not support
          IMA this option will be ignored, and the compiler will be invoked
          once for each source file in that language.  If you use this
          option in conjunction with -save-temps, the compiler will generate
          multiple pre-processed files (one for each source file), but only
          one (combined) .o or .s file.

4

Re: include autogen.sh in source

sounds really good. I wonder if there are any disadvantages to this? If not, we should do this by default

5

Re: include autogen.sh in source

It only works in gcc-4.1 or later. So it's not something you can put in the gparted makefile yet. If you use an yearlier version it doesn't bomb out, but it says "-combine Unrecognized option" when compiling.