make_bs 86 KB

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