Standardem w projektach open source jest to, że przed kompilacją należy odpalić `./configure`, aby wygenerować makefile’a. Sam skrypt sprawdza też czy mamy zainstalowane developerskie wersje potrzebnych bibliotek. Przy małych projektach jednak czas wykonania konfiguracji niejednokrotnie jest dłuższy niż sam proces właściwej kompilacji. Jest jednak rozwiązanie tego problemu. Nie przedstawię tu opisu jak poprawnie zbudować makefile’a, jeśli ktoś tego nie wie zapraszam do google’a, po odpowiedni tutorial 😉

Opcje

W sytuacji gdy, mamy małą liczbę opcji podczas kompilowania kodu (lub też nie mamy ich wcale), możemy je zaszyć w makefile’u. Wtedy podczas konfiguracji nie będzie sprawdzana każda opcja po kolei, pozwoli to na znaczne ograniczanie czasu wykonania tegoż skryptu.

Sprawdzanie bibliotek

W przypadku sprawdzania bibliotek, możemy posłużyć się prostym poleceniem, który zrobi to znacznie szybciej: `grep '#include' *.c | gcc -E -o /dev/null -`. Owe polecenie sprawdza tylko czy istnieją wymagane przez program headerki, nie sprawdza samych bibliotek, ale zwykle to jest tak, że gdy mamy headerki to i mamy biblioteki. Jeśli owe założenie nie jest prawdziwe, oznacza to, że mamy bałagan w systemie.

Podsumowanie

Powyższe dwie metody pozwalają na całkowite wyeliminowanie konfiguracji wstępnej. Co prawda pozostają jeszcze dwa problemy do rozwiązania. Sprawdzanie kompilatora jaki mamy w systemie, oraz sprawdzanie tylko niektórych includów w kodzie, w sytuacji gdy użyte biblioteki są zależnie od platformy (i nie mam tu na myśli obywatelskiej). Powyższe problemy uniemożliwiają użycie tych rozwiązań, gdy kod jest wieloplatformowy, ale zwykle małe programy nie są. Chociaż jeśli komuś uda się rozwiązać podane ograniczenia, proszę zostawić komentarze.
Archiwalny news dodany przez użytkownika: Magik.
Kliknij tutaj by zobaczyć archiwalne komentarze.

Oznaczone jako → 
Share →