From 41ab4dfbcef1aa84b00e8dab8c8d394ff6c27ca2 Mon Sep 17 00:00:00 2001 From: Taybin Rutkin Date: Tue, 17 May 2005 20:22:46 +0000 Subject: Updated cassowary to use scons. git-svn-id: svn://localhost/trunk/ardour2@9 d708f5d6-7413-0410-9779-e7cbd77b26cf --- libs/cassowary/.cvsignore | 12 --- libs/cassowary/ClReader.l | 87 ----------------- libs/cassowary/ClReader.ll | 87 +++++++++++++++++ libs/cassowary/ClReader.y | 154 ----------------------------- libs/cassowary/ClReader.yy | 154 +++++++++++++++++++++++++++++ libs/cassowary/ClSimplexSolver.cc | 2 - libs/cassowary/INSTALL | 182 ----------------------------------- libs/cassowary/Makefile.am | 32 ------ libs/cassowary/SConscript | 30 ++++++ libs/cassowary/autogen.sh | 4 - libs/cassowary/cassowary/.cvsignore | 2 - libs/cassowary/cassowary/Makefile.am | 36 ------- libs/cassowary/configure.ac | 64 ------------ 13 files changed, 271 insertions(+), 575 deletions(-) delete mode 100644 libs/cassowary/ClReader.l create mode 100644 libs/cassowary/ClReader.ll delete mode 100644 libs/cassowary/ClReader.y create mode 100644 libs/cassowary/ClReader.yy delete mode 100644 libs/cassowary/INSTALL delete mode 100644 libs/cassowary/Makefile.am create mode 100644 libs/cassowary/SConscript delete mode 100644 libs/cassowary/autogen.sh delete mode 100644 libs/cassowary/cassowary/Makefile.am delete mode 100644 libs/cassowary/configure.ac diff --git a/libs/cassowary/.cvsignore b/libs/cassowary/.cvsignore index 7ac7ae08ae..532f703477 100644 --- a/libs/cassowary/.cvsignore +++ b/libs/cassowary/.cvsignore @@ -1,15 +1,3 @@ -.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 diff --git a/libs/cassowary/ClReader.l b/libs/cassowary/ClReader.l deleted file mode 100644 index 77fa13a5a1..0000000000 --- a/libs/cassowary/ClReader.l +++ /dev/null @@ -1,87 +0,0 @@ -/* $Id$ - Cassowary Incremental Constraint Solver - Original Smalltalk Implementation by Alan Borning - This C++ Implementation by Greg J. Badros, - 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 -#include "ClReader.cc.h" - -#ifdef HAVE_CONFIG_H -#include -#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"); } - diff --git a/libs/cassowary/ClReader.ll b/libs/cassowary/ClReader.ll new file mode 100644 index 0000000000..77fa13a5a1 --- /dev/null +++ b/libs/cassowary/ClReader.ll @@ -0,0 +1,87 @@ +/* $Id$ + Cassowary Incremental Constraint Solver + Original Smalltalk Implementation by Alan Borning + This C++ Implementation by Greg J. Badros, + 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 +#include "ClReader.cc.h" + +#ifdef HAVE_CONFIG_H +#include +#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"); } + diff --git a/libs/cassowary/ClReader.y b/libs/cassowary/ClReader.y deleted file mode 100644 index f9f0dca43e..0000000000 --- a/libs/cassowary/ClReader.y +++ /dev/null @@ -1,154 +0,0 @@ -/* - $Id$ - - Cassowary Incremental Constraint Solver - Original Smalltalk Implementation by Alan Borning - This C++ Implementation by Greg J. Badros, - 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 -#include -#include - -#ifdef HAVE_CONFIG_H -#include -#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 -%token VAR -%token RO_VAR - -%token GEQ -%token GT -%token LEQ -%token LT - -%type expr -%type 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; - } -} diff --git a/libs/cassowary/ClReader.yy b/libs/cassowary/ClReader.yy new file mode 100644 index 0000000000..f9f0dca43e --- /dev/null +++ b/libs/cassowary/ClReader.yy @@ -0,0 +1,154 @@ +/* + $Id$ + + Cassowary Incremental Constraint Solver + Original Smalltalk Implementation by Alan Borning + This C++ Implementation by Greg J. Badros, + 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 +#include +#include + +#ifdef HAVE_CONFIG_H +#include +#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 +%token VAR +%token RO_VAR + +%token GEQ +%token GT +%token LEQ +%token LT + +%type expr +%type 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; + } +} diff --git a/libs/cassowary/ClSimplexSolver.cc b/libs/cassowary/ClSimplexSolver.cc index 424a5d5aab..32ea59df74 100644 --- a/libs/cassowary/ClSimplexSolver.cc +++ b/libs/cassowary/ClSimplexSolver.cc @@ -31,8 +31,6 @@ using namespace std; #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 diff --git a/libs/cassowary/INSTALL b/libs/cassowary/INSTALL deleted file mode 100644 index b42a17ac46..0000000000 --- a/libs/cassowary/INSTALL +++ /dev/null @@ -1,182 +0,0 @@ -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. diff --git a/libs/cassowary/Makefile.am b/libs/cassowary/Makefile.am deleted file mode 100644 index fb36aef47c..0000000000 --- a/libs/cassowary/Makefile.am +++ /dev/null @@ -1,32 +0,0 @@ -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 $@ $< diff --git a/libs/cassowary/SConscript b/libs/cassowary/SConscript new file mode 100644 index 0000000000..7fef464a97 --- /dev/null +++ b/libs/cassowary/SConscript @@ -0,0 +1,30 @@ +# -*- 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) diff --git a/libs/cassowary/autogen.sh b/libs/cassowary/autogen.sh deleted file mode 100644 index 4d1bcb29e5..0000000000 --- a/libs/cassowary/autogen.sh +++ /dev/null @@ -1,4 +0,0 @@ -#!/bin/sh - -aclocal $ACLOCAL_FLAGS && autoheader && automake --add-missing && autoconf - diff --git a/libs/cassowary/cassowary/.cvsignore b/libs/cassowary/cassowary/.cvsignore index 282522db03..e69de29bb2 100644 --- a/libs/cassowary/cassowary/.cvsignore +++ b/libs/cassowary/cassowary/.cvsignore @@ -1,2 +0,0 @@ -Makefile -Makefile.in diff --git a/libs/cassowary/cassowary/Makefile.am b/libs/cassowary/cassowary/Makefile.am deleted file mode 100644 index cc581b80ff..0000000000 --- a/libs/cassowary/cassowary/Makefile.am +++ /dev/null @@ -1,36 +0,0 @@ -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 - diff --git a/libs/cassowary/configure.ac b/libs/cassowary/configure.ac deleted file mode 100644 index 3e565d7709..0000000000 --- a/libs/cassowary/configure.ac +++ /dev/null @@ -1,64 +0,0 @@ -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 -]) -- cgit v1.2.3