title: PACKAGE_VERSION conflicts of multiple config.h in both library and application
body: <p>When using <code>autoconf</code> tool, the package-related M4 macros get defined by <code>AC_INIT</code> and stored in <code>config.h</code>, of which some are listed below:</p>
  
  <ul>
  <li><code>PACKAGE</code></li>
  <li><code>PACKAGE_NAME</code></li>
  <li><code>PACKAGE_TARNAME</code></li>
  <li><code>PACKAGE_VERSION</code></li>
  <li><code>PACKAGE_STRING</code></li>
  </ul>
  
  <p>Most of my library include files uses this <code>config.h</code> file which is stored in its own installed include subdirectory (i.e., <code>/usr/include/mylib</code>).  </p>
  
  <p>Enters my application program, it uses this same library's include files.</p>
  
  <p>Also, this application program has its own <code>configure.ac</code>/<code>AC_INIT</code> and, in turn, generates its own <code>config.h</code> locally as well.</p>
  
  <p>At compile times, I get these warning messages:</p>
  
  <pre><code>In file include from app.cpp:3:0:
  config.h:427:0 warning: "PACKAGE_VERSION" redefined
   #define PACKAGE_VERSION "1.2"
   ^
  In file included from &lt;command-line&gt;:0:0:
  /usr/include/mylib/config.h:535:0: note: this is the location of the previous definition
  #define PACKAGE_VERSION "4.0"
  </code></pre>
  
  <p>What's the best way in dealing with this conflict of multiple <code>AC_INIT</code>-generated PACKAGE macro group?</p>