Author: Nathan Phillip Brink 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