make_linux 96 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951295229532954295529562957295829592960296129622963296429652966296729682969297029712972297329742975297629772978297929802981298229832984298529862987298829892990299129922993299429952996299729982999300030013002300330043005300630073008300930103011301230133014301530163017301830193020302130223023302430253026302730283029303030313032303330343035303630373038303930403041304230433044304530463047304830493050305130523053305430553056305730583059306030613062306330643065306630673068306930703071307230733074307530763077307830793080308130823083308430853086308730883089309030913092309330943095309630973098309931003101310231033104310531063107310831093110311131123113311431153116311731183119312031213122312331243125312631273128312931303131313231333134313531363137313831393140314131423143314431453146314731483149315031513152315331543155315631573158315931603161316231633164316531663167316831693170317131723173317431753176317731783179318031813182318331843185318631873188318931903191319231933194319531963197319831993200320132023203320432053206320732083209321032113212321332143215321632173218321932203221322232233224322532263227322832293230323132323233323432353236323732383239324032413242324332443245324632473248324932503251325232533254325532563257325832593260326132623263326432653266326732683269327032713272327332743275327632773278327932803281328232833284328532863287328832893290329132923293329432953296329732983299330033013302330333043305330633073308330933103311331233133314331533163317331833193320332133223323332433253326332733283329333033313332333333343335333633373338333933403341334233433344334533463347334833493350335133523353335433553356335733583359336033613362336333643365336633673368336933703371337233733374337533763377337833793380338133823383338433853386338733883389339033913392339333943395339633973398339934003401340234033404340534063407340834093410341134123413341434153416341734183419342034213422342334243425342634273428342934303431343234333434343534363437343834393440344134423443344434453446344734483449345034513452345334543455345634573458345934603461346234633464346534663467346834693470347134723473347434753476347734783479348034813482348334843485348634873488348934903491349234933494349534963497349834993500350135023503350435053506350735083509351035113512
  1. #!/bin/bash
  2. #export VLMCSD_VERSION="svn`svnversion | sed -e 's/:.*//; s/[^0-9]*$//; s/^$/0/'`"
  3. export VERBOSE=3
  4. export DNS_PARSER=internal
  5. MAKEFLAGS="-j`nproc` -B"
  6. REUSEOBJFLAGS="-j"
  7. SMALLCC="-pipe -fno-common -fno-exceptions -fno-stack-protector -fno-unwind-tables -fno-asynchronous-unwind-tables -fmerge-all-constants"
  8. SMALLLD="-pipe -Wl,--hash-style=sysv -Wl,-z,norelro -Wl,--build-id=none"
  9. SMALL="$SMALLCC $SMALLLD"
  10. rm -f vlmcs vlmcsdmulti vlmcsd 2>/dev/null
  11. rm -fr binaries
  12. mkdir -p binaries/Linux/intel/glibc
  13. mkdir -p binaries/Linux/intel/uclibc
  14. mkdir -p binaries/Linux/intel/static
  15. mkdir -p binaries/Linux/intel/musl
  16. mkdir -p binaries/Linux/sparc32/glibc
  17. mkdir -p binaries/Linux/s390/glibc
  18. mkdir -p binaries/Android/arm/bionic
  19. mkdir -p binaries/Android/arm/static
  20. mkdir -p binaries/Android/intel/bionic
  21. mkdir -p binaries/Android/intel/static
  22. mkdir -p binaries/Android/mips/bionic
  23. mkdir -p binaries/Android/mips/static
  24. mkdir -p binaries/Linux/arm/little-endian/glibc
  25. mkdir -p binaries/Linux/arm/little-endian/musl
  26. mkdir -p binaries/Linux/arm/little-endian/uclibc
  27. mkdir -p binaries/Linux/arm/little-endian/static
  28. mkdir -p binaries/Linux/arm/big-endian/uclibc
  29. mkdir -p binaries/Linux/arm/big-endian/static
  30. mkdir -p binaries/Linux/mips/little-endian/glibc
  31. mkdir -p binaries/Linux/mips/little-endian/uclibc
  32. mkdir -p binaries/Linux/mips/little-endian/static
  33. mkdir -p binaries/Linux/mips/little-endian/musl
  34. mkdir -p binaries/Linux/mips/big-endian/uclibc
  35. mkdir -p binaries/Linux/mips/big-endian/static
  36. mkdir -p binaries/Linux/mips/big-endian/glibc
  37. mkdir -p binaries/Linux/mips/big-endian/musl
  38. mkdir -p binaries/Linux/ppc/little-endian/glibc
  39. mkdir -p binaries/Linux/ppc/big-endian/glibc
  40. mkdir -p binaries/Linux/ppc/big-endian/uclibc
  41. mkdir -p binaries/Linux/ppc/big-endian/static
  42. mkdir -p binaries/MacOSX/intel
  43. mkdir -p binaries/MacOSX/ppc
  44. mkdir -p binaries/iOS/arm
  45. mkdir -p binaries/FreeBSD/intel
  46. mkdir -p binaries/NetBSD/intel
  47. mkdir -p binaries/OpenBSD/intel
  48. mkdir -p binaries/DragonFly/intel
  49. mkdir -p binaries/Solaris/intel
  50. mkdir -p binaries/Windows/intel
  51. mkdir -p binaries/Minix/intel
  52. rm -f *_all.c vlmcsd.o vlmcs.o vlmcsdmulti.o 2> /dev/null
  53. export STAGING_DIR=.
  54. # Windows 32-bit using MingW32-w64 toolchain on Ubuntu Linux
  55. export CLIENT_NAME=binaries/Windows/intel/vlmcs-Windows-x86.exe
  56. export PROGRAM_NAME=binaries/Windows/intel/vlmcsd-Windows-x86.exe
  57. export MULTI_NAME=binaries/Windows/intel/vlmcsdmulti-Windows-x86.exe
  58. export DLL_NAME=binaries/Windows/intel/libkms32.dll
  59. export THREADS=1
  60. export CFLAGS="$SMALLCC"
  61. export CC=i686-w64-mingw32-gcc
  62. export PLATFORMFLAGS="-march=i686 -mtune=generic -fwhole-program -pipe"
  63. export LDFLAGS="-lws2_32 -Wl,--gc-sections,--force-exe-suffix,--large-address-aware,--nxcompat,--dynamicbase,--tsaware"
  64. export FEATURES=full
  65. make $MAKEFLAGS CAT=2 all $MULTI_NAME
  66. if [ $? != 0 ]; then
  67. echo Error creating $CLIENT_NAME, $MULTI_NAME and/or $PROGRAM_NAME
  68. exit $?
  69. fi
  70. export CFLAGS="$CFLAGS -flto=jobserver -fvisibility=hidden"
  71. export LDFLAGS="$LDFLAGS -static-libgcc"
  72. make $MAKEFLAGS FEATURES=minimum $DLL_NAME
  73. if [ $? != 0 ]; then
  74. echo Error creating $DLL_NAME
  75. exit $?
  76. fi
  77. # Windows 32-bit using MingW32-w64 toolchain on Ubuntu Linux using MS RPC
  78. export CLIENT_NAME=binaries/Windows/intel/vlmcs-Windows-msrpc-x86.exe
  79. export PROGRAM_NAME=binaries/Windows/intel/vlmcsd-Windows-msrpc-x86.exe
  80. export MULTI_NAME=binaries/Windows/intel/vlmcsdmulti-Windows-msrpc-x86.exe
  81. export THREADS=1
  82. export CFLAGS="-pipe -fno-common -fno-exceptions -fno-stack-protector -fno-unwind-tables -fmerge-all-constants -Wno-unused-variable -Wno-missing-braces"
  83. export CC=i686-w64-mingw32-gcc
  84. export PLATFORMFLAGS="-march=i686 -mtune=generic -pipe"
  85. export LDFLAGS="-Wl,--gc-sections,--force-exe-suffix,--large-address-aware,--nxcompat,--dynamicbase,--tsaware -fwhole-program"
  86. export FEATURES=full
  87. make $MAKEFLAGS CAT=2 MSRPC=1 all
  88. if [ $? != 0 ]; then
  89. echo Error creating $CLIENT_NAME and/or $PROGRAM_NAME
  90. exit $?
  91. fi
  92. make $MAKEFLAGS MSRPC=1 $MULTI_NAME
  93. if [ $? != 0 ]; then
  94. echo Error creating $MULTI_NAME
  95. exit $?
  96. fi
  97. # Windows 64-bit using MingW32-w64 toolchain on Ubuntu Linux
  98. export CLIENT_NAME=binaries/Windows/intel/vlmcs-Windows-x64.exe
  99. export PROGRAM_NAME=binaries/Windows/intel/vlmcsd-Windows-x64.exe
  100. export MULTI_NAME=binaries/Windows/intel/vlmcsdmulti-Windows-x64.exe
  101. export DLL_NAME=binaries/Windows/intel/libkms64.dll
  102. export THREADS=1
  103. export CFLAGS="$SMALLCC"
  104. export CC=x86_64-w64-mingw32-gcc
  105. export PLATFORMFLAGS="-march=nocona -mtune=generic -fwhole-program -pipe"
  106. export LDFLAGS="-lws2_32 -Wl,--gc-sections,--force-exe-suffix,--nxcompat,--dynamicbase,--tsaware"
  107. make $MAKEFLAGS CAT=2 all $MULTI_NAME
  108. if [ $? != 0 ]; then
  109. echo Error creating $CLIENT_NAME, $MULTI_NAME and/or $PROGRAM_NAME
  110. exit $?
  111. fi
  112. export CFLAGS="$CFLAGS -flto=jobserver -fvisibility=hidden"
  113. export LDFLAGS="$LDFLAGS -static-libgcc"
  114. make $MAKEFLAGS FEATURES=minimum $DLL_NAME
  115. if [ $? != 0 ]; then
  116. echo Error creating $DLL_NAME
  117. exit $?
  118. fi
  119. # Windows 64-bit using MingW32-w64 toolchain on Ubuntu Linux using MS RPC
  120. export CLIENT_NAME=binaries/Windows/intel/vlmcs-Windows-msrpc-x64.exe
  121. export PROGRAM_NAME=binaries/Windows/intel/vlmcsd-Windows-msrpc-x64.exe
  122. export MULTI_NAME=binaries/Windows/intel/vlmcsdmulti-Windows-msrpc-x64.exe
  123. export THREADS=1
  124. export CFLAGS="-pipe -fno-common -fno-exceptions -fno-stack-protector -fno-unwind-tables -fmerge-all-constants -Wno-unused-variable -Wno-missing-braces"
  125. export CC=x86_64-w64-mingw32-gcc
  126. export PLATFORMFLAGS="-march=nocona -mtune=generic -pipe"
  127. export LDFLAGS="-Wl,--gc-sections,--force-exe-suffix,--nxcompat,--dynamicbase,--tsaware -fwhole-program"
  128. make $MAKEFLAGS CAT=2 MSRPC=1 all
  129. if [ $? != 0 ]; then
  130. echo Error creating $CLIENT_NAME and/or $PROGRAM_NAME
  131. exit $?
  132. fi
  133. make $MAKEFLAGS MSRPC=1 $MULTI_NAME
  134. if [ $? != 0 ]; then
  135. echo Error creating $MULTI_NAME
  136. exit $?
  137. fi
  138. # Linux mips32el with uClibc 0.9.33.2 using gcc 4.9 from OpenWRT toolchain
  139. export CLIENT_NAME=binaries/Linux/mips/little-endian/uclibc/vlmcs-mips32el-openwrt-uclib
  140. export PROGRAM_NAME=binaries/Linux/mips/little-endian/uclibc/vlmcsd-mips32el-openwrt-uclibc
  141. export CC=/opt/toolchains/mipsel-openwrt-linux-uclibc/toolchain-mipsel_mips32_gcc-4.9-linaro_uClibc-0.9.33.2/bin/mipsel-openwrt-linux-gcc
  142. export CFLAGS="$SMALLCC -DNO_LIMIT"
  143. export PLATFORMFLAGS="-flto=jobserver -fwhole-program"
  144. export LDFLAGS="$SMALLLD"
  145. export THREADS=0
  146. make $MAKEFLAGS
  147. if [ $? != 0 ]; then
  148. echo Error creating $CLIENT_NAME and/or $PROGRAM_NAME
  149. exit $?
  150. fi
  151. export CLIENT_NAME=binaries/Linux/mips/little-endian/static/vlmcs-mips32el-openwrt-uclib-static
  152. export PROGRAM_NAME=binaries/Linux/mips/little-endian/static/vlmcsd-mips32el-openwrt-uclibc-static
  153. export MULTI_NAME=binaries/Linux/mips/little-endian/static/vlmcsdmulti-mips32el-openwrt-uclibc-static
  154. export LDFLAGS="$LDFLAGS -static"
  155. make $REUSEOBJFLAGS
  156. if [ $? != 0 ]; then
  157. echo Error creating $CLIENT_NAME and/or $PROGRAM_NAME
  158. exit $?
  159. fi
  160. rm -f *_all.c vlmcsd.o vlmcs.o vlmcsdmulti.o 2> /dev/null
  161. make $REUSEOBJFLAGS $MULTI_NAME
  162. if [ $? != 0 ]; then
  163. echo Error creating $MULTI_NAME
  164. exit $?
  165. fi
  166. export MULTI_NAME=binaries/Linux/mips/little-endian/uclibc/vlmcsdmulti-mips32el-openwrt-uclibc
  167. export LDFLAGS="$SMALLLD"
  168. make $REUSEOBJFLAGS $MULTI_NAME
  169. if [ $? != 0 ]; then
  170. echo Error creating $MULTI_NAME
  171. exit $?
  172. fi
  173. # Linux mips16el with uClibc 0.9.33.2 using gcc 4.9 from OpenWRT toolchain with statically linked libgcc for Asus routers, e.g. Asus RT-N66U
  174. export CLIENT_NAME=binaries/Linux/mips/little-endian/uclibc/vlmcs-mips16el-asus-rt-n66u-uclibc
  175. export PROGRAM_NAME=binaries/Linux/mips/little-endian/uclibc/vlmcsd-mips16el-asus-rt-n66u-uclibc
  176. export CC=/opt/toolchains/mipsel-openwrt-linux-uclibc/toolchain-mipsel_mips32_gcc-4.9-linaro_uClibc-0.9.33.2/bin/mipsel-openwrt-linux-gcc
  177. export CFLAGS="$SMALLCC -static-libgcc -DNO_LIMIT"
  178. export PLATFORMFLAGS="-mips32 -mips16 -flto=jobserver -fwhole-program"
  179. export LDFLAGS="$SMALLLD"
  180. export THREADS=0
  181. make $MAKEFLAGS
  182. if [ $? != 0 ]; then
  183. echo Error creating $CLIENT_NAME and/or $PROGRAM_NAME
  184. exit $?
  185. fi
  186. export CLIENT_NAME=binaries/Linux/mips/little-endian/static/vlmcs-mips16el-asus-rt-n66u-uclibc-static
  187. export PROGRAM_NAME=binaries/Linux/mips/little-endian/static/vlmcsd-mips16el-asus-rt-n66u-uclibc-static
  188. export MULTI_NAME=binaries/Linux/mips/little-endian/static/vlmcsdmulti-mips16el-asus-rt-n66u-uclibc-static
  189. export LDFLAGS="$LDFLAGS -static"
  190. make $REUSEOBJFLAGS
  191. if [ $? != 0 ]; then
  192. echo Error creating $CLIENT_NAME and/or $PROGRAM_NAME
  193. exit $?
  194. fi
  195. rm -f *_all.c vlmcsd.o vlmcs.o vlmcsdmulti.o 2> /dev/null
  196. make $REUSEOBJFLAGS $MULTI_NAME
  197. if [ $? != 0 ]; then
  198. echo Error creating $MULTI_NAME
  199. exit $?
  200. fi
  201. export MULTI_NAME=binaries/Linux/mips/little-endian/uclibc/vlmcsdmulti-mips16el-asus-rt-n66u-uclibc
  202. export LDFLAGS="$SMALLLD"
  203. make $REUSEOBJFLAGS $MULTI_NAME
  204. if [ $? != 0 ]; then
  205. echo Error creating $MULTI_NAME
  206. exit $?
  207. fi
  208. # Linux mips16el with uClibc 0.9.33.2 using gcc 4.8 from OpenWRT toolchain
  209. export CLIENT_NAME=binaries/Linux/mips/little-endian/uclibc/vlmcs-mips16el-openwrt-uclibc
  210. export PROGRAM_NAME=binaries/Linux/mips/little-endian/uclibc/vlmcsd-mips16el-openwrt-uclibc
  211. export PLATFORMFLAGS="-flto=jobserver -fwhole-program -mips16"
  212. export LDFLAGS="$SMALLLD"
  213. make $MAKEFLAGS
  214. if [ $? != 0 ]; then
  215. echo Error creating $CLIENT_NAME and/or $PROGRAM_NAME
  216. exit $?
  217. fi
  218. export CLIENT_NAME=binaries/Linux/mips/little-endian/static/vlmcs-mips16el-openwrt-uclib-static
  219. export PROGRAM_NAME=binaries/Linux/mips/little-endian/static/vlmcsd-mips16el-openwrt-uclibc-static
  220. export MULTI_NAME=binaries/Linux/mips/little-endian/static/vlmcsdmulti-mips16el-openwrt-uclibc-static
  221. export LDFLAGS="$LDFLAGS -static"
  222. make $REUSEOBJFLAGS
  223. if [ $? != 0 ]; then
  224. echo Error creating $CLIENT_NAME and/or $PROGRAM_NAME
  225. exit $?
  226. fi
  227. rm -f *_all.c vlmcsd.o vlmcs.o vlmcsdmulti.o 2> /dev/null
  228. make $REUSEOBJFLAGS $MULTI_NAME
  229. if [ $? != 0 ]; then
  230. echo Error creating $MULTI_NAME
  231. exit $?
  232. fi
  233. export MULTI_NAME=binaries/Linux/mips/little-endian/uclibc/vlmcsdmulti-mips16el-openwrt-uclibc
  234. export LDFLAGS="$SMALLLD"
  235. make $REUSEOBJFLAGS $MULTI_NAME
  236. if [ $? != 0 ]; then
  237. echo Error creating $MULTI_NAME
  238. exit $?
  239. fi
  240. # Linux mips16el eglibc 2.19 using gcc 4.8 from OpenWRT toolchain
  241. export CLIENT_NAME=binaries/Linux/mips/little-endian/glibc/vlmcs-mips16el-openwrt-glibc
  242. export PROGRAM_NAME=binaries/Linux/mips/little-endian/glibc/vlmcsd-mips16el-openwrt-glibc
  243. export MULTI_NAME=binaries/Linux/mips/little-endian/glibc/vlmcsdmulti-mips16el-openwrt-glibc
  244. export CC=/opt/toolchains/mipsel_74kc+dsp2_gcc-4.9-linaro_eglibc-2.19-mips16/bin/mipsel-openwrt-linux-gnu-gcc-4.9.2
  245. #export CC=~/openwrt/staging_dir/toolchain-mipsel_mips32_gcc-4.8-linaro_eglibc-2.19/bin/mipsel-openwrt-linux-gcc
  246. export CFLAGS="$SMALLCC"
  247. export PLATFORMFLAGS="-flto=jobserver -fwhole-program -march=mips32 -mips16"
  248. export LDFLAGS="$SMALLLD"
  249. export THREADS=0
  250. make $MAKEFLAGS
  251. if [ $? != 0 ]; then
  252. echo Error creating $CLIENT_NAME and/or $PROGRAM_NAME
  253. exit $?
  254. fi
  255. rm -f *_all.c vlmcsd.o vlmcs.o vlmcsdmulti.o 2> /dev/null
  256. make $REUSEOBJFLAGS $MULTI_NAME
  257. if [ $? != 0 ]; then
  258. echo Error creating $MULTI_NAME
  259. exit $?
  260. fi
  261. # PowerPC 64-bit big-endian glibc.
  262. export CLIENT_NAME=binaries/Linux/ppc/big-endian/glibc/vlmcs-ppc64-glibc
  263. export PROGRAM_NAME=binaries/Linux/ppc/big-endian/glibc/vlmcsd-ppc64-glibc
  264. export MULTI_NAME=binaries/Linux/ppc/big-endian/glibc/vlmcsdmulti-ppc64-glibc
  265. export CC=/opt/toolchains/ppc64-glibc2.19-gcc-4.9.1/bin/powerpc64-linux-gcc
  266. export CFLAGS="$SMALLCC"
  267. export PLATFORMFLAGS="-flto=jobserver -fwhole-program"
  268. export LDFLAGS="$SMALLLD"
  269. export THREADS=0
  270. make $MAKEFLAGS
  271. if [ $? != 0 ]; then
  272. echo Error creating $CLIENT_NAME and/or $PROGRAM_NAME
  273. exit $?
  274. fi
  275. rm -f *_all.c vlmcsd.o vlmcs.o vlmcsdmulti.o 2> /dev/null
  276. make $REUSEOBJFLAGS $MULTI_NAME
  277. if [ $? != 0 ]; then
  278. echo Error creating $MULTI_NAME
  279. exit $?
  280. fi
  281. # PowerPC 64-bit little-endian glibc.
  282. export CLIENT_NAME=binaries/Linux/ppc/little-endian/glibc/vlmcs-ppc64el-glibc
  283. export PROGRAM_NAME=binaries/Linux/ppc/little-endian/glibc/vlmcsd-ppc64el-glibc
  284. export MULTI_NAME=binaries/Linux/ppc/little-endian/glibc/vlmcsdmulti-ppc64el-glibc
  285. export CC=/opt/toolchains/ppc64el-glibc2.20-gcc-4.9.1/bin/powerpc64le-linux-gcc
  286. export CFLAGS="$SMALLCC"
  287. export PLATFORMFLAGS="-flto=jobserver -fwhole-program"
  288. export LDFLAGS="$SMALLLD"
  289. export THREADS=0
  290. make DNS_PARSER=OS $MAKEFLAGS
  291. if [ $? != 0 ]; then
  292. echo Error creating $CLIENT_NAME and/or $PROGRAM_NAME
  293. exit $?
  294. fi
  295. rm -f *_all.c vlmcsd.o vlmcs.o vlmcsdmulti.o 2> /dev/null
  296. make DNS_PARSER=OS $REUSEOBJFLAGS $MULTI_NAME
  297. if [ $? != 0 ]; then
  298. echo Error creating $MULTI_NAME
  299. exit $?
  300. fi
  301. # PowerPC glibc. Compiles with gcc 4.8 from OpenWRT toolchain but uses libs from an old DM500 toolchain to be compatible with glibc 2.3
  302. export CLIENT_NAME=binaries/Linux/ppc/big-endian/glibc/vlmcs-ppc-glibc
  303. export PROGRAM_NAME=binaries/Linux/ppc/big-endian/glibc/vlmcsd-ppc-glibc
  304. export MULTI_NAME=binaries/Linux/ppc/big-endian/glibc/vlmcsdmulti-ppc-glibc
  305. export CC=~/openwrt/staging_dir/toolchain-powerpc_405_gcc-4.8-linaro_eglibc-2.19/bin/powerpc-openwrt-linux-gcc
  306. export CFLAGS="$SMALLCC"
  307. export PLATFORMFLAGS="-flto=jobserver -fwhole-program --sysroot=/opt/simplebuild/toolchains/powerpc -L/opt/simplebuild/toolchains/powerpc/lib -L/opt/simplebuild/toolchains/powerpc/usr/lib"
  308. export LDFLAGS="$SMALLLD"
  309. export THREADS=0
  310. make $MAKEFLAGS
  311. if [ $? != 0 ]; then
  312. echo Error creating $CLIENT_NAME and/or $PROGRAM_NAME
  313. exit $?
  314. fi
  315. rm -f *_all.c vlmcsd.o vlmcs.o vlmcsdmulti.o 2> /dev/null
  316. make $REUSEOBJFLAGS $MULTI_NAME
  317. if [ $? != 0 ]; then
  318. echo Error creating $MULTI_NAME
  319. exit $?
  320. fi
  321. # Mips 32 glibc compiled with gcc 4.9.2 from OpenWRT toolchain
  322. export CLIENT_NAME=binaries/Linux/mips/big-endian/glibc/vlmcs-mips32-openwrt-glibc
  323. export PROGRAM_NAME=binaries/Linux/mips/big-endian/glibc/vlmcsd-mips32-openwrt-glibc
  324. export MULTI_NAME=binaries/Linux/mips/big-endian/glibc/vlmcsdmulti-mips32-openwrt-glibc
  325. export CC=/opt/toolchains/mips_34kc_gcc-4.9-linaro_eglibc-2.19-mips16/bin/mips-openwrt-linux-gcc
  326. #export CC=~/openwrt/staging_dir/toolchain-mips_34kc_gcc-4.8-linaro_eglibc-2.19/bin/mips-openwrt-linux-gcc
  327. export CFLAGS="$SMALLCC"
  328. export PLATFORMFLAGS="-flto=jobserver -fwhole-program -mips32"
  329. export LDFLAGS="$SMALLLD"
  330. export THREADS=0
  331. make $MAKEFLAGS
  332. if [ $? != 0 ]; then
  333. echo Error creating $CLIENT_NAME and/or $PROGRAM_NAME
  334. exit $?
  335. fi
  336. rm -f *_all.c vlmcsd.o vlmcs.o vlmcsdmulti.o 2> /dev/null
  337. make $REUSEOBJFLAGS $MULTI_NAME
  338. if [ $? != 0 ]; then
  339. echo Error creating $MULTI_NAME
  340. exit $?
  341. fi
  342. # Mips 32 glibc compiled with gcc 4.9.2 from OpenWRT toolchain
  343. export CLIENT_NAME=binaries/Linux/mips/big-endian/glibc/vlmcs-mips16-openwrt-glibc
  344. export PROGRAM_NAME=binaries/Linux/mips/big-endian/glibc/vlmcsd-mips16-openwrt-glibc
  345. export MULTI_NAME=binaries/Linux/mips/big-endian/glibc/vlmcsdmulti-mips16-openwrt-glibc
  346. export CC=/opt/toolchains/mips_34kc_gcc-4.9-linaro_eglibc-2.19-mips16/bin/mips-openwrt-linux-gcc
  347. #export CC=~/openwrt/staging_dir/toolchain-mips_34kc_gcc-4.8-linaro_eglibc-2.19/bin/mips-openwrt-linux-gcc
  348. export CFLAGS="$SMALLCC"
  349. export PLATFORMFLAGS="-flto=jobserver -fwhole-program -mips32 -mips16"
  350. export LDFLAGS="$SMALLLD"
  351. export THREADS=0
  352. make $MAKEFLAGS
  353. if [ $? != 0 ]; then
  354. echo Error creating $CLIENT_NAME and/or $PROGRAM_NAME
  355. exit $?
  356. fi
  357. rm -f *_all.c vlmcsd.o vlmcs.o vlmcsdmulti.o 2> /dev/null
  358. make $REUSEOBJFLAGS $MULTI_NAME
  359. if [ $? != 0 ]; then
  360. echo Error creating $MULTI_NAME
  361. exit $?
  362. fi
  363. # mips32el glibc 2.19 compiled with gcc 4.8 from OpenWRT toolchain
  364. export CLIENT_NAME=binaries/Linux/mips/little-endian/glibc/vlmcs-mips32el-openwrt-glibc
  365. export PROGRAM_NAME=binaries/Linux/mips/little-endian/glibc/vlmcsd-mips32el-openwrt-glibc
  366. export MULTI_NAME=binaries/Linux/mips/little-endian/glibc/vlmcsdmulti-mips32el-openwrt-glibc
  367. export CC=/opt/toolchains/mipsel_74kc+dsp2_gcc-4.9-linaro_eglibc-2.19-mips16/bin/mipsel-openwrt-linux-gnu-gcc-4.9.2
  368. #export CC=~/openwrt/staging_dir/toolchain-mipsel_mips32_gcc-4.8-linaro_eglibc-2.19/bin/mipsel-openwrt-linux-gcc
  369. export CFLAGS="$SMALLCC"
  370. export PLATFORMFLAGS="-flto=jobserver -fwhole-program -mips32"
  371. export LDFLAGS="$SMALLLD"
  372. export THREADS=0
  373. make $MAKEFLAGS
  374. if [ $? != 0 ]; then
  375. echo Error creating $CLIENT_NAME and/or $PROGRAM_NAME
  376. exit $?
  377. fi
  378. rm -f *_all.c vlmcsd.o vlmcs.o vlmcsdmulti.o 2> /dev/null
  379. make $REUSEOBJFLAGS $MULTI_NAME
  380. if [ $? != 0 ]; then
  381. echo Error creating $MULTI_NAME
  382. exit $?
  383. fi
  384. # mips1el uclibc with old tomato toolchain gcc 3.2.3 with Broadcom extensions uClibc 0.9.19
  385. export CLIENT_NAME=binaries/Linux/mips/little-endian/uclibc/vlmcs-mips1el-tomato-uclibc
  386. export PROGRAM_NAME=binaries/Linux/mips/little-endian/uclibc/vlmcsd-mips1el-tomato-uclibc
  387. export MULTI_NAME=binaries/Linux/mips/little-endian/uclibc/vlmcsdmulti-mips1el-tomato-uclibc
  388. export CC=/opt/brcm/hndtools-mipsel-uclibc/bin/mipsel-uclibc-gcc
  389. export CFLAGS="-DNO_BUILTIN -pipe -fno-common -fno-exceptions -fno-unwind-tables -fno-asynchronous-unwind-tables -fmerge-all-constants"
  390. export PLATFORMFLAGS=""
  391. export LDFLAGS="-pipe -Wl,-z,norelro"
  392. export THREADS=0
  393. #export TERMINAL_WIDTH=80
  394. make NO_DNS=1 CAT=2 $MAKEFLAGS $CLIENT_NAME $PROGRAM_NAME $MULTI_NAME
  395. if [ $? != 0 ]; then
  396. echo Error creating $CLIENT_NAME, $MULTI_NAME and/or $PROGRAM_NAME
  397. exit $?
  398. fi
  399. export CLIENT_NAME=binaries/Linux/mips/little-endian/static/vlmcs-mips1el-tomato-uclibc-static
  400. export PROGRAM_NAME=binaries/Linux/mips/little-endian/static/vlmcsd-mips1el-tomato-uclibc-static
  401. export MULTI_NAME=binaries/Linux/mips/little-endian/static/vlmcsdmulti-mips1el-tomato-uclibc-static
  402. export LDFLAGS="$LDFLAGS -static"
  403. make NO_DNS=1 $REUSEOBJFLAGS $CLIENT_NAME $PROGRAM_NAME $MULTI_NAME CAT=2
  404. if [ $? != 0 ]; then
  405. echo Error creating $CLIENT_NAME, $MULTI_NAME and/or $PROGRAM_NAME
  406. exit $?
  407. fi
  408. #Android gcc 4.8 with API Level 3 (Android 1.5 cupcake) armv7
  409. export CLIENT_NAME=binaries/Android/arm/bionic/vlmcs-android15-armv7
  410. export PROGRAM_NAME=binaries/Android/arm/bionic/vlmcsd-android15-armv7
  411. export CC=/opt/toolchains/armelv7-android-3/bin/arm-linux-androideabi-gcc
  412. export CFLAGS="$SMALLCC"
  413. export PLATFORMFLAGS="-flto=jobserver -fwhole-program -march=armv7 -mthumb"
  414. export THREADS=0
  415. export LDFLAGS="$SMALLLD"
  416. make NOLPTHREAD=1 NOLRESOLV=1 DNS_PARSER=OS $MAKEFLAGS
  417. if [ $? != 0 ]; then
  418. echo Error creating $CLIENT_NAME and/or $PROGRAM_NAME
  419. exit $?
  420. fi
  421. export CLIENT_NAME=binaries/Android/arm/static/vlmcs-android15-armv7-static
  422. export PROGRAM_NAME=binaries/Android/arm/static/vlmcsd-android15-armv7-static
  423. export MULTI_NAME=binaries/Android/arm/static/vlmcsdmulti-android15-armv7-static
  424. export LDFLAGS="$LDFLAGS -static"
  425. make NOLPTHREAD=1 NOLRESOLV=1 DNS_PARSER=OS $REUSEOBJFLAGS
  426. if [ $? != 0 ]; then
  427. echo Error creating $CLIENT_NAME and/or $PROGRAM_NAME
  428. exit $?
  429. fi
  430. rm -f *_all.c vlmcsd.o vlmcs.o vlmcsdmulti.o 2> /dev/null
  431. make NOLPTHREAD=1 NOLRESOLV=1 DNS_PARSER=OS $REUSEOBJFLAGS $MULTI_NAME
  432. if [ $? != 0 ]; then
  433. echo Error creating $MULTI_NAME
  434. exit $?
  435. fi
  436. export LDFLAGS="$SMALLLD"
  437. export MULTI_NAME=binaries/Android/arm/bionic/vlmcsdmulti-android15-armv7
  438. make NOLPTHREAD=1 NOLRESOLV=1 DNS_PARSER=OS $REUSEOBJFLAGS $MULTI_NAME
  439. if [ $? != 0 ]; then
  440. echo Error creating $MULTI_NAME
  441. exit $?
  442. fi
  443. #Android gcc 4.8 with API Level 3 (Android 1.5 cupcake) armv5
  444. export CLIENT_NAME=binaries/Android/arm/bionic/vlmcs-android15-armv5
  445. export PROGRAM_NAME=binaries/Android/arm/bionic/vlmcsd-android15-armv5
  446. export CC=/opt/toolchains/armelv7-android-3/bin/arm-linux-androideabi-gcc
  447. export CFLAGS="$SMALLCC"
  448. export PLATFORMFLAGS="-flto=jobserver -fwhole-program -march=armv5te -mthumb"
  449. export THREADS=0
  450. export LDFLAGS="$SMALLLD"
  451. make NOLPTHREAD=1 NOLRESOLV=1 DNS_PARSER=OS $MAKEFLAGS
  452. if [ $? != 0 ]; then
  453. echo Error creating $CLIENT_NAME and/or $PROGRAM_NAME
  454. exit $?
  455. fi
  456. export CLIENT_NAME=binaries/Android/arm/static/vlmcs-android15-armv5-static
  457. export PROGRAM_NAME=binaries/Android/arm/static/vlmcsd-android15-armv5-static
  458. export MULTI_NAME=binaries/Android/arm/static/vlmcsdmulti-android15-armv5-static
  459. export LDFLAGS="$LDFLAGS -static"
  460. make NOLPTHREAD=1 NOLRESOLV=1 DNS_PARSER=OS $REUSEOBJFLAGS
  461. if [ $? != 0 ]; then
  462. echo Error creating $CLIENT_NAME and/or $PROGRAM_NAME
  463. exit $?
  464. fi
  465. rm -f *_all.c vlmcsd.o vlmcs.o vlmcsdmulti.o 2> /dev/null
  466. make NOLPTHREAD=1 NOLRESOLV=1 DNS_PARSER=OS $REUSEOBJFLAGS $MULTI_NAME
  467. if [ $? != 0 ]; then
  468. echo Error creating $MULTI_NAME
  469. exit $?
  470. fi
  471. export LDFLAGS="$SMALLLD"
  472. export MULTI_NAME=binaries/Android/arm/bionic/vlmcsdmulti-android15-armv5
  473. make NOLPTHREAD=1 NOLRESOLV=1 DNS_PARSER=OS $REUSEOBJFLAGS $MULTI_NAME
  474. if [ $? != 0 ]; then
  475. echo Error creating $MULTI_NAME
  476. exit $?
  477. fi
  478. #Android gcc 4.8 with API Level 16 (Android 4.1 Jelly Bean) armv7
  479. export CLIENT_NAME=binaries/Android/arm/bionic/vlmcs-android41-armv7
  480. export PROGRAM_NAME=binaries/Android/arm/bionic/vlmcsd-android41-armv7
  481. export MULTI_NAME=binaries/Android/arm/bionic/vlmcsdmulti-android41-armv7
  482. export CC=/opt/toolchains/armelv7-android-16/bin/arm-linux-androideabi-gcc
  483. export CFLAGS="$SMALLCC"
  484. export PLATFORMFLAGS="-flto=jobserver -fwhole-program -march=armv7 -mthumb -fPIE -pie"
  485. export THREADS=0
  486. export LDFLAGS="$SMALLLD"
  487. make NOLPTHREAD=1 NOLRESOLV=1 DNS_PARSER=OS $MAKEFLAGS
  488. if [ $? != 0 ]; then
  489. echo Error creating $CLIENT_NAME and/or $PROGRAM_NAME
  490. exit $?
  491. fi
  492. rm -f *_all.c vlmcsd.o vlmcs.o vlmcsdmulti.o 2> /dev/null
  493. make NOLPTHREAD=1 NOLRESOLV=1 DNS_PARSER=OS $REUSEOBJFLAGS $MULTI_NAME
  494. if [ $? != 0 ]; then
  495. echo Error creating $MULTI_NAME
  496. exit $?
  497. fi
  498. ##Android gcc 4.8 with API Level 21 (Android 5.0 Lollipop) armv7
  499. #
  500. #export CLIENT_NAME=binaries/Android/arm/bionic/vlmcs-android50-armv7
  501. #export PROGRAM_NAME=binaries/Android/arm/bionic/vlmcsd-android50-armv7
  502. #export MULTI_NAME=binaries/Android/arm/bionic/vlmcsdmulti-android50-armv7
  503. #export CC=/opt/toolchains/armelv7-android-21/bin/arm-linux-androideabi-gcc
  504. #export CFLAGS="$SMALLCC"
  505. #export PLATFORMFLAGS="-flto=jobserver -fwhole-program -march=armv7 -mthumb -fPIE -pie"
  506. #export THREADS=0
  507. #export LDFLAGS="$SMALLLD"
  508. #
  509. #make NOLPTHREAD=1 $MAKEFLAGS
  510. #
  511. #if [ $? != 0 ]; then
  512. # echo Error creating $CLIENT_NAME and/or $PROGRAM_NAME
  513. # exit $?
  514. #fi
  515. #
  516. #rm -f *_all.c vlmcsd.o vlmcs.o vlmcsdmulti.o 2> /dev/null
  517. #
  518. #make NOLPTHREAD=1 $REUSEOBJFLAGS $MULTI_NAME
  519. #
  520. #if [ $? != 0 ]; then
  521. # echo Error creating $MULTI_NAME
  522. # exit $?
  523. #fi
  524. #
  525. #
  526. #
  527. #
  528. #
  529. #Android gcc 4.9 with API Level 21 (Android 5.0 Lollipop) arm64el
  530. export CLIENT_NAME=binaries/Android/arm/bionic/vlmcs-android50-arm64v8
  531. export PROGRAM_NAME=binaries/Android/arm/bionic/vlmcsd-android50-arm64v8
  532. export MULTI_NAME=binaries/Android/arm/bionic/vlmcsdmulti-android50-arm64v8
  533. export CC=/opt/toolchains/arm64el-android-21/bin/aarch64-linux-android-gcc
  534. export CFLAGS="$SMALLCC"
  535. export PLATFORMFLAGS="-flto=jobserver -fwhole-program -mtune=generic -mfix-cortex-a53-835769 -march=armv8-a -fPIE -pie"
  536. export THREADS=0
  537. export LDFLAGS="$SMALLLD"
  538. make NOLPTHREAD=1 NOLRESOLV=1 NO_DNS=0 $MAKEFLAGS
  539. if [ $? != 0 ]; then
  540. echo Error creating $CLIENT_NAME and/or $PROGRAM_NAME
  541. exit $?
  542. fi
  543. rm -f *_all.c vlmcsd.o vlmcs.o vlmcsdmulti.o 2> /dev/null
  544. make NOLPTHREAD=1 NOLRESOLV=1 NO_DNS=0 $REUSEOBJFLAGS $MULTI_NAME
  545. if [ $? != 0 ]; then
  546. echo Error creating $MULTI_NAME
  547. exit $?
  548. fi
  549. #Android gcc 4.9 with API Level 21 (Android 5.0 Lollipop) arm64el STATIC
  550. export CLIENT_NAME=binaries/Android/arm/static/vlmcs-android50-arm64v8-static
  551. export PROGRAM_NAME=binaries/Android/arm/static/vlmcsd-android50-arm64v8-static
  552. export MULTI_NAME=binaries/Android/arm/static/vlmcsdmulti-android50-arm64v8-static
  553. export CC=/opt/toolchains/arm64el-android-21/bin/aarch64-linux-android-gcc
  554. export CFLAGS="$SMALLCC"
  555. export PLATFORMFLAGS="-flto=jobserver -fwhole-program -mtune=generic -mfix-cortex-a53-835769 -march=armv8-a"
  556. export THREADS=0
  557. export LDFLAGS="$SMALLLD -static"
  558. make NOLPTHREAD=1 NOLRESOLV=1 DNS_PARSER=OS $MAKEFLAGS
  559. if [ $? != 0 ]; then
  560. echo Error creating $CLIENT_NAME and/or $PROGRAM_NAME
  561. exit $?
  562. fi
  563. rm -f *_all.c vlmcsd.o vlmcs.o vlmcsdmulti.o 2> /dev/null
  564. make NOLPTHREAD=1 NOLRESOLV=1 DNS_PARSER=OS $REUSEOBJFLAGS $MULTI_NAME
  565. if [ $? != 0 ]; then
  566. echo Error creating $MULTI_NAME
  567. exit $?
  568. fi
  569. #Android gcc 4.8 with API Level 9 (Android 2.3 Gingerbread) x86
  570. export CLIENT_NAME=binaries/Android/intel/bionic/vlmcs-android23-x86
  571. export PROGRAM_NAME=binaries/Android/intel/bionic/vlmcsd-android23-x86
  572. export CC=/opt/toolchains/x86-android-9/bin/i686-linux-android-gcc
  573. export CFLAGS="$SMALLCC"
  574. export PLATFORMFLAGS="-flto=jobserver -fwhole-program -march=atom -m32"
  575. export THREADS=1
  576. export LDFLAGS="$SMALLLD"
  577. make NOLPTHREAD=1 NOLRESOLV=1 DNS_PARSER=OS $MAKEFLAGS
  578. if [ $? != 0 ]; then
  579. echo Error creating $CLIENT_NAME and/or $PROGRAM_NAME
  580. exit $?
  581. fi
  582. export CLIENT_NAME=binaries/Android/intel/static/vlmcs-android23-x86-static
  583. export PROGRAM_NAME=binaries/Android/intel/static/vlmcsd-android23-x86-static
  584. export MULTI_NAME=binaries/Android/intel/static/vlmcsdmulti-android23-x86-static
  585. export LDFLAGS="$LDFLAGS -static"
  586. make NOLPTHREAD=1 NOLRESOLV=1 DNS_PARSER=OS $REUSEOBJFLAGS
  587. if [ $? != 0 ]; then
  588. echo Error creating $CLIENT_NAME and/or $PROGRAM_NAME
  589. exit $?
  590. fi
  591. rm -f *_all.c vlmcsd.o vlmcs.o vlmcsdmulti.o 2> /dev/null
  592. make NOLPTHREAD=1 NOLRESOLV=1 DNS_PARSER=OS $REUSEOBJFLAGS $MULTI_NAME
  593. if [ $? != 0 ]; then
  594. echo Error creating $MULTI_NAME
  595. exit $?
  596. fi
  597. export LDFLAGS="$SMALLLD"
  598. export MULTI_NAME=binaries/Android/intel/bionic/vlmcsdmulti-android23-x86
  599. make NOLPTHREAD=1 NOLRESOLV=1 DNS_PARSER=OS $REUSEOBJFLAGS $MULTI_NAME
  600. if [ $? != 0 ]; then
  601. echo Error creating $MULTI_NAME
  602. exit $?
  603. fi
  604. #Android gcc 4.8 with API Level 16 (Android 4.1 Jelly Bean) x86
  605. export CLIENT_NAME=binaries/Android/intel/bionic/vlmcs-android41-x86
  606. export PROGRAM_NAME=binaries/Android/intel/bionic/vlmcsd-android41-x86
  607. export MULTI_NAME=binaries/Android/intel/bionic/vlmcsdmulti-android41-x86
  608. export CC=/opt/toolchains/x86-android-16/bin/i686-linux-android-gcc
  609. export CFLAGS="$SMALLCC"
  610. export PLATFORMFLAGS="-flto=jobserver -fwhole-program -march=atom -m32 -fPIE -pie"
  611. export THREADS=1
  612. export LDFLAGS="$SMALLLD"
  613. make NOLPTHREAD=1 NOLRESOLV=1 DNS_PARSER=OS $MAKEFLAGS
  614. if [ $? != 0 ]; then
  615. echo Error creating $CLIENT_NAME and/or $PROGRAM_NAME
  616. exit $?
  617. fi
  618. rm -f *_all.c vlmcsd.o vlmcs.o vlmcsdmulti.o 2> /dev/null
  619. make NOLPTHREAD=1 NOLRESOLV=1 DNS_PARSER=OS $REUSEOBJFLAGS $MULTI_NAME
  620. if [ $? != 0 ]; then
  621. echo Error creating $MULTI_NAME
  622. exit $?
  623. fi
  624. ##Android gcc 4.8 with API Level 21 (Android 5.0 Lollipop) x86
  625. #
  626. #export CLIENT_NAME=binaries/Android/intel/bionic/vlmcs-android50-x86
  627. #export PROGRAM_NAME=binaries/Android/intel/bionic/vlmcsd-android50-x86
  628. #export MULTI_NAME=binaries/Android/intel/bionic/vlmcsdmulti-android50-x86
  629. #export CC=/opt/toolchains/x86-android-21/bin/i686-linux-android-gcc
  630. #export CFLAGS="$SMALLCC"
  631. #export PLATFORMFLAGS="-flto=jobserver -fwhole-program -march=atom -m32 -fPIE -pie"
  632. #export THREADS=1
  633. #export LDFLAGS="$SMALLLD"
  634. #
  635. #make NOLPTHREAD=1 $MAKEFLAGS
  636. #
  637. #if [ $? != 0 ]; then
  638. # echo Error creating $CLIENT_NAME and/or $PROGRAM_NAME
  639. # exit $?
  640. #fi
  641. #
  642. #rm -f *_all.c vlmcsd.o vlmcs.o vlmcsdmulti.o 2> /dev/null
  643. #
  644. #make NOLPTHREAD=1 $REUSEOBJFLAGS $MULTI_NAME
  645. #
  646. #if [ $? != 0 ]; then
  647. # echo Error creating $MULTI_NAME
  648. # exit $?
  649. #fi
  650. #Android gcc 4.9 with API Level 21 (Android 5.0 Lollipop) x64
  651. export CLIENT_NAME=binaries/Android/intel/bionic/vlmcs-android50-x64
  652. export PROGRAM_NAME=binaries/Android/intel/bionic/vlmcsd-android50-x64
  653. export MULTI_NAME=binaries/Android/intel/bionic/vlmcsdmulti-android50-x64
  654. export CC=/opt/toolchains/x86_64-android-21/bin/x86_64-linux-android-gcc
  655. export CFLAGS="$SMALLCC"
  656. export PLATFORMFLAGS="-flto=jobserver -fwhole-program -march=atom -m64 -fPIE -pie"
  657. export THREADS=0
  658. export LDFLAGS="$SMALLLD"
  659. make NOLPTHREAD=1 NOLRESOLV=1 NO_DNS=0 $MAKEFLAGS
  660. if [ $? != 0 ]; then
  661. echo Error creating $CLIENT_NAME and/or $PROGRAM_NAME
  662. exit $?
  663. fi
  664. rm -f *_all.c vlmcsd.o vlmcs.o vlmcsdmulti.o 2> /dev/null
  665. make NOLPTHREAD=1 NOLRESOLV=1 NO_DNS=0 $REUSEOBJFLAGS $MULTI_NAME
  666. if [ $? != 0 ]; then
  667. echo Error creating $MULTI_NAME
  668. exit $?
  669. fi
  670. #Android gcc 4.9 with API Level 21 (Android 5.0 Lollipop) x64 STATIC
  671. export CLIENT_NAME=binaries/Android/intel/static/vlmcs-android50-x64-static
  672. export PROGRAM_NAME=binaries/Android/intel/static/vlmcsd-android50-x64-static
  673. export MULTI_NAME=binaries/Android/intel/static/vlmcsdmulti-android50-x64-static
  674. export CC=/opt/toolchains/x86_64-android-21/bin/x86_64-linux-android-gcc
  675. export CFLAGS="$SMALLCC"
  676. export PLATFORMFLAGS="-flto=jobserver -fwhole-program -march=nocona -m64"
  677. export THREADS=0
  678. export LDFLAGS="$SMALLLD -static"
  679. make NOLPTHREAD=1 NOLRESOLV=1 DNS_PARSER=OS $MAKEFLAGS
  680. if [ $? != 0 ]; then
  681. echo Error creating $CLIENT_NAME and/or $PROGRAM_NAME
  682. exit $?
  683. fi
  684. rm -f *_all.c vlmcsd.o vlmcs.o vlmcsdmulti.o 2> /dev/null
  685. make NOLPTHREAD=1 NOLRESOLV=1 DNS_PARSER=OS $REUSEOBJFLAGS $MULTI_NAME
  686. if [ $? != 0 ]; then
  687. echo Error creating $MULTI_NAME
  688. exit $?
  689. fi
  690. #Android gcc 4.8 with API Level 9 (Android 2.3 Gingerbread) mips32el
  691. export CLIENT_NAME=binaries/Android/mips/bionic/vlmcs-android23-mips32el
  692. export PROGRAM_NAME=binaries/Android/mips/bionic/vlmcsd-android23-mips32el
  693. export CC=/opt/toolchains/mipsel-android-9/bin/mipsel-linux-android-gcc
  694. export CFLAGS="$SMALLCC"
  695. export PLATFORMFLAGS="-flto=jobserver -fwhole-program"
  696. export THREADS=1
  697. export LDFLAGS="$SMALLLD"
  698. make NOLPTHREAD=1 NOLRESOLV=1 DNS_PARSER=OS $MAKEFLAGS
  699. if [ $? != 0 ]; then
  700. echo Error creating $CLIENT_NAME and/or $PROGRAM_NAME
  701. exit $?
  702. fi
  703. export CLIENT_NAME=binaries/Android/mips/static/vlmcs-android23-mips32el-static
  704. export PROGRAM_NAME=binaries/Android/mips/static/vlmcsd-android23-mips32el-static
  705. export MULTI_NAME=binaries/Android/mips/static/vlmcsdmulti-android23-mips32el-static
  706. export LDFLAGS="$LDFLAGS -static"
  707. make NOLPTHREAD=1 NOLRESOLV=1 DNS_PARSER=OS $REUSEOBJFLAGS
  708. if [ $? != 0 ]; then
  709. echo Error creating $CLIENT_NAME and/or $PROGRAM_NAME
  710. exit $?
  711. fi
  712. rm -f *_all.c vlmcsd.o vlmcs.o vlmcsdmulti.o 2> /dev/null
  713. make NOLPTHREAD=1 NOLRESOLV=1 DNS_PARSER=OS $REUSEOBJFLAGS $MULTI_NAME
  714. if [ $? != 0 ]; then
  715. echo Error creating $MULTI_NAME
  716. exit $?
  717. fi
  718. export LDFLAGS="$SMALLLD"
  719. export MULTI_NAME=binaries/Android/mips/bionic/vlmcsdmulti-android23-mips32el
  720. make NOLPTHREAD=1 NOLRESOLV=1 DNS_PARSER=OS $REUSEOBJFLAGS $MULTI_NAME
  721. if [ $? != 0 ]; then
  722. echo Error creating $MULTI_NAME
  723. exit $?
  724. fi
  725. #Android gcc 4.8 with API Level 16 (Android 4.1 Jelly Bean) mips32el
  726. export CLIENT_NAME=binaries/Android/mips/bionic/vlmcs-android41-mips32el
  727. export PROGRAM_NAME=binaries/Android/mips/bionic/vlmcsd-android41-mips32el
  728. export MULTI_NAME=binaries/Android/mips/bionic/vlmcsdmulti-android41-mips32el
  729. export CC=/opt/toolchains/mipsel-android-16/bin/mipsel-linux-android-gcc
  730. export CFLAGS="$SMALLCC"
  731. export PLATFORMFLAGS="-flto=jobserver -fwhole-program -fPIE -pie"
  732. export THREADS=1
  733. export LDFLAGS="$SMALLLD"
  734. make NOLPTHREAD=1 NOLRESOLV=1 DNS_PARSER=OS $MAKEFLAGS
  735. if [ $? != 0 ]; then
  736. echo Error creating $CLIENT_NAME and/or $PROGRAM_NAME
  737. exit $?
  738. fi
  739. rm -f *_all.c vlmcsd.o vlmcs.o vlmcsdmulti.o 2> /dev/null
  740. make NOLPTHREAD=1 NOLRESOLV=1 DNS_PARSER=OS $REUSEOBJFLAGS $MULTI_NAME
  741. if [ $? != 0 ]; then
  742. echo Error creating $MULTI_NAME
  743. exit $?
  744. fi
  745. ##Android gcc 4.8 with API Level 21 (Android 5.0 Lollipop) mips32el
  746. #
  747. #export CLIENT_NAME=binaries/Android/mips/bionic/vlmcs-android50-mips32el
  748. #export PROGRAM_NAME=binaries/Android/mips/bionic/vlmcsd-android50-mips32el
  749. #export MULTI_NAME=binaries/Android/mips/bionic/vlmcsdmulti-android50-mips32el
  750. #export CC=/opt/toolchains/mipsel-android-21/bin/mipsel-linux-android-gcc
  751. #export CFLAGS="$SMALLCC"
  752. #export PLATFORMFLAGS="-flto=jobserver -fwhole-program -fPIE -pie"
  753. #export THREADS=1
  754. #export LDFLAGS="$SMALLLD"
  755. #
  756. #make NOLPTHREAD=1 $MAKEFLAGS
  757. #
  758. #if [ $? != 0 ]; then
  759. # echo Error creating $CLIENT_NAME and/or $PROGRAM_NAME
  760. # exit $?
  761. #fi
  762. #
  763. #rm -f *_all.c vlmcsd.o vlmcs.o vlmcsdmulti.o 2> /dev/null
  764. #
  765. #make NOLPTHREAD=1 $REUSEOBJFLAGS $MULTI_NAME
  766. #
  767. #if [ $? != 0 ]; then
  768. # echo Error creating $MULTI_NAME
  769. # exit $?
  770. #fi
  771. ##Android gcc 4.8 with API Level 9 (Android 2.3 Gingerbread) mips16el
  772. #
  773. #export CLIENT_NAME=binaries/Android/mips/bionic/vlmcs-android23-mips16el
  774. #export PROGRAM_NAME=binaries/Android/mips/bionic/vlmcsd-android23-mips16el
  775. #export CC=/opt/toolchains/mipsel-android-9/bin/mipsel-linux-android-gcc
  776. #export CFLAGS="$SMALLCC"
  777. #export PLATFORMFLAGS="-flto=jobserver -fwhole-program -mips16"
  778. #export THREADS=1
  779. #export LDFLAGS="$SMALLLD"
  780. #
  781. #make NOLPTHREAD=1 $MAKEFLAGS
  782. #
  783. #if [ $? != 0 ]; then
  784. # echo Error creating $CLIENT_NAME and/or $PROGRAM_NAME
  785. # exit $?
  786. #fi
  787. #
  788. #export CLIENT_NAME=binaries/Android/mips/static/vlmcs-android23-mips16el-static
  789. #export PROGRAM_NAME=binaries/Android/mips/static/vlmcsd-android23-mips16el-static
  790. #export MULTI_NAME=binaries/Android/mips/static/vlmcsdmulti-android23-mips16el-static
  791. #export LDFLAGS="$LDFLAGS -static"
  792. #
  793. #make NOLPTHREAD=1 $REUSEOBJFLAGS
  794. #
  795. #if [ $? != 0 ]; then
  796. # echo Error creating $CLIENT_NAME and/or $PROGRAM_NAME
  797. # exit $?
  798. #fi
  799. #
  800. #rm -f *_all.c vlmcsd.o vlmcs.o vlmcsdmulti.o 2> /dev/null
  801. #
  802. #make NOLPTHREAD=1 $REUSEOBJFLAGS $MULTI_NAME
  803. #
  804. #if [ $? != 0 ]; then
  805. # echo Error creating $MULTI_NAME
  806. # exit $?
  807. #fi
  808. #
  809. #export LDFLAGS="$SMALLLD"
  810. #export MULTI_NAME=binaries/Android/mips/bionic/vlmcsdmulti-android23-mips16el
  811. #
  812. #make NOLPTHREAD=1 $REUSEOBJFLAGS $MULTI_NAME
  813. #
  814. #if [ $? != 0 ]; then
  815. # echo Error creating $MULTI_NAME
  816. # exit $?
  817. #fi
  818. #
  819. #
  820. #
  821. #
  822. #
  823. ##Android gcc 4.8 with API Level 16 (Android 4.1 Jelly Bean) mips16el
  824. #
  825. #export CLIENT_NAME=binaries/Android/mips/bionic/vlmcs-android41-mips16el
  826. #export PROGRAM_NAME=binaries/Android/mips/bionic/vlmcsd-android41-mips16el
  827. #export MULTI_NAME=binaries/Android/mips/bionic/vlmcsdmulti-android41-mips16el
  828. #export CC=/opt/toolchains/mipsel-android-16/bin/mipsel-linux-android-gcc
  829. #export CFLAGS="$SMALLCC"
  830. #export PLATFORMFLAGS="-flto=jobserver -fwhole-program -fPIE -pie -mips16"
  831. #export THREADS=1
  832. #export LDFLAGS="$SMALLLD"
  833. #
  834. #make NOLPTHREAD=1 $MAKEFLAGS
  835. #
  836. #if [ $? != 0 ]; then
  837. # echo Error creating $CLIENT_NAME and/or $PROGRAM_NAME
  838. # exit $?
  839. #fi
  840. #
  841. #rm -f *_all.c vlmcsd.o vlmcs.o vlmcsdmulti.o 2> /dev/null
  842. #
  843. #make NOLPTHREAD=1 $REUSEOBJFLAGS $MULTI_NAME
  844. #
  845. #if [ $? != 0 ]; then
  846. # echo Error creating $MULTI_NAME
  847. # exit $?
  848. #fi
  849. #
  850. #
  851. #
  852. #
  853. #
  854. #Android gcc 4.8 with API Level 21 (Android 5.0 Lollipop) mips16el
  855. #
  856. #export CLIENT_NAME=binaries/Android/mips/bionic/vlmcs-android50-mips16el
  857. #export PROGRAM_NAME=binaries/Android/mips/bionic/vlmcsd-android50-mips16el
  858. #export MULTI_NAME=binaries/Android/mips/bionic/vlmcsdmulti-android50-mips16el
  859. #export CC=/opt/toolchains/mipsel-android-21/bin/mipsel-linux-android-gcc
  860. #export CFLAGS="$SMALLCC"
  861. #export PLATFORMFLAGS="-flto=jobserver -fwhole-program -fPIE -pie -mips16"
  862. #export THREADS=1
  863. #export LDFLAGS="$SMALLLD"
  864. #
  865. #make NOLPTHREAD=1 $MAKEFLAGS
  866. #
  867. #if [ $? != 0 ]; then
  868. # echo Error creating $CLIENT_NAME and/or $PROGRAM_NAME
  869. # exit $?
  870. #fi
  871. #
  872. #rm -f *_all.c vlmcsd.o vlmcs.o vlmcsdmulti.o 2> /dev/null
  873. #
  874. #make NOLPTHREAD=1 $REUSEOBJFLAGS $MULTI_NAME
  875. #
  876. #if [ $? != 0 ]; then
  877. # echo Error creating $MULTI_NAME
  878. # exit $?
  879. #fi
  880. #Android gcc 4.9 with API Level 21 (Android 5.0 Lollipop) mips64el
  881. export CLIENT_NAME=binaries/Android/mips/bionic/vlmcs-android50-mips64el
  882. export PROGRAM_NAME=binaries/Android/mips/bionic/vlmcsd-android50-mips64el
  883. export MULTI_NAME=binaries/Android/mips/bionic/vlmcsdmulti-android50-mips64el
  884. export CC=/opt/toolchains/mips64el-android-21/bin/mips64el-linux-android-gcc
  885. export CFLAGS="$SMALLCC"
  886. export PLATFORMFLAGS="-flto=jobserver -fwhole-program -fPIE -pie"
  887. export THREADS=0
  888. export LDFLAGS="$SMALLLD"
  889. make NOLPTHREAD=1 NOLRESOLV=1 NO_DNS=0 $MAKEFLAGS
  890. if [ $? != 0 ]; then
  891. echo Error creating $CLIENT_NAME and/or $PROGRAM_NAME
  892. exit $?
  893. fi
  894. rm -f *_all.c vlmcsd.o vlmcs.o vlmcsdmulti.o 2> /dev/null
  895. make NOLPTHREAD=1 NOLRESOLV=1 NO_DNS=0 $REUSEOBJFLAGS $MULTI_NAME
  896. if [ $? != 0 ]; then
  897. echo Error creating $MULTI_NAME
  898. exit $?
  899. fi
  900. #Android gcc 4.9 with API Level 21 (Android 5.0 Lollipop) mips64el STATIC
  901. export CLIENT_NAME=binaries/Android/mips/static/vlmcs-android50-mips64el-static
  902. export PROGRAM_NAME=binaries/Android/mips/static/vlmcsd-android50-mips64el-static
  903. export MULTI_NAME=binaries/Android/mips/static/vlmcsdmulti-android50-mips64el-static
  904. export CC=/opt/toolchains/mips64el-android-21/bin/mips64el-linux-android-gcc
  905. export CFLAGS="$SMALLCC"
  906. export PLATFORMFLAGS="-flto=jobserver -fwhole-program"
  907. export THREADS=0
  908. export LDFLAGS="$SMALLLD -static"
  909. make NOLPTHREAD=1 NOLRESOLV=1 DNS_PARSER=OS $MAKEFLAGS
  910. if [ $? != 0 ]; then
  911. echo Error creating $CLIENT_NAME and/or $PROGRAM_NAME
  912. exit $?
  913. fi
  914. rm -f *_all.c vlmcsd.o vlmcs.o vlmcsdmulti.o 2> /dev/null
  915. make NOLPTHREAD=1 NOLRESOLV=1 DNS_PARSER=OS $REUSEOBJFLAGS $MULTI_NAME
  916. if [ $? != 0 ]; then
  917. echo Error creating $MULTI_NAME
  918. exit $?
  919. fi
  920. ## Android 5.0+ with Ubuntu toolchain
  921. #export CLIENT_NAME=binaries/Android/arm/bionic/vlmcs-android5
  922. #export PROGRAM_NAME=binaries/Android/arm/bionic/vlmcsd-android5
  923. #export CC=arm-linux-androideabi-gcc
  924. #export CFLAGS="$SMALLCC"
  925. #export PLATFORMFLAGS="-flto=jobserver -fwhole-program"
  926. #export LDFLAGS="$SMALLLD -pie -fpie"
  927. #export THREADS=0
  928. #
  929. #make $MAKEFLAGS
  930. #
  931. #if [ $? != 0 ]; then
  932. # echo Error creating $CLIENT_NAME and/or $PROGRAM_NAME
  933. # exit $?
  934. #fi
  935. #
  936. #
  937. # Android 5.0+ with Ubuntu toolchain STATIC
  938. #export CLIENT_NAME=binaries/Android/arm/static/vlmcs-android5-static
  939. #export PROGRAM_NAME=binaries/Android/arm/static/vlmcsd-android5-static
  940. #export MULTI_NAME=binaries/Android/arm/static/vlmcsdmulti-android5-static
  941. #export LDFLAGS="$LDFLAGS -static"
  942. #
  943. #make $REUSEOBJFLAGS
  944. #
  945. #if [ $? != 0 ]; then
  946. # echo Error creating $CLIENT_NAME and/or $PROGRAM_NAME
  947. # exit $?
  948. #fi
  949. #
  950. #rm -f *_all.c vlmcsd.o vlmcs.o vlmcsdmulti.o 2> /dev/null
  951. #
  952. #make $REUSEOBJFLAGS $MULTI_NAME
  953. #
  954. #if [ $? != 0 ]; then
  955. # echo Error creating $MULTI_NAME
  956. # exit $?
  957. #fi
  958. #
  959. #export LDFLAGS="$SMALLLD -pie -fpie"
  960. #export MULTI_NAME=binaries/Android/arm/bionic/vlmcsdmulti-android5
  961. #
  962. #make $REUSEOBJFLAGS $MULTI_NAME
  963. #
  964. #if [ $? != 0 ]; then
  965. # echo Error creating $MULTI_NAME
  966. # exit $?
  967. #fi
  968. #
  969. #
  970. #
  971. #
  972. ## Android 5.0+ with Ubuntu toolchain for ARMv7 CPU with thumb2 instruction set
  973. #export CLIENT_NAME=binaries/Android/arm/bionic/vlmcs-android5-armv7
  974. #export PROGRAM_NAME=binaries/Android/arm/bionic/vlmcsd-android5-armv7
  975. #export CC=arm-linux-androideabi-gcc
  976. #export CFLAGS="$SMALLCC"
  977. #export PLATFORMFLAGS="-flto=jobserver -fwhole-program -mthumb -march=armv7 -mtune=cortex-a9"
  978. #export LDFLAGS="$SMALLLD -pie -fpie"
  979. #export THREADS=0
  980. #
  981. #make $MAKEFLAGS
  982. #
  983. #if [ $? != 0 ]; then
  984. # echo Error creating $CLIENT_NAME and/or $PROGRAM_NAME
  985. # exit $?
  986. #fi
  987. #
  988. #export CLIENT_NAME=binaries/Android/arm/static/vlmcs-android5-armv7-static
  989. #export PROGRAM_NAME=binaries/Android/arm/static/vlmcsd-android5-armv7-static
  990. #export MULTI_NAME=binaries/Android/arm/static/vlmcsdmulti-android5-armv7-static
  991. #export LDFLAGS="$LDFLAGS -static"
  992. #
  993. #make $REUSEOBJFLAGS
  994. #
  995. #if [ $? != 0 ]; then
  996. # echo Error creating $CLIENT_NAME and/or $PROGRAM_NAME
  997. # exit $?
  998. #fi
  999. #
  1000. #rm -f *_all.c vlmcsd.o vlmcs.o vlmcsdmulti.o 2> /dev/null
  1001. #
  1002. #make $REUSEOBJFLAGS $MULTI_NAME
  1003. #
  1004. #if [ $? != 0 ]; then
  1005. # echo Error creating $MULTI_NAME
  1006. # exit $?
  1007. #fi
  1008. #
  1009. #export LDFLAGS="$SMALLLD -pie -fpie"
  1010. #export MULTI_NAME=binaries/Android/arm/bionic/vlmcsdmulti-android5-armv7
  1011. #
  1012. #make $REUSEOBJFLAGS $MULTI_NAME
  1013. #
  1014. #if [ $? != 0 ]; then
  1015. # echo Error creating $MULTI_NAME
  1016. # exit $?
  1017. #fi
  1018. #
  1019. ##unset TERMINAL_WIDTH
  1020. #
  1021. #
  1022. #
  1023. #
  1024. #
  1025. ## Android with Ubuntu toolchain
  1026. #export CLIENT_NAME=binaries/Android/arm/bionic/vlmcs-android
  1027. #export PROGRAM_NAME=binaries/Android/arm/bionic/vlmcsd-android
  1028. #export CC=arm-linux-androideabi-gcc
  1029. #export CFLAGS="$SMALLCC"
  1030. #export PLATFORMFLAGS="-flto=jobserver -fwhole-program"
  1031. #export LDFLAGS="$SMALLLD"
  1032. #export THREADS=0
  1033. #
  1034. #make $MAKEFLAGS
  1035. #
  1036. #if [ $? != 0 ]; then
  1037. # echo Error creating $CLIENT_NAME and/or $PROGRAM_NAME
  1038. # exit $?
  1039. #fi
  1040. #
  1041. #
  1042. ## Android with Ubuntu toolchain STATIC
  1043. #export CLIENT_NAME=binaries/Android/arm/static/vlmcs-android-static
  1044. #export PROGRAM_NAME=binaries/Android/arm/static/vlmcsd-android-static
  1045. #export MULTI_NAME=binaries/Android/arm/static/vlmcsdmulti-android-static
  1046. #export LDFLAGS="$LDFLAGS -static"
  1047. #
  1048. #make $REUSEOBJFLAGS
  1049. #
  1050. #if [ $? != 0 ]; then
  1051. # echo Error creating $CLIENT_NAME and/or $PROGRAM_NAME
  1052. # exit $?
  1053. #fi
  1054. #
  1055. #rm -f *_all.c vlmcsd.o vlmcs.o vlmcsdmulti.o 2> /dev/null
  1056. #
  1057. #make $REUSEOBJFLAGS $MULTI_NAME
  1058. #
  1059. #if [ $? != 0 ]; then
  1060. # echo Error creating $MULTI_NAME
  1061. # exit $?
  1062. #fi
  1063. #
  1064. #export LDFLAGS="$SMALLLD"
  1065. #export MULTI_NAME=binaries/Android/arm/bionic/vlmcsdmulti-android
  1066. #
  1067. #make $REUSEOBJFLAGS $MULTI_NAME
  1068. #
  1069. #if [ $? != 0 ]; then
  1070. # echo Error creating $MULTI_NAME
  1071. # exit $?
  1072. #fi
  1073. # Android with Ubuntu toolchain for ARMv7 CPU with thumb2 instruction set
  1074. #export CLIENT_NAME=binaries/Android/arm/bionic/vlmcs-android-armv7
  1075. #export PROGRAM_NAME=binaries/Android/arm/bionic/vlmcsd-android-armv7
  1076. #export CC=arm-linux-androideabi-gcc
  1077. #export CFLAGS="$SMALLCC"
  1078. #export PLATFORMFLAGS="-flto=jobserver -fwhole-program -mthumb -march=armv7 -mtune=cortex-a9"
  1079. #export LDFLAGS="$SMALLLD"
  1080. #export THREADS=0
  1081. #
  1082. #make $MAKEFLAGS
  1083. #
  1084. #if [ $? != 0 ]; then
  1085. # echo Error creating $CLIENT_NAME and/or $PROGRAM_NAME
  1086. # exit $?
  1087. #fi
  1088. #
  1089. #export CLIENT_NAME=binaries/Android/arm/static/vlmcs-android-armv7-static
  1090. #export PROGRAM_NAME=binaries/Android/arm/static/vlmcsd-android-armv7-static
  1091. #export MULTI_NAME=binaries/Android/arm/static/vlmcsdmulti-android-armv7-static
  1092. #export LDFLAGS="$LDFLAGS -static"
  1093. #
  1094. #make $REUSEOBJFLAGS
  1095. #
  1096. #if [ $? != 0 ]; then
  1097. # echo Error creating $CLIENT_NAME and/or $PROGRAM_NAME
  1098. # exit $?
  1099. #fi
  1100. #
  1101. #rm -f *_all.c vlmcsd.o vlmcs.o vlmcsdmulti.o 2> /dev/null
  1102. #
  1103. #make $REUSEOBJFLAGS $MULTI_NAME
  1104. #
  1105. #if [ $? != 0 ]; then
  1106. # echo Error creating $MULTI_NAME
  1107. # exit $?
  1108. #fi
  1109. #
  1110. #export LDFLAGS="$SMALLLD"
  1111. #export MULTI_NAME=binaries/Android/arm/bionic/vlmcsdmulti-android-armv7
  1112. #
  1113. #make $REUSEOBJFLAGS $MULTI_NAME
  1114. #
  1115. #if [ $? != 0 ]; then
  1116. # echo Error creating $MULTI_NAME
  1117. # exit $?
  1118. #fi
  1119. # Linux x86 glibc
  1120. export MULTI_NAME=binaries/Linux/intel/glibc/vlmcsdmulti-x86-glibc
  1121. export CLIENT_NAME=binaries/Linux/intel/glibc/vlmcs-x86-glibc
  1122. export PROGRAM_NAME=binaries/Linux/intel/glibc/vlmcsd-x86-glibc
  1123. export CC=~/openwrt/staging_dir/toolchain-i386_i486_gcc-4.8-linaro_eglibc-2.19/bin/i486-openwrt-linux-gcc
  1124. export CFLAGS="$SMALLCC"
  1125. export PLATFORMFLAGS="-flto=jobserver -fwhole-program -m32 -march=i686 -mtune=generic"
  1126. export LDFLAGS="$SMALLLD -Wl,--hash-style=gnu"
  1127. export THREADS=0
  1128. make $MAKEFLAGS binaries/Linux/intel/glibc/vlmcsdmulti-x86-glibc
  1129. if [ $? != 0 ]; then
  1130. echo Error creating $MULTI_NAME
  1131. exit $?
  1132. fi
  1133. rm -f *_all.c vlmcsd.o vlmcs.o vlmcsdmulti.o 2> /dev/null
  1134. make $REUSEOBJFLAGS
  1135. if [ $? != 0 ]; then
  1136. echo Error creating $CLIENT_NAME and/or $PROGRAM_NAME
  1137. exit $?
  1138. fi
  1139. # Linux x86 glibc minimum standalone version
  1140. export PROGRAM_NAME=binaries/Linux/intel/glibc/vlmcsd-x86-glibc-minimum
  1141. export CC=~/openwrt/staging_dir/toolchain-i386_i486_gcc-4.8-linaro_eglibc-2.19/bin/i486-openwrt-linux-gcc
  1142. export CFLAGS="$SMALLCC"
  1143. export PLATFORMFLAGS="-flto=jobserver -fwhole-program -m32 -march=i686 -mtune=generic"
  1144. export LDFLAGS="$SMALLLD -Wl,--hash-style=gnu"
  1145. export THREADS=0
  1146. export FEATURES=minimum
  1147. make NO_DNS=1 $MAKEFLAGS $PROGRAM_NAME
  1148. if [ $? != 0 ]; then
  1149. echo Error creating $PROGRAM_NAME
  1150. exit $?
  1151. fi
  1152. # Linux x86 glibc minimum inetd version
  1153. export PROGRAM_NAME=binaries/Linux/intel/glibc/vlmcsd-x86-glibc-minimum-inetd
  1154. export CFLAGS="$CFLAGS -DNO_SOCKETS"
  1155. make NO_DNS=1 $MAKEFLAGS $PROGRAM_NAME
  1156. if [ $? != 0 ]; then
  1157. echo Error creating $PROGRAM_NAME
  1158. exit $?
  1159. fi
  1160. # Linux x86 glibc threads
  1161. export FEATURES=full
  1162. export THREADS=1
  1163. export PROGRAM_NAME=binaries/Linux/intel/glibc/vlmcsd-x86-glibc-threads
  1164. export LDFLAGS="$SMALLLD -Wl,--hash-style=gnu -lpthread"
  1165. export CFLAGS="$SMALLCC"
  1166. make $MAKEFLAGS $PROGRAM_NAME
  1167. if [ $? != 0 ]; then
  1168. echo Error creating $PROGRAM_NAME
  1169. exit $?
  1170. fi
  1171. # Linux x86 musl
  1172. export FEATURES=full
  1173. export MULTI_NAME=binaries/Linux/intel/static/vlmcsdmulti-x86-musl-static
  1174. export CLIENT_NAME=binaries/Linux/intel/static/vlmcs-x86-musl-static
  1175. export PROGRAM_NAME=binaries/Linux/intel/static/vlmcsd-x86-musl-static
  1176. export CC=/opt/toolchains/i386_i486_gcc-4.9-linaro_musl-1.1.6/bin/i486-openwrt-linux-musl-gcc-4.9.2
  1177. export CFLAGS="$SMALLCC"
  1178. export PLATFORMFLAGS="-flto=jobserver -fwhole-program -m32 -march=i686 -mtune=generic"
  1179. export LDFLAGS="$SMALLLD -Wl,--hash-style=gnu -static"
  1180. export THREADS=0
  1181. export NOPROCFS=0
  1182. export AUXV=1
  1183. make $MAKEFLAGS $MULTI_NAME
  1184. if [ $? != 0 ]; then
  1185. echo Error creating $MULTI_NAME
  1186. exit $?
  1187. fi
  1188. export LDFLAGS="$SMALLLD -Wl,--hash-style=gnu"
  1189. export MULTI_NAME=binaries/Linux/intel/musl/vlmcsdmulti-x86-musl
  1190. make $MAKEFLAGS $MULTI_NAME
  1191. if [ $? != 0 ]; then
  1192. echo Error creating $MULTI_NAME
  1193. exit $?
  1194. fi
  1195. rm -f *_all.c vlmcsd.o vlmcs.o vlmcsdmulti.o 2> /dev/null
  1196. export LDFLAGS="$LDFLAGS -static"
  1197. make $REUSEOBJFLAGS
  1198. if [ $? != 0 ]; then
  1199. echo Error creating $CLIENT_NAME and/or $PROGRAM_NAME
  1200. exit $?
  1201. fi
  1202. export CLIENT_NAME=binaries/Linux/intel/musl/vlmcs-x86-musl
  1203. export PROGRAM_NAME=binaries/Linux/intel/musl/vlmcsd-x86-musl
  1204. export LDFLAGS="$SMALLLD -Wl,--hash-style=gnu"
  1205. make $REUSEOBJFLAGS
  1206. if [ $? != 0 ]; then
  1207. echo Error creating $CLIENT_NAME and/or $PROGRAM_NAME
  1208. exit $?
  1209. fi
  1210. # Linux x86 musl static threads
  1211. export FEATURES=full
  1212. export PROGRAM_NAME=binaries/Linux/intel/static/vlmcsd-x86-musl-static-threads
  1213. export CC=/opt/toolchains/i386_i486_gcc-4.9-linaro_musl-1.1.6/bin/i486-openwrt-linux-musl-gcc-4.9.2
  1214. export CFLAGS="$SMALLCC"
  1215. export PLATFORMFLAGS="-flto=jobserver -fwhole-program -m32 -march=i686 -mtune=generic"
  1216. export LDFLAGS="$SMALLLD -Wl,--hash-style=gnu -static"
  1217. export THREADS=1
  1218. export NOPROCFS=0
  1219. export AUXV=1
  1220. make $MAKEFLAGS $PROGRAM_NAME
  1221. if [ $? != 0 ]; then
  1222. echo Error creating $PROGRAM_NAME
  1223. exit $?
  1224. fi
  1225. # Linux x32 glibc
  1226. export FEATURES=full
  1227. export MULTI_NAME=binaries/Linux/intel/glibc/vlmcsdmulti-x32-glibc
  1228. export CLIENT_NAME=binaries/Linux/intel/glibc/vlmcs-x32-glibc
  1229. export PROGRAM_NAME=binaries/Linux/intel/glibc/vlmcsd-x32-glibc
  1230. export CC=gcc
  1231. export CFLAGS="$SMALLCC"
  1232. export PLATFORMFLAGS="-flto=jobserver -fwhole-program -mx32 -march=nocona -mtune=generic"
  1233. export LDFLAGS="$SMALLLD -Wl,--hash-style=gnu"
  1234. export THREADS=0
  1235. export NOPROCFS=0
  1236. export AUXV=1
  1237. make DNS_PARSER=OS $MAKEFLAGS binaries/Linux/intel/glibc/vlmcsdmulti-x32-glibc
  1238. if [ $? != 0 ]; then
  1239. echo Error creating $MULTI_NAME
  1240. exit $?
  1241. fi
  1242. rm -f *_all.c vlmcsd.o vlmcs.o vlmcsdmulti.o 2> /dev/null
  1243. make DNS_PARSER=OS $REUSEOBJFLAGS
  1244. if [ $? != 0 ]; then
  1245. echo Error creating $CLIENT_NAME and/or $PROGRAM_NAME
  1246. exit $?
  1247. fi
  1248. # Linux x32 glibc threads
  1249. export FEATURES=full
  1250. export PROGRAM_NAME=binaries/Linux/intel/glibc/vlmcsd-x32-glibc-threads
  1251. export CC=gcc
  1252. export CFLAGS="$SMALLCC"
  1253. export PLATFORMFLAGS="-flto=jobserver -fwhole-program -mx32 -march=nocona -mtune=generic"
  1254. export LDFLAGS="$SMALLLD -Wl,--hash-style=gnu -lpthread"
  1255. export THREADS=1
  1256. export NOPROCFS=0
  1257. export AUXV=1
  1258. make DNS_PARSER=OS $MAKEFLAGS $PROGRAM_NAME
  1259. if [ $? != 0 ]; then
  1260. echo Error creating $PROGRAM_NAME
  1261. exit $?
  1262. fi
  1263. # Linux armv4 little-endian glibc
  1264. export FEATURES=full
  1265. export MULTI_NAME=binaries/Linux/arm/little-endian/glibc/vlmcsdmulti-armv4el-glibc
  1266. export CLIENT_NAME=binaries/Linux/arm/little-endian/glibc/vlmcs-armv4el-glibc
  1267. export PROGRAM_NAME=binaries/Linux/arm/little-endian/glibc/vlmcsd-armv4el-glibc
  1268. export CC=/opt/toolchains/armelv5t-glibc-2.20/bin/arm-linux-gcc
  1269. export CFLAGS="$SMALLCC"
  1270. export PLATFORMFLAGS="-flto=jobserver -fwhole-program -march=armv4 -marm"
  1271. export LDFLAGS="$SMALLLD -Wl,--hash-style=gnu"
  1272. export THREADS=0
  1273. export NOPROCFS=0
  1274. export AUXV=0
  1275. make $MAKEFLAGS
  1276. if [ $? != 0 ]; then
  1277. echo Error creating $CLIENT_NAME and/or $PROGRAM_NAME
  1278. exit $?
  1279. fi
  1280. rm -f *_all.c vlmcsd.o vlmcs.o vlmcsdmulti.o 2> /dev/null
  1281. make $REUSEOBJFLAGS $MULTI_NAME
  1282. if [ $? != 0 ]; then
  1283. echo Error creating $MULTI_NAME
  1284. exit $?
  1285. fi
  1286. # Linux armv4 little-endian glibc thumb instruction set
  1287. export MULTI_NAME=binaries/Linux/arm/little-endian/glibc/vlmcsdmulti-armv4el-glibc-thumb
  1288. export CLIENT_NAME=binaries/Linux/arm/little-endian/glibc/vlmcs-armv4el-glibc-thumb
  1289. export PROGRAM_NAME=binaries/Linux/arm/little-endian/glibc/vlmcsd-armv4el-glibc-thumb
  1290. export CC=/opt/toolchains/armelv5t-glibc-2.20/bin/arm-linux-gcc
  1291. export FEATURES=full
  1292. export CFLAGS="$SMALLCC"
  1293. export PLATFORMFLAGS="-flto=jobserver -fwhole-program -march=armv4t -mthumb"
  1294. export LDFLAGS="$SMALLLD -Wl,--hash-style=gnu"
  1295. export THREADS=0
  1296. make $MAKEFLAGS
  1297. if [ $? != 0 ]; then
  1298. echo Error creating $CLIENT_NAME and/or $PROGRAM_NAME
  1299. exit $?
  1300. fi
  1301. rm -f *_all.c vlmcsd.o vlmcs.o vlmcsdmulti.o 2> /dev/null
  1302. make $REUSEOBJFLAGS $MULTI_NAME
  1303. if [ $? != 0 ]; then
  1304. echo Error creating $MULTI_NAME
  1305. exit $?
  1306. fi
  1307. # Linux armv5 little-endian glibc thumb instruction set
  1308. export PROGRAM_NAME=binaries/Linux/arm/little-endian/glibc/vlmcsd-armv5el-glibc-thumb
  1309. export CLIENT_NAME=binaries/Linux/arm/little-endian/glibc/vlmcs-armv5el-glibc-thumb
  1310. export MULTI_NAME=binaries/Linux/arm/little-endian/glibc/vlmcsdmulti-armv5el-glibc-thumb
  1311. export PLATFORMFLAGS="-flto=jobserver -fwhole-program -march=armv5t -mthumb"
  1312. make $MAKEFLAGS
  1313. if [ $? != 0 ]; then
  1314. echo Error creating $CLIENT_NAME and/or $PROGRAM_NAME
  1315. exit $?
  1316. fi
  1317. rm -f *_all.c vlmcsd.o vlmcs.o vlmcsdmulti.o 2> /dev/null
  1318. make $REUSEOBJFLAGS $MULTI_NAME
  1319. if [ $? != 0 ]; then
  1320. echo Error creating $MULTI_NAME
  1321. exit $?
  1322. fi
  1323. # Linux armv5 little-endian glibc
  1324. export PROGRAM_NAME=binaries/Linux/arm/little-endian/glibc/vlmcsd-armv5el-glibc
  1325. export CLIENT_NAME=binaries/Linux/arm/little-endian/glibc/vlmcs-armv5el-glibc
  1326. export MULTI_NAME=binaries/Linux/arm/little-endian/glibc/vlmcsdmulti-armv5el-glibc
  1327. export PLATFORMFLAGS="-flto=jobserver -fwhole-program -march=armv5 -marm"
  1328. make $MAKEFLAGS
  1329. if [ $? != 0 ]; then
  1330. echo Error creating $CLIENT_NAME and/or $PROGRAM_NAME
  1331. exit $?
  1332. fi
  1333. rm -f *_all.c vlmcsd.o vlmcs.o vlmcsdmulti.o 2> /dev/null
  1334. make $REUSEOBJFLAGS $MULTI_NAME
  1335. if [ $? != 0 ]; then
  1336. echo Error creating $MULTI_NAME
  1337. exit $?
  1338. fi
  1339. # Linux armv7 little-endian glibc thumb2 instruction set
  1340. export PROGRAM_NAME=binaries/Linux/arm/little-endian/glibc/vlmcsd-armv7el-glibc
  1341. export CLIENT_NAME=binaries/Linux/arm/little-endian/glibc/vlmcs-armv7el-glibc
  1342. export MULTI_NAME=binaries/Linux/arm/little-endian/glibc/vlmcsdmulti-armv7el-glibc
  1343. export CC=/opt/toolchains/armelv7-cortex-a8-glibc-2.18/usr/bin/arm-linux-gcc
  1344. export PLATFORMFLAGS="-flto=jobserver -fwhole-program -march=armv7 -mthumb"
  1345. export FEATURES=full
  1346. export CFLAGS="$SMALLCC"
  1347. export LDFLAGS="$SMALLLD -Wl,--hash-style=gnu"
  1348. export THREADS=0
  1349. make $MAKEFLAGS
  1350. if [ $? != 0 ]; then
  1351. echo Error creating $CLIENT_NAME and/or $PROGRAM_NAME
  1352. exit $?
  1353. fi
  1354. rm -f *_all.c vlmcsd.o vlmcs.o vlmcsdmulti.o 2> /dev/null
  1355. make $REUSEOBJFLAGS $MULTI_NAME
  1356. if [ $? != 0 ]; then
  1357. echo Error creating $MULTI_NAME
  1358. exit $?
  1359. fi
  1360. # Linux armv4 little-endian openwrt toolchain
  1361. export PROGRAM_NAME=binaries/Linux/arm/little-endian/glibc/vlmcsd-armv4el-openwrt-glibc
  1362. export CLIENT_NAME=binaries/Linux/arm/little-endian/glibc/vlmcs-armv4el-openwrt-glibc
  1363. export MULTI_NAME=binaries/Linux/arm/little-endian/glibc/vlmcsdmulti-armv4el-openwrt-glibc
  1364. export CC=~/openwrt/staging_dir/toolchain-arm_mpcore+vfp_gcc-4.8-linaro_eglibc-2.19_eabi/bin/arm-openwrt-linux-gcc
  1365. export PLATFORMFLAGS="-flto=jobserver -fwhole-program -march=armv4"
  1366. export FEATURES=full
  1367. export CFLAGS="$SMALLCC"
  1368. export LDFLAGS="$SMALLLD -Wl,--hash-style=gnu"
  1369. export THREADS=0
  1370. make $MAKEFLAGS
  1371. if [ $? != 0 ]; then
  1372. echo Error creating $CLIENT_NAME and/or $PROGRAM_NAME
  1373. exit $?
  1374. fi
  1375. rm -f *_all.c vlmcsd.o vlmcs.o vlmcsdmulti.o 2> /dev/null
  1376. make $REUSEOBJFLAGS $MULTI_NAME
  1377. if [ $? != 0 ]; then
  1378. echo Error creating $MULTI_NAME
  1379. exit $?
  1380. fi
  1381. # Linux armv7 little-endian openwrt toolchain thumb 2 instruction set
  1382. INSTALLDIR=binaries/Linux/arm/little-endian/glibc/
  1383. SUFFIX=-armv7el-openwrt-glibc
  1384. export PROGRAM_NAME=${INSTALLDIR}vlmcsd${SUFFIX}
  1385. export CLIENT_NAME=${INSTALLDIR}vlmcs${SUFFIX}
  1386. export MULTI_NAME=${INSTALLDIR}vlmcsdmulti${SUFFIX}
  1387. export CC=~/openwrt/staging_dir/toolchain-arm_mpcore+vfp_gcc-4.8-linaro_eglibc-2.19_eabi/bin/arm-openwrt-linux-gcc
  1388. export PLATFORMFLAGS="-flto=jobserver -fwhole-program -march=armv7 -mthumb"
  1389. export FEATURES=full
  1390. export CFLAGS="$SMALLCC"
  1391. export LDFLAGS="$SMALLLD -Wl,--hash-style=gnu"
  1392. export THREADS=0
  1393. make $MAKEFLAGS
  1394. if [ $? != 0 ]; then
  1395. echo Error creating $CLIENT_NAME and/or $PROGRAM_NAME
  1396. exit $?
  1397. fi
  1398. rm -f *_all.c vlmcsd.o vlmcs.o vlmcsdmulti.o 2> /dev/null
  1399. make $REUSEOBJFLAGS $MULTI_NAME
  1400. if [ $? != 0 ]; then
  1401. echo Error creating $MULTI_NAME
  1402. exit $?
  1403. fi
  1404. # Linux armv5 little endian thumb instruction set
  1405. INSTALLDIR=binaries/Linux/arm/little-endian/static/
  1406. SUFFIX=-armv5el-musl-thumb
  1407. export PROGRAM_NAME=${INSTALLDIR}vlmcsd${SUFFIX}-static
  1408. export CLIENT_NAME=${INSTALLDIR}vlmcs${SUFFIX}-static
  1409. export MULTI_NAME=${INSTALLDIR}vlmcsdmulti${SUFFIX}-static
  1410. export CC=/opt/toolchains/armelv5t-musl/usr/bin/arm-linux-gcc
  1411. export PLATFORMFLAGS="-flto=jobserver -fwhole-program"
  1412. export FEATURES=full
  1413. export CFLAGS="$SMALLCC"
  1414. export LDFLAGS="$SMALLLD -Wl,--hash-style=gnu -static"
  1415. export THREADS=0
  1416. export NOPROCFS=0
  1417. export AUXV=1
  1418. make $MAKEFLAGS
  1419. if [ $? != 0 ]; then
  1420. echo Error creating $CLIENT_NAME and/or $PROGRAM_NAME
  1421. exit $?
  1422. fi
  1423. INSTALLDIR=binaries/Linux/arm/little-endian/musl/
  1424. export PROGRAM_NAME=${INSTALLDIR}vlmcsd${SUFFIX}
  1425. export CLIENT_NAME=${INSTALLDIR}vlmcs${SUFFIX}
  1426. export LDFLAGS="$SMALLLD -Wl,--hash-style=gnu"
  1427. export MULTI_NAME=${INSTALLDIR}vlmcsdmulti${SUFFIX}
  1428. make $REUSEOBJFLAGS
  1429. if [ $? != 0 ]; then
  1430. echo Error creating $CLIENT_NAME and/or $PROGRAM_NAME
  1431. exit $?
  1432. fi
  1433. rm -f *_all.c vlmcsd.o vlmcs.o vlmcsdmulti.o 2> /dev/null
  1434. make $REUSEOBJFLAGS $MULTI_NAME
  1435. if [ $? != 0 ]; then
  1436. echo Error creating $MULTI_NAME
  1437. exit $?
  1438. fi
  1439. INSTALLDIR=binaries/Linux/arm/little-endian/static/
  1440. export MULTI_NAME=${INSTALLDIR}vlmcsdmulti${SUFFIX}-static
  1441. export LDFLAGS="$SMALLLD -Wl,--hash-style=gnu -static"
  1442. make $REUSEOBJFLAGS $MULTI_NAME
  1443. if [ $? != 0 ]; then
  1444. echo Error creating $MULTI_NAME
  1445. exit $?
  1446. fi
  1447. # Linux armv5 little-endian uclibc thumb instruction set
  1448. INSTALLDIR=binaries/Linux/arm/little-endian/uclibc/
  1449. SUFFIX=-armv5el-uclibc-thumb
  1450. export PROGRAM_NAME=${INSTALLDIR}vlmcsd${SUFFIX}
  1451. export CLIENT_NAME=${INSTALLDIR}vlmcs${SUFFIX}
  1452. export MULTI_NAME=${INSTALLDIR}vlmcsdmulti${SUFFIX}
  1453. export CC=/opt/toolchains/armelv5t-uclibc-0.9.33/usr/bin/arm-linux-gcc
  1454. export PLATFORMFLAGS="-flto=jobserver -fwhole-program -march=armv5t -mthumb"
  1455. export FEATURES=full
  1456. export CFLAGS="$SMALLCC"
  1457. export LDFLAGS="$SMALLLD -Wl,--hash-style=gnu"
  1458. export THREADS=0
  1459. export NOPROCFS=0
  1460. export AUXV=0
  1461. make $MAKEFLAGS
  1462. if [ $? != 0 ]; then
  1463. echo Error creating $CLIENT_NAME and/or $PROGRAM_NAME
  1464. exit $?
  1465. fi
  1466. rm -f *_all.c vlmcsd.o vlmcs.o vlmcsdmulti.o 2> /dev/null
  1467. make $REUSEOBJFLAGS $MULTI_NAME
  1468. if [ $? != 0 ]; then
  1469. echo Error creating $MULTI_NAME
  1470. exit $?
  1471. fi
  1472. # Linux armv7 little-endian uclibc thumb 2 instruction set
  1473. INSTALLDIR=binaries/Linux/arm/little-endian/
  1474. SUFFIX=-armv7el-uclibc
  1475. export PROGRAM_NAME=${INSTALLDIR}uclibc/vlmcsd${SUFFIX}
  1476. export CLIENT_NAME=${INSTALLDIR}uclibc/vlmcs${SUFFIX}
  1477. export MULTI_NAME=${INSTALLDIR}uclibc/vlmcsdmulti${SUFFIX}
  1478. export CC=/opt/toolchains/armelv7-cortex-a8-uclibc-0.9.33/usr/bin/arm-linux-gcc
  1479. export PLATFORMFLAGS="-flto=jobserver -fwhole-program -march=armv7 -mthumb"
  1480. export FEATURES=full
  1481. export CFLAGS="$SMALLCC"
  1482. export LDFLAGS="$SMALLLD -Wl,--hash-style=gnu"
  1483. export THREADS=0
  1484. make $MAKEFLAGS
  1485. if [ $? != 0 ]; then
  1486. echo Error creating $CLIENT_NAME and/or $PROGRAM_NAME
  1487. exit $?
  1488. fi
  1489. export PROGRAM_NAME=${INSTALLDIR}static/vlmcsd${SUFFIX}-static
  1490. export CLIENT_NAME=${INSTALLDIR}static/vlmcs${SUFFIX}-static
  1491. export MULTI_NAME=${INSTALLDIR}static/vlmcsdmulti${SUFFIX}-static
  1492. export LDFLAGS="$SMALLLD -Wl,--hash-style=gnu -static"
  1493. make $REUSEOBJFLAGS
  1494. if [ $? != 0 ]; then
  1495. echo Error creating $CLIENT_NAME and/or $PROGRAM_NAME
  1496. exit $?
  1497. fi
  1498. rm -f *_all.c vlmcsd.o vlmcs.o vlmcsdmulti.o 2> /dev/null
  1499. make $REUSEOBJFLAGS $MULTI_NAME
  1500. if [ $? != 0 ]; then
  1501. echo Error creating $MULTI_NAME
  1502. exit $?
  1503. fi
  1504. export MULTI_NAME=${INSTALLDIR}uclibc/vlmcsdmulti${SUFFIX}
  1505. export LDFLAGS="$SMALLLD -Wl,--hash-style=gnu"
  1506. make $REUSEOBJFLAGS $MULTI_NAME
  1507. if [ $? != 0 ]; then
  1508. echo Error creating $MULTI_NAME
  1509. exit $?
  1510. fi
  1511. # Linux armv4 little-endian uclibc openwrt toolchain
  1512. INSTALLDIR=binaries/Linux/arm/little-endian/uclibc/
  1513. SUFFIX=-armv4el-openwrt-uclibc
  1514. export PROGRAM_NAME=${INSTALLDIR}vlmcsd${SUFFIX}
  1515. export CLIENT_NAME=${INSTALLDIR}vlmcs${SUFFIX}
  1516. export MULTI_NAME=${INSTALLDIR}vlmcsdmulti${SUFFIX}
  1517. export CC=~/openwrt/staging_dir/toolchain-arm_mpcore+vfp_gcc-4.8-linaro_uClibc-0.9.33.2_eabi/bin/arm-openwrt-linux-gcc
  1518. export PLATFORMFLAGS="-flto=jobserver -fwhole-program -march=armv4 -marm"
  1519. export FEATURES=full
  1520. export CFLAGS="$SMALLCC"
  1521. export LDFLAGS="$SMALLLD -Wl,--hash-style=gnu"
  1522. export THREADS=0
  1523. make $MAKEFLAGS
  1524. if [ $? != 0 ]; then
  1525. echo Error creating $CLIENT_NAME and/or $PROGRAM_NAME
  1526. exit $?
  1527. fi
  1528. rm -f *_all.c vlmcsd.o vlmcs.o vlmcsdmulti.o 2> /dev/null
  1529. make $REUSEOBJFLAGS $MULTI_NAME
  1530. if [ $? != 0 ]; then
  1531. echo Error creating $MULTI_NAME
  1532. exit $?
  1533. fi
  1534. ## Linux armv4 little-endian uclibc openwrt toolchain thumb instruction set
  1535. #INSTALLDIR=binaries/Linux/arm/little-endian/uclibc/
  1536. #SUFFIX=-armv4el-openwrt-uclibc-thumb
  1537. #export PROGRAM_NAME=${INSTALLDIR}vlmcsd${SUFFIX}
  1538. #export CLIENT_NAME=${INSTALLDIR}vlmcs${SUFFIX}
  1539. #export MULTI_NAME=${INSTALLDIR}vlmcsdmulti${SUFFIX}
  1540. #export CC=~/openwrt/staging_dir/toolchain-arm_mpcore+vfp_gcc-4.8-linaro_uClibc-0.9.33.2_eabi/bin/arm-openwrt-linux-gcc
  1541. #export PLATFORMFLAGS="-flto=jobserver -fwhole-program -march=armv4t -mthumb"
  1542. #export FEATURES=full
  1543. #export CFLAGS="$SMALLCC"
  1544. #export LDFLAGS="$SMALLLD -Wl,--hash-style=gnu"
  1545. #export THREADS=0
  1546. #
  1547. #make $MAKEFLAGS
  1548. #
  1549. #if [ $? != 0 ]; then
  1550. # echo Error creating $CLIENT_NAME and/or $PROGRAM_NAME
  1551. # exit $?
  1552. #fi
  1553. #
  1554. #rm -f *_all.c vlmcsd.o vlmcs.o vlmcsdmulti.o 2> /dev/null
  1555. #
  1556. #make $REUSEOBJFLAGS $MULTI_NAME
  1557. #
  1558. #if [ $? != 0 ]; then
  1559. # echo Error creating $MULTI_NAME
  1560. # exit $?
  1561. #fi
  1562. # Linux armv7 little-endian uclibc openwrt toolchain thumb 2 instruction set
  1563. INSTALLDIR=binaries/Linux/arm/little-endian/uclibc/
  1564. SUFFIX=-armv7el-openwrt-uclibc
  1565. export PROGRAM_NAME=${INSTALLDIR}vlmcsd${SUFFIX}
  1566. export CLIENT_NAME=${INSTALLDIR}vlmcs${SUFFIX}
  1567. export MULTI_NAME=${INSTALLDIR}vlmcsdmulti${SUFFIX}
  1568. export CC=~/openwrt/staging_dir/toolchain-arm_mpcore+vfp_gcc-4.8-linaro_uClibc-0.9.33.2_eabi/bin/arm-openwrt-linux-gcc
  1569. export PLATFORMFLAGS="-flto=jobserver -fwhole-program -march=armv7 -mthumb"
  1570. export FEATURES=full
  1571. export CFLAGS="$SMALLCC"
  1572. export LDFLAGS="$SMALLLD -Wl,--hash-style=gnu"
  1573. export THREADS=0
  1574. make $MAKEFLAGS
  1575. if [ $? != 0 ]; then
  1576. echo Error creating $CLIENT_NAME and/or $PROGRAM_NAME
  1577. exit $?
  1578. fi
  1579. rm -f *_all.c vlmcsd.o vlmcs.o vlmcsdmulti.o 2> /dev/null
  1580. make $REUSEOBJFLAGS $MULTI_NAME
  1581. if [ $? != 0 ]; then
  1582. echo Error creating $MULTI_NAME
  1583. exit $?
  1584. fi
  1585. #Linux armv4 little-endian uclibc
  1586. INSTALLDIR=binaries/Linux/arm/little-endian/
  1587. SUFFIX=-armv4el-uclibc
  1588. export PROGRAM_NAME=${INSTALLDIR}uclibc/vlmcsd${SUFFIX}
  1589. export CLIENT_NAME=${INSTALLDIR}uclibc/vlmcs${SUFFIX}
  1590. export MULTI_NAME=${INSTALLDIR}uclibc/vlmcsdmulti${SUFFIX}
  1591. export CC=/root/cross-compiler-armv4l/bin/armv4l-gcc
  1592. export PLATFORMFLAGS="-pipe"
  1593. export FEATURES=full
  1594. export CFLAGS="$SMALLCC"
  1595. export LDFLAGS="-Wl,-z,norelro -fwhole-program"
  1596. export THREADS=0
  1597. export NOPROCFS=1
  1598. make $MAKEFLAGS $CLIENT_NAME $PROGRAM_NAME $MULTI_NAME CAT=2
  1599. if [ $? != 0 ]; then
  1600. echo Error creating $CLIENT_NAME, $MULTI_NAME and/or $PROGRAM_NAME
  1601. exit $?
  1602. fi
  1603. export PROGRAM_NAME=${INSTALLDIR}static/vlmcsd${SUFFIX}-static
  1604. export CLIENT_NAME=${INSTALLDIR}static/vlmcs${SUFFIX}-static
  1605. export MULTI_NAME=${INSTALLDIR}static/vlmcsdmulti${SUFFIX}-static
  1606. export LDFLAGS="-Wl,-z,norelro -fwhole-program -static"
  1607. make $REUSEOBJFLAGS $CLIENT_NAME $PROGRAM_NAME $MULTI_NAME CAT=2
  1608. if [ $? != 0 ]; then
  1609. echo Error creating $CLIENT_NAME, $MULTI_NAME and/or $PROGRAM_NAME
  1610. exit $?
  1611. fi
  1612. # mips1 little-endian with openssl 0.9.8 support dreambox toolchain
  1613. INSTALLDIR=binaries/Linux/mips/little-endian/glibc/
  1614. SUFFIX=-mips1el-glibc-openssl0.9.8-soft-EXPERIMENTAL
  1615. export CRYPTO=openssl_with_aes_soft
  1616. export PROGRAM_NAME=${INSTALLDIR}vlmcsd${SUFFIX}
  1617. export CLIENT_NAME=${INSTALLDIR}vlmcs${SUFFIX}
  1618. export MULTI_NAME=${INSTALLDIR}vlmcsdmulti${SUFFIX}
  1619. export CC=/opt/simplebuild/toolchains/mipsoe20/bin/mipsel-unknown-linux-gnu-gcc
  1620. export PLATFORMFLAGS="-flto=jobserver -fwhole-program"
  1621. export FEATURES=full
  1622. export CFLAGS="$SMALLCC"
  1623. export LDFLAGS="$SMALLLD"
  1624. export THREADS=0
  1625. export NOPROCFS=0
  1626. make $MAKEFLAGS
  1627. if [ $? != 0 ]; then
  1628. echo Error creating $CLIENT_NAME and/or $PROGRAM_NAME
  1629. exit $?
  1630. fi
  1631. rm -f *_all.c vlmcsd.o vlmcs.o vlmcsdmulti.o 2> /dev/null
  1632. make $REUSEOBJFLAGS $MULTI_NAME
  1633. if [ $? != 0 ]; then
  1634. echo Error creating $MULTI_NAME
  1635. exit $?
  1636. fi
  1637. # mips1 little-endian dreambox toolchain
  1638. INSTALLDIR=binaries/Linux/mips/little-endian/glibc/
  1639. SUFFIX=-mips1el-glibc
  1640. export PROGRAM_NAME=${INSTALLDIR}vlmcsd${SUFFIX}
  1641. export CLIENT_NAME=${INSTALLDIR}vlmcs${SUFFIX}
  1642. export MULTI_NAME=${INSTALLDIR}vlmcsdmulti${SUFFIX}
  1643. export CC=/opt/simplebuild/toolchains/mipsoe20/bin/mipsel-unknown-linux-gnu-gcc
  1644. export PLATFORMFLAGS="-flto=jobserver -fwhole-program"
  1645. export FEATURES=full
  1646. export CFLAGS="$SMALLCC"
  1647. export LDFLAGS="$SMALLLD"
  1648. export THREADS=0
  1649. export CRYPTO=internal
  1650. make $MAKEFLAGS
  1651. if [ $? != 0 ]; then
  1652. echo Error creating $CLIENT_NAME and/or $PROGRAM_NAME
  1653. exit $?
  1654. fi
  1655. rm -f *_all.c vlmcsd.o vlmcs.o vlmcsdmulti.o 2> /dev/null
  1656. make $REUSEOBJFLAGS $MULTI_NAME
  1657. if [ $? != 0 ]; then
  1658. echo Error creating $MULTI_NAME
  1659. exit $?
  1660. fi
  1661. # Linux mips1 little-endian uclibc
  1662. INSTALLDIR=binaries/Linux/mips/little-endian/
  1663. SUFFIX=-mips1el-uclibc
  1664. export PROGRAM_NAME=${INSTALLDIR}uclibc/vlmcsd${SUFFIX}
  1665. export CLIENT_NAME=${INSTALLDIR}uclibc/vlmcs${SUFFIX}
  1666. export MULTI_NAME=${INSTALLDIR}uclibc/vlmcsdmulti${SUFFIX}
  1667. export CC=/root/cross-compiler-mipsel/bin/mipsel-gcc
  1668. export PLATFORMFLAGS="-pipe"
  1669. export FEATURES=full
  1670. export CFLAGS="$SMALLCC"
  1671. export LDFLAGS="-Wl,-z,norelro -fwhole-program"
  1672. export THREADS=0
  1673. export CRYPTO=internal
  1674. export NOPROCFS=1
  1675. make $MAKEFLAGS CAT=2 $CLIENT_NAME $MULTI_NAME $PROGRAM_NAME
  1676. if [ $? != 0 ]; then
  1677. echo Error creating $CLIENT_NAME, $MULTI_NAME and/or $PROGRAM_NAME
  1678. exit $?
  1679. fi
  1680. export PROGRAM_NAME=${INSTALLDIR}static/vlmcsd${SUFFIX}-static
  1681. export CLIENT_NAME=${INSTALLDIR}static/vlmcs${SUFFIX}-static
  1682. export MULTI_NAME=${INSTALLDIR}static/vlmcsdmulti${SUFFIX}-static
  1683. export LDFLAGS="-Wl,-z,norelro -fwhole-program -static"
  1684. make $REUSEOBJFLAGS CAT=2 $CLIENT_NAME $MULTI_NAME $PROGRAM_NAME
  1685. if [ $? != 0 ]; then
  1686. echo Error creating $CLIENT_NAME, $MULTI_NAME and/or $PROGRAM_NAME
  1687. exit $?
  1688. fi
  1689. # Linux mips16 little endian glibc
  1690. INSTALLDIR=binaries/Linux/mips/little-endian/glibc/
  1691. SUFFIX=-mips16el-glibc
  1692. export PROGRAM_NAME=${INSTALLDIR}vlmcsd${SUFFIX}
  1693. export CLIENT_NAME=${INSTALLDIR}vlmcs${SUFFIX}
  1694. export MULTI_NAME=${INSTALLDIR}vlmcsdmulti${SUFFIX}
  1695. export CC=/opt/toolchains/mips32el-mips16-glibc-2.18/usr/bin/mipsel-linux-gcc
  1696. export PLATFORMFLAGS="-flto=jobserver -fwhole-program -mips32 -mips16"
  1697. export FEATURES=full
  1698. export CFLAGS="$SMALLCC"
  1699. export LDFLAGS="$SMALLLD"
  1700. export THREADS=0
  1701. export CRYPTO=internal
  1702. export NOPROCFS=0
  1703. make $MAKEFLAGS
  1704. if [ $? != 0 ]; then
  1705. echo Error creating $CLIENT_NAME and/or $PROGRAM_NAME
  1706. exit $?
  1707. fi
  1708. rm -f *_all.c vlmcsd.o vlmcs.o vlmcsdmulti.o 2> /dev/null
  1709. make $REUSEOBJFLAGS $MULTI_NAME
  1710. if [ $? != 0 ]; then
  1711. echo Error creating $MULTI_NAME
  1712. exit $?
  1713. fi
  1714. # Linux mips16 little-endian uclibc
  1715. INSTALLDIR=binaries/Linux/mips/little-endian/uclibc/
  1716. SUFFIX=-mips16el-uclibc
  1717. export PROGRAM_NAME=${INSTALLDIR}vlmcsd${SUFFIX}
  1718. export CLIENT_NAME=${INSTALLDIR}vlmcs${SUFFIX}
  1719. export MULTI_NAME=${INSTALLDIR}vlmcsdmulti${SUFFIX}
  1720. export CC=/opt/toolchains/mips32el-mips16-uclibc-0.9.33/bin/mipsel-linux-gcc
  1721. export PLATFORMFLAGS="-flto=jobserver -fwhole-program -mips32 -mips16"
  1722. export FEATURES=full
  1723. export CFLAGS="$SMALLCC"
  1724. export LDFLAGS="$SMALLLD"
  1725. export THREADS=0
  1726. export CRYPTO=internal
  1727. make $MAKEFLAGS
  1728. if [ $? != 0 ]; then
  1729. echo Error creating $CLIENT_NAME and/or $PROGRAM_NAME
  1730. exit $?
  1731. fi
  1732. rm -f *_all.c vlmcsd.o vlmcs.o vlmcsdmulti.o 2> /dev/null
  1733. make $REUSEOBJFLAGS $MULTI_NAME
  1734. if [ $? != 0 ]; then
  1735. echo Error creating $MULTI_NAME
  1736. exit $?
  1737. fi
  1738. # Linux PowerPC glibc with SSL support and Dreambox 500 toolchain
  1739. INSTALLDIR=binaries/Linux/ppc/big-endian/glibc/
  1740. SUFFIX=-ppc-glibc-openssl0.9.8-soft-EXPERIMENTAL
  1741. export PROGRAM_NAME=${INSTALLDIR}vlmcsd${SUFFIX}
  1742. export CLIENT_NAME=${INSTALLDIR}vlmcs${SUFFIX}
  1743. export MULTI_NAME=${INSTALLDIR}vlmcsdmulti${SUFFIX}
  1744. export CC=/opt/simplebuild/toolchains/powerpc/bin/powerpc-linux-gcc
  1745. export PLATFORMFLAGS="-pipe"
  1746. export FEATURES=full
  1747. export CFLAGS="-fno-common -fno-exceptions -fno-unwind-tables -fno-asynchronous-unwind-tables -fmerge-all-constants"
  1748. export LDFLAGS="-Wl,--no-gc-sections -Wl,-z,norelro"
  1749. export THREADS=0
  1750. export CRYPTO=internal
  1751. make NO_DNS=1 $MAKEFLAGS CAT=2 $CLIENT_NAME $PROGRAM_NAME $MULTI_NAME
  1752. if [ $? != 0 ]; then
  1753. echo Error creating $CLIENT_NAME, $MULTI_NAME and/or $PROGRAM_NAME
  1754. exit $?
  1755. fi
  1756. #Linux PowerPC uclibc OpenWRT toolchain
  1757. INSTALLDIR=binaries/Linux/ppc/big-endian/
  1758. SUFFIX=-ppc-uclibc
  1759. export PROGRAM_NAME=${INSTALLDIR}uclibc/vlmcsd${SUFFIX}
  1760. export CLIENT_NAME=${INSTALLDIR}uclibc/vlmcs${SUFFIX}
  1761. export MULTI_NAME=${INSTALLDIR}uclibc/vlmcsdmulti${SUFFIX}
  1762. #export CC=~/openwrt/staging_dir/toolchain-powerpc_405_gcc-4.8-linaro_uClibc-0.9.33.2/bin/powerpc-openwrt-linux-gcc
  1763. export CC=/opt/toolchains/ppc-uclibc0.9.33.2-gcc-4.9.1-binutils2.24/bin/powerpc-linux-gcc
  1764. export PLATFORMFLAGS="-flto=jobserver -fwhole-program -L/root/cross-compiler-powerpc/lib -L/root/cross-compiler-powerpc/usr/lib"
  1765. export FEATURES=full
  1766. export CFLAGS="$SMALLCC"
  1767. export LDFLAGS="$SMALLLD"
  1768. export THREADS=0
  1769. export CRYPTO=internal
  1770. make $MAKEFLAGS
  1771. if [ $? != 0 ]; then
  1772. echo Error creating $CLIENT_NAME and/or $PROGRAM_NAME
  1773. exit $?
  1774. fi
  1775. export PROGRAM_NAME=${INSTALLDIR}static/vlmcsd${SUFFIX}-static
  1776. export CLIENT_NAME=${INSTALLDIR}static/vlmcs${SUFFIX}-static
  1777. export MULTI_NAME=${INSTALLDIR}static/vlmcsdmulti${SUFFIX}-static
  1778. export LDFLAGS="$SMALLLD -static"
  1779. make $REUSEOBJFLAGS
  1780. if [ $? != 0 ]; then
  1781. echo Error creating $CLIENT_NAME and/or $PROGRAM_NAME
  1782. exit $?
  1783. fi
  1784. rm -f *_all.c vlmcsd.o vlmcs.o vlmcsdmulti.o 2> /dev/null
  1785. make $REUSEOBJFLAGS $MULTI_NAME
  1786. if [ $? != 0 ]; then
  1787. echo Error creating $MULTI_NAME
  1788. exit $?
  1789. fi
  1790. export MULTI_NAME=${INSTALLDIR}uclibc/vlmcsdmulti${SUFFIX}
  1791. export LDFLAGS="$SMALLLD"
  1792. make $REUSEOBJFLAGS $MULTI_NAME
  1793. if [ $? != 0 ]; then
  1794. echo Error creating $MULTI_NAME
  1795. exit $?
  1796. fi
  1797. #Fritzbox 7170 (mips32r2 little-endian) device specific, May or may not run on other devices
  1798. INSTALLDIR=binaries/Linux/mips/little-endian/
  1799. SUFFIX=-mips32r2el-Fritzbox-71xx-72xx-uclibc
  1800. export PROGRAM_NAME=${INSTALLDIR}uclibc/vlmcsd${SUFFIX}
  1801. export CLIENT_NAME=${INSTALLDIR}uclibc/vlmcs${SUFFIX}
  1802. export MULTI_NAME=${INSTALLDIR}uclibc/vlmcsdmulti${SUFFIX}
  1803. export CC=/opt/simplebuild/toolchains/fritz71xx/bin/mipsel-linux-uclibc-gcc
  1804. export PLATFORMFLAGS="-flto=jobserver -fwhole-program -march=4kec -mtune=4kec"
  1805. export FEATURES=full
  1806. export CFLAGS="$SMALLCC"
  1807. export LDFLAGS="$SMALLLD"
  1808. export THREADS=0
  1809. export CRYPTO=internal
  1810. make NOLRESOLV=1 $MAKEFLAGS
  1811. if [ $? != 0 ]; then
  1812. echo Error creating $CLIENT_NAME and/or $PROGRAM_NAME
  1813. exit $?
  1814. fi
  1815. export PROGRAM_NAME=${INSTALLDIR}static/vlmcsd${SUFFIX}-static
  1816. export CLIENT_NAME=${INSTALLDIR}static/vlmcs${SUFFIX}-static
  1817. export MULTI_NAME=${INSTALLDIR}static/vlmcsdmulti${SUFFIX}-static
  1818. export LDFLAGS="$SMALLLD -static"
  1819. make NOLRESOLV=1 $REUSEOBJFLAGS
  1820. if [ $? != 0 ]; then
  1821. echo Error creating $CLIENT_NAME and/or $PROGRAM_NAME
  1822. exit $?
  1823. fi
  1824. rm -f *_all.c vlmcsd.o vlmcs.o vlmcsdmulti.o 2> /dev/null
  1825. make NOLRESOLV=1 $REUSEOBJFLAGS $MULTI_NAME
  1826. if [ $? != 0 ]; then
  1827. echo Error creating $MULTI_NAME
  1828. exit $?
  1829. fi
  1830. export MULTI_NAME=${INSTALLDIR}uclibc/vlmcsdmulti${SUFFIX}
  1831. export LDFLAGS="$SMALLLD"
  1832. make NOLRESOLV=1 $REUSEOBJFLAGS $MULTI_NAME
  1833. if [ $? != 0 ]; then
  1834. echo Error creating $MULTI_NAME
  1835. exit $?
  1836. fi
  1837. #Fritzbox 7370 (mips32r2 big-endian) device specific, May or may not run on other devices
  1838. INSTALLDIR=binaries/Linux/mips/big-endian/
  1839. SUFFIX=-mips16-Fritzbox-33xx-73xx-74xx-63xx-64xx-uclibc
  1840. export PROGRAM_NAME=${INSTALLDIR}uclibc/vlmcsd${SUFFIX}
  1841. export CLIENT_NAME=${INSTALLDIR}uclibc/vlmcs${SUFFIX}
  1842. export MULTI_NAME=${INSTALLDIR}uclibc/vlmcsdmulti${SUFFIX}
  1843. export CC=/opt/simplebuild/toolchains/fritz73xxOS62/bin/mips-linux-cc
  1844. export PLATFORMFLAGS="-flto=jobserver -fwhole-program -march=24kc -mtune=24kc -mips16 -mdsp"
  1845. export FEATURES=full
  1846. export CFLAGS="$SMALLCC"
  1847. export LDFLAGS="$SMALLLD"
  1848. export THREADS=0
  1849. export CRYPTO=internal
  1850. make NOLRESOLV=1 $MAKEFLAGS
  1851. if [ $? != 0 ]; then
  1852. echo Error creating $CLIENT_NAME and/or $PROGRAM_NAME
  1853. exit $?
  1854. fi
  1855. export PROGRAM_NAME=${INSTALLDIR}static/vlmcsd${SUFFIX}-static
  1856. export CLIENT_NAME=${INSTALLDIR}static/vlmcs${SUFFIX}-static
  1857. export MULTI_NAME=${INSTALLDIR}static/vlmcsdmulti${SUFFIX}-static
  1858. export LDFLAGS="$SMALLLD -static"
  1859. make NOLRESOLV=1 $REUSEOBJFLAGS
  1860. if [ $? != 0 ]; then
  1861. echo Error creating $CLIENT_NAME and/or $PROGRAM_NAME
  1862. exit $?
  1863. fi
  1864. rm -f *_all.c vlmcsd.o vlmcs.o vlmcsdmulti.o 2> /dev/null
  1865. make NOLRESOLV=1 $REUSEOBJFLAGS $MULTI_NAME
  1866. if [ $? != 0 ]; then
  1867. echo Error creating $MULTI_NAME
  1868. exit $?
  1869. fi
  1870. export MULTI_NAME=${INSTALLDIR}uclibc/vlmcsdmulti${SUFFIX}
  1871. export LDFLAGS="$SMALLLD"
  1872. make NOLRESOLV=1 $REUSEOBJFLAGS $MULTI_NAME
  1873. if [ $? != 0 ]; then
  1874. echo Error creating $MULTI_NAME
  1875. exit $?
  1876. fi
  1877. #Fritzbox 7370 (mips32r2 big-endian) device specific with _PEDANTIC, May or may not run on other devices
  1878. INSTALLDIR=binaries/Linux/mips/big-endian/uclibc/
  1879. SUFFIX=-mips16-Fritzbox-33xx-73xx-74xx-63xx-64xx-uclibc-pedantic
  1880. export PROGRAM_NAME=${INSTALLDIR}vlmcsd${SUFFIX}
  1881. export CLIENT_NAME=${INSTALLDIR}vlmcs${SUFFIX}
  1882. export MULTI_NAME=${INSTALLDIR}vlmcsdmulti${SUFFIX}
  1883. export CC=/opt/simplebuild/toolchains/fritz73xxOS62/bin/mips-linux-cc
  1884. export PLATFORMFLAGS="-flto=jobserver -fwhole-program -march=24kc -mtune=24kc -mips16 -mdsp"
  1885. export FEATURES=full
  1886. export CFLAGS="$SMALLCC -D_PEDANTIC"
  1887. export LDFLAGS="$SMALLLD"
  1888. export THREADS=0
  1889. export CRYPTO=internal
  1890. make NOLRESOLV=1 $MAKEFLAGS $PROGRAM_NAME
  1891. if [ $? != 0 ]; then
  1892. echo Error creating $PROGRAM_NAME
  1893. exit $?
  1894. fi
  1895. #Fritzbox 7370 (mips32r2 big-endian) device specific inetd start only, May or may not run on other devices
  1896. INSTALLDIR=binaries/Linux/mips/big-endian/uclibc/
  1897. SUFFIX=-mips16-Fritzbox-33xx-73xx-74xx-63xx-64xx-uclibc-inetd
  1898. export PROGRAM_NAME=${INSTALLDIR}vlmcsd${SUFFIX}
  1899. export CLIENT_NAME=${INSTALLDIR}vlmcs${SUFFIX}
  1900. export MULTI_NAME=${INSTALLDIR}vlmcsdmulti${SUFFIX}
  1901. export CC=/opt/simplebuild/toolchains/fritz73xxOS62/bin/mips-linux-cc
  1902. export PLATFORMFLAGS="-flto=jobserver -fwhole-program -march=24kc -mtune=24kc -mips16 -mdsp"
  1903. export FEATURES=inetd
  1904. export CFLAGS="$SMALLCC"
  1905. export LDFLAGS="$SMALLLD"
  1906. export THREADS=0
  1907. export CRYPTO=internal
  1908. make NOLRESOLV=1 $MAKEFLAGS $PROGRAM_NAME
  1909. if [ $? != 0 ]; then
  1910. echo Error creating $PROGRAM_NAME
  1911. exit $?
  1912. fi
  1913. #Fritzbox 7370 (mips32r2 big-endian) device specific with pthreads, May or may not run on other devices
  1914. INSTALLDIR=binaries/Linux/mips/big-endian/uclibc/
  1915. SUFFIX=-mips16-Fritzbox-33xx-73xx-74xx-63xx-64xx-uclibc-threads
  1916. export PROGRAM_NAME=${INSTALLDIR}vlmcsd${SUFFIX}
  1917. export CLIENT_NAME=${INSTALLDIR}vlmcs${SUFFIX}
  1918. export MULTI_NAME=${INSTALLDIR}vlmcsdmulti${SUFFIX}
  1919. export CC=/opt/simplebuild/toolchains/fritz73xxOS62/bin/mips-linux-cc
  1920. export PLATFORMFLAGS="-flto=jobserver -fwhole-program -march=24kc -mtune=24kc -mips16 -mdsp"
  1921. export FEATURES=full
  1922. export CFLAGS="$SMALLCC"
  1923. export LDFLAGS="$SMALLLD -lpthread"
  1924. export THREADS=1
  1925. make NOLRESOLV=1 $MAKEFLAGS $PROGRAM_NAME
  1926. if [ $? != 0 ]; then
  1927. echo Error creating $PROGRAM_NAME
  1928. exit $?
  1929. fi
  1930. #Fritzbox 7370 (mips32r2 big-endian) device specific with OpenSSL support, May or may not run on other devices
  1931. INSTALLDIR=binaries/Linux/mips/big-endian/uclibc/
  1932. SUFFIX=-mips16-Fritzbox-33xx-73xx-74xx-63xx-64xx-uclibc-openssl0.9.8-soft-EXPERIMENTAL
  1933. export PROGRAM_NAME=${INSTALLDIR}vlmcsd${SUFFIX}
  1934. export CLIENT_NAME=${INSTALLDIR}vlmcs${SUFFIX}
  1935. export MULTI_NAME=${INSTALLDIR}vlmcsdmulti${SUFFIX}
  1936. export CC=/opt/simplebuild/toolchains/fritz73xxOS62/bin/mips-linux-cc
  1937. export PLATFORMFLAGS="-flto=jobserver -fwhole-program -march=24kc -mtune=24kc -mips16 -mdsp"
  1938. export FEATURES=full
  1939. export CFLAGS="$SMALLCC"
  1940. export LDFLAGS="$SMALLLD"
  1941. export THREADS=0
  1942. export CRYPTO=openssl_with_aes_soft
  1943. export OPENSSL_HMAC=0
  1944. make NOLRESOLV=1 $MAKEFLAGS
  1945. if [ $? != 0 ]; then
  1946. echo Error creating $CLIENT_NAME and/or $PROGRAM_NAME
  1947. exit $?
  1948. fi
  1949. rm -f *_all.c vlmcsd.o vlmcs.o vlmcsdmulti.o 2> /dev/null
  1950. make NOLRESOLV=1 $REUSEOBJFLAGS $MULTI_NAME
  1951. if [ $? != 0 ]; then
  1952. echo Error creating $MULTI_NAME
  1953. exit $?
  1954. fi
  1955. unset OPENSSL_HMAC
  1956. #make $MAKEFLAGS CLIENT_NAME=binaries/Linux/mips/big-endian/uclibc/vlmcs-mips32-uclibc CFLAGS="$SMALL -pipe -flto=jobserver -fwhole-program" PROGRAM_NAME=binaries/Linux/mips/big-endian/uclibc/vlmcsd-mips32-uclibc CC=/opt/toolchains/mips32eb-uclibc-0.9.33/usr/bin/mips-linux-cc && \
  1957. # Linux mips32 big-endian uclibc
  1958. INSTALLDIR=binaries/Linux/mips/big-endian/uclibc/
  1959. SUFFIX=-mips32-uclibc
  1960. export PROGRAM_NAME=${INSTALLDIR}vlmcsd${SUFFIX}
  1961. export CLIENT_NAME=${INSTALLDIR}vlmcs${SUFFIX}
  1962. export MULTI_NAME=${INSTALLDIR}vlmcsdmulti${SUFFIX}
  1963. export CC=/opt/toolchains/mips32eb-uclibc-0.9.33/usr/bin/mips-linux-cc
  1964. export PLATFORMFLAGS="-flto=jobserver -fwhole-program -mips32"
  1965. export FEATURES=full
  1966. export CFLAGS="$SMALLCC"
  1967. export LDFLAGS="$SMALLLD"
  1968. export THREADS=0
  1969. export CRYPTO=internal
  1970. make $MAKEFLAGS
  1971. if [ $? != 0 ]; then
  1972. echo Error creating $CLIENT_NAME and/or $PROGRAM_NAME
  1973. exit $?
  1974. fi
  1975. rm -f *_all.c vlmcsd.o vlmcs.o vlmcsdmulti.o 2> /dev/null
  1976. make $REUSEOBJFLAGS $MULTI_NAME
  1977. if [ $? != 0 ]; then
  1978. echo Error creating $MULTI_NAME
  1979. exit $?
  1980. fi
  1981. # Linux mips16 big-endian uclibc
  1982. INSTALLDIR=binaries/Linux/mips/big-endian/uclibc/
  1983. SUFFIX=-mips16-uclibc
  1984. export PROGRAM_NAME=${INSTALLDIR}vlmcsd${SUFFIX}
  1985. export CLIENT_NAME=${INSTALLDIR}vlmcs${SUFFIX}
  1986. export MULTI_NAME=${INSTALLDIR}vlmcsdmulti${SUFFIX}
  1987. export CC=/opt/toolchains/mips32eb-uclibc-0.9.33/usr/bin/mips-linux-cc
  1988. export PLATFORMFLAGS="-flto=jobserver -fwhole-program -mips16"
  1989. export FEATURES=full
  1990. export CFLAGS="$SMALLCC"
  1991. export LDFLAGS="$SMALLLD"
  1992. export THREADS=0
  1993. export CRYPTO=internal
  1994. make $MAKEFLAGS
  1995. if [ $? != 0 ]; then
  1996. echo Error creating $CLIENT_NAME and/or $PROGRAM_NAME
  1997. exit $?
  1998. fi
  1999. rm -f *_all.c vlmcsd.o vlmcs.o vlmcsdmulti.o 2> /dev/null
  2000. make $REUSEOBJFLAGS $MULTI_NAME
  2001. if [ $? != 0 ]; then
  2002. echo Error creating $MULTI_NAME
  2003. exit $?
  2004. fi
  2005. #Atheros ar7xxx/ar9xxx chips with OpenWRT toolchain (mips16 big-endian) device specific, May or may not run on other devices
  2006. INSTALLDIR=binaries/Linux/mips/big-endian/
  2007. SUFFIX=-mips16-openwrt-atheros-ar7xxx-ar9xxx-uclibc
  2008. export PROGRAM_NAME=${INSTALLDIR}uclibc/vlmcsd${SUFFIX}
  2009. export CLIENT_NAME=${INSTALLDIR}uclibc/vlmcs${SUFFIX}
  2010. export MULTI_NAME=${INSTALLDIR}uclibc/vlmcsdmulti${SUFFIX}
  2011. export CC=/opt/toolchains/mips-openwrt-linux-uclibc/bin/mips-openwrt-linux-gcc
  2012. export PLATFORMFLAGS="-flto=jobserver -fwhole-program -march=24kc -mips16"
  2013. export FEATURES=full
  2014. export CFLAGS="$SMALLCC -DNO_LIMIT"
  2015. export LDFLAGS="$SMALLLD"
  2016. export THREADS=0
  2017. export CRYPTO=internal
  2018. make $MAKEFLAGS
  2019. if [ $? != 0 ]; then
  2020. echo Error creating $CLIENT_NAME and/or $PROGRAM_NAME
  2021. exit $?
  2022. fi
  2023. rm -f *_all.c vlmcsd.o vlmcs.o vlmcsdmulti.o 2> /dev/null
  2024. make $REUSEOBJFLAGS $MULTI_NAME
  2025. if [ $? != 0 ]; then
  2026. echo Error creating $MULTI_NAME
  2027. exit $?
  2028. fi
  2029. #Atheros ar7xxx/ar9xxx chips with OpenWRT toolchain (mips16 big-endian) device specific, May or may not run on other devices
  2030. INSTALLDIR=binaries/Linux/mips/big-endian/
  2031. SUFFIX=-mips16-openwrt-atheros-ar7xxx-ar9xxx-musl
  2032. export PROGRAM_NAME=${INSTALLDIR}musl/vlmcsd${SUFFIX}
  2033. export CLIENT_NAME=${INSTALLDIR}musl/vlmcs${SUFFIX}
  2034. export MULTI_NAME=${INSTALLDIR}musl/vlmcsdmulti${SUFFIX}
  2035. export CC=/opt/toolchains/mips_34kc_gcc-4.9-linaro_musl-1.1.6-mips16/bin/mips-openwrt-linux-musl-gcc-4.9.2
  2036. export PLATFORMFLAGS="-flto=jobserver -fwhole-program -march=24kc -mips16"
  2037. export FEATURES=full
  2038. export CFLAGS="$SMALLCC"
  2039. export LDFLAGS="$SMALLLD"
  2040. export THREADS=0
  2041. export CRYPTO=internal
  2042. make $MAKEFLAGS
  2043. if [ $? != 0 ]; then
  2044. echo Error creating $CLIENT_NAME and/or $PROGRAM_NAME
  2045. exit $?
  2046. fi
  2047. export PROGRAM_NAME=${INSTALLDIR}static/vlmcsd${SUFFIX}-static
  2048. export CLIENT_NAME=${INSTALLDIR}static/vlmcs${SUFFIX}-static
  2049. export MULTI_NAME=${INSTALLDIR}static/vlmcsdmulti${SUFFIX}-static
  2050. export LDFLAGS="$LDFLAGS -static"
  2051. make $REUSEOBJFLAGS
  2052. if [ $? != 0 ]; then
  2053. echo Error creating $CLIENT_NAME and/or $PROGRAM_NAME
  2054. exit $?
  2055. fi
  2056. rm -f *_all.c vlmcsd.o vlmcs.o vlmcsdmulti.o 2> /dev/null
  2057. make $REUSEOBJFLAGS $MULTI_NAME
  2058. if [ $? != 0 ]; then
  2059. echo Error creating $MULTI_NAME
  2060. exit $?
  2061. fi
  2062. export MULTI_NAME=${INSTALLDIR}musl/vlmcsdmulti${SUFFIX}
  2063. export LDFLAGS="$SMALLLD"
  2064. make $REUSEOBJFLAGS $MULTI_NAME
  2065. if [ $? != 0 ]; then
  2066. echo Error creating $MULTI_NAME
  2067. exit $?
  2068. fi
  2069. #Atheros ar7xxx/ar9xxx chips with OpenWRT toolchain (mips32r2 big-endian) device specific, May or may not run on other devices
  2070. INSTALLDIR=binaries/Linux/mips/big-endian/
  2071. SUFFIX=-mips32r2-openwrt-atheros-ar7xxx-ar9xxx-uclibc
  2072. export PROGRAM_NAME=${INSTALLDIR}uclibc/vlmcsd${SUFFIX}
  2073. export CLIENT_NAME=${INSTALLDIR}uclibc/vlmcs${SUFFIX}
  2074. export MULTI_NAME=${INSTALLDIR}uclibc/vlmcsdmulti${SUFFIX}
  2075. export CC=/opt/toolchains/mips-openwrt-linux-uclibc/bin/mips-openwrt-linux-gcc
  2076. export PLATFORMFLAGS="-flto=jobserver -fwhole-program -march=24kc"
  2077. export FEATURES=full
  2078. export CFLAGS="$SMALLCC -DNO_LIMIT"
  2079. export LDFLAGS="$SMALLLD"
  2080. export THREADS=0
  2081. export CRYPTO=internal
  2082. make $MAKEFLAGS
  2083. if [ $? != 0 ]; then
  2084. echo Error creating $CLIENT_NAME and/or $PROGRAM_NAME
  2085. exit $?
  2086. fi
  2087. export PROGRAM_NAME=${INSTALLDIR}static/vlmcsd${SUFFIX}-static
  2088. export CLIENT_NAME=${INSTALLDIR}static/vlmcs${SUFFIX}-static
  2089. export MULTI_NAME=${INSTALLDIR}static/vlmcsdmulti${SUFFIX}-static
  2090. export LDFLAGS="$SMALLLD -static"
  2091. make $REUSEOBJFLAGS
  2092. if [ $? != 0 ]; then
  2093. echo Error creating $CLIENT_NAME and/or $PROGRAM_NAME
  2094. exit $?
  2095. fi
  2096. rm -f *_all.c vlmcsd.o vlmcs.o vlmcsdmulti.o 2> /dev/null
  2097. make $REUSEOBJFLAGS $MULTI_NAME
  2098. if [ $? != 0 ]; then
  2099. echo Error creating $MULTI_NAME
  2100. exit $?
  2101. fi
  2102. export MULTI_NAME=${INSTALLDIR}uclibc/vlmcsdmulti${SUFFIX}
  2103. export LDFLAGS="$SMALLLD"
  2104. make $REUSEOBJFLAGS $MULTI_NAME
  2105. if [ $? != 0 ]; then
  2106. echo Error creating $MULTI_NAME
  2107. exit $?
  2108. fi
  2109. # Linux mips16 big-endian uclibc threads
  2110. INSTALLDIR=binaries/Linux/mips/big-endian/uclibc/
  2111. SUFFIX=-mips16-uclibc-threads
  2112. export PROGRAM_NAME=${INSTALLDIR}vlmcsd${SUFFIX}
  2113. export CLIENT_NAME=${INSTALLDIR}vlmcs${SUFFIX}
  2114. export MULTI_NAME=${INSTALLDIR}vlmcsdmulti${SUFFIX}
  2115. export CC=/opt/toolchains/mips32eb-uclibc-0.9.33/usr/bin/mips-linux-cc
  2116. export PLATFORMFLAGS="-flto=jobserver -fwhole-program -mips16"
  2117. export FEATURES=full
  2118. export CFLAGS="$SMALLCC"
  2119. export LDFLAGS="$SMALLLD -lpthread"
  2120. export THREADS=1
  2121. export CRYPTO=internal
  2122. make $MAKEFLAGS $PROGRAM_NAME
  2123. if [ $? != 0 ]; then
  2124. echo Error creating $CLIENT_NAME and/or $PROGRAM_NAME
  2125. exit $?
  2126. fi
  2127. # Linux mips32 big-endian glibc
  2128. INSTALLDIR=binaries/Linux/mips/big-endian/glibc/
  2129. SUFFIX=-mips32-glibc
  2130. export PROGRAM_NAME=${INSTALLDIR}vlmcsd${SUFFIX}
  2131. export CLIENT_NAME=${INSTALLDIR}vlmcs${SUFFIX}
  2132. export MULTI_NAME=${INSTALLDIR}vlmcsdmulti${SUFFIX}
  2133. export CC=/opt/toolchains/mips32eb-glibc-2.19/usr/bin/mips-linux-cc
  2134. export PLATFORMFLAGS="-flto=jobserver -fwhole-program"
  2135. export FEATURES=full
  2136. export CFLAGS="$SMALLCC"
  2137. export LDFLAGS="$SMALLLD"
  2138. export THREADS=0
  2139. export CRYPTO=internal
  2140. make $MAKEFLAGS
  2141. if [ $? != 0 ]; then
  2142. echo Error creating $CLIENT_NAME and/or $PROGRAM_NAME
  2143. exit $?
  2144. fi
  2145. rm -f *_all.c vlmcsd.o vlmcs.o vlmcsdmulti.o 2> /dev/null
  2146. make $REUSEOBJFLAGS $MULTI_NAME
  2147. if [ $? != 0 ]; then
  2148. echo Error creating $MULTI_NAME
  2149. exit $?
  2150. fi
  2151. # Linux mips16 big-endian glibc
  2152. INSTALLDIR=binaries/Linux/mips/big-endian/glibc/
  2153. SUFFIX=-mips16-glibc
  2154. export PROGRAM_NAME=${INSTALLDIR}vlmcsd${SUFFIX}
  2155. export CLIENT_NAME=${INSTALLDIR}vlmcs${SUFFIX}
  2156. export MULTI_NAME=${INSTALLDIR}vlmcsdmulti${SUFFIX}
  2157. export CC=/opt/toolchains/mips32eb-glibc-2.19/usr/bin/mips-linux-cc
  2158. export PLATFORMFLAGS="-flto=jobserver -fwhole-program -mips16"
  2159. export FEATURES=full
  2160. export CFLAGS="$SMALLCC"
  2161. export LDFLAGS="$SMALLLD"
  2162. export THREADS=0
  2163. export CRYPTO=internal
  2164. make $MAKEFLAGS
  2165. if [ $? != 0 ]; then
  2166. echo Error creating $CLIENT_NAME and/or $PROGRAM_NAME
  2167. exit $?
  2168. fi
  2169. rm -f *_all.c vlmcsd.o vlmcs.o vlmcsdmulti.o 2> /dev/null
  2170. make $REUSEOBJFLAGS $MULTI_NAME
  2171. if [ $? != 0 ]; then
  2172. echo Error creating $MULTI_NAME
  2173. exit $?
  2174. fi
  2175. #Linux mips32 big-endian musl
  2176. INSTALLDIR=binaries/Linux/mips/big-endian/
  2177. SUFFIX=-mips32-musl
  2178. export PROGRAM_NAME=${INSTALLDIR}musl/vlmcsd${SUFFIX}
  2179. export CLIENT_NAME=${INSTALLDIR}musl/vlmcs${SUFFIX}
  2180. export MULTI_NAME=${INSTALLDIR}musl/vlmcsdmulti${SUFFIX}
  2181. export CC=/opt/toolchains/mips32eb-musl/usr/bin/mips-linux-cc
  2182. export PLATFORMFLAGS="-flto=jobserver -fwhole-program -mips32"
  2183. export FEATURES=full
  2184. export CFLAGS="$SMALLCC"
  2185. export LDFLAGS="$SMALLLD"
  2186. export THREADS=0
  2187. export CRYPTO=internal
  2188. export NOPROCFS=0
  2189. export AUXV=1
  2190. make $MAKEFLAGS
  2191. if [ $? != 0 ]; then
  2192. echo Error creating $CLIENT_NAME and/or $PROGRAM_NAME
  2193. exit $?
  2194. fi
  2195. export PROGRAM_NAME=${INSTALLDIR}static/vlmcsd${SUFFIX}-static
  2196. export CLIENT_NAME=${INSTALLDIR}static/vlmcs${SUFFIX}-static
  2197. export MULTI_NAME=${INSTALLDIR}static/vlmcsdmulti${SUFFIX}-static
  2198. export LDFLAGS="$SMALLLD -static"
  2199. make $REUSEOBJFLAGS
  2200. if [ $? != 0 ]; then
  2201. echo Error creating $CLIENT_NAME and/or $PROGRAM_NAME
  2202. exit $?
  2203. fi
  2204. rm -f *_all.c vlmcsd.o vlmcs.o vlmcsdmulti.o 2> /dev/null
  2205. make $REUSEOBJFLAGS $MULTI_NAME
  2206. if [ $? != 0 ]; then
  2207. echo Error creating $MULTI_NAME
  2208. exit $?
  2209. fi
  2210. export MULTI_NAME=${INSTALLDIR}musl/vlmcsdmulti${SUFFIX}
  2211. export LDFLAGS="$SMALLLD"
  2212. make $REUSEOBJFLAGS $MULTI_NAME
  2213. if [ $? != 0 ]; then
  2214. echo Error creating $MULTI_NAME
  2215. exit $?
  2216. fi
  2217. #Linux mips16 little-endian musl soft-float
  2218. INSTALLDIR=binaries/Linux/mips/little-endian/
  2219. SUFFIX=-mips16el-musl
  2220. export PROGRAM_NAME=${INSTALLDIR}musl/vlmcsd${SUFFIX}
  2221. export CLIENT_NAME=${INSTALLDIR}musl/vlmcs${SUFFIX}
  2222. export MULTI_NAME=${INSTALLDIR}musl/vlmcsdmulti${SUFFIX}
  2223. export CC=/opt/toolchains/mips32el-mips16-musl/usr/bin/mipsel-linux-cc
  2224. export PLATFORMFLAGS="-flto=jobserver -fwhole-program -mips16"
  2225. export FEATURES=full
  2226. export CFLAGS="$SMALLCC"
  2227. export LDFLAGS="$SMALLLD"
  2228. export THREADS=0
  2229. export CRYPTO=internal
  2230. export NOPROCFS=0
  2231. export AUXV=1
  2232. make $MAKEFLAGS
  2233. if [ $? != 0 ]; then
  2234. echo Error creating $CLIENT_NAME and/or $PROGRAM_NAME
  2235. exit $?
  2236. fi
  2237. export PROGRAM_NAME=${INSTALLDIR}static/vlmcsd${SUFFIX}-static
  2238. export CLIENT_NAME=${INSTALLDIR}static/vlmcs${SUFFIX}-static
  2239. export MULTI_NAME=${INSTALLDIR}static/vlmcsdmulti${SUFFIX}-static
  2240. export LDFLAGS="$SMALLLD -static"
  2241. make $REUSEOBJFLAGS
  2242. if [ $? != 0 ]; then
  2243. echo Error creating $CLIENT_NAME and/or $PROGRAM_NAME
  2244. exit $?
  2245. fi
  2246. rm -f *_all.c vlmcsd.o vlmcs.o vlmcsdmulti.o 2> /dev/null
  2247. make $REUSEOBJFLAGS $MULTI_NAME
  2248. if [ $? != 0 ]; then
  2249. echo Error creating $MULTI_NAME
  2250. exit $?
  2251. fi
  2252. export MULTI_NAME=${INSTALLDIR}musl/vlmcsdmulti${SUFFIX}
  2253. export LDFLAGS="$SMALLLD"
  2254. make $REUSEOBJFLAGS $MULTI_NAME
  2255. if [ $? != 0 ]; then
  2256. echo Error creating $MULTI_NAME
  2257. exit $?
  2258. fi
  2259. #Linux mips16 little-endian musl fpu
  2260. INSTALLDIR=binaries/Linux/mips/little-endian/
  2261. SUFFIX=-mips16el-musl-fpu
  2262. export PROGRAM_NAME=${INSTALLDIR}static/vlmcsd${SUFFIX}-static
  2263. export CLIENT_NAME=${INSTALLDIR}static/vlmcs${SUFFIX}-static
  2264. export MULTI_NAME=${INSTALLDIR}static/vlmcsdmulti${SUFFIX}-static
  2265. export CC=/opt/toolchains/mips32el-mips16-musl-fpu/usr/bin/mipsel-linux-cc
  2266. export PLATFORMFLAGS="-flto=jobserver -fwhole-program -mips16"
  2267. export FEATURES=full
  2268. export CFLAGS="$SMALLCC"
  2269. export LDFLAGS="$SMALLLD -static"
  2270. export THREADS=0
  2271. export CRYPTO=internal
  2272. export NOPROCFS=0
  2273. export AUXV=1
  2274. make $MAKEFLAGS
  2275. if [ $? != 0 ]; then
  2276. echo Error creating $CLIENT_NAME and/or $PROGRAM_NAME
  2277. exit $?
  2278. fi
  2279. rm -f *_all.c vlmcsd.o vlmcs.o vlmcsdmulti.o 2> /dev/null
  2280. make $REUSEOBJFLAGS $MULTI_NAME
  2281. if [ $? != 0 ]; then
  2282. echo Error creating $MULTI_NAME
  2283. exit $?
  2284. fi
  2285. # Linux x86 uclibc
  2286. INSTALLDIR=binaries/Linux/intel/uclibc/
  2287. SUFFIX=-x86-uclibc
  2288. export PROGRAM_NAME=${INSTALLDIR}vlmcsd${SUFFIX}
  2289. export CLIENT_NAME=${INSTALLDIR}vlmcs${SUFFIX}
  2290. export MULTI_NAME=${INSTALLDIR}vlmcsdmulti${SUFFIX}
  2291. export CC=/opt/toolchains/i486-uclibc-0.9.33/bin/i486-linux-gcc
  2292. export PLATFORMFLAGS="-flto=jobserver -fwhole-program -m32 -march=i486 -mtune=generic"
  2293. export FEATURES=full
  2294. export CFLAGS="$SMALLCC"
  2295. export LDFLAGS="$SMALLLD -Wl,--hash-style=gnu"
  2296. export THREADS=0
  2297. export CRYPTO=internal
  2298. export NOPROCFS=0
  2299. export AUXV=0
  2300. make $MAKEFLAGS
  2301. if [ $? != 0 ]; then
  2302. echo Error creating $CLIENT_NAME and/or $PROGRAM_NAME
  2303. exit $?
  2304. fi
  2305. rm -f *_all.c vlmcsd.o vlmcs.o vlmcsdmulti.o 2> /dev/null
  2306. make $REUSEOBJFLAGS $MULTI_NAME
  2307. if [ $? != 0 ]; then
  2308. echo Error creating $MULTI_NAME
  2309. exit $?
  2310. fi
  2311. #make $MAKEFLAGS CLIENT_NAME=binaries/Linux/intel/glibc/vlmcs-x64-glibc LDFLAGS="-Wl,--hash-style=gnu" CFLAGS="$SMALL -pipe -flto=jobserver -fwhole-program" PROGRAM_NAME=binaries/Linux/intel/glibc/vlmcsd-x64-glibc CC=/opt/toolchains/x86_64-glibc-2.19/usr/bin/x86_64-linux-gcc PLATFORMFLAGS="-m64 -mtune=generic"&& \
  2312. # Linux x64 glibc
  2313. INSTALLDIR=binaries/Linux/intel/glibc/
  2314. SUFFIX=-x64-glibc
  2315. export PROGRAM_NAME=${INSTALLDIR}vlmcsd${SUFFIX}
  2316. export CLIENT_NAME=${INSTALLDIR}vlmcs${SUFFIX}
  2317. export MULTI_NAME=${INSTALLDIR}vlmcsdmulti${SUFFIX}
  2318. export CC=/opt/toolchains/x86_64-glibc-2.19/usr/bin/x86_64-linux-gcc
  2319. export PLATFORMFLAGS="-flto=jobserver -fwhole-program -m64 -mtune=generic"
  2320. export FEATURES=full
  2321. export CFLAGS="$SMALLCC"
  2322. export LDFLAGS="$SMALLLD -Wl,--hash-style=gnu"
  2323. export THREADS=0
  2324. export CRYPTO=internal
  2325. make $MAKEFLAGS
  2326. if [ $? != 0 ]; then
  2327. echo Error creating $CLIENT_NAME and/or $PROGRAM_NAME
  2328. exit $?
  2329. fi
  2330. rm -f *_all.c vlmcsd.o vlmcs.o vlmcsdmulti.o 2> /dev/null
  2331. make $REUSEOBJFLAGS $MULTI_NAME
  2332. if [ $? != 0 ]; then
  2333. echo Error creating $MULTI_NAME
  2334. exit $?
  2335. fi
  2336. #Linux Sparc32v7 glibc
  2337. INSTALLDIR=binaries/Linux/sparc32/glibc/
  2338. SUFFIX=-sparc32v7-glibc
  2339. export PROGRAM_NAME=${INSTALLDIR}vlmcsd${SUFFIX}
  2340. export CLIENT_NAME=${INSTALLDIR}vlmcs${SUFFIX}
  2341. export MULTI_NAME=${INSTALLDIR}vlmcsdmulti${SUFFIX}
  2342. export CC=/opt/toolchains/sparc32-glibc-gcc-4.7.4/bin/sparc-buildroot-linux-gnu-gcc
  2343. export PLATFORMFLAGS="-flto=jobserver -fwhole-program -mcpu=v7"
  2344. export FEATURES=full
  2345. export CFLAGS="$SMALLCC"
  2346. export LDFLAGS="$SMALLLD -lpthread"
  2347. export THREADS=0
  2348. export CRYPTO=internal
  2349. make $MAKEFLAGS
  2350. if [ $? != 0 ]; then
  2351. echo Error creating $CLIENT_NAME and/or $PROGRAM_NAME
  2352. exit $?
  2353. fi
  2354. rm -f *_all.c vlmcsd.o vlmcs.o vlmcsdmulti.o 2> /dev/null
  2355. make $REUSEOBJFLAGS $MULTI_NAME
  2356. if [ $? != 0 ]; then
  2357. echo Error creating $MULTI_NAME
  2358. exit $?
  2359. fi
  2360. #make $MAKEFLAGS binaries/Linux/intel/glibc/vlmcsd-x64-glibc-threads CLIENT_NAME=binaries/Linux/intel/glibc/vlmcs-x64-glibc-threads THREADS=1 LDFLAGS="-Wl,--hash-style=gnu -lpthread" CFLAGS="-pipe -flto=jobserver -fwhole-program" PROGRAM_NAME=binaries/Linux/intel/glibc/vlmcsd-x64-glibc-threads CC=/opt/toolchains/x86_64-glibc-2.19/usr/bin/x86_64-linux-gcc PLATFORMFLAGS="-m64 -mtune=generic"&& \
  2361. # Linux x64 glibc with threads
  2362. INSTALLDIR=binaries/Linux/intel/glibc/
  2363. SUFFIX=-x64-glibc-threads
  2364. export PROGRAM_NAME=${INSTALLDIR}vlmcsd${SUFFIX}
  2365. export CLIENT_NAME=${INSTALLDIR}vlmcs${SUFFIX}
  2366. export MULTI_NAME=${INSTALLDIR}vlmcsdmulti${SUFFIX}
  2367. export CC=/opt/toolchains/x86_64-glibc-2.19/usr/bin/x86_64-linux-gcc
  2368. export PLATFORMFLAGS="-flto=jobserver -fwhole-program -m64 -mtune=generic"
  2369. export FEATURES=full
  2370. export CFLAGS="$SMALLCC"
  2371. export LDFLAGS="$SMALLLD -Wl,--hash-style=gnu -lpthread"
  2372. export THREADS=1
  2373. export CRYPTO=internal
  2374. make $MAKEFLAGS $PROGRAM_NAME
  2375. if [ $? != 0 ]; then
  2376. echo Error creating $CLIENT_NAME and/or $PROGRAM_NAME
  2377. exit $?
  2378. fi
  2379. #make $MAKEFLAGS LDFLAGS="-Wl,--hash-style=gnu" CLIENT_NAME=binaries/Linux/intel/glibc/vlmcs-x64-glibc-openssl1.0.0-hard-EXPERIMENTAL CRYPTO=openssl_with_aes CFLAGS="$SMALL -pipe -flto=jobserver -fwhole-program" PROGRAM_NAME=binaries/Linux/intel/glibc/vlmcsd-x64-glibc-openssl1.0.0-hard-EXPERIMENTAL CC=/opt/toolchains/x86_64-glibc-2.19/usr/bin/x86_64-linux-gcc PLATFORMFLAGS="-m64 -mtune=generic" && \
  2380. # Linux x64 glibc with OpenSSL 1.0.x support
  2381. INSTALLDIR=binaries/Linux/intel/glibc/
  2382. SUFFIX=-x64-glibc-openssl1.0.0-hard-EXPERIMENTAL
  2383. export PROGRAM_NAME=${INSTALLDIR}vlmcsd${SUFFIX}
  2384. export CLIENT_NAME=${INSTALLDIR}vlmcs${SUFFIX}
  2385. export MULTI_NAME=${INSTALLDIR}vlmcsdmulti${SUFFIX}
  2386. export CC=/opt/toolchains/x86_64-glibc-2.19/usr/bin/x86_64-linux-gcc
  2387. export PLATFORMFLAGS="-flto=jobserver -fwhole-program -m64 -mtune=generic"
  2388. export FEATURES=full
  2389. export CFLAGS="$SMALLCC"
  2390. export LDFLAGS="$SMALLLD -Wl,--hash-style=gnu"
  2391. export THREADS=0
  2392. export CRYPTO=openssl_with_aes
  2393. make $MAKEFLAGS
  2394. if [ $? != 0 ]; then
  2395. echo Error creating $CLIENT_NAME and/or $PROGRAM_NAME
  2396. exit $?
  2397. fi
  2398. rm -f *_all.c vlmcsd.o vlmcs.o vlmcsdmulti.o 2> /dev/null
  2399. make $REUSEOBJFLAGS $MULTI_NAME
  2400. if [ $? != 0 ]; then
  2401. echo Error creating $MULTI_NAME
  2402. exit $?
  2403. fi
  2404. # Linux x64 musl
  2405. INSTALLDIR=binaries/Linux/intel/
  2406. SUFFIX=-x64-musl
  2407. export PROGRAM_NAME=${INSTALLDIR}musl/vlmcsd${SUFFIX}
  2408. export CLIENT_NAME=${INSTALLDIR}musl/vlmcs${SUFFIX}
  2409. export MULTI_NAME=${INSTALLDIR}musl/vlmcsdmulti${SUFFIX}
  2410. export CC=/opt/toolchains/x86_64_gcc-4.9-linaro_musl-1.1.6/bin/x86_64-openwrt-linux-musl-gcc-4.9.2
  2411. #export CC=/opt/toolchains/x86_64-musl/usr/bin/x86_64-linux-gcc
  2412. export PLATFORMFLAGS="-flto=jobserver -fwhole-program -m64 -mtune=generic"
  2413. export FEATURES=full
  2414. export CFLAGS="$SMALLCC"
  2415. export LDFLAGS="$SMALLLD -Wl,--hash-style=gnu"
  2416. export THREADS=0
  2417. export CRYPTO=internal
  2418. export NOPROCFS=0
  2419. export AUXV=1
  2420. make $MAKEFLAGS
  2421. if [ $? != 0 ]; then
  2422. echo Error creating $CLIENT_NAME and/or $PROGRAM_NAME
  2423. exit $?
  2424. fi
  2425. export PROGRAM_NAME=${INSTALLDIR}static/vlmcsd${SUFFIX}-static
  2426. export CLIENT_NAME=${INSTALLDIR}static/vlmcs${SUFFIX}-static
  2427. export MULTI_NAME=${INSTALLDIR}static/vlmcsdmulti${SUFFIX}-static
  2428. export LDFLAGS="$SMALLLD -Wl,--hash-style=gnu -static"
  2429. make $REUSEOBJFLAGS
  2430. if [ $? != 0 ]; then
  2431. echo Error creating $CLIENT_NAME and/or $PROGRAM_NAME
  2432. exit $?
  2433. fi
  2434. rm -f *_all.c vlmcsd.o vlmcs.o vlmcsdmulti.o 2> /dev/null
  2435. make $REUSEOBJFLAGS $MULTI_NAME
  2436. if [ $? != 0 ]; then
  2437. echo Error creating $MULTI_NAME
  2438. exit $?
  2439. fi
  2440. export MULTI_NAME=${INSTALLDIR}musl/vlmcsdmulti${SUFFIX}
  2441. export LDFLAGS="$SMALLLD -Wl,--hash-style=gnu"
  2442. make $REUSEOBJFLAGS $MULTI_NAME
  2443. if [ $? != 0 ]; then
  2444. echo Error creating $MULTI_NAME
  2445. exit $?
  2446. fi
  2447. #make $MAKEFLAGS CC=/opt/toolchains/x86_64-uclibc-0.9.33/bin/x86_64-linux-gcc LDFLAGS="-Wl,--hash-style=gnu" CLIENT_NAME=binaries/Linux/intel/uclibc/vlmcs-x64-uclibc PROGRAM_NAME=binaries/Linux/intel/uclibc/vlmcsd-x64-uclibc CFLAGS="$SMALL -flto=jobserver -fwhole-program -pipe -fno-stack-protector" && \
  2448. # Linux x64 uclibc
  2449. INSTALLDIR=binaries/Linux/intel/uclibc/
  2450. SUFFIX=-x64-uclibc
  2451. export PROGRAM_NAME=${INSTALLDIR}vlmcsd${SUFFIX}
  2452. export CLIENT_NAME=${INSTALLDIR}vlmcs${SUFFIX}
  2453. export MULTI_NAME=${INSTALLDIR}vlmcsdmulti${SUFFIX}
  2454. export CC=/opt/toolchains/x86_64-uclibc-0.9.33/bin/x86_64-linux-gcc
  2455. export PLATFORMFLAGS="-flto=jobserver -fwhole-program -m64 -mtune=generic"
  2456. export FEATURES=full
  2457. export CFLAGS="$SMALLCC"
  2458. export LDFLAGS="$SMALLLD -Wl,--hash-style=gnu"
  2459. export THREADS=0
  2460. export CRYPTO=internal
  2461. export NOPROCFS=0
  2462. export AUXV=0
  2463. make $MAKEFLAGS
  2464. if [ $? != 0 ]; then
  2465. echo Error creating $CLIENT_NAME and/or $PROGRAM_NAME
  2466. exit $?
  2467. fi
  2468. rm -f *_all.c vlmcsd.o vlmcs.o vlmcsdmulti.o 2> /dev/null
  2469. make $REUSEOBJFLAGS $MULTI_NAME
  2470. if [ $? != 0 ]; then
  2471. echo Error creating $MULTI_NAME
  2472. exit $?
  2473. fi
  2474. # mips32 little-endian DD-WRT toolchain with gcc 4.1.0
  2475. export CC=/opt/simplebuild/toolchains/ddwrt410/bin/mipsel-linux-gcc
  2476. INSTALLDIR=binaries/Linux/mips/little-endian/
  2477. SUFFIX=-mips32el-ddwrt-gcc$($CC -dumpversion)-uclibc
  2478. export PROGRAM_NAME=${INSTALLDIR}uclibc/vlmcsd${SUFFIX}
  2479. export CLIENT_NAME=${INSTALLDIR}uclibc/vlmcs${SUFFIX}
  2480. export MULTI_NAME=${INSTALLDIR}uclibc/vlmcsdmulti${SUFFIX}
  2481. export PLATFORMFLAGS="-pipe -mips32"
  2482. export FEATURES=full
  2483. export CFLAGS="$SMALLCC"
  2484. export LDFLAGS="-fwhole-program"
  2485. export THREADS=0
  2486. export CRYPTO=internal
  2487. make $MAKEFLAGS CAT=2 $PROGRAM_NAME $MULTI_NAME $CLIENT_NAME
  2488. if [ $? != 0 ]; then
  2489. echo Error creating $PROGRAM_NAME, $MULTI_NAME and/or $CLIENT_NAME
  2490. exit $?
  2491. fi
  2492. export PROGRAM_NAME=${INSTALLDIR}static/vlmcsd${SUFFIX}-static
  2493. export CLIENT_NAME=${INSTALLDIR}static/vlmcs${SUFFIX}-static
  2494. export MULTI_NAME=${INSTALLDIR}static/vlmcsdmulti${SUFFIX}-static
  2495. export LDFLAGS="-fwhole-program -static"
  2496. make $REUSEOBJFLAGS CAT=2 $PROGRAM_NAME $MULTI_NAME $CLIENT_NAME
  2497. if [ $? != 0 ]; then
  2498. echo Error creating $PROGRAM_NAME, $MULTI_NAME and/or $CLIENT_NAME
  2499. exit $?
  2500. fi
  2501. #Linux mips32 little-endian uclibc
  2502. INSTALLDIR=binaries/Linux/mips/little-endian/
  2503. SUFFIX=-mips32el-uclibc
  2504. export PROGRAM_NAME=${INSTALLDIR}uclibc/vlmcsd${SUFFIX}
  2505. export CLIENT_NAME=${INSTALLDIR}uclibc/vlmcs${SUFFIX}
  2506. export MULTI_NAME=${INSTALLDIR}uclibc/vlmcsdmulti${SUFFIX}
  2507. export CC=/opt/toolchains/mips32el-uclibc-0.9.33/bin/mipsel-linux-gcc
  2508. export PLATFORMFLAGS="-flto=jobserver -fwhole-program -mips32"
  2509. export FEATURES=full
  2510. export CFLAGS="$SMALLCC"
  2511. export LDFLAGS="$SMALLLD"
  2512. export THREADS=0
  2513. export CRYPTO=internal
  2514. make $MAKEFLAGS
  2515. if [ $? != 0 ]; then
  2516. echo Error creating $CLIENT_NAME and/or $PROGRAM_NAME
  2517. exit $?
  2518. fi
  2519. export PROGRAM_NAME=${INSTALLDIR}static/vlmcsd${SUFFIX}-static
  2520. export CLIENT_NAME=${INSTALLDIR}static/vlmcs${SUFFIX}-static
  2521. export MULTI_NAME=${INSTALLDIR}static/vlmcsdmulti${SUFFIX}-static
  2522. export LDFLAGS="$SMALLLD -static"
  2523. make $REUSEOBJFLAGS
  2524. if [ $? != 0 ]; then
  2525. echo Error creating $CLIENT_NAME and/or $PROGRAM_NAME
  2526. exit $?
  2527. fi
  2528. rm -f *_all.c vlmcsd.o vlmcs.o vlmcsdmulti.o 2> /dev/null
  2529. make $REUSEOBJFLAGS $MULTI_NAME
  2530. if [ $? != 0 ]; then
  2531. echo Error creating $MULTI_NAME
  2532. exit $?
  2533. fi
  2534. export MULTI_NAME=${INSTALLDIR}uclibc/vlmcsdmulti${SUFFIX}
  2535. export LDFLAGS="$SMALLLD"
  2536. make $REUSEOBJFLAGS $MULTI_NAME
  2537. if [ $? != 0 ]; then
  2538. echo Error creating $MULTI_NAME
  2539. exit $?
  2540. fi
  2541. #Linux armv6 hard-float little-endian. Used on Raspberry Pi with Raspbian.
  2542. #The hard-float ABI cannot be combined with thumb.
  2543. #You may wish to use armv5el-thumb instead because the binary is smaller
  2544. INSTALLDIR=binaries/Linux/arm/little-endian/glibc/
  2545. SUFFIX=-armv6hf-Raspberry-glibc
  2546. export PROGRAM_NAME=${INSTALLDIR}vlmcsd${SUFFIX}
  2547. export CLIENT_NAME=${INSTALLDIR}vlmcs${SUFFIX}
  2548. export MULTI_NAME=${INSTALLDIR}vlmcsdmulti${SUFFIX}
  2549. export CC=/opt/toolchains/armhfv6-glibc-2.19/bin/arm-linux-gcc
  2550. export PLATFORMFLAGS="-flto=jobserver -fwhole-program -march=armv6zk -mfpu=vfp -mfloat-abi=hard -mtune=arm1176jzf-s"
  2551. export FEATURES=full
  2552. export CFLAGS="$SMALLCC"
  2553. export LDFLAGS="$SMALLLD -Wl,--hash-style=gnu"
  2554. export THREADS=0
  2555. export CRYPTO=internal
  2556. make $MAKEFLAGS
  2557. if [ $? != 0 ]; then
  2558. echo Error creating $CLIENT_NAME and/or $PROGRAM_NAME
  2559. exit $?
  2560. fi
  2561. rm -f *_all.c vlmcsd.o vlmcs.o vlmcsdmulti.o 2> /dev/null
  2562. make $REUSEOBJFLAGS $MULTI_NAME
  2563. if [ $? != 0 ]; then
  2564. echo Error creating $MULTI_NAME
  2565. exit $?
  2566. fi
  2567. # Linux arm big-endian uclibc
  2568. INSTALLDIR=binaries/Linux/arm/big-endian/
  2569. SUFFIX=-armeb-nslu2-uclibc
  2570. export PROGRAM_NAME=${INSTALLDIR}uclibc/vlmcsd${SUFFIX}
  2571. export CLIENT_NAME=${INSTALLDIR}uclibc/vlmcs${SUFFIX}
  2572. export MULTI_NAME=${INSTALLDIR}uclibc/vlmcsdmulti${SUFFIX}
  2573. export CC=/opt/simplebuild/toolchains/nslu2open/bin/armeb-linux-uclibc-gcc
  2574. export PLATFORMFLAGS="-pipe"
  2575. export FEATURES=full
  2576. export CFLAGS="$SMALLCC"
  2577. export LDFLAGS="-Wl,-z,norelo"
  2578. export THREADS=0
  2579. make $MAKEFLAGS CAT=2 $CLIENT_NAME $PROGRAM_NAME $MULTI_NAME
  2580. if [ $? != 0 ]; then
  2581. echo Error creating $CLIENT_NAME, $MULTI_NAME and/or $PROGRAM_NAME
  2582. exit $?
  2583. fi
  2584. export PROGRAM_NAME=${INSTALLDIR}static/vlmcsd${SUFFIX}-static
  2585. export CLIENT_NAME=${INSTALLDIR}static/vlmcs${SUFFIX}-static
  2586. export MULTI_NAME=${INSTALLDIR}static/vlmcsdmulti${SUFFIX}-static
  2587. export LDFLAGS="-Wl,-z,norelo -static"
  2588. make $REUSEOBJFLAGS CAT=2 $CLIENT_NAME $PROGRAM_NAME $MULTI_NAME
  2589. if [ $? != 0 ]; then
  2590. echo Error creating $CLIENT_NAME, $MULTI_NAME and/or $PROGRAM_NAME
  2591. exit $?
  2592. fi
  2593. # Strip off unnecessary stuff from binaries
  2594. find binaries -xdev -name 'vlmcs*' -exec /opt/toolchains/mips32el-mips16-glibc-2.18/usr/bin/mipsel-linux-strip -s --strip-unneeded --remove-section=.note.gnu.gold-version --remove-section=.comment --remove-section=.note --remove-section=.note.gnu.build-id --remove-section=.note.ABI-tag {} \; 2>/dev/null
  2595. find binaries -xdev -name 'vlmcs*' -exec strip -s --strip-unneeded --remove-section=.note.gnu.gold-version --remove-section=.comment --remove-section=.note --remove-section=.note.gnu.build-id --remove-section=.note.ABI-tag {} \; 2>/dev/null
  2596. find binaries -xdev -name 'vlmcs*' -exec sstrip -z {} \; 2>/dev/null
  2597. make alldocs
  2598. rm *.o
  2599. #cp -p binaries/Linux/intel/glibc/vlmcs-x32-glibc /usr/local/bin/vlmcs
  2600. if [ `lsb_release -is` == "Debian" ]; then
  2601. cp -pf binaries/Linux/intel/glibc/vlmcsdmulti-x86-glibc /usr/local/sbin/vlmcsdmulti
  2602. else
  2603. cp -pf binaries/Linux/intel/glibc/vlmcsdmulti-x32-glibc /usr/local/sbin/vlmcsdmulti
  2604. fi
  2605. ln -s vlmcsdmulti /usr/local/sbin/vlmcsd 2>/dev/null
  2606. ln -s ../sbin/vlmcsdmulti /usr/local/bin/vlmcs 2>/dev/null
  2607. mkdir -p /usr/local/man/man1 2>/dev/null
  2608. mkdir -p /usr/local/man/man5 2>/dev/null
  2609. mkdir -p /usr/local/man/man8 2>/dev/null
  2610. mkdir -p /usr/local/man/man7 2>/dev/null
  2611. cp -a vlmcs.1 vlmcsdmulti.1 /usr/local/man/man1/
  2612. cp -a vlmcsd.7 /usr/local/man/man7/
  2613. cp -a vlmcsd.8 /usr/local/man/man8/
  2614. cp -a vlmcsd.ini.5 /usr/local/man/man5/
  2615. pbzip2 -f -9 /usr/local/man/man5/vlmcsd.ini.5 /usr/local/man/man1/vlmcs.1 /usr/local/man/man1/vlmcsdmulti.1 /usr/local/man/man7/vlmcsd.7 /usr/local/man/man8/vlmcsd.8
  2616. #pbzip2 -f /usr/local/man/man7/vlmcsd.7
  2617. #pbzip2 -f /usr/local/man/man8/vlmcsd.8
  2618. mandb >/dev/null 2>&1