switch to waf build system
This commit is contained in:
1 parent
188427b99d
commit
7ee6efe574
9 files changed
+6249
-20
No files matched your search
+3
-1
@@ -1 +1,3 @@
|
|||||||
/sdl-game-controller
|
/build/
|
||||||
|
/.waf*
|
||||||
|
/.lock-waf*
|
||||||
+1251
File diff suppressed because it is too large.
Load diff
+1146
File diff suppressed because it is too large.
Load diff
@@ -1,21 +1,11 @@
|
|||||||
FILE := sdl-game-controller
|
.PHONY: build
|
||||||
TARGET := $(FILE)
|
build:
|
||||||
|
./waf build
|
||||||
CFLAGS := $(shell pkg-config --cflags sdl2)
|
|
||||||
ifeq (MINGW,$(findstring MINGW,$(shell uname)))
|
|
||||||
LIBS := -lopengl32 -lglu32 -lmingw32
|
|
||||||
CC := mingw32-gcc
|
|
||||||
TARGET := $(TARGET).exe
|
|
||||||
else
|
|
||||||
LIBS := -lGL -lGLU `pkg-config --libs sdl2`
|
|
||||||
endif
|
|
||||||
LDFLAGS := $(LIBS) $(shell pkg-config --libs sdl2)
|
|
||||||
|
|
||||||
|
|
||||||
all: $(TARGET)
|
|
||||||
|
|
||||||
$(TARGET): $(FILE).c
|
|
||||||
$(CC) -o $(TARGET) $(CFLAGS) $< $(LDFLAGS)
|
|
||||||
|
|
||||||
|
.PHONY: clean
|
||||||
clean:
|
clean:
|
||||||
-rm -f $(TARGET) *~ *.o
|
./waf clean
|
||||||
|
|
||||||
|
.PHONY: distclean
|
||||||
|
distclean:
|
||||||
|
./waf distclean
|
||||||
File renamed without changes.
@@ -0,0 +1,170 @@
|
|||||||
|
#!/usr/bin/env python
|
||||||
|
# encoding: ISO8859-1
|
||||||
|
# Thomas Nagy, 2005-2016
|
||||||
|
|
||||||
|
"""
|
||||||
|
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.20"
|
||||||
|
REVISION="c859ca7dc3693011756f4edf45c36626"
|
||||||
|
GIT="8e4f6ea5f13d692848c1225cab94bce59d0d9a19"
|
||||||
|
INSTALL=''
|
||||||
|
C1='#3'
|
||||||
|
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&SYE~ŸjQnÿÿÿ°#,Óÿÿÿÿÿÿÿÿÿÿÿ„ Y#,§%H4�#,`¨b÷{åÞ�#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,:)„´Û§5_Z]¶h.½në¾ñ�ݺj×ÑõëÈëJtØîôêÙ}öŽÔ–ÛSå÷ÓîL,ëU)Ã¥öáHäïov”Ç»žÇ»uªÞó·;Þ§tÕ]ôõzúo{îîîÞ ¼ÑݧªwžìÓ�»Ýò÷¼:è\O‹´úmvû=ÐÀ·pïºáO½óï#,#,#,t#,#,ϳ@0:-l _`#,}ßcƒË˜U5 nîè´î—q½ØtÐiîΕ¡ªÓ´ôh;ÛÝÐ{›h#3t=9í݆…µ0’$J€ #3õ¥c@E4I P¯Z$–‡®$×Û{{›cï0ö©°ëÝ7¶÷†÷{½@ï{ÞÔìÒvÐ*Yk-¾»Õ6[ÓN®æñνv÷}gm¶=ozÞ�o/wß5OvóxöÞûÙówyÝöïeZwnówkÚÕÚÎn¹]õàójSv#,4/{vÌ€5@#3އN޹³ÞÏly×]¾ûï&A ¡W|稀“Ó ov»Ë#3^ÀdU(‰ë(#,ê+ X¶�+®¬Z!îî^æÏx#,Ø=w¶õîw>}îô…#,¶}k¬[Y�§;ÏxãÜ;{ïz=k{vÇUÙ<æ‡F±ÛÐßw½ÈN3åZi}çšdç×Y}ÙÒ{ÙÍ5)Nûï=ŸWnÜyוҧ»'½½ïÆ÷ÏomìÌû�îóÕÞ÷·¶Û½ï^í_{ÜÔ{Ùî÷Úó{ÔîîÝn–Û�ïyÜ}]”ZÊíÀ»ëî2iFOô¢™ëÚѶÞ3·r»ê)Q,ÜÙÝÇÍ«Ý÷x�Ùßwq>Þíç§«Ì}óvöi÷ÜûÄ›îÐöÎ=çž�¥£}zz^Ÿ¬#,ou¾æò}Ã`/—ÞÛk[ƒÅ#,%#3…P ¶:ÝÎwhÙRw;Y´8çGO»oò;¢Õ¾ìŽ3uÓEƒ»®Yªnõga¥GW{´»wm#,#,ööã©#,#,ov·¾÷ß3é_w“‘ÝÍÖ¦z}ç¼öﮞñ÷¼GEòGqGn커mÖv«ë={ïv÷»×»Ìl±b7:"=]ï5g¶Í³Žß{¸x–†š=îîîêºëÞë½µè6ÙãÛ>ž©é…/òâo{î÷½»³¯W_vö#-²æçS#-¾ØùÖæ÷wv_/O“Ýöê8Õy·Å”Ê�”€ûtè+{z•ëÛ^�xµè3ë Ñx_Cï}lÃ=í}Íéïcß#,0zÕ]#3§}íÜéí÷o#-׳Þ_nì˜Þ¬m®ôëÚ÷×KÐù…}�½eíë¯jÚûˆ{ÞÙ÷;ž«ë{nîhÛ]õÝÎÆŽíw{Ϋè>çO¯(é†àÜ®½½yì÷ѾÀw°#,è ³—1®�8PÐ6Æ97™Þ¯‹îïx¨€=uTžJû³§Û`1×mq°îµk©ëþ¸z}÷ß{º·N¹·[pvÒ¥)E×\£Šèm§'»ºi¯®·hæ=©¾™{ëóØëÛ¼óßoŸ{×½|l>úWvî狀ç;ê0‹fîÔ:}öp“Ú뵄Rê®ös¶}î÷¦ÞÔ$úõï—ewwn5âëž»O7�}È;áÜ%4�#, d#,&€& d2‚žSdMêCG”ÐÓÔѦž¦†š<š›PJh‚dÔÚT÷©•?SÑ=MLM¨SƒÒb4hh#,#,#,#,#,�HH!š!©‰“!=TýSõOÓA¦”Ú#-Cjd~”#,#,#,#,€#,#,z¥P$Ú5#-ªy)ê?Bj=&Lš¡ #-�£M4@#,#,#,#,#,#,‰!#,#, ˜D2 é¢djx OIêlˆ@#,2#,#,&¢ €@ 4˜™#3Ÿ™SÊz#)úž¨< õ§êž§êz§ê†€ #,#,õ_è[m_ÿsëEsksë™ý.ÛS¨™¤)ôíµvè¦ d‘Š’#3A� y�€‚|²'ãùþŸ¯ô¹ýx¦zu1xxy0©FŒV‹Q7j®‰É™›œnÇ u[¹þ±ôúŸh‹_¹ ÊI#,'d9U™Q9Ð*Åb#3±äÒŒ‚¢.¥éxç�t]3dÓMGÎdËÎ=a&Ìšz|9y·8Ööóx]ó$˜[+˜šÄŸ�#3úÎ`)`,ŠFÝMV–Õh«hƵ¶*¬ÝT*�T‘U‚€ó#3LÈ*x*€«eB(¶ #,ºtÛ^[VÒµ¥»£TkÚ¶¾íU«TÈ$#3 ÌKM12!£´lʈ’š‘,dI)F”Sm%B*d’ÅÂhÚšŠ¤ Â"PL™¢l¡l¦2VemIcBi…(*4‘I±ŠShŠJRÒ™¢,´�l“Á”‘Kb‹h´š j¥•±5(ÉAI(¦”HÂÌÔZ5ÓVÒ«R’mDÉ™2hتµ+XÍ0Í™¦mIc4Û`–•DHÔµ4É©…‘L’j6�‘©V“Y©4š#-2J4Ii ´RšÆHfÉ¢`…‚ŒÍ4Æi±‰‚TÒÁ!bÌÄ6&D¢$¡²mIE,@B+&†HŒÈBFYšX¤ÉÒaŒ”Ò[IQh6˜Ô©Y&(ÓH°¢ID›"”LbÄÅA²e6ŠI–�ÊHšYR3%J(¦dXÛ!PÈ¢XQI "Ø‹I`lÔd‚¢‰(¨ÔDR͈$“RX¤Å &R1’dÍ„[2¦A°•!BT›!$šJÁ‰),Yf`Ù´FšF�„”BÊHIš#-"Rš¥›1RŠe˜dÒÉ54Ê4ÒÅ%™2²1$Š-#,ËK$#3‰,!² ÓfPcQ³HØÃ)¥‰)¦ƒC™¤Qf"5&JM i¤¥–�T¨¨¢aAEÁdDIJ#3c„‘’f(#,ÑÊ™–Ò"°¥RÊT�“!JB›Ii(¶HÖ4“$’„¢ÉMd[ £fC&hˆÃd“eI¦SQŒe•ÌÒ˜„†(TÉ¢*hŒY©±I”Y1%"•$�²Š™%4Á@ƈÚRdÙI3#-“dÑ“!PÒ0!Še”¬¤Ãh,›% I�‰’É”d"™ ÉL¤e‰˜KIJ¦ÍE¡2‚dJHƒj1li&k"†“I#*4†Š#,•Š5Š–L(Ö2ÍL‘3E“Ë"%b–@�%%Fi#-šÚ•U‚‹c•4IAŒ¤�)’™&4š6ÉiK4iŠLÆS4²¤ÙK¦F6É(Щ²Œ¤f�#-6ZýÆ×cHYZJBT£%5�Z+Š�’LÒ¢&™(ÒZ#3�„T’µ164±Ë)HJ’5˜ØÈAP–¡6ÑdSY2L´¨Ò-%1©iS$i1a™”ªÍ,¡YR*•JÅ6Q%•M«&¤F¶M2²%I¨JÙ*ÊÊRša[1CLˆ±´ÔIi(ÒQ,k�S6‹a-´ƒ6¬$jMlm%£4ÌCTRƒF¬UÔ†Ö!5“#3#[5&†SQH&‹CR‰M©lFѲI¬cR5¤”µ•m4¢Â6V“dba›6È“2ššP¤™mSj)i)MK*Kiªm%ªi‰1k*e,›ifÚlÅ£Fkf³3$šË°jM´µ•!±µ4¢ˆ€Ä3Q¤£H˜Å!!ˆBÐP“0)mRD¤ÔS)ª6”šXÔdÉ ÒS(¤Rʈؤ–Tˆš)‚™(ÖSf†,HJEE¢Ì�Æ)Y©,6̳4³¦#3�Љ‘M$dÆÁ„,IJ›FÄšJ2fƒH³(µ3%LSE&Ѧ6#-¥EŒÃ3j,”&ÄQHcSM£0³6Š‹hFŒlšš)0V²ÐPˆÑY2JJdÊl-ˆS5(“$›-(„ª‹-Iš#a±©M&Ìm&Qf’±lA!’0IFFdÙI4%I©2”lÍ1&¥²Í‹AYK4›&Æ%Eh¤¦fM™kI2R–‹"Fl‘ fDÆ‹JhŒQYdÙ)¡‰ˆšM$$mˆÕ Q´j4Q¶"´Æ“#-$Ë(,šE¢˜TS$�,X5JÊI5!@Tk&adÒÊdi…i66Ú6’Ö$Ñ¡2Í´‘i-ŠƒFX)6¥(•¢ØÒ“4!Q²LÖdT‘%F’4E–U©�šŠÆLL¬•M)B£JJhŠ$©bT”ÊR�¶ÁjH¢ÉFÉTa”l–6ÉI©66Õ)¢’Š”Õ!jMІ’fɤ¨°Ò‘,ZA))ŒÑƒi0f…ƒU(��%”¬LF”–ŠÑ�dŠÉl2J(Ác)lFÑYI(©#,ÐbŠL&((´¦©M¦j-±¬VÍ1Y-f�¢©š’‹Å(#(-,"JFÉL0elAFØØ¶��)d†Z ¬`2j-#3Ñ3l³j6‹EE¬d“Z‘FlÙ#-,¬J£‹2ÅTÔ”�²Œ±¢”M$l lV ,i-’ØÖJ-Ik›JfQ¤Ú,)”hÛZ¥m¤c*M%L¢Ñ±´0-’ÒÙ&ÚLfKdÙ*-¨Ñ%´V�lZ6ÛFÕ#3Y6¶"Õ5+-¢Q”P6’cKblÓb¤�–EEÌlI‰$ÊI‘%RIŒB_÷ßñO÷Óû�ÿK6͘ª=¹ ´ÈÉ‹©{OõÚ’Ø•ûrÚ.%2.…T"bbÏñOðAf?ßýôkMAš\j£ÿn2Å?¿ÜQ,Cµ ÇzÓoSÑŠ±4Òé�Ü–#3W4ÎÌEuÁÉ#,Gd£ü¿ŸÏ\aï,þÛ´?ìy–dÿWù¹òÇøn¬e㌺¢©‘K;«¹F#Âv%„"Né»s‡ÛÁ¾,>?›KßV£#3g…ÔÂ!E·–›AØ1tÒöõxQ¦>HÞâ#�ã´t„º¢°YWVÚ¶…ˆ°yÔ)ÁQÅTUva¥¥di2Ó†Y×[#¾÷”ÝÛnËÅð¯ç®|«áéþ^ÊõWÀ¹¹hØÖÍÕ}w^Iç*$µß=]娼î´Oæu|ùÕ2øni,X%�]–¬rÔk{–ýÊ?ä\ Za6 kUíI³,b¨©î£-ŒE‹ñÿ–ýÕ£0#3�£z¤õ2„0†“Ç:�îr@SVª’[Ê!ˆü³Œà?ÄC²j<F�Œií4õjf|¡¨M†È.�`ÅÿšŸ&, @¶‡†ºÝ‚‘1ÞnZŠ*Šh[¸Ñ\Üɤ)5dƒQE ¾rÀåT+Êé<ÒFnÒBS)"žÚ”Ä¥&Ül�ùÙrç<÷$À"¶RÇ$¡ès(´„:†Px«ÕWÄõ^6ÝJ¯[¢bŒ2(=¾··¥‘‘Ô£GÙÔU£¥[ŽÝ|6òñ]óÝNê:W.Iºë±:ë¦.[†ú·—�þÍü˼‰`z%f†‰B0h•²•¸�iúê¢3×EküU¦:Óÿ=é‚eƒþÊ)6J(žu1¤Û*ÂäA�¡Gÿ)\Æw¿›$4ºˆÃ¶”lkõšÃ#,jªÒ?dœê«ì5Ûù"ëòö홸ŠÕk‡˜V|us$NÒŒ6Êj8Ú¹‰S½5N8Ô<8ÐâªZŒ9PÙ�ƒ‚-0ìì}‰hŒÒz®v»�Æ�GÄF}ìDx8fš´(ÚZ�ÚΚ‰™Ú†{M$ô@°´d<R–æéCûœ$ðf-¤ð,)`°KÓãî~X£d#3Œíl•X” ¥´-ù2êL|›·øµ¬a©i´wû¤Ká!¦ÚÆMö»M’Q‘¾î»_Šî�™ò3�”LºÙ\܉x¨r¹B/ý–—ÀªG›]¢¼rdp²¶ÓOöö…Å�‰ù‘½¶K©´QF�xæe“x×.[¯Ðòš�?‚ÆÞ«¾î¯ÖxLÏõöÿ]Úû/‹´c–æ�Wuqb1E�“†ZO{®Wžv„”42)Ñ¡‘VtåF Š'�®ñWMXÞ¯'ßïE)}.T~'Âó6Åq˜¯Üšëèë�¥Å%²a|ö®�ï}y4XÖ,š¾Éþ«x¾UÈÚýWP�yݦù}àÃç¨hüáÅb##,Ž4¹õÀ=zÕ�è¢sÉPÂ#]+k6CÉ#,ÀÁˆÃkèïÚy\Û©¾™u#Es‰c':¡I»¸ÈZoTZ!pYiZÔ'©%¬Xá*1L…'ui)»>I®¥#3ŠÀñª-¥DM{îùˆ�žÜðdž [×&�ý×iY&J¤`-<¬£“#-P´ÈÒ,�*¤·h�A*îx�¢Z2e¤.ª±E©J©ÜÑ”7ß±8W¥Ð¬çÝPôfG’÷Á,ñªmé¨h:¡Ùl>ûcŸ”מ†}Ü=û�Â%nŸXë.™`ñ,kŸ åB#*äú¡ 7qÌÇÏ[xT°<5B^N4\‘`F*#31Šï‘ƒ?i=¶¦!„"�6„QÆØ®,Çü Âü¯,>WsLine truncated
|
||||||
|
#<==
|
||||||
|
#-----BEGIN PGP SIGNATURE-----\nVersion: GnuPG v2\n\niQIcBAABCgAGBQJW3BWfAAoJEGelZe39+Q5kRU0P/iqc7D5tlzWrwTr9j9oQCMBa\n7HnJ+rYewgLX/zK07XgsIDa0OyNy7emdG+YRe2EYQHyn+V4QJl7VZLW8cbG0EJiY\n0Nfjhy6Dk28H9TA3vLkOwFkoQK/jYKFMARZhUOpdQYJ93xmHOkEF/o2Uoa3QtY6O\noouGuE+iU5RT0r675Sb7X4m8/Lcv1HO2EKhPG4dNWPUytupGVEA/eyDldIOViDN5\nYUc6Oa6yWOP9g88TjeeT4KcbpxneHAC8AOBRmMjR4/o2ioBX4mMHehJOuEXxJwoD\n4WE/jTQgf0icAmfm1okg/kJGXE+/QNgvWSfWxgL6/RLHwEA+DNrBI9u8rD3o2VLI\nHdcyvjWHJfEIWDowZY4XjbhJRvN1dthfcxfXMuBdBuEn275d+JoJZXhHCgvKMqTO\nkirZrlPcGESPNTiESvScOD3zrONpdKcWGbUaY2bI7nn+m/JwsEuueA8Me2l27R8M\nmUBycqxI5iHMLXEzQO2LztRVsx9tF23ReaLAj0mj9G32qjYwKiu49tPFrGywLlnq\nJpRZQGUH4AX51GEYed/9uzoTb0L8PbGuQhRYhtaSY+WT+nxq4gnrhm4v+rvcXGXi\nA440RRlTP2AqZXXNMUP03DV26/5O2zVzssPhtN9W5aNb07LJH3vj1cjiRp/m++Sa\nxGMK2mRBBCWRJ5m/YyrH\n=pYvc\n-----END PGP SIGNATURE-----\n
|
||||||
@@ -0,0 +1,38 @@
|
|||||||
|
import os
|
||||||
|
|
||||||
|
def options(opt):
|
||||||
|
opt.load("compiler_c compiler_cxx")
|
||||||
|
|
||||||
|
def configure(conf):
|
||||||
|
conf.load("compiler_c compiler_cxx")
|
||||||
|
conf.env.INCLUDES += ["glcxx/include"]
|
||||||
|
conf.env.INCLUDES += ["."]
|
||||||
|
conf.env.DEFINES += ['''GLCXX_GL_INCLUDE="GL3/gl3w.h"''']
|
||||||
|
conf.env.CXXFLAGS += ["-Wall"]
|
||||||
|
conf.env.CXXFLAGS += ["-std=gnu++14"]
|
||||||
|
conf.check_cfg(package = "sdl2", args = "--cflags --libs")
|
||||||
|
if "MINGW" in os.popen("uname").read():
|
||||||
|
# TODO: set CXX to mingw32-g++
|
||||||
|
pass
|
||||||
|
if os.listdir("glcxx") == []:
|
||||||
|
print("Fetching git submodules...")
|
||||||
|
from subprocess import Popen
|
||||||
|
Popen(["git", "submodule", "update", "--init"]).wait()
|
||||||
|
|
||||||
|
def build(bld):
|
||||||
|
sources = ["sdl-game-controller.cc"] + \
|
||||||
|
bld.path.ant_glob("glcxx/src/**/*.cpp") + \
|
||||||
|
bld.path.ant_glob("GL3/**/*.c")
|
||||||
|
|
||||||
|
libs = []
|
||||||
|
if "MINGW" in os.popen("uname").read():
|
||||||
|
libs += ["opengl32", "mingw32"]
|
||||||
|
else:
|
||||||
|
libs += ["dl", "GL"]
|
||||||
|
bld.program(
|
||||||
|
source = sources,
|
||||||
|
target = "sdl-game-controller",
|
||||||
|
uselib = "SDL2",
|
||||||
|
lib = libs,
|
||||||
|
linkflags = ["-Wl,-rpath,$ORIGIN"],
|
||||||
|
install_path = None)
|
||||||
Reference in new issue
Block a user