LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Mandriva (http://www.linuxquestions.org/questions/mandriva-30/)
-   -   How to make or get configure.ac ? (http://www.linuxquestions.org/questions/mandriva-30/how-to-make-or-get-configure-ac-4175423223/)

irajjs 08-21-2012 08:11 AM

How to make or get configure.ac ?
 
sometimes when i try to make something or configure automatically the output is :
configure.ac or configure.in is required
and when i type;
#make configure.ac or #automake configure.ac or #autogen configure.ac
the output is:
no rules to make configure.ac
or : don,t know how to make configure.ac
I know that if i type : #autoscan in an empty folder a file named #configure.am is created and then opening that with #autoconf a script is created which possibly leads to configuration or....don't know exactly...and i do not know if i can do this with all folders(empty/full)...any way my question is :
How to make or get configure.ac ? or how to make or get rules
Please help

414N 08-21-2012 08:29 AM

Well, you should write your own configure.ac based upon your project settings (sources, libs, includes etc.).
For other information I guess you should read the autoconf manual.

irajjs 09-04-2012 07:15 PM

shall i make(write) a new autoconf?!
 
Quote:

Originally Posted by 414N (Post 4760072)
Well, you should write your own configure.ac based upon your project settings (sources, libs, includes etc.).
For other information I guess you should read the autoconf manual.

Hi
I think there are a lot of sources,libs,includes etc in my PC's software the only needed thing is an automatic configuration program which is named as autoconf and i have downloaded and installed the latest(nearly)"autoconf" too! so if autoconf is not able to configure all software then what can it do?
Regards

414N 09-05-2012 02:53 AM

autoconf is the tool which generates a configure script based upon a configure.ac file.
autoscan can generate a preliminary configure.ac (named configure.scan) but you'll probably need to adjust it by hand anyway.
automake generates Makefile files based upon user-edited Makefile.am files and is automatically called by autoconf if the configure.ac script initializes the automake subsystem (using the AM_INIT_AUTOMAKE() macro).
You can't expect those tools (especially autoscan) to pick up the right configuration for you at the first try, as only you know (or should know) how the project is laid out.
Are you trying to convert your project to an autotools-based build system or is it a third party project?

irajjs 09-23-2012 06:47 PM

to enhance,update,upgrade
 
Quote:

Originally Posted by 414N (Post 4773034)
autoconf is the tool which generates a configure script based upon a configure.ac file.
autoscan can generate a preliminary configure.ac (named configure.scan) but you'll probably need to adjust it by hand anyway.
automake generates Makefile files based upon user-edited Makefile.am files and is automatically called by autoconf if the configure.ac script initializes the automake subsystem (using the AM_INIT_AUTOMAKE() macro).
You can't expect those tools (especially autoscan) to pick up the right configuration for you at the first try, as only you know (or should know) how the project is laid out.
Are you trying to convert your project to an autotools-based build system or is it a third party project?

Hi
Actually i do not consider my works as a project or projects but simply i just want to automatically(enhance,update,upgrade) my software and my PC.
Regards

414N 09-24-2012 02:59 AM

Then I guess the autotools suite is not what you're looking for.
If all you're looking for is only a way to automate system updates/upgrades (I suppose using a packaging system), then you can just write the commands you need to perform in a shell script and execute it when needed.

irajjs 09-26-2012 12:38 PM

I am looking for much more!
 
Quote:

Originally Posted by 414N (Post 4787792)
Then I guess the autotools suite is not what you're looking for.
If all you're looking for is only a way to automate system updates/upgrades (I suppose using a packaging system), then you can just write the commands you need to perform in a shell script and execute it when needed.

Hi
system update/upgrade in it`s wider meaning will end up with the use of autotools and more.....you will get a better understanding of what i want to do if you take a look at my other posts such as : "how do i communicate with my computer?" , "what is the process named as unknown belonging to root?" ,"why manual?" ...etc
About writing commands in a shell script i already have started although i have difficulties in writing and defining new commands which i need most and i would be thankful if anyone can help me in doing this.
Regards

414N 09-27-2012 03:18 AM

I read some of your other threads now, but I don't understand how reading them should provide me some insight into what exactly you're trying to achieve using autotools.
I suspect you have performed an incomplete analysis of your problem (system updates/upgrades) and then you chose the (likely) wrong tool for the job probably not knowing its inner workings, caveats and use cases.
I suggest to restart again from the beginning: defining the problem. To help you with this, try to answer these questions:
  • what do you mean by system update and upgrade?
  • is a package management system involved in this? If so, which one? If not, are you going to build from source any newer version of the software(s) you're interested in?
  • how should your program/script interact with the end user?

irajjs 09-27-2012 07:52 AM

what i mean...
 
Quote:

Originally Posted by 414N (Post 4790477)
I read some of your other threads now, but I don't understand how reading them should provide me some insight into what exactly you're trying to achieve using autotools.
I suspect you have performed an incomplete analysis of your problem (system updates/upgrades) and then you chose the (likely) wrong tool for the job probably not knowing its inner workings, caveats and use cases.
I suggest to restart again from the beginning: defining the problem. To help you with this, try to answer these questions:
  • what do you mean by system update and upgrade?
  • is a package management system involved in this? If so, which one? If not, are you going to build from source any newer version of the software(s) you're interested in?
  • how should your program/script interact with the end user?

Hi
about questions:
1-in my view update/upgrade in software means to make software better and take them to a higher level so autotools if my understanding about them is correct do this automatically and comparing human speed with computer speed this automation will cause a much more progress in doing things
2-my scripts could be considered as : "package management system" or more generally computer management system i am also trying to build a new version to do this i am trying to upgrade the current version by enhancing software abilities
3-i have no clear idea about the last question and this is what i am trying to configure and solve

414N 09-27-2012 02:22 PM

Quote:

Originally Posted by irajjs (Post 4790698)
1-in my view update/upgrade in software means to make software better and take them to a higher level so autotools if my understanding about them is correct do this automatically and comparing human speed with computer speed this automation will cause a much more progress in doing things

Please correct me if I got you wrong: you'd like to improve existing, generic software and bring it to higher level using autotools, because it automates this process, in your opinion. Well, if I got your idea right, I'm afraid I'll have to tell you your assumptions are completely wrong:
  • the improvements you'd like to apply to a generic piece of software need to be carefully defined ("improvement" is a relative term and means nothing without context...) and then you need to make sure that they can be successfully applied to the piece of software at hand.
  • every program is written in the programming language(s) chosen by the developer(s), so your "improvements" will likely need to be implemented in several different programming languages if they're not already available as "configure-time" switches.
  • you need to at least have a basic knowledge of every program's architecture you're trying to "improve" to successfully modify it by adding some "improvement" features without wreaking havoc to the pre-existant codebase.
  • after the previous points, you should see that every program is made in its own way, so defining an automated "improvement patcher" is (nearly) impossible.
  • autotools is a suite of tools heavily dependent on the shell (the configure.ac file is just a shell script containing specific macro files...) whose primary purpose is to automate the build process for a codebase. Automation is heavily needed for not-so-small projects because there is a need to standardize, in some way, the build/compilation of said project on different systems, different compilers, different architectures etc.
    Let me make an example: suppose you wrote a piece of software in C and would like it to compile fine on Linux and on Windows. After having successfully compiled it on Linux with GCC, you copy the sources over your friendly Windows box and try to compile it with Microsoft Visual C/C++ Compiler (MSVC), but the compilation fails. You then notice that there's an issue with how MSVC interprets the function randomFunctionName() and you need to add the "/J" flag (no idea if that exists and what it means ;)) to the compiler command line to successfully compile your source code on Windows. Exploiting autotools (as you want your project to be autotools based), you then add a test to identify the compiler to your configure.ac script (which gets copied as-is to the configure script) and, if it's MSVC, a compilation flag is automatically added to the compiler command line when building, so you'll be able to build your software on Linux and Windows effortlessly hereon after a "./configure" run.
    Ok, Windows hasn't got a bash shell per-se to make the configure script work, but that can be resolved with CigWin and the likes. ;)
Quote:

Originally Posted by irajjs (Post 4790698)
2-my scripts could be considered as : "package management system" or more generally computer management system i am also trying to build a new version to do this i am trying to upgrade the current version by enhancing software abilities

Are you trying to write down something like Portage, the Gentoo Linux software management suite? With that system you're able to choose the configure-time switches of the software packages you're installing (they're always built from source), enabling or disabling features from the packages.
You should also make some concrete examples of these "enhanced abilities" for existing software, for clearness sake. ;)
Quote:

Originally Posted by irajjs (Post 4790698)
3-i have no clear idea about the last question and this is what i am trying to configure and solve

Simple enough, what you're trying to write needs user interaction/configuration? Should it be a console-only program or should it also have a GUI frontend?

irajjs 09-29-2012 04:52 AM

trying to enhance my computer by all possible means
 
Quote:

Originally Posted by 414N (Post 4790939)
Please correct me if I got you wrong: you'd like to improve existing, generic software and bring it to higher level using autotools, because it automates this process, in your opinion. Well, if I got your idea right, I'm afraid I'll have to tell you your assumptions are completely wrong:
  • the improvements you'd like to apply to a generic piece of software need to be carefully defined ("improvement" is a relative term and means nothing without context...) and then you need to make sure that they can be successfully applied to the piece of software at hand.
  • every program is written in the programming language(s) chosen by the developer(s), so your "improvements" will likely need to be implemented in several different programming languages if they're not already available as "configure-time" switches.
  • you need to at least have a basic knowledge of every program's architecture you're trying to "improve" to successfully modify it by adding some "improvement" features without wreaking havoc to the pre-existant codebase.
  • after the previous points, you should see that every program is made in its own way, so defining an automated "improvement patcher" is (nearly) impossible.
  • autotools is a suite of tools heavily dependent on the shell (the configure.ac file is just a shell script containing specific macro files...) whose primary purpose is to automate the build process for a codebase. Automation is heavily needed for not-so-small projects because there is a need to standardize, in some way, the build/compilation of said project on different systems, different compilers, different architectures etc.
    Let me make an example: suppose you wrote a piece of software in C and would like it to compile fine on Linux and on Windows. After having successfully compiled it on Linux with GCC, you copy the sources over your friendly Windows box and try to compile it with Microsoft Visual C/C++ Compiler (MSVC), but the compilation fails. You then notice that there's an issue with how MSVC interprets the function randomFunctionName() and you need to add the "/J" flag (no idea if that exists and what it means ;)) to the compiler command line to successfully compile your source code on Windows. Exploiting autotools (as you want your project to be autotools based), you then add a test to identify the compiler to your configure.ac script (which gets copied as-is to the configure script) and, if it's MSVC, a compilation flag is automatically added to the compiler command line when building, so you'll be able to build your software on Linux and Windows effortlessly hereon after a "./configure" run.
    Ok, Windows hasn't got a bash shell per-se to make the configure script work, but that can be resolved with CigWin and the likes. ;)

Are you trying to write down something like Portage, the Gentoo Linux software management suite? With that system you're able to choose the configure-time switches of the software packages you're installing (they're always built from source), enabling or disabling features from the packages.
You should also make some concrete examples of these "enhanced abilities" for existing software, for clearness sake. ;)

Simple enough, what you're trying to write needs user interaction/configuration? Should it be a console-only program or should it also have a GUI frontend?

Hi
Thank you for spending a lot of time to help me
I am trying to enhance and upgrade my computer by all possible means one of which is the use of autotools
I try to download and install the latest versions of Operating Systems also i install the latest versions of lateral software and i try to find the best possible configuration for all , i also try to find ways to integrate software in my computer such that they all act in my preferred direction
Actually i did not understand some points in your reply this is because i have had no academic studies in computer science and i am not going to ask you to spend your time explaining them but , i am going to go on my studies using your guidelines ...any way i just do not give up in this case because computer still is my main interest.
Regards

414N 09-30-2012 06:28 AM

Quote:

Originally Posted by irajjs (Post 4792342)
I am trying to enhance and upgrade my computer by all possible means one of which is the use of autotools.
I try to download and install the latest versions of Operating Systems also i install the latest versions of lateral software and i try to find the best possible configuration for all , i also try to find ways to integrate software in my computer such that they all act in my preferred direction

You're still too "abstract": how are these "latest versions of software" installed? Do you compile all of them from source or are you using a package management system like urpmi on Mandriva Linux? What do you mean with "best possible configuration"?
Please, post some concrete examples on what you're trying to do and what you've done till now.
Also, please note that "latest version" is not, most of the times, a synonym for "best version": often, newer versions introduce new bugs/regressions in the code base, especially when a lot of features have been added to the program since its latest stable version.
Quote:

Originally Posted by irajjs (Post 4792342)
Actually i did not understand some points in your reply this is because i have had no academic studies in computer science and i am not going to ask you to spend your time explaining them but , i am going to go on my studies using your guidelines ...any way i just do not give up in this case because computer still is my main interest.

Don't worry about it, I'll try to help you anyway. ;)

irajjs 09-30-2012 05:22 PM

I got what i could get!
 
Quote:

Originally Posted by 414N (Post 4793131)
You're still too "abstract": how are these "latest versions of software" installed? Do you compile all of them from source or are you using a package management system like urpmi on Mandriva Linux? What do you mean with "best possible configuration"?
Please, post some concrete examples on what you're trying to do and what you've done till now.
Also, please note that "latest version" is not, most of the times, a synonym for "best version": often, newer versions introduce new bugs/regressions in the code base, especially when a lot of features have been added to the program since its latest stable version.

Don't worry about it, I'll try to help you anyway. ;)

Hello
About the latest version of software:
Mandriva2012 is the latest version which i have installed(although as you say there are 4-12 bugs related to "...bad rss counter..." that i still don,t know how to take care of them!)
lateral software mostly are downloaded from gnu ftp site(the latest version)...i usually download i586gzip and install according to what is said in "read me" or "install " files usually #./configure then #make then #make check then #make install...and install check.
for best possible configuration i can not explain easily because it will take a long time! now! let me tell you about time!
At present time i have to use a very slow internet connection at home with a lot of problems such as disconnections and filtration and ....unfortunately i can not tell more! because of it`s consequences such as loosing the access to the internet for a long time or worse!
so i have to just get what ever is possible to get at the shortest possible time and then go on by studying and working off line . I do not post questions for useless discussions or arguments as you can see in my other post "how do i communicate with my computer" and whenever i understand that continuing the discussion will be more time taking rather than being helpful then i try to discontinue...i also do not intend to take a lot of time from helpers and can not go into details due to the time problem.
you seem to be very caring and kind and positive but let me do my own duties as a learner and study enough and then just ask the key points next time ...i have a lot of things to say and a lot of questions to ask but i am trying to ask and say the major ones if and only if i am sure that it would be useful rather than time taking
yesterday i downloaded some pdf files about C-programming and during last day i also read 50 pages about php language which seems to be close to C and c++
About what i have done : i have done/"tried to do" a lot , in other words i have done whatever i have been able to do!
during the last few years i have lost my software many times i also came to this point to not to work with windows OS and related software any more(just on my PC!) because they are controlled by their parent site rather than by user! or even administrator!
Linux is a very vast working field in which one can do a lot of things again i want to tell you to read my other posts to know about some of what i am or have been trying to do and possibly i will tell you more later.
Regards


All times are GMT -5. The time now is 09:34 PM.