Hello, First of all, Im only looking for serious answers, and I dont want to start any flamewars, so Ill start out by saying that quite likely the only problem here is my lack of knowledge of autotools, and the other the issues involved. Please correct me at any point you disagree with.
After some cajoling of new company from myself -- a linux and free software buff, and a lonely professor who wants to use one of our SDKs on linux, it was finally decided to make a linux port of our SmartCollision SDK. The C++ code is clean and portable, so "porting" really just consists of building the binaries, and putting them in a friendly distributable. In windows the deliverable is a zip file with .DLLs, .LIBs, and header files that should work on any modern widows. The linux deliverable should be the same, however, given the large amount of variability in the linux world, I would like to have autoconf do as much work as possible, which I think means getting the code to compile on my build machine, and link on the users environment. With my inexperience with doing proprietary development, I chose to use autotools since I was the only tool I was familiar with from open source projects. The problem is the major assumption in autotools is that the source code is being shipped to the end user, and thus the distributable package is the same as the source tarball. I was unable, in the time allowed, to come up with a way to easily (ie clean, without many hacks) give me the sort of solution I was looking for, which would look something like: './configure && make && make bindist' on the build machine and './configure && make && make install' on the end users machine As it is we just './configure --prefix=/package/dir/ && make && make install' then manually package the static libA.a libraries and headers there. We couldnt do shared libraries since libtool wanted to link the .so to the build machine's prefix (via -rpath switch). Has this problem been solved before with autotools? Or is this just not a problem autotools wants to solve? If so, does anyone have alternative recommendations? I ask because I have hope we can port our remaining products to linux, and that I can learn how to do this sort of thing properly next time. But if it gets too expensive for my boss, he wont be likely to approve it. Cheers,