LINUX.ORG.RU

multiword C define


0

0

строка из лога компиляции:
 
gcc -D_BSD_SOURCE -DHAVE_CONFIG_H -I. -I../src -I/work/builds/emacs-22.1/lib-src -I/work/builds/emacs-22.1/lib-src/../src -Wl,-znocombreloc  -D_BSD_SOURCE   -g -O2 -Wno-pointer-sign  -DEMACS_NAME="\"GNU Emacs"\" -DVERSION="\"22.1\"" /work/builds/emacs-22.1/lib-src/etags.c  regex.o -lc -o etags

дефайн  -DEMACS_NAME="\"GNU Emacs"\ 

приводит к сообщению о 

gcc: Emacs": No such file or directory

как побороть такую хрень ? 

тольк не надо флейма emacs vs vim 
Ответ на: комментарий от Anoxemian

Сорри в оригинале "\"GNU Emacs"\", но ни оригинальный ни "\"GNU Emacs\"" вариант не прокатывает. Конфиги и мейки оригинальные из тарбола емакса собственно я ничего и не менял.

P.S. недосып присутствует :)

programmer
() автор топика
Ответ на: комментарий от programmer

sergey@athlon:/tmp/d$ cat main.c 
#include <stdio.h>
main()
{
        puts(EMACS_NAME);
}
sergey@athlon:/tmp/d$ gcc main.c -DEMACS_NAME='"GNU Emacs"'
sergey@athlon:/tmp/d$ ./a.out 
GNU Emacs
sergey@athlon:/tmp/d$ 

Teak ★★★★★
()
Ответ на: комментарий от Teak

Я уже все что угодно пробовал и этот вариант в том числе

вот результат приведенного прмера

gcc main.c -DEMACS_NAME='"GNU Emacs"' gcc: Emacs": No such file or directory

programmer
() автор топика
Ответ на: комментарий от programmer

Фигня. Не верю. Что за ось, что за make, что за гадость скрывается под именем /bin/sh? Как дошёл до жизни такой? Оно только из Makefile'а не работает или из командной строки тоже? Что ещё ты от нас скрываешь? :)

Teak ★★★★★
()
Ответ на: комментарий от Teak

make
echo /bin/sh
/bin/sh

Linux xxx.xxx.xxx 2.6.21-1.3194.fc7 #1 SMP Wed May 23 22:35:01 EDT 2007 i686 i686 i386 GNU/Linux


which sh
/bin/sh

rpm -qf `which sh`
bash-3.2-9.fc7

но такое было и на предыдущих версиях федоры, к примеру только что попробовал на федоре3

programmer
() автор топика
Ответ на: комментарий от programmer

нашел в чем дело

сорри - я юзаю ccache  и видимо он неправильно разбирает параметры
без него все отлично

спасибо за помощь!

programmer
() автор топика
Ответ на: комментарий от Teak

1. В целом по замерам реально ускоряет процесс билда в разы - по моему очень мощная штука

2. Дальнейший анализ проблемы показал что бага на самом деле нет - просто я юзал враппер над ccache, а не линки на компилеры. В моем случае шелл 2 раза пытался преобразовать значение дефайна. Создание правильных линков решило проблему.

Еще раз спасибо за участие :) !

programmer
() автор топика
Ответ на: комментарий от programmer

> 1. В целом по замерам реально ускоряет процесс билда в разы - по моему очень мощная штука

Не, я как бы на сайт-то сходил, прежде чем спрашивать, и README прочитал. :) Просто полезно это по-моему только в каких-то очень специальных случаях. У тебя там compile farm что ли? :)

Teak ★★★★★
()
Ответ на: комментарий от Teak

Это полезно во всех случаях где в проэкте есть больше чем несколько файлов. Даже после полного make clean проэкт собирается максимально быстро.

programmer
() автор топика
Ответ на: комментарий от programmer

Ладно, дальше уточнять вопрос долго и неинтересно. :)

Teak ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.