nsxiv3cf4fc5
Fix broken ci and enable higher level optimization (#220)
* [ci] fix broken ci * [ci] enable higher optimization level and lto higher optimization levels enable more warnings and deeper analysis. likewise, lto can catch a couple errors which typically goes unnoticed without it.
+6 −0
1 file changed
- M .github/workflows/build.yml +6 −0
| @@ -14,6 +14,7 @@ jobs: | |||
| 14 | 14 | - uses: actions/checkout@v2 | |
| 15 | 15 | - name: dep | |
| 16 | 16 | run: | | |
| 17 | + | sudo apt-get update | |
| 17 | 18 | sudo apt-get install libimlib2 libimlib2-dev xserver-xorg-core xserver-xorg-dev \ | |
| 18 | 19 | libxft2 libxft-dev libexif12 libexif-dev \ | |
| 19 | 20 | gcc clang | |
| @@ -25,12 +26,14 @@ jobs: | |||
| 25 | 26 | # vanilla flags | |
| 26 | 27 | CFLAGS="-std=c99 -Wall -pedantic" | |
| 27 | 28 | # extra flags | |
| 29 | + | CFLAGS+=" -O3 -flto" | |
| 28 | 30 | CFLAGS+=" -Werror -Wextra -Wshadow -Wvla -Wpointer-arith -Wstrict-prototypes" | |
| 29 | 31 | CFLAGS+=" -Wundef -Wstrict-overflow=4 -Wwrite-strings -Wunreachable-code" | |
| 30 | 32 | CFLAGS+=" -Wbad-function-cast -Wdeclaration-after-statement" | |
| 31 | 33 | # silence | |
| 32 | 34 | CFLAGS+=" -Wno-sign-compare -Wno-unused-parameter -Wno-missing-field-initializers" | |
| 33 | 35 | export CFLAGS | |
| 36 | + | export LDFLAGS="$CFLAGS" | |
| 34 | 37 | export OPT_DEP_DEFAULT=1 | |
| 35 | 38 | echo "### GCC BUILD ###" && make clean && CC=gcc make -s | |
| 36 | 39 | echo "### CLANG BUILD ###" && make clean && CC=clang make -s | |
| @@ -42,6 +45,7 @@ jobs: | |||
| 42 | 45 | - uses: actions/checkout@v2 | |
| 43 | 46 | - name: dep | |
| 44 | 47 | run: | | |
| 48 | + | sudo apt-get update | |
| 45 | 49 | sudo apt-get install libimlib2 libimlib2-dev xserver-xorg-core xserver-xorg-dev \ | |
| 46 | 50 | gcc clang | |
| 47 | 51 | sudo apt-get remove libxft2 libxft-dev libexif12 libexif-dev | |
| @@ -53,12 +57,14 @@ jobs: | |||
| 53 | 57 | # vanilla flags | |
| 54 | 58 | CFLAGS="-std=c99 -Wall -pedantic" | |
| 55 | 59 | # extra flags | |
| 60 | + | CFLAGS+=" -O3 -flto" | |
| 56 | 61 | CFLAGS+=" -Werror -Wextra -Wshadow -Wvla -Wpointer-arith -Wstrict-prototypes" | |
| 57 | 62 | CFLAGS+=" -Wundef -Wstrict-overflow=4 -Wwrite-strings -Wunreachable-code" | |
| 58 | 63 | CFLAGS+=" -Wbad-function-cast -Wdeclaration-after-statement" | |
| 59 | 64 | # silence | |
| 60 | 65 | CFLAGS+=" -Wno-sign-compare -Wno-unused-parameter -Wno-missing-field-initializers" | |
| 61 | 66 | export CFLAGS | |
| 67 | + | export LDFLAGS="$CFLAGS" | |
| 62 | 68 | export OPT_DEP_DEFAULT=0 | |
| 63 | 69 | echo "### GCC BUILD ###" && make clean && CC=gcc make -s | |
| 64 | 70 | echo "### CLANG BUILD ###" && make clean && CC=clang make -s | |