Author: Nathan Phillip Brink <ohnobinki@ohnopublishing.net>
Purpose: Makes squirrel buildable and installable using autotools, a buildsystem everybody is comfortable with.
Source: http://ohnopub.net/hg/SQUIRREL2
Generate with: hg diff -r 0 -r -1 -I '**Makefile*' -I configure.ac -I '**.in'

diff -r d6d89bbc08e5 -r c89309f5be40 Makefile
--- a/Makefile	Thu Feb 11 15:08:35 2010 -0500
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,18 +0,0 @@
-
-SQUIRREL=.
-MAKE=make
-
-sq32:
-	cd squirrel; $(MAKE) 
-	cd sqstdlib; $(MAKE) 
-	cd sq; $(MAKE) 
-
-sqprof:
-	cd squirrel; $(MAKE) sqprof
-	cd sqstdlib; $(MAKE) sqprof
-	cd sq; $(MAKE) sqprof
-
-sq64:
-	cd squirrel; $(MAKE) sq64
-	cd sqstdlib; $(MAKE) sq64
-	cd sq; $(MAKE) sq64
diff -r d6d89bbc08e5 -r c89309f5be40 Makefile.am
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Makefile.am	Sat Apr 10 11:25:40 2010 -0400
@@ -0,0 +1,89 @@
+# autoreconf variables, recommended by libtoolize
+ACLOCAL_FLAGS = -I m4
+
+AM_CPPFLAGS = -I$(top_srcdir)/include
+
+# custom installation directories
+examplesdir = $(docdir)/examples
+pkgconfigdir = $(libdir)/pkgconfig
+
+# installed things
+if ENABLE_DOC
+dist_doc_DATA = doc/sqstdlib2.pdf \
+	doc/squirrel2.pdf
+endif
+if ENABLE_EXAMPLES
+dist_examples_DATA = samples/ackermann.nut \
+	samples/array.nut \
+	samples/class.nut \
+	samples/classattributes.nut \
+	samples/coroutines.nut \
+	samples/delegation.nut \
+	samples/fibonacci.nut \
+	samples/flow.nut \
+	samples/generators.nut \
+	samples/hello.nut \
+	samples/list.nut \
+	samples/loops.nut \
+	samples/matrix.nut \
+	samples/metamethods.nut \
+	samples/methcall.nut \
+	samples/tailstate.nut
+endif
+
+nodist_pkgconfig_DATA = libsqstdlib.pc \
+	libsquirrel.pc
+bin_PROGRAMS = sq/sq
+lib_LTLIBRARIES = libsquirrel.la \
+	libsqstdlib.la
+include_HEADERS = include/sqstdaux.h \
+	include/sqstdblob.h \
+	include/sqstdio.h \
+	include/sqstdmath.h \
+	include/sqstdstring.h \
+	include/sqstdsystem.h \
+	include/squirrel.h
+
+
+# sources for installed things
+
+libsqstdlib_la_SOURCES = sqstdlib/sqstdaux.cpp \
+	sqstdlib/sqstdblob.cpp sqstdlib/sqstdblobimpl.h \
+	sqstdlib/sqstdio.cpp \
+	sqstdlib/sqstdmath.cpp \
+	sqstdlib/sqstdrex.cpp \
+	sqstdlib/sqstdstream.cpp sqstdlib/sqstdstream.h \
+	sqstdlib/sqstdstring.cpp \
+	sqstdlib/sqstdsystem.cpp
+libsqstdlib_la_LDFLAGS = -version-info 0:0:0
+libsqstdlib_la_LIBADD = libsquirrel.la
+
+libsquirrel_la_SOURCES = squirrel/sqapi.cpp \
+	squirrel/sqarray.h \
+	squirrel/sqbaselib.cpp \
+	squirrel/sqclass.cpp squirrel/sqclass.h \
+	squirrel/sqclosure.h \
+	squirrel/sqcompiler.cpp squirrel/sqcompiler.h \
+	squirrel/sqdebug.cpp \
+	squirrel/sqfuncproto.h \
+	squirrel/sqfuncstate.cpp squirrel/sqfuncstate.h \
+	squirrel/sqlexer.cpp squirrel/sqlexer.h \
+	squirrel/sqmem.cpp \
+	squirrel/sqobject.cpp squirrel/sqobject.h \
+	squirrel/sqopcodes.h \
+	squirrel/sqpcheader.h \
+	squirrel/sqstate.cpp squirrel/sqstate.h \
+	squirrel/sqstring.h \
+	squirrel/sqtable.cpp squirrel/sqtable.h \
+	squirrel/squserdata.h \
+	squirrel/squtils.h \
+	squirrel/sqvm.cpp squirrel/sqvm.h
+libsquirrel_la_LDFLAGS = -version-info 0:0:0
+
+sq_sq_SOURCES = sq/sq.c
+sq_sq_LDADD = libsqstdlib.la
+
+EXTRA_DIST = COMPILE COPYRIGHT HISTORY README \
+	doc/sqstdlib2.chm doc/squirrel2.chm \
+	squirrel.dsw sq/sq.dsp squirrel/squirrel.dsp sqstdlib/sqstdlib.dsp \
+	etc/minimal.c etc/test.nut
diff -r d6d89bbc08e5 -r c89309f5be40 configure.ac
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/configure.ac	Sat Apr 10 11:25:40 2010 -0400
@@ -0,0 +1,29 @@
+AC_INIT([squirrel],[2.2.4],[http://squirrel-lang.org/])
+
+# recommended by libtoolize:
+AC_CONFIG_MACRO_DIR([m4])
+
+AM_INIT_AUTOMAKE([foreign dist-bzip2 subdir-objects])
+
+AC_PROG_LIBTOOL
+AC_PROG_CC_C_O
+AC_PROG_CXX
+
+AC_ARG_ENABLE([doc],
+	[AS_HELP_STRING([--disable-doc], [Control whether or not the API docs (pdfs) are installed.])],
+	[enable_docs=$enableval],
+	[enable_docs=yes])
+AM_CONDITIONAL([ENABLE_DOC],
+	[test "x$enable_docs" = "xyes"])
+
+AC_ARG_ENABLE([examples],
+	[AS_HELP_STRING([--disable-exampels], [Control whether or not examples of libsquirrel use are installed.])],
+	[enable_examples=$enableval],
+	[enable_examples=yes])
+AM_CONDITIONAL([ENABLE_EXAMPLES],
+	[test "x$enable_examples" = "xyes"])
+
+AC_CONFIG_FILES([Makefile
+libsquirrel.pc
+libsqstdlib.pc])
+AC_OUTPUT
diff -r d6d89bbc08e5 -r c89309f5be40 libsqstdlib.pc.in
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/libsqstdlib.pc.in	Sat Apr 10 11:25:40 2010 -0400
@@ -0,0 +1,14 @@
+prefix=@prefix@
+exec_prefix=@exec_prefix@
+libdir=@libdir@
+includedir=@includedir@
+
+Name: @PACKAGE_NAME@
+Description: A library for libsquirrel users
+Version: @VERSION@
+URL: @PACKAGE_BUGREPORT@
+Libs: -L${libdir} -lsqstdlib
+# I don't like hard-coding this here, but it's an internal
+# dependency so it's justified.
+Libs.private: -lsquirrel
+Cflags: -I${includedir}
diff -r d6d89bbc08e5 -r c89309f5be40 libsquirrel.pc.in
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/libsquirrel.pc.in	Sat Apr 10 11:25:40 2010 -0400
@@ -0,0 +1,11 @@
+prefix=@prefix@
+exec_prefix=@exec_prefix@
+libdir=@libdir@
+includedir=@includedir@
+
+Name: @PACKAGE_NAME@
+Description: A dynamic scripting language for games
+Version: @VERSION@
+URL: @PACKAGE_BUGREPORT@
+Libs: -L${libdir} -lsquirrel
+Cflags: -I${includedir}
diff -r d6d89bbc08e5 -r c89309f5be40 sq/Makefile
--- a/sq/Makefile	Thu Feb 11 15:08:35 2010 -0500
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,21 +0,0 @@
-SQUIRREL= ..
-
-
-OUT= $(SQUIRREL)/bin/sq
-INCZ= -I$(SQUIRREL)/include -I. -I$(SQUIRREL)/sqlibs
-LIBZ= -L$(SQUIRREL)/lib 
-LIB= -lsquirrel -lsqstdlib
-
-OBJS= sq.o
-	
-SRCS= sq.c
-	
-	
-sq32:
-	g++ -O2 -fno-rtti -o $(OUT) $(SRCS) $(INCZ) $(LIBZ) $(LIB)
-
-sqprof:
-	g++ -O2 -pg -fno-rtti -pie -gstabs -g3 -o $(OUT) $(SRCS) $(INCZ) $(LIBZ) $(LIB)
-	
-sq64:
-	g++ -O2 -fno-rtti -D_SQ64 -o $(OUT) $(SRCS) $(INCZ) $(LIBZ) $(LIB)
\ No newline at end of file
diff -r d6d89bbc08e5 -r c89309f5be40 sqstdlib/Makefile
--- a/sqstdlib/Makefile	Thu Feb 11 15:08:35 2010 -0500
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,30 +0,0 @@
-SQUIRREL= ..
-
-
-OUT= $(SQUIRREL)/lib/libsqstdlib.a
-INCZ= -I$(SQUIRREL)/include -I. -Iinclude
-
-SRCS= \
-	sqstdblob.cpp \
-	sqstdio.cpp \
-	sqstdstream.cpp \
-	sqstdmath.cpp \
-	sqstdsystem.cpp \
-	sqstdstring.cpp \
-	sqstdaux.cpp \
-	sqstdrex.cpp
-	
-	
-sq32:
-	gcc -O2  -fno-rtti -Wall -c $(SRCS) $(INCZ)
-	ar rc $(OUT) *.o
-	rm *.o
-
-sqprof:
-	gcc -O2 -pg -fno-rtti -pie -gstabs -g3 -Wall -c $(SRCS) $(INCZ)
-	ar rc $(OUT) *.o
-	rm *.o
-sq64:
-	gcc -O2 -D_SQ64 -fno-rtti -Wall -c $(SRCS) $(INCZ)
-	ar rc $(OUT) *.o
-	rm *.o
diff -r d6d89bbc08e5 -r c89309f5be40 squirrel/Makefile
--- a/squirrel/Makefile	Thu Feb 11 15:08:35 2010 -0500
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,52 +0,0 @@
-SQUIRREL= ..
-
-
-OUT= $(SQUIRREL)/lib/libsquirrel.a
-INCZ= -I$(SQUIRREL)/include -I. -Iinclude
-DEFS= 
-LIB=	
-
-OBJS= \
-	sqapi.o \
-	sqbaselib.o \
-	sqcompiler.o \
-	sqdebug.o \
-	sqlexer.o \
-	sqobject.o \
-	sqparser.o \
-	sqstate.o \
-	sqtable.o \
-	sqvm.o \
-	sqmem.o \
-	sqclass.o
-	
-SRCS= \
-	sqapi.cpp \
-	sqbaselib.cpp \
-	sqfuncstate.cpp \
-	sqdebug.cpp \
-	sqlexer.cpp \
-	sqobject.cpp \
-	sqcompiler.cpp \
-	sqstate.cpp \
-	sqtable.cpp \
-	sqmem.cpp \
-	sqvm.cpp \
-	sqclass.cpp
-
-	
-	
-sq32:
-	gcc -O2  -fno-rtti -Wall -c $(SRCS) $(INCZ) $(DEFS)
-	ar rc $(OUT) *.o
-	rm *.o
-
-sqprof:
-	gcc -O2 -pg -fno-rtti -pie -gstabs -g3 -Wall -c $(SRCS) $(INCZ) $(DEFS)
-	ar rc $(OUT) *.o
-	rm *.o
-
-sq64:
-	gcc -O2  -D_SQ64 -fno-rtti -Wall -c $(SRCS) $(INCZ) $(DEFS)
-	ar rc $(OUT) *.o
-	rm *.o
