-.deps
ClReader-lex.cc
ClReader.cc
-ClReader.hh
ClReader.cc.h
-Makefile
-Makefile.in
-aclocal.m4
-autom4te.cache
-config.h
-config.h.in
-config.log
-config.status
-configure
-stamp-h1
+++ /dev/null
-/* $Id$
- Cassowary Incremental Constraint Solver
- Original Smalltalk Implementation by Alan Borning
- This C++ Implementation by Greg J. Badros, <gjb@cs.washington.edu>
- http://www.cs.washington.edu/homes/gjb
- (C) 1998, 1999 Greg J. Badros and Alan Borning
- See ../LICENSE for legal details regarding this software
-
- ClReader.l - Scanner for constraint parsing.
- By Greg J. Badros
- */
-
-%{
-/* Get the token numbers that bison created for us
- (uses the -d option of bison) */
-
-#include <cassowary/ClReader.h>
-#include "ClReader.cc.h"
-
-#ifdef HAVE_CONFIG_H
-#include <config.h>
-#define CONFIG_H_INCLUDED
-#endif
-
-/* global variable for the istream we are reading from;
- gets set by PcnParseConstraint */
-istream *pxi_lexer;
-
-/* Pass in an extra variable (ClParseData *) to cllex so that
- it can look up variable names */
-#define YY_DECL int cllex(YYSTYPE *lvalp, void *YYLEX_PARAM)
-
-/* Make lexer reader from the global variable */
-#define YY_INPUT(buf,result,max_size) \
- do { if (pxi_lexer->get(buf[0]) && buf[0] > 0) result = 1; \
- else result = YY_NULL; } while (0)
-
-%}
-
-%option noyywrap
-
-DIGIT [0-9]
-ALPHA [A-Za-z]
-ALPHANUM [A-Za-z0-9]
-ID_OK_PUNC [-_\[\]]
-RO_ANNOTATION "?"
-ID {ALPHA}({ALPHANUM}|{ID_OK_PUNC})*({RO_ANNOTATION})?
-NUMID "{"{DIGIT}+"}"
-ws [ \t\n]+
-
-%%
-{ws} /* skip whitespace */
-\n|";" { return 0; }
-">=" { return GEQ; }
-">" { return GT; }
-"<=" { return LEQ; }
-"<" { return LT; }
-"==" { return '='; }
-"="|"-"|"+"|"*"|"/"|"("|")" { return yytext[0]; }
-
-{DIGIT}+("."{DIGIT}*)? |
-"."{DIGIT}+ { lvalp->num = strtod(yytext,0); return NUM; }
-
-{ID} { /* Lookup the variable name */
- ClParseData *pclpd = ((ClParseData *) YYLEX_PARAM);
- int cch = strlen(yytext);
- ClVariable *pclv = NULL;
- bool fReadOnly = false;
- if (yytext[cch-1] == '?') {
- yytext[cch-1] = '\0';
- fReadOnly = true;
- }
- const string str = string(yytext);
- pclv = pclpd->_lookup_func(str);
- if (!pclv->IsNil()) {
- lvalp->pclv = pclv;
- return fReadOnly?RO_VAR:VAR;
- } else {
- pxi_lexer = NULL;
- yy_flush_buffer(YY_CURRENT_BUFFER);
- throw ExCLParseErrorBadIdentifier(str);
- return 0;
- }
- }
-
-. { pxi_lexer = NULL; throw ExCLParseErrorMisc("Unrecognized character"); }
-
--- /dev/null
+/* $Id$
+ Cassowary Incremental Constraint Solver
+ Original Smalltalk Implementation by Alan Borning
+ This C++ Implementation by Greg J. Badros, <gjb@cs.washington.edu>
+ http://www.cs.washington.edu/homes/gjb
+ (C) 1998, 1999 Greg J. Badros and Alan Borning
+ See ../LICENSE for legal details regarding this software
+
+ ClReader.l - Scanner for constraint parsing.
+ By Greg J. Badros
+ */
+
+%{
+/* Get the token numbers that bison created for us
+ (uses the -d option of bison) */
+
+#include <cassowary/ClReader.h>
+#include "ClReader.cc.h"
+
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#define CONFIG_H_INCLUDED
+#endif
+
+/* global variable for the istream we are reading from;
+ gets set by PcnParseConstraint */
+istream *pxi_lexer;
+
+/* Pass in an extra variable (ClParseData *) to cllex so that
+ it can look up variable names */
+#define YY_DECL int cllex(YYSTYPE *lvalp, void *YYLEX_PARAM)
+
+/* Make lexer reader from the global variable */
+#define YY_INPUT(buf,result,max_size) \
+ do { if (pxi_lexer->get(buf[0]) && buf[0] > 0) result = 1; \
+ else result = YY_NULL; } while (0)
+
+%}
+
+%option noyywrap
+
+DIGIT [0-9]
+ALPHA [A-Za-z]
+ALPHANUM [A-Za-z0-9]
+ID_OK_PUNC [-_\[\]]
+RO_ANNOTATION "?"
+ID {ALPHA}({ALPHANUM}|{ID_OK_PUNC})*({RO_ANNOTATION})?
+NUMID "{"{DIGIT}+"}"
+ws [ \t\n]+
+
+%%
+{ws} /* skip whitespace */
+\n|";" { return 0; }
+">=" { return GEQ; }
+">" { return GT; }
+"<=" { return LEQ; }
+"<" { return LT; }
+"==" { return '='; }
+"="|"-"|"+"|"*"|"/"|"("|")" { return yytext[0]; }
+
+{DIGIT}+("."{DIGIT}*)? |
+"."{DIGIT}+ { lvalp->num = strtod(yytext,0); return NUM; }
+
+{ID} { /* Lookup the variable name */
+ ClParseData *pclpd = ((ClParseData *) YYLEX_PARAM);
+ int cch = strlen(yytext);
+ ClVariable *pclv = NULL;
+ bool fReadOnly = false;
+ if (yytext[cch-1] == '?') {
+ yytext[cch-1] = '\0';
+ fReadOnly = true;
+ }
+ const string str = string(yytext);
+ pclv = pclpd->_lookup_func(str);
+ if (!pclv->IsNil()) {
+ lvalp->pclv = pclv;
+ return fReadOnly?RO_VAR:VAR;
+ } else {
+ pxi_lexer = NULL;
+ yy_flush_buffer(YY_CURRENT_BUFFER);
+ throw ExCLParseErrorBadIdentifier(str);
+ return 0;
+ }
+ }
+
+. { pxi_lexer = NULL; throw ExCLParseErrorMisc("Unrecognized character"); }
+
+++ /dev/null
-/*
- $Id$
-
- Cassowary Incremental Constraint Solver
- Original Smalltalk Implementation by Alan Borning
- This C++ Implementation by Greg J. Badros, <gjb@cs.washington.edu>
- http://www.cs.washington.edu/homes/gjb
- (C) 1998, 1999 Greg J. Badros and Alan Borning
- See ../LICENSE for legal details regarding this software
-
- ClReader.y
- Original implementation contributed by Steve Wolfman
- Subsequently largely revised by Greg J. Badros
-
- Supports parsing of read-only variables in constraints via "?" suffix
- annotations on variables. If a variable is followed by "?" in any of
- its occurrences in the constraint, that variable is deemed read-only
- and entered into the constraint object as such. E.g.,
-
- x = 2*y?
-
- is a one-way constraint that sets x from y's value.
-
- x = y + y?
- and
- x = y? + y
-
- are identical one-way constraints with y read-only. One would prefer
- to have it written like so:
-
- x = y? + y?
-
- but it need not be, and no warning or error is raised.
-*/
-
-
-%{
- /* C Declarations */
-
-#include <cassowary/Cl.h>
-#include <string>
-#include <map>
-
-#ifdef HAVE_CONFIG_H
-#include <config.h>
-#define CONFIG_H_INCLUDED
-#endif
-
-#ifdef USE_CRUMMY_LEXER
-string current; /* Global to help in debugging/error messages */
-#endif
-
-/* Get yyparse, yylex to have an extra argument (type void *) */
-#define YYPARSE_PARAM cl_parse_data
-#define YYLEX_PARAM cl_parse_data
-#ifndef YYERROR_VERBOSE
-#define YYERROR_VERBOSE
-#endif
-#define YYDEBUG 1
-
-%}
-
-
-/* Bison Declarations */
-
-%pure_parser
-
-%union {
- double num;
- const ClVariable *pclv;
- ClLinearExpression *pcle;
- ClConstraint *pcn;
-}
-
-%{
-int yylex(YYSTYPE *lvalp, void *YYLEX_PARAM);
-void yyerror(const char *sz);
-%}
-
-%start constraint
-
-%token <num> NUM
-%token <pclv> VAR
-%token <pclv> RO_VAR
-
-%token GEQ
-%token GT
-%token LEQ
-%token LT
-
-%type <pcle> expr
-%type <pcn> constraint equation inequality
-
-%left '-' '+'
-%left '*' '/'
-%left NEG
-
-%%
-/* Grammar Rules */
-
-constraint: equation { $$ = $1; ((ClParseData*)YYPARSE_PARAM)->_pcn = $1; }
- | inequality { $$ = $1; ((ClParseData*)YYPARSE_PARAM)->_pcn = $1; }
-;
-
-equation: expr '=' expr { $$ = new ClLinearEquation(*$1, *$3); }
-;
-
-inequality: expr GEQ expr { $$ = new ClLinearInequality(*$1, cnGEQ, *$3); }
- | expr LEQ expr { $$ = new ClLinearInequality(*$1, cnLEQ, *$3); }
- | expr LT expr { $$ = new ClLinearInequality(*$1, cnLT, *$3); }
- | expr GT expr { $$ = new ClLinearInequality(*$1, cnGT, *$3); }
-;
-
-expr: NUM { $$ = new ClLinearExpression($1); }
- | VAR { $$ = new ClLinearExpression(*$1); }
- | RO_VAR { $$ = new ClLinearExpression(*$1);
- ((ClParseData*)YYPARSE_PARAM)->_readOnlyVarsSoFar.insert(*$1); }
- | expr '+' expr { $$ = new ClLinearExpression(*$1 + *$3); }
- | expr '-' expr { $$ = new ClLinearExpression(*$1 - *$3); }
- | expr '*' expr { $$ = new ClLinearExpression(*$1 * *$3); }
- | expr '/' expr { $$ = new ClLinearExpression(*$1 / *$3); }
- | '-' expr %prec NEG { $$ = new ClLinearExpression(-1 * *$2); }
- | '(' expr ')' { $$ = $2; }
-;
-
-%%
-
-void clerror(const char *sz)
-{
- throw ExCLParseErrorMisc(sz);
-}
-
-extern istream *pxi_lexer;
-
-// xi is the stream from which to read the constraint.
-// aVars is an array of variables large enough to account for
-// each one that might be mentioned in a constraint
-ClConstraint *PcnParseConstraint(istream &xi, const ClVarLookupFunction &lookup_func,
- const ClStrength &strength)
-{
- ClParseData cl_parse_data(xi, lookup_func);
- pxi_lexer = ξ
- if (yyparse(&cl_parse_data) == 0) { // success
-#ifdef DEBUG_PARSER
- cerr << *cl_parse_data.Pcn() << endl;
-#endif
- cl_parse_data.Pcn()->ChangeStrength(strength);
- cl_parse_data.Pcn()->AddROVars(cl_parse_data._readOnlyVarsSoFar);
- return cl_parse_data.Pcn();
- }
- else { // failed
- return 0;
- }
-}
--- /dev/null
+/*
+ $Id$
+
+ Cassowary Incremental Constraint Solver
+ Original Smalltalk Implementation by Alan Borning
+ This C++ Implementation by Greg J. Badros, <gjb@cs.washington.edu>
+ http://www.cs.washington.edu/homes/gjb
+ (C) 1998, 1999 Greg J. Badros and Alan Borning
+ See ../LICENSE for legal details regarding this software
+
+ ClReader.y
+ Original implementation contributed by Steve Wolfman
+ Subsequently largely revised by Greg J. Badros
+
+ Supports parsing of read-only variables in constraints via "?" suffix
+ annotations on variables. If a variable is followed by "?" in any of
+ its occurrences in the constraint, that variable is deemed read-only
+ and entered into the constraint object as such. E.g.,
+
+ x = 2*y?
+
+ is a one-way constraint that sets x from y's value.
+
+ x = y + y?
+ and
+ x = y? + y
+
+ are identical one-way constraints with y read-only. One would prefer
+ to have it written like so:
+
+ x = y? + y?
+
+ but it need not be, and no warning or error is raised.
+*/
+
+
+%{
+ /* C Declarations */
+
+#include <cassowary/Cl.h>
+#include <string>
+#include <map>
+
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#define CONFIG_H_INCLUDED
+#endif
+
+#ifdef USE_CRUMMY_LEXER
+string current; /* Global to help in debugging/error messages */
+#endif
+
+/* Get yyparse, yylex to have an extra argument (type void *) */
+#define YYPARSE_PARAM cl_parse_data
+#define YYLEX_PARAM cl_parse_data
+#ifndef YYERROR_VERBOSE
+#define YYERROR_VERBOSE
+#endif
+#define YYDEBUG 1
+
+%}
+
+
+/* Bison Declarations */
+
+%pure_parser
+
+%union {
+ double num;
+ const ClVariable *pclv;
+ ClLinearExpression *pcle;
+ ClConstraint *pcn;
+}
+
+%{
+int yylex(YYSTYPE *lvalp, void *YYLEX_PARAM);
+void yyerror(const char *sz);
+%}
+
+%start constraint
+
+%token <num> NUM
+%token <pclv> VAR
+%token <pclv> RO_VAR
+
+%token GEQ
+%token GT
+%token LEQ
+%token LT
+
+%type <pcle> expr
+%type <pcn> constraint equation inequality
+
+%left '-' '+'
+%left '*' '/'
+%left NEG
+
+%%
+/* Grammar Rules */
+
+constraint: equation { $$ = $1; ((ClParseData*)YYPARSE_PARAM)->_pcn = $1; }
+ | inequality { $$ = $1; ((ClParseData*)YYPARSE_PARAM)->_pcn = $1; }
+;
+
+equation: expr '=' expr { $$ = new ClLinearEquation(*$1, *$3); }
+;
+
+inequality: expr GEQ expr { $$ = new ClLinearInequality(*$1, cnGEQ, *$3); }
+ | expr LEQ expr { $$ = new ClLinearInequality(*$1, cnLEQ, *$3); }
+ | expr LT expr { $$ = new ClLinearInequality(*$1, cnLT, *$3); }
+ | expr GT expr { $$ = new ClLinearInequality(*$1, cnGT, *$3); }
+;
+
+expr: NUM { $$ = new ClLinearExpression($1); }
+ | VAR { $$ = new ClLinearExpression(*$1); }
+ | RO_VAR { $$ = new ClLinearExpression(*$1);
+ ((ClParseData*)YYPARSE_PARAM)->_readOnlyVarsSoFar.insert(*$1); }
+ | expr '+' expr { $$ = new ClLinearExpression(*$1 + *$3); }
+ | expr '-' expr { $$ = new ClLinearExpression(*$1 - *$3); }
+ | expr '*' expr { $$ = new ClLinearExpression(*$1 * *$3); }
+ | expr '/' expr { $$ = new ClLinearExpression(*$1 / *$3); }
+ | '-' expr %prec NEG { $$ = new ClLinearExpression(-1 * *$2); }
+ | '(' expr ')' { $$ = $2; }
+;
+
+%%
+
+void clerror(const char *sz)
+{
+ throw ExCLParseErrorMisc(sz);
+}
+
+extern istream *pxi_lexer;
+
+// xi is the stream from which to read the constraint.
+// aVars is an array of variables large enough to account for
+// each one that might be mentioned in a constraint
+ClConstraint *PcnParseConstraint(istream &xi, const ClVarLookupFunction &lookup_func,
+ const ClStrength &strength)
+{
+ ClParseData cl_parse_data(xi, lookup_func);
+ pxi_lexer = ξ
+ if (yyparse(&cl_parse_data) == 0) { // success
+#ifdef DEBUG_PARSER
+ cerr << *cl_parse_data.Pcn() << endl;
+#endif
+ cl_parse_data.Pcn()->ChangeStrength(strength);
+ cl_parse_data.Pcn()->AddROVars(cl_parse_data._readOnlyVarsSoFar);
+ return cl_parse_data.Pcn();
+ }
+ else { // failed
+ return 0;
+ }
+}
#define CONFIG_H_INCLUDED
#endif
-const char *szCassowaryVersion = VERSION;
-
// Need to delete all expressions
// and all slack and dummy variables
// See NewExpression -- all allocation is done in there
+++ /dev/null
-Basic Installation
-==================
-
- These are generic installation instructions.
-
- The `configure' shell script attempts to guess correct values for
-various system-dependent variables used during compilation. It uses
-those values to create a `Makefile' in each directory of the package.
-It may also create one or more `.h' files containing system-dependent
-definitions. Finally, it creates a shell script `config.status' that
-you can run in the future to recreate the current configuration, a file
-`config.cache' that saves the results of its tests to speed up
-reconfiguring, and a file `config.log' containing compiler output
-(useful mainly for debugging `configure').
-
- If you need to do unusual things to compile the package, please try
-to figure out how `configure' could check whether to do them, and mail
-diffs or instructions to the address given in the `README' so they can
-be considered for the next release. If at some point `config.cache'
-contains results you don't want to keep, you may remove or edit it.
-
- The file `configure.in' is used to create `configure' by a program
-called `autoconf'. You only need `configure.in' if you want to change
-it or regenerate `configure' using a newer version of `autoconf'.
-
-The simplest way to compile this package is:
-
- 1. `cd' to the directory containing the package's source code and type
- `./configure' to configure the package for your system. If you're
- using `csh' on an old version of System V, you might need to type
- `sh ./configure' instead to prevent `csh' from trying to execute
- `configure' itself.
-
- Running `configure' takes awhile. While running, it prints some
- messages telling which features it is checking for.
-
- 2. Type `make' to compile the package.
-
- 3. Optionally, type `make check' to run any self-tests that come with
- the package.
-
- 4. Type `make install' to install the programs and any data files and
- documentation.
-
- 5. You can remove the program binaries and object files from the
- source code directory by typing `make clean'. To also remove the
- files that `configure' created (so you can compile the package for
- a different kind of computer), type `make distclean'. There is
- also a `make maintainer-clean' target, but that is intended mainly
- for the package's developers. If you use it, you may have to get
- all sorts of other programs in order to regenerate files that came
- with the distribution.
-
-Compilers and Options
-=====================
-
- Some systems require unusual options for compilation or linking that
-the `configure' script does not know about. You can give `configure'
-initial values for variables by setting them in the environment. Using
-a Bourne-compatible shell, you can do that on the command line like
-this:
- CC=c89 CFLAGS=-O2 LIBS=-lposix ./configure
-
-Or on systems that have the `env' program, you can do it like this:
- env CPPFLAGS=-I/usr/local/include LDFLAGS=-s ./configure
-
-Compiling For Multiple Architectures
-====================================
-
- You can compile the package for more than one kind of computer at the
-same time, by placing the object files for each architecture in their
-own directory. To do this, you must use a version of `make' that
-supports the `VPATH' variable, such as GNU `make'. `cd' to the
-directory where you want the object files and executables to go and run
-the `configure' script. `configure' automatically checks for the
-source code in the directory that `configure' is in and in `..'.
-
- If you have to use a `make' that does not supports the `VPATH'
-variable, you have to compile the package for one architecture at a time
-in the source code directory. After you have installed the package for
-one architecture, use `make distclean' before reconfiguring for another
-architecture.
-
-Installation Names
-==================
-
- By default, `make install' will install the package's files in
-`/usr/local/bin', `/usr/local/man', etc. You can specify an
-installation prefix other than `/usr/local' by giving `configure' the
-option `--prefix=PATH'.
-
- You can specify separate installation prefixes for
-architecture-specific files and architecture-independent files. If you
-give `configure' the option `--exec-prefix=PATH', the package will use
-PATH as the prefix for installing programs and libraries.
-Documentation and other data files will still use the regular prefix.
-
- In addition, if you use an unusual directory layout you can give
-options like `--bindir=PATH' to specify different values for particular
-kinds of files. Run `configure --help' for a list of the directories
-you can set and what kinds of files go in them.
-
- If the package supports it, you can cause programs to be installed
-with an extra prefix or suffix on their names by giving `configure' the
-option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'.
-
-Optional Features
-=================
-
- Some packages pay attention to `--enable-FEATURE' options to
-`configure', where FEATURE indicates an optional part of the package.
-They may also pay attention to `--with-PACKAGE' options, where PACKAGE
-is something like `gnu-as' or `x' (for the X Window System). The
-`README' should mention any `--enable-' and `--with-' options that the
-package recognizes.
-
- For packages that use the X Window System, `configure' can usually
-find the X include and library files automatically, but if it doesn't,
-you can use the `configure' options `--x-includes=DIR' and
-`--x-libraries=DIR' to specify their locations.
-
-Specifying the System Type
-==========================
-
- There may be some features `configure' can not figure out
-automatically, but needs to determine by the type of host the package
-will run on. Usually `configure' can figure that out, but if it prints
-a message saying it can not guess the host type, give it the
-`--host=TYPE' option. TYPE can either be a short name for the system
-type, such as `sun4', or a canonical name with three fields:
- CPU-COMPANY-SYSTEM
-
-See the file `config.sub' for the possible values of each field. If
-`config.sub' isn't included in this package, then this package doesn't
-need to know the host type.
-
- If you are building compiler tools for cross-compiling, you can also
-use the `--target=TYPE' option to select the type of system they will
-produce code for and the `--build=TYPE' option to select the type of
-system on which you are compiling the package.
-
-Sharing Defaults
-================
-
- If you want to set default values for `configure' scripts to share,
-you can create a site shell script called `config.site' that gives
-default values for variables like `CC', `cache_file', and `prefix'.
-`configure' looks for `PREFIX/share/config.site' if it exists, then
-`PREFIX/etc/config.site' if it exists. Or, you can set the
-`CONFIG_SITE' environment variable to the location of the site script.
-A warning: not all `configure' scripts look for a site script.
-
-Operation Controls
-==================
-
- `configure' recognizes the following options to control how it
-operates.
-
-`--cache-file=FILE'
- Use and save the results of the tests in FILE instead of
- `./config.cache'. Set FILE to `/dev/null' to disable caching, for
- debugging `configure'.
-
-`--help'
- Print a summary of the options to `configure', and exit.
-
-`--quiet'
-`--silent'
-`-q'
- Do not print messages saying which checks are being made. To
- suppress all normal output, redirect it to `/dev/null' (any error
- messages will still be shown).
-
-`--srcdir=DIR'
- Look for the package's source code in directory DIR. Usually
- `configure' can determine that directory automatically.
-
-`--version'
- Print the version of Autoconf used to generate the `configure'
- script, and exit.
-
-`configure' also accepts some other, not widely useful, options.
+++ /dev/null
-MAINTAINERCLEANFILES = autom4te.cache Makefile.in aclocal.m4 configure \
- config.h.in stamp-h.in config.guess mkinstalldirs \
- missing install-sh config.sub ltconfig \
- ltmain.sh acinclude.m4 config.log config.status \
- depcomp ClReader.cc ClReader.hh ClReader-lex.cc
-
-EXTRA_DIST = ClReader.l ClReader.y
-
-SUBDIRS = cassowary
-
-noinst_LIBRARIES = libcassowary.a
-
-libcassowary_a_SOURCES = \
- ClAbstractVariable.cc \
- ClConstraint.cc \
- ClLinearExpression.cc \
- ClSolver.cc \
- ClSimplexSolver.cc \
- ClStrength.cc \
- ClSymbolicWeight.cc \
- ClTableau.cc \
- ClVariable.cc \
- ClFloatVariable.cc \
- ClSlackVariable.cc \
- ClDummyVariable.cc \
- ClReader-lex.cc
-
-ClReader-lex.cc: ClReader.l cassowary/ClReader.h ClReader.cc
- $(LEX) -Pcl -o$@ $<
-
-ClReader.cc: ClReader.y cassowary/ClReader.h
- $(YACC) -d -pcl --output-file $@ $<
--- /dev/null
+# -*- python -*-
+Import('env libraries')
+
+cassowary = env.Copy()
+
+domain = 'libcassowary'
+cassowary.Append(DOMAIN=domain,MAJOR=0,MINOR=60,MICRO=3)
+
+cassowary_files = Split("""
+ClAbstractVariable.cc
+ClConstraint.cc
+ClLinearExpression.cc
+ClSolver.cc
+ClSimplexSolver.cc
+ClStrength.cc
+ClSymbolicWeight.cc
+ClTableau.cc
+ClVariable.cc
+ClFloatVariable.cc
+ClSlackVariable.cc
+ClDummyVariable.cc
+ClReader.cc
+ClReader-lex.cc
+""")
+
+cassowary.Command('ClReader.cc', 'ClReader.yy', 'bison -y -d -pcl --output-file $TARGET $SOURCES')
+cassowary.CXXFile(target = 'ClReader-lex.cc', source = 'ClReader.ll')
+
+libcassowary = cassowary.StaticLibrary('cassowary', cassowary_files)
+Default(libcassowary)
+++ /dev/null
-#!/bin/sh
-
-aclocal $ACLOCAL_FLAGS && autoheader && automake --add-missing && autoconf
-
+++ /dev/null
-MAINTAINERCLEANFILES = autom4te.cache Makefile.in
-
-noinst_HEADERS = \
- Cassowary.h \
- ClAbstractVariable.h \
- ClDummyVariable.h \
- ClObjectiveVariable.h \
- ClSlackVariable.h \
- ClConstraint.h \
- ClConstraintHash.h \
- ClEditConstraint.h \
- ClEditOrStayConstraint.h \
- ClErrors.h \
- ClLinearConstraint.h \
- ClLinearEquation.h \
- ClLinearExpression.h \
- ClLinearExpression_fwd.h \
- ClLinearInequality.h \
- ClSolver.h \
- ClSimplexSolver.h \
- ClStayConstraint.h \
- ClStrength.h \
- ClSymbolicWeight.h \
- ClTableau.h \
- ClFDVariable.h \
- ClFDConnectorVariable.h \
- ClFloatVariable.h \
- ClVariable.h \
- ClReader.h \
- ClTypedefs.h \
- ClPoint.h \
- cl_auto_ptr.h \
- config-inline.h \
- debug.h \
- timer.h
-
+++ /dev/null
-dnl Process this file with autoconf to produce a configure script.
-AC_INIT(cassowary)
-
-AC_CONFIG_AUX_DIR(.)
-AC_CANONICAL_HOST
-AC_CANONICAL_TARGET
-AC_VALIDATE_CACHED_SYSTEM_TUPLE()
-
-LIBCASSOWARY_MAJOR_VERSION=0
-LIBCASSOWARY_MINOR_VERSION=60
-LIBCASSOWARY_MICRO_VERSION=3
-
-AC_SUBST(LIBCASSOWARY_MAJOR_VERSION)
-AC_SUBST(LIBCASSOWARY_MINOR_VERSION)
-AC_SUBST(LIBCASSOWARY_MICRO_VERSION)
-
-BETA=
-
-LIBCASSOWARY_VERSION=$LIBCASSOWARY_MAJOR_VERSION.$LIBCASSOWARY_MINOR_VERSION.${LIBCASSOWARY_MICRO_VERSION}${BETA}
-LIBCASSOWARY_RELEASE=$LIBCASSOWARY_MAJOR_VERSION-$LIBCASSOWARY_MINOR_VERSION-${LIBCASSOWARY_MICRO_VERSION}${BETA}
-
-AC_SUBST(LIBCASSOWARY_SO_VERSION)
-AC_SUBST(LIBCASSOWARY_VERSION)
-AC_SUBST(LIBCASSOWARY_RELEASE)
-
-AM_INIT_AUTOMAKE(libcassowary,${LIBCASSOWARY_VERSION})
-
-AM_CONFIG_HEADER(config.h)
-
-dnl Checks for programs.
-
-AC_PROG_CC
-AC_PROG_CXX
-if test "$ac_cv_prog_cxx" = "no" ; then
- AC_MSG_ERROR([*** libcassowary is C++. You don't appear to have a C++ compiler])
-fi
-
-CXXFLAGS="-g -D_REENTRANT"
-OPT_CXXFLAGS="-D_REENTRANT -O6 -fomit-frame-pointer -ffast-math -fstrength-reduce -funroll-loops -fmove-all-movables"
-if test x"$GXX" = xyes ; then
- CXXFLAGS="$CXXFLAGS -Wall"
-fi
-if test x"$GXX" = xyes ; then
- OPT_CXXFLAGS="$OPT_CXXFLAGS -Wall"
-fi
-
-AC_ARG_ENABLE(optimize,
- [ --enable-optimize ask the compiler for its best optimizations.],
- [ if test "x$enable_optimize" != "xno" ; then CXXFLAGS="$OPT_CXXFLAGS" ; fi ])
-
-AC_OBJEXT
-AC_PROG_RANLIB
-AM_PROG_LEX
-AC_PROG_YACC
-
-AC_LANG_CPLUSPLUS
-
-CFLAGS="$CFLAGS $GLIB_CFLAGS"
-CXXFLAGS="$CXXFLAGS $GLIB_CFLAGS"
-LIBS="$LIBS $GLIB_LIBS $POSIX_RTSCHED_LIBS"
-
-AC_OUTPUT([Makefile
- cassowary/Makefile
-])