Criando o Snapwm no FreeBSD (Problema do gcc e do clang)?

0

De acordo com o FreeBSD, a partir da versão 10 eles usam o Clang / LLVM em vez do gcc. na superfície disso tudo deve ser feito como antes, ainda melhor. mas tenho encarado essa realidade mais do que quero. Alguns códigos não podem ser compilados dessa maneira.
Por exemplo, tentei compilar Snapwm . O primeiro nativo do FreeBSD make é realmente pmake e isso está fora de questão. Então gmake é a nossa escolha. mas a emissão de gmake no código produzirá esse erro:

gcc -g -std=c99 -pedantic -Wall -O2 -pipe -fstack-protector --param=ssp-buffer-size=4 -D_FORTIFY_SOURCE=2 -c -o snapwm.o snapwm.c gmake: gcc: Command not found gmake: *** [snapwm.o] Error 127

Então a questão é como compilar o código que sofre com esses retrocessos.

    
por r004 16.04.2014 / 12:53

1 resposta

1

Às vezes, precisa de algum patch. Eu criei o que você pode aplicar e pode criar com gmake . Eu não tentei o compilado snapwm Eu testei apenas o processo de construção.

diff -ur Nextwm-master.orig/Makefile Nextwm-master/Makefile
--- Nextwm-master.orig/Makefile 2014-03-12 19:46:34.000000000 +0100
+++ Nextwm-master/Makefile  2014-04-16 13:07:08.000000000 +0200
@@ -1,12 +1,12 @@
-CFLAGS+= -g -std=c99 -pedantic -Wall -O2 -pipe -fstack-protector --param=ssp-buffer-size=4 -D_FORTIFY_SOURCE=2
+CFLAGS+= -g -std=c99 -pedantic -Wall -O2 -pipe -fstack-protector --param=ssp-buffer-size=4 -D_FORTIFY_SOURCE=2 -I/usr/local/include/
 LDADD+= -lX11 -lXinerama
-LDFLAGS= -Wl,-O1,--sort-common,--as-needed,-z,relro
+LDFLAGS= -Wl,-O1,--sort-common,--as-needed,-z,relro,-L/usr/local/lib
 EXEC=snapwm

 PREFIX?= /usr/local
 BINDIR?= $(PREFIX)/bin

-CC=gcc
+CC=clang

 all: $(EXEC)

diff -ur Nextwm-master.orig/snapwm.c Nextwm-master/snapwm.c
--- Nextwm-master.orig/snapwm.c 2014-03-12 19:46:34.000000000 +0100
+++ Nextwm-master/snapwm.c  2014-04-16 13:03:24.000000000 +0200
@@ -27,6 +27,7 @@
 //#include <X11/keysym.h>
 /* For a multimedia keyboard */
 #include <X11/XF86keysym.h>
+#include <sys/signal.h>
 #include <X11/Xproto.h>
 #include <X11/Xutil.h>
 #include <X11/Xatom.h>
    
por 16.04.2014 / 13:11