change build system from SCons to Waf
This commit is contained in:
1 parent
b4d5de0910
commit
dfd1861d7b
8 files changed
+204
-32
No files matched your search
@@ -5,3 +5,6 @@ fart
|
||||
parser/parser.tab.cc
|
||||
parser/parser.tab.hh
|
||||
parser/lex.yy.cc
|
||||
/.lock-waf*
|
||||
/.waf-*/
|
||||
/build/
|
||||
@@ -1,10 +1,11 @@
|
||||
export SCONSFLAGS := -Q
|
||||
|
||||
all:
|
||||
@scons
|
||||
@./waf build
|
||||
|
||||
install:
|
||||
@scons $@
|
||||
@./waf install
|
||||
|
||||
distclean:
|
||||
@./waf distclean
|
||||
|
||||
clean:
|
||||
@scons -c
|
||||
@./waf clean
|
||||
-25
@@ -1,25 +0,0 @@
|
||||
# vim:syntax=python
|
||||
|
||||
import os
|
||||
|
||||
target = 'fart'
|
||||
subdirs = ['util', 'shapes', 'main', 'distrib']
|
||||
parser_sources = Glob('parser/*.cc')
|
||||
sources = map(lambda x: Glob(x + '/*.cc'), subdirs)
|
||||
lexer_source = 'parser/lex.yy.cc'
|
||||
parser_source = 'parser/parser.tab.cc'
|
||||
for f in parser_sources:
|
||||
if str(f) != lexer_source and str(f) != parser_source:
|
||||
sources.append(f)
|
||||
sources += [lexer_source, parser_source]
|
||||
|
||||
env = Environment(CPPFLAGS = '-I.',
|
||||
CXXFLAGS = '-Wall -O2',
|
||||
YACCFLAGS = '-d',
|
||||
LIBS = ['-lfl', '-lpthread', '-lfreeimage'])
|
||||
|
||||
lexer = env.CXXFile(lexer_source, 'parser/parser.ll')
|
||||
parser = env.CXXFile(parser_source, 'parser/parser.yy')
|
||||
env.Depends(lexer, parser_source)
|
||||
|
||||
env.Program(target, sources)
|
||||
@@ -8,7 +8,7 @@
|
||||
|
||||
#include "nodes.h"
|
||||
#include "parser.h"
|
||||
#include "parser.tab.hh"
|
||||
#include "parser.tab.h"
|
||||
|
||||
#define YY_USER_ACTION yylloc->first_column += yyleng;
|
||||
|
||||
+1
-1
@@ -8,7 +8,7 @@
|
||||
#include "util/Scope.h"
|
||||
#include "nodes.h"
|
||||
#include "parser.h"
|
||||
#include "parser.tab.hh" /* bison-generated header with YY[SL]TYPE */
|
||||
#include "parser.tab.h" /* bison-generated header with YY[SL]TYPE */
|
||||
using namespace std;
|
||||
|
||||
#define yyerror(msg) errFunc(msg, &yylloc)
|
||||
|
||||
@@ -0,0 +1,169 @@
|
||||
#!/usr/bin/env python
|
||||
# encoding: ISO8859-1
|
||||
# Thomas Nagy, 2005-2015
|
||||
|
||||
"""
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions
|
||||
are met:
|
||||
|
||||
1. Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
|
||||
2. Redistributions in binary form must reproduce the above copyright
|
||||
notice, this list of conditions and the following disclaimer in the
|
||||
documentation and/or other materials provided with the distribution.
|
||||
|
||||
3. The name of the author may not be used to endorse or promote products
|
||||
derived from this software without specific prior written permission.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR
|
||||
IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT,
|
||||
INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
||||
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
|
||||
STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
|
||||
IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
POSSIBILITY OF SUCH DAMAGE.
|
||||
"""
|
||||
|
||||
import os, sys, inspect
|
||||
|
||||
VERSION="1.8.14"
|
||||
REVISION="9fa0538d9aef6e87468d0d8369f1c2f3"
|
||||
GIT="9625343f91810ffeb8b844f14f997daf44a91ff5"
|
||||
INSTALL=''
|
||||
C1='#+'
|
||||
C2='#*'
|
||||
C3='#)'
|
||||
cwd = os.getcwd()
|
||||
join = os.path.join
|
||||
|
||||
|
||||
WAF='waf'
|
||||
def b(x):
|
||||
return x
|
||||
if sys.hexversion>0x300000f:
|
||||
WAF='waf3'
|
||||
def b(x):
|
||||
return x.encode()
|
||||
|
||||
def err(m):
|
||||
print(('\033[91mError: %s\033[0m' % m))
|
||||
sys.exit(1)
|
||||
|
||||
def unpack_wafdir(dir, src):
|
||||
f = open(src,'rb')
|
||||
c = 'corrupt archive (%d)'
|
||||
while 1:
|
||||
line = f.readline()
|
||||
if not line: err('run waf-light from a folder containing waflib')
|
||||
if line == b('#==>\n'):
|
||||
txt = f.readline()
|
||||
if not txt: err(c % 1)
|
||||
if f.readline() != b('#<==\n'): err(c % 2)
|
||||
break
|
||||
if not txt: err(c % 3)
|
||||
txt = txt[1:-1].replace(b(C1), b('\n')).replace(b(C2), b('\r')).replace(b(C3), b('\x00'))
|
||||
|
||||
import shutil, tarfile
|
||||
try: shutil.rmtree(dir)
|
||||
except OSError: pass
|
||||
try:
|
||||
for x in ('Tools', 'extras'):
|
||||
os.makedirs(join(dir, 'waflib', x))
|
||||
except OSError:
|
||||
err("Cannot unpack waf lib into %s\nMove waf in a writable directory" % dir)
|
||||
|
||||
os.chdir(dir)
|
||||
tmp = 't.bz2'
|
||||
t = open(tmp,'wb')
|
||||
try: t.write(txt)
|
||||
finally: t.close()
|
||||
|
||||
try:
|
||||
t = tarfile.open(tmp)
|
||||
except:
|
||||
try:
|
||||
os.system('bunzip2 t.bz2')
|
||||
t = tarfile.open('t')
|
||||
tmp = 't'
|
||||
except:
|
||||
os.chdir(cwd)
|
||||
try: shutil.rmtree(dir)
|
||||
except OSError: pass
|
||||
err("Waf cannot be unpacked, check that bzip2 support is present")
|
||||
|
||||
try:
|
||||
for x in t: t.extract(x)
|
||||
finally:
|
||||
t.close()
|
||||
|
||||
for x in ('Tools', 'extras'):
|
||||
os.chmod(join('waflib',x), 493)
|
||||
|
||||
if sys.hexversion<0x300000f:
|
||||
sys.path = [join(dir, 'waflib')] + sys.path
|
||||
import fixpy2
|
||||
fixpy2.fixdir(dir)
|
||||
|
||||
os.remove(tmp)
|
||||
os.chdir(cwd)
|
||||
|
||||
try: dir = unicode(dir, 'mbcs')
|
||||
except: pass
|
||||
try:
|
||||
from ctypes import windll
|
||||
windll.kernel32.SetFileAttributesW(dir, 2)
|
||||
except:
|
||||
pass
|
||||
|
||||
def test(dir):
|
||||
try:
|
||||
os.stat(join(dir, 'waflib'))
|
||||
return os.path.abspath(dir)
|
||||
except OSError:
|
||||
pass
|
||||
|
||||
def find_lib():
|
||||
src = os.path.abspath(inspect.getfile(inspect.getmodule(err)))
|
||||
base, name = os.path.split(src)
|
||||
|
||||
#devs use $WAFDIR
|
||||
w=test(os.environ.get('WAFDIR', ''))
|
||||
if w: return w
|
||||
|
||||
#waf-light
|
||||
if name.endswith('waf-light'):
|
||||
w = test(base)
|
||||
if w: return w
|
||||
err('waf-light requires waflib -> export WAFDIR=/folder')
|
||||
|
||||
dirname = '%s-%s-%s' % (WAF, VERSION, REVISION)
|
||||
for i in (INSTALL,'/usr','/usr/local','/opt'):
|
||||
w = test(i + '/lib/' + dirname)
|
||||
if w: return w
|
||||
|
||||
#waf-local
|
||||
dir = join(base, (sys.platform != 'win32' and '.' or '') + dirname)
|
||||
w = test(dir)
|
||||
if w: return w
|
||||
|
||||
#unpack
|
||||
unpack_wafdir(dir, src)
|
||||
return dir
|
||||
|
||||
wafdir = find_lib()
|
||||
sys.path.insert(0, wafdir)
|
||||
|
||||
if __name__ == '__main__':
|
||||
|
||||
from waflib import Scripting
|
||||
Scripting.waf_entry_point(cwd, VERSION, wafdir)
|
||||
|
||||
#==>
|
||||
#BZh91AY&SY¾ ÛO/fÿÿÿ°�ÁÿÿÿÿÿÿÿÿÿÿÿF`††"ª@Œ#)! (aô÷ynˆ#)#)#)#)#)#)#)#)#)#)#)#)#)#)#)#)#)#)#)ãÑYLµÛ¸7Þî¯m†ˆ¡¯}Üë9÷q{uïjËWÑõÔ¤/&ßvwÓr>wwnìµ6FŽî)å¾úûË…�o{½·˜{ma(:2[vî®�J;¬é×zÞ÷·nÔôëÈèßxÎ}ÝÅ{ºÍï†ï|£«ÝÜõ]ï#)®›ÝÎ÷—}áôÖ.øÞÑ;{ݵǮ﹮ï—7kí»#)#)#) >€>vh¥¶°ï½ÀÐéõð#+ß{yáí·pTê@Ù¾�Rô÷vÛ�l4#)QU¡«>óZ{°=sMºë£aJ:Ý‹al2B‰B€J‹ßnR½²€#+ƒëD¥ #+ÖŠ/°[ {yÆûîׯZ>ì>ÕkS¯{�Ùïz^¯puÆA5é©:Ö[}:ö�»ƒ�×s_9Ð÷·×žÛo¥Þ®õÓÝÛÙäSíÖ»ÎÝϾmÝÎû^j´Êû^ß]Ññ³çg³¹Õ÷´u’€´ú8ö4#)ºÀ¥�”·;Þgyïrd4¡öÞ{T@|”Ä„·»ÞKØ(#)E…) ð4Ú×Ó»^úîé�{ÜÙïBÁîõéÏ»Þë}î ^Í#+%6`oVÏ/s w=×g^»Ù@=÷Gz§£X縛»ï}ÆïŽï5t3Þy^Øñ—×�ºFÇ@9Uí›ï¼xöpž\ôÒ«¦ßovÂòîów¯\}Õîç^׳z÷½îï7^fûrº—f÷¾Þ.z+ï0x/9÷{ÎãïXkÜÕvzÅwºÅ¡§ë¶iÄ{˜¥µm·Œíîz÷ÕJ¨VÓ]71çµ{³‹¹�ö¶úû½¼w{vqöû}l|å´Ûg¯¹Åîǧ—´´}Þ�^¯o“Ø#)½éç^]>_wÛÇ=;.#)�P¢Ól5 ¶#+è÷�¶UOsjÐ:]ç�ßo¯¦ƒÜoyž÷·uo—ݯR{¬’â³^°•Þ«Û°Ò£ªú÷o¸|#)w¸ê€�bö÷³w²×yï¯x󾦸ûm‹îûß]9·Ñ�šïk<õçn�µ kϱëÄŸ}ÙÞÙmÓ�±;‘ÞíSÞt[8»ç·Û§€•@ä{Zöàêc®€öW�¥=õja_jϵÞÞ'Ý÷ÝïSÙám¶û¾öò¼lí#Ýöï»sœùö^Ï}Û¨»ìû¯g—•�Ámµ€sîæŽ©Ó�öî¼_#*æ×A¯¶¥á}Sï2ù#*ËÞÍ÷—Þ]oº#)À¶ÅtÅU>ç݃ß{·ºä;RîÑ{{Þ®c;#+w˽{o¹¯CçÜ3Ü×·®Þõ÷Ú×Ì^öÖÞû‡Éõí¥ÑA ·MBºVî#*]mõÝF†#*y·¹:0൷zëÞo¾#*öÈ#)#*z.^î:ïq£Ð=³¸ô6ÏÞï{ ½`Û#)Z÷4Øô¯½Ž}@!»9c‰U©ënûž>Þ÷»sµéÞÞ¶àìXÐQG7_yÞÏ%TÔÜß{ºlËØ·K‰ë=2÷Öuò.çwõ{×ÅÒøúwÝÜ'yÏž›¦$´ôrÞg™µÖ‡îûy}yí½rãXuâû½É’O‡wvã^Guây¼èçÙ| ”Ò#)@#)€#)˜�#)4Ä “&“Tý)ú�õP=CFFž¦&4Ÿª M� ˆÒbd=š)êzG¤�¦‚z&š#*�#)#)#)#)#)#)�Hˆ @šhb!¥OjŸµIàjG‰=CÊ4zšhmM44Ð#)diˆ#)#) =R’)‰=Òc%OÒbž§´§¨Ì¦†ŒMP#)4#)ê#)i¦@#)#)#)$„Ð#)&†‚dÔÁL‰¦©ãÓRzi§ªhiê@@#)#)$ÔD#)&@Í¢žÓJ›jOÓMSÉ“T=’›Õ?MSÔõ#) #)ñÿù?ضڗ_î•[›XÝÉ~ÖÛS”ĦEðÛj\Í#**H !’€y¬èËåô}?F0Oò%ã–)Ê.Ò”ø‘Hâ§œ^,UQñ½É2qk»¼kSûg@úÏó!ü„Kæ�€ê’@Äá:´ ³·ðnÛá¥Kš×Ž&S.Óˆ¡=ÍañO‚a]Ô¼c¥‚ ¹B ¯ã¾�¯yG€Ä Â#+"ºšØ¶£m¶£ZÔmZ+Y‘@nªJˆõAZS˜Rh@@D�Ê -�‚؈©>ø!D² ¤@L£Cj#TkÕµm}Õmj© �4ă1,fiˆ ‘#*Í£fh‰)©ÆDÉJ)Šm¤¨cL’X XMR£l”DJ™¢l¡l˜ÉY”fh–4&˜R‚Æ’)6"ÑŠ!©LŠ¢,´�T’ ƒ)"E¶“T-e›±5(Å$¢šDŒ,Ê‹F¢´i«T¤–¢dÉ2EE±jV±ša›2™jKM¶&¦Ø˜ÙT™50²(’j6�‘©VŠÈFɤÐS$£AAi ´RšÆHfÆ&X(ÌÒ˜šlb`•)`�€Ä1™ˆTÉ2%%&Ô�$RÄ"²hdˆ™H¤””±I’#*¢˜ÉJMhJ‹AS•"¡‹$ÃERXQ$¢M"”LbÄÅA²e6ŠI–�ÊHšYdd•(¢™†´…C"‰aDšI Sb5%�²Ñ$¤IEEDA±%!LØ‚I5$E$R!"fF2L�£0Œ–Ì©�hJŒD„I Rl! I&“h1&MR˜6m¦‘F„Q#+R@ÊLÐi2©fÀ‹)E2�É¥’lÓ(Ж),ÈØÑ•’f$‘E ±K$*$²Ê‚›3F*,Ò60Êi¢Jki ÐÄ&iiA“%&�4ÒRÍF’Ê•L0QIPDÄ™IJ#+c„‘’dP�h!4̶‘†k!¥‘dÈR�¦ÒT”[$mI’IBQd¦¤[ £d†L¢"†É&Ê�35ˆÆiPÌÍ)ˆHl*dÑ,bÍMŠL¢Èɉ(Sd’QS"ÄLÓ#h1I’ÊI˜l›&Œ™#+†‘¬$™•”˜m“d¤„I,™FB)š‘”ÊFXŒ’•Mš*6ŠˆL ™’ ÚŒ[IšÈ¡¤ÆŒ$†•Bˆ Q5Š”˜QX”Ổš4˜IdD¡RÈQ¤Èc(Í!³Z¥´[$© ZJ#*”‘¢Å2S$Æ5“S,Ѧ)3LÓM’ÊXµ21°¶IF…M”e#4ie¯Ümti+IHJ”d¦±VŠÅ¢£BfTDÓi-£a$µLE#*‹,E,¥!4‘¬ÆÆB#+†Z„Ö‹"šÉ�ØÊ-*4‹BÄɘԴ³$i1a™”ªÍd5dlЦØV)²‰,¨ÊUbš´›HU f¥)M0µ˜¡¦DXÖ�5*$´Ê4FX¬V*™Ql%¶‰–ÆÛBF¤£m�£cd£Tf’!TR�Xª6©#*¬Bk$(�¬Ñ¦$¢�M0ÍJ%6¥Q¨Ù$¬cR+L™mµ›VšÑa©µ4‰›5‘&fjiHÉ2Ú¥¨¥¤¦ji³5¥Si*¦˜LU•2”›SJÓf-Ù¬ÌÉ%e�Ø5&ÚU–CbÔÒŠ"5J4‰E!C… ¡$À¦ÔmI’¢™M±´¤ÒÆ£&M%0È¢‘K6#b�ZYR šh¦JdƲ›41bBP¨´Y’Å+5%€ÆÙ–M,ÆSÈED”¤“!f%‚"�FÄ””dÍ‘fQµ31LRma3`Ñ’¢ÆaŠ™j4P›D"šm3h¨±±±F„h�&¦„ŠL…,´Dh¬‘))Mƒ%±#+MJ"I6jQ UU3(�†ÅJi6FÒei-b † (‘2l¤š¤Ô™˜Ùšb©l³bÐVRÊ(�ŒMŠ,Ô“)“ELµ¤dÊZ,”‰°"DPK1¢¦Q¢²É²R†&"jHH´j"¨M‹EFŠ6ÄmHÒa’f‰()4‹E0 QI%‹³iI&¤(#+�dÌ,”³!¦£FÂF¢Ö$Ñ¡2´‘i-Š‚Œa…E%©J%F¨Ö4¤ÍlY$¬È©"J�!¢,²LhdÔmÄÊÉh¦”¡Q¥%4IRÉ*Je)FÖĤŠ,”l•FFÉcY4•-T¦)(©Kd5b¡¤™²%&ņ�B"Å‹L2R3F#*¤Á¨“40UJ#L&”¶b)E¢´m�d„6%Ac)±¨Ú6™% QI„I«J#+-)ªSi5±¬Vɬ–³H#+ѶMIEŠb”‘”Ù¡P”l”Á£[Dm�‹hØÒ•Y!–ˆ+šŠ‰#+Ñ3l³j6�¢¢Ö2ImJ3fÈiebU´S,UMICiFXÑJ&’,©±h$±F²V-’Š¤ÕŠM¥3(Òm�E%-m¶m#PÒh‰*e��¡@´KKf¬˜ÈÅ‹Z(‹hØ´[mT2ɵ±©©YZ%E±#i&0l¬,¥Š’6i1±&$“)&D�µ&س6©�…þ³ýÏý†hËi“ý*”ú™ýø©—ýͶ!½9ÿ‹ÕË&‰‡Göa¤\2#+Jd]*¢$LLY²µaÃþ?ãF±SPf–5Qÿ’·Å?ÇÚR+^pˆ|ösy‘x±V&šå�Ü–#+WD2›¤-¶†ª¤Gjÿk·íò»{Ãþ¤?ãò?·üÜxóÿnÊÆ^8˪*˜)gmv²Ñˆò; aˆ†‰Û7q8gç|X{#*/}ZˆS;î¦ù®éÇX;£‰F‘åâíi�r7¨£�Ûìkd˜RTÆÛ®WÇâÒ�¡øE1Ì�m·Ë#*ÖMqãAŽY×[#¿3ÊnënËÅì¯Ýp«Ý^ÏGø½z•éW°¹¹¨Øµ˜&Ûåuäžr¢K]ïÕÞ]�;µü¯;f^ÍÍ&‹SiËJÁéÄçJ¨?üpÿ5˜ÃµR@Ö«Ö“fXÅQSÙF[,оÿ÷\°ñí€TèÊ7ªAÐÊÃ#+#+/v¶LÿCÒ³78m‰V™H#ûõšÀÿlC±83,";I§¬ÓÑ©�èi[3,DÖlJ�l×Oõ^Þ¹[@[àÐ,5Öí@²i“<öóxE5Ý΋¸Ñ\Üɤ)5¤‚¢Å£î‡!, …Té^7<’DѤ$PYô�¨ÈØ4Î{PGê¥ÈxxzaÀ2¹6]yg³FÉ¢‰IpUDA´êˆäKÇ(¢’ÔÔKÓDÍôÞÞ–FDR�.‘VŽZH�Å#*4©â»ßº�Ôt®\“w]‰×]1Vj�.ëþS�V(€ y¥f†‰B0h•²•¸�i+õUÏM¯çZc?êz`™Aÿ#+)6JªåšÂŠ…Ih^* P!)¦Jˆ®c;ŸÃ04ºˆŠjgê3•V�(ûj¶î¹}Fo÷ÔÛå×|fâ+UœáYí«˜“<Ô1ÖGÎgöâõE¬@åŽÆ{T¹¦Ê!É#*’pC¡-ÙÙ]Òt)9b¹î§w®†ÆtD#+„Ÿ(á w¸fthQIšzÝlÊŽ7°ÇZÌ™¸Z2©kÕ�‡ú1{5ŒMÖ/b„m½:Þ>ÇáŠ0ö TNÍh³f ØÒ‚Æ7=캙[ânß×`›#*KHÝ£¿ç�_�ºö7Öí6IFFü}v¾Ë¸Yè3�”LºÝsr%â¡ÊÊQþãKìHÇàçH¯LŽVÚiþ}!F1dQ?ÅÜ{—u6Š1¢¼s2ɼW.V5_¶òš�>Ç�½7~>¯Ðð™Ÿí·×ü¾×Ó{]£·5®êíˆÆ‹1MIëºåyçmICBE:42*Μ« „‹Å#+ÄC¥¼mËX½/'æõÑJ_*#+¾Ç³ÌÆÆã(ß¹5È|R[&·mÅðï£Ï!å5‹%Gþ4´Ñ#+E�ñhTMhí½D=Y£ ÿ°j] Ó&¾TM³cùQ9ä¨aˆ®•µ›3Å$ÀÁDT†µñl)·S|%Ô�Î%о}Ño‹â2›ÕÖˆ\´CÐ’Õc”¨ÄJHP‚vÔ&®µJnσ«5“¨¶•D׺ïšcã·<€í\XZvö]¤AI2U#xÕXj…¦F‘HñªKvŒðx†KQðÄea¶–œjÉ2ÔQµNÆŒ¡¾ø-ˆ©Â¼î…g�mC͘PC‹24;¨gr]Ì�ìŽx=¶O#*ñ–š†~>cò‰\'Ö;˦Xô‚?ÆçÆz@á„e\ŸkЇ?®ãé‘PöbŒÎТMˆJ(‚vÕ Ÿq]t•ˆ!ER,PãEJi¸®©�ùãyaîÚ»Y:¡¨ã…ufþÿuXšr'@�iN !Îú½FâéîƒÖšÍ˜tiɬ% (V¥9¨"·åEÊÅÓ-Ø�\ª÷²êe�c{ÔCefBÖçØõ�dMæµýZ5›‡¬‹§Âtw¿iW/Ù¤$t[ÿ°�¤)àC‹)É~™ÇÛx_/ø#*b+¹wß$™ã6ÞXÊÆ+Ææ¤Ï¢¦ˆ§?->Ó#)J±ªŽkiTLine truncated
|
||||
#<==
|
||||
@@ -0,0 +1,22 @@
|
||||
#!/usr/bin/env python
|
||||
|
||||
def options(opt):
|
||||
opt.load("compiler_cxx")
|
||||
|
||||
def configure(conf):
|
||||
conf.load("compiler_cxx flex bison")
|
||||
|
||||
def build(bld):
|
||||
subdirs = ["util", "shapes", "main", "distrib", "parser"]
|
||||
sources = []
|
||||
for s in subdirs:
|
||||
sources += bld.path.ant_glob("%s/*.cc" % s)
|
||||
lexer_source = "parser/parser.l"
|
||||
parser_source = "parser/parser.yy"
|
||||
sources += [lexer_source, parser_source]
|
||||
bld.program(
|
||||
source = sources,
|
||||
cxxflags = ["-Wall", "-O2"],
|
||||
target = "fart",
|
||||
includes = subdirs + ["."],
|
||||
lib = ["fl", "pthread", "freeimage"])
|
||||
Reference in new issue
Block a user