[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Determine system ver (Debian vs. other Linuxes) at runtime?

In my cross-platform-programming quests, I'm looking for ways to determine via my Makefiles which system/platform said build process is running on, so I can automatically pull in the correct libraries, build to the correct target directories, use the correct platform-specific code, etc.

Back in the "old days" for me (mid 1990s), the Unix builds I was making were mostly Solaris, HP-UX, Irix, Digital-Unix, AIX....etc etc. In such cases, 'uname -rs' all had distinctly different outputs.

Now, 'uname -rs' (and the newer 'uname -o') all say "Linux" or "GNU/Linux" for all the Linux distributions.

So I'm left with figuring out much harder ways to tell system revs apart. I'm guessing I'm going to have to make an application which does nothing but evaluate a system and report it's variant (Redhat vs SuSE vs. Debian) and revision (Debian Woody/3.0, Sarge/3.1, etc).

Thing is, I don't even know where to start. Will some uname-based analysis work by itself? Haven't seen anything yet that will distinguish between the different Linux distros. I suspect there will be other cmds/APIs I can use to do stuff. I'm looking for suggestions.


Reply to: