build: Add autotools option for those who want it

Closes #40.
This commit is contained in:
Daniel Santos 2021-10-11 23:58:22 -05:00 committed by jaseg
parent 1d52554cb1
commit 8173ed8cb6
4 changed files with 85 additions and 0 deletions

7
autotools/Makefile.am Normal file
View file

@ -0,0 +1,7 @@
bin_PROGRAMS = lolcat censor
lolcat_SOURCES = ../lolcat.c
censor_SOURCES = ../censor.c
LIBS += -lm
CFLAGS ?= -O3
AM_CFLAGS = -std=c11 -Wall -Wextra -Wno-sign-compare -Werror=implicit

7
autotools/README Normal file
View file

@ -0,0 +1,7 @@
This directory contains an autotools config for building lolcat for those who need it. This is an alternative to the
Makefile provided in the git root. Run it like so:
cd autotools # go here
./autogen.sh
./configure
make

36
autotools/autogen.sh Executable file
View file

@ -0,0 +1,36 @@
#!/bin/bash
auxdir=autoscripts
set -x
# aclocal generated files
rm -rf aclocal.m4 autom4te.cache
# autoheader generated files
rm -f config.h.in
# autoconf generated files
rm -f configure
# automake generated files
rm -f ${auxdir}/{config.guess,config.sub,depcomp,install-sh,missing}
rm -f Makefile.in
# configure generated files
rm -f config.h config.log config.status Makefile Makefile.in stamp-h1
rm -f $(find ${auxdir} -type l 2>/dev/null)
rmdir ${auxdir} 2>/dev/null
if [[ "$1" == clean ]]; then
exit 0
fi
mkdir ${auxdir} 2>/dev/null
aclocal
autoheader
autoconf
automake --add-missing

35
autotools/configure.ac Normal file
View file

@ -0,0 +1,35 @@
# -*- Autoconf -*-
# Process this file with autoconf to produce a configure script.
AC_PREREQ([2.69])
AC_INIT([lolcat], [1.2], [jaseg <github@jaseg.de>])
AC_CONFIG_SRCDIR([../lolcat.c])
AC_CONFIG_HEADERS([config.h])
AC_CONFIG_AUX_DIR([autoscripts])
AC_CANONICAL_TARGET
AC_CANONICAL_HOST
# Automake
AM_INIT_AUTOMAKE([foreign subdir-objects])
# Checks for programs.
AC_PROG_CC
AC_PROG_INSTALL
# Checks for libraries.
AC_CHECK_LIB([m], [cos])
# Checks for header files.
AC_CHECK_HEADERS([locale.h stdint.h stdlib.h string.h sys/time.h unistd.h wchar.h])
# Checks for typedefs, structures, and compiler characteristics.
AC_TYPE_SIZE_T
AC_CHECK_HEADER_STDBOOL
AC_TYPE_UINT8_T
# Checks for library functions.
AC_FUNC_STRTOD
AC_CHECK_FUNCS([gettimeofday setlocale strchr strerror strstr wcwidth])
AC_CONFIG_FILES([Makefile])
AC_OUTPUT