Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 81604 - make kdevelop more configurable + fixes
Summary: make kdevelop more configurable + fixes
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: x86 Linux
: High enhancement (vote)
Assignee: Gentoo KDE team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2005-02-11 04:26 UTC by Prakash Punnoor
Modified: 2005-02-28 06:00 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Prakash Punnoor 2005-02-11 04:26:05 UTC
Well, configure --help gives me this:

--disable-ada           disable programming language support for Ada
--disable-bash          disable programming language support for bash
--disable-cpp           disable programming language support for C and C++
--disable-fortran       disable programming language support for Fortran
--disable-haskell       disable programming language support for haskell
--disable-java          disable programming language support for Java
--disable-pascal        disable programming language support for Pascal
--disable-perl          disable programming language support for perl
--disable-php           disable programming language support for PHP
--disable-python        disable programming language support for Python
--disable-ruby          disable programming language support for ruby
--disable-sql           disable programming language support for SQL
--disable-antproject    disable build tool support for ant
--disable-autoproject   disable build tool support for autotools
--disable-customproject disable build tool support for custom makefiles
--disable-scriptproject disable build tool support for script
--disable-trollproject  disable build tool support for qmake
--disable-clearcase     disable vcs support for clearcase
--disable-cvs           disable vcs support for cvs
--disable-perforce      disable vcs support for perforce
--disable-subversion    disable vcs support for subversion

So I thought, why don't make use of those options. Furthermore you can see that current ebuild for kdevelop 3.2beta incorrectly sets up python and java (ie. the won't get disabled)

So this is my suggestion for updated IUSE and $makeconf:

IUSE="ada ant automake bash clearcase c custom cvs doc fortran haskell java qmake pascal perl php python perforce ruby script sql svn"


	myconf="$myconf $(use_enable java) $(use_with java java $(java-config --jdk-home))
			$(use_enable python) $(use_with python pythondir /usr/lib/python${PYVER})
			$(use_enable ruby) $(use_enable ant antproject) $(use_enable ada)  $(use_enable bash)
			$(use_enable clearcase) $(use_enable c cpp) $(use_enable cvs) $(use_enable fortran)
			$(use_enable haskell) $(use_enable qmake trollproject) $(use_enable pascal) $(use_enable perl)
			$(use_enable php) $(use_enable perforce) $(use_enable sql) $(use_enable svn subversion)
			$(use_enable scipt scriptproject) $(use_enable custom customproject)
			$(use_enable automake autoproject)"


I compiled kdevelop with -ada -ant -arts +automake -bash +c -clearcase -custom -cvs -debug -doc -fortran -haskell -java +kdeenablefinal -pascal -perforce -perl -php -python -qmake -ruby -script -sql -svn -xinerama

and yes, it compiled nicely (nad faster) and I got what I need: support for c and c++ and no other junk...

If you like my suggestion, I will make a patch and fuirthermore add some descriptive information to the ebuild which explains all the use flags.

Reproducible: Always
Steps to Reproduce:
1.
2.
3.
Comment 1 Caleb Tennis (RETIRED) gentoo-dev 2005-02-11 05:20:36 UTC
Nice find.  I'll look into getting this into portage.
Comment 2 Prakash Punnoor 2005-02-11 05:27:15 UTC
BTW, I am currently browsing the Makefiles of kdevelop and see they haven't doen the dependencies the smartest way, if I understand correctly.

Eg.: ./lib/cppparser ist built anyway, but it is only used by languages/cpp

same applies to /lib/antlr which is built anyway, but isn't used by all languages.

So, maybe bug upstream to work out dependencies correctly?
Comment 3 Caleb Tennis (RETIRED) gentoo-dev 2005-02-11 05:35:47 UTC
Yeah - I think they'd be especially receptive if you can include a patch to the configure.in.in files for these features as well.
Comment 4 Prakash Punnoor 2005-02-11 05:47:21 UTC
Uhm, isn't configure.in.in an autogenerated file? I am not an expert on automake, autoconf 'n' stuff. I thought about explicitly inserting the needed libs into SUBDIRS in the languages' Makefile.am. this way automake resolves depencies and I don't have to care. Then I can delete antlr and stuff in Makefile.am in lib/ and everything should work automagically. Do you think this is the way to go?
Comment 5 Simone Gotti (RETIRED) gentoo-dev 2005-02-11 12:05:32 UTC
no configure.in.in isn't autogenerated. What's generated is the root configure.in that se the sum of all the configure.in.in.

I don't know what's the problem, but I can tell you that a fix can involve both configure.in.in and Automake.am, depending if there's also a configure flag or check that needs to be changed to make all works or not.
Comment 6 Prakash Punnoor 2005-02-11 12:20:46 UTC
Ok, thanks, after experimenting wiht it, I also had that impression. :) But my idea seems to work, ie defining the dependency by adding the dependent lib to SUBDIRS. I even went a step further and it seems to be possible to spilt the ebuild into a "kdevelop-base" package and a package which builds the language, project and version management modules - without redundant compiling.

I will ask the kdevelop devs if they are interested in this work and ask them what would be the best way to do so. (I mostly played around with the Makefile.am's.) I think it should be possible to implement in such a way that old behaviour can be chosen or the split one, ie. either compile the base or the modules.
Comment 7 Gregorio Guidi (RETIRED) gentoo-dev 2005-02-28 06:00:25 UTC
In kdevelop-3.2.0_rc1, I implemented a good amount of these useflags.
Not _all_, because that seemed to me like pushing it a bit too far, and we
don't really want to have basic features like c/c++ and automake support
disabled by default.
Anyway, kdevelop should be really configurable now.