<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Autotools on Lloyd Rochester's Geek Blog</title><link>https://lloydroc.github.io/categories/autotools/</link><description>Recent content in Autotools on Lloyd Rochester's Geek Blog</description><generator>Hugo</generator><language>en</language><copyright>Copyright © 2025, Lloyd Rochester.</copyright><lastBuildDate>Mon, 22 Jun 2020 00:00:00 +0000</lastBuildDate><atom:link href="https://lloydroc.github.io/categories/autotools/index.xml" rel="self" type="application/rss+xml"/><item><title>Systemd and Autotools</title><link>https://lloydroc.github.io/post/autotools/systemd-service-daemon-autotools/</link><pubDate>Mon, 22 Jun 2020 00:00:00 +0000</pubDate><guid>https://lloydroc.github.io/post/autotools/systemd-service-daemon-autotools/</guid><description>&lt;h1 id="hahahugoshortcode8s0hbhb">Systemd and Autotools&lt;/h1>
&lt;p>This post starts a tutorial series on how to create a &lt;code>systemd&lt;/code> service in Linux. This first post is likely the hardest part as we create an &lt;a href="https://lloydroc.github.io/post/autotools/hello-world/">autotools&lt;/a> project with the source code and &lt;code>systemd&lt;/code> unit files. Having this setup in &lt;code>autotools&lt;/code> saves significant time installing unit files that &lt;code>systemd&lt;/code> requires, building our C code, installing, and uninstalling our program. If you can get through this first post the following posts should come easily.&lt;/p></description></item><item><title>Flex/Bison Autotools Project Creation</title><link>https://lloydroc.github.io/post/autotools/flex-bison-project/</link><pubDate>Tue, 25 Jun 2019 11:15:00 +0000</pubDate><guid>https://lloydroc.github.io/post/autotools/flex-bison-project/</guid><description>&lt;p>Let&amp;rsquo;s create a basic Flex/Bison Project with Autotools. The GNU Documentation for Automake specifies &lt;a href="https://www.gnu.org/software/automake/manual/html_node/Yacc-and-Lex.html">Flex/Bison Support&lt;/a>. We will take it a step further and provide a complete example with a Flex Scanner and Bison parser.&lt;/p>
&lt;p>See the previous post &lt;a href="https://lloydroc.github.io/post/autotools/create-project/">Autotools Project Create Template&lt;/a>. This allows us to create a boilerplate Autotools project. Then we can add the Flex/Bison support on top of the basic autotools project.&lt;/p>
&lt;p>Let&amp;rsquo;s create a project called &lt;code>fbbasic&lt;/code> with the Autotools Project Creation Template:&lt;/p></description></item><item><title>Autotools Project Creation Template</title><link>https://lloydroc.github.io/post/autotools/create-project/</link><pubDate>Mon, 24 Jun 2019 07:26:00 +0000</pubDate><guid>https://lloydroc.github.io/post/autotools/create-project/</guid><description>&lt;h1 id="hahahugoshortcode6s0hbhb">Autotools Project Creation Template&lt;/h1>
&lt;p>This post has a simple bash script to create a basic Hello World autotools project with a single command. The justification for this autotools script is I&amp;rsquo;ve not seen a consolidated script that keeps it simple in one place. The script creates a boiler plate autotools hello world project. Here is what it does:&lt;/p>
&lt;ul>
&lt;li>Creation of &lt;code>configure.ac&lt;/code> with project name, version, and email&lt;/li>
&lt;li>Creation of root &lt;code>Makefile.am&lt;/code> which just points to the &lt;code>src/Makefile.am&lt;/code>&lt;/li>
&lt;li>Creation of &lt;code>src/Makefile.am&lt;/code> which will make a binary and has a single source file &lt;code>main.c&lt;/code>&lt;/li>
&lt;li>Creation of a &lt;code>autogen.sh&lt;/code> which will run &lt;code>autoreconf --install&lt;/code>&lt;/li>
&lt;li>Creation of a &lt;code>.gitignore&lt;/code> so we know what autotools files should be under version control&lt;/li>
&lt;li>Creation of a &lt;code>main.c&lt;/code> which just prints &amp;ldquo;hello world&amp;rdquo; to stdout.&lt;/li>
&lt;/ul>
&lt;p>After we have created the files above all we need to do is run a &lt;code>./autogen.sh&lt;/code> and our project will be ready to run the infamous &lt;code>./configure&lt;/code>, &lt;code>make&lt;/code> and &lt;code>make install&lt;/code>.&lt;/p></description></item><item><title>Autotools Hello World</title><link>https://lloydroc.github.io/post/autotools/hello-world/</link><pubDate>Thu, 30 May 2019 14:46:00 +0000</pubDate><guid>https://lloydroc.github.io/post/autotools/hello-world/</guid><description>&lt;h1 id="hahahugoshortcode10s0hbhb">Autotools Hello World&lt;/h1>
&lt;h1 id="dont-listen-to-the-autotools-haters">Don&amp;rsquo;t Listen to the Autotools Haters&lt;/h1>
&lt;p>Being an avid C and Unix Geek, I decided to ignore all the hate out there about GNU Autotools and try it for myself. For those of you that don&amp;rsquo;t know the GNU Autotools suite consists of Autoconf, Automake and Libtool. You&amp;rsquo;ll see some major criticisms out there from people saying it&amp;rsquo;s way too complex, challenging, hard to use as well as all sorts of other criticisms. Let&amp;rsquo;s face it though, build systems are complex. I&amp;rsquo;ve used all sorts of them. Communities love to re-invent the wheel and build their own tool but at the end of the day to support everything is a massive endeavor.&lt;/p></description></item></channel></rss>