From: Hans U. N. <gp...@n-...> - 2006-09-18 17:19:34
|
We sometimes use both of these forms: #include <gphoto2-foobar.h> #include <gphoto2/gphoto2-foobar.h> In the source tarball, these include files are located in libgphoto2/gphoto2-foobar.h libgphoto2_port/libgphoto2_port/gphoto2-foobar.h and are thus copied into a newly-generated gphoto2/ directory at build time. This causes problems: 1. The infamouse "make all-local all" problem (fixed in trunk). 2. If someone changes libgphoto2/gphoto2-foobar.h and rebuilds, the old copy is still in gphoto2/. Now that we are using SVN instead of CVS (and can thus move files without losing history), we can IMHO create subdirectories and move all the header files there: libgphoto2/gphoto2/gphoto2-foobar.h libgphoto2_port/libgphoto2_port/gphoto2/gphoto2-foobar.h Then we can consistently use CPPFLAGS="-I$(top_srcdir)/libgphoto2 -I$(top_srcdir)/libgphoto2_port/libgphoto2_port" and #include <gphoto2/gphoto2-foobar.h> everywhere. Any problems with that? Of course, for the next generation API ("libgphoto3") we'll adhere to http://plan99.net/~mike/writing-shared-libraries.html right from the start and thus completely avoid these problems. Uli |