If you're checking for SDL:

   #include "SDL.h"
   #ifndef _SDL_H
   #error You need to install libsdl1.2-dev
   #endif

SDL is maintained soleby by Sam, and he's not likely to change the _SDL_H
symbol in the future, so it's safe to use the _SDL_H symbol to test for
SDL.h.

The same goes for other libraries, too.  Just check the header file to see
what symbol gets defined by the header files.  But you *can't* do this for
standard libraries, like C standard libraries that gets recreated by
individual compiler vendors.  For most libraries you use (SDL, SDL mixer,
TTF lib, etc.), though, they get maintained only by a handful of people so
it's relatively safe to use those symbols.

But if doing the above technique is too "iffy", the more "correct" way
would be to use Autoconf.  Here's my tutorial on Autoconf/Automake (a very
good one at that, too ^_^):

   http://www.cbreak.org/projects/autotools/

-Mark


On Sun, 20 Jul 2003, Bill Kendrick wrote:

>
> Right now I have a program that will die if certain headers can't be found.
>
> The issue of getting these headers has practically become an FAQ for the libraries 
> installed.
> ("You forgot to download the *-dev packages of the library, which contains the 
> headers!")
>
>
> I'd like, if possible, GCC to barf with my OWN error, stating something along these 
> lines,
> rather than just:
>
>   src/myprog.c:15: foo.h: No such file or directory
>
>
> I realize I can spit out an error message using the C "#error" directive, but is 
> there a simple
> (and portable) way of TESTING?
>
> e.g.:
>
>   #SOME_IF-LIKE_DIRECTIVE_I_DON'T_KNOW_ABOUT
>
>     #include "somelib.h"
>
>   #else
>
>     #error "Ya big dummy!  You need to install the 'somelib-dev' package!"
>
>   #endif
>
>
>
> Is there such a thing?  I'm actually realtively unfamiliar with all of the C 
> directives out there.
> I've stuck to the typical "#define", "#ifdef", "#include" trio. ;^)
>
>
> Thx in advance,
>
> -bill!
>
> PS - I'm not currently using autoconf/automake in this project.  I'm not sure if I 
> ever will decide to...
>
> --
> [EMAIL PROTECTED]                           Got kids?  Get Tux Paint!
> http://newbreedsoftware.com/bill/       http://newbreedsoftware.com/tuxpaint/
> _______________________________________________
> vox-tech mailing list
> [EMAIL PROTECTED]
> http://lists.lugod.org/mailman/listinfo/vox-tech
>

-- 
Mark K. Kim
http://www.cbreak.org/
PGP key available upon request.

_______________________________________________
vox-tech mailing list
[EMAIL PROTECTED]
http://lists.lugod.org/mailman/listinfo/vox-tech

Reply via email to