autotools

What is the recommended version of GNU autotools?

We maintain a RPM based software distribution at work so that we have a common set of software across all the platforms that we support. As a result we have to build a lot of third party software, and frequently find situations where we need to run autoconf/automake/libtoolize/etc to get it to build on Solaris or another platform. I'...

Trying to run faac's bootstrap script but running into errors

Hi, I'm trying to install faac and am running into errors. Here are the errors I get when trying to build it: [root@test faac]# ./bootstrap configure.in:11: warning: underquoted definition of MY_DEFINE run info '(automake)Extending aclocal' or see http://sources.redhat.com/automake/automake.html#Extending-aclocal aclocal:config...

How do you create tests for "make check" with GNU autotools

I'm using GNU autotools for the build system on a particular project. I want to start writing automated tests for verifcation. I would like to just type "make check" to have it automatically run these. My project is in C++, although I am still curious about writing automated tests for other languages as well. Is this compatible with pre...

Why do shell script comparisons often use x$VAR = xyes?

I see this often in the build scripts of projects that use autotools (autoconf, automake). When somebody wants to check the value of a shell variable, they frequently use this idiom: if test "x$SHELL_VAR" = "xyes"; then ... What is the advantage to this over simply checking the value like this: if test $SHELL_VAR = "yes"; then ... ...

Using maven2 to build autotools-based C/C++ package

I am working on a collection MATLAB, Java, and C/C++ components that all inter-operate, but have distinctly different compilation/installation steps. We currently don't compile anything for MATLAB, use maven2 for our Java build and unit tests, and use autotools for our C/C++ build and unit tests. I would like to move everything to a si...

Automake : what are the valid values for *_la_LDFLAGS in Makefile.am?

I am wondering what are the possible value for *_la_LDFLAGS in Makefile.am ? If I ask this question, it is because I would like the following : Actual shared library : libA.so (or with the version number I don't care) Symbolic links : libA-X.Y.Z.so, libA-X.so, libA.so soname : libA-X.so However here is what I ...

How to use pkglib_LTLIBRARIES = test.la to only build *.so

I'm using autotools to build a shared object. Using pkglib_LTLIBRARIES in my Makefile.am causes a libtest.la AND libtest.so to be built. I only want it to build/install libtest.so Is this possible? ...

How to build Python C extension modules with autotools

Most of the documentation available for building Python extension modules uses distutils, but I would like to achieve this by using the appropriate python autoconf & automake macros instead. I'd like to know if there is an open source project out there that does exactly this. Most of the ones I've found end up relying on a setup.py file...

Autotools : how to set global compilation flag

I have a project with several sources directories : src/A /B /C In each, the Makefile.am contains AM_CXXFLAGS = -fPIC -Wall -Wextra How can avoid repeating this in each source folder ? I tried to modifiy src/Makefile.am and the configure.in, but without success. I thought I could use AC_PROG_CXX to set the compilation fla...

Can autotools create multi-platform makefiles

I have a plugin project I've been developing for a few years where the plugin works with numerous combinations of [primary application version, 3rd party library version, 32-bit vs. 64-bit]. Is there a (clean) way to use autotools to create a single makefile that builds all versions of the plugin. As far as I can tell from skimming t...

may gcc be installed, but g++ does not work?

Dear all, I have a problem with simple c++ programs... I would like to install a program, but always have the error like "c++ compiler is unable to create executables"... Now I tried to compile a simple "hello world" program, but I get errors as I would if I compile a c++ program with a c compiler ("`cout' undeclared"... although I i...

libtool adding extra 'U' to .so file names

I have a project built with autotools, divided into two folders; the first one, lib, creates some libraries, and the second one, tools, links against them. The build fails because libtool renames the libraries as follows while relinking: mylib.1.0.0 -> mylib.1.0.0U After the renaming occurs, anyway, the previous name is not restored...

Where to install local Java libraries by default?

I'm integrating JNI bindings with a C++ library. The library follows the usual conventions: the installation root is /usr/local by default and can be modified with the --prefix argument to ./configure; the .a or .so files go in ${prefix}/lib; etc. The JNI binding produces two new libraries, libfoojni.so (the native part) and libfoo.jar...

How to reconfigure a large program for GNU Autotools

I have a fairly large program written in C. It spans several files, and has a bit of retooling in order to attempt to compensate for platform issues. Specifically, I have header files for different OSes, architectures, and compilers that define macros that it uses to handle things. As an example, the -v flag prints version info, includin...

What is the best way to group individual autotools projects into another "project"?

I am going to be creating a "library of libraries" and would like each individual project to be managed using autotoolset. In addition, I would like to be able to build the whole set of libraries at the same time. Individual libraries: libyarconveniencezzz libyarfoo libyarbar libyarbaz I suspect that I might need to just have a top ...

How is README.in used in autotools?

I'm using acmkdir to initialize a new project and it created a README.in file and a README file. Is README.in actually used by something to create the README? If not, what is its purpose? I'm hoping to understand all of the files created by acmkdir and these have me stumped. ...

Libtool slowness, double building?

In my project, modules are organized in subdirs for tidiness. My project dir hierarchy: $ ls -R .: configure.in Makefile.am Makefile.cvs src ./src: log Makefile.am main.cpp ./src/log: log.cpp Makefile.am configure.in: AC_INIT(configure.in) AM_CONFIG_HEADER(config.h) AM_INIT_AUTOMAKE(myapp, 0.1) AC_LANG_C...

Alternatives to autoconf / autotools?

I'm a very frequent user of the GNU autotools (mostly autoconf, occasionally libtool). I'm working on a project where portability is going to be a sticking point .. yet the rest of the team is just not comfortable working with M4. I got this in my inbox from not one, but four people: Anyway, perhaps someone could recommend something P...

How to figure out where to load program data from?

I've got a project written in C++ (with glibmm helping), and I'm using autotools to manage it. The question I have to ask is "HOW ON EARTH DO I FIGURE OUT WHERE TO LOAD STUFF FROM?". While I can find all the guides I want to on autotools, none answer this question. For example, maps go in $DATADIR/maps (usually /usr/[local/]share/myprog...

CMake: Check all header files and library functions for existence?

I'm currently converting a small C project (galarm) from autotools to CMake. In the old configure.in I checked every header and library function for existence using the following lines: # Checks for header files AC_HEADER_STDC AC_CHECK_HEADERS([stdlib.h time.h math.h sys/stat.h errno.h unistd.h fcntl.h signal.h]) # Checks for library ...