summaryrefslogtreecommitdiffstats
path: root/util
diff options
context:
space:
mode:
Diffstat (limited to 'util')
-rwxr-xr-x[-rw-r--r--]util/activate_msys2.sh0
-rwxr-xr-x[-rw-r--r--]util/activate_wsl.sh0
-rw-r--r--[-rwxr-xr-x]util/bootloader_atmega32u4_1_0_0.hex506
-rwxr-xr-xutil/docker_build.sh49
-rwxr-xr-xutil/freebsd_install.sh18
-rwxr-xr-x[-rw-r--r--]util/generate_internal_docs.sh0
-rwxr-xr-xutil/install_dependencies.sh118
-rwxr-xr-xutil/linux_install.sh176
-rwxr-xr-xutil/macos_install.sh3
-rwxr-xr-x[-rw-r--r--]util/msys2_install.sh9
-rwxr-xr-xutil/new_keymap.sh40
-rwxr-xr-xutil/new_project.sh51
-rwxr-xr-xutil/qmk_install.sh13
-rwxr-xr-x[-rw-r--r--]util/travis_build.sh0
-rwxr-xr-x[-rw-r--r--]util/travis_compiled_push.sh7
-rwxr-xr-x[-rw-r--r--]util/travis_docs.sh0
-rwxr-xr-x[-rw-r--r--]util/travis_push.sh0
-rwxr-xr-x[-rw-r--r--]util/win_shared_install.sh3
-rwxr-xr-x[-rw-r--r--]util/wsl_install.sh7
19 files changed, 563 insertions, 437 deletions
diff --git a/util/activate_msys2.sh b/util/activate_msys2.sh
index 1ddffbaad..1ddffbaad 100644..100755
--- a/util/activate_msys2.sh
+++ b/util/activate_msys2.sh
diff --git a/util/activate_wsl.sh b/util/activate_wsl.sh
index e2312b56d..e2312b56d 100644..100755
--- a/util/activate_wsl.sh
+++ b/util/activate_wsl.sh
diff --git a/util/bootloader_atmega32u4_1_0_0.hex b/util/bootloader_atmega32u4_1_0_0.hex
index 275aeacba..20174989a 100755..100644
--- a/util/bootloader_atmega32u4_1_0_0.hex
+++ b/util/bootloader_atmega32u4_1_0_0.hex
@@ -1,253 +1,253 @@
-:020000020000FC
-:047000000C948D3E21
-:047028000C94B73DD0
-:10702F0012010002FF010020EB03F42F0000010208
-:10703F00030109021200010100803209040000005F
-:10704F00000000000C03410054004D0045004C00AF
-:10705F001603410054006D00330032005500340018
-:10706F004400460055000C0331002E0030002E0066
-:10707F0030000403090416010C0100000C0000018C
-:02708F006C7F14
-:1070920012BD01BDF89A00B5089501E00895F9996D
-:1070A200FECF12BD01BD20BDFA9AF99AF6CFF99929
-:1070B200FECF0C944938F80104910895F8013491F7
-:1070C20031962491890108950091610000930C0189
-:1070D20000E80093610001E00093610005BF02E057
-:1070E20005BF0C9486380091D70001600093D70049
-:1070F200A89507EF04BF0091600000610093600053
-:1071020000E00093600001E008950E94AA3D0E9401
-:10711200B53DFDCF0CD00F7708D0006806D00061D6
-:1071220004D0016028D0789408950093D80000918B
-:10713200D8000895FCDF00621ED04CD009B500FFD4
-:10714200FDCFF5DF0F7D17D00091E0000E7F009399
-:10715200E0000091E000077F0093E0000091E20070
-:1071620001600093E2000091E20008600093E200F7
-:1071720078940C94743B0093D800089500910D010B
-:10718200002359F40091D90000FF07C0D0DF006846
-:10719200F2DF01E000930D01CDDFE0E2F2E00081D9
-:1071A200018100FF0DC0008111811E7F11830083C8
-:1071B20001E00093EA0000E00093EA0000931E025F
-:1071C20000E00093E9000091E80003FF02C00E9482
-:1071D200F23B0895A89539D000E40093600000E0E6
-:1071E200009381000093800010E0009385000093DB
-:1071F200840001E006BB00918100036000938100DE
-:107202000091600007FFFCCF00E80093600010933C
-:107212008100A89507EF04BF18D010936000209159
-:1072220084003091850010938100109380001093A8
-:1072320085001093840001E006BB2D3D354010F01F
-:1072420002E101C002E009BD089500916000006101
-:107252000093600008950E94AD3E239741D100E063
-:1072620000930901B5D104811581012B51F437D165
-:1072720000910701002309F4B9C000E0009307015F
-:10728200B5C058D102FFFDCF37D1068335D1009367
-:107292000F0132D1009310012FD1009311012CD193
-:1072A2000093120129D10093130102852091130149
-:1072B20030911201409111015091100116811A95DD
-:1072C20041F01250A9F01A9599F11A9509F473C078
-:1072D2008BC010910F01113011F411E001C010E0C8
-:1072E200138799D00C3F11F414D17FC077D17DC0A0
-:1072F20092D010910F01112329F01A9549F01A9595
-:10730200A9F073C010E013870C3F09F06EC0ECCFF8
-:1073120056D103C04CD109F468C00D911C9144D1DF
-:107322000F3FC1F305E0009309015FC011E0EBCF0D
-:10733200D2D029F00250E1F10A9541F056C0FDD0B9
-:107342000E94A33F0FEF00930A014FC0552319F08B
-:107352005A9579F04AC04ED00DEF04BF74D0EAD0EE
-:1073620003FFFDCF67D051D04AD008E00093600000
-:10737200FFCF40D068D0DED003FFFDCF5BD03FD03F
-:1073820044D00FEF1FE004C009811A810150104060
-:1073920009831A8309811A81012BB1F700E800934E
-:1073A200610000910C01009361000C940000FFCF7A
-:1073B20001E003871AC08FD019F00A9539F015C081
-:1073C200535098F4BAD002E000870FC0505339F0FE
-:1073D2005A9541F05F52B1F35A95A1F306C002E00B
-:1073E2000883F0CF01E0FCCFA8D079D02396E4E067
-:1073F2000C94BA3E01E005BF00E005BF089500917C
-:10740200D8000F770093D800089509B50D7F09BD04
-:1074120000E009BD08955183408333832283109194
-:10742200E8001B7F1093E8001091E8001F7710938B
-:10743200E80008955DD053D0F8940091E000016017
-:107442000093E000089579D04AC0219749D0009175
-:107452000601035019F00250B9F00BC03CD021F0E4
-:107462000A9559F00A9529F400910A010C3F19F482
-:1074720050D02196089567D0FCCF0091010100936E
-:10748200F100009100010AC01091100124D019F0FE
-:107492000A9549F0EECF135018F400E00093F10082
-:1074A2001ED044D0E6CF105339F01A9539F01F524E
-:1074B20041F01A9541F0F4CF08E5F0CF00E006D094
-:1074C200EDCF02E0FCCF04E001D0E8CF10E020E0F5
-:1074D20030E00C94113F00910F010023089521C068
-:1074E2000BD008D007D00093040106D00093050109
-:1074F20021D00BC000D008830091F10008950091C3
-:10750200EB0000620093EB0015D0077F0093E800C8
-:107512000895F5DF02E00093080103E000930901FA
-:10752200089559D007D000FFFDCF089503D002FF80
-:10753200FDCF03C00091E8000895FCDF0B7FE6DF7A
-:10754200F9DF0F77E3CF0E94AC3E42D038D006C0BD
-:107552002BD00093F1002BD059F43DD0082F092BEA
-:10756200A9F0E8DF02FD12C0E5DF00FFFDCF4424F1
-:10757200042D4394003289F300910B0100230D91F5
-:107582001C9131F311970E945838E3CFD3DF00FFEB
-:10759200FDCF21D0CFDF00FFFDCFCCDF02FFFDCF3B
-:1075A200CCDFE5E00C94B93E11970C945C380D9158
-:1075B2001C910F5F1F4F1C930E93019708958281B8
-:1075C200938100811181801B910B0196DF01089547
-:1075D200E0E0F1E00895AEDF0E7F98CF0E94A93E71
-:1075E200F7DF80819181A081B181AF710481158122
-:1075F20000521040048315830AC000910B0100233E
-:1076020031F4A301920103E911E00E943B3F47D00C
-:10761200B8F1662477242C0111C06EDFF301ED5618
-:10762200FE4F008301E0600E00E0701E01960091A3
-:10763200F200002311F033D0B8F47FDF30D0E8F24B
-:10764200F301B096E238F040C0F674DF02FFFDCFDE
-:107652000091F200BDDF24813581201B304024835C
-:107662003583E5CF49DFAA95AA23E1F700910B0103
-:10767200013099F62091F1008C010E945038D6CF4A
-:1076820004811581012B21F055DF02FFFDCF55DF6B
-:10769200A2DF50DF00FFFDCFE8E00C94B63EE0E051
-:1076A200F1E0028113810817190708952091EB0078
-:1076B20021602093EB000093EC000091ED0002703A
-:1076C200012B0093ED000091ED0002600093ED00AC
-:1076D2001091EE00012F000F00E0001F0895412FCE
-:1076E2000093E900089500E009D000FD05C000E024
-:1076F200F7DF10E202E0DACF00E00895F1DF009157
-:10770200EB0008950F770132A9F5112369F11A955B
-:1077120059F01A9561F01A9569F01A95F9F01A95CF
-:10772200C1F01A95D9F024C00E942C3920C00E94C1
-:10773200263A1DC029D00091090123D001E01FD0B3
-:1077420020D0009108011BD00E94923A0E94973AE1
-:107752000EC01AD00091080114D007C002E00093B5
-:10776200080100E0009309010FD00E94923A03C081
-:107772000E94803A02C001E0089500E0089501D01D
-:1077820000E00093F10008950091E800077F009364
-:10779200E800089508950350F9F4112339F01A9579
-:1077A20051F01A9581F01A9599F016C004E016D09E
-:1077B20001E810E703C011D003E510E7E7E1F2E0CA
-:1077C20000831183D8CF06E109D00FE510E7F6CF89
-:1077D20004D005E710E7F2CFD0CF0CE000931A02F5
-:1077E200089527D120D100931D02E1D0212F11232A
-:1077F20029F12A95E9F02250F1F0225099F02A95C8
-:1078020049F0225061F02A9581F02A95E1F02A95FB
-:10781200E9F023C0003809F44FC00C94833B0038D0
-:10782200E1F7C8C00023C9F71EC00023B1F72DC07D
-:10783200033098F744C1033080F70BC1003868F376
-:10784200033858F7C9C0013841F77BC1013051F400
-:10785200FCD0BFD000FD06C0FCCF0E94833B0023BA
-:1078620009F41ED008951091E3001078DCD00F7750
-:10787200012B0093E300E9D0ACD000FFFDCF0091D3
-:10788200E30000680093E300089591D0123040F4C1
-:107892000FD010931E02DAD000911E020C94CB3B43
-:1078A2000091EB0001D004C000620093EB00089548
-:1078B2000091E800077FC0C0BA93AA93229700E024
-:1078C2000093190274D0AFD0202F2A9519F02A956F
-:1078D200E9F022C002E100931A020FE210E7E7E1A9
-:1078E200F2E0008311839DD008839DD00983E0DFFD
-:1078F20000911A0210E02881398102171307A8F4B7
-:107902000F7181F401E00093190211C002E10093AA
-:107912001A0201E410E7E3CF0E94CC3B002319F7DF
-:107922008ED040C01093190202C020931A027ED05A
-:10793200A7E1B2E001C08AD000911A02002309F146
-:1079420048D004FD1EC045D000FD03C042D004FF54
-:10795200FACF10E0012F1395003281F0ED91FC91E6
-:107962001197049133D02D913C912F5F3F4F3C935F
-:107972002E93FD0103810A95038361F72AD004FF48
-:10798200DACF00911902013039F423D004FD04C08A
-:1079920020D000FFFDCF5AD01CD004FFFDCF46D02F
-:1079A20018D00B7F49D02296A991B99108951091D0
-:1079B200F10008957DDF00911E0208D047D009D062
-:1079C2000F773AD006D002FFFDCFBFC00093F1007F
-:1079D20008950091E800089524D010911D021058D6
-:1079E20029F01A9589F01A9591F019C061DF00917A
-:1079F2001C02ECDF00E0EADF29D0EBDF02FFFDCF63
-:107A020018D0E7DF0F770CC053DF00E0F2CF51D080
-:107A12000F7710E0F801E55EFD4F0081EACF0FD04D
-:107A22000BC001D000D00091F1000895D2DF0F7E8B
-:107A320003C00091E8000B7F0093E80008950091D5
-:107A4200EB0032DFC6DF077F089532DFC2DF0E7F31
-:107A5200F3CF00911D02002329F00A9509F10A953E
-:107A620031F01EC0E0DF0A9561D0D9F41AC061D0AE
-:107A7200B9F4D9DF0F7711F416D01BD00093E900C7
-:107A82001091EB0010FF0BC00ED010E01093E90034
-:107A920021E0F801E55EFD4F20834FD003C042D0C4
-:107AA20045D0CFDFC9CF1091EB0010621093EB00ED
-:107AB20008951091E800177F1093E800089500914F
-:107AC2001D02002311F4AFDF02C0013011F4B7DF51
-:107AD200B3CF023031F52DD019F52091F1002F7777
-:107AE2002093E90023D000FF19C081F01FD000616C
-:107AF200DCDE01E010E0422F0E949F3E0093EA008C
-:107B020000E00093EA0012D00860CFDE0BD030E034
-:107B1200F901E55EFD4F008310D0DACF03D0D7CF55
-:107B2200BFDE089500E00093E90008950091EB00A4
-:107B3200089579DF3CDF00230895BADE4ADF0E7F25
-:107B4200089583DF46DF02FFFDCF73DF42DF0F7749
-:107B520073CF0091D70001600093D7000E948B3849
-:107B620000E000931F0208950C94BF388A93FA93A1
-:107B7200EA933A922A921A920A927A936A935A93BF
-:107B82004A933A932A931A930A938FB70091DA0091
-:107B920000FF24C00091D80000FF20C00EEF009328
-:107BA200DA000091D90000FF11C001E000930D013D
-:107BB200ABD0026096D09AD00860A2D00E949B38C7
-:107BC2000091E0000E7F0093E00008C000E0009307
-:107BD2000D0100931E0298D0046083D07FD002FF73
-:107BE20005C084D002FF02C00BEF75D077D000FF32
-:107BF2001BC07CD000FF18C001E000930E016AD0C8
-:107C020083D000626ED00EEF6FD0006179D06ED05B
-:107C12000F7D76D00091D80000620093D80009B59C
-:107C22000D7F09BD00E009BD59D004FF20C05ED020
-:107C320004FF1DC009B500FD05C00E94EB3809B55F
-:107C420000FFFDCF0091D8000F7D0093D80042D0F5
-:107C520000910E01002359F04CD00FEE45D00F7E5B
-:107C620052D000643ED042D001604AD042D036D0D9
-:107C720005FF0FC03BD005FF0CC000E000930E01D2
-:107C820035D00F7E3DD00FED2FD00F7D3CD0006858
-:107C920028D024D003FF0DC029D003FF0AC000E082
-:107CA20000931F0207EF17D00E94743B2DD0116082
-:107CB20018D08FBF09911991299139914991599100
-:107CC200699179910990199029903990E991F991E6
-:107CD200899118950FEE0093E10008950091E1005B
-:107CE20008951183008308950093E1000091E2005A
-:107CF20008950091E200006203D00091E200086062
-:107D02000093E2000895FCDFE0E2F2E000811181DD
-:107D1200089500008895FECF01E60DBF02E00EBF78
-:107D2200C2EED2E00E947438002311F00E94D33ECA
-:107D32000E9465380E948A3E0C948A3E4A951AF047
-:107D4200000F111FFBCF0895BA92AA929A928A92BB
-:107D52007A926A925A924A92BA93AA939A938A937D
-:107D62000895BB84AA84998488847F806E805D8014
-:107D72004C80BB81AA8199818881F0E00FB6F8948A
-:107D8200CE0FDF1F0FBE089520E006D0E9F7089559
-:107D9200259102D0E9F708952D9301501040202F2C
-:107DA200212B089585E890E7FC0105911491FC01CF
-:107DB2003296A591B491FC01349625913491422FCB
-:107DC200432B19F0F901E4DF01C0DEDF069610E76C
-:107DD2008139910748F308952F930CD02F9101D048
-:107DE20008953CD0F12FE02F45E047BFE89536D00B
-:107DF20012D0089533D0F12FE02F43E047BFE8952A
-:107E02002DD008952BD0F12FE02F43E047BFE89506
-:107E120025D001D0089522D041E147BFE8951EC088
-:107E22001DD0F12FE02F41E247BFC895002D16C0AB
-:107E320015D0F12FE02F49E047BFC895002D0EC0A5
-:107E4200F32FE22F012E102E41E047BFE89506C026
-:107E520005D0002E29E027BFE89500C0022E27B7E3
-:107E620020FDFCCF202D0895022E27B726FDFCCF42
-:107E7200202D08950E94A53E22974801C901DA01EA
-:107E820010C05BD001E0A00E00E0B01E00E4A0161E
-:107E920000E0B00608F440C0830120E030E00E9418
-:107EA200F23E0A2F0B2B09F440C0082F0F7710E087
-:107EB2002C01401A510A320100E4A02E03C00A2FFD
-:107EC2000B2BE1F04816590680F0F40101914F01A5
-:107ED2000983119729F001914F010883119711C06D
-:107EE200F2013196049108830CC0F20104910983D6
-:107EF2003196E817F907A1F7F401EDCF1BD00883FB
-:107F020019839201088119810E94213F16D0AA94F7
-:107F1200B1F62301AA24BB240DD0312F0F3F3F4FCE
-:107F220009F4AFCF83011DD0B7CF01E02296ECE078
-:107F32000C94B23E82010C945F3802E0400E00E0E5
-:107F4200501E08959A938A9380E090E08C0109D0A4
-:107F520080589F4F8F3F0FE69007C0F38991999108
-:107F6200089520E030E00C94FB3E00000000000089
-:067F720000000000FC000D
-:107FE4000C94ED3E0C94113F0C94193F0C94213FDA
-:0C7FF4000C94F23E0C94033F0C94293FC7
-:040000030000700089
-:00000001FF
+:020000020000FC
+:047000000C948D3E21
+:047028000C94B73DD0
+:10702F0012010002FF010020EB03F42F0000010208
+:10703F00030109021200010100803209040000005F
+:10704F00000000000C03410054004D0045004C00AF
+:10705F001603410054006D00330032005500340018
+:10706F004400460055000C0331002E0030002E0066
+:10707F0030000403090416010C0100000C0000018C
+:02708F006C7F14
+:1070920012BD01BDF89A00B5089501E00895F9996D
+:1070A200FECF12BD01BD20BDFA9AF99AF6CFF99929
+:1070B200FECF0C944938F80104910895F8013491F7
+:1070C20031962491890108950091610000930C0189
+:1070D20000E80093610001E00093610005BF02E057
+:1070E20005BF0C9486380091D70001600093D70049
+:1070F200A89507EF04BF0091600000610093600053
+:1071020000E00093600001E008950E94AA3D0E9401
+:10711200B53DFDCF0CD00F7708D0006806D00061D6
+:1071220004D0016028D0789408950093D80000918B
+:10713200D8000895FCDF00621ED04CD009B500FFD4
+:10714200FDCFF5DF0F7D17D00091E0000E7F009399
+:10715200E0000091E000077F0093E0000091E20070
+:1071620001600093E2000091E20008600093E200F7
+:1071720078940C94743B0093D800089500910D010B
+:10718200002359F40091D90000FF07C0D0DF006846
+:10719200F2DF01E000930D01CDDFE0E2F2E00081D9
+:1071A200018100FF0DC0008111811E7F11830083C8
+:1071B20001E00093EA0000E00093EA0000931E025F
+:1071C20000E00093E9000091E80003FF02C00E9482
+:1071D200F23B0895A89539D000E40093600000E0E6
+:1071E200009381000093800010E0009385000093DB
+:1071F200840001E006BB00918100036000938100DE
+:107202000091600007FFFCCF00E80093600010933C
+:107212008100A89507EF04BF18D010936000209159
+:1072220084003091850010938100109380001093A8
+:1072320085001093840001E006BB2D3D354010F01F
+:1072420002E101C002E009BD089500916000006101
+:107252000093600008950E94AD3E239741D100E063
+:1072620000930901B5D104811581012B51F437D165
+:1072720000910701002309F4B9C000E0009307015F
+:10728200B5C058D102FFFDCF37D1068335D1009367
+:107292000F0132D1009310012FD1009311012CD193
+:1072A2000093120129D10093130102852091130149
+:1072B20030911201409111015091100116811A95DD
+:1072C20041F01250A9F01A9599F11A9509F473C078
+:1072D2008BC010910F01113011F411E001C010E0C8
+:1072E200138799D00C3F11F414D17FC077D17DC0A0
+:1072F20092D010910F01112329F01A9549F01A9595
+:10730200A9F073C010E013870C3F09F06EC0ECCFF8
+:1073120056D103C04CD109F468C00D911C9144D1DF
+:107322000F3FC1F305E0009309015FC011E0EBCF0D
+:10733200D2D029F00250E1F10A9541F056C0FDD0B9
+:107342000E94A33F0FEF00930A014FC0552319F08B
+:107352005A9579F04AC04ED00DEF04BF74D0EAD0EE
+:1073620003FFFDCF67D051D04AD008E00093600000
+:10737200FFCF40D068D0DED003FFFDCF5BD03FD03F
+:1073820044D00FEF1FE004C009811A810150104060
+:1073920009831A8309811A81012BB1F700E800934E
+:1073A200610000910C01009361000C940000FFCF7A
+:1073B20001E003871AC08FD019F00A9539F015C081
+:1073C200535098F4BAD002E000870FC0505339F0FE
+:1073D2005A9541F05F52B1F35A95A1F306C002E00B
+:1073E2000883F0CF01E0FCCFA8D079D02396E4E067
+:1073F2000C94BA3E01E005BF00E005BF089500917C
+:10740200D8000F770093D800089509B50D7F09BD04
+:1074120000E009BD08955183408333832283109194
+:10742200E8001B7F1093E8001091E8001F7710938B
+:10743200E80008955DD053D0F8940091E000016017
+:107442000093E000089579D04AC0219749D0009175
+:107452000601035019F00250B9F00BC03CD021F0E4
+:107462000A9559F00A9529F400910A010C3F19F482
+:1074720050D02196089567D0FCCF0091010100936E
+:10748200F100009100010AC01091100124D019F0FE
+:107492000A9549F0EECF135018F400E00093F10082
+:1074A2001ED044D0E6CF105339F01A9539F01F524E
+:1074B20041F01A9541F0F4CF08E5F0CF00E006D094
+:1074C200EDCF02E0FCCF04E001D0E8CF10E020E0F5
+:1074D20030E00C94113F00910F010023089521C068
+:1074E2000BD008D007D00093040106D00093050109
+:1074F20021D00BC000D008830091F10008950091C3
+:10750200EB0000620093EB0015D0077F0093E800C8
+:107512000895F5DF02E00093080103E000930901FA
+:10752200089559D007D000FFFDCF089503D002FF80
+:10753200FDCF03C00091E8000895FCDF0B7FE6DF7A
+:10754200F9DF0F77E3CF0E94AC3E42D038D006C0BD
+:107552002BD00093F1002BD059F43DD0082F092BEA
+:10756200A9F0E8DF02FD12C0E5DF00FFFDCF4424F1
+:10757200042D4394003289F300910B0100230D91F5
+:107582001C9131F311970E945838E3CFD3DF00FFEB
+:10759200FDCF21D0CFDF00FFFDCFCCDF02FFFDCF3B
+:1075A200CCDFE5E00C94B93E11970C945C380D9158
+:1075B2001C910F5F1F4F1C930E93019708958281B8
+:1075C200938100811181801B910B0196DF01089547
+:1075D200E0E0F1E00895AEDF0E7F98CF0E94A93E71
+:1075E200F7DF80819181A081B181AF710481158122
+:1075F20000521040048315830AC000910B0100233E
+:1076020031F4A301920103E911E00E943B3F47D00C
+:10761200B8F1662477242C0111C06EDFF301ED5618
+:10762200FE4F008301E0600E00E0701E01960091A3
+:10763200F200002311F033D0B8F47FDF30D0E8F24B
+:10764200F301B096E238F040C0F674DF02FFFDCFDE
+:107652000091F200BDDF24813581201B304024835C
+:107662003583E5CF49DFAA95AA23E1F700910B0103
+:10767200013099F62091F1008C010E945038D6CF4A
+:1076820004811581012B21F055DF02FFFDCF55DF6B
+:10769200A2DF50DF00FFFDCFE8E00C94B63EE0E051
+:1076A200F1E0028113810817190708952091EB0078
+:1076B20021602093EB000093EC000091ED0002703A
+:1076C200012B0093ED000091ED0002600093ED00AC
+:1076D2001091EE00012F000F00E0001F0895412FCE
+:1076E2000093E900089500E009D000FD05C000E024
+:1076F200F7DF10E202E0DACF00E00895F1DF009157
+:10770200EB0008950F770132A9F5112369F11A955B
+:1077120059F01A9561F01A9569F01A95F9F01A95CF
+:10772200C1F01A95D9F024C00E942C3920C00E94C1
+:10773200263A1DC029D00091090123D001E01FD0B3
+:1077420020D0009108011BD00E94923A0E94973AE1
+:107752000EC01AD00091080114D007C002E00093B5
+:10776200080100E0009309010FD00E94923A03C081
+:107772000E94803A02C001E0089500E0089501D01D
+:1077820000E00093F10008950091E800077F009364
+:10779200E800089508950350F9F4112339F01A9579
+:1077A20051F01A9581F01A9599F016C004E016D09E
+:1077B20001E810E703C011D003E510E7E7E1F2E0CA
+:1077C20000831183D8CF06E109D00FE510E7F6CF89
+:1077D20004D005E710E7F2CFD0CF0CE000931A02F5
+:1077E200089527D120D100931D02E1D0212F11232A
+:1077F20029F12A95E9F02250F1F0225099F02A95C8
+:1078020049F0225061F02A9581F02A95E1F02A95FB
+:10781200E9F023C0003809F44FC00C94833B0038D0
+:10782200E1F7C8C00023C9F71EC00023B1F72DC07D
+:10783200033098F744C1033080F70BC1003868F376
+:10784200033858F7C9C0013841F77BC1013051F400
+:10785200FCD0BFD000FD06C0FCCF0E94833B0023BA
+:1078620009F41ED008951091E3001078DCD00F7750
+:10787200012B0093E300E9D0ACD000FFFDCF0091D3
+:10788200E30000680093E300089591D0123040F4C1
+:107892000FD010931E02DAD000911E020C94CB3B43
+:1078A2000091EB0001D004C000620093EB00089548
+:1078B2000091E800077FC0C0BA93AA93229700E024
+:1078C2000093190274D0AFD0202F2A9519F02A956F
+:1078D200E9F022C002E100931A020FE210E7E7E1A9
+:1078E200F2E0008311839DD008839DD00983E0DFFD
+:1078F20000911A0210E02881398102171307A8F4B7
+:107902000F7181F401E00093190211C002E10093AA
+:107912001A0201E410E7E3CF0E94CC3B002319F7DF
+:107922008ED040C01093190202C020931A027ED05A
+:10793200A7E1B2E001C08AD000911A02002309F146
+:1079420048D004FD1EC045D000FD03C042D004FF54
+:10795200FACF10E0012F1395003281F0ED91FC91E6
+:107962001197049133D02D913C912F5F3F4F3C935F
+:107972002E93FD0103810A95038361F72AD004FF48
+:10798200DACF00911902013039F423D004FD04C08A
+:1079920020D000FFFDCF5AD01CD004FFFDCF46D02F
+:1079A20018D00B7F49D02296A991B99108951091D0
+:1079B200F10008957DDF00911E0208D047D009D062
+:1079C2000F773AD006D002FFFDCFBFC00093F1007F
+:1079D20008950091E800089524D010911D021058D6
+:1079E20029F01A9589F01A9591F019C061DF00917A
+:1079F2001C02ECDF00E0EADF29D0EBDF02FFFDCF63
+:107A020018D0E7DF0F770CC053DF00E0F2CF51D080
+:107A12000F7710E0F801E55EFD4F0081EACF0FD04D
+:107A22000BC001D000D00091F1000895D2DF0F7E8B
+:107A320003C00091E8000B7F0093E80008950091D5
+:107A4200EB0032DFC6DF077F089532DFC2DF0E7F31
+:107A5200F3CF00911D02002329F00A9509F10A953E
+:107A620031F01EC0E0DF0A9561D0D9F41AC061D0AE
+:107A7200B9F4D9DF0F7711F416D01BD00093E900C7
+:107A82001091EB0010FF0BC00ED010E01093E90034
+:107A920021E0F801E55EFD4F20834FD003C042D0C4
+:107AA20045D0CFDFC9CF1091EB0010621093EB00ED
+:107AB20008951091E800177F1093E800089500914F
+:107AC2001D02002311F4AFDF02C0013011F4B7DF51
+:107AD200B3CF023031F52DD019F52091F1002F7777
+:107AE2002093E90023D000FF19C081F01FD000616C
+:107AF200DCDE01E010E0422F0E949F3E0093EA008C
+:107B020000E00093EA0012D00860CFDE0BD030E034
+:107B1200F901E55EFD4F008310D0DACF03D0D7CF55
+:107B2200BFDE089500E00093E90008950091EB00A4
+:107B3200089579DF3CDF00230895BADE4ADF0E7F25
+:107B4200089583DF46DF02FFFDCF73DF42DF0F7749
+:107B520073CF0091D70001600093D7000E948B3849
+:107B620000E000931F0208950C94BF388A93FA93A1
+:107B7200EA933A922A921A920A927A936A935A93BF
+:107B82004A933A932A931A930A938FB70091DA0091
+:107B920000FF24C00091D80000FF20C00EEF009328
+:107BA200DA000091D90000FF11C001E000930D013D
+:107BB200ABD0026096D09AD00860A2D00E949B38C7
+:107BC2000091E0000E7F0093E00008C000E0009307
+:107BD2000D0100931E0298D0046083D07FD002FF73
+:107BE20005C084D002FF02C00BEF75D077D000FF32
+:107BF2001BC07CD000FF18C001E000930E016AD0C8
+:107C020083D000626ED00EEF6FD0006179D06ED05B
+:107C12000F7D76D00091D80000620093D80009B59C
+:107C22000D7F09BD00E009BD59D004FF20C05ED020
+:107C320004FF1DC009B500FD05C00E94EB3809B55F
+:107C420000FFFDCF0091D8000F7D0093D80042D0F5
+:107C520000910E01002359F04CD00FEE45D00F7E5B
+:107C620052D000643ED042D001604AD042D036D0D9
+:107C720005FF0FC03BD005FF0CC000E000930E01D2
+:107C820035D00F7E3DD00FED2FD00F7D3CD0006858
+:107C920028D024D003FF0DC029D003FF0AC000E082
+:107CA20000931F0207EF17D00E94743B2DD0116082
+:107CB20018D08FBF09911991299139914991599100
+:107CC200699179910990199029903990E991F991E6
+:107CD200899118950FEE0093E10008950091E1005B
+:107CE20008951183008308950093E1000091E2005A
+:107CF20008950091E200006203D00091E200086062
+:107D02000093E2000895FCDFE0E2F2E000811181DD
+:107D1200089500008895FECF01E60DBF02E00EBF78
+:107D2200C2EED2E00E947438002311F00E94D33ECA
+:107D32000E9465380E948A3E0C948A3E4A951AF047
+:107D4200000F111FFBCF0895BA92AA929A928A92BB
+:107D52007A926A925A924A92BA93AA939A938A937D
+:107D62000895BB84AA84998488847F806E805D8014
+:107D72004C80BB81AA8199818881F0E00FB6F8948A
+:107D8200CE0FDF1F0FBE089520E006D0E9F7089559
+:107D9200259102D0E9F708952D9301501040202F2C
+:107DA200212B089585E890E7FC0105911491FC01CF
+:107DB2003296A591B491FC01349625913491422FCB
+:107DC200432B19F0F901E4DF01C0DEDF069610E76C
+:107DD2008139910748F308952F930CD02F9101D048
+:107DE20008953CD0F12FE02F45E047BFE89536D00B
+:107DF20012D0089533D0F12FE02F43E047BFE8952A
+:107E02002DD008952BD0F12FE02F43E047BFE89506
+:107E120025D001D0089522D041E147BFE8951EC088
+:107E22001DD0F12FE02F41E247BFC895002D16C0AB
+:107E320015D0F12FE02F49E047BFC895002D0EC0A5
+:107E4200F32FE22F012E102E41E047BFE89506C026
+:107E520005D0002E29E027BFE89500C0022E27B7E3
+:107E620020FDFCCF202D0895022E27B726FDFCCF42
+:107E7200202D08950E94A53E22974801C901DA01EA
+:107E820010C05BD001E0A00E00E0B01E00E4A0161E
+:107E920000E0B00608F440C0830120E030E00E9418
+:107EA200F23E0A2F0B2B09F440C0082F0F7710E087
+:107EB2002C01401A510A320100E4A02E03C00A2FFD
+:107EC2000B2BE1F04816590680F0F40101914F01A5
+:107ED2000983119729F001914F010883119711C06D
+:107EE200F2013196049108830CC0F20104910983D6
+:107EF2003196E817F907A1F7F401EDCF1BD00883FB
+:107F020019839201088119810E94213F16D0AA94F7
+:107F1200B1F62301AA24BB240DD0312F0F3F3F4FCE
+:107F220009F4AFCF83011DD0B7CF01E02296ECE078
+:107F32000C94B23E82010C945F3802E0400E00E0E5
+:107F4200501E08959A938A9380E090E08C0109D0A4
+:107F520080589F4F8F3F0FE69007C0F38991999108
+:107F6200089520E030E00C94FB3E00000000000089
+:067F720000000000FC000D
+:107FE4000C94ED3E0C94113F0C94193F0C94213FDA
+:0C7FF4000C94F23E0C94033F0C94293FC7
+:040000030000700089
+:00000001FF
diff --git a/util/docker_build.sh b/util/docker_build.sh
new file mode 100755
index 000000000..26075cc90
--- /dev/null
+++ b/util/docker_build.sh
@@ -0,0 +1,49 @@
+#!/bin/sh
+# NOTE: This script uses tabs for indentation
+
+USAGE="Usage: $0 [keyboard[:keymap[:target]]]"
+
+# Check preconditions
+for arg; do
+ if [ "$arg" = "--help" ]; then
+ echo "$USAGE"
+ exit 0
+ fi
+done
+if [ $# -gt 1 ]; then
+ echo "$USAGE" >&2
+ exit 1
+elif ! command -v docker >/dev/null 2>&1; then
+ echo "Error: docker not found" >&2
+ echo "See https://docs.docker.com/install/#supported-platforms for installation instructions" >&2
+ exit 2
+fi
+
+# Determine arguments
+if [ $# -eq 0 ]; then
+ printf "keyboard=" && read -r keyboard
+ [ -n "$keyboard" ] && printf "keymap=" && read -r keymap
+ [ -n "$keymap" ] && printf "target=" && read -r target
+else
+ IFS=':' read -r keyboard keymap target x <<-EOF
+ $1
+ EOF
+ if [ -n "$x" ]; then
+ echo "$USAGE" >&2
+ exit 1
+ fi
+fi
+if [ -n "$target" ]; then
+ if [ "$(uname)" = "Linux" ] || docker-machine active >/dev/null 2>&1; then
+ usb_args="--privileged -v /dev/bus/usb:/dev/bus/usb"
+ else
+ echo "Error: target requires docker-machine to work on your platform" >&2
+ echo "See http://gw.tnode.com/docker/docker-machine-with-usb-support-on-windows-macos" >&2
+ exit 3
+ fi
+fi
+dir=$(pwd -W 2>/dev/null) || dir=$PWD # Use Windows path if on Windows
+
+# Run container and build firmware
+docker run --rm $usb_args -v "$dir":/qmk_firmware qmkfm/qmk_firmware \
+ make "$keyboard${keymap:+:$keymap}${target:+:$target}"
diff --git a/util/freebsd_install.sh b/util/freebsd_install.sh
new file mode 100755
index 000000000..25ea80a7f
--- /dev/null
+++ b/util/freebsd_install.sh
@@ -0,0 +1,18 @@
+#!/bin/sh
+pkg update
+pkg install -y \
+ git \
+ wget \
+ gmake \
+ gcc \
+ zip \
+ unzip \
+ avr-binutils \
+ avr-gcc \
+ avr-libc \
+ dfu-programmer \
+ dfu-util \
+ arm-none-eabi-gcc \
+ arm-none-eabi-binutils \
+ arm-none-eabi-newlib \
+ diffutils
diff --git a/util/generate_internal_docs.sh b/util/generate_internal_docs.sh
index bfee797d3..bfee797d3 100644..100755
--- a/util/generate_internal_docs.sh
+++ b/util/generate_internal_docs.sh
diff --git a/util/install_dependencies.sh b/util/install_dependencies.sh
deleted file mode 100755
index 227c86f87..000000000
--- a/util/install_dependencies.sh
+++ /dev/null
@@ -1,118 +0,0 @@
-#!/usr/bin/env bash
-# This script will attempt to setup the Linux dependencies for compiling QMK/TMK
-
-# This could probably go much lower, but since we are including an Arch vagrant,
-# making it the first match makes sense
-
-if [[ -n "$(type -P pacman )" ]]; then
- # Arch linux and derivatives like Apricity
- # Future improvements:
- # Allow user to speed up package installs using powerpill/wget tweaks
- # Always run the pacman mirror update script if possible when vagrant comes up
- # This will ensure that users never get stalled on a horribly slow mirror
- pacman -Syyu --needed --noconfirm
- pacman -S --needed --noconfirm \
- base-devel \
- avr-gcc \
- avr-binutils \
- avr-libc \
- dfu-util \
- arm-none-eabi-gcc \
- arm-none-eabi-binutils \
- arm-none-eabi-newlib \
- git \
- diffutils
-
-elif [[ -n "$(type -P apt-get)" ]]; then
- # Debian and derivatives
- # This block performs completely non-interactive updates {{
- export DEBIAN_FRONTEND=noninteractive
- export DEBCONF_NONINTERACTIVE_SEEN=true
- echo "grub-pc hold" | dpkg --set-selections
- apt-get -y update
- apt-get -y --allow-unauthenticated upgrade \
- -o Dpkg::Options::="--force-confdef" \
- -o Dpkg::Options::="--force-confold"
- # }}
- apt-get install -y \
- build-essential \
- gcc \
- unzip \
- wget \
- zip \
- gcc-avr \
- binutils-avr \
- avr-libc \
- dfu-programmer \
- dfu-util \
- gcc-arm-none-eabi \
- binutils-arm-none-eabi \
- libnewlib-arm-none-eabi \
- git \
- diffutils
-
-elif [[ -n "$(type -P yum)" ]]; then
- # Fedora, CentOS or RHEL and derivatives
- yum -y makecache && yum -y update
- yum -y install \
- gcc \
- glibc-headers \
- kernel-devel \
- kernel-headers \
- make \
- perl \
- git \
- wget \
- avr-binutils \
- avr-gcc \
- avr-libc \
- dfu-programmer \
- dfu-util \
- arm-none-eabi-gcc-cs \
- arm-none-eabi-newlib \
- git \
- diffutils
- # The listed eabi pacackes do unfortunately not exist for CentOS,
- # But at least in Fedora they do, so try to install them anyway
- # TODO: Build them from sources, if the installation fails
-
-elif [[ -n "$(type -P zypper)" ]]; then
- # openSUSE
- zypper --non-interactive refresh && zypper --non-interactive update
- zypper --non-interactive install \
- git \
- make \
- gcc \
- kernel-devel \
- patch \
- wget \
- dfu-programmer \
- git \
- diffutils
- # TODO: The avr and eabi tools are not available as default packages, so we need
- # another way to install them
-
-elif [[ -n "$(type -P pkg)" ]]; then
- # FreeBSD
- pkg update
- pkg install -y \
- git \
- wget \
- gmake \
- gcc \
- zip \
- unzip \
- avr-binutils \
- avr-gcc \
- avr-libc \
- dfu-programmer \
- dfu-util \
- arm-none-eabi-gcc \
- arm-none-eabi-binutils \
- arm-none-eabi-newlib \
- diffutils
-elif [[ -n "$(type -P emerge)" ]]; then
- echo 'Please check that your gcc is built with the multilib use flag enabled.'
- emerge -vq sys-devel/crossdev
- USE="-openmp -hardened -sanitize -vtv" crossdev -s4 --stable --g =4.9.4 --portage --verbose --target avr
-fi
diff --git a/util/linux_install.sh b/util/linux_install.sh
index 0703db8f1..d6e6b86cd 100755
--- a/util/linux_install.sh
+++ b/util/linux_install.sh
@@ -1,40 +1,156 @@
#!/bin/sh
-if grep ID /etc/os-release | grep -q rhel; then
- # RPM based OS
- sudo dnf install gcc unzip wget zip dfu-util dfu-programmer avr-gcc \
- avr-libc binutils-avr32-linux-gnu arm-none-eabi-gcc-cs \
- arm-none-eabi-binutils-cs arm-none-eabi-newlib
-elif grep ID /etc/os-release | grep -q debian; then
+
+# Note: This file uses tabs to indent. Please don't mix tabs and spaces.
+
+GENTOO_WARNING="This script will make a USE change in order to ensure that that QMK works on your system. All changes will be sent to the the file /etc/portage/package.use/qmk_firmware -- please review it, and read Portage's output carefully before installing any packages on your system. You will also need to ensure that your kernel is compiled with support for the keyboard chip that you are using (e.g. enable Arduino for the Pro Micro). Further information can be found on the Gentoo wiki."
+
+SLACKWARE_WARNING="You will need the following packages from slackbuilds.org:\n\tarm-binutils\n\tarm-gcc\n\tavr-binutils\n\tavr-gcc\n\tavr-libc\n\tavrdude\n\tdfu-programmer\n\tdfu-util\n\tnewlib\nThese packages will be installed with sudo and sboinstall, so ensure that your user is added to sudoers and that sboinstall is configured."
+
+if grep ID /etc/os-release | grep -qE "fedora"; then
+ sudo dnf install \
+ arm-none-eabi-binutils-cs \
+ arm-none-eabi-gcc-cs \
+ arm-none-eabi-newlib \
+ avr-binutils \
+ avr-gcc \
+ avr-libc \
+ binutils-avr32-linux-gnu \
+ dfu-util \
+ dfu-programmer \
+ diffutils \
+ git \
+ gcc \
+ glibc-headers \
+ kernel-devel \
+ kernel-headers \
+ make \
+ perl \
+ unzip \
+ wget \
+ zip
+
+elif grep ID /etc/os-release | grep -qE 'debian|ubuntu'; then
+ DEBIAN_FRONTEND=noninteractive
+ DEBCONF_NONINTERACTIVE_SEEN=true
+ export DEBIAN_FRONTEND DEBCONF_NONINTERACTIVE_SEEN
sudo apt-get update
- sudo apt-get install gcc unzip wget zip gcc-avr binutils-avr avr-libc \
- dfu-programmer dfu-util gcc-arm-none-eabi binutils-arm-none-eabi \
- libnewlib-arm-none-eabi
-elif grep ID /etc/os-release | grep -q arch; then
- sudo pacman -S gcc unzip wget zip avr-gcc avr-binutils avr-libc \
- dfu-util arm-none-eabi-gcc arm-none-eabi-binutils \
- arm-none-eabi-newlib
+ sudo apt-get install \
+ build-essential \
+ avr-libc \
+ binutils-arm-none-eabi \
+ binutils-avr \
+ dfu-programmer \
+ dfu-util \
+ diffutils \
+ gcc \
+ gcc-arm-none-eabi \
+ gcc-avr \
+ git \
+ libnewlib-arm-none-eabi \
+ unzip \
+ wget \
+ zip
+
+elif grep ID /etc/os-release | grep -q 'arch\|manjaro'; then
+ # install avr-gcc 8.1 until 8.3 is available. See #3657 for details of the bug.
+ sudo pacman -U https://archive.archlinux.org/packages/a/avr-gcc/avr-gcc-8.1.0-1-x86_64.pkg.tar.xz
+ sudo pacman -S \
+ arm-none-eabi-binutils \
+ arm-none-eabi-gcc \
+ arm-none-eabi-newlib \
+ avr-binutils \
+ avr-libc \
+ avr-gcc \
+ base-devel \
+ dfu-util \
+ diffutils \
+ gcc \
+ git \
+ unzip \
+ wget \
+ zip
git clone https://aur.archlinux.org/dfu-programmer.git /tmp/dfu-programmer
- cd /tmp/dfu-programmer
+ cd /tmp/dfu-programmer || exit 1
makepkg -sic
rm -rf /tmp/dfu-programmer/
+
elif grep ID /etc/os-release | grep -q gentoo; then
- echo "This script will make a USE change in order to ensure that that QMK works on your system. All changes will be sent to the the file /etc/portage/package.use/qmk_firmware -- please review it, and read Portage's output carefully before installing any packages on your system. You will also need to ensure that your kernel is compiled with support for the keyboard chip that you are using (e.g. enable Arduino for the Pro Micro). Further information can be found on the Gentoo wiki."
- echo -n "Proceed (y/N)? "
- old_stty_cfg=$(stty -g)
- stty raw -echo
- answer=$( while ! head -c 1 | grep -i '[ny]' ;do true ;done )
- stty $old_stty_cfg
- if echo "$answer" | grep -iq "^y" ;then
- sudo touch /etc/portage/package.use/qmkfirmware
- echo "sys-devel/gcc multilib" | sudo tee --append /etc/portage/package.use/qmkfirmware > /dev/null
- sudo emerge -auN sys-devel/gcc app-arch/unzip app-arch/zip net-misc/wget app-mobilephone/dfu-util sys-devel/crossdev dev-embedded/avrdude
- sudo crossdev -s4 --stable --g =4.9.4 --portage --verbose --target avr
- echo Done!
- else
- echo "Quitting..."
-fi
+ echo "$GENTOO_WARNING" | fmt
+ printf "\nProceed (y/N)? "
+ read -r answer
+ if echo "$answer" | grep -iq "^y"; then
+ sudo touch /etc/portage/package.use/qmkfirmware
+ # tee is used here since sudo doesn't apply to >>
+ echo "sys-devel/gcc multilib" | sudo tee --append /etc/portage/package.use/qmkfirmware >/dev/null
+ sudo emerge -auN \
+ app-arch/unzip \
+ app-arch/zip \
+ app-mobilephone/dfu-util \
+ dev-embedded/avrdude \
+ net-misc/wget \
+ sys-devel/gcc \
+ sys-devel/crossdev
+ sudo crossdev -s4 --stable --g =4.9.4 --portage --verbose --target avr
+ echo "Done!"
+ else
+ echo "Quitting..."
+ fi
+
+elif grep ID /etc/os-release | grep -q sabayon; then
+ sudo equo install \
+ app-arch/unzip \
+ app-arch/zip \
+ app-mobilephone/dfu-util \
+ dev-embedded/avrdude \
+ net-misc/wget \
+ sys-devel/gcc \
+ sys-devel/crossdev
+ sudo crossdev -s4 --stable --g =4.9.4 --portage --verbose --target avr
+ echo "Done!"
+
+elif grep ID /etc/os-release | grep -qE "opensuse|tumbleweed"; then
+ CROSS_AVR_GCC=cross-avr-gcc8
+ CROSS_ARM_GCC=cross-arm-none-gcc8
+ if grep ID /etc/os-release | grep -q "15.0"; then
+ CROSS_AVR_GCC=cross-avr-gcc7
+ CROSS_ARM_GCC=cross-arm-none-gcc7
+ fi
+ sudo zypper install \
+ avr-libc \
+ $CROSS_AVR_GCC \
+ $CROSS_ARM_GCC \
+ cross-avr-binutils \
+ cross-arm-none-newlib-devel \
+ cross-arm-binutils cross-arm-none-newlib-devel \
+ dfu-tool \
+ dfu-programmer \
+ gcc \
+ unzip \
+ wget \
+ zip
+
+elif grep ID /etc/os-release | grep -q slackware; then
+ printf "$SLACKWARE_WARNING\n"
+ printf "\nProceed (y/N)? "
+ read -r answer
+ if echo "$answer" | grep -iq "^y" ;then
+ sudo sboinstall \
+ avr-binutils \
+ avr-gcc \
+ avr-libc \
+ avrdude \
+ dfu-programmer \
+ dfu-util \
+ arm-binutils \
+ arm-gcc \
+ newlib
+ echo "Done!"
+ else
+ echo "Quitting..."
+ fi
+
else
echo "Sorry, we don't recognize your OS. Help us by contributing support!"
echo
- echo "https://docs.qmk.fm/contributing.html"
+ echo "https://docs.qmk.fm/#/contributing"
fi
diff --git a/util/macos_install.sh b/util/macos_install.sh
index 7bfb105ec..d2629a8cb 100755
--- a/util/macos_install.sh
+++ b/util/macos_install.sh
@@ -22,4 +22,5 @@ fi
brew tap osx-cross/avr
brew tap PX4/homebrew-px4
brew update
-brew install avr-gcc@7 gcc-arm-none-eabi dfu-programmer avrdude
+brew install avr-gcc@7 gcc-arm-none-eabi dfu-programmer avrdude dfu-util
+brew link --force avr-gcc@7
diff --git a/util/msys2_install.sh b/util/msys2_install.sh
index d9459580c..fcb488249 100644..100755
--- a/util/msys2_install.sh
+++ b/util/msys2_install.sh
@@ -13,9 +13,12 @@ source "$dir/win_shared_install.sh"
function install_avr {
rm -f -r "$avrtools"
- wget "http://ww1.microchip.com/downloads/en/DeviceDoc/avr8-gnu-toolchain-installer-3.5.4.91-win32.any.x86.exe"
- 7z x avr8-gnu-toolchain-installer-3.5.4.91-win32.any.x86.exe
- rm avr8-gnu-toolchain-installer-3.5.4.91-win32.any.x86.exe
+ wget "http://ww1.microchip.com/downloads/en/DeviceDoc/avr8-gnu-toolchain-3.6.1.1752-win32.any.x86.zip"
+ echo "Extracting AVR toolchain..."
+ unzip -q avr8-gnu-toolchain-3.6.1.1752-win32.any.x86.zip
+ mv avr8-gnu-toolchain-win32_x86/ avr8-gnu-toolchain
+ rm __MACOSX -R
+ rm avr8-gnu-toolchain-3.6.1.1752-win32.any.x86.zip
pacman --needed -S mingw-w64-x86_64-avrdude
}
diff --git a/util/new_keymap.sh b/util/new_keymap.sh
new file mode 100755
index 000000000..73cc9e8cc
--- /dev/null
+++ b/util/new_keymap.sh
@@ -0,0 +1,40 @@
+#!/bin/sh
+# Script to make a new keymap for a keyboard of your choosing
+# This script automates the copying of the default keymap into
+# your own keymap
+
+KB_PATH=$(echo "$1" | tr 'A-Z' 'a-z')
+USERNAME=$(echo "$2" | tr 'A-Z' 'a-z')
+
+if [ -z "$KB_PATH" ]; then
+ printf "Usage: %s <keyboard_path> <username>\n" "$0"
+ printf "Example: %s 1upkeyboards/1up60hse yourname\n" "$0"
+ exit 1
+fi
+
+if [ -z "$USERNAME" ]; then
+ printf "Usage: %s <keyboard_path> <username>\n" "$0"
+ printf "Example: %s 1upkeyboards/1up60hse yourname\n" "$0"
+ exit 1
+fi
+
+cd "$(dirname "$0")/.."
+
+if [ ! -d "keyboards/$KB_PATH" ]; then
+ printf "Error! keyboards/%s does not exist!\n" "$KB_PATH"
+ exit 1
+fi
+
+if [ -d "keyboards/$KB_PATH/keymaps/$USERNAME" ]; then
+ printf "Error! keyboards/%s/keymaps/%s already exists!\n" "$KB_PATH" "$USERNAME"
+ exit 1
+fi
+
+# Recursively copy the chosen keyboard's default keymap
+cp -r keyboards/"$KB_PATH"/keymaps/default keyboards/"$KB_PATH"/keymaps/"$USERNAME"
+
+printf "%s keymap directory created in: qmk_firmware/keyboards/%s/keymaps/\n\n" "$USERNAME" "$KB_PATH"
+
+printf "Compile a firmware file with your new keymap by typing: \n"
+printf " make %s:%s\n" "$KB_PATH" "$USERNAME"
+printf "from the qmk_firmware directory\n" \ No newline at end of file
diff --git a/util/new_project.sh b/util/new_project.sh
index a85e83322..d1d1ed82c 100755
--- a/util/new_project.sh
+++ b/util/new_project.sh
@@ -14,7 +14,7 @@ elif [ -z "$KEYBOARD_TYPE" ]; then
KEYBOARD_TYPE=avr
fi
-if [ $KEYBOARD_TYPE != "avr" -a $KEYBOARD_TYPE != "ps2avrgb" ]; then
+if [ "$KEYBOARD_TYPE" != "avr" ] && [ "$KEYBOARD_TYPE" != "ps2avrgb" ]; then
echo "Invalid keyboard type target"
exit 1
fi
@@ -24,22 +24,43 @@ if [ -e "keyboards/$1" ]; then
exit 1
fi
-cd "$(dirname "$0")/.."
+cd "$(dirname "$0")/.." || exit
-KEYBOARD_UPPERCASE=$(echo $1 | awk '{print toupper($0)}')
-KEYBOARD_NAME=$(basename $1)
-KEYBOARD_NAME_UPPERCASE=$(echo $KEYBOARD_NAME | awk '{print toupper($0)}')
+KEYBOARD_NAME=$(basename "$1")
+KEYBOARD_NAME_UPPERCASE=$(echo "$KEYBOARD_NAME" | awk '{print toupper($0)}')
+NEW_KBD=keyboards/${KEYBOARD}
-cp -r quantum/template/base keyboards/$KEYBOARD
-cp -r quantum/template/$KEYBOARD_TYPE/. keyboards/$KEYBOARD
+cp -r quantum/template/base "$NEW_KBD"
+cp -r "quantum/template/$KEYBOARD_TYPE/." "$NEW_KBD"
-mv keyboards/${KEYBOARD}/template.c keyboards/${KEYBOARD}/${KEYBOARD_NAME}.c
-mv keyboards/${KEYBOARD}/template.h keyboards/${KEYBOARD}/${KEYBOARD_NAME}.h
-find keyboards/${KEYBOARD} -type f -exec sed -i '' -e "s;%KEYBOARD%;${KEYBOARD_NAME};g" {} \;
-find keyboards/${KEYBOARD} -type f -exec sed -i '' -e "s;%KEYBOARD_UPPERCASE%;${KEYBOARD_NAME_UPPERCASE};g" {} \;
+mv "${NEW_KBD}/template.c" "${NEW_KBD}/${KEYBOARD_NAME}.c"
+mv "${NEW_KBD}/template.h" "${NEW_KBD}/${KEYBOARD_NAME}.h"
+find "${NEW_KBD}" -type f -exec sed -i '' -e "s;%KEYBOARD%;${KEYBOARD_NAME};g" {} \;
+find "${NEW_KBD}" -type f -exec sed -i '' -e "s;%KEYBOARD_UPPERCASE%;${KEYBOARD_NAME_UPPERCASE};g" {} \;
-echo "######################################################"
-echo "# /keyboards/$KEYBOARD project created. To start"
-echo "# working on things, cd into keyboards/$KEYBOARD"
-echo "######################################################"
+GIT=$(whereis git)
+if [ "$GIT" != "" ]; then
+ IS_GIT_REPO=$($GIT log >>/dev/null 2>&1; echo $?)
+ if [ "$IS_GIT_REPO" -eq 0 ]; then
+ ID="'$($GIT config --get user.name)'"
+ echo "Using $ID as user name"
+
+ for i in "$NEW_KBD/config.h" \
+ "$NEW_KBD/$KEYBOARD_NAME.c" \
+ "$NEW_KBD/$KEYBOARD_NAME.h" \
+ "$NEW_KBD/keymaps/default/config.h" \
+ "$NEW_KBD/keymaps/default/keymap.c"
+ do
+ awk -v id="$ID" '{sub(/REPLACE_WITH_YOUR_NAME/,id); print}' < "$i" > "$i.$$"
+ mv "$i.$$" "$i"
+ done
+ fi
+fi
+
+cat <<-EOF
+######################################################
+# $NEW_KBD project created. To start
+# working on things, cd into $NEW_KBD
+######################################################
+EOF
diff --git a/util/qmk_install.sh b/util/qmk_install.sh
index 6f35e4c71..76ecf5fc0 100755
--- a/util/qmk_install.sh
+++ b/util/qmk_install.sh
@@ -7,16 +7,19 @@ case $(uname -a) in
*Darwin*)
exec "${util_dir}/macos_install.sh"
;;
- *Linux*Microsoft*)
+ *Linux*Microsoft*)
exec "${util_dir}/wsl_install.sh"
- ;;
+ ;;
+ *FreeBSD*)
+ exec "${util_dir}/freebsd_install.sh"
+ ;;
*Linux*)
exec "${util_dir}/linux_install.sh"
;;
MSYS_NT*|MINGW64_NT*|MINGW32_NT*)
exec "${util_dir}/msys2_install.sh"
;;
- *)
- echo "Environment not supported. Please see https://docs.qmk.fm for details on how to configure the QMK Firmware build tools manually."
- ;;
+ *)
+ echo "Environment not supported. Please see https://docs.qmk.fm for details on how to configure the QMK Firmware build tools manually."
+ ;;
esac
diff --git a/util/travis_build.sh b/util/travis_build.sh
index d12a87a94..d12a87a94 100644..100755
--- a/util/travis_build.sh
+++ b/util/travis_build.sh
diff --git a/util/travis_compiled_push.sh b/util/travis_compiled_push.sh
index a49908c71..66b3beb6c 100644..100755
--- a/util/travis_compiled_push.sh
+++ b/util/travis_compiled_push.sh
@@ -8,6 +8,7 @@ TRAVIS_COMMIT_RANGE="${TRAVIS_COMMIT_RANGE:-HEAD~1..HEAD}"
set -o errexit -o nounset
rev=$(git rev-parse --short HEAD)
+echo "Using git hash ${rev}"
if [[ "$TRAVIS_BRANCH" == "master" && "$TRAVIS_PULL_REQUEST" == "false" ]] ; then
@@ -34,7 +35,7 @@ increment_version ()
part[2]=$((part[2] + 1))
new="${part[*]}"
echo -e "${new// /.}"
-}
+}
git diff --name-only -n 1 ${TRAVIS_COMMIT_RANGE}
@@ -63,7 +64,7 @@ if [[ "$TRAVIS_COMMIT_MESSAGE" != *"[skip build]"* ]] ; then
ssh-add -D
eval `ssh-agent -s`
ssh-add id_rsa_qmk.fm
-
+
# don't delete files in case not all keyboards are built
# rm -f compiled/*.hex
@@ -74,7 +75,7 @@ if [[ "$TRAVIS_COMMIT_MESSAGE" != *"[skip build]"* ]] ; then
for file in ../qmk_firmware/keyboards/*/*/*/*/keymaps/*/*_default.hex; do mv -v "$file" "compiled/${file##*/}" || true; done
bash _util/generate_keyboard_page.sh
git add -A
- git commit -m "generated from qmk/qmk_firmware@${rev}"
+ git commit -m "generated from qmk/qmk_firmware@${rev}"
git push git@github.com:qmk/qmk.fm.git
fi
diff --git a/util/travis_docs.sh b/util/travis_docs.sh
index 5cfd63466..5cfd63466 100644..100755
--- a/util/travis_docs.sh
+++ b/util/travis_docs.sh
diff --git a/util/travis_push.sh b/util/travis_push.sh
index 7eea88b14..7eea88b14 100644..100755
--- a/util/travis_push.sh
+++ b/util/travis_push.sh
diff --git a/util/win_shared_install.sh b/util/win_shared_install.sh
index f24ec08e8..c7517881e 100644..100755
--- a/util/win_shared_install.sh
+++ b/util/win_shared_install.sh
@@ -18,11 +18,8 @@ function install_utils {
wget 'https://www.pjrc.com/teensy/teensy_loader_cli_windows.zip'
unzip teensy_loader_cli_windows.zip
- # This URL has changed and I can't find the new location. Commenting out until we figure out the new URL or determine this isn't needed. -skullY
echo "Installing Atmel Flip"
wget 'http://ww1.microchip.com/downloads/en/DeviceDoc/Flip%20Installer%20-%203.4.7.112.exe'
- # This is the JRE-less installer, if we need the larger bundled with JRE installer, use this:
- #wget 'http://ww1.microchip.com/downloads/en/DeviceDoc/JRE%20-%20Flip%20Installer%20-%203.4.7.112.exe'
mv Flip\ Installer\ \-\ 3.4.7.112.exe FlipInstaller.exe
echo "Downloading the QMK driver installer"
diff --git a/util/wsl_install.sh b/util/wsl_install.sh
index d11c78ac7..c2c206d2b 100644..100755
--- a/util/wsl_install.sh
+++ b/util/wsl_install.sh
@@ -15,20 +15,15 @@ fi
while true; do
echo
echo "Do you want to install all toolchain dependencies needed for compiling QMK?"
- echo "This will run install_dependencies.sh, which calls apt-get upgrade."
echo "If you don't want that, you can install the dependencies manually."
read -p "(Y/N) " res
case $res in
- [Yy]* ) sudo ./install_dependencies.sh; break;;
+ [Yy]* ) ./linux_install.sh; break;;
[Nn]* ) break;;
* ) echo "Invalid answer";;
esac
done
-echo "Installing dependencies needed for the installation (unzip, wget)"
-echo "This will ask for the sudo password"
-sudo apt-get install unzip wget
-
download_dir=wsl_downloaded
source "$dir/win_shared_install.sh"