Created
March 20, 2014 07:39
-
-
Save chergert/9659010 to your computer and use it in GitHub Desktop.
fig is a tool to manage automake projects. its a work in progress and barely does anything yet but boostrap.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
[christian@stardust ~]$ mkdir foobar | |
[christian@stardust ~]$ cd foobar/ | |
[christian@stardust foobar]$ fig init --help | |
Usage: | |
fig init [OPTION...] | |
Initialize a new autotools project. | |
Help Options: | |
-h, --help Show help options | |
Application Options: | |
-l, --license=gpl-3.0 The license for the project. | |
-n, --name=foo The name of the project. | |
-V, --version=0.1.0 The starting version of the project. | |
--gtk-doc Add support for gtk-doc documentation. | |
[christian@stardust foobar]$ fig init | |
GEN AUTHORS | |
GEN COPYING | |
GEN Makefile.am | |
GEN NEWS | |
GEN README | |
GEN autogen.sh | |
GEN configure.ac | |
GEN .gitignore | |
GEN build/autotools/.gitignore | |
GEN build/autotools/autogen.d/git-submodule.sh | |
GEN build/autotools/automake/AutomakeDocs.mk | |
GEN build/autotools/automake/ChangeLog.mk | |
GEN build/autotools/automake/Defaults.mk | |
GEN build/autotools/autoconf.d/setup_libtool.m4 | |
GEN build/autotools/autoconf.d/print_config.m4 | |
GEN build/autotools/autoconf.d/20_debug.post-config | |
GEN build/autotools/autoconf.d/30_command_line_options.pre-am | |
GEN build/autotools/autoconf.d/50_ltversion.post-lt | |
GEN build/autotools/autoconf.d/50_progs.post-am | |
GEN build/autotools/autoconf.d/50_silent_rules.post-am | |
GEN build/autotools/autoconf.d/50_versions.pre-ac | |
GEN build/autotools/autoconf.d/.gitignore | |
GEN build/autotools/m4/.gitignore | |
GEN build/autotools/project_info.m4 | |
Run ./autogen.sh to bootstrap your project. | |
[christian@stardust foobar]$ ./autogen.sh | |
autoreconf: Entering directory `.' | |
autoreconf: configure.ac: not using Gettext | |
autoreconf: running: aclocal -I build/autotools --force -I build/autotools/m4 ${ACLOCAL_FLAGS} | |
autoreconf: configure.ac: tracing | |
autoreconf: running: libtoolize --copy --force | |
libtoolize: putting auxiliary files in AC_CONFIG_AUX_DIR, `build/autotools'. | |
libtoolize: copying file `build/autotools/ltmain.sh' | |
libtoolize: putting macros in `build/autotools/m4'. | |
libtoolize: copying file `build/autotools/m4/libtool.m4' | |
libtoolize: copying file `build/autotools/m4/ltoptions.m4' | |
libtoolize: copying file `build/autotools/m4/ltsugar.m4' | |
libtoolize: copying file `build/autotools/m4/ltversion.m4' | |
libtoolize: copying file `build/autotools/m4/lt~obsolete.m4' | |
libtoolize: Consider adding `AC_CONFIG_MACRO_DIR([m4])' to configure.ac and | |
libtoolize: rerunning libtoolize, to keep the correct libtool macros in-tree. | |
autoreconf: running: /usr/bin/autoconf --include=build/autotools --force | |
autoreconf: running: /usr/bin/autoheader --include=build/autotools --force | |
autoreconf: running: automake --add-missing --copy --force-missing | |
build/autotools/autoconf.d/setup_libtool.m4:4: installing 'build/autotools/config.guess' | |
build/autotools/autoconf.d/setup_libtool.m4:4: installing 'build/autotools/config.sub' | |
configure.ac:23: installing 'build/autotools/install-sh' | |
configure.ac:23: installing 'build/autotools/missing' | |
autoreconf: Leaving directory `.' | |
checking build system type... x86_64-unknown-linux-gnu | |
checking host system type... x86_64-unknown-linux-gnu | |
checking how to print strings... printf | |
checking for gcc... gcc | |
checking whether the C compiler works... yes | |
checking for C compiler default output file name... a.out | |
checking for suffix of executables... | |
checking whether we are cross compiling... no | |
checking for suffix of object files... o | |
checking whether we are using the GNU C compiler... yes | |
checking whether gcc accepts -g... yes | |
checking for gcc option to accept ISO C89... none needed | |
checking for a sed that does not truncate output... /usr/bin/sed | |
checking for grep that handles long lines and -e... /usr/bin/grep | |
checking for egrep... /usr/bin/grep -E | |
checking for fgrep... /usr/bin/grep -F | |
checking for ld used by gcc... /usr/bin/ld | |
checking if the linker (/usr/bin/ld) is GNU ld... yes | |
checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm -B | |
checking the name lister (/usr/bin/nm -B) interface... BSD nm | |
checking whether ln -s works... yes | |
checking the maximum length of command line arguments... 1572864 | |
checking whether the shell understands some XSI constructs... yes | |
checking whether the shell understands "+="... yes | |
checking how to convert x86_64-unknown-linux-gnu file names to x86_64-unknown-linux-gnu format... func_convert_file_noop | |
checking how to convert x86_64-unknown-linux-gnu file names to toolchain format... func_convert_file_noop | |
checking for /usr/bin/ld option to reload object files... -r | |
checking for objdump... objdump | |
checking how to recognize dependent libraries... pass_all | |
checking for dlltool... dlltool | |
checking how to associate runtime and link libraries... printf %s\n | |
checking for ar... ar | |
checking for archiver @FILE support... @ | |
checking for strip... strip | |
checking for ranlib... ranlib | |
checking for gawk... gawk | |
checking command to parse /usr/bin/nm -B output from gcc object... ok | |
checking for sysroot... no | |
checking for mt... no | |
checking if : is a manifest tool... no | |
checking how to run the C preprocessor... gcc -E | |
checking for ANSI C header files... yes | |
checking for sys/types.h... yes | |
checking for sys/stat.h... yes | |
checking for stdlib.h... yes | |
checking for string.h... yes | |
checking for memory.h... yes | |
checking for strings.h... yes | |
checking for inttypes.h... yes | |
checking for stdint.h... yes | |
checking for unistd.h... yes | |
checking for dlfcn.h... yes | |
checking for objdir... .libs | |
checking if gcc supports -fno-rtti -fno-exceptions... no | |
checking for gcc option to produce PIC... -fPIC -DPIC | |
checking if gcc PIC flag -fPIC -DPIC works... yes | |
checking if gcc static flag -static works... no | |
checking if gcc supports -c -o file.o... yes | |
checking if gcc supports -c -o file.o... (cached) yes | |
checking whether the gcc linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes | |
checking whether -lc should be explicitly linked in... no | |
checking dynamic linker characteristics... GNU/Linux ld.so | |
checking how to hardcode library paths into programs... immediate | |
checking whether stripping libraries is possible... yes | |
checking if libtool supports shared libraries... yes | |
checking whether to build shared libraries... yes | |
checking whether to build static libraries... no | |
checking for a BSD-compatible install... /usr/bin/install -c | |
checking whether build environment is sane... yes | |
checking for a thread-safe mkdir -p... /usr/bin/mkdir -p | |
checking whether make sets $(MAKE)... yes | |
checking for style of include used by make... GNU | |
checking whether make supports nested variables... yes | |
checking whether UID '1000' is supported by ustar format... yes | |
checking whether GID '1000' is supported by ustar format... yes | |
checking how to create a ustar tar archive... gnutar | |
checking dependency style of gcc... none | |
checking whether to enable maintainer-specific portions of Makefiles... yes | |
checking whether make supports nested variables... (cached) yes | |
checking that generated files are newer than configure... done | |
configure: creating ./config.status | |
config.status: creating Makefile | |
config.status: creating config.h | |
config.status: executing libtool commands | |
config.status: executing depfiles commands | |
foobar configured with the following options: | |
Debug ............................ : yes | |
Run "make" to build foobar. | |
[christian@stardust foobar]$ make | |
make all-am | |
make[1]: Entering directory `/home/christian/foobar' | |
make[1]: Leaving directory `/home/christian/foobar' | |
[christian@stardust foobar]$ make distcheck | |
make dist-gzip am__post_remove_distdir='@:' | |
make[1]: Entering directory `/home/christian/foobar' | |
if test -d "foobar-0.1.0"; then find "foobar-0.1.0" -type d ! -perm -200 -exec chmod u+w {} ';' && rm -rf "foobar-0.1.0" || { sleep 5 && rm -rf "foobar-0.1.0"; }; else :; fi | |
test -d "foobar-0.1.0" || mkdir "foobar-0.1.0" | |
make \ | |
top_distdir="foobar-0.1.0" distdir="foobar-0.1.0" \ | |
dist-hook | |
make[2]: Entering directory `/home/christian/foobar' | |
A git checkout is required to generate a ChangeLog | |
make[2]: Leaving directory `/home/christian/foobar' | |
test -n "" \ | |
|| find "foobar-0.1.0" -type d ! -perm -755 \ | |
-exec chmod u+rwx,go+rx {} \; -o \ | |
! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \ | |
! -type d ! -perm -400 -exec chmod a+r {} \; -o \ | |
! -type d ! -perm -444 -exec /bin/sh /home/christian/foobar/build/autotools/install-sh -c -m a+r {} {} \; \ | |
|| chmod -R a+r "foobar-0.1.0" | |
tardir=foobar-0.1.0 && tar --format=ustar -chf - "$tardir" | GZIP=--best gzip -c >foobar-0.1.0.tar.gz | |
make[1]: Leaving directory `/home/christian/foobar' | |
if test -d "foobar-0.1.0"; then find "foobar-0.1.0" -type d ! -perm -200 -exec chmod u+w {} ';' && rm -rf "foobar-0.1.0" || { sleep 5 && rm -rf "foobar-0.1.0"; }; else :; fi | |
case 'foobar-0.1.0.tar.gz' in \ | |
*.tar.gz*) \ | |
GZIP=--best gzip -dc foobar-0.1.0.tar.gz | tar -xf - ;;\ | |
*.tar.bz2*) \ | |
bzip2 -dc foobar-0.1.0.tar.bz2 | tar -xf - ;;\ | |
*.tar.lz*) \ | |
lzip -dc foobar-0.1.0.tar.lz | tar -xf - ;;\ | |
*.tar.xz*) \ | |
xz -dc foobar-0.1.0.tar.xz | tar -xf - ;;\ | |
*.tar.Z*) \ | |
uncompress -c foobar-0.1.0.tar.Z | tar -xf - ;;\ | |
*.shar.gz*) \ | |
GZIP=--best gzip -dc foobar-0.1.0.shar.gz | unshar ;;\ | |
*.zip*) \ | |
unzip foobar-0.1.0.zip ;;\ | |
esac | |
chmod -R a-w foobar-0.1.0 | |
chmod u+w foobar-0.1.0 | |
mkdir foobar-0.1.0/_build foobar-0.1.0/_inst | |
chmod a-w foobar-0.1.0 | |
test -d foobar-0.1.0/_build || exit 0; \ | |
dc_install_base=`CDPATH="${ZSH_VERSION+.}:" && cd foobar-0.1.0/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \ | |
&& dc_destdir="${TMPDIR-/tmp}/am-dc-$$/" \ | |
&& am__cwd=`pwd` \ | |
&& CDPATH="${ZSH_VERSION+.}:" && cd foobar-0.1.0/_build \ | |
&& ../configure --srcdir=.. --prefix="$dc_install_base" \ | |
\ | |
\ | |
&& make \ | |
&& make dvi \ | |
&& make check \ | |
&& make install \ | |
&& make installcheck \ | |
&& make uninstall \ | |
&& make distuninstallcheck_dir="$dc_install_base" \ | |
distuninstallcheck \ | |
&& chmod -R a-w "$dc_install_base" \ | |
&& ({ \ | |
(cd ../.. && umask 077 && mkdir "$dc_destdir") \ | |
&& make DESTDIR="$dc_destdir" install \ | |
&& make DESTDIR="$dc_destdir" uninstall \ | |
&& make DESTDIR="$dc_destdir" \ | |
distuninstallcheck_dir="$dc_destdir" distuninstallcheck; \ | |
} || { rm -rf "$dc_destdir"; exit 1; }) \ | |
&& rm -rf "$dc_destdir" \ | |
&& make dist \ | |
&& rm -rf foobar-0.1.0.tar.gz \ | |
&& make distcleancheck \ | |
&& cd "$am__cwd" \ | |
|| exit 1 | |
checking build system type... x86_64-unknown-linux-gnu | |
checking host system type... x86_64-unknown-linux-gnu | |
checking how to print strings... printf | |
checking for gcc... gcc | |
checking whether the C compiler works... yes | |
checking for C compiler default output file name... a.out | |
checking for suffix of executables... | |
checking whether we are cross compiling... no | |
checking for suffix of object files... o | |
checking whether we are using the GNU C compiler... yes | |
checking whether gcc accepts -g... yes | |
checking for gcc option to accept ISO C89... none needed | |
checking for a sed that does not truncate output... /usr/bin/sed | |
checking for grep that handles long lines and -e... /usr/bin/grep | |
checking for egrep... /usr/bin/grep -E | |
checking for fgrep... /usr/bin/grep -F | |
checking for ld used by gcc... /usr/bin/ld | |
checking if the linker (/usr/bin/ld) is GNU ld... yes | |
checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm -B | |
checking the name lister (/usr/bin/nm -B) interface... BSD nm | |
checking whether ln -s works... yes | |
checking the maximum length of command line arguments... 1572864 | |
checking whether the shell understands some XSI constructs... yes | |
checking whether the shell understands "+="... yes | |
checking how to convert x86_64-unknown-linux-gnu file names to x86_64-unknown-linux-gnu format... func_convert_file_noop | |
checking how to convert x86_64-unknown-linux-gnu file names to toolchain format... func_convert_file_noop | |
checking for /usr/bin/ld option to reload object files... -r | |
checking for objdump... objdump | |
checking how to recognize dependent libraries... pass_all | |
checking for dlltool... dlltool | |
checking how to associate runtime and link libraries... printf %s\n | |
checking for ar... ar | |
checking for archiver @FILE support... @ | |
checking for strip... strip | |
checking for ranlib... ranlib | |
checking for gawk... gawk | |
checking command to parse /usr/bin/nm -B output from gcc object... ok | |
checking for sysroot... no | |
checking for mt... no | |
checking if : is a manifest tool... no | |
checking how to run the C preprocessor... gcc -E | |
checking for ANSI C header files... yes | |
checking for sys/types.h... yes | |
checking for sys/stat.h... yes | |
checking for stdlib.h... yes | |
checking for string.h... yes | |
checking for memory.h... yes | |
checking for strings.h... yes | |
checking for inttypes.h... yes | |
checking for stdint.h... yes | |
checking for unistd.h... yes | |
checking for dlfcn.h... yes | |
checking for objdir... .libs | |
checking if gcc supports -fno-rtti -fno-exceptions... no | |
checking for gcc option to produce PIC... -fPIC -DPIC | |
checking if gcc PIC flag -fPIC -DPIC works... yes | |
checking if gcc static flag -static works... no | |
checking if gcc supports -c -o file.o... yes | |
checking if gcc supports -c -o file.o... (cached) yes | |
checking whether the gcc linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes | |
checking whether -lc should be explicitly linked in... no | |
checking dynamic linker characteristics... GNU/Linux ld.so | |
checking how to hardcode library paths into programs... immediate | |
checking whether stripping libraries is possible... yes | |
checking if libtool supports shared libraries... yes | |
checking whether to build shared libraries... yes | |
checking whether to build static libraries... no | |
checking for a BSD-compatible install... /usr/bin/install -c | |
checking whether build environment is sane... yes | |
checking for a thread-safe mkdir -p... /usr/bin/mkdir -p | |
checking whether make sets $(MAKE)... yes | |
checking for style of include used by make... GNU | |
checking whether make supports nested variables... yes | |
checking whether UID '1000' is supported by ustar format... yes | |
checking whether GID '1000' is supported by ustar format... yes | |
checking how to create a ustar tar archive... gnutar | |
checking dependency style of gcc... none | |
checking whether to enable maintainer-specific portions of Makefiles... yes | |
checking whether make supports nested variables... (cached) yes | |
checking that generated files are newer than configure... done | |
configure: creating ./config.status | |
config.status: creating Makefile | |
config.status: creating config.h | |
config.status: executing libtool commands | |
config.status: executing depfiles commands | |
foobar configured with the following options: | |
Debug ............................ : yes | |
Run "make" to build foobar. | |
make[1]: Entering directory `/home/christian/foobar/foobar-0.1.0/_build' | |
make all-am | |
make[2]: Entering directory `/home/christian/foobar/foobar-0.1.0/_build' | |
make[2]: Leaving directory `/home/christian/foobar/foobar-0.1.0/_build' | |
make[1]: Leaving directory `/home/christian/foobar/foobar-0.1.0/_build' | |
make[1]: Entering directory `/home/christian/foobar/foobar-0.1.0/_build' | |
make[1]: Nothing to be done for `dvi'. | |
make[1]: Leaving directory `/home/christian/foobar/foobar-0.1.0/_build' | |
make[1]: Entering directory `/home/christian/foobar/foobar-0.1.0/_build' | |
make[1]: Leaving directory `/home/christian/foobar/foobar-0.1.0/_build' | |
make[1]: Entering directory `/home/christian/foobar/foobar-0.1.0/_build' | |
make[2]: Entering directory `/home/christian/foobar/foobar-0.1.0/_build' | |
make[2]: Nothing to be done for `install-exec-am'. | |
/usr/bin/mkdir -p '/home/christian/foobar/foobar-0.1.0/_inst/share/doc/foobar' | |
/usr/bin/install -c -m 644 ../COPYING ../NEWS ../README '/home/christian/foobar/foobar-0.1.0/_inst/share/doc/foobar' | |
make[2]: Leaving directory `/home/christian/foobar/foobar-0.1.0/_build' | |
make[1]: Leaving directory `/home/christian/foobar/foobar-0.1.0/_build' | |
make[1]: Entering directory `/home/christian/foobar/foobar-0.1.0/_build' | |
make[1]: Nothing to be done for `installcheck'. | |
make[1]: Leaving directory `/home/christian/foobar/foobar-0.1.0/_build' | |
make[1]: Entering directory `/home/christian/foobar/foobar-0.1.0/_build' | |
( cd '/home/christian/foobar/foobar-0.1.0/_inst/share/doc/foobar' && rm -f COPYING NEWS README ) | |
make[1]: Leaving directory `/home/christian/foobar/foobar-0.1.0/_build' | |
make[1]: Entering directory `/home/christian/foobar/foobar-0.1.0/_build' | |
make[1]: Leaving directory `/home/christian/foobar/foobar-0.1.0/_build' | |
make[1]: Entering directory `/home/christian/foobar/foobar-0.1.0/_build' | |
make[2]: Entering directory `/home/christian/foobar/foobar-0.1.0/_build' | |
make[2]: Nothing to be done for `install-exec-am'. | |
/usr/bin/mkdir -p '/tmp/am-dc-29558//home/christian/foobar/foobar-0.1.0/_inst/share/doc/foobar' | |
/usr/bin/install -c -m 644 ../COPYING ../NEWS ../README '/tmp/am-dc-29558//home/christian/foobar/foobar-0.1.0/_inst/share/doc/foobar' | |
make[2]: Leaving directory `/home/christian/foobar/foobar-0.1.0/_build' | |
make[1]: Leaving directory `/home/christian/foobar/foobar-0.1.0/_build' | |
make[1]: Entering directory `/home/christian/foobar/foobar-0.1.0/_build' | |
( cd '/tmp/am-dc-29558//home/christian/foobar/foobar-0.1.0/_inst/share/doc/foobar' && rm -f COPYING NEWS README ) | |
make[1]: Leaving directory `/home/christian/foobar/foobar-0.1.0/_build' | |
make[1]: Entering directory `/home/christian/foobar/foobar-0.1.0/_build' | |
make[1]: Leaving directory `/home/christian/foobar/foobar-0.1.0/_build' | |
make[1]: Entering directory `/home/christian/foobar/foobar-0.1.0/_build' | |
make dist-gzip am__post_remove_distdir='@:' | |
make[2]: Entering directory `/home/christian/foobar/foobar-0.1.0/_build' | |
if test -d "foobar-0.1.0"; then find "foobar-0.1.0" -type d ! -perm -200 -exec chmod u+w {} ';' && rm -rf "foobar-0.1.0" || { sleep 5 && rm -rf "foobar-0.1.0"; }; else :; fi | |
test -d "foobar-0.1.0" || mkdir "foobar-0.1.0" | |
make \ | |
top_distdir="foobar-0.1.0" distdir="foobar-0.1.0" \ | |
dist-hook | |
make[3]: Entering directory `/home/christian/foobar/foobar-0.1.0/_build' | |
A git checkout is required to generate a ChangeLog | |
make[3]: Leaving directory `/home/christian/foobar/foobar-0.1.0/_build' | |
test -n "" \ | |
|| find "foobar-0.1.0" -type d ! -perm -755 \ | |
-exec chmod u+rwx,go+rx {} \; -o \ | |
! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \ | |
! -type d ! -perm -400 -exec chmod a+r {} \; -o \ | |
! -type d ! -perm -444 -exec /bin/sh /home/christian/foobar/foobar-0.1.0/build/autotools/install-sh -c -m a+r {} {} \; \ | |
|| chmod -R a+r "foobar-0.1.0" | |
tardir=foobar-0.1.0 && tar --format=ustar -chf - "$tardir" | GZIP=--best gzip -c >foobar-0.1.0.tar.gz | |
make[2]: Leaving directory `/home/christian/foobar/foobar-0.1.0/_build' | |
if test -d "foobar-0.1.0"; then find "foobar-0.1.0" -type d ! -perm -200 -exec chmod u+w {} ';' && rm -rf "foobar-0.1.0" || { sleep 5 && rm -rf "foobar-0.1.0"; }; else :; fi | |
make[1]: Leaving directory `/home/christian/foobar/foobar-0.1.0/_build' | |
make[1]: Entering directory `/home/christian/foobar/foobar-0.1.0/_build' | |
test -z "" || rm -f | |
rm -rf .libs _libs | |
rm -f *.lo | |
test -z "" || rm -f | |
test . = ".." || test -z "" || rm -f | |
test -z "" || rm -f | |
rm -f config.h stamp-h1 | |
rm -f libtool config.lt | |
rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags | |
rm -f cscope.out cscope.in.out cscope.po.out cscope.files | |
rm -f config.status config.cache config.log configure.lineno config.status.lineno | |
rm -f Makefile | |
make[1]: Leaving directory `/home/christian/foobar/foobar-0.1.0/_build' | |
if test -d "foobar-0.1.0"; then find "foobar-0.1.0" -type d ! -perm -200 -exec chmod u+w {} ';' && rm -rf "foobar-0.1.0" || { sleep 5 && rm -rf "foobar-0.1.0"; }; else :; fi | |
============================================== | |
foobar-0.1.0 archives ready for distribution: | |
foobar-0.1.0.tar.gz | |
============================================== |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment