<?xml version="1.0" encoding="koi8-r"?>
<rss version="0.91">
<channel>
    <title>OpenForum RSS: Как править исходники при помощи autoconf</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID9/7061.html</link>
    <description>Всем привет.&lt;br&gt;Вот такая проблема: в header-файле жестко прописан путь к файлу (конфиг программы):&lt;br&gt;&lt;br&gt;$cat config.h&lt;br&gt;...&lt;br&gt;#define CONFIG_FILE &quot;/usr/local/etc/myprogram.conf&quot;&lt;br&gt;...&lt;br&gt;&lt;br&gt;Все бы ничего, до тех пор, пока при компиляции пользователь не указывает другой prefix&lt;br&gt;./configure --prefix=/home/user. Соответственно путь к конфигу уже не правильный.&lt;br&gt;Пока борюсь с этим в Makefile, меняя строчку с помощью sed&lt;br&gt;if (grep &apos;#define CONFIG_FILE&apos; config.h); then cat config.h &amp;#124; sed &apos;/^#define CONFIG_FILE/d;G&apos; &amp;gt; tmp; mv tmp config.h; fi&lt;br&gt;echo &quot;#define CONFIG_FILE &#092;&quot;$&#123;sysconfdir&#125;/trafitizer.conf&#092;&quot;&quot; &amp;gt;&amp;gt; config.h&lt;br&gt;&lt;br&gt;Пожалуйста, подскажите, есть ли более &quot;опрятное&quot; решение.&lt;br&gt;Заранее спасибо&lt;br&gt;</description>

<item>
    <title>Как править исходники при помощи autoconf (fa)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID9/7061.html#2</link>
    <pubDate>Wed, 26 Dec 2007 11:13:17 GMT</pubDate>
    <description>&amp;gt;&#091;...&#093; &lt;br&gt;&amp;gt;&amp;gt;./configure --prefix=/home/user. Соответственно путь к конфигу уже не правильный. &lt;br&gt;&amp;gt;&amp;gt;Пока борюсь с этим в Makefile, меняя строчку с помощью sed &lt;br&gt;&amp;gt;&amp;gt;if (grep &apos;#define CONFIG_FILE&apos; config.h); then cat config.h &amp;#124; sed &apos;/^#define CONFIG_FILE/d;G&apos; &amp;gt; tmp; mv tmp config.h; fi&lt;br&gt;&amp;gt;&amp;gt;echo &quot;#define CONFIG_FILE &#092;&quot;$&#123;sysconfdir&#125;/trafitizer.conf&#092;&quot;&quot; &amp;gt;&amp;gt; config.h&lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt;Страшно. &lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt;Вы, кажется, вообщё всё не совсем верно делаете :) config.h должен генериться &lt;br&gt;&amp;gt;автоматически из config.h.in при вызове скрипта configure. &lt;br&gt;&lt;br&gt;Именно так и происходит. Эта манипуляция с grep проходит при запуске make, после того, как config.h уже сгенерирован.&lt;br&gt;&lt;br&gt;Ну и чтоб там &lt;br&gt;&amp;gt;появился #define CONFIG_FILE нужно в configure.in вызывать AC_DEFINE с нужными аргументами. &lt;br&gt;&amp;gt;&lt;br&gt;&lt;br&gt;Пробовал так:&lt;br&gt;AC_DEFINE_UNQUOTED(CONFIG_FILE, &quot;$sysconfdir&quot;)&lt;br&gt;&lt;br&gt;В результате получаю в config.h:&lt;br&gt;#define CONFIG_FILE &quot;$&#123;prefix&#125;/etc&quot;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;</description>
</item>

<item>
    <title>Как править исходники при помощи autoconf (phpcoder)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID9/7061.html#1</link>
    <pubDate>Fri, 21 Dec 2007 11:53:59 GMT</pubDate>
    <description>&#091;...&#093;&lt;br&gt;&amp;gt;./configure --prefix=/home/user. Соответственно путь к конфигу уже не правильный. &lt;br&gt;&amp;gt;Пока борюсь с этим в Makefile, меняя строчку с помощью sed &lt;br&gt;&amp;gt;if (grep &apos;#define CONFIG_FILE&apos; config.h); then cat config.h &amp;#124; sed &apos;/^#define CONFIG_FILE/d;G&apos; &amp;gt; tmp; mv tmp config.h; fi&lt;br&gt;&amp;gt;echo &quot;#define CONFIG_FILE &#092;&quot;$&#123;sysconfdir&#125;/trafitizer.conf&#092;&quot;&quot; &amp;gt;&amp;gt; config.h&lt;br&gt;&lt;br&gt;Страшно.&lt;br&gt;&lt;br&gt;Вы, кажется, вообщё всё не совсем верно делаете :) config.h должен генериться автоматически из config.h.in при вызове скрипта configure. Ну и чтоб там появился #define CONFIG_FILE нужно в configure.in вызывать AC_DEFINE с нужными аргументами.&lt;br&gt;&lt;br&gt;&lt;br&gt;</description>
</item>

</channel>
</rss>
